Вы находитесь на странице: 1из 16

Введение в теорию цифровой фильтрации

Часть 1. Нерекурсивные цифровые фильтры (НЦФ)


Основные определения.
Различают два класса цифровых фильтров: нерекурсивные цифровые фильтры (НЦФ) и
рекурсивные цифровые фильтры (РЦФ).
Вначале рассмотрим нерекурсивные фильтры, которые также называют трансверсальными (от
английского transversal - поперечный), а также КИХ-фильтрами (фильтрами с конечной
импульсной характеристикой).
Достоинства нерекурсивных фильтров:
 простота теоретического анализа – существует несколько хорошо известных и
апробированных методик расчета фильтров;
 наглядная связь коэффициентов фильтра с отсчетами его импульсной переходной
характеристики;
 простота практической реализации;
 устойчивость фильтра;
 линейность фазовой характеристики (при условии симметричности фильтра), позволяющая
уменьшить искажения фронтов импульсных сигналов – поэтому такие фильтры широко
применяются в телекоммуникационных системах.
Недостатки нерекурсивных фильтров:
 необходим высокий (несколько сотен или даже тысяч) порядок фильтров для обеспечения
«хорошей» АЧХ.
Нерекурсивные фильтры широко применяются при обработке изображений, поскольку:
 описываются матрицей коэффициентов;
 двумерные фильтры являются естественным обобщением одномерных фильтров.
Отличительной особенностью НЦФ является зависимость отсчетов выходного сигнала y(n)
только от отсчетов входного сигнала в настоящий момент времени x(n) и предыдущие
моменты x(n-k). Алгоритм (уравнение) НЦФ порядка N записывают в виде
N
y(n) = ∑ a k x(n - k) . (1.1.а)
k=0

Структурная схема, реализующая этот алгоритм, приведена на следующем рисунке:

xn a0 yn

x n −1 a1
z-1
x n −2 a2
-1
z

z-1
x n −N aN
-1
z

1
Квадрат с символом z −1 на этой схеме обозначает элемент задержки дискретного сигнала на
один такт ∆t = 1 Fд , где Fд - частота дискретизации (позднее станет ясен смысл такого
обозначения – он следует из свойств z-преобразования, являющегося аналогом непрерывного
преобразования Фурье). Треугольником обозначен элемент усиления.
Для расчетов удобнее (об удобстве будем сказано позднее) использовать фильтр порядка 2N с
алгоритмом фильтрации вида:
N
y(n) = ∑ a k x(n - k) (1.1.б)
k = -N

Очевидно, в уравнении (1.1.б) наряду с прошлыми отсчетами дискретного сигнала


используются и будущие отсчеты. Такой фильтр является физически нереализуемым с
«аналоговой точки зрения». Однако с «дискретной точки зрения» такой фильтр вполне
реализуем, если массив x(n ) заранее сформирован (например, хранится в памяти компьютера).
При обработке сигналов «в реальном масштабе времени», когда отсчеты массива x(n )
отсутствуют в памяти компьютера, а «на лету» поступают с выхода некоторого электронного
блока или устройства, выражение (1.1.б) можно переписать так, чтобы условие физической
реализуемости сохранялось:
2N
y ′(n) = ∑ a ′k x(n - k) (1.1.в)
k =0

Сравнивая между собой соотношения (1.1.б) и (1.1.в), видим, что они принципиально
эквивалентны при условии:
a k′ = a k −N . (1.1.г)
Действительно, подставляя (1.1.г) в (1.1.в), получим:
2N N
y ′(n) = ∑ a k - N x(n - k) = ∑ a r x(n - r - N) = y(n - N) .
k=0 r = -N
Таким образом, различие между цифровыми фильтрами, описываемыми соотношениями (1.1.б)
и (1.1.в), весьма незначительное. Физически это различие означает, что отклик «физически
реального» фильтра (1.1.в) будет задерживаться на N тактов относительно отклика «физически
нереального» фильтра (1.1.б).
Удобство же «симметричности формы» записи (1.1.б), как будет далее показано, состоит в том,
что при выполнении условия
ak = a −k

частотная характеристика такого фильтра будет вещественной и четной функцией частоты, что
удобно с точки зрения быстрого анализа формы частотной характеристики.
Сказанное выше можно пояснить простым примером. Например, при N=2 в соответствии с
(1.1.б) можно записать
y(n) = a - 2 x(n + 2) + a -1 x(n + 1) + a 0 x(n) + a 1 x(n - 1) + a 2 x(n - 2)
где
x(n) - входной сигнал (отсчет сигнала) в момент времени nTд ;
y(n) - соответствующий выходной сигнал;
Tд - период дискретизации.

