Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

MatLab для DSP. Расчет цифровых фильтров с учетом эффектов квантования




MatLab для DSP. Расчет цифровых фильтров с учетом эффектов квантования

Разработчики цифровых фильтров, использующие в своей работе пакет MATLAB, несомненно, смогли оценить многочисленные достоинства интерактивной графической программы (GUI) sptool [1]. Тем не менее, результаты, получаемые с помощью sptool, не всегда достаточны для специалистов, занимающихся проектированием и реализацией цифровых фильтров на базе специализированных, в частности, сигнальных, процессоров (DSP).

Характеристики фильтра, рассчитанно го на PC и реализованного на DSP, могут существенно отличаться. Это связано с тем, что разные цифровые системы (в том числе и персональный компьютер, на котором выполнялся расчёт фильтра) используют различные типы арифметики (с плавающей или фиксированной точкой), имеют различные форматы и, как следствие, различный динамический диапазон и различную точность представления чисел. В итоге параметры фильтров, отсчёты входных и выходных сигналов представляются лишь значениями из конечного набора чисел, то есть являются квантованными по уровню. Эффекты квантования отражаются также и на результатах математических операций, выполняемых сумматорами и умножителями. Из сказанного следует, что процесс проектирования должен включать процедуры коррекции полученных результатов с учётом эффектов квантования применительно к тем процессорам, на которых предполагается реализовывать синтезируемые фильтры. Эти процессоры, а также вычислительные системы, построенные на их основе, будем называть целевыми (в англоязычной литературе - Target Processors, Target Computers).

В последней версии MATLAB 6 (Release 12) появилась новая библиотека (toolbox) Filter Design, предназначенная для решения такого рода задач. Функции этой библиотеки дают возможность работать с тремя типами объектов - квантователями сигналов, квантованными фильтрами и квантованным преобразованием Фурье, используя разные форматы представления чисел. На-ряду с функциями, позволяющими разрабатывать собственные программы, библиотека имеет интерактивную графическую программу (GUI) fdatool, с помощью которой можно рассчитывать цифровые фильтры с учётом эффектов квантования, а также выбирать стандартные и определяемые пользователем форматы представления чисел. Помимо этого, fdatool предоставляет многочисленные варианты реализационных схем, что даёт возможность оптимизировать решения по совокупности таких параметров, как динамический диапазон, шумы арифметики, объём вычислений на отсчёт, предельные циклы. И хотя методы такой оптимизации в данном GUI не рассмотрены, представленные многочисленные структуры фильтра позволяют содержательно обсуждать подобные задачи.

Материал настоящей статьи излагается в следующей последовательности. Во втором разделе даётся описание основных областей и органов управления главного окна программы fdatool. В третьем - формулируется задача проектирования цифрового филь-тра, в процессе решения которой излагается дальнейший материал. Четвёртый и пятый разделы содержат информацию о форматах представления чисел и особенностях выполнения операций при использовании арифметики с фиксированной и плавающей точкой. В шестом разделе показаны некоторые приёмы работы и возможности программы fdatool по расчёту цифровых фильтров с учётом эффектов квантования.

Описание главного окна программы

Главное окно программы показано на рис. 1, оно появляется на экране после загрузки программы, для чего надо набрать её имя:

> > fdatool.


Рисунок 1. Главное окно программы fdatool

Как видно из рисунка, главное окно включает несколько областей, или разделов для ввода и вывода необходимой информации. В левом верхнем углу находится раздел Current Filter Information (информация о фильтре), где отображается информация о фильтре, с которым в текущий момент выполняется работа, а именно:

форма реализации;

источник (получен ли фильтр с помощью fdatool или импортирован из другого приложения);

устойчивость;

количество звеньев.

В дополнение к перечисленному, в этом разделе находится кнопка Convert Structure (преобразовать структуру), с помощью которой можно выбирать форму (схему) реализации фильтра.

Правее раздела Current Filter Infor-mation находится область, предназначенная для графического и численного отображений следующих характеристик и параметров фильтров:

Filter Specifications (спецификация);

Magnitude Response (амплитудно-частотная характеристика, или АЧХ);

Phase Response (фазо-частотная характеристика, или ФЧХ);

Magnitude and Phase Response (АЧХ и ФЧХ);

