Наиболее простой является методика расчетов программных двусторонних симметричных фильтров без изменения фазы выходного сигнала относительно входного. В самом общем виде она включает:
1. Задание идеальной амплитудно-частотной характеристики передаточной функции фильтра. Термин идеальности понимается здесь в том смысле, что на характеристике указываются полосы пропускания и подавления частот с коэффициентами передачи 1 и 0 соответственно без переходных зон.
2. Расчет функции импульсного отклика идеального фильтра (обратное преобразование Фурье частотной характеристики фильтра). При наличии скачков функций на границах пропускания/подавления импульсный отклик содержит бесконечно большое количество членов.
3. Ограничение функции отклика до определенного количества членов, при этом на передаточной характеристике фильтра возникает явление Гиббса – осцилляции частотной характеристики с центрами на скачках.
4. Для нейтрализации явления Гиббса производится выбор весовой функции и расчет ее коэффициентов, на которые умножаются коэффициенты функции отклика фильтра. Результатом данной операции являются значения коэффициентов оператора фильтра (рабочий импульсный отклик фильтра). По существу, операции 3 и 4 представляют собой усечение ряда Фурье динамического (временного) представления передаточной функции фильтра определенной весовой функцией (умножение на весовую функцию).
5. С использованием полученных значений коэффициентов оператора фильтра производится построение его частотной характеристики и проверяется ее соответствие поставленной задаче.
При проектировании симметричных нерекурсивных фильтров нет необходимости базироваться на расчете фильтров низких частот с последующим их преобразованием, при необходимости, в фильтры верхних частот или полосовые фильтры. Расчет непосредственно полосового фильтра достаточно прост, а НЧ- и ВЧ-фильтры являются частным случаем полосового фильтра с одной верхней или одной нижней граничной частотой.
Фильтры с линейной фазовой характеристикой. Несколько сложнее расчет каузальных (односторонних) частотных фильтров, для которых требуется обеспечить линейность фазово-частотной характеристики для исключения изменения гармонии сочетания частотных составляющих сигнала на его выходе по отношению к входу. Чтобы фильтр имел линейную фазовую характеристику необходимо обеспечить выполнение условия:
j(w) = aw. (7.1.1)
Оно выполняется, если импульсная характеристика фильтра имеет положительную симметрию:
h(n) = h(N-n-1), n = 0, 1, 2, …, (N-1)/2, N – нечетное (тип 1);
n = 0, 1, 2, …, (N/2)-1, N – четное (тип 2).
При этом фазовая характеристика будет определяться длиной фильтра:
a = (N-1)/2.
Частотная характеристика фильтра:
H(w) = |H(w)| exp(jj(w)), (7.1.2)
где модуль |H(w)| задается аналогично АЧХ симметричных фильтров. Следует также учитывать, что частотную характеристику типа 2 нельзя использовать для проектирования фильтров верхних частот, т.к. она всегда равна нулю на частоте Найквиста.
Собственно методика расчета каузальных фильтров, за исключением использования (7.1.2) для задания частотной характеристики, не отличается от методики расчета симметричных фильтров, включая необходимость использования весовых функций для нейтрализации явления Гиббса. Это позволяет применять чисто практический метод расчетов – вычислить и отработать сначала симметричный фильтр на N-точек (тип 1), а затем превратить его в каузальный сдвигом вправо на (N-1)/2 точек в область только положительных значений n ≥ 0.
7.2. Идеальные частотные фильтры.
Идеальным полосовым фильтром называется фильтр, имеющий единичную амплитудно-частотную характеристику в полосе от определенной нижней частоты wн до определенной верхней частоты wв, и нулевой коэффициент передачи за пределами этой полосы (для цифровых фильтров - в главном частотном диапазоне).
Импульсная реакция фильтра (коэффициенты оператора) находится обратным преобразованием Фурье заданной передаточной функции H(w). В общем случае:
h(nDt) = (1/2p)
H(w) exp(jwnDt) dw.Для получения вещественной функции импульсного отклика фильтра действительная часть передаточной функции должна быть четной, а мнимая - нечетной. Цифровые фильтры задаются в главном частотном диапазоне, границы которого (частота Найквиста
wN) определяются интервалом дискретизации данных (wN = p/Dt), подлежащих фильтрации, и соответственно определяют интервал дискретизации оператора фильтра (Dt = p/wN). Для фильтров с нулевым фазовым сдвигом мнимая часть передаточной функции должна быть равна нулю, при этом оператор фильтра определяется косинусным преобразованием Фурье:h(nDt)= (1/p)
H(w) cos(npw/wN) dw, n = 0, 1, 2,... (7.2.1)Для идеального полосового фильтра H(w)=1 в полосе частот от wн до wв, и интеграл (7.2.1) вычисляется в этих пределах. Идеальные фильтры низких и высоких частот, как частные случаи идеальных ПФ, интегрируются в диапазоне от 0 до wв для низкочастотного и от wн до wN для высокочастотного фильтра.
При интервале дискретизации данных Dt, условно принимаемым за 1, главный частотный диапазон передаточных функций ограничивается значением частоты Найквиста от -p до p. Если на практике интервал дискретизации данных в физических единицах отличается от 1, то это сказывается только на изменении масштаба частотной шкалы передаточных функций.
Пример 1. Dt = 0.1 сек. fN = 1/2Dt = 5 Гц. wN = p/Dt = 10 p.
Пример 2. Dx = 10 метров. fN = 0.05 м-1. wN= 0.1 p.
Во всех дальнейших выражениях значение Dt, если это специально не оговорено, будем принимать равным 1.
При H(w)=A=1 в полосе пропускания (wн, wв), и H(w)=0 за ее пределами, для идеальных симметричных полосовых НЦФ из (7.2.1) с границами интегрирования, соответственно, от wн до wв в общем виде получаем:
h(n) = (А/p) [wв sinc(nwв) - wн sinc(nwн)], (7.2.2)
ho = (wв - wн)/p, h(n) = (sin nwв - sin nwн)/(np).
где sinc(nw) = sin(nw)/(nw) - функция интегрального синуса (функция отсчетов), бесконечная по координате w.
При инверсии частотной характеристики в заградительный фильтр:
ho = (1-(wн - wв))/p, h(n) = (sin nwн - sin nwв)/(np).
Рис. 7.2.1. Входные сигналы. Рис. 7.2.2. Спектр сигнала и границы фильтра.
На рис. 7.2.1 приведен пример сигнала однотональной балансной амплитудной модуляции (чистого сигнала – вверху, с наложенными шумами внизу, мощность шумов равна мощности сигнала). Если информация заключена в частоте и амплитуде модулирующего сигнала, то полосовой фильтр выделения сигнала из шумов, спектр которого для одной модулирующей частоты приведен на рис. 7.2.2, в идеальном случае должен иметь плоскую частотную характеристику в границах возможных вариаций модулирующей частоты (от wн до wв).
Размер оператора фильтра определяется приблизительно из следующих соображений. Чем больше размер оператора, тем круче будет переходная зона и меньше ее размер, т.е. тем ближе будет фактически реализованная передаточная функция фильтра к идеальной. Обычно сначала стоит попробовать построить фильтр достаточно большого размера, оценить его соответствие заданной частотной характеристике и в дальнейшем попытаться уменьшить. Значение N для симметричных НЦФ должно быть нечетным числом.
Рис. 7.2.3. Оператор фильтра. |
На рис. 7.2.3 приведен оператор полосового фильтра, вычисленный по (7.2.2) для приведенных выше условий, с ограничением по числу коэффициентов оператора до N=100. Как видно из рисунка, оператор затухает достаточно медленно и явно усечен, что должно сказаться на форме частотной характеристики фильтра. Все дальнейшие вычисления будут проводиться на продолжении данного примера.
7.3. Конечные приближения идеальных фильтров /24/.
Оператор идеального частотного НЦФ, как это следует из выражения (7.2.2), представляет собой бесконечную затухающую числовую последовательность, реализующую заданную передаточную функцию:
H(w) =
h(n) cos nw. (7.3.1)Ограничение окна операторов фильтров. На практике бесконечный ряд (7.3.1) всегда приходится ограничивать определенным числом членов его конечного приближения
H'(w) =
h(n) cos nw,при этом передаточная функция осложняется явлением Гиббса, и появляется переходная зона между полосами пропускания и подавления сигнала (рис. 7.3.1, пунктирная кривая при N=100). Явление Гиббса формирует первые выбросы передаточной функции на расстоянии p/(2(N+1)) от скачков (разрывов первого рода). Если ширину переходной зоны Dp в первом приближении принять по расстоянию между первыми выбросами по обе стороны от скачка функции H(w), то ее значение будет ориентировочно равно p/(N+1) = Dp.
Рис. 7.3.1. Передаточные функции полосового фильтра.
Применение весовых функций. Если уровень пульсаций передаточной функции, определяемый явлением Гиббса, не удовлетворяет поставленным задачам фильтрации данных, рекомендуется использование сглаживающих весовых функций. С учетом того, что при применении весовых функций происходит расширение переходных зон примерно в два раза, значение ширины переходной зоны будет равным Dp = 2p/N. Отсюда можно определить минимальное число членов усеченного ряда по заданному размеру переходной зоны: