LR7 - Дизайн на дигитален филтър

Свързани статии

Целта на работата: да научите как да проектирате цифрови филтри, да анализирате техните характеристики

Лабораторно ръководство

За да завършите лабораторната работа, трябва да повторите материалите от съответните лекции.

ТЕОРЕТИЧНИ ДАННИ

В зависимост от метода на изпълнение филтрите се делят на филтри с ограничена импулсна характеристика (FIR филтри) и филтри с безкрайна импулсна характеристика (IIR филтри).

Като цяло, всеки филтър се описва чрез неговата трансферна характеристика (съотношението на реакцията на филтъра към входния сигнал): , където

H(z) – трансферна характеристика на филтъра,Y(z) – изходен сигнал на филтъра,X(z) – входен сигнал на филтъра. Замествайки стойностите на коефициентите на филтъра в този израз, получаваме следната форма на предавателната характеристика: – за IIR филтри: – за FIR филтри (предавателната характеристика съвпада с импулсната характеристика на филтъра): , където

m иn са броят на филтърните коефициенти (максималната от тези стойности определя реда на филтъра),z -n е елементът на забавяне на сигнала с n проби,bm са филтърните коефициенти, свързани с пробите на входния сигнал,an са филтърните коефициенти, свързани с пробите на изходния сигнал.

Следните вградени функции се използват за изчисляване на коефициентите на IIR филтър в MatLab: –butter(n, w0, тип) – изчисляване на филтри на Butterworth;– cheby1(n, Rp, w0, тип) – изчисляване на филтри на Чебишев от първи вид;– cheby2(n, Rs, w0, тип) – изчисляване на Чеби шевни филтри от втори вид;– ellip(n, Rp, Rs, w0, тип) – изчисляване на елиптични филтри;–bessel(n, w0) – изчисляване на филтри на Бесел (само LPF).

Тези функции ви позволяват да изчислите коефициентите i> и аз>. Параметрите за извикване на тези функции са както следва:n – ред на филтъра,Rp – ниво на пулсации на честотната характеристика в лентата на пропускане (в децибели),Rs – ниво на пулсации на честотната характеристика в лентата на потискане (в децибели),w0 – честота на прекъсване на филтъра (за лентови и прорезни филтри се задава от двумерния вектор[ w1 w2] ),тип – тип проектиран филтър (LPF, HPF, PF или RF).

За изчисляване на коефициентите на FIR филтъра в MatLab се използва вградената функцияfir1(n, Wn, ‘ftype’, ‘window’, ‘normalization’), къдетоn е редът на филтъра,Wn е честотата на прекъсване на филтъра (за лентови и прорезни филтри тя се задава от двумерния вектор[w1 w2] ),‘f type’ е типът на проектирания филтър (LPF, HPF, PF или RF). Параметърът'window' указва прозореца, който да се използва за синтез. Трябва да е вектор-колона, съдържащ n+1 елемента. По подразбиране се използва прозорецът на Hamming, изчислен чрез извикване на функциятаhamming(n+1). За извикване на други прозорци се използват следните функции: –blackman– прозорец на Blackman;–kaiser —прозорец на Kaiser;—chebwin —прозорец на Chebyshev.

Низовият параметър'normalization' контролира нормализирането (мащабирането) на изчислената импулсна характеристика на филтъра. Стойността по подразбиране е'scale', която нормализира импулсния отговор, за да осигури единично (0 dB) усилване в центъра на лентата на пропускане.

За да се получи импулсната характеристика, е необходимо да се приложи единична проба към входа на филтъра, допълнена с определен брой нули. За удобство такова изчисление е реализирано във функциятаimpz(b,а). Входните аргументи за него саb иa – коефициентите на полиномите на числителя и знаменателя на филтърната предавателна функция.

Честотната характеристика на дискретния филтър се изчислява с помощта на функциятаfreqz(b, a). Фазо-честотна характеристика - чрез функциятаangle(h).

Основната функция, която реализира дискретно филтриране в MatLab, се наричаfilter. В най-простата си форма той има следния синтаксис:filter(b, a, x), къдетоb е векторът на коефициентите на нерекурсивната част на филтъра (числител на трансферната функция),a е векторът на коефициентите на рекурсивната част на филтъра (знаменател на трансферната функция),x е входният сигнал.

Помислете за примерна реализация на лентов FIR филтър с прозорец Han. Честотата на дискретизация е 20 kHz, честотната лента на филтъра е от 3 до 5 kHz, редът на филтъра е 20. За дадените характеристики на филтъра изчисляваме функцията на прозореца, коефициентите на филтъра, неговите импулсни и честотни характеристики. Програмата за изчисление е представена по-долу.

Fd=20e3; % честота на дискретизация

W1=3e3/(0,5*Fd); %По-нискочестотен лентов филтър 3KHz

W2=5e3/(0,5*Fd); % лентов филтър за горна честота 5KHz

f=0:10e3; %Band to Nyquist

n=20; % филтърна поръчка

k=hann(n+1); % изчисление Hann прозорец

b=fir1(n, [W1 W2], k); %изчисляване на филтърните коефициенти

hi=impz(b, 1); %изчисляване на импулсната характеристика

подзаговор (2, 1, 1); стебло (здравей); решетка на %дисплей ipm. характеристики

подзаговор (2, 1, 2); парцел (k); решетка на %дисплей прозорец

h = freqz(b, 1, f, Fd); %изчисляване на честотната характеристика на филтъра

plot(f, abs(h)) % изходна честотна характеристика

xlabel( 'Честота, Hz' )

легенда ( 'Честотна характеристика' )

tau_phase=unwrap(ъгъл(h)); % изчисляване на реакцията на фазата на филтъра

plot(f, tau_phase) %PFC изход

ylabel( 'Фаза, rad' )

xlabel( 'Честота, Hz' )

легенда ( 'Фазова характеристика' )

Резултатите от изчисляването на функцията на прозореца и импулсната характеристика на филтъра са показани на фигура 1.

филтъра

Фигура 1. Импулсна характеристика и функция на филтърния прозорец.

Честотната характеристика на филтъра е показана на фигура 2.

филтър

Фигура 2. Честотна характеристика на филтъра.

Фазовата честотна характеристика на филтъра е показана на фигура 3.

дизайн

Фигура 3. Фазова характеристика на филтъра.

2. За филтъра, създаден в примера, генерирайте тестов сигнал и проверете работата на филтъра (филтърна функция).

3. Изчислете и проверете сами работата на високочестотния FIR филтър с прозорец на Хеминг с честота на срязване 4 kHz. Начертайте неговите импулсни и честотни характеристики.

4. Използвайте командата fdatool, за да отворите програмата FDATool. Вижте характеристиките му. Проектирайте IIR прорезен филтър с помощта на тази програма (задайте сами параметрите на филтъра).