Group Delay (групповое время задержки);

Impulse Response (импульсная характеристика);

Step Response (переходная характеристика);

Pole/Zero Plot (полюсы и нули);

Filter Coefficients (коэффициенты фильтра).

Сразу после загрузки программы в этой области, как показано на рис. 1, отображается окно спецификации фильтра. Для отображения того или иного окна нужно нажать на одну из кнопок, расположенных вверху главного окна под строкой меню. Эти кнопки, а также их назначения показаны на рис. 2 в виде увеличенного фрагмента главного окна. Кроме отмеченных кнопок, те же действия можно выполнить, выбирая соответствующие пункты меню Analysis.


Рисунок 2. Управляющие кнопки для отображения характеристик и параметров фильтров

Нижняя половина главного окна содержит две страницы: Design Filter (проектирование фильтра) и Set Quantization Parameters (установка параметров дискретизации), причём сразу после загрузки программы активна страница Design Filter (рис. 1), заполнение которой позволяет рассчитывать фильтры без учёта эффектов квантования, то есть с машинной точностью. В левой части этой страницы располагаются разделы Filter Type (выбор типа фильтра) и Design Method (метод проектирования). Выбрав соответствующую строку раздела Filter Type, пользователь тем самым выбирает фильтр, который собирается проектировать. Выбор включает следующие типы фильтров:

Lowpass (нижних частот);

Highpass (верхних частот);

Bandpass (полоснопропускающий);

Bandstop (полоснозаграждающий);

а также следующие типы специализированных цифровых цепей:

Differentiator (дифференциатор);

Hilbert Transformer (преобразователь Гильберта);

Multiband (многополосный фильтр);

Arbitrary Magnitude (фильтр с произвольной АЧХ, форма которой определяется пользователем);

Arbitrary Group Delay (фильтр с произвольным групповым временем задержки).

Раздел Design Method позволяет сделать выбор между фильтрами с бесконечными и конечными импульсными характеристиками (IIR - Infinite Impulse Response и FIR - Finite Impulse Response, соответственно). В случае выбора IIR-фильтров, необходимо конкретизировать вид проектируемого фильтра: Баттерворта, Чебышева 1-го рода, Чебышева 2-го рода и эллиптический (рис. 3а). Если же выбраны FIR-фильтры, выбор включает расчёт равноволновых фильтров, а также расчёт методом наименьших квадратов и оконным методом (рис. 3б). Если проектирование выполняется оконным методом, активизируется область Window Specifications (спецификация окна), расположенная рядом с областью Design Method, в которой имеется раскрывающееся меню Window с набором спектральных окон.


Рисунок 3. Выбор метода расчёта при проектировании фильтров с бесконечными (а) и конечными (б) импульсными характеристиками

Правую часть страницы Filter Design занимают разделы Frequency Speci-fications и Magnitude Specifications (частотные и амплитудные спецификации, соответственно). Первый из них содержит редактируемые окна для ввода значений частоты дискретизации Fs и граничных частот полос пропускания Fpass и задерживания Fstop, а также единиц измерения АЧХ - Units, причём количество граничных частот зависит от типа фильтра, задаваемого в разделе Filter Type. Второй раздел - Magnitude Specifications - позволяет задать ограничения амплитудной характеристики проектируемого фильтра для областей пропускания (Apass или Wpass) и задерживания (Astop или Wstop). Оба обсуждаемых раздела имеют раскрывающиеся меню Units для выбора единиц измерения частоты и амплитуды. На странице Filter Design имеется ещё одна область, а именно Filter Order (порядок фильтра), в которой можно указать явно порядок проектируемого фильтра, либо потребовать, чтобы программа автоматически выбрала наименьший порядок, в соответствии с введённой спецификацией.

Теперь, когда известны назначения разделов страницы Design Filter, можно было бы приступить к описанию второй страницы - Set Quantization Parameters, однако анализировать эффекты квантования удобнее и нагляднее, если уже имеется спроектированный цифровой фильтр, коэффициенты которого рассчитаны с машинной точностью. Придерживаясь терминологии, используемой в справочной системе MATLAB, цифровой фильтр, коэффициенты которого рассчитаны с машинной точностью, будем называть цифровым фильтром-прототипом (в оригинале - Referenced Filter).

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...