МІНІСТЕРСТВО ОСВІТИ І НАУКИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
до лабораторної роботи №5
з курсу:
«Цифрова обробка сигналів»
на тему:
«Проектування та дослідження рекурсивних
цифрових фільтрів»
Львів – 2013
Мета роботи: отримати навики розрахунку параметрів і характеристик рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби програмного пакету MatLab для їх дослідження.
Завдання
1. Ознайомитись із теоретичними відомостями.
2. Розрахувати мінімально необхідний порядок РЦФ для забезпечення
поставлених у табл. 1 вимог, знайти коефіцієнти ПФ Hzфільтра та побудувати
графіки його АЧХ і ФЧХ, користуючись відповідними процедурами MatLab.
3. Оцінити вплив N-бітного квантування коефіцієнтів фільтра на його
характеристики при прямій реалізації та каскадній на основі біквадратних ланок.
З метою порівняння побудувати на одному графіку АЧХ рекурсивного фільтра у прямій формі реалізації та на основі ланок 2-го порядку.
4. За допомогою функції MatLab filter провести фільтрацію сигналу типу
“білий шум”, що генерується у змінній signal. Вивести графіки часового і частотного представлення сигналів на вході на виході рекурсивного фільтра.
№
Тип фільтру
Fs,
Гц
Fp,
Гц
Rs,
дБ
Rp,
дБ
N,
біт
Fd,
Гц
10.
ФВЧ Чебишева 2-го роду
650
700
80
15
16
5000
Лістинг програми:
clc; % очистити командне вікно
clear all; % звільнити пам'ять
%%%%%%%%%%%%%%ВАРІАТИВНА ЧАСТИНА%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Fs=[650]; % задаємо частоти смуг затримки
Fp=[700]; % задаємо частоти смуг пропускання
Rs=80; % пульсації (придушення) в смузі затримки
Rp=15; % пульсації в смузі пропускання
N_bit=16; % кількість біт для представлення дробової частини коефіцієнтів
fd=5000; % частота дискретизації
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f_N = fd/2; % частота Найквіста (половина частоти дискретизації)
Fs_norm = Fs/f_N; % нормовані частоти смуг затримки
Fp_norm = Fp/f_N; % нормовані частоти смуг пропускання
[n, Wn] = cheb2ord(Fp_norm, Fs_norm, Rp, Rs); % визначаємо мінімальний порядок фільтра n та частоти зрізу Wn
n % виводимо порядок фільтра
fc = Wn * f_N % виводимо частоти зрізу
[b, a] = cheby2(n,Rs,Wn,'high'); % знаходимо коефіцієнти чисельника та знаменника фільтра
b=b' % виводимо коефіцієнти чисельника
a=a' % виводимо коефіцієнти знаменника
f = 0 :1: f_N; % задаємо вектор частот для розрахунку АЧХ
h = freqz(b, a, f,fd); %розраховуємо комплексний коефіцієнт передачі
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(1); % частотні характеристики фільтра до і після квантування
subplot (211);
plot(f, abs(h),f,abs(hq),'r--'); grid on; % будуємо графіки АЧХ
xlabel('Частота, Гц'); ylabel('H'); legend ('до квантування','після квантування');
title('Амплітудно-частотна характеристика');
subplot (212);
plot (f,180*unwrap(angle(h))/pi,f,180*unwrap(angle(hq))/pi,'r--'); grid on; % будуємо графіки ФЧХ
xlabel('Частота, Гц'); ylabel('\Phi, град');
title('Фазо-частотна характеристика');
figure(2); % частотні характеристики фільтра до і після квантування (в Децибелах)
plot(f, 20*log10(abs(h)), f, 20*log10(abs(hq)),'r--'); grid on; % будуємо графіки АЧХ фільтру до і після квантування
xlabel('Частота, Гц'); ylabel('H, дБ'); legend ('до квантування','після квантування');
title('Амплітудно-частотна характеристика (дБ)');
[sos,g] = tf2sos(b, a); % переходимо від прямої до каскадної форми фільтру на основі ланок 2-го порядку
sosq = round(2^N_bit * sos) / 2^N_bit; % квантуємо коефіцієнти біквадратних ланок
[bs, as] = sos2tf(sosq,g); % повертаємось до прямої форми представлення
hs = freqz(bs, as, f, fd); % розраховуємо комплексний коефіцієнт передачі
figure(3); % частотні характеристики фільтра до (пряма форма) і після (каскадна форма) квантування
plot(f, abs(h),f, abs(hs),'r--'); grid on; % будуємо графіки АЧХ
xlabel('Частота, Гц'); ylabel('H'); legend ('до квантування (пряма форма)','після квантування (каскадна ланок 2-го порядку)');
title('Амплітудно-частотна характеристика');
signal=randn(1,2048); % сигнал типу білий шум
signal_r = filter(b, a, signal); % проводимо фільтрацію сигналу РЦФ з дійсними коефіцієнтами
% signal_q = filter(bq, aq, signal); % проводимо фільтрацію сигналу РЦФ з квантованими коефіцієнтами
figure(4); % графіки в часовій області
subplot(211);
stem((0 : length(signal)-1) /fd, signal); grid on; % будуємо графік первинного сигналу
title ('Cигнал типу "білий шум"');
subplot(212);
stem((0 : length(signal)-1) /fd, signal_r); grid on; % графік сигналу на виході НЦФ без вікна
title ('Cигнал на виході РЦФ з дійсними коефіцієнтами');
% subplot(313);
% stem((0 : length(signal)-1) /fd, signal_q); grid on; % графік сигналу на виході НЦФ без вікна
% title ('Cигнал на виході РЦФ з квантованими коефіцієнтами');
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(211);
stem (f,xx1); title('Амплітудний спектр вхідного сигналу'); %Амплітудний спектр вхідного сигналу
x2=fft(signal_r);
xx2=fftshift (x2);
xx2=abs(xx2);
subplot(212); %Амплітудний спектр на виході фільтра (з дійсними коефієнтами)
stem (f,xx2); title('Амплітудний спектр сигналу на виході РЦФ з дійсними коефіцієнтами');
Результат роботи:
/
/
Рис. 1. АЧХ та ФЧХ РФ Чебешева 2-го роду .
/
Рис. 2.АЧХ ФВЧ 2-го роду до та після квантування п=16 біт .
/
Рис. 3.АЧХ ФВЧ 2-го роду до та після квантування п=9 біт .
/
Рис. 4. Сигнал типу ,,білий шум” та сигнали виході синтезованого рекурсивного цифрового фільтра.
/Рис. 5. Амплітудний спектр вхідного та вихідного сигналу .
Висновки. На даній лабораторній роботі я отримав навики розрахунку параметрів і характеристик рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби програмного пакету MatLab для їх дослідження.
Вплив ефектів заокруглення значень коефіцієнтів особливо проявляється в рекурсивних фільтрах, оскільки коефіцієнти знаменника функції передачі пов’язані з імпульсною характеристикою нелінійно. Як правило, найбільші спотворення виникають в тих випадках, коли АЧХ фільтра має круті скати в перехідних зонах між смугами пропускання і затримки. Тому реалізація рекурсивних фільтрів високого порядку в прямій формі недоцільна. В цьому випадку найкраще представляти фільтри у вигляді послідовного сполучення простих ланок другого порядку (біквадратні ланки).