Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 77
Текст из файла (страница 77)
ь) х = бепогва1яах(ц) — для квантователей с плавающей запятой возвращает значение наибольшего денормализованпого положительного кваитованного числа. Для квантователей с фиксированной запятой возвращает ерз(ц); (3 х бепогва1ппп(ц) — для квантователей с плавающей запятой возвращает значение наименьшего дело)ьиализовапиого положительного квантованного числа. Для квантователей с фиксированной запятой возвращает ерз(о); Ы бзар(ц) — выводит на экран свойства объекта; П е - ерз(ц) — возвращает относительную точность представления чисел в квантователе ц.
Под точностью представления подразумевается минимальное число, при добавлении которого к единице результат квантования будет отличаться от единицы; ь) Ь ехропептЬтаз(ц) — возвращает смещение, используемое в квацтователе с плавающей запятой прн представлении порядка квантованных чисел. В случае формата с фиксированной запятой результат всегда равен нулю; Ы е = ехропеп11епдСЫц) — возвращает число двоичных разрядов, используемое в квантователе с плавающей запятой для представления порядка квантованных чисел.
В случае формата с фиксированной запятой результат всегда равен нулю; О евах = ехропеп1вах(ц) — если в квантователе используется формат с плавающей запятой, возвращает максимальное значение порядка квацтоваиных чисел. В случае формата с фиксированной запятой результат всегда равен нулю; С) еятп = ехропеп1втп(а) — если в квантователе используется формат с плавающей запятой, возвращает минимальное значение порядка квантованных чисел. В случае формата с фиксированной запятой результат всегда равен нулю; О Г Ггасгтоп1епд1Ь(ц) — возвращает количество разрядов дробной части квантованных чисел; С) х Ьех2пвв(ц.
Ь) — преобразование строки Ь, трактуемой как шестнадпатеричная запись внутреннего представления квантованного числа в квантоватсле ф в число х; 405 Функции пакета расширения Няет певдп С) х вах(д) — возвращает значение свойства Мах; С) х втп(д) — возвращает значение свойства М1п; О и порегаЬ1опз(д) — возвращает значение свойства Морегахтопз; (1 и почег11 сиз(д) — возвращает значение свойства Мочегт!оиз; С) Ь = пцв2пех(д.
х) — преобразование числа х в строку Ь, представляющую собой шестнадцатери пгую запись квантованпого числа, и соответствии с форматом, используемым квантователем д; С) и = пцпбегй)сиз(д) — возвращает значение свойства Мопбег11оиз; С) дгерогЬ(д) — выводит на экран статистическую информацию о работе квантователя (максимальное и мтшимальное значения входного сш нала, число переполнений и случаев потери значимости, а также количество выполненных квантований); С) з дгерогт(д) — возвращает ту же информацию в полях структуры з; С) г " галде(д) — возвращает двухэчемептньш вектор, содержащий минимальное н максимальное значения выходного квантовапного сигнала для кваитователя д; С) (а, Ь) = галде(д) — возвращает минималыюе и максимальное значения выходного квантованпого сигнала для квантователя д в виде двух отдельных переме~гных а (минимальное значение) и Ь (максимальное значение); С) х " геа1вах(д) — возвращает наибольшее положительное квантованпое число; С) х геа1втп(д) — возвращает наименьшее положительное нормализованное квантованное число; С) гезеЬ(д) — сбрасывает в исходное состояние значения свойств кваптователя д, связанных со сбором статистической информации (Мах, Мтп, МорегаЬтопз, Мочегг)сиз и Мцпбегт1онз); С) з - Ьозвг1пд(д) — возвращает строку вызова функции дцапЬтгег, в результате выполнения которой будет создан объект, совпадающий с объектом д; С) и - иогб)евдо(д) — возвращает общее число двоичных разрядов, используемое квантователем для представления квантованпых чисел, В качестве примера использования функций еоапт1гег и дцапЬттае создадим объекты квантователей с фиксированной и плавающей запятой, а затем построим для них графики характеристик квантования, то есть зависимости выходного (квантованного) сигнала от входного (неквантовапного).
Чтобы на этих графиках был хорошо виден ступенчатый характер зависимостей, число уровней 'квантования должно быть небольшим, поэтому будем использовать длину слова, равную шести д|юичным разрядам. В квантователе с фиксированной запятой дробная часть будет содержать пять разрядов. Для обработки переполнений зададим режим насыщения, а всем остальным свойствам оставим значения по умолчанию: » д (1хеб = соапС1гег('й1хеб', (б Ь). 'залога(е') д 11хеб = 406 Глава 7. Эффекты квантования в цифровых системах Мобе - 7!хек йоцпсноое - Поог Очег71оиМоое - затигате Еогщас = [б 53 » х аах=2*геа1иах(д 71хес): » х = 11пзрасе(-х иах.
х аах. 1000): » у - ооапт(хе(д т"1хес. х): Ыагп1пд: 484 очаг()сиз. > 1п,.оез1дп1диапттаат1оп19свапттаег1ооапт1хе,в ат 11пе 88 » р1от(х, у) Теперь изменим режим обработки переполнения, чтобы вместо насыщения про- исходило отбрасывание «лишних» старших разрядов. Затем снова построим ха- рактеристику квантования (рис. 7.11 снизу): » д т1хес.очег71омпобе - 'игар': » у - сеапспае(д т1хес, х); 'ч(агп1'пд: 484 счегт)сиз, > 1и ...Оез1дп1соапсгаат1бп19соапспаег1свапттаел аь 11пе 88 » р1ос(х. у) Графики на рис. 7.11 наглядно иллюстрируют сушность различий между режи- мами обработки переполнений 'аатигате' и 'итар', В кваитователе с плавающей запятой используем три разряда для хранения по- рядка.
Значения остальных свойств оставим установленными по умолчанию: » д [1оат - дцаптгаег('71оат'. [б 33) д 71оас = Мосе = т1оат доипоМоое - 71оог Еогват = [б 3) = гезес - гезеС -0 Мах М1п МОчегП охз ИОпоегт1оиз МОрегат1опз -0 -0 Мах - гезет М1п - гезес МОчег()сиз = 0 ндпг(ег(1оиз = 0 МОрегзС1опз = 0 Построим график характеристики квантования (рис. 7.11 сверху), выбрав такой диапазон значений входного сигнала, чтобы вызвать переполнение квантователя.
Для автоматического определения этого диапазона используем функцию геа1вах: 407 Функции пакета расширения Е)йег Оев)дп 0.8 0.6 0,4 0.2 -0.8 -1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0.8 0.4 0.2 -0.2 -0.4 -0.6 -О.В -1 -2 -1.5 -1 -0.5 0 0.5 1 1,5 2 Рис. 7.11. Характеристика квантования для квантователя с фиксированной запятой: сверху — при переполнении происходит насыщение, снизу — при переполнении отбрасываются старшие разряды Теперь строим характеристику квантования так же, как и раньше (рис.
7.12): » х аах=1.2*геа1аах(ц 11оаг): » х - 11пзрасе(-х пах. х пах, 1000); » у = ццап11ге(ц 11оа1, х); Иагю пд: 168 очегПоиз. > 1п дбеа)дп1ццап11га110МРццапС)гег1ццап11гел а1 11пе 88 » р10С(х. у) 4ов Глава 7. Эффекты квантования в цифРовых системах 10 -10 -15 -20 -15 -10 -5 0 5 10 15 20 Рио. 7.12. Характеристика квантования лля квантователя с плавающей запятой Сравнение характеристик квантования на рис. 7.11 и 7.12 наглядно демонстрирует особенности квантоватслей с фиксированной и плавающей запятой. Квантованные фильтры Для создания объекта квантовапного фильтра служит функция 117112.
В простейшем случае она может вызываться без входных параметров, но для фильтра это не имеет особого смысла — ведь нам в любом случае необходимо задать форму реализации и коэффициенты. Поэтому основным вариантом синтаксиса является следующий: ))0 = 0711т('Йгпстпге'. (сает)) Здесь 'зсгпсйпге' — строковый параметр, задающий форму реализации фильтра, а (соет) — массив ячеек, содержащий исхолные (неквацтованиые) коэффициенты фильтра.
Способ задания коэффициентов зависит от выбранной формы реализации фильтра, соответствующая информация сведена в табл. 7А. ЗАМЕЧАНИЕ Возможны также следующие варианты лля параметра 'зтгпсгше', соответствующие решетчатым фильтрам, пе рассматриваемым в данной книге; '!ац!сеаг', '1аыгсепи', '!аи)- ссаггпа', '1аы!сеса' н '!ать!сесарс' Озпакоиитьсн со способами задания коэффа1пеппа фильтра лля этих форм реализации можно по документации пакета г!!тсг Оез!яп. Для задания свойств объекта (пх список будет приведен ниже) можно указывать при вызове функции 0Г112 дополнительные параметры в виде пар «нмя свойства — значение свойствагп !)0 = пт111СзтгцсСцге', (соеуу). 'паве!', ча1пе1, 'папе2', чз1це2, ..) Здесь 'паве1', 'паве2' и т.
д. — имена свойств, а ча1пе1, ча1це2 и т. д. — соответствуюгцие значения. х Е Й о й Э Е Х Ь Ь ~О о о о о о С~ .О с Б х Б Ф о Ф Е К Ю 2 а о е Ф 2 х М о Б 8 Ш 410 Глава 7. Эффекты квантовании в цифровых системах Особо отметим еше один вариант вызова, позволяющий задать общий формат квантования для всех величин в фильтре. Для этого в списке параметров нужно задать значение свойства 'цввпг(гег': Ьц - цт)11(...
'ццапг(гег', [М И)....) В результате для 'всех величин будет нсцользован формат с фиксированной запятой с длиной слова (( бит и й' битамн после запятой. Список свойств квантованного фильтра приведен в табл. 7.5. Как уже говорилось, считывать и задавать значения этих свойств можно с помощью функций дег и зег соответственно. Обработка сигнала квантованным фильтром осуществляется, как уже было сказано, с помощью функции Г(1гег: [у. го, з, г, ч) = т(11ег(Пц, х, г() Здесь Ьц — объект квантованного фильтра, х — входной сигнал, г( — начальное состояние фильтра (этот параметр является необязательным). Результатами работы функции являются выходной сигнал у, конечное внутреннее состояние фильтра го и три параметра, позволяющие получить информацию о квнутренней жизни» фильтра в процессе работы: (з з — структура, содержащая информацию о работе квантователей (она воздается функцией цгерогг, см.