Реализация КИХ

advertisement
Лабораторная работа 5
Тема: Проектирование и реализация частотно-избирательных КИХ-фильтров на
основе метода взвешивания импульсной характеристики
Теоретические предпосылки
Линейные цифровые фильтры: КИХ-фильтры и БИХ-фильтры
Цифровой фильтр - специализированное устройство либо программная процедура,
преобразующая входные цифровые сигналы в выходные. ЦФ разделяют на линейные и
нелинейные. Линейные ЦФ – те, которые реализуется согласно схемам дискретной ЛППсистемы, нелинейные ЦФ – фильтры, реализация которых отличается от схемы ЛППсистемы. На практике наиболее часто используют линейные ЦФ.
Напоминаем, что сигнал на выходе дискретной ЛПП системы определяется в форме
дискретной свертки входного сигнала с импульсной характеристикой бесконечной
длительности :
y(n) 

 xm hn  m  
m  

 hm xn  m  ,
(1)
m  
где xn  - входной сигнал, yn  - выходной сигнал, h n , n   ,  - импульсная
характеристика. Обратите внимание, что в общем случае импульсная характеристика имеет
бесконечную длительность и в сторону отрицательных значений временного индекса n, и в
сторону положительных значений n.
ЛПП-система называется физически реализуемой, если выход системы yn  не
зависит от будущих значений входного сигнала xn  . Это условие выполняется, если
hn   0 при n  0 . В этом случай формулу (1) можно переписать в виде:

y ( n )   h m x n  m 
(2)
m 0
Известно, что дискретная ЛПП – система может быть описана одной из трех
следующих взаимосвязанных характеристик.
1. Уже упоминавшаяся импульсная характеристика
h n , n   ,  ,
которая есть выходной сигнал системы при подаче на ее вход тестового сигнала –
“единичный импульс”.
2. Частотная характеристика (Фурье-преобразование импульсной характеристики)

H e j  
 hn e
 jn
,     ,   либо   0,2  .
n  
3. Передаточная функция (Z-преобразование импульсной характеристики)
H z  

 hn z
n
.
n  
Соответственно, задача проектирования линейного ЦФ может быть сформулирована
как задача нахождения способа реализации в виде цифрового устройства либо компьютерной
программы дискретной ЛПП-системы, которая имела бы наперед заданные либо
импульсную характеристику hn  , либо частотную характеристику H e j  , либо
передаточную функцию H z  . В большинстве случаев требуется проектировать фильтры с
заданной частотной характеристикой H e j  . Частотную характеристику можно записать в
виде H e j   A e iФ   , где A   H e j  - амплитудно-частотная характеристика (АЧХ),
 Im H e j  
 - фазово-частотная характеристика (ФЧХ). Наиболее часто
Ф   arctan 
j 


Re
H
e


требуется проектировать частотно-избирательные цифровые фильтры, т.е. фильтры,
полностью пропускающие гармонические компоненты входного сигнала для одних
диапазонов частот и полностью задерживающие для других диапазонов частот. Очевидно,
частотно-избирательные свойств должны формулироваться применительно к АЧХ.
Известны четыре базовых типа идеальных частотно-избирательных ЦФ.
1. Низкочастотный фильтр (НЧ-фильтр)
1
,   c
A   
,
0 ,  c    
(3)
где  c - частота среза.
2. Высокочастотный фильтр (ВЧ-фильтр)
0
,   c
A   
,
1 ,  c    
(4)
где  c - частота среза.
3. Полосовой фильтр (П-фильтр)
0 ,   1 , 2    
A   
,
, 1    2
1
где 1 , 2 - нижняя и верхняя частоты среза.
4. Режекторный фильтр (Р-фильтр)
1 ,   1 , 2    
A   
,
0
,





1
2

(5)
(6)
где 1 , 2 - нижняя и верхняя частоты среза.
К ФЧХ частотно-избирательного фильтра обычно предъявляют требование
линейности по частоте:
(7)
Ф     .
Это требование обеспечивает очень важное свойство постоянства групповой задержки
всех частотных компонент входного сигнала :
dФ 
   
 const .
(8)
d
После задания требований к линейному ЦФ необходимо в первую очередь выбрать
одну из двух базовых схем реализации:
1. Фильтр с конечной импульсной характеристикой (КИХ)-фильтр
M 1
~
y ( n )   h m x n  m 
(9)
m 0
2. Фильтр с бесконечной импульсной характеристикой (БИХ-фильтр) ), реализуемый в
форме линейного разностного уравнения
N
M
i 0
i 1
y n    bi x n  i    ai y n  i 
(10)
Обе схемы могут быть легко реализованы в виде компьютерной программы, если
известны параметры: для КИХ–фильтра - длина фильтра M и собственно конечная
~
импульсная характеристика h m  ; для БИХ–фильтра – порядок фильтра (N,M) и
коэффициенты ai , bi . Если схема выбрана, то задача проектирования состоит в подборе
соответствующих параметров, при которых частотная характеристика полученного фильтра
H реал e j (или отдельно АЧХ и ФЧХ) будет в максимальной степени похожа на требуемую
 
