Дьяконов В.П. Matlab 6.5 SP1 7 0 Simulink 5 6 Обработка сигналов и проектирование фильтров 2005 (1245705), страница 59
Текст из файла (страница 59)
Кулугина на 63 000 терминов). В учебнике [34) эти фильтры названы «квантованными», чта трудно признать удачным названием, поскольку это слово, по существу означает дробление фильтров на некие элементарные ячейки — «кванты», что не вполне отражает суть этого класса устройств. Возможно приемлемым стало бы название «квантизированные» фильтры и объекты, но автор не берет на себя ответственности ввести такой термин в русскоязычную литературу. Мы их назовем просто О-филет(ты и Д-обвекты. Под О-с)уильтрами в Рйгег Реядп Тоо1Ьох понимается не какой-то специальный тип ЬЗ Р«ивсе ,' »Вес~зуав«оевдптоо«ьнхэ Взиеб Р об с» С»С :-нв р тнз бобе Оопдрн зо Во «зноп тесппле« оо хе « олз ««..1»оез рьреен --др Ехвп«р~ев !«нуво«рн»оиесл С во хорн«понэльэе в «(Ь во«од л» ннзннеб п«е в .в Щ во хлдн«пол»нхеб Ггтв Ь о ос«п«небГзе рплвьввехзп« р Вдов«пдгоптоо«л«п«пеу««се о» 'и Р«среду Рв«е енсе г!Ь Гн«сво з-ву овьедо« Г сьопв оре вьпд ол оненнео Гыоопв ореиьпд ол ооон«ел Гнпсбопв оре вельо онэлиен «з; я о «е лт а р ))«1 ь .
";- д! 'Веагп1пд АЬои1 иье я!Пег Ьееддп Тоо1Ьох ,)' Р Геи бхьсуоезрорьь В дэесу зссевз «о ие без у ехворпи ос!нбвд и «Ье Г«е«вев уп Тновох Овен воде ° Р «дьве Щев ° Яе~евве о«ев Го Г«е ОелдпТооВох (ьз Р(пе(1пд Рипсдопв 1д В«оз«е Впс«»лз Ьу Годе нпу ал ! пэ ву сиду»у«о вее «эыев ы д Ве Выьом з»ие «Ве соо«Ьо» в а«рпдьдьсды вьдд «о зее ое Впсьнпэ поеб э«!рпвье«с « о бе«, вере«з«ед ьу ие оьэес«суре, внсп зв нное,хес о бь 1, се Рппвпд Пье (Зосипуеп1а11оп !' Глава 5.
Пакеты проектирования фильтров фильтра нли объекта (квантующего, кваптуемого или кваптованного), а обширная группа фильтров и объектов, свойства которых соответствуют указанным ниже: ° РР-фильтры (Р(хед-ро(п( Рй(егз) — фильтры, при синтезе которых используются операции с фиксированной точкой (к ним относятся и цифровые фильтры с фиксированной точкой, и фильтры на основе ЭБР (цифровых микропроцессоров обработки сигналов) с данными и арифметическими операциями с фиксированной точкои; ° фильтры, использующие операции с числшми с плавающей точкой двойной точности; ° фильтры, использующие операции с числами с плавающей точкой одинарной точности; ° специальные (избранныс) фильтры с данными и операциями на основе чисел с плавающей точкой.
О-фильтры могут иметь все описанные ранее структуры (слк начало главы 1 — раздел «Основные структуры фильтров»). Таким образом, класс О-фильтров представлен вовсе не новыми их типами и структурами, а иными математическими реализациями, в основе которых лежит широкое применение операций с фиксированной и плавающей точкой, поддерживаемых базовой системой компьютерной математики МАТ(АВ нередко на аппаратном уровне.
5. ) .4. Влияние погрешности вычислений О том, насколько сильно влияние погрешности вычислений на характеристики фильтров, наглядно показывает следующий пример. Зададим два варианта посгроения эллиптического фильтра порядка (Ч = 8 с неравномерностью в полосе пропускания 1 дБ и ослаблением в полосе задержания 40 дБ при частоте среза, равной 0,6 от частоты Найквиста. В первом варианте используем вычисления с обычной точностью, а во втором введем искусственно ограничение чисел на уровне трех знаков после десятичной точки (погрешность 0,001). Соответствующий фрагмент программы представлен ниже; (Ь, а]=е111р(8, 1, «0, 0.6); ЬЧ= яоопд (Ь*1 000) /1000; аЧ= яо . О(а*1000)21000) (Ь, Г] = Гяепя(Ь, а)г ьч = гяоч (ьч, ач) ' яоЬр1о (2, 1, 1); р1оя (Г, аЬя (Ы ); яоьр1оя (2, 1, 2); р1о.( , аЬя (ЬЧ) ): На рис. 5.2 построены графики модулей АЧХ для двух вариантов построения фильтров.
Нетрудно заметить, что разница оказазась разительной — увеличение погрешности вычислений коэффициентов фильтра привело к совершенно неудовлетворительному виду АЧХ в области частоты среза. Разумеется, это в значительной мере надуманный пример. Вы можете убедиться в том, что лля других фильтров и даже лля эллиптических фильтров меньшего порядка появление погрешности вычисления коэффициентов далеко не всегда носит столь катастрофический характер. Тем не менее, это говорит о наличии серьезной проблемы — введение ограничений на разрядность чисел при вычислении и использование их квантованных значений способно существенно повлиять на параметры, фильтров.
Совокупность средств, необходимых для обеспечения приемлемых характеристик фильтров в условиях квантования чисел и составляет основу пакета расширения Рй]ег Вез(йп Тоо!ьох. К их описанию мы и приступим. 5,2. Оснооттые функции пакета тчйег Эеияп Тоо!Ьок 321 и:'. Рис. 5.2. АЧХ двух вариантов эллиптических фильтров с разной точностью вычислений 5.2. Основные функции пакета Грег Оевщп ТооИзох 5.2.1. Функции преобразования чисел и бинарных строк В связи с широким применением в пакете Вй)ег Г)еа)яп Тоо!Ьох чисел в типовых форматах системы МАТз АВ в этом пакете есть функции преобразования бинарной строки в число и наоборот; ° Ьтп2ппв — преобразует бинарную строку в число; ° псв2Ьуп — преобразует число в две бинарные строки, Примеры применения этих функций; х=вачзс)3)/7 х = 1.1429 0.1429 0.8571 0.4286 0.7143 1.0000 0.5714 1.2857 0.2857 Ч=чоапс1хег П4 3) ); у = пов2Ьзп)п,х) у = 0111 0010 0011 0000 0100 0111 0101 0110 000' 322 0.8571 1.0000 0.2857 0.1429 0.7143 1.2857 Внвмание.
При выполнении функций пакета Гудет )зезсрр) Тоо)йох возможны пере- назначения типов данных и переменных, сопровождаемые выдачеи сообщений об этом. В приведенных листингах примеров мы будем опускать такие сообщения. 5.2.2. Функции преобразования ячеек и фильтров Из этих функций особая роль приналлежит функции аоа. Она преобразует О-фильтр в фильтр с секциями второго порядка и масштабирования.
Возьмем простой пример — создадим О-фильтр на основе секций второго порядка путем преобразования в него эллиптического фильтра, реализованного функцией е111р. Найдем коэффициенты эллиптического фильтра: » [Ь,а) = е111р(4,3,20,.5); Для преобразования такого фильтра в дискретный фильтр воспользуемся функциями с(Е11с (проектирование дискретного Фильтра) и вов (преобразование, дискретного эллиптического фильтра в фильтр с секциями второго порядка): » Ьс( = аоа (ЧЕх16 ('о62 ', (Ь, а), ' попас)псоае', ' Е1х' ) ) Пустив эту команду, получим сообщение с описанием фильтра. Поскольку это сообщение довольно подробное и длинное, оно не приводится, и читатель сам может ознакомиться с ним. Ограничимся показом вывода фрагмента спецификации фильтра, из которого очевидно представление коэффициентов О-фильтров числами с двойной точностью (правильнее сказать с двойной длиной): Ьс( осапс1гео вусесе еоссп 11 е11сес Зесс1оп 1 Нппсесасос опапс1гес(соеее1с1епеа(1)(1) аееесепсесоеее1сьепса(1с(1) (1) 0.999969482421875 1.000000000000000000 (2) 0.999969482421875 1.009103278709639200 (з) 0.999969482421875 1.ООВОООООО00ООО2О00 Специфика конструирования дискретных фильтров пакета Б!(ег Ое8)яп Тоо!Ьох с помощью функций командного режима несколько иная, чем у пакета В!япа) Ргоссзв!пя Тоо1Ьох.
Обычно функции первого выдают обширное текстовое описание сконструированного фильтра с коэффициентами полиномов передаточной характеристики, представленными в том или ином формате чисел — в данном примере, в формате вещественных чисел двойной длины, Внимание. Значительная часть функций пакета Гййес Е)ез)яп Тоо(бох выполняет служебные функции, поддерживая средства интерактивного и визуального проектирования О-фильтров. В связи с этим особой необходимости в знакомстве с их полным синтаксисом нет. Если же такое знакомство с той или инои функцией все же необходимо, его легко выполнить с помощью справочной системы МА ТРАВ.
Ь1п2пппс(ч,х) апа = 1.1429 0.4286 0.5714 Глава 5. Пакеты проектирования фильтров 5.2. Основные функции пакета Я11ег Оез1еп Тоо!Ьок 323 Используются также функции: и. се112зоз — преобразует массив ячеек в матрицу секций второго порядка; ° зоз2се11 — преобразует матрицу секций второго порядка в массив ячеек. Примеры применения этих простых функций довольно очевидны: О (([0.017 0.017), [1.0000 -0.5] ), ( [1 2 1], [1 -1.2505 0.5457] ]) з се112зоз(о) с (1х2 се11) (1х2 се11) з 0.0170 0.0170 о 1.0000 2.0000 1.0000 [Ь,а) е111р(4,0.3,25,0,5); в С12зоз(Ь, а); о зоз2ое11(в); о(1)[2) апз 1.0000 -0.2240 0.2067 1.0000 -0.5000 0 1.0000 -1.2505 0.5457 6.2.3.
Функции конструирования О-фильтров и оценки их свойств Лля конструирования О-фильтров, установки и выявления их свойств служит ряд функции конструирования фильтров: ° пег — получение свойств (2-фильтра; ° с[й.1г — конструирование О-фильтра [см. пример выше); ° зег — установка свойств Я-фильтра; ° зегбггз — установка формата данных для свойств Я-фильтра; ° с(герогг — возвращает листинг отчета по ()-БПФ и его свойствам. Из этих функций главными являются первые две. Пример на применение функции яе( для получения свойств высокочастотного О-фильтра представлен ниже: ач = 0111сс дес (нс() Опапсггед 0(гесс богв 11 сгапзрозед 111сег Новегасог опапгггедСое111с(епгз(1) НесегепоеСое111осепсз(1) (1) 0.999969482421875 1.000000000000000000 Оеповьпасог опапс1гедсое111о1епсз(2] небегепоесое111сьепсз(2) (1) 0.999969482421875 1.000000000000000000 811гегзггпоСпге = д12С зоа1еча1пез = (1] НпвЬег018еоС1опз = 1 бсасезрегбеос(оп = [0] сое111о1епсрогвас = чпапс1гег('11хед' 1прпгрогваг = яоапг1гег('1(хед Опгрпгрогваг = Чпапг1гег('11хед Мп1с(р11сапдрогваС = Чпапс1гег('11хед Ргодпсгрогваг = Чоапг(гег('11хед зпврогвас = чпапс1гег('11хед Иагпьпдс 2 оссегб1оез гп сое111о1епгз.
гоппд', 'заспгасе', (16 '11оог', 'загогаге', (16 '11оог', 'заспгасе', [16 '11оог', 'заСпгасе', [16 '11оог', 'заСпгаге', (32 '11оог', 'заспгасе', [32 15) ) 15] ) 15) ) 15] ) 30)) 30]) Пример применения функции с)111г был представлен выше. Для проверки действии функции зе( можно воспользоваться следующим примером: Нс( = с(111С; зег (Нс(, 'геб', ( (1 .5] (1 .7 .