2
Как видим, при такой записи алгоритма фильтрации выходной сигнал в момент времени n
можно вычислить только тогда, когда станут известными два “будущих” входных отсчета. Это
означает, что при практических вычислениях в «реальном масштабе времени» выходной сигнал
фильтра порядка 2N будет неизбежно запаздывать относительно входного как минимум на
время tз = Tд N (поскольку для получения первого результаты вычислений нужно заполнить
буферную память, состоящую из N ячеек). При малых порядках фильтра такое запаздывание
может быть вполне допустимым для практических приложений (например, при цифровой
телефонной связи).
Если на НЦФ подать единичный импульс

1 при n = 0
x(n) =  ,
0 при n ≠ 0
то в соответствии с (1.1) на выходе должна появиться последовательность из (2N+1) отсчетов,
соответствующих весовым коэффициентам фильтра ak . Очевидно, что эта последовательность
конечна, поэтому НЦФ имеет конечный импульсный отклик и называется фильтром с конечной
импульсной характеристикой (КИХ-фильтром или FIR (finite impulse response filtre) фильтром ).
Если на НЦФ подать дискретное гармоническое колебание:
x n = exp( jωnTд ) ,
тогда из (1.1) следует
N
yn = ∑ a k ⋅ exp[ jω (n − k )Tд ] ,
k =− N

откуда передаточная функция НЦФ


N ∞
yn
H д (ω ) =
xn
= ∑ a k exp(− jωkTд ) = ∑ ak exp(− jωkTд ) .
xn =exp( jωnTд ) k =− N k = −∞

Нетрудно проверить, что H д (ω ) - периодическая с периодом 2π Tд функция частоты, т.е.

H д (ω ) = H д (ω + r ⋅ 2π Tд ), r = ±1,2,...

Таким образом, H д (ω ) может быть представлена рядом Фурье в частотной области, причем
коэффициенты a k этого ряда определяются соотношением:
π


ak =
2π ∫ H д ( jω ) exp( jωkTд )dω .
−π

При расчетах удобно оперировать четными либо нечетными относительно k коэффициентами


a k . В этом случае упрощается вид передаточной функции H д (ω ) . Для четных a k = a − k
передаточная функция H д (ω ) вещественная и состоит из суммы взвешенных косинусоид:
N
H д (ω ) = a 0 + 2∑ a k cos ωkTд ,
k =1

а для нечетных a k = - a − k - чисто мнимая и состоит из суммы синусоид:


N
H д (ω ) = −2 j ∑ a k sin ωkTд .
k =1

3
Расчет цифрового ФНЧ. Для определения параметров цифрового нерекурсивного НЧ-фильтра
за основу берется идеальный фильтр нижних частот (ФНЧ). Идея метода расчета сводится к
аппроксимации идеального ФНЧ, передаточная функция которого имеет вид:
1 для ω ≤ ω c
H(jω ) =  (1.2)
0 для ω > ω c

где ωc - частота среза (иногда ее обозначают ω в и называют «верхняя граничная частота»).


Эта передаточная функция H(jω) может быть периодизирована с периодом 2π Tд , после чего
также может быть представлена рядом Фурье, который будет тем лучше аппроксимировать
H(jω), чем больше слагаемых будет содержать. Если же такое разложение «усечь», т.е. оставить
в нем столько составляющих, сколько коэффициентов фильтра мы хотим вычислить, тогда
результат такого усечения естественно трактовать как Hд(jω). Появляется разница между H(jω)
и ее аппроксимацией Hд(jω). Одним из количественных критериев такой разницы является
метод наименьших квадратов Гаусса: средний квадрат разности должен быть минимальным:
π


∫ [H ( jω ) − H д ( jω )] dω = min .
2
2π −π

Можно показать, что в соответствии с эти критерием ошибка аппроксимации будет


минимальной, если весовые коэффициенты искомого фильтра вычислять как коэффициенты
Фурье разложения в ряд периодизированной функции H(jω). Учитывая (1.2), можно записать для
четных функций a k :

sin k
ωc
Тд ωc Т д sin kω cTд ω Тд sin kω cTд 2f c fд
ak = a−k = ∫ 1 ⋅ cos kωTд dω = π
π 0 kTд
= c
π kω cTд
=
fд ωc
(1.3)
k

