Научная статья на тему 'Моделирование цифровой обработки сигналов в Matlab. Часть 1. Синтез оптимальных (по Чебышеву) КИХ-фильтров программными средствами Matlab'

Моделирование цифровой обработки сигналов в Matlab. Часть 1. Синтез оптимальных (по Чебышеву) КИХ-фильтров программными средствами Matlab Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1274
583
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Солонина Алла

В предлагаемом цикле «Моделирование ЦОС цифровой обработки сигналов в MATLAB» предыдущие статьи [6–11] были посвящены моделированию цифровых фильтров (ЦФ), КИХ и БИХ, в том числе с фиксированной точкой (ФТ), программными средствами MATLAB.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Солонина Алла

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Моделирование цифровой обработки сигналов в Matlab. Часть 1. Синтез оптимальных (по Чебышеву) КИХ-фильтров программными средствами Matlab»

Моделирование цифровой обработки сигналов в МЛТЬЛБ.

Часть 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, и по его завершении автоматически выдаются:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- в группе 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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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.

i Надоели баннеры? Вы всегда можете отключить рекламу.