Конечные приближения идеальных фильтров   /24/.



ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ

Digital signals processing. Digital nonrecursive frequency filters.

Тема 7. НЕРЕКУРСИВНЫЕ ЧАСТОТНЫЕ ЦИФРОВЫЕ ФИЛЬТРЫ

Недостаточно овладеть премудростью, нужно уметь пользоваться ею.

Марк Туллий Цицерон. О высшем благе и высшем зле.

 Римский сенатор и философ, 1 в.д.н.э.

Мало пользы от теории бокса, пока сам не научишься махать кулаками.

Евгений Буцко. Идеология белых воротничков.

 Радиоинженер, геофизик Уральской школы, ХХ в.

Содержание

1. Общие сведения. Типы фильтров. Методика расчетов нерекурсивных цифровых фильтров. Фильтры с линейной фазовой характеристикой.

2. Идеальные частотные фильтры. Импульсная реакция фильтров.

3. Конечные приближения идеальных фильтров. Ограничение окна операторов фильтров. Применение весовых функций для нейтрализации явления Гиббса. Основные весовые функции. Весовая функция Кайзера.

4. Гладкие частотные цифровые фильтры.  Принцип синтеза фильтров.

5. Дифференцирующие цифровые фильтры.  Передаточная функция. Точность дифференцирования. Применение весовых функций. Фильтры с линейной групповой задержкой.

6. Альтернативные методы расчета НЦФ. Оптимизационные методы. Метод частотной выборки.

Введение

Нерекурсивные фильтры реализуют алгоритм свертки двух функций: yk = hn ③ xk-n, где xk – массив входных данных фильтра, hn – оператор (ядро, импульсный отклик) фильтра, k и n – нумерация числовых значений массива данных и числовых значений коэффициентов фильтра, k = 0, 1, 2, … ,K; n = 0, 1, 2, … ,N; K ≥ N. Значения выходных отсчетов свертки yk для любого аргумента k определяются текущим и "прошлыми" (до k-N) значениями входных отсчетов. Такой фильтр называется нерекурсивным цифровым фильтром (НЦФ). Интервал [0-N] оператора получил название "окна" фильтра. Окно фильтра составляет N+1 отсчет, фильтр является односторонним каузальным, т.е. причинно обусловленным текущими и "прошлыми" значениями входного сигнала, и выходной сигнал не опережает входного. В общем случае, каузальный фильтр меняет в спектре сигнала состав гармоник, их амплитуды и фазы.

Каузальный фильтр может быть реализован физически в реальном масштабе времени. Начало фильтрации возможно только при задании определенных начальных условий – N значений отсчетов для точек x(k-n) при k<n. Как правило, в качестве начальных условий принимаются нулевые значения, тренд сигнала или значения отсчета х(0), т.е. продление отсчета x(0) назад по аргументу.

