- •ВВЕДЕНИЕ
- •1. СИГНАЛЫ И ИХ ПРЕОБРАЗОВАНИЯ ПРИ ЦИФРОВОЙ ОБРАБОТКЕ
- •1.2. МАТЕМАТИЧЕСКИЕ МОДЕЛИ ДИСКРЕТНЫХ СИГНАЛОВ
- •1.3. СПЕКТР ДИСКРЕТНОГО СИГНАЛА
- •1.6. ПРАКТИЧЕСКИЕ ОСОБЕННОСТИ ДИСКРЕТИЗАЦИИ СИГНАЛА
- •1.7. УСЛОВИЯ ВЫБОРА ЧАСТОТЫ ДИСКРЕТИЗАЦИИ
- •1.8. КВАНТОВАНИЕ СИГНАЛОВ ПО УРОВНЮ
- •1.8.1. ОПРЕДЕЛЕНИЕ И СПОСОБЫ
- •1.8.2. ПОГРЕШНОСТЬ КВАНТОВАНИЯ
- •1.9. ЦИФРОВОЕ КОДИРОВАНИЕ СИГНАЛА
- •1.9.1. АЛГОРИТМЫ КОДИРОВАНИЯ И ФОРМАТЫ ЦИФРОВОГО СИГНАЛА
- •1.9.2. ПОГРЕШНОСТЬ КВАНТОВАНИЯ ЦИФРОВОГО СИГНАЛА
- •1.10. УСЛОВИЯ ВЫБОРА РАЗРЯДНОСТИ АЦП
- •1.12. УСЛОВИЕ МАТЕМАТИЧЕСКОЙ АДЕКВАТНОСТИ ДИСКРЕТНОГО И ЦИФРОВОГО СИГНАЛОВ
- •КОНТРОЛЬНЫЕ ВОПРОСЫ
- •2. ЦИФРОВЫЕ ФИЛЬТРЫ НА ОСНОВЕ РАЗНОСТНЫХ УРАВНЕНИЙ И ДИСКРЕТНОЙ ВРЕМЕННОЙ СВЕРТКИ
- •2.4. ТЕСТОВЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ ДИСКРЕТНЫХ СИСТЕМ
- •2.5. ПЕРЕДАТОЧНАЯ ФУНКЦИЯ И ЧАСТОТНАЯ ХАРАКТЕРИСТИКА ДИСКРЕТНОЙ СИСТЕМЫ
- •2.6. ПЕРЕДАТОЧНЫЕ ФУНКЦИИ РЕКУРСИВНЫХ ЦИФРОВЫХ ФИЛЬТРОВ
- •2.7. ЧАСТОТНЫЕ ХАРАКТЕРИСТИКИ РЕКУРСИВНЫХ ФИЛЬТРОВ
- •2.8. ФОРМЫ РЕАЛИЗАЦИИ РЕКУРСИВНЫХ ФИЛЬТРОВ
- •2.9. ПРЯМАЯ ФОРМА РЕАЛИЗАЦИИ НЕРЕКУРСИВНЫХ ФИЛЬТРОВ
- •2.10. ПЕРЕДАТОЧНАЯ ФУНКЦИЯ И ЧАСТОТНАЯ ХАРАКТЕРИСТИКА НЕРЕКУРСИВНОГО ФИЛЬТРА
- •КОНТРОЛЬНЫЕ ВОПРОСЫ
- •3.1. ЗАДАЧИ И МЕТОДЫ СИНТЕЗА ЦИФРОВЫХ ФИЛЬТРОВ
- •3.2.1. ОБЩЕЕ ОПИСАНИЕ МЕТОДА
- •3.2.2. ПРОСТОЕ БИЛИНЕЙНОЕ ПРЕОБРАЗОВАНИЕ
- •3.2.3. ОБОБЩЕННЫЕ БИЛИНЕЙНЫЕ ПРЕОБРАЗОВАНИЯ
- •3.2.6. ПЕРЕХОД ОТ АФПНЧ К ЦФ ЗАДАННОГО ТИПА
- •3.2.7. МЕТОДИКА СИНТЕЗА РФ ПО АНАЛОГОВОМУ ПРОТОТИПУ
- •3.2.8. ПРИМЕР СИНТЕЗА ПЕРЕДАТОЧНОЙ ФУНКЦИИ РФ
- •3.3. СИНТЕЗ НЕРЕКУРСИВНЫХ ФИЛЬТРОВ МЕТОДОМ ВЕСОВЫХ ФУНКЦИЙ
- •3.3.1. ОСНОВЫ МЕТОДА
- •3.3.2. ПАРАМЕТРЫ ВЕСОВЫХ ФУНКЦИЙ
- •3.3.3. ОПИСАНИЯ ВЕСОВЫХ ФУНКЦИЙ
- •3.3.4. ВЕСОВЫЕ ФУНКЦИИ КАЙЗЕРА
- •3.3.5. ИМПУЛЬСНЫЕ ХАРАКТЕРИСТИКИ ИДЕАЛЬНЫХ ЦФ РАЗЛИЧНОГО ТИПА
- •3.3.6. МЕТОДИКА СИНТЕЗА НФ МЕТОДОМ ВЕСОВЫХ ФУНКЦИЙ
- •3.3.7. ПРИМЕР СИНТЕЗА ПЕРЕДАТОЧНОЙ ФУНКЦИИ НФ МЕТОДОМ ВЕСОВЫХ ФУНКЦИЙ
- •3.4. СИНТЕЗ НЕРЕКУРСИВНЫХ ФИЛЬТРОВ МЕТОДОМ ЧАСТОТНОЙ ВЫБОРКИ
- •3.4.1. ОСНОВЫ МЕТОДА
- •3.4.2. СИНТЕЗ НФ ВТОРОГО ТИПА МЕТОДОМ ЧАСТОТНОЙ ВЫБОРКИ
- •3.4.3. МЕТОДИКА СИНТЕЗА НФ МЕТОДОМ ЧАСТОТНОЙ ВЫБОРКИ
- •3.4.4. ПРИМЕР СИНТЕЗА ПЕРЕДАТОЧНОЙ ФУНКЦИИ НФ МЕТОДОМ ЧАСТОТНОЙ ВЫБОРКИ
- •3.5. ЧИСЛЕННЫЕ МЕТОДЫ СИНТЕЗА ЦИФРОВЫХ ФИЛЬТРОВ
- •КОНТРОЛЬНЫЕ ВОПРОСЫ
- •4. МЕТОДЫ ОЦЕНКИ И ОБЕСПЕЧЕНИЯ ТОЧНОСТИ ЦОС
- •4.2. ВЛИЯНИЕ КВАНТОВАНИЯ КОЭФФИЦИЕНТОВ ФИЛЬТРА
- •4.3. МАСШТАБИРОВАНИЕ СИГНАЛОВ В ЦИФРОВЫХ ФИЛЬТРАХ
- •4.4. РАСЧЕТ МАСШТАБНЫХ МНОЖИТЕЛЕЙ ДЛЯ КОНКРЕТНЫХ СТРУКТУР ЦИФРОВЫХ ФИЛЬТРОВ
- •4.4.3. ПАРАЛЛЕЛЬНАЯ СТРУКТУРА РЕКУРСИВНОГО ФИЛЬТРА
- •4.4.4. КАСКАДНАЯ СТРУКТУРА РЕКУРСИВНОГО ФИЛЬТРА
- •4.5.1. МЕТОДЫ ОЦЕНКИ ШУМОВЫХ ХАРАКТЕРИСТИК ФИЛЬТРОВ
- •4.5.2. РАСЧЕТ ШУМА КВАНТОВАНИЯ АЦП НА ВЫХОДЕ ЦФ
- •4.5.3. РАСЧЕТ СОБСТВЕННЫХ ШУМОВ КВАНТОВАНИЯ ДЛЯ ПРЯМОЙ ФОРМЫ РЕАЛИЗАЦИИ ЗВЕНА РФ 2-ГО ПОРЯДКА
- •4.5.4. РАСЧЕТ СОБСТВЕННЫХ ШУМОВ КВАНТОВАНИЯ ДЛЯ КАНОНИЧЕСКОЙ ФОРМЫ РЕАЛИЗАЦИИ ЗВЕНА РФ 2-ГО ПОРЯДКА
- •4.5.6. РАСЧЕТ СОБСТВЕННЫХ ШУМОВ КВАНТОВАНИЯ ДЛЯ НЕРЕКУРСИВНОГО ЦИФРОВОГО ФИЛЬТРА НА ОСНОВЕ ДВС
- •4.5.7. РАСЧЕТ СОБСТВЕННЫХ ШУМОВ КВАНТОВАНИЯ ДЛЯ КАСКАДНОЙ ФОРМЫ РЕАЛИЗАЦИИ РФ
- •4.9. СПОСОБЫ РЕШЕНИЯ ЗАДАЧ ОЦЕНКИ И ОБЕСПЕЧЕНИЯ ТОЧНОСТИ ЦФ С ПОМОЩЬЮ МОДЕЛИРОВАНИЯ НА ЭВМ
- •4.14. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ КОНЕЧНОЙ РАЗРЯДНОСТИ ЧИСЕЛ
- •4.14.1. РЕШЕНИЕ ЗАДАЧ КОНЕЧНОЙ РАЗРЯДНОСТИ ЧИСЕЛ ДЛЯ РЕКУРСИВНОГО ЦИФРОВОГО ФИЛЬТРА
- •4.14.2. РЕШЕНИЕ ЗАДАЧ КОНЕЧНОЙ РАЗРЯДНОСТИ ЧИСЕЛ ДЛЯ НЕРЕКУРСИВНОГО ЦИФРОВОГО ФИЛЬТРА
- •КОНТРОЛЬНЫЕ ВОПРОСЫ
- •5.1. ОПРЕДЕЛЕНИЕ ДИСКРЕТНОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ
- •5.2. СВОЙСТВА ДПФ
- •5.3. АЛГОРИТМ ЦИФРОВОЙ ФИЛЬТРАЦИИ КОНЕЧНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ НА ОСНОВЕ ДПФ
- •5.5. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЦИФРОВЫХ ФИЛЬТРОВ НА ОСНОВЕ ДПФ
- •5.6. АЛГОРИТМ ЦИФРОВОЙ ФИЛЬТРАЦИИ НА ОСНОВЕ ЧАСТОТНОЙ ВЫБОРКИ
- •5.6.1. ПЕРЕДАТОЧНАЯ ФУНКЦИЯ И ОБЩАЯ СТРУКТУРА НЕРЕКУРСИВНОГО ФИЛЬТРА НА ОСНОВЕ ЧАСТОТНОЙ ВЫБОРКИ
- •5.6.2. ОПИСАНИЕ НЕРЕКУРСИВНОЙ ЧАСТИ ФИЛЬТРА
- •5.6.3. ОПИСАНИЕ РЕКУРСИВНОЙ ЧАСТИ ФИЛЬТРА
- •5.6.6. НЕРЕКУРСИВНЫЕ ФИЛЬТРЫ НА ОСНОВЕ ЧАСТОТНОЙ ВЫБОРКИ СО СМЕЩЕНИЕМ НУЛЕЙ И ПОЛЮСОВ ВНУТРЬ КРУГА ЕДИНИЧНОГО РАДИУСА
- •5.6.8. ОСОБЕННОСТИ РЕАЛИЗАЦИИ НЕРЕКУРСИВНЫХ ФИЛЬТРОВ НА ОСНОВЕ ЧАСТОТНОЙ ВЫБОРКИ ВТОРОГО ТИПА
- •КОНТРОЛЬНЫЕ ВОПРОСЫ
- •6. СПЕЦИАЛЬНЫЕ ЗАДАЧИ И ПРИМЕНЕНИЯ ЦИФРОВЫХ ФИЛЬТРОВ
- •6.1. ОБЩАЯ И СПЕЦИАЛЬНЫЕ ЗАДАЧИ ЦИФРОВОЙ ФИЛЬТРАЦИИ
- •6.3. КОМПЛЕКСНЫЕ ЦИФРОВЫЕ ФИЛЬТРЫ
- •6.4. СГЛАЖИВАЮЩИЕ ЦИФРОВЫЕ ФИЛЬТРЫ
- •6.4.1. РЕКУРСИВНЫЙ ФИЛЬТР ВЕСОВОГО ЭКСПОНЕНЦИАЛЬНОГО УСРЕДНЕНИЯ
- •6.4.2. НЕРЕКУРСИВНЫЕ СГЛАЖИВАЮЩИЕ ФИЛЬТРЫ НА ОСНОВЕ ВЕСОВЫХ ФУНКЦИЙ
- •6.4.2. СГЛАЖИВАЮЩИЕ НЕРЕКУРСИВНЫЕ ФИЛЬТРЫ НА ОСНОВЕ ПАРАБОЛИЧЕСКОЙ АППРОКСИМАЦИИ
- •6.4.3. СГЛАЖИВАНИЕ С ПОМОЩЬЮ НЕЛИНЕЙНОГО МЕДИАННОГО ФИЛЬТРА
- •6. 5. РЕЖЕКЦИЯ ФИКСИРОВАННЫХ ЧАСТОТ С ПОМОЩЬЮ НЕРЕКУРСИВНЫХ ФИЛЬТРОВ
- •6.6 1. ОБЩИЕ СВОЙСТВА И ПРИМЕНЕНИЯ СОГЛАСОВАННЫХ ЦИФРОВЫХ ФИЛЬТРОВ
- •6.7. ПРОСТЫЕ АЛГОРИТМЫ ЦИФРОВОГО ДИФФЕРЕНЦИРОВАНИЯ СИГНАЛОВ
- •6. 8.ПРОСТЫЕ АЛГОРИТМЫ ЦИФРОВОГО ИНТЕГРИРОВАНИЯ СИГНАЛОВ
- •КОНТРОЛЬНЫЕ ВОПРОСЫ
- •ЗАДАЧИ ПО ЦИФРОВОЙ ОБРАБОТКЕ СИГНАЛОВ
- •ПРИЛОЖЕНИЕ
- •ЛИТЕРАТУРА
- •ОГЛАВЛЕНИЕ
11
В качестве примера определим длину секции и число точек БПФ при реализации на основе БПФ нерекурсивного цифрового фильтра, синтезированного в п. 3.3.7 методом весовых функций. Длине импульсной характеристики фильтра N2= 321 соответствует ближайшее число точек N для вычисления БПФ, равное 1024, и длина секции N1= 703. Число операций умножения на
один отсчет сигнала в этом случае равно Кумн(1)= 4N(log2N + 1)/ N1 = 64. Оно значительно меньше числа умножений Кумн(1)= N2= 321, необходимых при
прямой форме реализации НФ (на основе ДВС). Для рекурсивного фильтра 10-го порядка с аналогичными параметрами частотной характеристики, синтезированного в п. 3.2.8, вычислительная эффективность составляет 25 операций умножения на один отсчет, т. е. более чем в 2 раза выше. Однако у такого фильтра, использующего аппроксимацию Золотарева – Кауэра, существенно нелинейная ФЧХ.
Значениям N = 2048, 4096 и 8192 соответствуют значения длины секции N1= 1727, 3775, 7871 и число операций умножения на отсчет сигнала Кумн(1)= 57, 56,4 и 58,3. Как видим, значение N = 2048 является оптимальным для данного цифрового фильтра по объему вычислений и объему памяти.
На основе БПФ может быть реализован также нерекурсивный цифровой фильтр, синтезированный методом частотной выборки в п. 3.4.4.
5.5. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ЦИФРОВЫХ ФИЛЬТРОВ НА ОСНОВЕ ДПФ
Общая граф-схема алгоритма программной реализации цифровых фильтров на основе ДПФ для коротких и длинных комплексных последовательностей приведена на рис. 5.9. Входными данными для нее являются длина импульсной характеристики N2, длина реализации или секции сигнала N1, число точек N для вычисления ДПФ и ОДПФ, вид входной последовательности – конечная (М = 0) или бесконечная (М = 1), а также значения реальной и мнимой составляющих ДЧХ HR(I), HI(I) и входной последовательности x(n)re = SR(I), x(n)im = SI(I) , выходными – также значения реальной и мнимой составляющих комплексной (в общем случае) выходной последовательности y(n)re, y(n)im. Массивы отсчетов входного сигнала SR(I), SI(I) в процессе обработки замещаются массивами произведений ДПФ входной последовательности и ДЧХ. Фильтрация конечной и бесконечной последовательностей отличается подготовкой и выводом выходных данных. Перекрывающиеся значения предыдущей частичной свертки при М=1 сохраняются в массивах YR(L), YI(L), которые в начале обработки обнуляются.
|
|
12 |
|
|
|
|
Начало |
|
|
Описание переменных и конcтант |
|
|||
SR(I), SI(I), XR(K), XI(K), HR(K), |
|
|||
HI(K), YR(L), YI(L), X1, X2, N, |
|
|||
|
N1, N2, I, K, L, P, M |
|
||
|
|
Ввод |
|
|
|
|
N; N1; N2; |
|
|
|
|
HR(K); HI(K); M |
|
|
|
1 |
M = 0 |
|
|
|
|
|
|
|
|
|
0 |
|
|
YR(L) = 0; YI(L) = 0; L = 0,...,N2-2 |
|
|||
|
|
P = 0 |
|
|
|
|
Ввод входной |
|
|
|
последовательности |
|
||
|
Вычисление ДПФ |
|
||
|
0 |
1 |
|
|
|
|
P = 0 |
|
|
0 |
|
1 |
|
P = 1 |
M = 0 |
|
|
|
|
Подготовка и |
Подготовка и вывод |
Перемножение |
||
вывод частичных |
|
выходной |
|
последова- |
сверток |
последовательности |
тельностей |
||
|
|
Продолжить |
1 |
|
|
|
|
|
|
|
|
0 |
|
|
|
|
Конец |
|
|
Рис. 5.9. Граф-схема алгоритма программной реализации ЦФ на основе ДПФ при обработке последовательностей конечной и бесконечной длины
13
Развернутые граф-схемы алгоритмов ввода входной последовательности и ее дополнения нулевыми отсчетами, вычисления ДПФ, перемножения по следовательностей, подготовки и вывода частичных сверток и выходной последовательности представлены на рис. 5.10, 5.11.
На граф-схемах учтены операции комплексного сопряжения, которые необходимы при вычислении ОДПФ (р = 1) с помощью алгоритма ДПФ.
Для программной реализации НФ в общем случае требуется 6N ячеек па-
мяти для последовательностей SR(I), SI(I), XR(K), XI(K), HR(K), HI(K) и 2N1
ячеек для переменных YR(L), YI(L).
I = 0
Ввод x(n)Re= SR(I); x(n)Im= SI(I)
I = I + 1
0
I = N1
1
SR(I) = 0
SI(I) = 0
I = I + 1
0
I = N
1
а)
I = 0; K = 0;
X 1 = 0; X 2 = 0
W 1 = |
cos ( 2π IK /N ) ; W 2= − sin( 2π IK /N) |
||||
X 1 = |
X 1+ |
W 1 |
SR ( I )− |
W 2 SI( I) |
|
X 2 = |
X 2+ |
W 2 |
SR ( I )+ |
W 1 SI( I) |
|
|
|
|
|
|
|
|
|
|
|
|
|
I = I + 1
I = N |
0 |
|
1
X R(K ) = X 1;
X I(K ) = X 2;
K = K +1
0
K = N
1
б)
Рис. 5.10. Граф-схемы алгоритмов ввода и дополнения нулями входной последовательности (а) и вычисления ДПФ (б)
|
|
|
|
|
|
|
|
14 |
|
|
|
|
|
K = 0; L = 0 |
|
|
|
|
I = 0; K = 0. |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
XR(K) = |
XR(K) |
+ |
YR(L) |
|
|
|
|
|
||
|
|
|
|
N |
|
|
|
|
|
|
|
|
XI(K) = |
− XI(K) |
+ |
YI(L) |
|
SR(I) = XR(K)·HR(K)-XI(K) |
·HI(K) |
||||
|
|
|
|
N |
|
|
|
SI(I) =- XR(K)·HI(K)-XI(K)·HR(K) |
|||
|
|
|
|
|
|
|
|
||||
K =K + 1; L = L + 1; |
|
|
|
|
|
|
|||||
|
|
|
|
|
0 |
|
|
I = I + 1; |
|
|
|
|
|
K = N2-1 |
|
|
K = K + 1; |
|
|
||||
|
|
|
|
|
|
|
|
||||
|
|
|
1 |
|
|
|
|
|
0 |
|
|
XR(K) |
= |
XR(K) ; XI(K) |
= |
− |
XI(K) |
|
|||||
I = N |
|
|
|||||||||
|
|
N |
|
|
|
|
|
N |
|
|
|
|
|
K = K + 1; |
|
|
|
|
1 |
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
K = N1 |
|
|
0 |
|
|
а) |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
K = 0 |
|
|
|
|
|
L = 0 |
|
|
|
|
|
XR(K); XI(K) = |
|
XI(K) |
|
|
|
|
|
|
|
|
XR(K) = |
− |
||
YR(L) |
|
= XR(K) ; YI(L) |
= |
XI(K) |
N |
|
N |
||||
K = K+ 1; L = L + 1; |
|
|
|
K = K + 1 |
|
|
|||||
|
|
|
|
|
|
||||||
|
|
|
K = N |
|
|
0 |
|
|
K = N |
0 |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
1 |
|
|
|
|
|
1 |
|
|
|
|
|
K = 0 |
|
|
|
|
|
K = 0 |
|
|
|
|
y(n) Re = XR(K); |
|
|
|
y(n) Re = XR(K); |
|
||||
|
|
y(n) Im = XI(K) |
|
|
|
|
|||||
|
|
|
|
|
y(n) Im = XI(K) |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K = K + 1 |
|
|
|
|
K = K + 1 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K = N1 |
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K = N |
0 |
|
|
|
|
|
1 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||
|
|
|
б) |
|
|
|
|
|
1 |
|
|
в)
Рис. 5.11. Граф-схемы алгоритмов перемножения комплексных последовательностей (а), подготовки и вывода частичных сверток (б) и подготовки и вывода выходной последовательности (в)