Лайонс Р. Цифровая обработка сигналов. Второе издание. Пер. с англ. (2006) (1095937), страница 112
Текст из файла (страница 112)
Мы хотим реализовать ФНЧ с частотой среза 20 Гц и подавлением в полосе задерживания 60 дБ. Проблема усложняется требованиями линейности ФЧХ и удаления постоянной составляющей сигнала. (Последние требования не позволяют использовать схемы удаления постоянной составляющей, описанные в разделе 13.23.) Первым делом рассчитаем прототипный нерекурсивный КИХ-фильтр, имеющий, скажем, Ж = 168 коэффициентов, 1 Я благодарен моему коллеге по ЦОС Эрику Якобсену (Епс эасоЬэеп), руководителю отделения алгоритмов в 1псе1 Соср., за публикацию этого метода.
13.27. П оекти рвание КИХ- ильт ов очень высокого по едка АЧХ которого показана на рисунке 13.72 (а), а коэффициенты Ь ((т) — на рисунр ке 13.72 (о). Затем рассчитаем 168-точечное ДПФ коэффициентов и получим отсчеты частотной характеристики Нр(т), модули которых изображены на рисунке 13.72 (с). (а) -50 -400 о Частота (Гц) гоо ОЛ о.г (ь) -о.г 'о 50 1ОО 150 (с) о о 1ОО Частота (в) 150 Рис. 13.72. КИХ-фильтр-прототип. "(а) АЧХ; 00) коэффициенты )тр()т); (с) модули ) )тр(т) ) отсчетов 168-точечного ДПФ )тр(К) В предположении, что проектируемый фильтр требует примерно 1600 ответвлений, нам необходимо интерполировать импульсную характеристику прототипа Ьр(к) с коэффициентом интерполяции М = 10.
Мы выполняем интерполяцию, вводя (М-1)А( нулей в центральную часть отсчетов частотной характеристики Нр(т), получая в результате 1680 отсчетов частотной характеристики Н(т), модули которых показаны на рисунке 13.73 (а). Наконец, мы выполняем 1680-точечное обратное ДПФ от Н(т) и получаем интерполированную импульсную характеристику требуемого фильтра Ь(й) (т. е. коэффициенты фильтра), показанную на рисунке 13.73 (Ь).(Десятикратное уменьшение относительной частоты пропускания прототипаН (т) даетдесятикратное увеличениедлины импульсной характеристики 7) (1).) АЧХ реву()ьтирующего КИХ-фильтра очень высокого порядка в диапазоне от -30 до 30 Гц показана на рисунке 13.73 (с).
В этом процессе коэффициенты прототипа Ь (() сохраняются среди интерполированных коэффициентов, если отсчет Нр(тт~/$) (соответствующий 7' /2) равен нулю. Это условие обеспечивает сопряженйую симметрию и, следовательно, дает действительные коэффициенты Ь(й). Глава 13. Маленькие хит ости ((и оной об аботки сигналов (а) о о 1ООО Частста (а1) 1500 0.02 (ь) о -0.02 о 400 воо 1200 1аоо (с) -эо -зо -20 -1О о 1О 20 зо Частста (Гц) Рис. 13.73. Требуемый КИХ-фильтр: (а) модуль )тр(т) с добавленными нулями; (Ь) интерполированные коэффициенты )т()т); (с) АЧХ Последовательность действий при использовании этого метода проектирования фильтров высокого порядка: (э Если требуемый фильтр должен иметь МЮответвлений, следует задать длину прототипа Ю, равную целому значению, достаточно малому для того, чтобы программа проектирования КИХ-фильтров дала пригодный к использованию результат.
Коэффициент интерполяции М равен количеству требуемых ответвлений, деленному на Л(. с) Далее необходимо спроектировать прототипный КИХ-фильтр с Жответвлениями с учетом М-кратной компрессии частотной характеристики конечного фильтра. (То есть частоты среза прототипа должны в М раз превышать заданные частоты среза.) (2 Следует выполнить Ю-точечное ДПФ коэффициентов прототипа лр(л) и получить Н (и). ' (2 Затем необходимо вставить в Н (и) М-1 нулевых отсчетов непосред- Р ственно перед НР(Ж/2) и получить частотную характеристику Н(т), содержащую МЮ отсчетов. а Нужно вычислить МА(-точечное обратное ДПФ Н(т), которое дает интерполированный набор коэффициентов л(() длиной МЮ.
(Следует отбросить мнимую часть результатов обратного ДПФ, которая из-за ошибок вычислений может оказаться отличной от нуля.) 13.28. Инте поляция ео в еменной области с помощью БПФ а Далее следует умножить й(к) на М для компенсации коэффициента потери амплитуды 1/М, обусловленного интерполяцией. и И, наконец, необходимо проверить коэффициенты й(я) и убедиться в том, что полученная АЧХ удовлетворяет заданным требованиям, используя программу анализа фильтров. (Можно, например, использовать такой метод: дополнить Ь(к) несколькими тысячами нулей и выполнить БПФ очень большого размера.) Примером применения такого фильтра является построение высококачественного полифазного ФНЧ, описанное в разделе 10.4.
(Структуры высококачественных интерполированных КИХ-фильтров и фильтров на основе частотной выборки не позволяют использовать их разложение на полифазные субфильтры в таких приложениях.) 13.28. Интерполяция во временной области с помощью БПФ Вдумчивый читатель может посмотреть на схему интерполяции импульсной характеристики КИХ-фильтра, представленную в разделе 13.27, и задуматься: «Если мы можем интерполировать импульсную характеристику, то мы должны быть в состоянии интерполировать любые сигналы, используя тот же метод дополнения нулями в частотной области».
Это действительно так, и описанный выше процесс интерполяции с коэффициентом М, применяемый к сигналам, иногда называют тонной интерполяцией, т. к. его применение эквивалентно использованию идеального интерполирующего фильтра с бесконечным подавлением в полосе задерживания, и он нашел отражение в учебниках по ЦОС, журнальных статьях и конспектах лекций известных профессоров.
Для согласования терминологии договоримся, что мы вычисляем БПФ 7ч'-точечной последовательности х(п) и получаем отсчеты Х(т) в частотной области. Затем мы добавляем (М-1)М нулей в среднюю часть Х(т) для получения ММ отсчетов Хяя(т), где МЮ равно целой степени двойки. Затем мы выполняем МХ-точечное обратное БПФ от Х;„«(т) для получения интерполированной с коэффициентом М последовательности х;„(и). Использование дополнения нулями в частотной области для реализации интерполяции во временной области имеет две важные особенности, на которых мы сейчас сосредоточимся. 13.28.1.
Вычисление интерполированных действительных сигналов Первая особенность: чтобы интерполированная последовательность х;„~(п) была действительной, дополненная нулями последовательность в частотной области Хяя(т) должна сохранять сопряженную симметрию. Если последовательность Х(т) содержит ненулевой отсчет Хвя(У/2), соответствующий частоте /;/2, для обеспечения сопряженной симметрии мы должны выполнить следующую процедуру: Глава 13.
Маленькие кит ости ци оной об ботки сигналов а Выполнить Ю-точечное БПФ Х-элементной последовательности х(и) и получить )т'отсчетов Х(т) в частотной области. с) Создать последовательность Хик(т) длиной М)У, все отсчеты которой равны нулю. а Присвоить Хги (т) = Х(т) для О < и < (Ж/2) — 1. с) Присвоить отсчетам Х ()т/2) и Х „(МУ вЂ” Ж/2) значение отсчета Х(М/2)/2. (Этот шаг, необходимый для обеспечения сопряженной симметрии и улучшения точности интерполяции, мало известен [72].) (э Присвоить Хка(т) = Х(д) при М7т' — (Л(/2)+1 < т < М)т' — 1 и ()у/2)+1 < д ~)У-1.
с) Вычислить М)У-точечное обратное БПФ последовательности Хва(т), в результате которого получается требуемая интерполированная последовательность хгл (п) длиной М)У отсчетов. с) Наконец, если необходимо, умножить хви(п) на М для компенсации коэффициента 1/М, обусловленного интерполяцией.
Ух) Приведенная математизированная запись процедуры придает этой схеме довольно сложный вид, но все не так плохо. В таблице 13.8 показаны присвоения отсчетам Хаа(т) в частотной области при О < гл < 1э для интерполяции последовательности х(п) длиной )У = 8 отсчетов с коэффициентом интерполяции М = 2. Таблица 13.8. Формирование Х)лг(лг) при двукратной интерполяции Хмг(т) Х~, (иэ) Х(0) Х(1) Х(2) 10 Х(3) Х(4)/2 12 Х(4)/2 13 Х(5) Х(6) Х(7) !4 15 Одно из привлекательных свойств описанного алгоритма состоит в том, что каждый М-й отсчет последовательности х;„,(и) совпадает с отсчетом исходной последовательности х(п). На практике, из-за вычислений с ограниченной разрядностью мнимые части отсчетов результирующей последовательности хьк(п) могут иметь некоторые ненулевые значения.
В этом случае в качестве хва(и) мы берем действительные части отсчетов обратного БПФ последовательности Хьк(т). 13.2В. Инте поляция во в еменной области с помощью БПФ Вторая особенность интерполяции действительных сигналов имеет действительно большое значение.