Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 75
Текст из файла (страница 75)
Для фильтров, степень знаменателя функции передачи которых превышает единицу, анализ базируется на тех же принципах, но оказывается более сложнылт. Для выполнения такого анализа в пакете г(1(ег Рез(йп имеется специальная функция 11в11сус1е, которую лты рассмотрим далее в этой главе. Учет эффектов конечной точности вычислений в МАТЮКАВ В пакетах расширения МАТ(.АВ имеется ряд средств для учета эффектов, связанных с конечной точностью представления чисел в вычислительных системах.
К таким средствам относятся функции, реализующие равномерное и неравно- 396 Глава 7. Эффекты квантования в цифровых системах мерное квантование, а также объекты квантователей, квантованных фильтров и квантованных БПФ. Функции квантования Функции квантования имеются в двух пакетах расширения МАТЮКАВ.
В пакете 8!япа! Ргосезяпя содержатся функшш оепсобе и цбесобе, осуществляющие равномерное (буква «ц» в именах функций означает «пп1тогш» — равномернгяй) квантование и восстановление си~нала. Пакет Сопнпппгсагюпз предоставляет в распоряжение пользователя более гибкую функцию неравномерного квантования диапт! х, а также функцию 11оубз, предназначенную для оптимизации параметров неравномерного квантования по тестовому набору данных. Функция оепсобе Функция иепсобе осуществляет равномерное квантование входного сигнала. Синтаксис вызова функции следующий: у - <епсобе(х, и, ч. 'з!дпп ад') Здесь х — массив неквантованных отсчетов входного сигнала (числа с плавающей запятой), и — число двоичных разрядов, используемое для представления квантованных значений, которое может лежать в диапазоне от 2 до 32.
Остальные входные параметры являются необязательными. Параметр ч задает предельное абсолютное значение квантуемого сигнала. По умолчанию этот параметр равен 1, так что уровни квантования перекрывают диапазон — 1...1. Результатом работы функции является массив у, содержаший целые числа — номера уровней квантования, соответствующих отсчетам из массива х. Размеры массивов х и у совпадают. Способ нумерации уровней квантования определяется последним входным параметром 'з!дпу)ад', который может принимать одно из двух строковых значений: О 'опз!дпеб' — в массиве у содержатся целые числа от О до 2" — 1 (этот вариант принят по умолчанию); О 'з!дпеб' — в массиве у содержатся целые числа от -2" ' до 2" ' — 1.
МАТ|АВ хранит выходной массив у в однолт из целочисленных форматов дан- ных согласно следующей таблице. учет эффектов конечной точности вычислений в МАТГАВ 39? Если значения входного сигнала выходят за пределы диапазона -о...и происхо- дит нарын(ение (заснгайоп): значениям, меньшим — ть соответствует минимально возможное значение у (О или — 2" '), а значениям, превышающим р, — макси- мально возможное (2" — 1 нли 2" ' — 1). Обратное преобразование номеров уровней квантования в квантованныс значе- ния производится рассматривасмой далее функцией эбесабе.
функция одессите Функция ибесобе является обратной по отношению к непсобе — она прсвраптаст номера уровней квантования в соответствующие квантованныс значения. Синтаксис вызова функции следующий: к - обесобе(у. и, у, 'зэснга1ев)обе') Смысл параметров х, у, и н у здесь тот жс, что и для функции вепсобе: Строковый параметр ' зэтнгаСепюбе' определяет поведение функции в случае, если в массиве у обнаруживаются значения, прсдставлснныс большим числом двоичных разрядов, чем указано в параметре и: с) 'зэсвгасе' (насьнцснис; этот вариант принят но умолчанию) — при выходе значений у из допустимого диапазона для их представления в массиве х используются крайние (минимальный и максимальный) уровни квантования; С3 'итар' (перенос) — прн выходе значений у из допустимого диапазона «лишн1те: ° старшие разряды просто ипюрируются, что эквивалентно смешению номеров уровней квантования на 2" (возможно, неоднократному).
0.8 0.6 0.4 0.2 -0.2 -0.4 -0.6 -0.8 -1 О -1 0 5 10 15 20 5 10 15 20 Рис. 7.10. Квантованный сигнал, восстановленный при недостаточном числе уровней квантования: слева — режим насыщения, справа — режим переноса В качестве примера использования функций вепсобе и обесобе произведем квантование синусоидального сигнала, а затем при восстановлении квантованных значений уменьшим число двоичных разрядов, чтобы продемонстрировать влияние параметра 'засигатевобе' (рис. 7.10): » 1 = 0:0.1:20; » 5 = 0.75 * ссэ(1): ЗОВ Глава 7.
Эффекты квантовании в цифровых системах $ 32 уровнЯ квантованиЯ уровней квантованиЯ Ж режин насыщениЯ 1 реаин переноса » у - иепсабе(в. 5, 1, 'в(дпеб'): » $ лри восстановлении используеи 1б » х1 - ибесобе(у. 4. 1, 'ва(агате'): » х2 - ибесобе(у, 4, 1, 'нгар'): » воЬр)ат(1, 2, 1) » р)ос(1. х1) » зэЬр)от(1, 2, 2) » р) о1(1, х2) Функция циапШ Функция Поуба Функция 1)оубв осуществляет оптимизацию параметров неравномерного квантования, основываясь на тестовом сигнале, являющемся «типичным представителем» тех данньвх, которые будут затем подвергаться квантованию.
Синтаксис вызова функции следующий: (рвг1111оп. собеЬоок. б1всаг] - ... ))аубз(х. тп11сабеЬоак. (о). р)аст)ад) Здесь х — тестовый сигнал, который должен быть достаточно длинным, чтобы по нему можно бьша оценить плотность вероятности отсчетов, 1п1тсобеЬоок — на- Функция Яаапв(г реализует неравномерное квантование сигнала, описанное в этой главе ранее. Синтаксис вызова функции следующий; (1пбех. саап1в, б1звог] - аиап11г(в1д, рагс111оп, собеЬоок) Здесь в1д — вектор отсчетов сигнала, рагс(с1 оп — вектор границ зон квантования (в разделе «Неравномерное квантование» для этих границ использовалось обозначение ав), собеЬоок — вектор уровней квантования. Длина этого вектора должна на единицу превосходить длину вектора рвгс111оп.
Выходные параметры 1пбех и яаапвв имеют такие же размеры, как и вектор сигнала, и содержат соответственно индексы и значения квантованного сигнала. Результат 1пбех определяется следующим образам: ь1 если в1д(к) < рагс(с1оп(1), то 1пбех(к) = 0; () если рвгтттбоп(а) < в1д(к) < рвг1111оп(а+1), то 1пбех(к) = а; () если в1д(к) > рвг111топ(епб), та 1пбех((с) = )епдвп(рагс111оп). Результат совптв содержит квантованные значения входного сигнала и рассчитывается как собеЬоок(1пбех+1). Таким образом, величина собеЬоок(1) задает уровень квантования для всех значений сигнала, меньших, чем рвгт111оп(1), величина собеЬоок(а) соответствует зоне квантования рагс(С(оп(щ-1)...рагт1т(оп(а), а последнее значение собеЬоой(епб) будет использоваться в качестве уровня квантования для всех значений сигнала, превышающих рвгт111оп(епб).
Третий выходной параметр б1 всог содержит значение среднего квадрата ошибки квантования. Если выходные параметры оцвптв и б1всог пе используются, входной параметр собеЬоок при вызове функции можно опустить. Функции пакете расширения г)11ег пее(вп чальное приближение для набора уровней квантования. Этот параметр может также быть не вектором, а числом, в таком случае он задает лишь количество уровней квантования, а начальное приближение выбирается автоматически. Оставшиеся два входных параметра являются необязательными и при вызове могут быть опущены. Параметр то1 позволяет управлять критерием завершения итерационного алгоритма поиска оптимального решения.
Если относительное изменение среднего квадрата ошибки на очередной итерации оказывается меньше го1, решение считается найденным. По умолчанию значение параметра го1 равно 10 ". При использовании параметра р1 отт1 а9 функция выволит график тестового сигнала, показывая горизонтальными линиями зеленого цвета подобранные уровни квантования, а линиями красного цвета — границы зон квантования.
Значение параметра р1отйзя может быть любым — важен лишь факт его наличия или отсутствия. Результаты работы функции — выходные параметры рзгт1 С1оп, со((евоок и о1зтог— имеют тот же смысл, что и для функции оцапт1г. Функции пакета расширения Ейег Оевщп В пакете расширения Е(!гег Оез(яп реализованы квантователи, а также алгоритмы фильтрации и БПФ, использующие представление чисел (в том числе и промежуточных результатов вычислений) в заданных форматах. Прежде чем переходить к описанию конкретных функций, необходимо сказать несколько общих слов об их устройстве. Дело в том, что квантователи, фильтры и блоки вычисления БПФ реализованы в пакете Р(!гег Е)ез1яп в виде обьвктов, имеющих некоторый набор свойств, а обычные функции Г11тег, ггт и некоторые другие расширены таким образом, что они могут принимать такие объекты в качестве олного из параметров.
Упомянутые объекты сначала нужно создать. Это делается с помощью функциикояструктора. Например, для квантованного фильтра роль конструктора выполняет функция Пт11С. В простейшем варианте конструктор может вызываться без параметров: » ))и = пт111; При этом будет создан объект квантованного фильтра с именем ))о, все свойства которого принимают значения по умолчанию. Для установки нужных значений свойств используется функция зес: » зе1(ЛО, 'Паче', ча1це); Здесь ))о — идентификатор объекта, 'паве' — строка с именем свойства, ча1це— задаваемое для него значение. Считать значение свойства можно с помошыо функции Вет: » ча1ие = дет(ПП, 'паве') аоо Глава 7. Эффекты квантования е цифровых системах Смысл параметров )тд и 'паве' здесь тот же, что и для Функции ве~, а результат ча1це содержит текутцее значение запрашиваемого свойства.