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

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

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

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

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

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” / Лабораторна робота № 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:06-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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