Початок роботи

Створіть у своїй папці папку з назвою LAB3. Після відкриття MATLAB перейдіть працювати у свою папку. Надрукуйте fdatool в командному рядку MATLAB:

>>fdatool

З'являється діалогове вікно з пропозиціями використовувати FDATool. Потім, GUI відображає типовий фільтр.

GUI має три головні області:

- Область інформації про поточний фільтр (The Current Filter Information region),

- Область показу фільтра (The Filter Display region),

- Панель Дизайну (The Design panel) (Нижня половина вікна).

Верхня половина GUI представляє інформацію щодо специфікацій фільтра та характеристик поточного фільтра. Область Current Filter Information, угорі ліворуч, показує властивості фільтра:

- структуру фільтру,

- порядок фільтра,

- стійкий фільтр чи ні,

- забезпечує доступ до менеджера фільтра для роботи з створеними раніше фільтрами. Область показу фільтра (The Filter Display region), угорі праворуч, показує різні характеристики фільтра, наприклад, амплітудна характеристика, групова затримка і коефіцієнти фільтра.

Половина GUI, що знаходиться внизу – це інтерактивна частина FDATool. На панелі дизайну (The Design Panel) ви визначаєте ваші специфікації фільтру. Вона контролює, що виводиться в інших двох верхніх регіонах. Інші панелі можуть бути показані за допомогою кнопок бічного меню.

Інструмент включає в себе контекстно-залежну допомогу. Ви можете клацнути правою кнопкою миші або клацнути по кнопці What's This? (Що це?), щоб отримати інформацію щодо різних частин інструменту.

3.3. Проектування фільтра

Ми розробимо низькочастотний фільтр, який передає всі сигнали з частотами менш, або рівні 20% частоти Найквіста та затухаючі частоти більш або рівні 50% частоти Найквіста. Ми будемо використовувати FIR Equiripple фільтр з наступними специфікаціями:

Поглинання (втрати сигналу в обладнанні та лінії, вимірювані в децибелах) смуги пропускання (Passband attenuation) 1 dB.

Поглинання смуги затримки (Stopband attenuation) 80 dB. Частота смуги пропускання (A passband frequency) 0.2 [Нормалізована (0 1)] [Normalized (0 to 1)].

Частота смуги пропускання (A stopband frequency) 0.5 [Нормалізована (0 1)] [Normalized (0 to 1)].

Щоб здійснювати цей дизайн, ми будемо використовувати наступні специфікації.

1. Виберіть Lowpass з спливаючого меню під Response Type і Equiripple під Design Method FIR. Взагалі, коли ви змінюєте тип відповіді або метод дизайну, параметри фільтру та області показу фільтра модифікуються автоматично.

2. Виберіть Specify order в області Filter Order та введіть 30.

3. Фільтр Equiripple FIR має опцію Density Factor, яка управляє щільністю частотної сітки. Чим більше значення, тим ближче ваш фільтр до ідеального фільтру equiripple, але при цьому потрібно більше часу на створення так як зростає кількість обчислень. Залиште значення 20.

4. Виберіть Normalized (0 1) з випадаючого меню в області Frequency Specifications.

5. Введіть 0.2 для wpass і 0.5 для wstop в області Frequency Specifications.

6. Wpass і Wstop, в області специфікацій амплітуди – це вагові коефіцієнти, на які домножаются амплітуди діапазонів wpass і wstop відповідно, використані в процесі оптимізації у фільтрі Equiripple FIR. Залиште ці значення рівними 1.

7. Після установки специфікацій дизайну, клацніть кнопку Design Filter внизу GUI, щоб створити фільтр.

АЧХ фільтра буде показана в області аналізу фільтра після обчислення коефіцієнтів.

3.4. Перегляд інших характеристик фільтра

Як тільки ви розробили фільтр, ви можете розглядати інші характеристики фільтра у вікні показу, клацаючи по кожній із кнопок на панелі інструментів. Кнопки в порядку зліва направо:

- АЧХ (Magnitude response).

- Фазо-частотна характеристика (ФЧХ) (Phase response).

- АЧХ і ФЧХ на одному графіку (Magnitude and Phase responses).

- Характеристика групової затримки (Group delay response).

- Характеристика затримки по фазі (Phase delay response).

- Імпульсна характеристика (Impulse response).

- Реакція на стрибок (Step response).

- АФХ характеристика в кутових координатах

(Pole-zero plot).

- Коефіцієнти фільтра (Filter Coefficients).

- Інформація про фільтр (Filter Information).

