Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 7
Текст из файла (страница 7)
Кроме того, при использовании арифметики грт у 2 в процессе вычисления могут появиться две опасности: одпа— переполнение с в сумматорах, лругая — потеря значимости вследствие возведения в бол ьшую степень числа х, по абсолютной величине не превышающего 1. Во избежание пс ч р н ле 1ых недостатков прямого вычи ения" ип'ма используют аагорцглм Гердера у(х) = ае + х(а1 + х(а + ... + аы ) ...), (1.5!) который требует Мумщпксщщ и Мсл<икштц т е обшсс кол ащщ состав ~лет всего 2М гю ~М+ ~и4 в ( !)/ раза меньше, чем 27 МЛ2МЛ2 у(х)= '~' ~~~а; х,'х'.
(1.52, а) Алгоритм начинается с / = О. то (1.52, б) м и-! ..м +ах/ах! +аМ цх! х2+-"+аОМх2 ' е е 1о м тг тз м 1.4.4. Медианные фильтры Алгоритмы и процессоры цифровой обреботии сигналов в случае прямого вычисления. Данный алгоритм также не приводит к пере- полнению и потере значимости. Алгоритм Горнера нетрудно применить и для вычисления многомерных по- линомов. Процедуру поясним на примере двумерного полинома Раскроем этот полипом, т.
е. представим его в виде сумм: у(х) = аоо + +а!Ох|+па!Х2+ .2 +г/2ох! + а! 1х!х2 + пот х2 + откуда, взяв суммирование по столбцам, получим более удобную запись у(х)=[Ао[х!)]х~ + [А![х~))т2 + [Ал[х~))хт + ... + Ам [х1)т2 . 0 52 в/ Таким образом, можно записать у(х)=~~! А,(х,)х.', (!.52, г) т. е. исходный двумерный полипом можно рассматривать как одномерный, коэффициенты которого м-/ (1.53) А/(х,) = ~ а ./х,' /=о также одномерные полиномы.
Разумеется, вычисление одномерных поли- номов следует осушествлять с помошью алгоритма Горнера. Среди разнообразных адаптивных помех во временной области часто встречаются илшульсные помехи, которые действуют на очень коротких интервалах времени и накладываются на отсчет сигнала. Одним из эффективных методов борьбы с подобными помехами является применение медианной фильтра/!ни, алгоритм которой состоит в слсдуюшем: 1.
Выбирается нечетное количество 7г отсчетов принятого сигнала, начиная с /'-го отсчета. 2. Отсчеты располагаются в порядке возрастания по амплитуде. Глава'лхе яы аи мыц ф/о йобр б с и 3 Центральный отсчет данной выборки, называемый медианой, берется в качестве представителя этой выборки. 4, Выбираются новые х отсчетов принятого сигнала, начиная с (/+1)-го отсчета, и выполняются действия 2 — 4. Алгоритм медианной фильтрации поясняется на прилтере рис. 1.9, а резуль- тат отображается в табл. 1.2.
Рис. 1.9. Исходная и принятая последовательности На рис. 1.9 точками отмечены значения отсчетов передаваемого сигнала, который, как видно, является гладким. Положим, что во время передачи в канале действовала импульсная помеха, в результате чего седьмой отсчет получил значение 10, и в принятой последовательности образовался выброс: Значение отсчета 1 4 6 7 7 б 5 10 3 1 2 4 5 О Номер отсчета О 1 2 3 4 5 б 7 8 9 1О 11 12 13 Создадим выборки из этого ряда по три последовательных отсчета, переставим и м их в порядке возрастания и возьмем медиану, как показано в табл. 1.2.
Рез л ультат фильтрации отображен на рис. 1.10, где точками отмечены отсчеты итогового сигнала, Из рис. 1.1О и табл. 1.2 видно, что устранение импл Ульснои помехи сделало сигнал более плоским в областях максимумов и гв к 4 ! з мии кластер С1 С, С С О У1 лый цент воий Алгоритмы и процессоры цифровой обработки сигналов мпнимулюв, расположенных справа вблизи отсчета, полвергшегася воздей- ствию импульсной помехи. О О 1 2 3 4 5 5 7 9 9 1О 11 12 13 14 и Рыо. 1.10. Последовательность на выходе мелнанното фильтра Таблица 1.2 Лредставпениемедианнай фильтрации Глава 1.
Методы и алгоритмы цифровой обработки сигналов 1.4.5. Векторное квантование' Напомним, что известное скалярное квантование, осуществляемое аналогоцифровым преобразователем. состоит в там. что кажлому отсчету сигнала х(7) ставится в соответствие двоичное число х(п); в канал связи передается также лвоичное число у(п), получаемое в вычислителе. Количество таких чисел апрелеляется частотой дискретизации за, а скорость с их передачи в канале зависит еще н ат разрялности Ь представления чисел г=Ь. Г1 (1.54) и при передаче по каналу, например, речевога сигнала при стандартных Ь = 12, тв = 8000 Гц получаем с = 96 000 бит/с, что препятствует пспользовани1о стандартных телефонных каналов.
Можно поступить плаче (рнс. 1.11): определить в кочируелюй последовательности 2. блоков по й отсчетов в каждом при условии, что эти отсчсты не сильно отличаются друг от друга. Эти й отсчетов могут быть отображены с заданной опшбкой (приближением) свопм представителелз у,. Такис блоки называют «лпстерияи, з представителя 7»го кластсрау, — ценптроидов. Тогда кажлый отсчет х(л), принадлежащий 1-му кластеру, заменяется соответствующим не~грандом, и в канал связи передается только номер кластера (центроида). На передаче и приеме необходима иметь л1ножества из Е центроидав, которое называется кодовой «17пгой, а параметр Š— разл1срол1 кодовой книги.
Рис. 1.11. Кластеры и центронлы одномерной последовательности В об е, общем случае входной последовательностью могут быть й-мерпыс векторы (на рнс. 1.12 й = 2), что характерно для линейного прелсказапия (сзт. рпзд. 1.5.2), когда й > 10 и па каждом кадре линейного предсказания и ихо Рихолится передавать лесять параметров (линейных спектральных коРней).
на которые отвалится нс более 40 битов. Типовые 1024 вые размеры кодовых книг в речевых технологиях состаыяют 256, 512, и 2048 цептрапдов (кластеров). Положил1 Ь = 1024 = 2'о; это означает, что ко адовая книга содержит 1024 цснтроида разл1ерностью Л - !0 каж.1ый. Сле ава давательна, вместо набора из десяти параметров лннсйнога прелсказания пе е релается только номер кластера (а потому и номер центроила). которому прг1наллежит ланный набор, на что потребуется всего 1О битов, т.
е. обеспечивается сжатие сигнала в Ь'. = 40/1О = 4 раза. зт х,;у, Входной вектор Х(Л) Ут =(У У 4) х,;у, — з Уэ У! Уе У4 Рис. 1. 13. Бинарное дерево (/ = 1, ..., В) уровни поиае 1 2 3 НомеР центроида Ь !сиз Ь з! й (1.55) х(!) 41! = — ,'! (х! -!'тт)з и ! ! т! = 1 «(х! — тиз)з. т=! (1.56) АлГОРитмы и процессоры цифровой обрвботхи сигнвлОв Рис. 1.12. Разбиение двумерного массива на кластеры (точками обозначены двумерные центроиды1 На практике К, может быть и сущее~асино большим, что определяется соопзошениякзи: где Ь вЂ” разрядность одного отсчета х-мерного вектора; 1! — количество битов, затрачиваемых на передачу одного отсчета.
Поиск соответствующего центроида в кодовой книге простым перебором неэффективен. Позтому ее задают в виде бияпрттого дерева с расщеплением каждого узла на два (рис. 1.13). Центроиды у; = (у.1, ув, ..., удв) в узлах дерева нумеруются сверху вниз и слева направо. Нерасщепленному узлу (третьего уровня поиска в нашем случае) присваивается признак О = О. Переход по левой ветви с верхнего уровня на нижний соответствует записи нуля в регистр номера искомого центроида; иначе записывается 1.
Отсюда получаем слелуюшит! алгоритм поиска центроида (рис. 1.!4): 1. Формируется текущий входной вектор х о(х!, хз,..., хе); устанавливается указатель адреса центроидов / = 1, признак 5 = М вЂ” 1, регистр Ю!у номера искомого центроида Ь! = О. Глава т. методы и алгоритмы цифровой обработки сигналов Рис. 1.14. Структурная схема векторного кеантователя 2.
Определяются расстояния между х и центроидами й и Р.„, например ты 4 по СКО: 33 32 Ф т. Х(л) < Восстановление сигнала < < Алгоритмы н процессоры цифровой обработки сна<впав 3. Если д< к дз (лвижение пойдет по левой ветви), адреса центроидов равны у =у+ 2, иначея =у+ 3. 4. Значение признака уменьшается на 1: о = о — 1. Если о; О, содержимое йпсдвигается влево на один бит; если д< > дз (движение по правой ветви), следует записать 1 в нулевой разрял регистра т<п, перейти к п.
2. 5. Если о = О, д< > с6, то необходимо записать единицу в нулевой разряд и списаты<омер центроида из регистра Ву. Рассмотренные примеры показывают, что нелинейная обработка включает в себя алгоритмы, содержа<цие ие только перечисленные ранее операции и Функции, цо и более сложные процедуры обработки больших массивов векторов, а также логические операции.
1.5. Адаптивная фильтрация 1.5Л. Адаптивные фильтры Адаптивиыии называют фильтры, частотные характеристики которых зависят от спектров обрабатываемых сигналов. Основная задача адаптивного фильгра (АФ) — повысить качество приема или обработки сигнала. Требованин к АЧХ алаптивных филшров пе задаются, поскольку их характеристики изивнлвп<си ва времени. Процелура конструирования АФ состоит в выборе класса фильтра (КИХ, БИХ, одномерный, двумерный) и оптимального алгоритма корректировки (адаптации) переменных коэффициентов.
Именно выбор и построение оптиь<альиого алгоритма является наиболее сложной залачей, связанной с большими затратами вычислительных ресурсов и обеспечением работы устройства в реальном времени. АФ состоит из трех элементов (рис. 1.15): ь3 цифрового фильтра с переменными коэффициеип<ми; (3 устройства определения ошибки (сумматор на схеме); П устройства, рсализу<ощего алгоритл< адаптации.