- •Лекция № 14
- •Реализация алгоритмов цифровой фильтрации
- •Реализация алгоритмов цифровой фильтрации
- •Реализация алгоритмов цифровой фильтрации
- •Реализация алгоритмов цифровой фильтрации
- •Реализация алгоритмов цифровой фильтрации
- •Реализация алгоритмов цифровой фильтрации
- •Реализация алгоритмов цифровой фильтрации
- •Реализация алгоритмов цифровой фильтрации
- •Реализация алгоритмов цифровой фильтрации
- •Реализация алгоритмов цифровой фильтрации
Лекция № 14
Реализация алгоритмов цифровой фильтрации
Графическим представлением алгоритмов цифровой фильтрации являются структурные схемы. Структурную схему дискретной системы можно составить либо по разностному уравнению, либо с помощью системной (передаточной) функции. Для нерекурсивных фильтров уравнение дискретной фильтрации имеет вид:
|
m |
y(k) bj x(k j) b0 x(k) b1x(k 1) ... bm x(k m) |
|
(14.1) |
j 0 |
|
Этому
(14.2)
уравнению соответствуетmпередаточная функция:
H (z) bj z j
j 0
m
Количество используемых предыдущих отсчетов |
называют порядком |
фильтра. |
|
Реализация алгоритмов цифровой фильтрации
•Построим структурную схему, реализующую алгоритм уравнений (14.1) и (14.2) в виде прямой формы.
x(k)
|
|
|
z 1 |
|
|
|
z 1 |
|
|
|
z 1 |
|
|
|
|
|
|
|
|
z 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
b |
b1 |
b |
|
|
|
|
|
|
|
|
|
b |
||||||||||
0 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
m |
y(k)
Рис.14.1
Реализация алгоритмов цифровой фильтрации
• Схема содержит m элементов задержки z 1 на один шаг |
|
дискретизации, осуществляющих запоминание отсчетов сигнала на |
bj |
время T 1 fд , (m 1) умножителей на постоянные коэффициенты |
и многовходовый сумматор . Очевидно, что в реальном устройстве линия задержки содержит конечное число элементов, поэтому импульсная характеристика такого фильтра является конечной по длительности (КИХ-фильтр).
•Простота анализа и реализации, а также наглядная связь коэффициентов фильтра с отсчетами его импульсной характеристики и абсолютная устойчивость привели к тому, что нерекурсивные фильтры широко применяются на практике. Однако для получения хороших частотных характеристик (например, полосовых фильтров с высокой прямоугольностью АЧХ) необходимы нерекурсивные фильтры высокого порядка – до нескольких сотен и даже тысяч.
Реализация алгоритмов цифровой фильтрации
•Рассмотрим возможные варианты синтеза структур на примере рекурсивных фильтров. Разностное уравнение таких фильтров в общем
случае имеет вид:
|
|
m |
|
n |
|
|
|
|
|
|
|
y(k) bj x(k j) ai y(k i) |
|
|
|||||||
|
|
j 0 |
|
i 1 |
|
|
|
|
|
|
• |
а системная функция записывается так: |
|
|
|
|
|||||
|
|
m |
|
|
|
|
|
|
|
|
|
|
bj z |
j |
b0 b1z |
1 |
b2 z |
2 |
... bm z |
m |
|
|
H (z) |
j 0 |
|
|
|
|
|
|||
• |
|
n |
i |
1 a1z 1 a2 z 2 |
... an z n |
(14.3) |
||||
|
|
ai z |
|
|
|
|
|
|
|
i1
•Степени полиномов в числителе и знаменателе могут совпадать, а могут различаться, но в любом случае n m . Простая структура реализации разностного уравнения, отвечающая прямой форме реализации приведена на рис. 14.2.
Реализация алгоритмов цифровой фильтрации
Рис.14.2
x(k) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
z 1 |
|
|
|
|
z 1 |
|
|
|
|
z 1 |
|
|
|
|
|
|
|
|
|
z 1 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
b |
|
b |
|
|
|
|
b2 |
|
|
|
|
b3 |
|
|
|
|
|
|
|
|
|
bm |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
0 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y(k) |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
an |
a |
a |
|
|
|
a1 |
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
||||||||||||||||
|
|
3 |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
z 1 |
|
|
|
|
|
|
|
|
|
|
|
z 1 |
|
|
|
z 1 |
|
|
|
z 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Реализация алгоритмов цифровой фильтрации
•Прямая форма реализации состоит из двух частей: верхняя часть отображает первую сумму алгоритма фильтрации и полностью соответствует структуре нерекурсивного линейного фильтра, а нижняя часть – вторую сумму алгоритма (14.3) и представляет собой ветвь отрицательной обратной связи. Структурная схема
содержит (n m) элементов задержки на шаг
дискретизации, |
(n m 1) |
умножителей на постоянные |
коэффициенты |
ai , bj |
, а также многовходовый |
сумматор. Прямая форма реализации фильтра проста, наглядна, полностью соответствует системной функции и не требует повышенной разрядности линий задержки.
Реализация алгоритмов цифровой фильтрации
• Запишем системную функцию фильтра в виде:
|
Y (z) |
|
1 |
m |
z j |
|
|
|
|
H (z) |
|
b |
H |
(z) H |
(z) |
||||
|
n |
||||||||
|
X (z) |
j |
|
1 |
2 |
|
|||
|
ai z i |
j 0 |
|
|
|
|
• Цифровой фильтр, соответствующий формуле (14.5), состоит из двух
i 1
последовательно соединенных фильтров с функциями передачи соответственно
и. Первый фильтр имеет только полюсы, а второй – только нули.
Выразим |
и |
с помощью вспомогательной функции |
|
: |
||||
|
|
|
|
H1(z) |
H2 (z) |
|
||
|
H1(z) |
H2 (z) |
|
|
|
|
|
|
|
W (z) |
1 |
; |
H2 (z) Y (z) bj z j |
||||
H1 (z) W (z) |
||||||||
|
|
|
|
|
|
|
m |
|
|
|
|
|
W (z) |
|
|
|
|
|
X (z) |
n |
|
|
j 0 |
|
||
|
ai z i |
|
|
|
|
|
|
|
• |
|
i 1 |
|
|
|
|
|
|
Реализация алгоритмов цифровой фильтрации
•Соотношениям слайда № 7 соответствует пара следующих разностных уравнений (в предположении, что коэффициент
a0 1 ): |
n |
|
w(k) x(k) ai w(k i); |
|
|
|
|
|
|
i 1 |
|
|
m |
|
. |
y(k) bj w(k j) |
|
|
j 0 |
|
Структура реализации этих разностных уравнений |
(при |
|
условии, что |
n m N ) показана на рис. 14.3. Ее называют |
|
прямой формой № 2 (неканонической). Однако, поскольку в |
||
ветвях, соответствующих H1(z) и H2 (z) , сигнал |
w(k) |
задерживается одинаково, то для построения фильтра достаточно использовать один набор элементов задержки.
Реализация алгоритмов цифровой фильтрации
x(k) b0 y(k) x(k) b0 y(k)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
b1 |
|
|
|
a |
|
|
|
|
|
b1 |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
z |
1 |
|
z |
1 |
|
|
|
|
|
z |
1 |
|
||||||||||||||||||||||||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
b2 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
a2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
z |
1 |
|
|
z |
1 |
|
|
|
|
|
a2 |
|
z |
1 |
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bN |
|
|
|
|
|
|
|
|
|
|
|
|
bN |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
aN |
z 1 |
|
z 1 |
|
|
|
|
aN |
|
z 1 |
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 14.3 |
Рис. 14.4 |
Реализация алгоритмов цифровой фильтрации
• Записав формулу (14.5) в виде:
H (z) Y (z) b0 K Hi (z) X (z) i 1
•получим еще одну структуру построения цифрового фильтра, называемую последовательной, или каскадной
(рис. 14.5).
x(k) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y(k) |
|||
H1 |
(z) |
|
|
H2 (z) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HK (z) |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 14.5