Завдання
1. Розрахувати аналоговій фільтр зпараметрами, заданими в таблиці згідно з номером варіанта.
2. Побудуватиамплітудно-частотну(АЧХ), логарифмічну амплітудно-частотну(ЛАЧХ), логарифмічнуфазочастотну(ЛФЧХ) та амплітудно-фазову(АФХ) характеристики розробленогофільтра, діаграми нулів та полюсів.
3. Із застосуванням ПЕОМ здійснитимоделювання процесів обробки заданого аналогового сигналу u(t) спроектованим згідно з п. 1 фільтром. Побудуватиспектри заданого аналогового сигналу u(t) та сигналу y(t), сформованого в результатіфільтрації.
4. Розрахувати цифровийрекурсивний фільтр з параметрами, заданими в таблиці (згідно з варіантом).
5. Побудувати амплітудно-частотнута логарифмічну амплітудно-частотну характеристики розробленого цифровогофільтра, порівняти її з аналогічною характеристикою аналогового фільтра.
Варіант №13Тип фільтра Смуговий Спосіб реалізації Чебишева І роду Розрядність АЦП 12
Межа смуги, рад/сек
Пропускання, />
Затримки, /> Ліва гілка Права гілка Ліва гілка Права гілка 8442 12940 7914 13468
Мінімальний рівень пульсацій, />, дБ
Затухання, />, дБ 2 37
Вступ
Стрімкий розвиток електронноїцифрової схемотехніки обумовлює розширення її використання в якості апаратноїплатформи при побудові елементів та систем збору, обробки та передачі інформації.Такі компоненти є невід’ємними складовими сучасних комп’ютеризованих системуправління.
Даний курсовий проект присвяченийпитанням розробки цифрових елементів систем обробки інформації (зокрема,цифрових фільтрів та їх аналогових прототипів).
Цифровий фільтр – пристрій, якийдозволяє перетворити дискретний сигнал x(t) у інший y(t). Це цифрова схема для зміни частотногоспектра дискретних сигналів. Цифровий фільтр може бути реалізований якапаратно, так і програмно.
Цифрові фільтри мають ряд перевагнад аналоговими:
1) Нечутливість характеристикфільтра до розкидування параметрів елементів, що у нього входять, їх часових татемпературних дрейфів;
2) Малі розміри і високанадійність фільтрів, пов’язані з використанням великих інтегральних схем;
3) Легкість зміни параметрів іхарактеристик цифрового фільтру через модифікацію програми і коефіцієнтів
4) можливість реалізації фільтрівіз змінними в процесі роботи параметрами.
Типи фільтрів
Фільтри, що знаходять застосуванняв обробці сигналів бувають:
· Аналоговими або цифровими;
· Пасивними або активними;
· Лінійними і нелінійними;
· Рекурсивними і нерекурсивними.
Серед безлічі рекурсивних фільтрівокремо виділяють наступні фільтри (за виглядом передаточної функції):
· Фільтри Чебишева;
· Фільтри Бесселя;
· Фільтри Баттерворда;
· Еліптичні фільтри.
По тому, які частоти фільтромпропускаються (затримуються), фільтри поділяють на:
· Фільтри нижніх частот(ФНЧ);
· Фільтри верхніх частот(ФВЧ);
· Смугово-пропускні фільтри(СПФ)
· Смугово-непропускні(режекторні) фільтри (СНФ);
· Фазові фільтри.
В даній роботі буде розглядатисьсаме фільтр Чебишева, Фільтр Чебишева – один з типів лінійних аналогогових абоцифрових фільтрів, особливістю якого є більш круте спадінняамплітудно-частотної характеристики (АЧХ) й суттєві пульсації (фільтр ЧебишеваІІ роду), ніж у фільтрів інших типів. Фільтр отримав назву на честь відомогоросійського математика XIX століття Пафнутія Львовича Чебишева, так якхарактеристики цього фільтра базуються на багаточленах Чебишева.
Фільтри Чебишева зазвичайзастосовуються там де потрібно за допомогою фільтра невеликого порядкузабезпечити потрібні характеристики АЧХ, зокрема, добре подавлення частот зісмуги подавлення, і при цьому гладкість АЧХ на частотах смуг пропускання іподавлення не стільки важлива.
Розрізняють фільтри Чебишева І таІІ роду.
Фільтр Чебишева ІІ роду (інверснийфільтр Чебишева) використовується рідше ніж фільтр Чебишева І роду зважаючи наменш крутий спад АЧХ.
Цифрові фільтри Чебишева
Фільтри Чебишева частореалізуються у цифровій формі. Для того, щоб від аналогового фільтра перейти доцифрового, треба над кожним каскадом фільтра здійснити білінійне перетворення.Увесь фільтр отримується шляхом послідовного з’єднання каскадів.
1. Розрахунок та дослідження аналогового фільтра
1.1 Визначення порядку аналогового фільтра та йогочастоти зрізу
Параметри фільтра та його частотазрізу визначаються на основі бажаного вигляду амплітудно-частотноїхарактеристики, параметри якої задаються технічним завданням на проектування(п.1). У нашому випадку параметри бажаної АЧХ задаються відповідними межами –границями смуг пропускання та затримки, мінімальним затуханням та максимальнимрівнем пульсацій. Області в яких має лежати бажана АЧХ зображені на рис. 1.
/>/>
Рис. 1. БажанаАЧХ згідно з ТЗ.
Для визначення порядку та частотизрізу фільтра застосуємо обчислювальне середовище MatLab
%Початкові дані
Wp1=8442; %Нижня межа смуги пропусканнярад/сек
Wp2=12940; %Верхнямежа смуги пропусканнярад/сек
Ws1=7914; %Нижня межа смуги затримкирад/сек
Ws2=13468; %Верхнямежа смуги затримкирад/сек
Rp=2; %Коэфіцієнтпульсацій дБ
Rs=37; %ЗатуханнядБ
[n,Wn]=cheb1ord([Wp1Wp2],[Ws1 Ws2],Rp,Rs,'s'); % обчислюємопорядок фільтра
Зарезультатами розрахунків маємо:
Порядокфільтра n = 9
Частотизрізу смугового фільтра Wn = [ 8442 12940]
1.2 Розрахунок фільтра прототипу
Фільтромпрототипом надівають ФНЧ із частотою зрізу 1рад/сек.
Зміннимпараметром при розрахунку фільтра прототипу виступає порядок фільтра. Згідно ізТЗ розрахуємо як фільтр прототип фільтр Чебишева І роду, його АЧХ описуєтьсянаступною формулою.
/>
У цьомувиразі />-частота зрізу, /> — поліном Чебишева n порядку, n — порядок фільтра. Коефіцієнти фільтра прототипу розраховуємо в обчислювальномусередовищі MatLab
[z,p,k]=cheb1ap(n,Rp); %визначаємо параметри передавальної ф-ції дляфільтру Чебишева 1р.
[b,a]=zp2tf(z,p,k);%отримуємо коефіцієнти передавальної ф-ції
Врезультаті обчислень маємо:
Коефіцієнтпідсилення k = 0.0051
Передаточнафункція фільтра:
/>
Побудуємохарактеристики фільтра-прототипу за допомогою MatLab:
figure(1);
plot(p,'x') %малюємо діаграму полюсів
holdon;
plot(z,'o')
gridon;
xlabel('Im(z)');ylabel('Re(z)');
title('Polediagram');
/>
Рис. 2.Графік нулів і полюсів фільтрапрототипу.
/>
Рис. 3.АЧХ фільтра прототипу.
/>
Рис. 4.ФЧХ фільтра прототипу.
1.3 Перетворення частоти зрізу та АЧХ фільтра
Наступниметапом розробки аналогового фільтра є перетворення фільтра прототипу з метоюотримання фільтра заданого типу з необхідними частотами зрізу.
Перетворенняфільтра прототипу у смуговий фільтр вимагає достатньо складної трансформаціїчастотної вісі. Так, нульова та нескінченна частоти повинні трансформуватись уповинні трансформуватись у нескінченне значення на частотній вісі ФНЧ-прототипа(там, де його коефіцієнт передачі наближається до нуля). Частоти, щовідповідають краям смуги пропускання, повинні після перетворення даватизначення +1 або -1, рівні частоті зрізу ФНЧ-прототипа. Нарешті перетворення маєвиконуватись за допомогою дробово-раціональної функції, щоб зберегтидробово-раціональний вигляд передаточної функції.
Переліченимвимогам відповідає наступне перетворення:
/>
Де />, />, /> - відповідноверхня і нижня границі полоси пропускання фільтра.
Дляпроведення перетворення застосуємо середовище MatLab:
% Початкові дані
Wp1=8442; %Нижнямежа смуги пропускання рад / сек
Wp2=12940; %Верхня межа смуги пропускання рад / сек
Ws1=7914; %Нижнямежа смуги затримкирад / сек
Ws2=13468; %Верхнямежа смуги затримкирад / сек
Rp=2; %Коефіцієнт пульсацій дБ
Rs=37; %ЗатуханнядБ
[n,Wn]=cheb1ord([Wp1Wp2],[Ws1 Ws2],Rp,Rs,'s'); % обчислюємопорядок фільтра
[z,p,k]=cheb1ap(n,Rp);% визначаємо параметрипередавальної ф-ції для фільтру Чебишева 1р.
W1=Wn(1);
W2=Wn(2);
W0=sqrt(W1*W2);
Bw=(W2-W1);
[b1a1]=lp2bp(b,a,W0,Bw); %перетворимоперед. ф-ціюпрототипувпотрібну
Hrez=tf(b1,a1)% передавальна функціяСФ
Врезультаті обчислень отримуємо передаточну функцію смугового фільтра Чебишева Іроду:
/>/>
/>
/>
Побудуємохарактеристики фільтра задопомогою середовища MatLab
[h1,w1]=freqs(b1,a1,1000);
figure(4);%---АЧХСФ
plot(w1,abs(h1));
axis([020000 0 1.2]);
xlabel('w');ylabel('Amplitude');
title('AFCof bandpass filter');
gridon
figure(5);%---ФЧХСФ
plot(w1,unwrap(angle(h1)));
axis([020000 -30 5]);
title('PFCof bandpass filter');
gridon
xlabel('w');ylabel('Phase');
figure(6);
pzmap(Hrez);
/>
Рис. 7.діаграма нулів та полюсів передаточної функції фільтра.
/>
Рис. 5.АЧХ смугового фільтра Чебишева І роду.
/>
Рис. 6.ФЧХ смугового фільтра Чебишева І роду.
/>/>
Рис. 7. АЧХфільтра в порівнянні з бажаною АЧХ.
1.4 Моделювання роботи фільтра
Щобперевірити правильність розрахунків промоделюємо роботу фільтра у середовищіMatLab. Для моделювання використаємо тестовий сигнал що складається з трьохгармонічних сигналів різної частоти, фази та амплітуди.
%-----------------Формування вихідного сигналу --------------------------%
k1=3;
k2=16;
k3=12;
phi1=pi;
phi2=pi/4;
phi3=pi/2;
W1=6000;
W2=10976;
W3=24387;
dt=1e-5;
T1=2*pi/W1;
t=0:dt:20*T1;
[p,k]=size(t);
sign_freq=[W1W2 W3];
sign_phase=[phi1phi2 phi3];
sign_koeff=[k1k2 k3];
Analog_sign=0;
fori=1:3
Analog_sign=Analog_sign+sign_koeff(i).*sin(sign_freq(i).*t+sign_phase(i));
end;
% Моделювання обробки аналогового сигналу
figure(7);
lsim(Hrez,Analog_sign,t);
grid on
axis([0 0.02-40 40]);
/>
Input signal />
Рис. 8.Вхідний та вихідний сигнали.
1.5 Побудова спектрів вхідного та вихідногосигналів
Побудуємо спектривхідного та вихідного сигналів.Для побудови спектрів використаємо алгоритм неперервногоперетворення Фур’є.
/>
Длядійсних функцій ряд Фур’є часто означається, як ряд по синусах та косинусах,аргументи яких обираються в такий спосіб, аби на відрізку означення функціївкладалась ціла кількість періодів. Легко зрозуміти, що перелік таких синусівта косинусів вичерпується множинами /> та />, де n є довільним натуральнимчислом, а для /> може приймати також значення 0.
/>
%-------------------------Побудова спектрів ---------------------------%
[y,x]=lsim(Hrez,Analog_sign,t);
a0=dt*sum(Analog_sign)/T1;
fori=1:k
ak(i)=(2*dt/T1)*sum(Analog_sign.*cos(t*i*W1));
bk(i)=(2*dt/T1)*sum(Analog_sign.*sin(t*i*W1));
end;
Ak=sqrt(ak.^2+bk.^2);
k1=1:i; %номеравідліків
W0=k1*W1; %масштабованівідліки
Wn=zeros(1,50); %завданнярозмірувекторавідліків
Wn=0:W0:50*W0; % заповненнявектора відліків (перші 50 елементів вектора W0)
Akn=zeros(1,50);%завдання розміру вектора амплітуд зурахуванняма0
Akn(1,1:50)=Ak(1,1:50);%заполнение вектора амплитуд
out_sign=y';
fori=1:k
ak_out(i)=(2*dt/T1)*sum(out_sign.*cos(t*i*W1));
bk_out(i)=(2*dt/T1)*sum(out_sign.*sin(t*i*W1));
end;
a0_out=dt*sum(out_sign)/T1;
Ak_out=sqrt(ak_out.^2+bk_out.^2);
Akn_out=zeros(1,50);%завданнярозмірувектораамплітудзурахуваннямa0
Akn_out(1,1:50)=Ak_out(1,1:50);%заполнениевектора амплитуд
figure;
holdon
stem(Wn,[a0Akn],'ro');
stem(Wn,[a0_outAkn_out],'b+');
xlabel('w');ylabel('Magnitude');
axis([0150000 0 70]);
hold off
grid on
/>
Рис. 9.Спектри вхідного та вихідного сигналу.
2. Розрахунок та дослідження цифрового фільтра
2.1 Визначення порядку та частоти зрізуцифрового фільтра
Як і увипадку проектування аналогових фільтрів для визначення порядку цифровихфільтрів та їх частоти зрізу можна скористатися функціями пакета Communicationсередовища MatLab.
Згідно зтеоремою Котельникова частота дискретизації має бути принаймні вдвічі більшоюніж максимальна частота сигналу. Для моделі фільтра використаємо частоту />, де /> - частотадискретизації, /> - верхня межи смуги затримки.
% Початкові дані
Wp1=8442; %Нижнямежа смуги пропускання рад / сек
Wp2=12940; %Верхня межа смуги пропускання рад / сек
Ws1=7914; %Нижнямежа смуги затримкирад / сек
Ws2=13468; %Верхнямежа смуги затримкирад / сек
Rp=2; %Коефіцієнт пульсацій дБ
Rs=37; %ЗатуханнядБ
Wd=Ws2*4 %Частота дискретизації рад / сек
Wpz=[Wp1/WdWp2/Wd]
Wsz=[Ws1/WdWs2/Wd]
[n,wn]=cheb1ord(Wpz, Wsz, Rp, Rs);
В результатірозрахунків маємо:
Мінімальнийпорядок фільтра n=9.
Частотизрізу (відносні) Wn = [0.15670.2402]
2.2 Визначеннякоефіцієнтів фільтра таотримання передаточної функції
Длявизначення коефіцієнтів фільтра використаємо середовище MatLab, при цьомуможливості MatLab дозволяють виключити етап розрахунку фільтра прототипу іодразу визначити коефіцієнти фільтра згідно з ТЗ.
Wp1z=Wp1/Wd
Wp2z=Wp2/Wd
[b,a]=cheby1(n,Rp,[Wp1zWp2z]);
Hrz=tf(b,a,1/(Wd*2*pi))
Врезультаті розрахунків отримуємо:
Векторкоефіцієнтів чисельника
b = 1.0e-008 * [0.0053 0 -0.0480 0 0.1920 0 -0.4481 0 0.6721 0-0.6721 0 0.4481 0 -0.1920 0 0.0480 0 -0.0053]
a = 1.0e+004 * [0.0001 -0.0014 0.0102 -0.0462 0.1510 -0.3780 0.7496-1.2033 1.5843 -1.7234 1.5525 -1.1555 0.7054 -0.3486 0.1365 -0.0409 0.0088 -0.00120.0001]
Передаточнафункція фільтра:
/>
/>
/>
Побудуємохарактеристики отриманого фільтра за допомогою MatLab.
[b,a]=cheby1(n,Rp,[Wp1zWp2z]);
[H,W]=freqz(b,a,'whole');
figure;
plot(W,abs(H));grid on;
Hrz=tf(b,a,1/(Wd*2*pi))
figure;
pzmap(Hrz)
/>
Рис. 10Діаграма нулів та полюсів фільтра.
/>
Рис. 11АЧХ смугового фільтра.
/>
Рис. 12.ФЧХ смугового фільтра.
2.3 Моделювання роботи дискретного фільтра
Щобперевірити правильність розрахунків промоделюємо роботу дискретного фільтра усередовищі MatLab. Для моделювання використаємо тестовий сигнал що складаєтьсяз трьох гармонічних сигналів різної частоти, фази та амплітуди.
%-----------------Формированиеисходного сигнала--------------------------%
k1=10;
k2=9;
k3=12;
phi1=pi;
phi2=pi/4;
phi3=pi/2;
W1=6000;
W2=10976;
W3=24387;
sign_freq=[W1W2 W3];
sign_phase=[phi1phi2 phi3];
sign_koeff=[k1k2 k3];
Fs=Wd/(2*pi);
td=0:1/Fs:0.1;
Signal_digital=0;
fori=1:3
Signal_digital=Signal_digital+sign_koeff(i).*sin(sign_freq(i).*td);
end;
wdd=2*pi*Fs;
wd_mod=0:wdd/2/15671:wdd/2;
Sd_in=fft(Signal_digital);
Signd_out=filter(b,a,Signal_digital);
Sd_out=fft(Signd_out);
figure
holdon
plot(td(1,1:700),Signal_digital(1,1:700),'g-');
plot(td(1,1:700),Signd_out(1,1:700),'b-')
holdoff;
gridon;
axis([00.08 -35 35]);
xlabel('t,c');
ylabel('Amplitude');
title('Filtered and NOT filtered signals');
/>/>
Рис. 13.Вхідний та вихідний сигнали.
2.4 Побудова спектрів вхідного та вихідногосигналів
Побудуємоспектри вхідного та вихідного сигналів. Для побудови ряду використаємодискретне перетворення Фур’є. Припустимо, що у нас задано функцію дискретноїзмінної на рівномірній гратці, тобто задані значення функції fkдляскінченної послідовності значень аргументу xk= kh–таблиця функції {fk; kh; k= 0::N} . Тут за допомогою /> позначено крок гратки – відстаньміж сусідніми вузлами. Перетворення Фур’є такої функції можна означити, як суму
/>
Наведенівище міркування про властивості значень нескінченного ряду Фур’є свідчать пронедоцільність використання суми з кількох членів, більшою за кількість вузлівгратки. Можна також зауважити, що сума з більшою кількістю членів містила ббільше інформації про функцію, ніж є в таблиці значень функції. Звичайно ж,обидва ці міркування не є доведеням можливості використання саме такоїкількості членів – необхідно побудувати правило обчислення коефіцієнтів сумиФур’є і довести існування єдиного набору таких коефіцієнтів для функціїдискретної змінної.
Длядійсних функцій і особливо при використанні програмних засобів, що непідтримують комплексних чисел, може бути доцільним використання дійсної формиперетворення Фур’є поданням функції у вигляді ряду по синусах та косинусах:
/>
Дляпобудови спектрів використаємо середовище MatLab
k1=10;
k2=9;
k3=12;
phi1=pi;
phi2=pi/4;
phi3=pi/2;
W1=6000;
W2=10976;
W3=24387;
sign_freq=[W1W2 W3];
sign_phase=[phi1phi2 phi3];
sign_koeff=[k1k2 k3];
Fs=Wd/(2*pi);
td=0:1/Fs:0.1;
Signal_digital=0;
fori=1:3
Signal_digital=Signal_digital+sign_koeff(i).*sin(sign_freq(i).*td);
end;
wd_mod=0:Wd/1000:Wd/2;
Sd_in=fft(Signal_digital);
Signd_out=filter(b,a,Signal_digital);
Sd_out=fft(Signd_out);
ifsize(wd_mod,2)
dim=size(wd_mod,2);
else
dim=size(Sd_in,2);
end
figure;
plot(wd_mod(1,1:dim),abs(Sd_in(1,1:dim)),wd_mod(1,1:dim),abs(Sd_out(1,1:dim)));
gridon;
legend('Inputsignal','Output signal');
xlabel('Frequency');
ylabel('Amplitude');
title('Amplitude spectrum signals before and after filtration by the digitalfilter');
/>
Рис. 14.Спектри вхідного та вихідного сигналів.
Висновки
Урезультаті виконання курсового проекту «Проектування аналогових та цифровихфільтрів» я набув навичок у розробці аналогових та цифрових фільтрів,формуванні математичних моделей на основі перетворень Лапласа таz-перетворення, побудові та порівняльному аналізі частотних характеристикцифрових та аналогових фільтрів, застосуванні перетворення Фур’є доспектрального аналізу сигналів, застосуванні методики трансформаціїузагальненого фільтра нижніх частот до конкретного типу фільтра (ФВЧ, СФ, РФ)при різних способах їх реалізації (фільтри Баттерворта, Чебишева першого тадругого роду, а також еліптичний фільтр).
В ходівиконання курсового проекту була створена програма на мові середовища MatLabдля моделювання роботи аналогового та цифрового смугового фільтра Чебишева ІІроду, виконано моделювання та побудова графіків амплітудно-частотниххарактеристик(АЧХ), фазочастотних характеристик (ФЧХ) і діаграм нулів і полюсів.