частотную характеристику H идеал e j  . Требование наибольшей “похожести” может быть
сформулировано как условие минимизации некоторой меры различия между тем “что
хотели” и тем “что получилось”  H реал , H идеал  . Чаще всего, это либо квадратичная мера
различия либо «равномерная» (минимаксная).
Есть общее мнение, что в общем случае БИХ-фильтры более эффективные, позволяя
добиться требуемого качества приближение к требуемым параметрам фильтра при меньших
затратах (меньшем числе коэффициентов). Однако в том случае, если требуется частотноизбирательная фильтрация с линейной фазовой характеристикой, рекомендуется применять
КИХ-фильтры.
Вот на этой задаче – проектирования частотно-избирательных КИХ-фильтров с
линейной фазой мы сосредоточимся.
Итак, требуется спроектировать КИХ-фильтр с АЧХ A  вида (3-7) и ФЧХ Ф  ,
удовлетворяющей условию (7). Будем считать, что с длиной фильтра N (длиной конечной
импульсной характеристики) мы уже определились, понимая, что чем больше N – тем
лучшее приближение к идеальной АЧХ потенциально мы можем достичь, но ценой больших
вычислительных затрат и большей временной задержки между выходным и входным
сигналами.
Можно показать, что условие (7) автоматически соблюдается в том случае, если
~
импульсная характеристика h n  симметрична либо антисимметрична относительно своей
середины. При этом временная задержка (8) фильтра для всех частот постоянна и равняется
dФ 
N 1
   
 
, т.е. ровно половине длины фильтра, что представляется логичным.
d
2
Параметр  при этом принимает одно из двух возможных значений :   0 (симметричная

импульсная характеристика) либо    (антисимметричная импульсная характеристика).
2
В теории ЦОС известны три группы методов проектирования КИХ-фильтров с
линейной фазой.
1. Метод взвешивания импульсной характеристики.
Идея метода очень простая. Зная вид требуемой ЧХ H e j   A e j     , можно
аналитически рассчитать импульсную характеристику бесконечной длительности физически
нереализуемой ЛПП системы, вычислив интеграл вида:

1
(11)
H e j e jn d , n   ,  .

2 
NB. Для упрощения следует временно положить   0 , т.е. пока рассматривать
физически нереализуемый фильтр с нулевой временной задержкой. Параметр  следует
задавать таким образом:
для НЧ и полосовых фильтров   0 ,
 
 2 ,  0
для ВЧ и режекторных фильтров   
.


,  0
 2
При этом, если A  - симметрична относительно нулевой частоты, а в случаях (3-6)
это именно так, то импульсная характеристика также симметрична (НЧ, П) либо
антисимметричная (ВЧ, Р) относительно нулевой частоты.
N 1
Далее следует ограничить эту характеристику слева и справа, оставив по
2
N 1
отсчетов, затем сдвинуть полученную ограниченную последовательность вправо на
2
отсчетов, что в частотной области соответствует умножению частотной характеристики на
hn  
j
j
N 1

2
e
недостающий множитель e
. В результате получим симметричную относительно
своего центра импульсную характеристику физически реализуемой ЛПП системы конечной
~
длительности N: h n , n  0, N  1 . Условие линейности ФЧХ будет автоматически
соблюдено.
Описанная процедура ограничения длительности импульсной характеристики может
быть представлена как результат умножения бесконечной ИХ на прямоугольное
взвешивающее окно
N 1

1 , n  2
,
(12)
wR n   
N 1
0 n 

2


~
h n   h n wR n  .
(14)
Реальная AЧХ полученного таким образом фильтра будет определяться сверткой
идеальной АЧХ с Фурье-преобразованием окна (12) :

1
(15)
Aреал   
Aидеал  WR    d ,
2 
 N 
sin 

2 

 jn
WR     w R n e

.
(16)
 
n  
sin  
2
Функция (16) имеет центральный лепесток и весьма продолжительные пульсации при
положительных и отрицательных частотах. Свертка частотно-избирательных АЧХ с такой
функцией приводит к тому, что размываются полосы среза, а в полосах пропускания, и, что
особенно критично, непропускания, проявляются заметные пульсации. Такие артефакты в
принципе проявляются при всех метода проектирования КИХ-фильтров, но в данном случае

проблема очень мощных пульсаций в полосе непропускания фильтра делает этот метод
проектирования просто неприемлемым. К счастью, проблему больших пульсаций, можно в
значительной степени снять, применив вместо прямоугольной взвешивающей функции (12)
другие функции, Фурье-спектры которых не имеют мощных пульсаций. В частности, очень
хорошим является окно Хэмминга

