МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ДЕРЖАВНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
кафедра «Захист інформації»
/
ЗВІТ
до лабораторної роботи № 5
з курсу “ Цифрова обробка сигналів та зображень ”
на тему «РОЗРАХУНОК, РЕАЛІЗАЦІЯ ТА ДОСЛІДЖЕННЯ НЕРЕКУРСИВНИХ
ТА РЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ»
Львів 2010
Мета роботи – отримати навики розрахунку параметрів і характеристик не рекурсивних та рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби програмного пакету Simulink MatLab для їх реалізації та дослідження.
ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ ІЗ ПРОЕКТУВАННЯ НЕРЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ
Запроектувати нерекурсивний цифровий фільтр означає розрахувати коефіцієнти чисельника передатної функції, оскільки знаменник дорівнює 1.
Вихідний сигнал нерекурсивного цифрового фільтра формується лише зваженими поточною та М попередніми вибірками від значень вхідного сигналу
Такий фільтр називається нерекурсивним несиметричним фільтром порядку , його структурна схема наведена на рис. 1. Для нерекурсивного симетричного фільтра є справедливим вираз
Рис. 1. Блок-схема цифрового нерекурсивного фільтра
Завдання
1. Ознайомитись із теоретичними відомостями.
2. Розрахувати перші 5 коефіцієнтів нерекурсивного фільтра згідно заданого варіанту без накладання вікна за формулами наведеними в розділі 1.
3. На основі дискретизації ідеальної амплітудно-частотної характеристики з параметрами наведеними в таблиці 1, знайти відповідну імпульсну характеристику для фільтру НЦФ із лінійною фазочастотною характеристикою. Накреслити окрім характеристик і також отриману реальну амплітудно-частотну характеристику . Для всіх варіантів прийняти часоту дискретизації Fs=2000 Гц.
Таблиця 1.
Варіант
Тип фільтра
Порядок
, Hz
12
ЗФ
15
500/700
У таблиці: n – порядок НЦФ; Fc – частота зрізу (для фільтрів СФ і РФ відповідно нижня і верхня).
4. Для зменшення пульсацій реальної амплітудно-частотної характеристики змодифікувати імпульсну характеристику користуючись функцію вікна. Провести порівняльний аналіз результатів у вигляді діаграм первинної характеристики а також згладженої .
5. Користуючись функцією MATLAB filter розрахувати вигляд сигналу на виході фільтра із вигладженою амплітудно-частотною характеристикою, якщо вхідний сигнал описується функцією Діріхле , де S =21 – степінь функції.
6. Реалізувати два варіанти визначення спектра вихідного сигналу фільтра:
як перетворення Фур’є часової функції вихідного сигналу ;
як добутку спектру вхідного сигналу а передатної функції фільтра.
7. Для НЦФ із поданими в таблиці параметрами виконати альтернативне обчислення коефіцієнтів transmitancji за методом найменших квадратів (функція ‘firls’ MATLAB) беручи до уваги обмеження, що стосуються відхилення амплітудно-частотної характеристики в смузі пропускання Dp=0,05 і пригнічення Ds=0,02. Порівняти діаграми і .
ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ ІЗ ПРОЕКТУВАННЯ РЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ
Завдання цифрового фільтра полягає у забезпеченні частотно-залежної зміни заданої послідовності даних. В загальному випадку цифровий фільтр підсумовує (з ваговими коефіцієнтами) певну кількість вхідних відліків та певну кількість попередніх вихідних відліків:
де - відліки вхідного сигналу; - відліки вихідного сигналу; і - коефіцієнти фільтра.
Фільтр, який описується рівнянням (1) називається рекурсивним, а більше з чисел і - порядком фільтра. Структурна схема фільтра зображена на рис. 1, в якій означає затримку на один такт.
Рис. 1. Схема цифрового рекурсивного фільтра
Відліки сигналу зберігаються в комірках пам’яті, які здійснюють затримку на один такт. Ці відліки перемножуються на коефіцієнти фільтра і підсумовуються, формуючи поточне значення відліку вихідного сигналу.
Завдання
1. Ознайомитись із теоретичними відомостями.
2. Розрахувати мінімально необхідний порядок РЦФ для забезпечення поставлених у таблиці 1 вимог, знайти коефіцієнти ПФ фільтра та побудувати графіки його АЧХ і ФЧХ, користуючись відповідними процедурами MatLab.
Таблиця 1
№
Тип фільтру
Fс,
Гц
Апроксимація
Rs,
дБ
Rp, дБ
N
12.
ЗФ
500/700
Ch2
50
-
3
В таблиці через позначено частоту зрізу (для смугових і режекторних фільтрів відповідно нижню та верхню); i – рівень коливань характеристик фільтра у смузі пропускання і пригнічення.
3. Виконати альтернативне обчислення коефіцієнтів передатної функції цифрового фільтра рекурсивного із заданими вище параметрами використовуючи процедуру ‘yulewalk’ пакету MatLab та порівняти графіки частотних арактеристик , спроектованих за даними методами.
4. Провести фільтрацію заданого сигналу, що зберігається у файлі Lab_5_варіант у змінній signal.
Лістинг програми
%Вхідні параметри фільтра
Fc=[300 600]; % частота зрізу (для СФ і ЗФ i PZ відповідно нижня та верхня)
wc=[2*pi*Fc];
n=3; % порядок фільтра
Rp=3; % рівень пульсації АЧХ у смузі пропускання
%Коеф. АФ
[bs,as] = cheby1(n,Rp,wc,'s'); %'s' для АФ
%Графіки
w=logspace(1,4); % вектор частот у логарифм. масштабі
Hs=freqs(bs,as,w); % ПФ
Ms=abs(Hs);
As=angle(Hs);
subplot(2,1,1);
loglog(w/(2*pi),Ms); grid; axis([20 2000 10^-5 2 ]);
subplot(2,1,2);
semilogx(w/(2*pi),As);grid;axis([20 2000 -pi pi ]);
% Перехід до цифрового прототипу
Fs=2000; % частота вибірок
Fp=450; % збіжність до тієї частоти
[bd,ad]=bilinear(bs,as,Fs,Fp);
figure(2);
freqz(bd,ad); %Графіки АЧХ і ФЧХ ЦФ
% Безпосереднє обчислення коеф. ПФ РЦФ
[bz,az] = cheby1(n, Rp, 2*Fc/Fs );
figure(3);
freqz(bz,az);
% Альтернативнивне проектування РЦФ методом "yulewolk"
F=[0 0.3 0.3 0.6 0.6 1];
M=[0 0 1 1 0 0];
[by,ay]=yulewalk(2*n,F,M);
[Hy,fy]=freqz(by,ay,32);
N=2^5;
f=0:1/32:1000;
H=freqz(bz,az,f,Fs);
figure(4);
plot(F,M,fy/pi,abs(Hy),2*f/Fs,abs(H));
S=21;
T=0.2;N=2^12;Ts=T/N; t=0:Ts:T; % вектор часу
A=1; fo=100; w=2*pi*fo; % параметри сигналу
x=A*diric(w*t,S);
X=fft(x);
df=1/T; Fmax=1/Ts; F=-Fmax/2:df:Fmax/2;
cx=fftshift(X);
Cx=abs(cx)*Ts/T;
figure(6),
subplot(2,1,1);
plot(t(N/2-500:N/2+500),x(N/2-500:N/2+500))
grid,set(gca,'FontName','Ariel','FontSize',11)
title('Sygnal Dirichlet n')
xlabel('Time (s)'),ylabel('Signal X(t)')
subplot(2,1,2);
stem(F(N/2-500:N/2+500),Cx(N/2-500:N/2+500)),grid,set(gca,'FontName','Ariel','FontSize',11)
%axis([-(S+5)*fo/2 (S+5)*fo/2+1 0 2/S]),
title('Spectr Dirichlet n')
xlabel('Frequency (Hz)'),ylabel('Modul')
y=filter(bz,az,x);
Y=fft(y);
df=1/T; Fmax=1/Ts; F=-Fmax/2:df:Fmax/2;
cy=fftshift(Y);
Cy=abs(cy)*Ts/T;
figure(7),
subplot(2,1,1);
plot(t(N/2-500:N/2+500),y(N/2-500:N/2+500))
grid,set(gca,'FontName','Ariel','FontSize',11)
title('Sygnal Dirichlet n')
xlabel('Time (s)'),ylabel('Signal X(t)')
subplot(2,1,2);
stem(F(N/2-500:N/2+500),Cy(N/2-500:N/2+500)),grid,set(gca,'FontName','Ariel','FontSize',11)
%axis([-(S+5)*fo/2 (S+5)*fo/2+1 0 2/S]),
title('Spectr Dirichlet n')
xlabel('Frequency (Hz)'),ylabel('Modul')
Результат роботи
АЧХ і ВЧХ аналогового фільтра
/
АЧХ і ФЧХ цифрового фільтра білінійним перетворення
/
АЧХ і ФЧХ цифрового фільтра методом cheby2
/
Аналіз ЦФ , ідеального фільтра , методом yulewalk
/
Графік часового сигналу , АЧХ до фільтрації
/
Графік часового сигналу , АЧХ після фільтрації
/
Висновок
На даній лабораторній роботі я ознайомився із методами моделювання аналогових та цифрових систем, основними можливостями моделювання аналогових та цифрових систем реалізованими в програмному пакеті MatLab.
В даній лабораторній роботі було синтезовано на базі аналогового прототипа фільтра дискретний фільтр.
Метод білінійного Z-перетворення
Метод інваріантної імпульсної характеристики
Метод перехід від диференціального рівняння до різницевого
Провівши моделювання різними методами, я побачила певні відмінності у методах, зіставивши їх результати. А також переконалась в тому що синтезовані дискретні фільтри будуть відрізнятись від аналогових фільтрах прототипах. Також побачив які характеристики мають RC та RLC ланки, їхню реакцію на збудження.