Проектирование цифровых фильтров в среде Filter Design and Analysis Tool и Filter Design Toolbox, страница 2

            FDATool позволяет также выполнить преобразование  структуры фильтра. Для КИХ – фильтров чаще других используется прямая форма структуры (Direct Form FIR).  Но она может быть трансформирована в другую более удобную для реализации структуру из списка допустимых.  Для этого используется команда  Edit->Convert Structure. Появляется окно для выбора структуры (рис. 7).

FDAToolпозволяет также сгенерировать  MATLAB –код  для созданного фильтра. Для этого следует воспользоваться командой Generate MATLAB  code  из меню  File и определить имя файла. Имеется также  возможность импортировать фильтр в виде объектов  dfilt   в  средуFDATool с помощью кнопки  Import Filter  из набора кнопок режимов проектирования. 

Спроектированный или отредактированный  фильтр можно сохранить на диске командой   SaveSession   меню  File для возможности дальнейшей загрузки в  FDAToolкомандой OpenSession

Для сохранения спроектированных фильтров   на время сеанса работы в  FDATool предназначена кнопка  Store Filter (Сохранение фильтра)  из группы Current Filter Information.  Сохраняемые на время сеанса фильтры размещаются в буфере Filter Manager.  Для загрузки фильтра из буфера служит кнопка  FilterManager.    Возможен также экспорт  фильтра  или его коэффициентов  в рабочее пространство  (Workspace)  MATLAB  или  в форматы  ASCII – файла  или  MAT – файла  командой Export из меню  File. При  выборе этой команды  открывается окно Export, в котором выбирается направление экспорта  и указывается имя экспортируемого объекта.

Прямоугольная выноска: Кнопки для 
редактирования нулей/полюсов

                                                               Рис. 6


                                                                              Рис.  7

Важной особенностью FilterDesignandAnalysisTool  , отличающей его от основного пакета  SignalProcessingToolbox, является возможность  проектирования  нового класса фильтров и объектов, так называемых  Q – фильтров, что переводится как  «квантованные фильтры». Под  Q – фильтрами  понимаются фильтры, при синтезе которых используются операции с фиксированной или плавающей запятой, поддерживаемые компьютерной математикой  MATLAB.  В данном пакете используются специальные алгоритмы и средства  для обеспечения необходимых характеристик фильтров в условиях квантования коэффициентов и результатов вычислений. 

Пример.  Рассмотрим задачу проектирования узкополосного режекторного фильтра (фильтр – пробка,  англ. notchfilter) с полосой  режекции () Гц, частотой  дискретизации 1000 Гц. Для этого командой fdatool загрузим проектировщик фильтров и в окне спецификации выполним  необходимые установки.

Прямоугольная выноска: Полоса
  частот


режекции
Прямоугольная выноска: Частота
режекции
Прямоугольная выноска: Тип
фильтра

                                                                            Рис.  10

После исполнения команды  DesignFilter получим частотную характеристику фильтра (АЧХ, рис.11).

Прямоугольная выноска: Кнопка   Set 
Quantization
parameters

                                                    Рис. 11

С помощью кнопки установки параметров  Setquantizationparameters  перейдем в режим квантования  фильтра и установим  формат с фиксированной запятой с 12- разрядами.

В результате в окне вывода АЧХ получим две характеристики фильтра:  исходную (пунктирную) и действительную для формата с фиксированной запятой с 12-ю двоичными разрядами (рис. 12). Из полученных результатов видно,  что квантование до 12 двоичных разрядов существенно деформировало  АЧХ  фильтра.

Прямоугольная выноска: Установка
длины слова
Прямоугольная выноска: АЧХ при длине  слова  12  бит

                                                           Рис. 12

При формате квантования коэффициентов 16 бит исходная и АЧХ квантованного фильтра  различаются значительно меньше (рис. 13).

                                                                Рис.  13

Пакет FilterDesignToolbox имеетширокий набор функций конструирования Q- фильтров и оценки их характеристик и свойств.

В новых  версиях  FDATool появилась  также   процедура  filterbuilder для визуального проектирования фильтров. 

Рассмотрим практический  пример проектирования фильтра с её помощью.

Спецификация фильтра:    ФНЧ  с граничной частотой полосы пропускания FPASS= 80 Гц,  граничной частотой полосы задерживания  FSTOP = 100 Гц, максимальным отклонением в полосе пропускания  AP =1 дБ, минимальным ослаблением в полосе задерживания  AS = 60 дБ,  частотой  дискретизации  FT = 500 Гц.

Фильтр  с такими характеристиками может использоваться, например,   в цифровом клиническом электрокардиографе.

Запуск (старт) процедуры  из  командной строки  MATLAB:

>>  filterbuilder

Появляется диалоговое окно  ResponseSelection   (выбор типа фильтра, рис.14) со списком доступных для проектирования  в процедуре типов фильтров.   В данном случае выберем  Lowpass  (фильтр нижних частот). 

                        Рис. 14

 
 


Появляется диалоговое окно LowpassDesign(рис.15).   В верхней части окна имеется поле для ввода имени проектируемого фильтра (Savevariableas)  и команда – кнопка открытия окна fvtool для просмотра характеристик проектируемого фильтра. После нажатия кнопки Apply  или OK окна проектирования  проектируемый фильтр  с установленным именем будет доступен в рабочем пространстве MATLAB.

Окно LowpassDesignимеет 3 вкладки: Main (главная),  DataTypes(типы данных), CodeGeneration (генерирование кода).  Состав полей окна зависит от типа фильтра.  Для ввода значений спецификации проектирования основной является панель с вкладкой Main. Вкладка CodeGenerationсодержитразличныепараметры для реализации спроектированного фильтра, в том числе команды для генерации М – кода,  кода на языке HDL или генерирования модели Simulink. Панель с вкладкой DataTypes  предназначена  для выбора и установок типа арифметики проектируемого фильтра, входных данных и промежуточных результатов вычислений.

На вкладке Main в группе полей FilterSpecification выбираются из списков значения  Impulseresponse(тип импульсной характеристики),  Ordermode (режим порядка) и Filtertype (тип фильтра, в данном случае значение  Single-rate(односкоростной фильтр)).  После выбора типа импульсного отклика появляется необходимый для реализации фильтра с выбранным типом  импульсной характеристики  состав опций и параметров проектирования.

В группе  Frequencyspecification (частотные спецификации) выбирается размерность частоты (Frequencyunit) и вводятся граничные значения полосы пропускания (FPASS),  задерживания  (FSTOP) и частота дискретизации (InputFs).   В группе  MagnitudeSpecification  (спецификация значений АЧХ)  устанавливаются допустимые  отклонения АЧХ в полосе пропускания  (Apass) и в полосе задерживания  (Astop).  Доступный для проектирования алгоритм  синтеза фильтра  выбирается в поле Designmethod.  Для данного примера выберем фильтр равноволновых пульсаций (Equiripple).  Если активизировать кнопку Designoptions (параметры проектирования)  раздела  Algorithm,  то можно ввести дополнительные опции для уточнения алгоритма проектирования фильтра.