Порядок виконання роботи

1. Розрахунок аналогових фільтрів-прототипів.

2. Частотні перетворення фільтрів.

Короткі теоретичні відомості та методичні вказівки

Дана Лабораторна робота є продовженням роботи 5, так що відповідні теоретичні відомості та методичні вказівки наведені у попередній роботі.

6.1. Фільтр Баттерворта

Формула для АЧХ фільтра Баттерворта має вигляд:

,

де- частота зрізу (для фільтру-прототипу вона дорівнює 1 рад/с), n - порядок фільтра. Коефіцієнт передачі на нульовій частоті = 1, а на частоті зрізу незалежно від порядку фільтра складає дБ. При АЧХ прагне до 0.

6.2. Розрахунок аналогового фільтра Баттерворта за допомогою функції [z,p,k]=buttap(n)

function Example6_1

[z,p,k]=buttap(5); % нулі та полюси прототипу

plot(p,'x') % графік розташування полюсів

axis equal

axis([-1.5 1.5 -1.5 1.5])

w=0:0.01:5;

[b,a]=zp2tf(z,p,k); % коефіцієнти функції передачі

h=freqs(b,a,w); % комплексний коефіцієнт передачі

figure

plot(w,abs(h)),grid % графік АЧХ

figure

plot(w,unwrap(angle(h))),grid % графік ФЧХ

На екрані характеристики фільтра Баттерворта 5-го порядку.

6.3. Фільтр Чебишева першого роду

АЧХ фільтра Чебишева першого роду має вигляд:

,

Тут - частота зрізу, - поліном Чебишева n-го порядку, n - порядок фільтра, - параметр, що визначає величину пульсації АЧХ в смузі пропускання. Значення параметра і рівень пульсації (в децибелах) пов'язані наступним чином:

При АЧХ фільтра Чебишева першого роду є максимально плоскою. У MATLAB фільтр-прототип Чебишева першого роду розраховується за допомогою функції [z,p,k]=cheb1ap(n,Rp).

function Example6_2

[z,p,k]=cheb1ap(5,0.5); % нулі та полюси прототипу

plot(p,'x') % графік розташування полюсів

axis equal

axis([-1.5 1.5 -1.5 1.5])

w=0:0.01:5; % коефіцієнти функції передачі

[b,a]=zp2tf(z,p,k); % комплексний коефіцієнт передачі

figure

plot(w,abs(h)),grid % графік АЧХ

figure

plot(w,unwrap(angle(h))),grid % графік ФЧХ

На екрані характеристики фільтра Чебишева першого роду 5-го порядку з рівнем пульсацій в смузі пропускання 0,5 дБ.

6.4. Фільтр Чебишева другого роду

Функція передачі фільтра Чебишева другого роду пов'язана з функцією передачі фільтра Чебишева першого роду таким чином:

.

АЧХ фільтра Чебишева другого роду описується так:

.

Тут - частота зрізу, - поліном Чебишева n-го порядку, n - порядок фільтра, - параметр, що визначає величину пульсації АЧХ в смузі пропускання. Значення параметра і рівень пульсації (в децибелах) пов'язані наступним чином:

У MATLAB фільтр-прототип Чебишева другого роду розраховується за допомогою функції [z,p,k]=cheb2ap(n,Rp).

function Example6_3

[z,p,k]=cheb2ap(5,20);

plot(p,'x')

hold on

plot(z,'o')

hold off

axis equal

axis([-2 2 -2 2])

w=0:0.01:5;

[b,a]=zp2tf(z,p,k);

h=freqs(b,a,w);

figure

plot(w,abs(h)),grid

figure

plot(w,unwrap(angle(h))),grid

На екрані характеристики фільтра Чебишева другого роду 5-го порядку з рівнем пульсацій в смузі пропускання 20 дБ.

6.5. Еліптичний фільтр

АЧХ еліптичного фільтра описується наступним чином:

