МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра ЗІ
Звіт
до лабораторноїроботи №3
з курсу «Цифрова обробка сигналів»
Моделювання аналогових та дискретних систем
Мета роботи: отримати навики розрахунку параметрів і характеристик рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби програмного пакету MatLab для їх дослідження.
Завдання до лабораторної роботи 
1. Ознайомитись із теоретичними відомостями.
Розрахувати мінімально необхідний порядок РЦФ для забезпечення поставлених у таблиці 1 вимог, знайти коефіцієнти ПФ H(z) фільтра та побудувати графіки його АЧХ і ФЧХ, користуючись відповідними процедурами MatLab.
3. Виконати	альтернативне	обчислення	коефіцієнтів	передатної	функції	H * (z )
цифрового фільтра рекурсивного із заданими вище параметрами використовуючи процедуру ‘yulewalk’	пакету	MatLab	тапорівняти	графіки	частотних	арактеристик	H (θ ) ,	H * (θ ) спроектованих за даними методами.
4. Оцінити вплив 12-бітного квантування коефіцієнтів ПФ H (z ) фільтра (п.2) на його характеристики при реалізаціях прямій та каскадній на основі біквадратних ланок.
Провести фільтрацію заданого сигналу, що зберігається у файлі SваріантN у змінній signal.
Табл. 1
Тип фільтру
Fs, Гц
Fp, Гц
Rs, дБ
Rp, дБ
N, біт
Fd, Гц
Сигнал
РФ Кауера
[3000 5000]
[2700 5300]
85
1.1
8
25000
S16.mat
Лістинг програми в середовищі Matlab
clc;
clear;
Fs=[3000 5000];       
Fp=[2700 5300];       
Rs=85;                     
Rp=1.1;                     
N_bit=8;                 
fd=25000;                 
f_N = fd/2;               
Fs_norm = Fs/f_N;    
Fp_norm = Fp/f_N;  
[n, Wn] = ellipord(Fp_norm, Fs_norm, Rp, Rs); 
                                                                              
n                                                                            
fc = Wn * f_N                                                      
[b, a] =ellip(n, Rp,Rs,  Wn);                       
                                                                               
b = b(:);                                                                  
a = a(:);
b                                                                            
a                                                                             
f = 0 : 1 : f_N;                                                       
h = freqz(b, a, f, fd);                                           
figure(1); 
subplot(2,1,1);
plot(f, abs(h)); grid on;  
F=[0 0.32 0.32 1]; 
M=[1 1 0 0];
[by,ay]=yulewalk(2*n,F,M);
hy=freqz (by,ay,f,fd);
subplot(2,1,2);
plot(f, abs(hy)); grid on;  
bq = round(2^N_bit * b) / 2^N_bit;                       
aq = round(2^N_bit * a)/  2^N_bit;               
hq = freqz(bq, aq, f, fd);                                
                                                                    
figure(2); 
plot(f, abs(h), f, abs(hq)); grid on;                 
sos = tf2sos(b, a);                                          
sosq = round(2^N_bit * sos) / 2^N_bit;        
[bs, as] = sos2tf(sosq);  
hs = freqz(bs, as, f, fd);                                 
figure(3); 
plot(f, abs(hs)); grid on;               
load S16  
t=0:1:1000;
signal_f1 = filter(b, a, signal);                         
figure(4);
plot (t,signal,'b',t,signal_f1,'r');
N=length(signal);
df=fd/N;
F0=(N-1)*df;
f=(-F0/2):df:F0/2;
x1=fft(signal);
xx1=fftshift (x1);
xx1=abs(xx1);
figure(5); 
subplot(2,1,1);
stem (f,xx1);
x2=fft(signal_f1);
xx2=fftshift (x2);
xx2=abs(xx2);
subplot(2,1,2);
stem (f,xx2); axis ([-8000, 8000, 0, 500]);
Результати роботи
Рисунок 1. АЧХ фільтра Улле-Волкера
Рисунок 2. Похибка квантування
Рисунок 3. АЧХ фільтра
Рисунок 4. Вхідний і вихідний сигналиРисунок 5. Спект сигналу, результуючий спект.
Висноков: на цій лабораторній роботі я навчився рохраховувати параметри і характеристики рекурсивних цифрових фільтрів.