Шрифт:
Частотная характеристика симметричного фильтра. Можно показать, что частотная характеристика симметричного фильтра (hk = h– k) имеет вид
где tотс — время между выборками (отсчетами). Нетрудно заметить, что hk представляют собой коэффициенты разложения в ряд Фурье требуемой частотной характеристики. Это объясняет, почему в случае представленной ранее схемы генератора весовые коэффициенты были выбраны в соответствии с функцией (sin x)/x: они являются компонентами Фурье заграждающего НЧ-фильтра. В таких симметричных фильтрах фазовый сдвиг на любой частоте либо равен 0, либо 180°.
Рекурсивные фильтры. Можно получить интересный класс цифровых фильтров, если на вход фильтра в дополнение к внешнему входному сигналу подать собственный выходной сигнал фильтра. Такой фильтр можно рассматривать как фильтр с обратной связью. Он имеет причудливое название рекурсивный фильтр (или с бесконечной импульсной характеристикой) в противоположность рассмотренному выше нерекурсивному (с конечной импульсной характеристикой) фильтру. Можно, например, сформировать выходной сигнал в соответствии со следующим выражением:
yi= Ayi-1 + (1 — A)xi
Это соответствует низкочастотной характеристике, эквивалентной той, которой обладает простой низкочастотный RC-фильтр
А = е– tотс/RC
где tотс – интервал времени между последовательными выборками хi из входного сигнала. Эта ситуация, конечно, не является идентичной ситуации с аналоговым низкочастотным фильтром, работающим с аналоговым сигналом, по причине дискретной природы отсчетов.
Пример НЧ-фильтра. В качестве числового примера предположим, что вам требуется отфильтровать ряд числовых значений, соответствующих сигналу с затуханием 3 дБ на частоте f3 дб = 1/20tотс. Таким образом, постоянная времени соответствует интервалу времени 20 последовательных отсчетов. В этом случае А = 0,95123, а выходной сигнал определяется по выражению yi = 0,95123yi-1 + 0,04877хi. С увеличением постоянной времени относительно времени между отсчетами tотс приближение к реальному НЧ-фильтру улучшается.
Для обработки данных уже представленных в виде дискретных отсчетов, как, например, массив данных в компьютере, вы, возможно, предпочтете использовать такой фильтр. Рекурсивный фильтр при этом будет реализовываться с помощью однократного прохода по данным с тривиальной арифметической обработкой. Программа НЧ-фильтра на языке Фортран будет выглядеть следующим образом:
A = exp(-TS/TC)
В = 1. — А
DO 10I = 2,N
10X(I) = A*X(I — 1) + B*X(I),
где X — матрица данных, TS — интервал времени между отсчетами (т. е. TS = 1/tотс), а ТС — выбранная постоянная времени фильтра. Эта маленькая программа осуществляет фильтрацию на месте, т. е. она заменяет первоначальные данные отфильтрованными. Можно, конечно, создавать из отфильтрованных данных отдельный массив.
НЧ-фильтр с коммутацией. Такой же фильтр можно построить аппаратным путем, используя схему, показанную на рис. 9.92.
Рис. 9.92. Рекурсивный фильтр на коммутируемых конденсаторах.
Ключи на полевых транзисторах S1 и S2 коммутируются с некоторой тактовой частотой, периодически заряжая конденсатор С1 до входного напряжения и затем передавая его заряд на конденсатор С2. Если С2 имеет напряжение U2, а С1 заряжается до входного уровня U1, то при подключении С1 к С2 напряжение на обоих конденсаторах будет определяться соотношением U = (С1U1 + С2U2)/(C1 + С2), что эквивалентно рассмотренному ранее рекурсивному фильтру при
уi= С2/(C1 + C2)уi-1 + С1/(C1 + C2)xi.
Приравнивая эти коэффициенты к заданному ранее значению А, получим
f3 дB = (1/2)fотсln(C1 + C2)/C2.