Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 161
Текст из файла (страница 161)
13.27 и перечислены в табл. 13.7. Видно, что если вход х(л) равен нулю бесконечно, выход у(п) при бесконечной точности экспоненциально затухает до нуля, вне зависимости от знака ос В то же время, если используется арифметика конечной точности с выходом, который окрупшется до ближайшего целого, то прн положительных ст выход остается фиксированным на данном уровне. Диапазон выходных уровней, в пределах которого удерживается выход, называется меравой зоной (оеаоЪапд). В данном примере мертвая зона — зто интервал ( — 2, 2]. В общем случае мертвая зона фильтра первого порядка определяется как (1 Ц где зле() обозначает целую часть числа в квадратных скобках.
Если тк отрицательное, выход осциллирует с частотой Р,/2 между двумя фиксированными уровнями разного знака. Это вызвано тем, что, когда вход исчезает, выход фильтра затухает до величины, меньше уровня квантования, которая при округлении переходит на следующий уровень, и этот процесс продолжается, порождая низкоуровневые осцилляции. В некоторых ситуациях данные осцилляции нежелательны. Например, они порождают неприятный Глава 13.
Анализ аффектов конечной разрядности .. 922 О 2 4 6 З а з 4 6 а 02 0 2 4 6 З Рис. 13.27. Иплтстрапик инзКоуровнезоГО Граннчного НнКпа, поуожкенного квантованием произввпеина БИХ-фильтра первого порлпка: а — бескоиечиаа точность; 5 — квантование через округление; е — квантование через усечснис шум в телефонной системе при незашпом канале (югда абонент молчит).
Для уменьшения граничных циклов обычно увеличивается длина слова процессора или к выходу перед округлением прибавляется псевдослучайный сигнал. Рассмотренная ранее схема Е% также позволяет снизить амплитуду граничных циклов и в неюторых случаях полностью их устранить. Вообще, граничные циклы округления не возникают в фильтре второго порядка, если коэффициенты находятся внутри треугольника устойчивости.
Таблица 13.7. Результаты примера 13.17 у(п), (а = О, 75) у(п), (о= -0,75) и Бссконечиал точиоста Округление Усечение Бескоиечнеи точность Округление Усечение 6 З,З8 2,53 1,90 1,42 1,07 0,80 0,60 0,45 6 -4,5 3,38 -2, 53 1,90 -1, 42 1,07 — 0,80 0,60 — 0,45 6 -5 4 -3 2 — 2 2 — 2 2 — 2 6 -4 3 -2 1 0 0 0 0 0 13.5. Эффекты конечной разрядности в апюрнтмах БПФ -; ч13.4.16;:, Другие нелинейные явления в23 13;5;ЭФФекты:конечной разрядностй'в ВпгОритмах БПФ В большинстве алгоритмов ЦОС основными ошибками, возникающими при реализации алгоритмов БПФ с использованием арифметики с фиксированной запятой, являются: ° ошибки округления, которые возникают при усечении или округлении произведения И'"В до системной длины слова; ° ошибки переполнения, возникающие, когда выход "бабочки'* превышает приемлемую длину слова; ° ошибки квантования юэффициентов — следствие представления настроечных параметров ограниченным числом битов.
Рассмотрим влияние этих ошибок на примере выхода двоичного БПФ. :: 13.5;1,': Ошибки округления в БПФ Основной операцией во всех алгоритмах БПФ является вычисление по схеме "бабочка", которая в двоичном БПФ с децимацией во времени характеризуется следующими уравнениями: А' =А+ ИгьВ, В' =А — И'ьВ, где А и  — входы "бабочки", А' и В' — ее выходы.
В общем случае настроечный параметр И~в, а также входы и выходы — юмплексные. В реализации с фиксированной Помимо переполнения и граниччых циклов произведений существуют и другие нелинейные эффекты, которые могут повлиять на поведение цифрового БИХ-фильтра. Перечислим их. !. Явление скачка. При подаче на фильтр синусоидального сигнала при одинаковых входных сигналах возможно два выходных уровня.
Небольшое изменение амплитуды или частоты входного сигнала приводит к скачку с одного уровня на другой. Определены несколько областей внутри треугольника устойчивости, где возможны такие явления. В этих областях коэффициенты фильтра удовлетворяют условию )а,(аз < — 1. Доказано, что последствия указанных нелинейных эффектов снижает схема ЕЗЗ. 2. Субгармонический отклик. При синусоидальном входе выход может содержать субгармоники входа !4].
Следовательно, при одном и том же входном сигнале, но разных начальных условиях можно получить существенно отличающиеся выходы. Данные эффекты проявляются более значительно, если полюса фильтра лежат близко к единичной окружности. Глава 13. Анализ эффектов конечной разрядности .. 924 запятой вычисление "бабочки" выполняется с использованием действительной ариф- метики, поэтому А' и В' нужно выразить в прямоугольной форме (см. главу 12): А' = А„+ В„соз(Х) + В, аш(Х) +г[А, + В, соа(Х) — В„,яп(Х)! = (13.40, а) = А„+ В„,Ит„+ В, И', +э[А; +В, Ит„, — В„,И';, [ В' = А„— [В„, сов(Х) + В, яп(Х)[+ г[А, — (В. соа(Х) — В„яп(Х))[ = = А„, — (В„,Ит„, + В, %, ) + г[А, — (В; Ит„, — В„,И'(.
)) (13.40, б) где индексом ге обозначена действительная, а индексом гпт — мнимая часть переменной, Х = 2л)с/ту. Таким образом, вычисление по схеме "бабочка" требует четырех умножений и шести действительных сложений (вычитание мы также относим к операциям сложения). В реализации с фиксированной запятой каждое из приведенных выше произведений требует для представления приблизительно вдвое большего числа битов, чем требуется для записи каждого операнда по отдельности. Например, если переменные В„,, В;, И'„, и И', представлены как 1б-битовые числа, то после умножения представление каждого произведения потребует 32 бит. Усечение или округление каждого произведения до прежних 16 бит порождает ошибку округления.
Таким образом, с каждой "бабочкой" можно связать четыре источника шума округления, по одному для каждого произведения, так что мощность шума округления (т.е. дисперсия) на выходе каждой "бабочки" равна г о =4х— г Я (13.41) где 9 = 2 ~в '>, а длина слова системы — В бит. Шум, порождаемый "бабочкой" на каждом этапе, поступает на следующие этапы. Если исследовать граф-схему БПФ, например, рис. 13.28, видно, что каждый выход БПФ Х(й) можно проследить до предыдущих (М вЂ” 1) "бабочки". На рис.
13.29 показаны "бабочки", которые вносят вклад в выход Х(2) при М = Т. Вообще, каждый выход БПФ соединяется со всеми гУ/2 "бабочками" этапе 2, М/4 "бабочками" этапа 2, )У/8 "бабочками" этапа 3 и т.д. Предполагая, что все "бабочки" порождают идентичные, но некоррелирующие ошибки, получим максимальную мощность шума в каждом выходе БПФ Х(й) [14): -г1в-ц ог = ()т' — 1)ов г— )Ус~а — — — 2 М~ 0 (при болыпом М). Таким образом, мощность шума прямо пропорциональна размеру преобразования. Если удвоить М, что равносильно прибавлению этапа БПФ, то мощность шума удваивается. Поскольку мощность шума пропорциональна тУ и 2 жа '1, то, чтобы удержать ее без изменений, можно увеличить длину слова на 1.
В этом случае отношение сигнал-шум приблизительно равно 1/3 ЯгУВ = гУ2 г~в ц/3 гу 13.5. Эффекты конечной разрядности в алн>ритмах БПФ эта) жо> Х(1) х(4) Ха> Х(Э> х(б) х(1) 214) х(5) Х(5) Х(б) ип 217) Рис. 13.23, Граф-схема В-точечного двоичного алгоритма БПФ с децимацией во времени Ы4) х(2) х(6) х(1) х(5) Х(6) х(э> 7> Рнс. 13.29.
Граф. схема, на нхгорой показаны "бабочки", вносящие вклад в щум округления, присутствующий в выходах Х(2) и Х(б) 1 2 Л В' Рнс. 13.30. Схема масштабирования для снижения переполнения в каждой "бабочке" Глава 13. Анализ эффектов конечной разрядности... 926 Если рассмотреп только вклад шума в "бабочки", имеющие нетривиальные настроечные параметры (" бабочки" с настроечными параметрами Игь = ж1 или ~г дадут точные произведения без ошибок), мощность порождаемого шума будет ниже из-за ошибок округления. Фактически, если использовать эту информацию, можно найти, что некоторые выходы БПФ вообще ие дают ошибок.
Поэтому очевидно, что приведенные выше выражения — это верхние границы ошибок. 13.5.2.::: Ошибки переполнения и масштабирование в БПФ Поскольку размер данных растет после расчета каждой "бабочки", при вычислении БПФ необходимо масштабирование, так как оно позволяет избежать ошибок переполнения (после сложения по формулам (13.40, а и б)). Существует несколько способов масштабирования данных для предотвращения переполнения при вычислении БПФ. Одна из наиболее популярных схем масштабирования основана на наблюдении, что выход каждой "бабочки" удовлетворяет следующему соотношению 114): шах((А'(, (В'(( < 2 шах((А(, (В(].
(13.42) Данная запись означает, что максимальный модуль выхода "бабочки" увеличивается от этапа к этапу в два раза. Следовательно, если входы "бабочки" умножить на коэффициент О, 5, в выходах не должно возникнуть переполнения, при условии, что амплитуда входных данных принадлежит диапазону разрешенных длин слов (см. рис. 13.30). Фактически в некоторых случаях масштабирования с коэффициентом 0,5 недостаточно для предотвращения переполнения, даже если вход меньше единицы. Для иллюстрации рассмотрим явные выражения, приведенные в формулах (13.40): А'=А„+В„И'„+В, И'; +к[А; +В, И'„— В„,И', (, В = Ага (ВгеИ~е+ В1гл)41 ) + т(Ат (Вкатите ВеИ~т)1'> Если Х = 2лк/М = 45', то соз(45') = а!п(45') = з/2/2.
Без масштабирования и с единичными действительными и мнимыми частями входных данных (граничный случай) из приведенного выше уравнения получаем: А' = 2,4142+ т; В' = -0,4142+ т. Если каждый вход масштабирован на О, 5, то: А' = 1,2071+ 0,5т; В' = — 0,2071+ 0,5Е Очевидно, что действительная часть А' по-прежнему вызовет переполнение, даже при указанном масштабировании, так как ее амплитуда больше единицы.