3.5. Зміна одиниць вимірювання осей

Ви можете змінювати одиниці вимірювання осі абсцис або ординат, клацаючи правою кнопкою миші по мітці осі та вибираючи бажані одиниці. Поточні одиниці позначені «галочкою».

3.6. Відмітка точок даних

В області показу ви можете клацнути по якій-небудь точці на графіку, щоб додати маркер даних, який показує значення в цій точці.

Після клацання правою кнопкою по маркеру з'являється меню, завдяки якому ви можете переміщати та видаляти маркери або уточнювати зовнішній вигляд маркерів даних у цілому.

3.7. Оптимізація дизайну

Для мінімізації складності фільтра, можна скоротити число коефіцієнтів опцією Minimum Order на панелі дизайну.

У Design Region змініть опцію Filter Order на Minimum Order, а інші параметри залиште так як вони є.

Клацніть кнопку Design Filter, щоб створити новий фільтр. Як ви можете бачити в Current Filter Information в поле Order, значення зменшилося з 30 до 16, кількість хвиль на графіку зменшилася, а їх ширина збільшилася. Специфікації смуг пропускання та затримки ще відповідають критеріям дизайну.

3.8. Використання іншої структури фільтра

Наш фільтр – це Direct-form FIR. Зазвичай Direct-Form FIR Transposed реалізується за допомогою технічних засобів. Ви можете використовувати Convert Structure з меню Edit щоб поміняти поточний фільтр на нову схему. Фільтри можуть бути змінені на Direct-Form FIR, Direct-Form FIR Transposed, Direct-Form Symmetric FIR.

3.9. Зміна параметрів аналізів

Клацаючи правою кнопкою по графіку та вибираючи Analyses Parameters ви можете викликати діалогове вікно для зміни певних параметрів аналізу. Щоб зберегти показані значення параметрів за замовчуванням, клацніть по Save as Default. Щоб відновити MATLAB – початкові значення за замовчуванням, клацніть по Restore Original Defaults.

3.10. Експорт фільтру

Як тільки Ви будете задоволені вашим дизайном, ви можете експортувати Ваш фільтр в:

MATLAB workspace (робоча область MATLAB),

MAT-file (МАТ-файл),

Text-file (текстовий файл).

Виберіть Export (експорт) з меню File (файл).

Якщо здійснюється експорт в робочу область MATLAB, ви можете експортувати як коефіцієнти так і об'єкт (фільтр), вибираючи з меню, що випадає, Export (експорт).

Якщо ви хочете експортувати об'єкт (Еxport as object), властивості об'єкта визначають багато аспектів його вигляду та поведінки. Ви можете використовувати команди GET (ОТРИМАТИ) та SET (ВСТАНОВИТИ) з командного рядка MATLAB, щоб отримати доступ і маніпулювати значеннями властивостей об'єкта.

3.11. Генерація M-файла (M-file)

FDATool дозволяє вам згенерувати m-код, щоб відтворити ваш фільтр. Це дозволяє вам вбудовувати ваш фільтр в існуючий код або автоматизувати створення фільтрів у сценарії.

Виберіть Generate M-file (згенерувати m-файл) з меню File (файл) і конкретизуйте ім'я файлу в діалоговому вікні генерації m-файлу.

3.12. Перетворення фільтра (Quantizing a Filter)

Якщо у вас встановлений Filter Design Toolbox, Set quantization parameters panel доступна в бічному меню . Ви можете використовувати цю панель для перетворення та аналізу фільтрів подвоєної точності. За допомогою Filter Design Toolbox ви можете перетворювати фільтри подвійної точності у фільтри з одинарною точністю.

Якщо у вас встановлений Fixed Point Toolbox, ви можете перетворювати фільтри у фільтри, в яких використовується точність обчислень з фіксованою точкою.

Відзначимо, що не можна змішувати обчислення з плаваючою точкою та обчислення з фіксованою точкою в одному фільтрі.

3.13. Цільові об'єкти

Меню Targets дозволяє вам генерувати різні види коду, що представляють Ваш фільтр. Наприклад, ви можете генерувати заголовні файли C, XILINX коефіцієнти файлів і HDL за допомогою дизайну фільтра з HDL компілятором.

Питання для самоперевірки

1. Що таке FDATool і GUI?

2. Що таке АЧХ, ФЧХ і АФХ?

3. Що означає Equiripple FIR Filter?

4. Що означають Impulse response і Step response?

5. Що означає Експорт фільтру та як він здійснюється?