РОЗРАХУНОК ТА РЕАЛІЗАЦІЯ РЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ

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

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

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

Рік:
2010
Тип роботи:
Інструкція до лабораторної роботи
Предмет:
Цифрова обробка сигналів та зображень

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»  РОЗРАХУНОК ТА РЕАЛІЗАЦІЯ РЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ ІНСТРУКЦІЯ до лабораторної роботи № 5 з курсу “ Цифрова обробка сигналів і зображень” для студентів спеціальності 8.160102 "Захист інформації з обмеженим доступом та автоматизація її обробки" Затверджено на засіданні кафедри "Захист інформації" Протокол №1 від 27.08.2010 Львів 2010 Розрахунок та реалізація рекурсивних цифрових фільтрів: Інструкція до лабораторної роботи № 5 з курсу ”Цифрова обробка сигналів і зображень” для студентів спеціальності 8.160102 "Захист інформації з обмеженим доступом та автоматизація її обробки" / Укл. В. В. Хома, Я. Р. Совин, Я. В. Решетар - Львiв: Національний університет "Львівська політехніка", 2010. - с. 12. Укладачі: Хома В. В., д.т.н., професор Совин Я. Р., к.т.н., доцент Решетар Я. В., асистент Відповідальний за випуск: Дудикевич В.Б., д.т.н., професор Рецензент: Максимович В.М., д.т.н., професор Пархуць Л.Т., к.т.н., доцент Мета роботи – отримати навики розрахунку параметрів і характеристик рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби програмного пакету Simulink MatLab для їх реалізації та дослідження. 1. ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ ІЗ ПРОЕКТУВАННЯ РЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ Завдання цифрового фільтра полягає у забезпеченні частотно-залежної зміни заданої послідовності даних. В загальному випадку цифровий фільтр підсумовує (з ваговими коефіцієнтами) певну кількість вхідних відліків та певну кількість попередніх вихідних відліків:  (1) де  - відліки вхідного сигналу;  - відліки вихідного сигналу;  і  - коефіцієнти фільтра. Фільтр, який описується рівнянням (1) називається рекурсивним, а більше з чисел  і  - порядком фільтра. Структурна схема фільтра зображена на рис. 1, в якій  означає затримку на один такт.  Рис. 1. Схема цифрового рекурсивного фільтра Відліки сигналу зберігаються в комірках пам’яті, які здійснюють затримку на один такт. Ці відліки перемножуються на коефіцієнти фільтра і підсумовуються, формуючи поточне значення відліку  вихідного сигналу. Така форма реалізації фільтра називається прямою (англ. термін direct form I). Існує ще кілька інших форм реалізації рекурсивних фільтрів детально описаних в [1]. Важливою характеристикою фільтрів є передатна функція , яка є відношенням -перетворень вихідної  і вхідної послідовності  фільтра при нульових початкових умовах: . Виконавши -перетворення виразів (1) і (2), а також враховуючи, що затримка дискретної послідовності на 1 такт відповідає домноженню її -перетворення на  отримаємо передатні функції для рекурсивного і нерекурсивного фільтрів відповідно: , (3) . (4) Використовуючи передатні функції можна отримати комплексні частотні характеристики фільтрів. Для цього виконують підстановку , де  – період дискретизації. Модуль комплексної частотної характеристики  називається амплітудно-частотною характеристикою. Аргумент комплексної частотної характеристики  називається фазо-частотною характеристикою. Залежно від виду АЧХ розрізняють: – фільтри нижніх частот (ФНЧ; англ. термін – low-pass filter) – пропускає частоти, менші певної частоти . Діапазон частот від 0 до  - називається смугою пропускання, решта частотного діапазону – смугою затримки, частота  - називається частотою зрізу. – фільтри верхніх частот (ФВЧ; англ. термін – high-pass filter) – пропускає частоти, більші певної частоти зрізу . – смугові фільтри (СФ; англ. термін – band-pass filter) – пропускає частоти в певному діапазоні …; – режекторні фільтри (РФ; англ. термін – band-stop filter) – пропускає всі частоти, крім тих, які знаходяться в певному діапазоні …; Реальний фільтр відрізняється від ідеального тим, що: загасання в смузі пропускання не рівне нулю (в дБ); загасання в смузі затримки не рівне нескінченності; перехід від смуги пропускання до смуги загасання відбувається поступово, а не стрибкоподібно. Можливі вигляди реальних АЧХ для різних типів фільтрів наведено на рис. 2. На ньому позначено:  - гранична частота смуги пропускання;  - гранична частота смуги затримки;  - максимальне придушення в смузі пропускання;  - мінімальне придушення в смузі затримки;  Рис. 2. Характеристики реальних фільтрів: нижніх частот (а), верхніх частот (б), смуговий (в), режекторний (г) Рекурсивні фільтри при реалізації можуть мати різні характеристики, а саме, пульсації в смузі пропускання, пульсації в смузі затримки, крутизна переходу від смуги пропускання до смуги затримки та ін. Найбільш поширеними на практиці є фільтри Баттерворта, Чебишева 1-го і 2-го роду, еліптичні (фільтри Кауера). Фільтр Баттерворта оптимізований для максимально плоскої АЧХ в смузі пропускання. Викиди на АЧХ відсутні, а крутизна росте з порядком N (рис. 3, а). Фільтри Чебишева в області пропускання (1-го роду) або смузі затримки (2-го роду) мають пульсації з певною максимальною амплітудою, однак перехід із зони запирання у зону пропускання відбувається з більшою крутизною ніж у фільтра Баттерворта (рис. 3, б, в). Еліптичні фільтри мають пульсації АЧХ як в смузі пропускання так і в смузі запирання, але найбільшу крутизну перехідної ділянки (рис. 3, г).  Рис. 3. АЧХ ФНЧ Батерворта (а), Чебишева 1-го роду (б), Чебишева 2-го роду (в) та Кауера (г) порядку N 2. РОЗРАХУНОК РЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ У СЕРЕДОВИЩІ MATLAB Вибрати мінімально необхідний порядок фільтра дозволяють такі однотипні функції: [n, Wn] = buttord(Wp, Ws, Rp, Rs) – для фільтра Баттерворта, [n, Wn] = cheb1ord(Wp, Ws, Rp, Rs) – для фільтра Чебишева 1-го роду, [n, Wn] = cheb2ord(Wp, Ws, Rp, Rs) – для фільтра Чебишева 2-го роду, [n, Wn] = ellipord(Wp, Ws, Rp, Rs) – для еліптичного фільтра, де Rp – допустимий рівень пульсацій в смузі пропускання (в дБ); Rs - мінімально необхідне загасання в смузі затримки (в дБ); параметри Wp і Ws задають границі смуг пропускання і затримки, нормовані до частоти Найквіста (половина частоти дискретизації). У випадку розрахунку СФ і РФ Wp і Ws повинні бути двоелементними векторами. Вихідними параметрами є мінімально необхідний для виконання заданих вимог порядок фільтра n і частота зрізу Wn. Коефіцієнти знаменника a і чисельника b РЦФ розраховуються такими функціями: [b, a] = butter(n, Wn, type) – розрахунок фільтрів Баттерворта. [b, a] = cheby1(n, Rp, Wn, type) – розрахунок фільтрів Чебишева 1-го роду. [b, a] = cheby2(n, Rs, Wn, type) – розрахунок фільтрів Чебишева 2-го роду. [b, a] = ellip(n, Rp, Rs, Wn, type) – розрахунок еліптичних фільтрів. Параметр type присутній лише при розрахунку ФВЧ і РФ і повинен бути рівним відповідно type=’high’ та type=’stop’. Для знаходження АЧХ можна скористатися функцією freqz: H = freqz(b, a, f, Fs) – обчислює значення комплексної передатної функції ЦФ з коефіцієнтами чисельника b і знаменника a для вектора частот заданого в f і частоти дискретизації Fs. 3. ЕФЕКТИ КВАНТУВАННЯ В ЦФ При практичній реалізації цифрових фільтрів неминуче виникає необхідність заокруглення їх вагових коефіцієнтів і вибірок вхідного сигналу. При використанні цифрових сигнальних процесорів це пов’язано з підтримуваними форматами представлення чисел, при створенні програм обробки сигналів для ПК – з прагненням підвищити швидкодію. Із-за округлення характеристики фільтрів зазнають спотворень, значення яких залежить не тільки від похибки представлення, але і від параметрів фільтра і способу його реалізації. Вплив ефектів округлення значень коефіцієнтів особливо проявляється в рекурсивних фільтрах, оскільки коефіцієнти знаменника функції передачі пов’язані з імпульсною характеристикою нелінійно (рис. 3).  Рис. 3. АЧХ еліптичного ФНЧ 9-го порядку до і після квантування Тому реалізація рекурсивних фільтрів високого порядку у прямій формі недоцільна. В цьому випадку найкраще представляти фільтри у вигляді послідовного сполучення простих ланок другого порядку (такі ланки називають біквадратними): . Тоді функцію передачі можна представити як каскадне сполучення біквадратних ланок:  Здійснити перехід від прямої до каскадної форми дозволяє функція tf2sos: [sos] = tf2sos(b, a) Матриця sos має таку структуру: sos = [ b01 b11 b21 1 a11 a21 b02 b12 b22 1 a12 a22 ... b0L b1L b2L 1 a1L a2L ] Функція, яка реалізує цифрову фільтрацію у MatLab, має назву filter. В найпростішому випадку її синтаксис: y = filter(b, a, x), тут b – вектор коефіцієнтів чисельника функції передачі (нерекурсивної частини), а – вектор коефіцієнтів знаменника функції передачі (рекурсивна частина), х – вхідний сигнал; у – вихідний сигнал фільтра. 4. ЗАВДАННЯ 1. Ознайомитись із теоретичними відомостями. 2. Розрахувати мінімально необхідний порядок РЦФ для забезпечення поставлених у таблиці 1 вимог, знайти коефіцієнти ПФ  фільтра та побудувати графіки його АЧХ і ФЧХ, користуючись відповідними процедурами MatLab. Таблиця 1 № Тип фільтру Fs, Гц Fp, Гц Rs, дБ Rp, дБ N, біт Fd, Гц Сигнал  1. ФНЧ Баттерворта 20 10 60 2.0 14 120 Lab_5_1.mat  2. ФВЧ Баттерворта 150 180 55 1.9 12 1000 Lab_5_2.mat  3. СФ Баттерворта [400 1000] [490 880] 60 2.1 18 4000 Lab_5_3.mat  4. РФ Баттерворта [50 150] [35 165] 65 2.2 11 500 Lab_5_4.mat  5. ФНЧ Чебишева 1-го роду 10000 9000 80 1.2 11 40000 Lab_5_5.mat  6. ФВЧ Чебишева 1-го роду 2.5 2 60 1.5 12 15 Lab_5_6.mat  7. СФ Чебишева 1-го роду [40 165] [65 140] 65 1.3 9 450 Lab_5_7.mat  8. РФ Чебишева 1-го роду [300 500] [270 530] 70 1.4 14 2000 Lab_5_8.mat  9. ФНЧ Чебишева 2-го роду 300 280 85 20 11 800 Lab_5_9.mat  10. ФВЧ Чебишева 2-го роду 700 650 80 15 12 5000 Lab_5_10.mat  11. СФ Чебишева 2-го роду [2000 4000] [2200 3800] 70 12 8 12000 Lab_5_11.mat  12. РФ Чебишева 2-го роду [100 200] [80 220] 65 10 9 700 Lab_5_12.mat  13. ФНЧ Кауера 5 4.8 90 1.9 12 30 Lab_5_13.mat  14. ФВЧ Кауера 2000 2400 85 2.1 10 15000 Lab_5_14.mat  15. СФ Кауера [400 900] [450 850] 80 2.0 12 3500 Lab_5_15.mat  16. РФ Кауера [3000 5000] [2700 5300] 85 1.1 8 25000 Lab_5_16.mat  Примітка: В таблиці через  позначено частоту зрізу (для смугових і режекторних фільтрів відповідно нижню та верхню);  i  – рівень коливань характеристик фільтра у смузі пропускання і пригнічення. 3. Виконати альтернативне обчислення коефіцієнтів передатної функції  цифрового фільтра рекурсивного із заданими вище параметрами використовуючи процедуру ‘yulewalk’ пакету MatLab та порівняти графіки частотних арактеристик ,  спроектованих за даними методами. 4. Оцінити вплив 12-бітного квантування коефіцієнтів ПФ  фільтра (п.4) на його характеристики при прямій реалізації та каскадній на основі біквадратних ланок. Провести фільтрацію заданого сигналу, що зберігається у файлі Lab_5_варіант у змінній signal. 5. Синтезувати засобами пакету „Simulink” MATLAB схему рекурсивного фільтра у транспонованій формі для варіанту каскадної реалізації. Приклад. Нехай потрібно розрахувати РЦФ Кауера з такими параметрами: Тип фільтру Fs, Гц Fp, Гц Rs, дБ Rp, дБ N, біт Fd, Гц Сигнал  РФ Кауера [3000 8000] [2500 8500] 80 1.3 14 48000 Lab_5.mat   Лістинг програми в середовищі MatLab % Рекурсивний фільтр Fs=[3000 8000]; % задаємо частоти смуг затримки Fp=[2500 8500]; % задаємо частоти смуг пропускання Rs=80; % пульсації (придушення) в смузі затримки Rp=1.3; % пульсації в смузі пропускання N_bit=14; % кількість біт для представлення дробової частини коефіцієнтів fd=48000; % частота дискретизації 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(:); 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 % завантажуємо сигнал signal_f1 = filter(b, a, signal); % проводимо фільтрацію сигналу 5. ЗМІСТ ЗВІТУ Мета роботи. Повний текст завдання. Лістинг програми, числові і графічні результати та необхідні розрахунки . Висновок. 6. КОНТРОЛЬНІ ЗАПИТАННЯ Що означають поняття рекурсивних і не рекурсивних ЦФ? Як виглядає передатна функція рекурсивних і нерекурсивних фільтрів? Які фільтри більш чутливі до квантування коефіцієнтів? Яким чином можна зменшити вплив ефекту квантування коефіцієнтів? Назвіть основні типи та властивості рекурсивних фільтрів? Які відмінності між ідеальним і реальним ЦФ? Як розраховуються коефіцієнти нерекурсивних фільтрів? 7. СПИСОК ЛІТЕРАТУРИ Сергиенко А. Б. Цифровая обработка сигналов. – СПб.: Питер, 2002. – 608 с. Дьяконов В. MATLAB. Обработка сигналов и изображений. Специальный справочник. – СПб.: Питер, 2002. – 608 с. Шрюфер Э. Обработка сигналов: цифровая обработка дискретизированных сигналов. – К.: Либідь, 1995. – 320 с. Лазарев Ю. Ф. MatLab 5.х. – К.: BHV, 2000. – 384 с. Бабак В. П., Хандецький В. С., Шрюфер Е. Обробка сигналів: Підручник. – К.: Либідь, 1996. – 392 с.
Антиботан аватар за замовчуванням

20.09.2012 21:09-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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