Таким образом, коэффициент ak (k = 0, ... ,N) зависит от отношения частоты среза к частоте
дискретизации. Поэтому при расчетах удобно использовать относительную частоту среза
ωc fc
Ωc = = 2π .
fд fд
В этом случае
Ω sin k Ω Ω
ak = a−k = c c
= c
Sa ( k Ω c ) , (1.4)
π kΩ c π
где Sa( x) = sin x x .
Расчет фильтров верхних частот (ФВЧ), полосовых (ПФ) и режекторных фильтров (РФ)
производится на основании теоремы сложения преобразований Фурье.
Выбор частоты дискретизации (вопрос для рассмотрения на практических занятиях). Как
отмечалось выше, важнейший параметр, определяющий коэффициенты нерекурсивного ФНЧ –
это отношение f с f д . Другой не менее важный параметр – порядок фильтра 2N. Оказывается,
фиксируя порядок фильтра 2 N , мы «автоматически» ставим задачу об оптимальном в
некотором смысле выборе соотношения между частотой дискретизации f д и частотой среза f с .

4
Исходя из этого, на практике рекомендуют выбирать «оптимальные» значения f д f с = 4 или
fд fс = 6 .

Истоки таких рекомендаций становятся понятными, если учесть связь между a k и ИПХ h(t )
непрерывного (аналогового) фильтра:

y (t ) = ∫ h(τ ) x(t − τ )dτ , (1.5)
−∞

∞ fc
h(t ) = ∫ H ( jf ) exp( j 2πft )df = ∫ exp( j 2πft )df = 2 f c Sa (2πf c t ) . (1.6)
−∞ − fc

Сравнивая (1.6) и (1.4), приходим к выводу, что a k = Tд h(kTд ) , т.е. с точностью до множителя
Tд коэффициенты цифрового фильтра совпадают со значениями ИПХ аналового фильтра,
взятыми в дискретные моменты времени Tд .
К такому же выводу приходим, сравнивая (1.5) с (1.1) и приближенно заменяя соотношение
(1.5) его дискретным аналогом
N
y (nTд ) = Tд ∑ h(kTд ) x[(n − k )Tд ] .
k =− N

1
Функция Sa (2πf c t ) имеет нули в точках t k = ± k . А отсчеты ИПХ h(t ) берутся в моменты
2 fc
1
времени t n = nTд = n . Выбирая f д = 2 f c , мы получаем единственный ненулевой отсчет a 0 ,

соответствующий так-называемому «всепропускающему» фильтру (ВФ) (рис 1).

Рис.1,а Рис.1,б

Рис.2,а Рис.2,б

5
Рис.3,а Рис.3,б

Рис.4,а Рис.4,б

Рис.5,а Рис.5,б
Выбор f д = 3 f c (рис.2), в принципе, дает ожидаемый результат, однако выбирая f д = 4 f c
(рис.3), получим ситуацию, при которой все четные a k равны нулю – это означает экономию в
объеме вычислений при цифровой фильтрации. А при f д = 6 f c (рис.4) нулю равны
коэффициенты с номерами, кратными 3, что также приводит к экономии, хотя и меньшей.
Существенно увеличивая отношение f с f д при небольших N , мы рискуем «прорисовать»
только малую окрестность верхушки функции Sa (2πf c t ) и, как следствие, получить
неудовлетворительную «прямоугольность» формы функции Hд(jω) (рис.5).

Расчет ВЧ, полосовых и режекторных цифровых фильтров


А. Преобразование ФНЧ в ФВЧ.
Всечастотный фильтр (ВФ) пропускает без ослабления все частоты. Его уравнение

y(n) = x(n)

Имеет место только один коэффициент, не равный 0,

а0 = 1.

6
Если из спектра всечастотного фильтра вычесть спектр ФНЧ, то останется спектр ФВЧ с той же
частотой среза ωс. Для коэффициентов ФВЧ это означает:

ак,ФВЧ = ак,ВФ - ак,НЧ (1.7)

Б. Преобразование ФНЧ в ПФ.


За основу берется ФНЧ с частотой среза ωв, которая соответствует верхней частоте среза
искомого ПФ. Из спектра этого ФНЧ вычитается спектр другого ФНЧ с меньшей (нижней)
частотой среза ωн. В результате останется спектр полосового фильтра с зоной прозрачности
(пропускания) между ωн и ωв. Искомые коэффициенты ПФ расчитываются по формуле

ак,ПФ = ак,ФНЧ(в) - ак,ФНЧ(н) (1.8)

В.Преобразование ФНЧ в РФ.


Если из спектра всечастотного фильтра (ВФ) вычесть спектр полосового фильтра (ПФ), то
останется спектр режекторного фильтра (РФ). Для коэффициентов фильтра это означает

ак,РФ = ак, ВФ - ак,ФНЧ(в) + ак,ФНЧ(н) (1.9)

Примеры (для подробного обсуждения на практических занятиях).


Пример 1. Рассчитать ФНЧ 6-го порядка ( N = 3 ) для f c = 25 Гц , f д = 100 Гц .
Результаты:
1 1
a 0 = 0 .5 ; a1 = a −1 = = 0.3183 ; a2 = a−2 = 0 ; a 3 = a −3 = − = −0.1061 ,
π 3π
Интересно и полезно проверить, действительно ли эти коэффициенты с точностью до коэффицинта
∆t = 1 f д совпадают со значениями ИПХ h(k∆t ) :

