Моделирование ЦОС цифровой обработки сигналов в MATLAB. Часть 7. Моделирование цифровых фильтров средствами программ GUI MATLAB: GUI FDATool

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

Все статьи цикла:

На основе программных средств
в 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 происходит по
команде:

fdatool

после чего открывается окно Filter Design &
Analysis Tool
(рис. 1) с привычным интерфейсом современных Windows-приложений.

Рис. 1. Окно Filter Design & Analysis Tool

Синтез цифровых фильтров

Синтез ЦФ производится при открытом
окне 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 (РФ).
    • Частоту дискретизации и граничные частоты полос пропускания (ПП) и полос
      задерживания (ПЗ), задаваемые в группе
      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
    orde
    r в группе 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
      :

      • в раскрывающемся списке UnitsHz;
      • в поле ввода 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 оптимальный БИХ-фильтр ФНЧ Золотарева-Кауэра
(эллиптический) по заданным требованиям к АЧХ (табл. 3 [6]) методом билинейного
Z-преобразования. Синтезировать тот же
фильтр средствами GUI FDATool.

Основные этапы синтеза, описанные ранее, включают в себя:

  1. Выбор типа ЦФ. В группе Design Method
    переключатель IIR.
  2. Выбор метода синтеза. В группе Design
    Method
    в раскрывающемся списке IIR
    Elleptic («Эллиптический фильтр: метод
    билинейного Z-преобразования»).
  3. Задание входных параметров. В группе
    Filter Order — переключатель Minimum
    order
    . В группе Options в раскрывающемся списке Match Exactlyboth.
  4. Задание требований к АЧХ (табл. 3 [6]):
    • Тип избирательности указывается в группе Response Type — переключатель
      Lowpass.
    • Частота дискретизации и граничные частоты ПП и ПЗ задаются в группе
      Frequency Specifications:

      • в раскрывающемся списке UnitsHz;
      • в поле ввода Fs — 8000;
      • в поле ввода Fpass — 1000;
      • в поле ввода Fstop — 1500.
    • Допустимые отклонения АЧХ (дБ) указываются в группе Magnitude Specifications:
      • в раскрывающемся списке UnitsdB;
      • в поле ввода 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-го порядка предусмотрена возможность:

  • расстановки звеньев — с целью минимизации собственных шумов;
  • масштабирования — с целью минимизации вероятности переполнения на выходах сумматоров при реализации ЦФ с ФТ.

Рис. 2. Окно
Reordering and Scaling of Second-Order Sections

Для расстановки звеньев следует в пункте
меню 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 (или экспортировать ЦФ непосредственно после его синтеза).
  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).

Рис. 3. Окно Export

Рис. 4. Окно Export to a MAT-file

Если ЦФ (объект dfilt) экспортируется
в папку work, то в поле ввода Имя файла дублируется имя ЦФ (объекта dfilt) и нажимается кнопка Сохранить.

Если ЦФ экспортируется в ранее созданную папку пользователя, то предварительно
следует ее открыть.

Если ЦФ экспортируется в новую папку
пользователя, то предварительно следует создать ее и открыть. Для дальнейшего автоматического доступа к новой папке необходимо сохранить путь к ней.

Для экспорта ЦФ (объекта dfilt) в Workspace следует:

  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

    после чего откроется окно 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 по команде:

    load <имя объекта dfilt>

  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’ — ЦФ с ФТ (КИХ-и БИХ-фильтром с ФТ).

Рис. 5. Окно Filter Design & Analysis Tool после нажатия кнопки Set quatizion parameters
и выбора в раскрывающемся списке Filter Arifmetic значения Fixed-point

Моделирование ЦФ с ФТ производится непосредственно после синтеза исходного ЦФ
в 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
    , представляют интерес при моделировании фильтрации (расчете реакции
    ЦФ) программными средствами 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.

Продолжение: Часть 8. Моделирование цифровой фильтрации средствами программ GUI MATLAB: GUI SPTool

Литература

  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. Синтез оптимальных БИХ-фильтров программными средствами MATLAB // Компоненты и технологии.
    2008. № 12.
  8. Солонина А. Моделирование цифровой обработки сигналов в MATLAB. Часть 3. Описание
    структур КИХ- и БИХ-фильтров в MATLAB //
    Компоненты и технологии. 2009. № 1.
  9. Солонина А. Моделирование цифровой обработки сигналов в MATLAB. Часть 4. Моделирование структур цифровых фильтров с фиксированной точкой программными средствами
    MATLAB: анализ характеристик КИХ-фильтров // Компоненты и технологии. 2009. № 2.
  10. Солонина А. Моделирование цифровой обработки сигналов вMATLAB. Часть 5. Моделирование структур цифровых фильтров с фиксированной точкой программными средствами
    MATLAB: анализ характеристик БИХ-фильтров // Компоненты и технологии. 2009. № 3.
  11. Солонина А. Моделирование цифровой обработки сигналов вMATLAB. Часть 6. Моделирование структур цифровых фильтров с фиксированной точкой программными средствами
    MATLAB: квантование воздействия и вычисление реакции // Компоненты и технологии. 2009.
    № 4.

1 В группе Current Filter Information этому соответствует сообщение: Source—Designed.К тексту
2 В группе Current Filter Information этому соответствует сообщение: Source—Imported.К тексту

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *