Дискретне перетворення фур'є

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2018
Тип роботи:
Лабораторна робота
Предмет:
Цифрові методи оброблення сигналів та зображень

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” / Лабораторна робота № 2 РОЗРАХУНОК ЦИФРОВИХ ФІЛЬТРІВ В СЕРЕДОВИЩІ MATLAB з курсу “Цифрові методи оброблення сигналів та зображень” Варіант 4 Львів – 2018 Мета роботи – отримати навики розрахунку параметрів і характеристик цифрових фільтрів в середовищі MatLab. ЗАВДАННЯ 1. Ознайомитись з теоретичним матеріалом. 2. Розрахувати перші 5 коефіцієнтів нерекурсивного фільтра згідно заданого варіанту при відсутності накладання вікна. 3. Скласти програму в середовищі MatLab згідно завдання. 3.1. Розрахувати мінімально необхідний порядок вказаного типу фільтра для забезпечення поставлених вимог. Знайти коефіцієнти фільтра. Побудувати АЧХ розрахованого фільтра. Оцінити вплив N-бітного квантування коефіцієнтів фільтра на його характеристики при прямій реалізації та каскадній на основі біквадратних ланок. Провести фільтрацію заданого сигналу, що зберігається у файлі Lab_2_варіант у змінній signal. Таблиця 1. № Тип фільтру Fs, Гц Fp, Гц Rs, дБ Rp, дБ N, біт Fd, Гц Сигнал  4. РФ Баттерворта [50 150] [35 165] 65 2.2 11 500 Lab_2_4.mat   3.2. Розрахувати коефіцієнти вказаного типу нерекурсивного фільтра в середовищі MatLab та порівняти перші 5 коефіцієнтів зі знайденими аналітично при домашній підготовці. Побудувати АЧХ розрахованого фільтра. Провести фільтрацію заданого сигналу, що зберігається у файлі Lab_2_варіант у змінній signal. Таблиця 2. № Тип фільтру Порядок фільтру Частота зрізу Wn, Гц Частота дискретизації Fd, Гц Сигнал  4. ФНЧ з вікном Хемінга 300 [40 160] 500 Lab_2_4.mat   Лістинг програми % ФНЧ Кауера Fs=5; % задаємо частоти смуг затримки Fp=4.8; % задаємо частоти смуг пропускання Rs=90; % пульсації (придушення) в смузі затримки Rp=1.9; % пульсації в смузі пропускання N_bit=12; % кількість біт для представлення дробової частини коефіцієнтів fd=30; % частота дискретизації 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); % знаходимо коефіцієнти чисельника та % знаменника фільтра b = b(:); % перетворюємо вектор рядок у стовпець a = a(:); b % виводимо коефіцієнти чисельника a % виводимо коефіцієнти знаменника f = 0 : 1 : f_N; % задаємо вектор частот для розрахунку АЧХ h = freqz(b, a, f, fd); % розраховуємо комплексний коефіцієнт передачі figure(11); plot(f, abs(h)); 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(12); 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(sos); % повертаємось до прямої форми представлення hs = freqz(bs, as, f, fd); % розраховуємо комплексний коефіцієнт передачі figure(13); plot(f, abs(hs)); grid on; % будуємо графік АЧХ load Lab_2_13 % завантажуємо сигнал signal_f1 = filter(b, a, signal); % проводимо фільтрацію сигналу % ФНЧ Хемінга N = 370; % порядок фільтру fc = 4.9; % частоти зрізу fd = 30; % частота дискретизації f_N = fd/2; % частоти зрізу fc_norm = fc / f_N; % нормовані частоти зрізу b1 = fir1(N, fc_norm, hamming(N+1), 'noscale'); % розрахунок коефіцієнтів фільтра з вікном b2 = fir1(N, fc_norm, boxcar(N+1), 'noscale'); % розрахунок коефіцієнтів фільтра без вікна f = 0 : 0.01 : f_N; % задаємо вектор частот для розрахунку АЧХ h1 = freqz(b1, 1, f, fd); % розраховуємо комплексний коефіцієнт передачі h2 = freqz(b2, 1, f, fd); % розраховуємо комплексний коефіцієнт передачі figure(14); plot(f, abs(h1), f, abs(h2)); grid on ; legend('1', '2'); % будуємо графік АЧХ обох фільтрів signal_f2 = filter(b1, 1, signal); % проводимо фільтрацію сигналу figure(15); subplot(311); plot((0 : length(signal)-1) / fd, signal); grid on; % будуємо графік первинного сигналу subplot(312); plot((0 : length(signal)-1) / fd, signal_f1); grid on; % графік сигналу на виході рекурсивного фільтра subplot(313); plot((0 : length(signal)-1) / fd, signal_f2); grid on; % графік сигналу на виході нерекурсивного фільтра Результати / Рис.1. Графік АЧХ перед заокругленням коефіцієнтів / Рис.2. Графік АЧХ фільтру до і після квантування / Рис.3. Графік АЧХ після заокругленням коефіцієнтів / Рис.4. Графік АЧХ обох фільтрів / Рис.5. Графік: а) первинного сигналу; б) сигналу на виході рекурсивного фільтра; в) сигналу на виході нерекурсивного фільтра Висновок: на даній лабораторній роботі я отримав навики розрахунку параметрів і характеристик цифрових фільтрів в середовищі MatLab.
Антиботан аватар за замовчуванням

10.06.2018 13:02

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!