Лайонс Р. Цифровая обработка сигналов. Второе издание. Пер. с англ. (2006) (1095938), страница 56
Текст из файла (страница 56)
Если в какой-то момент времени возникнет ситуация, когда у( — 2) = О, у( — 1) = 8 и х(0), а также все последующие входные отсчеты х(п) равны нулю, выходной сигнал фильтра превращается в колебание бесконечной длительности, как показано на рисунке 6.36 (Ц. Если бы этот фильтр использовался для воспроизведения звука, при уменьшении входного сигнала до нуля слушатель обнаружил бы, что вместо тигпины он слышит какой-то тон.
Штриховая линия на рисунке 6.36 ()э) показывает реакцию фильтра в данной ситуации, если округление не выполняется. При наличии округления этот БИХ-фильтр полностью оправдывает свое название. (а) -О 76 а у(п) 1О ° Характеристика ез ошибок округления ° ° ° ° 12 ..-.--... 20 в-++4 — ° —,+':+ — ( — в — + — '+=+-В-.+++-в — е.
(Ь) 2 О 1б ° ° 2а Время Рис.6.36. Колебания предельного цикла, вызванные округлением результатов операций; (а) БИХ-фильтр второго порядка; (Ь) один из возможных откликов БИХ-фильтра во временной области Существует несколько способов уменьшения вредного влияния ошибок квантования коэффициентов и предельных циклов. Мы можем увеличить длину регистров, содержащих результаты промежуточных операций. Поскольку предельные циклы влияют на младшие биты результатов арифметических операций, увеличение длины слова приведет к уменьшению их влияния, если они возникнут.
Чтобы не подавать на вход фильтра последовательность, все отсчеты которой равны нулю, некоторые разработчики добавляют к входной последовательности возмущающую 276 Глава б. Фильт ы с имп льснойха акте истикой бесконечнойдпины псевдослучайную последовательность низкого уровня, которая препятствует возникновению колебаний предельного цикла и позволяет выходному сигналу фильтра уменьшиться до нуля, если входной сигнал стал нулевым. Возмущающая последовательность, однако, ухудшает отношение сигнал/шум на выходе фильтра ]11]. Наконец, чтобы избежать проблем с предельными циклами, мы можем просто использовать КИХ-фильтр.
Поскольку КИХ-фильтры по определению имеют импульсную характеристику конечной длительности и не содержат цепей обратной связи, они не могут поддерживать никакие колебания выходного сигнала. Мы можем устранить ошибки переполнения, если увеличим длину слова регистров настолько, что они никогда не будут переполняться. Входной сигнал фильтра можно промасштабировать (понизить его амплитуду, умножив на коэффициент, значение которого меньше единицы), чтобы устранить возможность переполнения, но при этом ухудшается отношение сигнал/шум. Колебания переполнения можно устранить, используя арифметику с насыщением, когда прн возникновении условий переполнения значение сигнала ограничивается на некотором фиксированном уровне ]28,29]. Читателю будет полезно запомнить, что, когда данные представлены в двоичном дополнительном коде, переполнения промежуточных результатов в последовательных сложениях не оказывают влияния на окончательный результат, если мы можем гарантировать, что этот результат не выходит за пределы диапазона, который может принять регистр результата.
Конечно, вычисления с плавающей точкой или с поблочно плавающей точкой могут существенно уменьшить ошибки, связанные с колебаниями переполнения и предельными циклами [30]. (Форматы чисел с плавакпцей точкой мы рассматриваем в разделе 12А.) Ошибки квантования коэффициентов и переполнения, обусловленные конечной длиной слова, оказываются разными в разных структурах реализации БИХ-фильтров. Практика показала, что Прямая форма П (см. рисунок б.22) наиболее склонна к возникновению ошибок. Наиболее популярный метод минимизации ошибок, связанных с конечной длиной слова, состоит в проектировании БИХ-фильтров, состоящих из ряда последовательно или параллельно соединенных фильтров более низкого порядка.
В следующем разделе мы узнаем, почему. 6.8. Улучшение БИХ-фильтров с помощью каскадных структур Разработчики БИХ-фильтров минимизируют проблемы устойчивости и шумов квантования, разрабатывая высококачественные фильтры в виде комбинаций фильтров более низкого качества. Перед тем, как рассмотреть эту идею, освежим в памяти важные моменты, касающиеся поведения комбинаций нескольких фильтров.
6.8. Ул шение БИХ- ильт оа с помощью каскадных ст к 277 6.8.1. Свойства каскадных и параллельных структур фильтров В этом разделе приведен обзор совместного поведения линейных фильтров (будь то БИХ- или КИХ-фильтры), соединенных последовательно (каскадно) или параллельно. Как показано на рисунке 6.37 (а), результирующая передаточная функция двух фильтров, соединенных последовательно, является произведением передаточных функций этих фильтров, или (6-116) Нае(з) = Н1(з)Н2(з) при общей частотной характеристике Н .(ш) Н1(о))Н2(ш) ° (6-117) у,,(г) = н,(г)няг)х(г) Н (т) (а) ,(~))х(г) (ь) Рис. 6.37.
Комбинации двух фильтров: (а) каскадная; (Ь) параллельная Важно также знать, что импульсная характеристика каскадного соединения фильтров равна свертке импульсных характеристик отдельных фильтров. Как показано на рисунке 6.37 (Ь), общая передаточная функция двух фильтров, соединенных параллельно, представляет собой сумму передаточных функций отдельных фильтров, или (6-118) Ндьт(г) =Н1(г) + Н2(г), а общая частотная характеристика определяется как (6-119) Нльт(ш)=Н((ш) + Н2(ш) .
Результирующая импульсная характеристика параллельно соединенных фильтров равна сумме индивидуальных импульсных характеристик фильтров. Давайте разработаем правило приближенной оценки неравномерности АЧХ в полосе пропускания двух каскадно-соединенных фильтров, показанных на рисунке 6.37 (а). Величина неравномерности АЧХ каскадного соединения фильтров есть функция неравномерности отдельных фильтров. Изобразив пульсации АЧХ какого-либо фильтра в линейном масштабе, как это сделано на рисунке 6.38, мы можем приступить к оценке неравномерности АЧХ каскадного соединения фильтров. 278 Глава 6, Фильт ысимп льснойха акте истикойбесконечнойдлины Согласно (6-117), верхняя граница АЧХ каскадного соединения, 1 + Я,, является произведением двух пиковых значения характеристик Н1(со) и Н2(са), или 1 сЯсат (14сЯ1)(1+Я2) =1+Ят+Я2чЯтЯ2 (6-120) 1+Я 1 1-Я Частота и55 Рис. 6.38.
Определение неравномерности Я АЧХ в полосе пропускания Лля малых значений Я1 и Я2 слагаемое Я1Я2 пренебрежимо мало, и мы можем сформулировать наше оценочное правило следующим образом: (6-121) Ясат = Ят Я2 Таким образом, в проектах, в которых используется последовательное соединение фильтров, необходимо задавать неравномерность АЧХ каждого фильтра не больше половины требуемогозначения Я, для комбинированного фильтра, или Ят Я2 Ясас / 2 (6-122) 6.8.2.
Каскадное соединение БИХ-фильтров Опытные разработчики фильтров обычно разбивают Б ИХ-фильтры высокого порядка на ряд последовательно соединенных БИХ-фильтров второго порядка, потому что эти фильтры низкого порядка проще проектировать, они менее чувствительны к ошибкам квантования коэффициентов, более устойчивы, а их реализация позволяет проще масштабировать данные для устранения переполнений.
Оптимизация разбиения фильтра высокого порядка на множество секций второго порядка представляет собой довольно сложную задачу. Пусть, например, мы имеем фильтр шестого порядка Прямой формы 1, показанный на рисунке 6.39 (а), который мы хотим разделить на три секции второго порядка. Разбивая передаточную функцию фильтра шестого порядка Н(г) на множители, мы можем получить до трех наборов коэффициентов прямой связи в числителе факторизованной Н(г) Ь '(Ь), Ь "(Ь) и Ь "'(Ь).
Аналогично, мы можем иметь до трех наборов коэффициентов обратной связи в факторизованном знаменателе; а '(Ь), а "(Ь) и а "'(Ь). Поскольку имеется три секции второго порядка, мы имеем ЗЬ или шесть, способов объединения наборов коэффициентов. На рисунке 6.39 (Ь) первая секция использует коэффициенты а '(Ь) и Ь '(Ь), вторая секция использует коэффициенты а "(Ь) и Ь "(Ь). Мы могли бы также перетасовать коэффициенты так, чтобы в первой секции использовались коэффициенты а'(к) и Ь "(к), а во второй — коэффициенты а "(Ь) и Ь "(Ь). Итак, имеется ц1есть математически равноправных способов объе- 279 8.8. Ул чшениеБИХ- ильт овспомощью каскадных от к динения наборов коэффициентов. Добавьте к этому то, что для каждой комбинации наборов коэффициентов имеется 3), или шесть, разных последовательностей включения этих секций второго порядка.
(а) ь(6) а(6) Секция 2 Секция 1 Секция 3 (ь) а'(2) а"(2) а'"(2) Ь'(2) ь"(г) Ь"'(2) Рис. 6.39. Разбиение БИХ-фильтра на секции: (а) исходный БИХ-фильтр шестого порядка; (Ь) три секции второго порядка Это значит, что, если мы хотим разбить фильтр порядка 2М на М секций второго порядка, то мы должны проанализировать (М))2 способов такого разбиения.
Таким образом, при переходе от рисунка 6.39 (а) к рисунку 6.39 (Ъ) мы можем получить (3)) 2 = Зб разных фильтров. Еше больше усложняет проблему разбиения фильтра то, что ошибки, вызванные квантованием коэффициентов, будут в общем случае для всех этих фильтров разные.