МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
РОЗРАХУНОК, РЕАЛІЗАЦІЯ ТА ДОСЛІДЖЕННЯ
НЕРЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ
ІНСТРУКЦІЯ
до лабораторної роботи № 6
з курсу “ Цифрова обробка сигналів і зображень”
для студентів спеціальності 8.160102
"Захист інформації з обмеженим доступом та автоматизація її обробки"
Затверджено
на засіданні кафедри
"Захист інформації"
Протокол №1 від 27.08.2010
Львів 2010
Розрахунок та реалізація нерекурсивних цифрових фільтрів: Інструкція до лабораторної роботи № 6 з курсу ”Цифрова обробка сигналів і зображень” для студентів спеціальності 8.160102 "Захист інформації з обмеженим доступом та автоматизація її обробки" / Укл. В. В. Хома, Я. Р. Совин, Я. В. Решетар - Львiв: Національний університет "Львівська політехніка", 2010. - с. 7.
Укладачі: Хома В. В., д.т.н., професор
Совин Я. Р., к.т.н., доцент
Решетар Я. В., асистент
Відповідальний за випуск: Дудикевич В.Б., д.т.н., професор
Рецензент: Максимович В.М., д.т.н., професор
Пархуць Л.Т., к.т.н., доцент
Мета роботи – отримати навики розрахунку параметрів і характеристик нерекурсивних цифрових фільтрів, а також навчитися застосовувати засоби програмного пакету Simulink MatLab для їх реалізації та дослідження.
1. ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ ІЗ ПРОЕКТУВАННЯ НЕРЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ
Запроектувати нерекурсивний цифровий фільтр означає розрахувати коефіцієнти чисельника передатної функції, оскільки знаменник дорівнює 1.
Вихідний сигнал нерекурсивного цифрового фільтра формується лише зваженими поточною та М попередніми вибірками від значень вхідного сигналу
(1)
Такий фільтр називається нерекурсивним несиметричним фільтром порядку , його структурна схема наведена на рис. 1. Для нерекурсивного симетричного фільтра є справедливим вираз
(2)
Рис. 1. Блок-схема цифрового нерекурсивного фільтра
Для розрахунку нерекурсивних фільтрів методом дискретизації амплітудно-частотної характеристики застосовуються такі вирази:
1. Фільтри нижніх частот (ФНЧ)
,
де - частота зрізу;
- частота дискретизації.
2. Фільтр верхніх частот (ФВЧ)
,
де - коефіцієнти всечастотного фільтра, для якого і для .
3. Смуговий фільтр (СФ)
,
де - коефіцієнти ФНЧ розраховані для нижчої частоти зрізу;
- коефіцієнти ФНЧ розраховані для вищої частоти зрізу.
4. Режекториний фільтр (РФ)
,
де - коефіцієнти ФНЧ розраховані для меншої частоти зрізу;
- коефіцієнти ФНЧ розраховані для більшої частоти зрізу.
2. РОЗРАХУНОК НЕРЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ
У СЕРЕДОВИЩІ MATLAB
Розрахунок коефіцієнтів НЦФ за методом дискретизації АЧХ в MatLab здійснюється функцією fir1, синтаксис якої такий:
b = fir1(n, fn, ‘ftype’, window, ‘normalization’);
тут n – порядок фільтра, параметри fn і ‘ftype’ визначають частоту зрізу (нормовану до частоти Найквіста) та тип синтезованого фільтра. Для ФНЧ і СФ параметр ‘ftype’ відсутній, для ФВЧ - ‘ftype’ = ‘high’, для РФ - ‘ftype’ = ‘stop’. Для смугових і режекторних фільтрів параметр fn повинен бути двоелементним вектором, який задає частоти зрізу. Параметр ‘normalization’ керує масштабуванням імпульсної характеристики фільтра, при значенні ‘noscale’ нормування не здійснюється.
Параметр window задає використане при синтезі вікно для зменшення ефекту Гібса. Таке вікно представляє вектор стовпець з n+1 елементами. За замовчуванням використовується вікно Хемінга. Для обчислення вікон різного типу в MatLab передбачені функції:
w = bartlett(n) – створює вектор-стовпець з n елементів вікна Бартлета.
w = blackman(n) - створює вектор-стовпець з n елементів вікна Блекмана.
w = boxcar(n) - створює вектор-стовпець з n елементів прямокутного вікна.
w = chebwin(n, r) - створює вектор-стовпець з n елементів вікна Чебишева, де r – бажаний рівень допустимих пульсацій в смузі загасання в децибелах.
w = hamming(n) – створює вектор-стовпець з n елементів вікна Хемінга.
w = hanning(n) – створює вектор-стовпець з n елементів вікна Хенінга.
w = triang(n) – створює вектор-стовпець з n елементів трикутного вікна.
У MatLab синтез НЦФ з лінійною ФЧХ за критерієи мінімальної похибки відтворення заданої АЧХ в заданому наборі частотних смуг здійснюється функцією firls, синтаксис якої у спрощеному варіанті такий:
b = firls(n, f, a);
де n – порядок фільтра;
параметри f і a, що визначають вигляд потрібної АЧХ, мають бути однакової парної довжини.
При практичній реалізації цифрових фільтрів неминуче виникає необхідність заокруглення їх вагових коефіцієнтів і вибірок вхідного сигналу. При використанні цифрових сигнальних процесорів це пов’язано з підтримуваними форматами представлення чисел, при створенні програм обробки сигналів для ПК – з прагненням підвищити швидкодію.
Внаслідок заокруглення характеристики фільтрів зазнають спотворень, значення яких залежить не тільки від похибки представлення, але і від параметрів фільтра і способу його реалізації.
В нерекурсивних фільтрах вагові коефіцієнти збігаються із відліками імпульсної характеристики і лінійно пов’язані з комплексним коефіцієнтом передачі. Тому малі спотворення коефіцієнтів приводять до малих спотворень частотних характеристик і внесені заокруглення проявляються незначно (рис. 2). Проте потрібно обов’язково контролювати параметри фільтра після округлення, щоб перевірити, чи задовольняє квантований фільтр поставленим вимогам.
Рис. 2. АЧХ нерекурсивного ФНЧ 250 порядку перед (а) і після (б)
заокруглення коефіцієнтів до 8-ми розрядів після коми
Функція, яка реалізує цифрову фільтрацію у MatLab, має назву filter. В cпрощеному варіанті її синтаксис такий:
y = filter(b, a, x),
тут b – вектор коефіцієнтів чисельника функції передачі (нерекурсивної частини), а – вектор коефіцієнтів знаменника функції передачі (рекурсивна частина), х – вхідний сигнал; у – вихідний сигнал фільтра.
3. ЗАВДАННЯ
1. Ознайомитись із теоретичними відомостями.
2. Розрахувати перші 5 коефіцієнтів нерекурсивного фільтра згідно заданого варіанту без накладання вікна за формулами наведеними в розділі 1.
3. На основі дискретизації ідеальної амплітудно-частотної характеристики з параметрами наведеними в таблиці 1, знайти відповідну імпульсну характеристику для фільтру НЦФ із лінійною фазочастотною характеристикою. Накреслити окрім характеристик і також отриману реальну амплітудно-частотну характеристику . Для всіх варіантів прийняти часоту дискретизації Fs=2000 Гц.
Таблиця 1.
Варіант
Тип фільтра
Порядок
, Hz
Тип вікна
1
ФНЧ
30
300
Hamming
2
ФНЧ
30
200
Hanning
3
ФНЧ
30
100
Blackman
4
ФНЧ
30
500
Hann
5
ФВЧ
30
700
Bartlett
6
ФВЧ
30
800
Chebyshev
7
ФВЧ
30
900
Gaussian
8
ФВЧ
30
500
Kaiser
9
СФ
20
200/700
Hamming
10
СФ
20
300/800
Hanning
11
СФ
20
100/900
Blackman
12
СФ
20
300/700
Hann
13
РФ
20
200/700
Bartlett
14
РФ
20
300/800
Chebyshev
15
РФ
20
100/900
Gaussian
16
РФ
20
300/700
Kaiser
У таблиці: n – порядок НЦФ; Fc – частота зрізу (для фільтрів СФ і РФ відповідно нижня і верхня).
4. Для зменшення пульсацій реальної амплітудно-частотної характеристики змодифікувати імпульсну характеристику користуючись функцію вікна. Провести порівняльний аналіз результатів у вигляді діаграм первинної характеристики а також згладженої .
5. Користуючись функцією MATLAB filter розрахувати вигляд сигналу на виході фільтра із вигладженою амплітудно-частотною характеристикою, якщо вхідний сигнал описується функцією Діріхле , де S =21 – степінь функції.
6. Реалізувати два варіанти визначення спектра вихідного сигналу фільтра:
як перетворення Фур’є часової функції вихідного сигналу ;
як добутку спектру вхідного сигналу а передатної функції фільтра.
7. Для НЦФ із поданими в таблиці параметрами виконати альтернативне обчислення коефіцієнтів transmitancji за методом найменших квадратів (функція ‘firls’ MATLAB) беручи до уваги обмеження, що стосуються відхилення амплітудно-частотної характеристики в смузі пропускання Dp=0,05 і пригнічення Ds=0,02. Порівняти діаграми і .
4. ЗМІСТ ЗВІТУ
Мета роботи.
Повний текст завдання.
Лістинг програми, числові і графічні результати та необхідні розрахунки .
Висновок.
5. КОНТРОЛЬНІ ЗАПИТАННЯ
Що означають поняття рекурсивних і нерекурсивних ЦФ?
Як виглядає передатна функція рекурсивних і нерекурсивних фільтрів?
Які фільтри більш чутливі до квантування коефіцієнтів?
Яким чином можна зменшити вплив ефекту квантування коефіцієнтів?
Назвіть основні типи та властивості рекурсивних фільтрів?
Які відмінності між ідеальним і реальним ЦФ?
Як розраховуються коефіцієнти нерекурсивних фільтрів?
6. СПИСОК ЛІТЕРАТУРИ
Сергиенко А. Б. Цифровая обработка сигналов. – СПб.: Питер, 2002. – 608 с.
Дьяконов В. MATLAB. Обработка сигналов и изображений. Специальный справочник. – СПб.: Питер, 2002. – 608 с.
Шрюфер Э. Обработка сигналов: цифровая обработка дискретизированных сигналов. – К.: Либідь, 1995. – 320 с.
Лазарев Ю. Ф. MatLab 5.х. – К.: BHV, 2000. – 384 с.
Бабак В. П., Хандецький В. С., Шрюфер Е. Обробка сигналів: Підручник. – К.: Либідь, 1996. – 392 с.