МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
до лабораторної роботи №5
з курсу:
«Цифрова обробка сигналів»
на тему:
«ПРОЕКТУВАННЯ ТА ДОСЛІДЖЕННЯ
РЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ»
Львів – 2013
Мета роботи – отримати навики розрахунку параметрів і характеристик
рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби
програмного пакетуMatLab для їх реалізації та дослідження
ЗАВДАННЯ
1.Ознайомитись із теоретичними відомостями.
2.Розрахувати мінімально необхідний порядок РЦФ для забезпечення
поставлених у табл. 1 вимог, знайти коефіцієнти ПФ Hzфільтра та побудувати
графіки його АЧХ і ФЧХ, користуючись відповідними процедурами MatLab.
3.Оцінити вплив N-бітного квантування коефіцієнтів фільтра на його
характеристики при прямій реалізації та каскадній на основі біквадратних ланок.
З метою порівняння побудувати на одному графіку АЧХ рекурсивного фільтра у прямій формі реалізації та на основі ланок 2-го порядку.
4.За допомогою функції MatLab filter провести фільтрацію сигналу типу“білий шум”, що генерується у змінній signal. Вивести графіки часового і частотного представлення сигналів на вході на виході рекурсивного фільтра.
Таблиця 1
№
Тип фільтру
Fs,
Гц
Fp,
Гц
Rs,
дБ
Rp,
дБ
N,
біт
Fd,
Гц
16
РФ Кауера
[3000 5000]
[2700 5300]
85
1.1
8
25000
Лістинг програми в середовищі MATLAB
clc; % очистити командне вікно
clear all; % звільнити пам'ять
%%%%%%%%%%%%%%ВАРІАТИВНА ЧАСТИНА%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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 та частоти зрізу Wn
n % виводимо порядок фільтра
fc = Wn * f_N % виводимо частоти зрізу
[b, a] = ellip(n,Rp,Rs,Wn,'stop'); % знаходимо коефіцієнти чисельника та знаменника фільтра
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 Амплітудно - частотна характеристика(дБ) рекурсивного фільтра
/
Рис. 3 Амплітудно-частотна характеристика для РФ Кауера при квантуванні N=8 біт
/
Рис. 4 Амплітудно-частотна характеристика РФ Кауера при N=4 біт
/
Рис. 5 Сигнал типу "білий шум" на вході та на виході РЦФ
/
Рис.6 Амплітудний спектр вхідного та вихідного сигналу
Результат розрахунків Matlab
n = 9
fc =2700 5300
b =
0.1311
-1.2780
6.6463
-23.6797
63.9759
-138.0278
245.2333
-365.6003
462.6689
-500.1090
462.6689
-365.6003
245.2333
-138.0278
63.9759
-23.6797
6.6463
-1.2780
0.1311
a =
1.0000
-7.6492
30.8863
-85.6614
181.0421
-307.0919
430.6297
-507.8259
508.1167
-432.2080
310.9209
-186.2955
89.8799
-32.1922
6.3818
1.0849
-1.4540
0.5585
-0.0925
ВИСНОВОК
У даній лабораторній роботі я отримав параметри і характеристики рекурсивних цифрових фільтрів, а також навчився застосовувати засоби програмного пакету MatLab для їх дослідження. Дослідив, що через заокруглення характеристики фільтрів зазнають спотворень, значення яких залежить не тільки від похибки представлення, але і від параметрів фільтра і способу його реалізації ,вплив ефектів заокруглення значень коефіцієнтів особливо проявляється в рекурсивних фільтрах, оскільки коефіцієнти знаменника функції передачі пов’язані з імпульсною характеристикою нелінійно .Як правило, найбільші спотворення виникають в тих випадках, коли АЧХ фільтра має круті скати в перехідних зонах між смугами пропускання і затримки.