МІНІСТЕРСТВО ОСВІТИ І НАУКИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра ЗІ
ЗВІТ
до лабораторної роботи #5
з курсу:
«Цифрова обробка сигналів»
на тему:
«Проектування та дослідження рекурсивних
цифрових фільтрів»
Мета роботи – отримати навики розрахунку параметрів і характеристик рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби програмного пакету MatLab для їх реалізації та дослідження.
Завдання до лабораторної роботи :
Ознайомитись із теоретичними відомостями.
Розрахувати мінімально необхідний порядок РЦФ для забезпечення поставлених у табл. 1 вимог, знайти коефіцієнти ПФ фільтра та побудувати графіки його АЧХ і ФЧХ, користуючись відповідними процедурами MatLab.
Оцінити вплив N-бітного квантування коефіцієнтів фільтра на його характеристики при прямій реалізації та каскадній на основі біквадратних ланок. З метою порівняння побудувати на одному графіку АЧХ рекурсивного фільтра у прямій формі реалізації та на основі ланок 2-го порядку.
За допомогою функції MatLab filter провести фільтрацію сигналу типу “білий шум”, що генерується у змінній signal. Вивести графіки часового і частотного представлення сигналів на вході на виході рекурсивного фільтра.
Таблиця 1
№
Тип фільтру
Fs,
Гц
Fp,
Гц
Rs,
дБ
Rp, дБ
N,
біт
Fd,
Гц
10.
ФВЧ Чебишева 2-го роду
650
700
60
15
12
5000
Лістинг програми:
clc; % очистити командне вікно
clear all; % звільнити пам'ять
%%%%%%%%%%%%%%ВАРІАТИВНА ЧАСТИНА%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Fs=[650]; % задаємо частоти смуг затримки
Fp=[280]; % задаємо частоти смуг пропускання
Rs=60; % пульсації (придушення) в смузі затримки
Rp=15; % пульсації в смузі пропускання
N_bit=12; % кількість біт для представлення дробової частини коефіцієнтів
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); % знаходимо коефіцієнти чисельника та знаменника фільтра
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, a...