N 1
 2n 
  1   cos N  , n  2


,   0.54
(17)
wH n   
N 1

0
n

2
Есть еще ряд хороших окон, в частности, окно Кайзера, но мы его приводить здесь не
будем.
2. Метод “частотной” выборки
~
Идея такова. Конечная импульсная характеристика h n , n  0, N  1 длины N
формально может быть получена как ОДПФ от некоего набора коэффициентов ДПФ
H k , k  0, N  1 :
2
j kn
1 N 1
~
(18)
h n    H k e N
N k 0
Известно, что коэффициенты ДПФ всякой конечной последовательности, являются
2
отсчетами непрерывного Фурье-спектра этой последовательности, взятыми с шагом
:
N
 j 2 k 
H k   H e j  2  H  e N  .
(19)
 k
N


Мы, имея аналитически заданную требуемую частотную характеристику как
2
непрерывную функцию частоты, могли бы взять ее отсчеты с шагом
и сформировать
N
массив N коэффициентов ДПФ H k , k  0, N  1 . После этого, применив (18), мы
~
«восстановим» конечную импульсную характеристику h n , n  0, N  1 , которую будем
использовать для фильтрации всяких сигналов. Более того, зная, что КИХ-фильтры можно
эффективно реализовать на основе процедуры ДПФ-БПФ, мы можем даже и не
~
h n  , а прямо использовать ДПФ H k  . Это чрезвычайно
восстанавливать
соблазнительный подход. Но !!! Следует иметь ввиду, что и требуемая частная
характеристика H идеал e j  и фактически полученная частотная характеристика такого
 
фильтра H реал e j все же являются непрерывными функциями частоты. Совпадая в
конечном множестве N значений, эти характеристики могут существенно различаться в
промежутках. Особенно это критично для частотно избирательных фильтров, где H реал e j
в этих промежутках, особенно вблизи частот среза, содержит очень мощные пульсации,
тогда как требуемый идеальный фильтр H идеал e j  не должен содержать никаких пульсаций
ни в полосах пропускания, ни в полосах непропускания. Чтобы бороться с этими
нежелательными пульсациями метод “частотной выборки” дополняют следующим приемом.
Вблизи полосы среза два или три частотных отсчета ДПФ объявляют “свободными” и
формулируют задачу минимизации меры расхождения  H реал , H идеал  , например, в полосе
непропускания путем подбора оптимальных значений “свободных” отсчетов ДПФ.
 
