вторник, 7 августа 2012 г.

представление чисел в формате с плавающей запятой






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, оно появляется на экране после загрузки программы, для чего надо набрать её имя:

source


Комментариев нет:

Отправить комментарий