a k = ∆t ⋅ h(k∆t ) .
Обратное преобразование Фурье от функции
f
H ( f ) = rect ( )
2 fc
дает выражение для ИПХ аналогового фильтра:
h(t ) = 2 f c Sa (2πf c t ) , (1.10)
откуда следует
Ωc 1
h(k∆t ) = 2 f c Sa (2πf c k∆t ) = f д Sa (kΩ c ) = ak .
π ∆t
Это – различие «по вертикали» ИПХ аналогового и цифрового фильтров. А теперь рассмотрим различие «по
горизонтали».
Расстояние между нулями функции (1.10):
1
∆τ = .
2 fc
fд 1
В Примере 1 было принято fc = = , откуда следует ∆τ = 2∆t . Действительно, коэффициент a 2 = 0 .
4 4∆t
Ясно также, что все четные коэффициенты должны быть равны 0.
Для иллюстрирования Примера 1 построим график
функции (1.10) (рис.6).
Программа построения графика в Matlab:
% График ИПХ непрерывного ФНЧ
fd=100; % частота дискретиз
dt=1/fd; % шаг дискретизации

7
dtau=2*dt; % расстоиание между нулиами
fc=1/(2*dtau); % частота среза
t=-3*dtau:0.1*dt:3*dtau; % времиа
h=2*fc*sinc(2*fc*t); % ИПХ
plot(t,h) % график
grid on % сетка на графике Рис.6
Построим частотную характеристику рассчитанного фильтра (рис.7):
N
H д (ω ) = a 0 + 2 ∑ a k cos ω k∆t
k =1
Программа:
% Частотнаиа хар-ка ФНЧ
a0=0.5; % нулевой коэффициент фильтра
ak=[0.3183 0 -0.1061]; % коэффициенты фильтра c 1 по 3
fd=100; % частота дискретизац
dt=1/fd; % шаг дискретизации
N=3; % половина пориадка фильтра
df=0.02*fd; % шаг по частоте
f=-0.5*fd:df:1.5*fd; % диапазон частот
% расчет суммы
sum=0;
for k=1:N,
sum=sum+ak(k)*cos(2*pi*f*k*dt);
end;
H=a0+2*sum; % частотнаиа хар-ка
plot(f,H) % построение графика
grid on % построение сетки
Рис.7
Как видно из графика на рис.7, частотная характеристика фильтра 6-го порядка существенно отличается от
прямоугольника с относительной частотой среза f c f д = 1 4 . Полагая, что причина тому – малый порядок
фильтра, рассмотрим случай N = 9 и досчитаем недостающие коэффициенты ИПХ с нечетными номерами
(коэффициенты с четными номерами равны нулю):
a5 = 0.0637 ; a 7 = −0.0455 ; a9 = 0.0354 .
Новая частотная характеристика показана на рис.8.
% Частотнаиа хар-ка ФНЧ
a0=0.5; % нулевой коэффициент фильтра
ak=[0.3183 0 -0.1061 0 0.0637 0 -0.0455 0 0.0354]; % коэффициенты фильтра c 1 по 9
fd=100; % частота дискретизац
dt=1/fd; % шаг дискретизации
N=9; % половина пориадка фильтра
df=0.02*fd; % шаг по частоте
f=-0.5*fd:df:1.5*fd; % диапазон частот
% расчет суммы
sum=0;
for k=1:N,
sum=sum+ak(k)*cos(2*pi*f*k*dt);
end;
H=a0+2*sum; % частотнаиа хар-ка
plot(f,H) % построение графика
grid on % построение сетки

Рис.8
Как следует из рис.8, ЧХ действительно становится более прямоугольной, но степень осцилляций слева и справа
частоты среза не уменьшается.

Применение окон в КИХ фильтрах

8
Окна применяют в задаче синтеза КИХ-фильтров с целью подавления эффекта Гиббса – при
этом удается повысить равномерность АЧХ в полосе пропускания и понизить уровень боковых
лепестков в полосе задерживания.
Уравнения свертки для КИХ-фильтров могут быть в симметричной или несимметричной
форме.
При симметричной форме записи уравнения цифрового фильтра:
N
yn = ∑ wk a k x n − k , (1.11)
k =− N

окна wk , удовлетворяющие требованиям:


w0 = 1; w− k = wk , k = 1, K , N
. (1.12)
обладают существенной особенностью – количество отсчетов M = 2 N + 1 является нечетным.
При несимметричной форме записи уравнения цифрового фильтра:
M
yn = ∑ w′k a k x n−k , (1.13)
k =0