При обработке данных на ЭВМ ограничение по каузальности снимается. В программном распоряжении фильтра могут находиться как "прошлые", так и "будущие" (k+n, до k+N') значения входной последовательности отсчетов относительно текущей точки вычислений k, при этом для завершения свертки (аналогично началу) требуется N' точек конечных условий при (k+n)>K. При N' = N и h(-n) = h(n) фильтр называется двусторонним симметричным фильтром. Симметричные фильтры, в отличие от односторонних, не изменяют фазы обрабатываемого сигнала.

Общие сведения.

Основное свойство любого фильтра – его частотная (frequency response) и фазовая характеристики. Они показывают, какое влияние фильтр оказывает на амплитуду и фазу различных гармоник обрабатываемого сигнала.

К наиболее известным типам нерекурсивных цифровых фильтров (НЦФ) относятся частотные фильтры, алгоритм которых для симметричных НЦФ, не изменяющих фазу сигналов, имеет вид:

yk  = hn  sk-n.

Типы фильтров. В зависимости от вида частотной характеристики выделяют три основных группы частотных фильтров: ФНЧ - фильтры низких частот (low-pass filters) - пропускание низких и подавление высоких частот во входном сигнале, ФВЧ - фильтры высоких частот (high-pass filters) - пропускание высоких и подавление низких частот, и ПФ - полосовые фильтры, которые пропускают (band - pass filters) или подавляют (band - reject filters) сигнал в определенной частотной полосе.  Среди последних в отдельную группу иногда выделяют РФ - режекторные фильтры, понимая под ними фильтры с подавлением определенной гармоники во входном сигнале, и СФ – селекторные фильтры, обратные РФ.

Если речь идет о подавлении определенной полосы частот во входном сигнале, то такие фильтры называют заградительными. Ни теоретического, ни практического интереса к методам их расчета обычно не проявляется, так как их частотная характеристика обычно задается инверсией характеристики полосового фильтра (1-Hп(w)) и каких-либо дополнительных особенностей при своем проектировании не имеет.

Схематические частотные характеристики фильтров приведены на рисунке 7.1.1. Между частотными интервалами пропускания и подавления сигнала существует зона, которая называется переходной. Ширина переходной зоны определяет резкость характеристики фильтра. В этой зоне амплитудная характеристика монотонно уменьшается (или увеличивается) от полосы пропускания до полосы подавления (или наоборот).

Рис. 7.1.1. Типы основных частотных фильтров.

Практика проектирования цифровых фильтров базируется, в основном, на синтезе фильтров низких частот. Все другие виды фильтров могут быть получены из фильтров низких частот соответствующим преобразованием.

Рис. 7.1.2.

Так, например, фильтр высоких частот g(n) может быть получен инверсией фильтра низких частот h(n) - вычислением разности между исходным сигналом и результатом его фильтрации низкочастотным НЦФ:

y(k) = s(k) – h(n) s(k-n).

Отсюда, условие инверсии симметричного низкочастотного фильтра в высокочастотный:

g(0) = 1-h(0),    g(n) = -h(n)   при n¹0.

Пример обращения и спектры фильтров приведены на рис. 7.1.2 (в правой части главных диапазонов).

Рис. 7.1.3.

Применяется также способ получения фильтров высоких частот из низкочастотных фильтров путем реверса частоты в передаточной функции низкочастотного фильтра, т.е. заменой переменной w на переменную w' = p-w (при Dt = 1). Для симметричных фильтров, содержащих в передаточной функции только косинусные члены аргумента w, в результате такой операции будем иметь: 

cos n(p-w) = cos np cos nw = (-1)n cos nw.

Последнее означает смену знака всех нечетных гармоник передаточной характеристики фильтра и, соответственно, всех нечетных членов фильтра:

g(n) = h(n) при n = ±1, ±3, …

Пример частотного реверса приведен на рис. 7.1.3. Физическую сущность такой операции инверсии спектра легко понять на постоянной составляющей сигнала. При изменении на противоположный знака каждого второго отсчета постоянной величины это постоянной значение превращается в "пилу", частота которой равна частоте Найквиста главного частотного диапазона (отсчеты по амплитудным значениям этой частоты), равно как и наоборот, отсчеты гармоники сигнала на частоте Найквиста (знакочередующиеся в силу сдвига по интервалам дискретизации на p) превращаются в постоянную составляющую.

Полосовой фильтр может реализоваться последовательным применением ФНЧ и ФВЧ с соответствующим перекрытием частот пропускания. В математическом представлении это означает последовательную свертку массива данных с массивами коэффициентов hн - низкочастотного, и hв - высокочастотного фильтров:

vk = hн(n) ③ s(k-n), yk = hв(n) ③ vk = hн(n) ③ hв(n) ③ s(k-n).

Так как операция свертки коммутативна, то вместо отдельных массивов коэффициентов ФНЧ и ФВЧ их сверткой может быть определен непосредственно массив коэффициентов полосового фильтра: hn = hн(n) ③ hв(n).

Полосовой режекторный фильтр также может быть получен методом инверсии полосового фильтра. Одночастотные режекторные фильтры обычно выполняются на основе простых рекурсивных цифровых фильтров, более эффективных для данных целей.

Часто к фильтрам предъявляются более сложные требования. Например, фильтр может иметь несколько частотных полос пропускания с разными коэффициентами усиления, а для полос непропускания могут быть заданы разные коэффициенты подавления. Иногда требуемая частотная характеристика фильтра задается вообще произвольной кривой.

Методика расчетов НЦФ. Обычно при фильтрации сигналов задается требуемая частотная характеристика фильтра. Задачей является построить фильтр, отвечающий заданным требованиям и провести фильтрацию. Зачастую бывает невозможно построить в точности заданный фильтр, и выполняется фильтр, близкий по характеристикам к заданному.

Существует много способов построения фильтров с заданной частотной характеристикой. Наиболее простой из них – проектирование фильтров с линейной фазой с помощью весовых окон. Этот способ является универсальным и позволяет получить фильтр с любой заданной частотной характеристикой. Отметим, однако, что с помощью других, математически более строгих и совершенных методов, иногда удается построить фильтр меньшей длины, удовлетворяющий тем же требованиям к частотной характеристике.

Наиболее простой является методика расчетов программных двусторонних симметричных фильтров без изменения фазы выходного сигнала относительно входного. В самом общем виде она включает:

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.

Идеальные частотные фильтры.

Идеальным полосовым фильтром называется фильтр, имеющий единичную амплитудно-частотную характеристику в полосе от определенной нижней частоты 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. Как видно из рисунка, оператор затухает достаточно медленно и явно усечен, что должно сказаться на форме частотной характеристики фильтра. Все дальнейшие вычисления будут проводиться на продолжении данного примера.

Конечные приближения идеальных фильтров   /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. Отсюда можно определить минимальное число членов усеченного ряда по заданному размеру переходной зоны:

N = 2p/Dp.                                          (7.3.2)

Для примера на рис. 7.3.1 значение N принято равным 200, при этом крутизна переходной зоны увеличилась (тонкая кривая H'(w), N=200), создавая запас на последующее сглаживание весовой функцией.

Выбор весовых функций целесообразно осуществлять по допустимой величине осцилляций усиления сигнала в полосе подавления, т.е. по относительному значению амплитуды первого выброса на передаточных характеристиках весовых функций. Для выбранной весовой функции (с учетом числа ее членов по (7.3.2)) производится расчет весовых коэффициентов pn, после чего устанавливаются окончательные значения оператора фильтра:

hn = pn h(n).                                        (7.3.3)

Рис. 7.3.2. Полосовая фильтрация (вверху – входной сигнал, внизу – выходной).

Подстановкой коэффициентов (7.3.3) в (7.3.1) рекомендуется произвести построение полученной передаточной характеристики фильтра и непосредственно по ней оценить пригодность фильтра для поставленных задач. Это наглядно видно на рис. 7.3.1, где для нашего примера была применена весовая функция Гаусса. Передаточная функция Hp(w) имеет практически такую же крутизну, как и функция H'(w) при N=100 и практически плоскую вершину в интервале спектра сигнала. Качество работы фильтра для сигнала, приведенного на рис. 7.2.1, можно видеть на рис. 7.3.2.

При необходимости более точной оценки полученной передаточной функции можно рекомендовать увеличение ее частотного разрешения в 2-4 раза перед выполнением преобразования Фурье, что можно выполнить путем увеличения размеров оператора hn дополнением нулями.

Основные весовые функции. Ниже в таблицах приведены формулы и основные спектральные характеристики наиболее распространенных весовых окон. Носители весовых функций, в принципе, являются неограниченными и при использовании в качестве весовых окон действуют только в пределах окна и обнуляются за его пределами. Для упрощения записи формулы приводятся в аналитической форме с временным окном 2t, симметричным относительно нуля (0 t). При переходе к дискретной форме окно 2t заменяется окном 2N+1, а значения t – дискретами t = nDt. Большинство весовых функций на границах окна (n = N) принимают нулевые или близкие к нулевым значения. Последнее исключается, если принять 2t = (2N+3)Dt, при этом близкие к нулю значения перемещаются за границы окна.

Основные весовые функции.

Временное окно Весовая функция Фурье-образ
Естественное (П) П(t) = 1, |t|£t; П(t) = 0, |t|>t П(w) = 2t sinc[wt]
Бартлетта (D) b(t) = 1-|t|/t B(w) = t sinc2(wt/2).
Хеннинга, Ганна p(t) = 0.5[1+cos(pt/t)] 0.5П(w)+0.25П(w+p/t)+0.25П(w-p/t)
Хемминга p(t) = 0.54+0.46 cos(pt/t) 0.54П(w)+0.23П(w+p/t)+0.23П(w-p/t)
Карре (2-е окно) p(t) = b(t) sinc(pt/t) t·B(w)*П(w), П(w) = 1 при |w|<p/t
Лапласа-Гаусса p(t) = exp[-b2(t/t)2/2] [(t/b)  exp(-t2w2/(2b2))] ③ П(w)
Кайзера-Бесселя   p(t) = , Jo[x] = [(x/2)k/k!]2 Вычисляется преобразованием Фурье. Jo[x] - модифицированная функция       Бесселя нулевого порядка

Характеристики спектров весовых функций.

Параметры Ед. изм. П- Окно Барт- летт Лан-цош Хен- нинг Хемминг Кар- ре Лаплас Кайзер
Амплитуда: Главный пик 1-й выброс(-) 2-й выброс(+) Ширина Гл. пика Положения: 1-й нуль 1-й выброс 2-й нуль 2-й выброс   t %Гл.п. - “ - wt/2p   wt/2p wt/2p wt/2p wt/2p   2 0.217 0.128 0.60   0.50 0.72 1.00 1.22   1 - 0.047 0.89   1.00 - - 1.44   1.18 0.048 0.020 0.87   0.82 1.00 1.29 1.50   1 0.027 0.0084 1.00   1.00 1.19 1.50 1.72   1.08 0.0062 0.0016 0.91   1.00 1.09 1.30 1.41   0.77 - - 1.12   - - - -   0.83 0.0016 0.0014 1.12   1.74 1.91 2.10 2.34   0.82 .00045 .00028 1.15   1.52 1.59 1.74 1.88

Весовая функция Кайзера. Наибольшее распространение при расчетах частотных НЦФ получила весовая функция Кайзера:

p(n) =  .

Это объясняется тем, что параметры функции Кайзера могут устанавливаться непосредственно по техническим требованиям к передаточным функциям проектируемых фильтров – допустимой ширине переходной зоны Dp и значению коэффициента шума фильтра d (максимальным значениям осцилляций передаточной функции в единицах коэффициента передачи в полосе пропускания).

Кайзером установлено, что для заданного значения d произведение количества членов оператора НЦФ на ширину переходной зоны является величиной постоянной. Оно получило название D-фактора:

D = N·Dp/p.

С другой стороны, установлены следующие эмпирические соотношения между D-фактором и параметром b функции Кайзера:

                                D = (А-7.95)/14.36   при А>21.

                                          = 0.9222                при А<21.

                                b = 0.1102(A-8.7)     при А>50.

                                          = 0                         при А<21.

                                          = 0.5842(A-21)0.4 + 0.07886(A-21), 21<А<50.

где: А = -20 log d - затухание в децибелах.

Приведенные выражения позволяют по заданному значению коэффициента шума d определить параметр b функции Кайзера, а через D-фактор число членов фильтра:

N = pD/Dp.

При проектировании полосовых фильтров проверка передаточной функции полученного оператора НЦФ исходному заданию по значению коэффициента шума является обязательной. Это объясняется тем, что поскольку полоса пропускания полосового фильтра ограничена двумя скачками, на передаточной характеристике возникают два центра осцилляций, при этом наложение осцилляций может как уменьшить, так и увеличить амплитуду суммарных осцилляций. Если за счет наложения произойдет увеличение амплитуды осцилляций, то расчет НЦФ следует повторить с уменьшением исходного значения d.


Дата добавления: 2021-01-21; просмотров: 48; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!