.

Тут - частота зрізу, n - порядок фільтра, Rn (...) - раціональна функція Чебишева n-го порядку, і L - параметри, що визначають величину пульсацій у смугах пропускання і затримування. У MATLAB еліптичний фільтр-прототип розраховується за допомогою функції [z, p, k] = ellipap (n, Rp, Rs).

function Example6_4

[z,p,k]=ellipap(5,0.5,20);

plot(p,'x')

hold on

plot(z,'o')

hold off

axis equal

axis([-1.5 1.5 -1.5 1.5])

w=0:0.01:5;

[b,a]=zp2tf(z,p,k);

h=freqs(b,a,w);

figure

plot(w,abs(h)),grid

figure

plot(w,unwrap(angle(h))),grid

На екрані характеристики еліптичного фільтра 5-го порядку з рівнем пульсацій в смузі пропускання 0,5 дБ та смузі затримування 20 дб.

6.6. Фільтр Бесселя

Функція передачі фільтра Бесселя має наступний вигляд:

Коефіцієнти полінома знаменника розраховуються за такою формулою

У MATLAB фільтр-прототип Бесселя розраховується за допомогою функції [z,p,k]= besselap (n).

function Example6_5

[z,p,k]=besselap(5);

plot(p,'x')

axis equal

axis([-1 1 -1 1])

w=0:0.01:5;

[b,a]=zp2tf(z,p,k);

h=freqs(b,a,w);

figure

plot(w,abs(h)),grid

figure

plot(w,unwrap(angle(h))),grid

На екрані характеристики фільтра Бесселя 5-го порядку.

6.7. Частотні перетворення фільтра

Під частотними перетвореннями фільтрів розуміють такі перетворення передавальної функції, при яких форма частотних характеристик міняється тільки в «горизонтальному» напрямі. Перетворення найчастіше використовуються для перетворення фільтра-прототипу у фільтр заданого виду з необхідними частотами зрізу. Для цього використовуються наведені нижче чотири функції MATLAB. Принцип складання їх імен такий: спочатку йде скорочення 1р, що означає, що вихідним фільтром є ФНЧ (фільтри нижніх частот) (low-pass), потім слідує символ перетворення 2 і в кінці стоїть позначення типу результуючого фільтра:

□ 1р2lр — зміна частоти зрізу ФНЧ (low-pass);

□ lp2hp — перетворення ФНЧ в ФВЧ (high-pass);

□ 1р2bр — перетворення ФНЧ в смуговий фільтр (band-pass);

□ lp2bs — перетворення ФНЧ в режекторний фільтр (band-stop).

Всі ці функції можуть перетворювати фільтри, задані двома способами, - у вигляді коефіцієнтів поліномів чисельника і знаменника функції передачі або в просторі станів. Розрізняються ці два варіанти за кількістю вхідних та вихідних параметрів.

6.8. Зміна частоти зрізу ФНЧ

Зміна частоти зрізу ФНЧ - прототипу зводиться до простого масштабування частотної осі. У MATLAB таке перетворення робиться функцією lp2lp: [b1, a1] = lp2lp (b, a, w0). В якості прикладу розраховується ФНЧ Чебишева першого роду 5-го порядку з частотою зрізу 2 кГц і рівнем пульсації в смузі пропускання 3 дБ.

function Example6_6

[z,p,k]=cheb1ap(5,3); % ФНЧ–прототип

[b,a]=zp2tf(z,p,k); % функція передачі

f0=2e3; % частота зрізу

[b,a]=lp2lp(b,a,2*pi*f0); % ФНЧ з потрібною частотою зрізу

f=0:1:4e3; % вектор частот для розрахунку

h=freqs(b,a,2*pi*f); % частотна характеристика

plot(f/1000,abs(h)),grid % графік АЧХ

axis tight

xlabel('f,kHz')

На екрані результат масштабування частотної осі. Графік АЧХ