Моделирование цифровой обработки сигналов в МЛТЬЛБ.
Часть 7. Моделирование цифровых фильтров средствами программ GUI MATLAB: GUI FDATool
Алла СОЛОНИНА
В предлагаемом цикле «Моделирование цифровой обработки сигналов в МДТЬДБ» предыдущие статьи [6—11] были посвящены моделированию цифровых фильтров (ЦФ), КИХ и БИХ, в том числе с фиксированной точкой (ФТ), программными средствами МДТЬДБ.
Fie С<* АГ&ГІ& TVflet* Mew Window Не*
□ & Н а & £> & О SJ НЕЕйАШ-гНШОНВ W
Рис. 1. Окно Filter Design & Analysis Tool
На основе программных средств в MATLAB разработаны программы GUI (Graphic User Interface — графический интерфейс пользователя), представляющие собой средства, предназначенные для моделирования путем интерактивного общения без прямого доступа к программным средствам с графическим выводом результатов. В частности, для моделирования ЦФ разработаны две программы GUI — FDATool и SPTool.
Настоящая статья посвящена проектированию ЦФ средствами GUI FDATool.
Проектирование цифровых фильтров средствами GUI FDATool
Программа GUI FDATool (Filter Design and Analysis Toolbox — средства проектирования и анализа фильтров) разработана на основе пакетов расширения Signal Processing Toolbox и Filter Design Toolbox и предназначена для проектирования цифровых фильтров.
С этой статье рассматриваются следующие основные задачи, связанные с проектированием ЦФ и решаемые средствами GUI FDATool:
• синтез ЦФ;
• выбор структуры ЦФ;
• анализ ЦФ;
• сохранение ЦФ на время сеанса в GUI FDATool;
• экспорт ЦФ как объектов dfilf;
• импорт ЦФ как объектов dfilf;
• моделирование структуры ЦФ с ФТ. Обращение к GUI FDATool происходит по
команде:
после чего открывается окно Filter Design & Analysis Tool (рис. 1) с привычным интерфейсом современных Windows-приложений.
Синтез цифровых фильтров
Синтез ЦФ производится при открытом окне Filter Design & Analysis Tool и нажатой кнопке Design Filter («Проектирование фильтра»), расположенной на панели инструментов в нижнем левом углу (рис. 1).
Основные этапы синтеза ЦФ в GUI FDATool включают в себя:
1. Выбор типа ЦФ. Тип фильтра выбирается в группе Design Method («Метод синтеза») с помощью переключателя IIR (БИХ-фильтр) или FIR (КИХ-фильтр).
2. Выбор метода синтеза ЦФ. Метод синтеза выбирается в группе Design Method в раскрывающихся списках FIR или IIR.
3. Задание входных параметров. Входные параметры задаются в группе Options («Параметры»), и их набор зависит от типа ЦФ (КИХ или БИХ), метода синтеза и переключателя в группе Filter Order («Порядок фильтра»). Входные параметры обсуждаются далее.
4. Задание требований к АЧХ. Требования к АЧХ включают в себя:
- Тип избирательности, задаваемый в группе Response Type («Тип характеристики») с помощью переключателей Lowpass (ФНЧ), Highpass (ФВЧ), Bandpass (ПФ) или Bandstop (РФ).
- Частоту дискретизации и граничные частоты полос пропускания (ПП) и полос задерживания (ПЗ), задаваемые в группе
fdatool
Frequency Specifications («Требования к частотам»). Предварительно в раскрывающемся списке Units («Единицы измерения») указываются единицы измерения частот, после чего задаются частоты:
■ в поле ввода Fs — частота дискретизации;
■ в полях ввода Fpass, Fstop — граничные частоты ПП и ПЗ.
- Допустимые отклонения АЧХ в ПП и ПЗ, задаваемые в группе Magnitude Specifications («Требования к АЧХ»). Предварительно в раскрывающемся списке Units указываются единицы измерения АЧХ:
■ Linear («Безразмерный») — если требования задаются к нормированной АЧХ;
■ dB (дБ) — если требования задаются к АЧХ (дБ) (характеристике затухания
(5) [6]).
После этого задаются допустимые отклонения АЧХ:
- в полях ввода Dpass (в дБ — Apass) — допустимые отклонения в ПП;
- в полях ввода Dstop (в дБ — Astop) — допустимые отклонения в ПЗ.
5. Синтез ЦФ. Он производится при нажатии кнопки Design Filter, расположенной внизу по центру окна (рис. 1). В дальнейшем, во избежание путаницы данной кнопки с кнопкой Design Filter, расположенной на панели инструментов в нижнем левом углу, первую будем называть просто кнопкой Design Filter, а вторую — кнопкой Design Filter на панели инструментов в нижнем левом углу. По завершении синтеза автоматически выдаются:
- В группе Magnitude Response (dB) (АЧХ (дБ)) — график АЧХ (дБ) (характеристика ослабления (6) [6]). После синтеза данная группа автоматически замещает группу Frequency Specifications.
- В группе Current Filter Information («Текущая информация о фильтре»):
■ Structure — структура фильтра;
■ Order — порядок фильтра;
■ Stable — устойчивость фильтра (Yes или No);
■ Source — способ загрузки фильтра — в результате синтеза в GUI FDATool (Designed) или импорта (Imported).
Входные параметры цифровых фильтров
Входные параметры ЦФ зависят от его типа (КИХ или БИХ) и метода синтеза. Особое внимание следует уделить входным параметрам КИХ-фильтров, так как итерационные методы синтеза данных фильтров связаны с проверкой выполнения требований к АЧХ.
Проверка выполнения требований к АЧХ КИХ-фильтров
Ранее [6] был рассмотрен синтез КИХ-фильтров итерационным методом наилуч-
шей равномерной (чебышевской) аппроксимации.
В GUI FDATool минимальный порядок R [6] синтезированного КИХ-фильтра по умолчанию определяется с точностью до ±2. Точное определение минимального порядка Rmin КИХ-фильтра предполагает проверку выполнения требований к АЧХ.
В зависимости от точности определения порядка выбирается переключатель в группе Filter Order, а именно:
• если порядок R определяется с точностью до ±2, то устанавливается переключатель Minimum order («Минимальный порядок»);
• если определяется минимальный порядок Rmin, то сначала устанавливается переключатель Minimum order и выполняется синтез фильтра, а затем при уточнении порядка — переключатель Specify order («Произвольный порядок»).
В зависимости от выбора переключателя в группе Filter Order задаются разные входные параметры. Однако прежде чем их обсуждать, остановимся на проверке выполнения требований к АЧХ, не зависящей от метода синтеза.
Проверка требований может выполняться:
• К нормированной АЧХ. В этом случае предварительно выводится график нормированной АЧХ, для чего в контекстном меню (открывается щелчком правой кнопки мыши на свободном поле графика) следует выбрать команду Analysis Parameters («Параметры анализа»). Открывается одноименное окно, где в раскрывающемся списке Magnitude Display («Вывод АЧХ») нужно выбрать Magnitude (АЧХ) и нажать кнопку OK. Аналогичные действия можно выполнить, выбирая в пункте меню Analysis команду Analysis Parameters.
• К АЧХ (дБ) (характеристика ослабления (6)
[6]).
Проверка выполнения требований к АЧХ производится следующим образом:
• Поочередно выводится АЧХ в ПП и ПЗ. Для этого следует нажать кнопку Zoom in («Увеличить масштаб») на панели инструментов и, не отпуская левой кнопки мыши, поочередно выделить АЧХ в ПП и ПЗ.
• В каждой из ПП и ПЗ определяется максимальное (по модулю) отклонение АЧХ и сравнивается с заданным. Для этого к соответствующей точке АЧХ нужно подвести курсор и выполнить щелчок левой кнопкой мыши, после чего выдаются координаты точки — значения частоты и АЧХ. (Расставленные точки удаляются с помощью команды контекстного меню Delete или Delete all). Возврат к исходному масштабу АЧХ выполняется нажатием кнопки Zoom to full view («Исходный масштаб») или щелчком правой кнопки мыши на свободном поле графика. Возможны две ситуации:
• Требования не выполняются. В этом случае следует увеличить порядок фильтра R
и, повторяя процедуру синтеза, определить минимальный порядок Rmin, при котором требования будут выполняться.
• Требования выполняются. В этом случае можно уменьшить порядок фильтра R и, повторяя процедуру синтеза, определить минимальный порядок Rmin, при котором требования будут выполняться.
В обоих случаях изменение порядка производится при выборе в группе Filter Order переключателя Specify order.
Рассмотрим, как задаются входные параметры при выборе разных переключателей — Minimum order или Specify order.
Входные параметры при синтезе КИХ-фильтров методом наилучшей равномерной (чебышевской) аппроксимации
При синтезе КИХ-фильтров методом чебышевской аппроксимации (в раскрывающемся списке FIR выбирается значение Equiripple) входные параметры зависят от переключателя в группе Filter Order, а именно:
• При выборе переключателя Minimum order в группе Options в поле ввода Density Factor («Коэффициент плотности сетки частот») задать значение этого параметра. Параметр Density Factor тождественен параметру lgrid в функциях firpm и firgr [6].
• При выборе переключателя Specify order в его поле ввода указать порядок КИХ-фильтра, и в группе Magnitude Specifications задать:
- в поле ввода Wpass — вес (веса) в ПП;
- в поле ввода Wstop — вес (веса) в ПЗ. Веса определяются по методике, изложенной в [6]: вес, равный единице, присваивается полосе с наибольшим максимально допустимым отклонением, а веса в остальных полосах рассчитываются как отношение наибольшего максимально допустимого отклонения к максимально допустимому отклонению в данной полосе. Поэтому веса — всегда числа, большие или равные единице.
Отметим, что в GUI FDATool для синтеза частотно-избирательных фильтров методом чебышевской аппроксимации по умолчанию используются КИХ-фильтры только 1-го и 2-го типов, а КИХ-фильтры 3-го и 4-го типов — для цифровых преобразователей Гильберта и дифференциаторов (табл. 1 [6]). Поэтому вид импульсной характеристики — симметричная/антисимметричная — не задается.
Входные параметры БИХ-фильтров при синтезе методом билинейного Z-преобразования
Метод билинейного Z-преобразования [7] автоматически обеспечивает минимальный порядок синтезированного БИХ-фильтра, поэтому проверка выполнения требований к АЧХ не производится.
Соответственно, в группе Filter Order активизирован только переключатель Minimum order, и в группе Options в раскрывающемся списке Match Exactly («Согласование точно») следует задать значение одноименного параметра.
Значения в списке Match Exactly тождественны значениям параметра MATCH в функциях синтеза БИХ-фильтров [7].
Примеры синтеза цифровых фильтров
Для лучшего понимания синтеза ЦФ средствами GUI FDATool рекомендуется предварительно познакомиться с синтезом ЦФ программными средствами MATLAB [6], [7].
Пример 1
В примере 2 [6] был синтезирован программными средствами MATLAB оптимальный КИХ-фильтр ФНЧ по заданным требованиям к АЧХ (табл. 3 [6]) методом чебышев-ской аппроксимации. Синтезировать тот же фильтр средствами GUI FDATool.
Основные этапы синтеза, описанные ранее, включают в себя:
1. Выбор типа ЦФ. В группе Design Method установить переключатель FIR.
2. Выбор метода синтеза. В группе Design Method в раскрывающемся списке FIR — Equiripple («Метод наилучшей равномерной (чебышевской) аппроксимации»).
3. Задание входных параметров. В группе Filter Order — переключатель Minimum order. В группе Options в поле ввода Density Factor — 20.
4. Задание требований к АЧХ (табл. 3 [6]):
- Тип избирательности задается в группе Response Type с помощью переключателя Lowpass.
- Частоты дискретизации и граничные частоты ПП и ПЗ задаются в группе Frequency Specifications:
■ в раскрывающемся списке Units — Hz;
■ в поле ввода Fs — 8000;
■ в поле ввода Fpass — 1000;
■ в поле ввода Fstop — 1500.
- Максимально допустимые отклонения АЧХ указываются в группе Magnitude Specifications:
■ в раскрывающемся списке Units — Linear;
■ в поле ввода Dpass — 0.05;
■ в поле ввода Dstop — 0.01.
5. Синтез фильтра производится после нажатия кнопки Design Filter, и по его завершении автоматически выдаются:
- в группе Magnitude Response (dB) — график АЧХ (дБ) (характеристика ослабления (6) [6]);
- в группе Current Filter Information:
■ Structure — Direct-Form FIR;
■ Order — 23;
■ Stable — Yes;
■ Source — Designed.
Определим, является ли КИХ-фильтр оптимальным. С этой целью проверим, выполняются ли требования к АЧХ по изложенной методике, и увидим, что они не выполняются ни в ПП, ни в ПЗ.
Для изменения порядка КИХ-фильтра в группе Filter Order выберем переключатель Specify order и в его поле ввода укажем порядок КИХ-фильтра — 24.
Зададим новые входные параметры в группе Magnitude Specifications:
• в поле ввода Wpass — 1;
• в поле ввода Wstop — 5.
Вес, равный единице, присвоен ПП с наибольшим максимально допустимым отклонением 0,05, а вес в ПЗ рассчитан как отношение 0,05/0,01 = 5.
Нажмем кнопку Design Filter (она активизируется при нажатии кнопки Design Filter на панели инструментов в нижнем левом углу). Проверим выполнение требований к АЧХ и убедимся, что они вновь не выполняются.
Повторим процедуру, задавая порядок R = 25, не меняя входные параметры, и убедимся, что требования к АЧХ выполняются.
Таким образом, синтезирован оптимальный ФНЧ с ЛФЧХ порядка Ropt = 25 на базе КИХ-фильтра 2-го типа.
Пример 2
В примере 2 [7] был синтезирован программными средствами MATLAB оптимальный БИХ-фильтр ФНЧ Золотарева-Кауэра (эллиптический) по заданным требованиям к АЧХ (табл. З [6]) методом билинейного Z-преобразования. Синтезировать тот же фильтр средствами GUI FDATool.
Основные этапы синтеза, описанные ранее, включают в себя:
1. Выбор типа ЦФ. В группе Design Method — переключатель IIR.
2. Выбор метода синтеза. В группе Design Method в раскрывающемся списке IIR — Elleptic («Эллиптический фильтр: метод билинейного Z-преобразования»).
3. Задание входных параметров. В группе Filter Order — переключатель Minimum order. В группе Options в раскрывающемся списке Match Exactly — both.
4. Задание требований к АЧХ (табл. З [6]):
- Тип избирательности указывается в группе Response Type — переключатель Lowpass.
- Частота дискретизации и граничные частоты ПП и ПЗ задаются в группе Frequency Specifications:
■ в раскрывающемся списке Units — Hz;
■ в поле ввода Fs — 8000;
■ в поле ввода Fpass — 1000;
■ в поле ввода Fstop — 1500.
- Допустимые отклонения АЧХ (дБ) указываются в группе Magnitude Specifications:
■ в раскрывающемся списке Units — dB;
■ в поле ввода Apass — 0.4455;
■ в поле ввода Astop — 40.
Значения Apass (дБ) и Astop (дБ) вычислены в примере 1 [6].
Для БИХ-фильтров не предусмотрено задание требований к нормированной АЧХ.
5. Синтез фильтра производится после нажатия кнопки Design Filter, и по его завершении автоматически выдаются:
- в группе Magnitude Response (dB) — график АЧХ (дБ) (характеристика ослабления (6) [6]);
- в группе Current Filter Information:
■ Structure — Direct-Form II, Second-Order Sections;
■ Order — 5;
■ Sections — 3;
■ Stable — Yes;
■ Source — Designed.
Таким образом, синтезирован оптимальный БИХ-фильтр ФНЧ Золотарева-Кауэра порядка Rmin = 5.
Выбор структуры цифрового фильтра
По завершении синтеза ЦФ в GUI FDATool автоматически создается его описание в виде объекта dfilt со структурой, выбираемой по умолчанию: она указывается в группе Current Filter Information.
Для преобразования структуры следует в пункте меню Edit («Редактирование») выбрать команду Convert Structure («Преобразование структуры»). Откроется одноименное окно со списком рекомендуемых для данного ЦФ структур. Из списка выбирается требуемая структура и нажимается кнопка OK. Новая структура фиксируется в группе Current Filter Information.
Для БИХ-фильтров с каскадными структурами из звеньев 2-го порядка предусмотрена возможность:
• расстановки звеньев — с целью минимизации собственных шумов;
• масштабирования — с целью минимизации вероятности переполнения на выходах сумматоров при реализации ЦФ с ФТ. Для расстановки звеньев следует в пункте
меню Edit выбрать команду Reorder and Scale Second-Order Sections («Расстановка и масштабирование звеньев 2-го порядка»). Откроется окно Reordering and Scaling of Second-Order Sections (рис. 2), в котором:
• Расстановка звеньев фиксируется с помощью переключателей в группе Reordering («Расстановка»). Переключатели отображают параметры функции reorder (табл. 2 [8]). По умолчанию для минимизации собственных шумов звенья расставлены в порядке возрастания радиусов (добротностей) полюсов, чему соответствует переключатель Auto («По умолчанию»).
• Норма, на основе которой выполняется масштабирование, выбирается в группе Scaling («Масштабирование») при установленном флаге Scale («Масштаб»). Эта операция эквивалентна выполняемой с помощью функ-
ции scale (табл. 2 [8]). Одна из шести норм выбирается с помощью бегунка. Кроме этого, в группу Scaling включены поля ввода и раскрывающиеся списки, используемые при моделировании ЦФ с ФТ [9, 10].
После установки в группе Reordering переключателя Auto и указания в группе Scaling нормы для масштабирования нажимается кнопка OK.
Анализ цифровых фильтров
Анализ ЦФ, синтезированного в GUI FDATool1 или импортированного из Workspace2, производится при открытом окне Filter Design & Analysis Tool и нажатой кнопке Design Filter на панели инструментов в нижнем левом углу с помощью команд пункта меню Analysis (или дублирующих их кнопок на панели инструментов):
• Magnitude Response (АЧХ);
• Phase Response (ФЧХ);
• Magnitude and Phase Responses (АЧХ и ФЧХ);
• Group Delay Response («ГВЗ — групповое время задержки»);
• Phase Delay («Фазовая задержка»);
• Impulse Response («Импульсная характеристика»);
• Step Response («Переходная характеристика»);
• Pole/Zero Plot («Карта нулей и полюсов»);
• Filter Coefficients («Коэффициенты передаточной функции»);
• Filter Information («Свойства фильтра — объекта dfilt»);
• Magnitude Response Estimate («Оценка АЧХ — для ЦФ с ФТ»);
• Round-off Noise Power Spectrum («Энергетический спектр шума округления — для ЦФ с ФТ»).
Помимо этого в пункт меню Analysis включены дополнительные команды:
• Filter Specifications («Требования к АЧХ») — по этой команде в поле графика выводятся требования к АЧХ.
• Overlay Analysis («Наложение характеристик») — по этой команде выводится список флагов, имена которых дублируют вышеперечисленные команды анализа. Установив соответствующий флаг, можно добавить в поле графика еще одну характеристику, поверх имеющейся. По умолчанию
установлен флаг None («Добавляемой характеристики нет»).
• Analysis Parameters («Параметры анализа») — по этой команде открывается окно с тем же именем, в котором можно изменить параметры анализируемой характеристики (список параметров зависит от характеристики).
• Sampling Frequency («Частота дискретизации») — по этой команде открывается одноименное окно, в котором можно изменить единицы измерения частоты дискретизации.
Сохранение цифровых фильтров на время сеанса в GUI FDATool
При работе в GUI FDATool в течение одного сеанса может синтезироваться (либо импортироваться) несколько ЦФ. Для их сохранения на время сеанса удобно воспользоваться кнопкой Store Filter («Сохранение фильтра») в группе Current Filter Information (эта кнопка дублирует команду Store Filter в пункте меню File). При этом открывается окно Store Filter, в котором указывается имя фильтра, и нажимается кнопка OK.
Сохраняемые на время сеанса ЦФ размещаются в буфере Filter Manager («Диспетчер фильтров»). Для загрузки ЦФ из буфера в GUI FDATool следует нажать кнопку Filter Manager в группе Current Filter Information. Открывается окно Filter Manager, в котором достаточно курсором указать имя ЦФ.
Для того чтобы редактирование сохраненного ранее ЦФ автоматически сохранялось, следует в окне Filter Manager установить флаг Edit.
Для анализа характеристик сохраненного ЦФ с помощью GUI FVTool следует в окне Filter Manager нажать кнопку FVTool, для переименования ЦФ — кнопку Rename («Переименование»), а для удаления ЦФ — кнопку Remove («Удаление»).
Экспорт цифровых фильтров как объектов dfilt
При выходе из GUI FDATool после окончания сеанса все ЦФ, сохраненные в буфере Filter Manager, автоматически удаляются.
Сохранение синтезированного ЦФ осуществляется путем его экспорта из GUI FDATool.
Можно экспортировать коэффициенты передаточной функции синтезированного ЦФ, но удобнее экспортировать ЦФ в виде объекта dfilt [8].
Для экспорта ЦФ (объекта dfilt) на диск необходимо выполнить следующие действия:
1. Загрузить экспортируемый ЦФ из буфера Filter Manager (или экспортировать ЦФ непосредственно после его синтеза).
Рис. 3. Окно Export
2. В пункте меню File выбрать команду Export («Экспорт»), после чего откроется одноименное окно (рис. 3).
3. Сбросить флаг Overwrite Variables («Замена переменных») во избежание замены переменных, имеющихся в Workspace, переменными объекта dfilt с теми же именами.
4. В раскрывающемся списке Export To («Экспортировать в...») выбрать MAT-File.
5. В раскрывающемся списке Export As («Экспортировать как.») выбрать Objects («Объекты»).
6. В группе Variable Names («Имена переменных») в поле ввода Discrete Filter («Дискретный фильтр») указать имя ЦФ (имя объекта dfilt).
7. Нажать кнопку OK, после чего откроется окно Export to a MAT-file с содержимым папки work (рис. 4).
xport to a MAT file
Qarwa | О work В Cf H-
anr ^Hd.FIR fW
tJHd-dNt tW
OHd-Sm -3q
CD* Mql
-JStep_l
fjxn
1
Имя Файла |Hd7| 1 Сояюмить 1
Im Файла | MAT-Met (’ mat) ^1 Отмена |
1
Рис. 4. Окно Export to a MAT-file
Если ЦФ (объект dfilt) экспортируется в папку work, то в поле ввода Имя файла дублируется имя ЦФ (объекта dfilt) и нажимается кнопка Сохранить.
Если ЦФ экспортируется в ранее созданную папку пользователя, то предварительно следует ее открыть.
Если ЦФ экспортируется в новую папку пользователя, то предварительно следует создать ее и открыть. Для дальнейшего автоматического доступа к новой папке необходимо сохранить путь к ней.
Для экспорта ЦФ (объекта dfilt) в Workspace следует:
1 В группе Current Filter Information этому соответствует сообщение: Source — Designed.
2 В группе Current Filter Information этому соответствует сообщение: Source — Imported.
1. Загрузить экспортируемый ЦФ из буфера Filter Manager (или экспортировать ЦФ непосредственно после его синтеза).
2. В пункте меню File выбрать команду Export, после чего откроется одноименное окно.
3. Сбросить флаг Overwrite Variables во избежание замены переменных, имеющихся в Workspace, переменными объекта dfilt с теми же именами.
4. В раскрывающемся списке Export To выбрать Workspace.
5. В раскрывающемся списке Export As выбрать Objects.
6. В группе Variable Names в поле ввода Discrete Filter указать имя ЦФ (имя объекта dfilt).
7. Нажать кнопку OK.
8. Проверить содержимое Workspace.
Для экспорта ЦФ (объекта dfilt) в GUI SPTool
следует:
1. Загрузить экспортируемый ЦФ из буфера Filter Manager (или экспортировать ЦФ непосредственно после его синтеза).
2. Обратиться к GUI SPTool по команде:
после чего откроется окно SPTool: startup. spt.
3. В GUI FDATool в пункте меню File выбрать команду Export, после чего откроется одноименное окно (рис. 4),
4. В раскрывающемся списке Export To выбрать SPTool.
5. В группе SPTool Options в поле ввода Discrete Filter указать имя ЦФ (имя объекта dfilt).
6. Нажать кнопку OK.
7. Убедиться, что имя экспортируемого ЦФ появилось в окне SPTool: startup.spt в списке Filters.
Импорт цифровых фильтров как объектов dfilt
Синтезированные программными средствами MATLAB или средствами GUI FDATool и сохраненные на диске (в папке work или в папке пользователя) в виде объектов dfilt КИХ- и БИХ-фильтры могут быть импортированы в GUI FDATool. Для импорта объекта dfilt в GUI FDATool с диска необходимо выполнить следующие действия:
1. Загрузить импортируемый ЦФ (объект dfilt) с диска в Workspace по команде:
2. В пункте меню File выбрать команду Import Filter from Workspace («Импорт из рабочей области»), после чего в окне Filter Design & Analysis Tool появится группа Filter Coefficients («Коэффициенты фильтра»).
3. В группе Filter Coefficients в раскрывающемся списке Filter Structure («Структура фильтра») выбрать Filter object (фильтр как объект dfilt),
4. В поле ввода Discrete filter («Дискретный фильтр») указать имя объекта dfilt,
5. В раскрывающемся списке Units выбрать Noralized (0 to 1) (по умолчанию). Выбор других единиц измерения частот в раскрывающемся списке Units целесообразно производить после импорта ЦФ, в противном случае последует запрос о частоте дискретизации Fs из Workspace.
6. Нажать кнопку Import Filter («Импорт фильтра»).
При импорте нескольких объектов dfilt в течение одного сеанса следует на время сессии сохранять их в буфере Filter Manager.
После импорта объектов dfilt (одного или нескольких) для редактирования и/или анализа импортируемого ЦФ следует нажать кнопку Design Filter на панели инструментов в нижнем левом углу.
Моделирование структуры цифровых фильтров с фиксированной точкой
Моделирование ЦФ с ФТ средствами GUI FDATool предполагает обязательное знакомство с моделированием ЦФ с ФТ программными средствами MATLAB [9, 10],
Согласно принятой в [9, 10] терминологии, объект dfilt со свойством Arithmetic: 'double' назван исходным ЦФ (исходным КИХ-и БИХ-фильтром), а объект dfilt со свойством Arithmetic: 'fixed' — ЦФ с ФТ (КИХ-и БИХ-фильтром с ФТ),
Моделирование ЦФ с ФТ производится непосредственно после синтеза исходного ЦФ
в GUI FDATool или его импорта из Workspace следующим образом:
1. В окне Filter Design & Analysis Tool нажать кнопку Set quatizion parameters («Установка параметров квантования») на панели инструментов в нижнем левом углу. При этом нижняя половина окна Filter Design & Analysis Tool автоматически изменит свой вид: она будет содержать только раскрывающийся список Filter Arifmetic («Тип арифметики»).
2. В раскрывающемся списке Filter Arifmetic выбрать значение Fixed-point («Фиксированная точка»). Тем самым переходим от исходного ЦФ к ЦФ с ФТ, свойства которого установлены по умолчанию. Список свойств ЦФ с ФТ и их расшифровка приводятся в [5]. При выборе значения Fixed-point нижняя половина окна Filter Design & Analysis Tool вновь автоматически изменится: в правой части появятся три вкладки, контекстно связанные со свойствами ЦФ с ФТ (рис. 5):
- Coefficients («Коэффициенты») — для выбора форматов коэффициентов передаточной функции;
- Input/Output («Вход/Выход») — для выбора форматов входного и выходного сигналов;
- Filter Internals («Внутреннее состояние фильтра») — для выбора форматов при выполнении арифметических операций.
Для понимания содержимого вкладок рекомендуется обратиться к расшифровке соответствующих свойств ЦФ с ФТ [5].
3. Устанавливаются требуемые форматы ЦФ с ФТ в группах Coefficients, Input/Output и Filter Internals. Свойства ЦФ с ФТ, относящиеся к группам Input/Output и Filter Internals, представляют интерес при моде-
sptool
Рис. 5. Окно Filter Design & Analysis Tool после нажатия кнопки Set quatizion parameters и выбора в раскрывающемся списке Filter Arifmetic значения Fixed-point
load <имя объекта dfilt>
лировании фильтрации (расчете реакции ЦФ) программными средствами MATLAB или в GUI SPTool.
4. Для каскадных структур БИХ-фильтров с ФТ при необходимости выполняется масштабирование коэффициентов числителей в передаточных функциях звеньев и/или коэффициентов усиления звеньев. Для этого в пункте меню Edit выбирается команда Reorder and Scale Second-Order Sections, после чего откроется одноименное окно. При установленном флаге Scale в раскрывающемся списке Numerator Constant («Константа для коэффициентов числителя») выбирается способ масштабирования для коэффициентов числителей в передаточных функциях звеньев; значение normalize эквивалентно функции normalize (табл. 2 [9]). В раскрывающемся списке Scale Value Constant («Константа для коэффициентов усиления») выбирается способ масштабирования для коэффициентов усиления звеньев.
5. Анализируются характеристики КИХ-филь-тра с ФТ. Команды Magnitude Response Estimate и Round-off Noise Power Spectrum
в пункте меню Analysis, предназначенные для анализа ЦФ с ФТ, рассматривались выше.
6. После моделирования ЦФ с ФТ он может экспортироваться как объект dfilt. ■
Литература
1. Ingle V., Proakis J. Digital Signal Processing Using MATLAB. Second Edition. Thomson, 2006.
2. Оппенгейм А., Шафер Р. Цифровая обработка сигналов. М.: Техносфера, 2006.
3. Сергиенко А. Б. Цифровая обработка сигналов. 2-е изд. СПб.: ПИТЕР, 2006.
4. Солонина А. И., Улахович Д. А., Арбузов С. М., Соловьева Е. Б. Основы цифровой обработки сигналов. 2-е изд. СПб.: БХВ-Петербург, 2005.
5. Солонина А. И., Арбузов С. М. Цифровая обработка сигналов. Моделирование в MATLAB. СПб.: БХВ-Петербург, 2008.
6. Солонина А. Моделирование цифровой обработки сигналов в MATLAB. Часть 1. Синтез оптимальных (по Чебышеву) КИХ-фильтров программными средствами MATLAB // Компоненты и технологии. 2008. № 11.
7. Солонина А. Моделирование цифровой обработки сигналов в MATLAB. Часть 2. Синтез оп-
тимальных БИХ-фильтров программными средствами МЛТЬЛВ // Компоненты и технологии. 2008. № 12.
8. Солонина А. Моделирование цифровой обработки сигналов в МЛТЬЛВ. Часть 3. Описание структур КИХ- и БИХ-фильтров в МЛТЬЛВ // Компоненты и технологии. 2009. № 1.
9. Солонина А. Моделирование цифровой обработки сигналов в МЛТЬЛВ. Часть 4. Моделирование структур цифровых фильтров с фиксированной точкой программными средствами МЛТЬЛВ: анализ характеристик КИХ-фильт-ров // Компоненты и технологии. 2009. № 2.
10. Солонина А. Моделирование цифровой обработки сигналов в МЛТЬЛВ. Часть 5. Моделирование структур цифровых фильтров с фиксированной точкой программными средствами МЛТЬЛВ: анализ характеристик БИХ-фильт-ров // Компоненты и технологии. 2009. № 3.
11. Солонина А. Моделирование цифровой обработки сигналов в МЛТЬЛВ. Часть 6. Моделирование структур цифровых фильтров с фиксированной точкой программными средствами МЛТЬЛВ: квантование воздействия и вычисление реакции // Компоненты и технологии. 2009. №4.