Очевидно, при этом мы сознательно несколько размываем частоту среза, но при этом можем
существенно снизить эффект нежелательных пульсаций.
3. Проектирование оптимальных КИХ-фильтров с минимаксной ошибкой
Это наиболее эффективная группа методов проектирования частотно-избирательных
КИХ-фильтров. Отправной точкой является задача поиска импульсной характеристики
~
h n , n  0, N  1 , обеспечивающей минимум максимального отклонения идеальной и
реальной в заданной системе полос A
~
hоптим n   arg min
max Q   H реал    H идеал  
(20)
~
h n 
A
Здесь Q  - весовая функция, задающая жесткость требований к возможным
отклонениям ЧХ для разных диапазонов частот. Чебышевым было показано, что для всех
возможных видов КИХ-фильтров с линейной фазой (если помните лекции, это фильтры
видов 1, 2, 3 и 4) минимаксная ошибка достигается в том случае, если все пульсации
являются равновеликими. Эта идея позволила советскому математику Ремезу предложить и
реализовать эффективную численную методику решения задачи проектирования КИХ
фильтров с минимаксной Чебышевской ошибкой, которая начиная с 1960-х годов включена
во все программные пакеты по ЦОС.
Реализация КИХ-фильтров
Будем считать, что проблема проектирования КИХ-фильтра с заданными
~
свойствами уже решена, т.е. найдена конечная импульсная характеристика h n , n  0, M  1
длины M, использование которой обеспечит приемлемое качество воспроизведения
требуемых свойств фильтра.
После этого встает задача реализации фильтра, т.е. создания технического
устройства либо программы, на вход которой будут поступать произвольные цифровые
сигналы xn  , а на выходе будет формироваться выходной сигнал yn  в соответствии со
схемой физически реализуемой ЛПП системы с импульсной характеристикой
~
h n , n  0, M  1 .
Какие требования к этапу реализации фильтра могут быть предъявлены ? Таких
основных требований два:
1) обеспечение высокой скорости выполнения фильтрации;
2) минимизация ошибок, связанных с ограниченной точностью представления
дискретных сигналов в цифровой системе (критично в случае реализации фильтра
в виде цифрового устройства).
Как следует реализовать (запрограммировать) работу КИХ-фильтра (9) ? Можно
условно выделить три базовые схемы реализации КИХ-фильтров.
1. КИХ-фильтр на основе прямой реализации формулы линейной свертки (9):
M 1
~
y ( n )   h m x n  m  .
(21)
m 0
Достоинство: простота реализации. Недостаток – при больших длинах входной
реализации N и импульсной характеристики M общее время фильтрации пропорционально
N  M операций умножения и сложения и может оказаться неприемлемо долгим.
2. КИХ-фильтр на основе реализации свертки (9) в частотной области с помощью
процедуры БПФ:
Пусть входной сигнал xn  имеет длину N1 , а импульсная характеристика hn  длину N 2 . Выходной сигнал yn  , рассчитанный в соответствии с (21) является конечным и
имеет длину N1  N 2  1 отсчетов. Для расчета (21) может использоваться алгоритм на
основе ДПФ-БПФ, включающий следующие шаги :
Шаг 1. Дополнение сигналов hn  и xn  нулями до ближайшей к N1  N 2  1 степени двойки
.
Шаг 2. Вычисление БПФ X k , H k  расширенных сигналов hn  и xn  .
Шаг 3. Расчет БПФ выходного сигнала Y k   X k H k 
Шаг 4. Расчет выходного сигнала yn  с помощью обратного БПФ
Шаг 5. Ограничение длительности выходного сигнала yn  первыми N1 отсчетами.
Достоинство алгоритма: более высокая скорость расчета при больших N1 и N 2 , чем
скорость предыдущего алгоритма.
3. КИХ-фильтр на основе алгоритмов секционированных сверток
Актуален, когда N1  N 2 и при функционировании системы «в реальном времени».
Алгоритмы секционированных сверток подробно описывались на лекциях.
Задания к работе 5
1. Написать функции проектирования частотно-избирательных КИХ-фильтров с линейной
фазой на основе вышеописанного метода взвешивания импульсной характеристики:
а) низкочастотного :
FIR_LF(w1,N,Window,h)
б) высокочастотного:
FIR_HF(w1,N,Window,h)
б) полосового:
FIR_BF(w1,w2,N,Window,h)
б) высокочастотного:
FIR_RF(w1,w2,N,Window,h)
Параметры:
w1,w2 – требуемые нижняя и верхняя частоты среза АЧХ, см. (3-6);
M – длина рассчитываемой импульсной характеристики h n , n  0, M  1 (M - нечетное);
Window – индикатор взвешивающего окна (1 – прямоугольное (12); 2 – Хэмминга (17) );
h(N) - импульсная характеристика спроектированного фильтра.
2. Написать функцию, реализующую
характеристикой :
FIR-Filter (x,N1,h,N2,y,mode)
КИХ
Параметры:
X(N1) – входной сигнал длины N1;
h(N2) – импульсная характеристика длины N2;
Y(N1+N2-1) - выходной сигнал фильтра
фильтрацию
с
заданной
импульсной
Mode – параметр, определяющий способ фильтрации (1 – прямой расчет по формуле (21), 2 –
расчет с использованием процедуры БПФ).
3. Реализовать программную систему для проведение частотно-избирательной фильтрации
модельных и реальных цифровых сигналов с использованием КИХ-фильтров,
рассчитанных на основе метода взвешивания импульсной характеристики.
Программа должна обеспечивать следующие возможности.




Здание вида требуемого фильтра (НЧ, ВЧ, П, Р) и всех его параметров : длины
фильтра M (нечетное), частот среза w1,w2, типа взвешивающего окна (прямоугольное
либо Хэмминга).
Проектирование фильтра (расчет его импульсной характеристики h n , n  0, M  1 ) )
Отображение импульсной характеристики фильтра.
Расчет и отображение амплитудно-частотной характеристики A  в достаточно
2
K
(K=1024 либо 2048) с помощью БПФ и
k , k  0,
K
2
технологии интерполяции спектра (см. работу 3).
Задание тестового сигнала x n , n  0, N  1 , который будет подвергаться фильтрации,
путем моделирования либо выбора фрагмента из файла сейсмоакустических данных.
Отображение тестового сигнала, расчет и отображение периодограммной оценки его
спектральной плотности мощности (см. работу 4).
Фильтрация сигнала x n , n  0, N  1 (расчет выходного сигнала y n , n  0, N  1 ))
одним из двух базовых способов (mode=1 или 2), фиксация времени выполнение
фильтрации.
Отображение выходного сигнала, расчет и отображение периодограммной оценки его
спектральной плотности мощности.
густой сетке частот  k 




4. Оформить отчет в виде файла формата Word (проиллюстрировать все вышеприведенные
возможности программы на одном либо двух тестовых сигналах)
Литература
1. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов. - М.:Мир,1978.
-848с.
2. http://dsp-book.narod.ru/books.html
Download