You are on page 1of 6

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»

ІКТА
кафедра ЗІ

ЗВІТ
до лабораторної роботи №6

з курсу: «Цифрова обробка сигналів»


на тему: «ПРОЕКТУВАННЯ ТА ДОСЛІДЖЕННЯ
РЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ»

Варіант № 10

Виконав: ст. гр. КБ-32


Мурак Тарас Євгенович
.
Прийняв: Хома В.В.

Львів 2023
Мета роботи – отримати навики розрахунку параметрів і характеристик
рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби
програмного пакету MatLab для їх реалізації та дослідження.

ЗАВДАННЯ
1. Ознайомитись із теоретичними відомостями.
2. Розрахувати мінімально необхідний порядок РЦФ для забезпечення
поставлених у табл. 1 вимог, знайти коефіцієнти ПФ H z фільтра та
побудувати графіки його АЧХ і ФЧХ, користуючись відповідними
процедурами MatLab.
3. Оцінити вплив N-бітного квантування коефіцієнтів фільтра на його
характеристики при прямій реалізації та каскадній на основі біквадратних
ланок. З метою порівняння побудувати на одному графіку АЧХ рекурсивного
фільтра у прямій формі реалізації та на основі ланок 2-го порядку.
4. За допомогою функції MatLab filter провести фільтрацію сигналу типу
“білий шум”, що генерується у змінній signal. Вивести графіки часового і
частотного представлення сигналів на вході на виході рекурсивного фільтра.

Fs, Fp, Rs, Rp, N, Fd,


№ Тип фільтру
Гц Гц дБ дБ біт Гц
ФВЧ Чебишева 2-го
10. 650 700 60 15 12 5000
роду

ХІД РОБОТИ

Код до програми
clc,clear all,close all, % очищення ерану командного рядка, всіх змінних та закриття всіх
вікон
%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Fstop=[650]; % граничні частоти смуг пропускання
Fpass=[700]; % граничні частоти смуг затримки
Astop=60; % рівень заглушення в смузі затримки
Apass=15; % максимальний допустимий рівень втрат в смузі пропускання
N_bit=12; % кількість бітів для квантування коефіцієнтів фільтра
Fs=5000; % частота дискретизації сигналу
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
f_N = Fs/2; % половину частоти дискретизації
Fs_norm = Fstop/f_N; % нормалізована частота зупинки
Fp_norm = Fpass/f_N; % нормалізована частота передачі
[n, Wn] = cheb2ord(Fp_norm, Fs_norm, Apass, Astop); % порядок n та нормалізована частота
Wn
n %
fc = Wn * f_N % центральна частота фільтра
[b, a] = cheby2(n,Astop,Wn, 'high'); % коефіцієнти фільтра Chebyshev Type II для високих
частот
b=b' %
a=a' %
f = 0 :1: f_N; % від 0 до f_N з кроком 1
h = freqz(b, a, f,Fs); % комплексна частотна характеристику фільтра
bq = round(2^N_bit*b)/2^N_bit; % квантовані коефіцієнти фільтра
aq = round(2^N_bit*a)/2^N_bit; % квантовані коефіцієнти фільтра
hq = freqz(bq, aq, f, Fs); % комплексна частотна характеристика фільтра з квантованими
коефіцієнтами
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, Fs); % розраховуємо комплексний коефіцієнт передачі

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) /Fs, signal); grid on; % будуємо графік первинного сигналу
title ('Cигнал типу "білий шум"');

subplot(212);
stem((0 : length(signal)-1) /Fs, signal_r); grid on; % графік сигналу на виході НЦФ без вікна
title ('Cигнал на виході РЦФ з дійсними коефіцієнтами');

% subplot(313);
% stem((0 : length(signal)-1) /fd, signal_q); grid on; % графік сигналу на виході НЦФ без
вікна
% title ('Cигнал на виході РЦФ з квантованими коефіцієнтами');

N=length(signal); % довжина сигналу signal


df=Fs/N; % дискретний крок частоти (df), розділяючий кожну точку спектру
F0=(N-1)*df; %верхня границя частотного діапазону, яка відповідає найвищій частоті спектру
f=(-F0/2):df:F0/2; % від -F0/2 до F0/2 з кроком df
x1=fft(signal); % швидке перетворення Фур'є (FFT) над вхідним сигналом signal
xx1=fftshift (x1); % переміщення нульової частоти в центр спектру
xx1=abs(xx1); % амплітудний спектр

figure(5); % графіки в частотній області


subplot(211);
stem (f,xx1); title('Амплітудний спектр вхідного сигналу'); %Амплітудний спектр вхідного
сигналу

x2=fft(signal_r); % швидке перетворення Фур'є (FFT) над сигналом signal_r


xx2=fftshift (x2);% переміщує нульову частоту в центр спектру
xx2=abs(xx2); % амплітудний спектр, взявши модуль комплексного спектру

subplot(212); %Амплітудний спектр на виході фільтра (з дійсними коефієнтами)


stem (f,xx2); title('Амплітудний спектр сигналу на виході РЦФ з дійсними коефіцієнтами');

Рис. 1. Амплітудно-частотна та фазо-частотна характеристика сигналу до та


після квантування

Рис. 2. Амплітудно-частотна характеристика сигналу до та після квантування (в


децибелах)
Рис. 3. Графік амплітудно-частотної характеристики фільтра до (у прямій формі)
і після (у каскадній формі) квантування

Рис. 4. Графік первинного сигналу (білий шум) та сигналу на виході


рекурсивного цифрового фільтра (РЦФ) з дійсними коефіцієнтами
Рис. 5. Графік амплітудного спектру вхідного сигналу та графік амплітудного
спектру сигналу на виході фільтра

Висновок: на цій лабораторній роботі я отримав навики розрахунку


параметрів і характеристик рекурсивних цифрових фільтрів, а також навчився
застосовувати засоби програмного пакету MatLab для їх реалізації та
дослідження.
Вплив N-бітного квантування коефіцієнтів фільтра на його
характеристики може відбутися у двох різних реалізаціях фільтра: прямій
формі та каскадній формі на основі біквадратних ланок. У обох випадках вплив
N-бітного квантування буде залежати від роздільної здатності квантування та
вимог до точності фільтрації. Зменшення роздільної здатності може призвести
до більш помітних спотворень, а збільшення роздільної здатності може
забезпечити більш точну апроксимацію неперервних коефіцієнтів, але
вимагатиме більшої обчислювальної потужності та ресурсів.

You might also like