Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 97
Текст из файла (страница 97)
Чтобы избежать этого переполнения, вход звена необходимо масштабировать. Для прямой формы (см. рис, 8.25, б) масштабирование не обязательно, поскольку это звено имеет всего один сумматор и может быть более выгодным в реализациях, когда масштабирование нежелательно, как„например, в системах качественного цифровою аудио (6). Кроме того, при определенных условиях прямая форма лучше канонической с точки зрения шумовых характеристик.
Связанная форма обладает некоторыми преимуществами, касающимися эффектов конечной разрядности (9), но требует больше вычислительных усилий и ее трудно использовать при воплощении передаточных функций, коэффициенты числителей которых имеют второй порядок. 564 Глава В. Разработка фильтров с бесконечной импульсной характеристикой (БИХ-фильтров) -ез -ез а) рне. Вдб. Стаидаргнме блоки структурм реавизанин БИХ-фильтров: а) кано- ничееизе звено второго перника; б) звено второго порядка в прямой форме Фильтрующие блоки, представленные на рис.
8.25, — это общие звенья второго порядка. Из них можно вывести несколько других блоков. Например, если юзффициенты числителя а, и аз на рис. 8.25, а равны нулю, имеем чисто рекурсивную структуру С другой стороны, если для вычисления коэффициентов фильтра использовались эллиптические функции, юэффициент аз равен единице. Кроме того, в любой из приведенных выше структур можно положить а, = Ьз = г) и получить звено первого порядка. На рис. 8.26 показаны переупорядоченные каноничесюе звено второго порядка и звено второго порядка в прямой реализации. Рисунки получены из рис.
8.25, а и б соответственно — переставлены сумматоры и соединительные узлы и обращены направления стрелок. Хотя передаточные функции звеньев на рис. 8.26 от перестановки не изменились, свойства, касающиеся эффектов конечной разрядности, изменились значительно. Вообще, существуют и другие структуры, менее чувствительные к эффектам конечной длины слова, но обычно они очень сложны. В качестве примеров таких структур можно назвать блоки минимального шума, блоки с изменяемыми параметрами и решетчатую ст)зуктуртг.
8.13. Структуры реализации цифровых БИХ-фильтров е) ез б) Рнс. 3 дб. Йерсупорядочен нос канон нчесаое звено второго прядка (панеяь а); переупорядоченное звено кю. рою порядка в прямой рвадйзапнн (пвнеяь б) ,-:,~~,",,~~1~„:ф Каскадная и параллельная реализации БИХ-фильтров больших порядков На практике передаточные функции больших порядков реализуются как каскады или параллельные комбинации описанных выше стандартных блоков второго и/или первого порядка. Обычно каскадная реализация передаточной функции факторизуется в Ю/2 множителей второго порядка: Дгггз г -З -зч Ьпа + Ьгад + Ьзг,д 1+а)ад-г+адаг 2 (8.49, а) )'т'В(2) „, дга(д) 588 Глава 8.
Разработка фильтров с бесконечной импульсной характеристикой (БИХ-фильтров) 3 11„ 1+ела + «ае а -а Рис. 8.27. Каекалиая реализация где Мь(г) = Ьла + Ьзаз 1 + Ьга г ага(г) = 1 + а„а,-з+е „,-1 (8.49, б) а порядок фильтра )У предполагается четным. Если гт' нечетное, то одна из функций На(г) будет описывать звено первого порядка. Каждый сомножитель На(г) можно реализовать с использованием одного из стан- дартных блоков, а затем полученные блоки соединить каскадом (рис.
8.27). При кас- кадной реализации возникают три проблемы: 1) как образовать пары "множитель числителя-множитель знаменателя"; 2) в каком порядке объединять отдельные зве- нья; 3) как масштабировать уровни сигналов в различных внутренних точках фильтра, чтобы уровни не стали слишком низкими или высокими. Упорядочить множители числителя и знаменателя можно по-разному.
Например, фильтр четвертого порядка можно факторизовать в два звена второго порядка, а затем упорядочить их одним из четырех различных способов: зззг :~гг 1) Н(г) = — —, ,01(г) 1)г(г) Нгг 1'и'1 г " ""=В,(.)О,(.) 11'зг зугг " "" = О.( ) В,( )' Н 4) Н(г) = причем каждое Жь(г) и Вь(г) — это лелином второго порядка, определенный в уравнении (8.49, б). В первом случае первое звено фильтра состоит из пары числитель- знаменатель зуз(г) и 01(г), а второе звено — из лары 7Уг(г) и Вг(г). Очевидно, что 8.13.
Структуры реализации цифровых БИХ-фильтров 86? число возможных способов разбиения на пары достаточно велико. Как правило, для фильтра М-го порядка число различных разбиений равно Я')' (8.50) Чтобы избежать появления большой амплитудной характеристики на частоте, соответствующей полюсу, применяется следующее эмпирическое правило: объединять в пару Л,(з) с Рь(з), если нули У,(г) близки к полюсам Рз(г), и располагать в конце каскада звенья второго порядка с полюсами, наиболее близкими к единичной окружности (12).
Кроме того, разработано немало эффективных схем организации пар и упорядочения звеньев фильтра, основанных на том, какое упорядочение дает наилучшее отношение сигнал-шум (см. главу 13). При параллельной реализации передаточная функция М-го порядка Н(з) раскладывается в ряд элементарных дробей: М!2 Н(з) = С+ ~~ Нь(з), (8.51) ь--з где Ь,„Ь ь+Ь,„ С= —, Нь(з)= — 1 2 ан' 1+а,ьа '+азьг-з Как и ранее, звено второго порядка можно реализовать с использованием описанных ранее стандартных блоюв, как показано на рис. 8.28.
Стоит отметить, что в параллельной реализации коэффициент числителя при з з равен нулю. В параллельной структуре порядок соединения звеньев не важен. Более того, масштабирование выполняется легче и его можно провести независимо для каждого блока (см. далее), а отношения сигналшум сравнимы с наилучшими значениями для каскадной реализации (12). В то же время нули параллельных структур более чувствительны к ошибкам квантования юэффициентов. Следует также отмстить, что чувствительность нулей параллельной структуры к квантованию коэффициентов кажется более серьезной, когда длина коэффициентов уменьшается до 5 бит или меньше.
Похоже, что для длин коэффициентов от 12 бит отличие параллельной и каскадной структур для большинства фильтров менее значительно. В то же время, важным преимуществом каскадного метода является то, что примерно от 25 до 5088 коэффициентов фильтра являются простыми целыми числами (О, х1 или ~2), если фильтр выведен из классических аналоговых фильтров посредством билинейного г-преобразования. Эта особенность привлекательна в системах, имеющих только примитивные арифметические возможности, где число умножений должно быть малым.
Отметим также, что большинство доступных программных пакетов рассчитывают коэффициенты для каскадной реализации, но не для параллельной структуры. По этим причинам каскадный метод в настоящее время более популярен. 888 Глава 8, Разработка фильтров с бесконечной импульсной хврактвристикой (Бих.фильтров) «злЗ Рие.
8Л8. Параллельная реализация Пример.8.20 Используя звенья второго и первого порядка, перепишите представленную ниже передаточную функцию для каскадной (1) и параллельной (2) реализации фильтра 0,1432(1+Зл '+За я+ я л) 1 — 0,1801л я+О 3419л-и Оз0165л — л' Решение 1. Для каскадной реализации Н(л) выражается в факторизованном виде: 1+2 '+л ' 1+л ' 1 — 0,1307л-' + 0,33558-л 1 — 0,0490л-' 2. Для параллельной реализации Н(л) выражается как сумма звеньев второго и первого 1, 2916 — О, 08407л ' 10, 1764 Н(л) — ' ' + ' 8, 7107. 1 — 0,131л '+0,33558 ' 1 — 0,0498 ' Диаграммы реализации каскадного и параллельного представлений изображены на рис.
8.29, а и б соответственно. Коэффициенты параллельной реализации получены с помощью программы на языке С, приведенной в главе 4. 8.14. Влияние конечной разрядности на ВИХ-фильтры 869 -Е,3555 а) о,еио 6) Рне. 8.29. Реалиааиии фильтра на лримера 8.20: а) каекалная; б) лараллельная Полученные ранее (см. разделы 8.4-8.10) коэффициенты ае и Ьа имеют бесконечную или очень высокую точность, обычно б-7 десятичных разрядов. Когда же цифровой БИХ-фильтр реализуется в такой малой системе, как 8-битовый микрокомпьютер, при представлении коэффициентов и выполнении арифметических операций, указанных в разностном уравнении, появляются ошибки. Данные ошибки отрицательно сказываются на производительности фильтра и в крайних случаях приводят к его неустойчивости.
Перед воплощением БИХ-фильтра в программной или аппаратной форме важно выяснить степень ухудшения производительности за счет эффектов конечной разрядности и найти "лекарство", если ухудшение неприемлемо. Вообще, влияние названных ошибок можно уменьшить до приемлемых уровней, использовав больше битов, но такое решение иногда приводит к увеличению стоимости фильтра. б70 Глава 8. Разработка фильтров с бесконечной импульсной характеристикой (БИХ-фильтров) Перечислим основные искажающие факторы цифровых БИХ-фильтров.
° Шум квантования АЦП, проистекающий от представления выборок входных данных х(и) малым числом битов. ° Ошибки квантования коэффициентов, вызванные представлением коэффициентов БИХ-фильтров конечным числом битов. ° Ошибки переполнения, которые возникают при сложении или промежуточном суммировании частичных результатов в регистре ограниченной длины. ° Ошибки округления результата, когда выход у(зт) и результаты внутренних арифметических операций округляются (или усекаются) до разрешенной длины слова. Степень ухудшения фильтра зависит, во-первых, от длины слова и типа арифметики, используемой для выполнения операции фильтрации, во-вторых, метода, используемого для квантования коэффициентов и переменных фильтра, и, в-третьих, структуры фильтра.
Зная данные факторы, разработчик может оценить влияние конечной разрядности на производительность фильтра и при необходимости принять меры. В зависимости от реализации фильтра, некоторые эффекты могут быть незначительными. Например, если фильтр реализуется как программа на языке высокого уровня преимущественно на больших компьютерах, ошибки квантования коэффициентов и округления несушественны, При обработке в реальном времени входные и выходные сигналы, коэффициенты фильтра и результаты арифметических операций представляются с использованием слов конечной длины (обычно 8, 12 и 16 бит). В таких случаях практически всегда необходимо проанализировать влияние квантования на производительность фильтра.