величина M может быть произвольной – это значит, что в частном случае M = 2 N + 1 окна wk и
wk′ связаны простым соотношением:
wk′ = wk + N , (1.14)
а связь между отсчетами wk , значениями a k и значениями ИХ аналогового фильтра h(t )
описывается соотношением (рис.9):
wk ak = ∆t h(k∆t ) . (1.15)
h(t )

0 t

wk a k

-2 -1 0 1 2 k
Рис.9
В другом частном случае – при M = 2 N - также можно потребовать, чтобы коэффициенты
фильтра сохраняли свойство четности. Однако при этом связь между отсчетами wk и
значениями ИХ аналогового фильтра h(t ) должна описывается несколько иным соотношением
(рис.10):
 1 
wk a k = ∆t h  k − N + ∆t ) . (1.16)
 2 

h(t )

0 t

wk a k

9
0 1 2 3 4 5 k
Рис.10
Заметим, что именно такой принцип выбора произвольного порядка фильтра (а не только
четного) используется в программе Matlab – как в пакетах sptool, fdatool, так и в отдельных
функциях. Поэтому в результате расчета КИХ-фильтров произвольного порядка всегда
получаются «центросимметричные» наборы коэффициентов.
В приводимых ниже аналитических выражениях весовые окна w(n∆t ) даны только в симметричной формах. Окна
в несимметричной форме будут приведены в лекции, посвященной применению окон при дискретном
преобразовании Фурье (ДПФ).
Прямоугольное весовое окно (окно Дирихле) и соответствующее спектральное окно:
c w L ( n ) = 1 для n = −N,K,−1, 0, 1,K, N; 0 для остальных n . (1.17)
Треугольное весовое окно (окно Бартлетта или Фейера) и соответствующее спектральное окно:
n
c w L (n ) = 1 − для n = −N, K ,−1, 0, 1, K , N; 0 для остальных n . (1.18)
N
Весовое окно Хэннинга (Ханна) и соответствующее спектральное окно:
2 n    n 
c w L ( n ) = cos  π  = 0,51 + cos π  для n = −N,K,−1, 0, 1,K, N; 0 для остальных n . (1.19)
 2N    N 
Весовое окно Хэмминга и соответствующее спектральное окно:

n 
c w L (n ) = 0,54 + 0,46 cos π  для n = −N, K,−1, 0, 1, K, N; 0 для остальных n . (1.20)
N 
Весовое окно Блэкмена:

n   2n 
c w L (n ) = 0,42 + 0,5 cos π  + 0,08 cos π для n = −N,K,−1, 0, 1,K , N; 0 для остальных n . (1.21)
N  N 
Весовое окно Ланцоша:

n 
sin π 
N 
c w L (n ) = для n = −N,K,−1, 0, 1,K , N; 0 для остальных n . (1.22)
n
π
N
«Симметричность» и «периодичность» окон
Выше рассматривались симметричные окна – именно такие окна обычно и применяют при цифровой фильтрации.
Позднее, однако, мы рассмотрим иной способ цифровой фильтрации – с применением алгоритмов ДПФ и БПФ,
где, в силу дискретности частоты (и, как следствие, периодичности функций времени), могут применяться и
несимметричные окна.
Несимметричное окно легко получить из симметричного, отбрасывая последний отсчет. Поскольку при
дискретизации частоты окно периодизируется, окно с оброшенным последним отсчетом называют
«периодическим». При достаточно больших N различие между «симметричными» и «периодическими» окнами не
должно быть заметным. Поэтому правильнее смотреть на данную ситуацию как на стремление к теоретической
полноте описания всех возможных ситуаций. Принципиального практического значения это различие вряд ли
имеет.
Тем не менее, в пакете Matlab (по крайней мере в его последних версиях) в функциях генерирования окон
предусмотрен параметр, позволяющий управлять периодичностью-симметричностью окон. Например, для окна
Ханна:
W = hann(N, ‘sflag’),
где строковый параметр ‘sflag’ может принимать два значения: ‘symmetric’ (принимается по умолчанию) или
‘periodic’. Аналогичен синтаксис практически всех остальных окон.
Критерии качества окон
Для сравнения окон между собой необходимо использовать некие критерии качества. При этом следует заметить,
что обычно сравнивают не сами окна, а их спектральные образы.

10
Следуя работе [1], приведем значения относительного уровня первого бокового лепестка некоторых наиболее
известных окон (табл.1.1).
Табл.1.1.
Тип окна Боковой лепесток
Прямоугольное -13 дБ = 0,224
Треугольное -27 дБ = 0,045
Ханна -32 дБ = 0,025
Хэмминга -43 дБ = 0,007
Блэкмена -58 дБ = 0,001

Пример 3. Применим треугольное окно к ИПХ фильтра 18-го порядка ( N = 9 ). ЧХ показана на рис.11.
% Частотнаиа хар-ка ФНЧ
a0=0.5; % нулевой коэффициент фильтра
ak=[0.3183 0 -0.1061 0 0.0637 0 -0.0455 0 0.0354];
fd=100;
dt=1/fd; % шаг дискретизации
N=9; % половина пориадка фильтра
r=1:N; % умножение на треугольное окно
ak(r)=ak(r).*(1-r/N);
df=0.02*fd; % шаг по частоте
f=-0.5*fd:df:1.5*fd; % диапазон частот
% расчет суммы
sum=0;
for k=1:N,
sum=sum+ak(k)*cos(2*pi*f*k*dt);
end;
H=a0+2*sum; % частотнаиа хар-ка
plot(f,H) % построение графика
Рис.11
grid on % построение сетки

Как и следовало ожидать, осцилляции уменьшились, однако за это пришлось “заплатить” уменьшением крутизны
склонов ЧХ в районе частоты среза.

Контрольные вопросы:
1. Что называется нерекурсивным цифровым фильтром ?
2. Что является отличительной особенностью НЦФ ?
3. Что характеризует порядок НЦФ ?
4. Чем обусловлена задержка выходного сигнала в НЦФ ?
5. Почему НЦФ называют фильтром с конечной импульсной характеристикой (КИХ- или FIR-
фильтром ?
6. Что называется относительной частотой среза ?
7. Что называется всечастотным фильтром ?

11
Часть 2. Рекурсивные цифровые фильтры (РЦФ или IIR)

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


времени зависят не только от отсчетов входного сигнала, но и от отсчетов выходного сигнала
в предшествующие моменты времени. В общем случае уравнение РЦФ записывают в виде:
N M
y (n) = ∑ a k x(n − k ) − ∑ bk y (n − k ) (2.1)
k =0 k =1
Большее из двух чисел M и N определяет порядок фильтра. Структурная схема, реализующая
алгоритм (2.1), приведена на следующем рисунке:
xn a0 yn

x n −1 a1 b1 y n −1-1
z-1 z

x n −2 a2 b2 y n −2
z -1 z-1

z-1 z-1

x n −N aN bM x n −M
z -1 z-1

На простейших примерах можно показать, что ИПХ рекурсивного фильтра бесконечна, поэтому
такой фильтр именуют БИХ- или IIR (infinite impulse response) фильтром. Действительно, пусть
уравнение РЦФ имеет вид:
y n = x n + 0,5 y n−1 .
Подадим на такой фильтр единичный импульс:
1, n = 0,
x n = x0 = 
0, n = 0.
Поскольку в моменты времени, предшествующие n = 0 , фильтр не был возбужден, т.е. y −1 = 0 ,
получаем:
n = 0 : x0 = 1; y 0 = x0 + 0,5 y −1 = x0 = 1;
n = 1 : x1 = 0; y1 = x1 + 0,5 y 0 = 0,5;
n = 2 : x2 = 0; y 2 = x 2 + 0,5 y1 = 0,25;
и т.д., т.е. ИПХ длится бесконечно долго.
Для получения передаточной функции рекурсивного фильтра принято использовать Z-
преобразование:

X ( z) = ∑ xn z −n .
n = −∞
Умножая y (n) на b0 = 1 и подвергая обе части уравнения (2.1) Z-преобразованию, получим
∞ M    ∞ N
∑  ∑ bk y (n − k )z − n = ∑  ∑ a k x (n − k )z − n .
n = −∞  k = 0  n = −∞  k = 0 
Поскольку в уравнении (2.1) принято
ak = 0 при k<0 и k>N,
bk = 0 при k<0 и k>M,
можно расширить границы суммирования до ± ∞ :

12
∞  ∞  ∞  ∞

∑  ∑ bk y (n − k ) z − n = ∑  ∑ ak x(n − k )z − n
n = −∞  k = −∞  n = −∞  k = −∞ 
или
∞ ∞ ∞ ∞
∑ bk z − k ∑ y (n − k ) z −(n− k ) = ∑ ak z −k ∑ x (n − k ) z −(n− k )
k = −∞ n = −∞ k =∞ n = −∞
Обозначив m = (n - k), получим
∞ ∞ ∞ ∞
∑ bk z −k
∑ ym z −m
= ∑ anz −k
∑ xm z −m

k = −∞ m = −∞ k = −∞ m = −∞
или в компактном виде

B(z) Y(z) = A(z) X(z),

где A(z), B(z), X(z), Y(z) - Z-преобразования соответствующих числовых последовательностей.


Отсюда следует, что Z-преобразование передаточной функции фильтра (т.е. отношения
выходной реакции ко входному воздействию) имеет вид:

Y (z) A(z) a 0 + a1 z −1 + a 2 z −2 + K + a N z − N
H (z) = = =
b 0 + b1 z − 1 + b 2 z − 2 + K b M z − M
д
X (z) B (z)
(2.2)

После подстановки в (2.2) z = exp( jωTд ) получим передаточную функцию в явном виде, т.е. в
виде зависимости коэффициента передачи от частоты:
H д ( jω ) = H д ( z = exp( jω Tд )) .
Коэффициент передачи - периодическая функция частоты с периодом 2π Tд .
В частном случае нерекурсивного фильтра
∞ 0
B( z ) = ∑ bn z −n = ∑ bn z −n = b0 = 1
n = −∞ n=0
и

H д ( jω ) = A( z = exp( jω Tд )) = ∑ ak exp(− jωnTд ) .
n = −∞
Расчет рекурсивных цифровых фильтров. Расчет (проектирование) рекурсивных фильтров
существенно сложнее расчета нерекурсивных фильтров. Существует большое количество
различных методик, однако многие из них расчитаны на высококвалифицированных
профессионалов в области фильтрации сигналов, знакомых как с методиками проектирования
аналоговых фильтров, так и с областью математического анализа, посвященной
преобразованиям Лапласа, Z-преобразованиям, теории вычетов.
Поскольку мы хотим получить начальное представление о расчете РЦФ, ограничимся
рассмотрением наиболее простой и популярной методики, именуемой «частотное
преобразование» [1,2].
Сущность этой методики состоит в трансформации передаточной характеристики H д ( z * )
некоего ФНЧ, именуемого «ФНЧ-прототип», в передаточную характеристику H д ( z ) нужного
фильтра (НЧ, ВЧ, полосового, режекторного), с последующей заменой z = exp( jωTд ) .
Представим такую методику в виде последовательности “шагов”:

13
Шаг 1: Исходя из требований к качеству проектируемого фильтра (гладкость в полосе
пропускания, фазовая характеристика, допустимый уровень пульсаций в полосах пропускания и
запирания), выбирают тип фильтра и порядок фильтра N. При этом следует знать:
ФНЧ Баттерворта обеспечивает максимально плоскую характеристику в зоне пропускания,
однако плохо передает фронты прямоугольных импульсов. Крутость переходной зоны (из
полосы пропускания в полосу запирания) растет с увеличением N.
ФНЧ Бесселя обеспечивает линейность фазовой характеристики в зоне пропускания, что
хорошо для фильтрации прямоугольных имульсов (малые выбросы на фронтах отфильтровных
импульсов), крутость переходной зоны меньшая, чем у фильтров Баттерворта.
ФНЧ Чебышева обеспечивает фиксированную пульсацию в зоне пропускания (фильтры типа I)
или в зоне запирания (фильтры типа II). Плохо передает фронты прямоугольных импульсов.
Крутость переходной зоны большая, чем у фильтров Баттерворта и Бесселя.
ФНЧ Кауера имеет пульсацию как в зоне пропускания, так и в зоне запирания. Плохо передает
фронты прямоугольных импульсов. Крутость переходной зоны большая, чем у фильтров
Баттерворта и Бесселя.
Шаг 2. После выбора типа фильтра обращаются к одной из таблиц фильтров-прототипов, из
которых выбирают числовые значения коэффициентов a k и bk . К таким таблицам «привязан»
также числовой параметр f д* f c* - отношение частоты дискретизации к частоте среза фильтра-
прототипа. В [1] предлагаются таблицы для f д* f c* = 4 , имеющие вид:
Таблица 2.1. Коэффициенты для прототипов ФНЧ Баттерворта N-го порядка
N i a 0i a1i a 2i b1i b2i
1 1 0,5 0,5 0 0 0
2 1 0,2929 0,5858 0,2929 0 0,1716
1 0,5 0,5 0 0 0
3
2 0,3333 0,6667 0,3333 0 0,3333

Таблица 2.2. Коэффициенты для прототипов ФНЧ Бесселя N-го порядка


N i a 0i a1i a 2i b1i b2i
1 1 0,5 0,5 0 0 0
2 1 0,3356 0,6712 0,3356 0,2564 0,0806
1 0,5695 0,5695 0 0,1390 0
3
2 0,4037 0,8075 0,4037 0,4222 0,1928

Таблица 2.3. Коэффициенты для прототипов ФНЧ Чебышева I-го типа


N-го порядка с пульсацией 11% (1дБ)
N i a 0i a1i a 2i b1i b2i
1 1 0,5 0,5 0 0 0
2 1 0,2595 0,5190 0,2595 -0,2862 0,3242
3 1 0,3110 0,3110 0 -0,3780 0
2 0,3636 0,7273 0,3636 -0,1496 0,6042

14
Таблица 2.4. Коэффициенты для прототипов ФНЧ Кауэра N-го порядка
с пульсацией 15% (1,5дБ)
N i a 0i a1i a 2i b1i b2i
1 0,3306 0,3306 0 -0,3389 0
3
2 0,4898 0,6612 0,4898 -0,0219 0,6627
1 0,1851 0,2397 0,1851 -0,5678 0,1778
4
2 0,4347 0,8693 0,4347 -0,0215 0,7602
Рассматривая таблицы, нетрудно видеть что коэффициенты зависят также от некоего индекса i
- номера каскада. Дело в том, что рекурсивные фильтры порядка N>2 принято получать путем
последовательного соединения фильтров 2-го порядка. Поэтому если передаточная функция
фильтра-прототипа 2-го порядка имеет вид:
a0* + a1* z *−1 + a 2* z *−2
H д (z ) = *
*
,
b0 + b1* z *−1 + b2* z *−2
то передаточная функция фильтра-прототипа более высокого порядка получается как
произведение передаточных характеристик P частных фильтров:
P
a * + a1*i z *−1 + a 2*i z *− 2
H д ( z * ) = ∏ 0*i * *−1 * *−2
.
b
i =1 0i + b 1i z + b 2i z
Шаг 3. Исходя из требуемого соотношения fс f д (при расчете НЧ или ВЧ фильтра) либо
требуемой пары соотношений f с1 f д и f c2 f д , f c1 < f c 2 (при расчете полосового или
режекторного фильтра), заменяют переменную z * на функцию переменной z , для чего
используют соотношения из таблицы 2.5.
Таблица 2.5
ФНЧ → ФНЧ z −1 − d sin(πf с* f д* − πf с fд )
*−1
z = , d=
1 − dz −1 sin(πf с* f д* + πf с fд )

ФНЧ → ФВЧ z −1 + d cos(πf с* f д* + πf с f д )


*−1
z = , d=
1 + dz −1 sin(πf с* f д* − πf с f д )

ФНЧ → полосовой 2dk −1 k − 1


z −2 − z +
фильтр
z *−1 = k + 1 k + 1 , d = cos(πf с1 f д + πf с2 f д )
k − 1 −2 2dk −1 cos(πf с2 f д − πf с1 f д )
z − z +1
k +1 k +1
k = ctg (πf с2 f д − πf с1 f д )tg πf с* f д*
ФНЧ → режекторный 2d −1 1 − k
z −2 − z +
фильтр
z *−1 = k + 1 k + 1 , d = cos(πf с1 f д + πf с2 f д )
1 − k −2 2d −1 cos(πf с2 f д − πf с1 f д )
z − z +1
k +1 k +1
k = tg (πf с2 f д − πf с1 f д )tg πf с* f д*

15
Шаг 4. Полученное аналитическое выражение передаточной характеристики H д ( z ) упрощают
так, чтобы в числителе и знаменателе оказались полиномы переменной z −1 .
Шаг 5. Числитель и знаменатель функции H д ( z ) делят на такое число, чтобы выполнялось
условие b0 = 1 . Результирующие коэффициенты в числителе и знаменателе (после такой
нормировки) и образуют искомые множества коэффициентов a k и bk .

Шаг 6. В аналитическом выражении для H д ( z ) производят замену z = exp( jωTд ) , получая


таким образом частотную характеристику H д ( jω ) = H д ( z = exp( jωTд )) синтезированного
фильтра. АЧХ фильтра получают как корень квадратный из суммы квадратов действительной и
мнимой частей комплексной функции H д ( jω ) .
В случае, когда полученная АЧХ не устраивает пользователя, производят пересчет
коэффициентов для другого типа фильтра либо увеличивают порядок фильтра.
Контрольные вопросы
1. В чем заключается принципиальное отличие рекурсивных цифровых фильтров от
нерекурсивных ?
2. Как влияет порядок фильтра на его характеристики (крутизну подъема или спада АЧХ,
величину пульсаций)?
3. Как понять термин “бесконечная импульсная характеристика” фильтра?
4. Почему фильтры Баттерворта называют фильтрами с “максимально гладкой
характеристикой”?
5. В чем смысл и полезность Z-преобразования для анализа и расчета цифровых фильтров?

Литература
1. Е. Шрюфер, Обробка сигналів. Цифрова обробка дискретизованих сигналів. Київ, Либідь,
1992. –294с.
2. Введение в цифровую фильтрацию. Под ред.Р.Богнера и А.Констандинидиса. – М., Мир,
1976 – 216с.

16

Вам также может понравиться