Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 113
Текст из файла (страница 113)
Процесс продолжается, пока не будут обработаны все входные выборки. Названную программу интерполяции можно найти иа компакт-диске, который прилагается к книге (аеас(тог, 2001) (подробности см. в предисловии). Указанная программа является самодостаточной. Для ее применения пользователь должен задать число каскадов, общий шаг интерполяции, кроме того, для каждого каскада нужно задать шаг интерполяции и набор коэффициентов КИХ-фильтра. Пользователь задает имена файла с данными для интерполяции, с коэффициентами фильтров и файла, в котором будут записаны выходные данные после интерполяции.
' ": '9;,5'";2!~~~. Тестовый пример Входная последовательность определяется так же, как для дециматора. Пять первых выборок последовательности приведены в табл. 9.5. В данном примере выполняется двухкаскадная интерполяция. Шаги интерполяции в третьем и втором каскадах равны соответственно 2 и 5, так что общий шаг интерполяции — 10. Результат интерполяции представлен в табл.
9.5. Использованные коэффициенты КИХ-фильтров также приведены в табл. 9.5; длины фильтров — 25 и 28 соответственно. 9.5.2.1. Выходная задержка Выход интерполятора будет запаздывать относительно входа на определенное число выборок. Ниже приводятся выражения для групповых задержек одно-, двух- и трехкаскядных интерполяторов. Т(1 каскад) = Т, выборок, (9.16, а) Т(2 каскада) = (Т~ + МтТз) выборок, (9.16, б) Т(З каскада) = (Тт+ МтТз+ М1МзТз) выборок, (9.16, в) где Т, — задержка фильтра тьго каскада: Т, = (Ю, + 1)/2 выборок ()т', — число коэффициентов фильтра данного каскада). В приведенном выше примере фильтры имеют задержки соответственно! 3 и 14,5, так что суммарная задержка равна 13+ 2 х 14, 5 = 42 выборки. Если нужно, чтобы задержка выражалась целым числом выборок, значения )У, следует выбирать так, чтобы Т, вычисленное по приведенной выше формуле, было целым.
Следовательно, если требуется сравнить входные и выходные выборки (например, в узкополосном фильтре верхних частот, где выполняется операция, обратная к НЧ-фильтрации), в выходную выборку нужно ввести поправку на задержку. 662 Глава 9. Цифровая обработка силталов при нескольких скоростях п л(тт) Бз(Й) у(тл) нт(й) — О, 9000 О, 1900 0,1710 О, 1539 0,1385 здесь х(~) и у(тн) — входные и интерполированные данные, йз(й) и ат((т) — интерполируютдие фильтры Таблица 9.5.
Данные тестового примера интерполяции -4,744 98 х 10 т -7,313 815 х 10 з -1, 730 554 х 10 з -3,008 7 х 10 з -3, 860 341 х 10 з -2,995 969 х 10 з 4, 150 394 х 10 1, 629 372 х 10 з 3, 299 083 х 10 з 4,876 397 х 10 " 5, 600 492 х 10 з 5, 226 ВБ1 х 10-4 2,857 456 х 10 з -1,480 226 х 10-4 -7, 700 115 х 10 з -0,001 544 5 -2, 448 377 х 10 з -3,400 52 х 10 з -4, 320 959 х 10 з -5, 079 387 х 10-з -5,534875 х 10 з -5,728923 х 10-з -5,466 501 х 10 з 4 756 987 х 10-з -3, 522 772 х 10-з — 1, 715 353 х 10 з 5 557 998 х 10-4 3,324 822 х 10-з 6,400 164 х 10-з 9,565 701 х 10-з 0,012 597 6 1, 544 317 х 10 з 1,774 401 х 10 з 1 933 819 х 10 1, 984 539 х 10 з 1,894 878 х 10 з 1, 681 832 х 10 з 1,303 225 х 10 з 7 845 689 х 10 — з 1,357 867 х 10-з -6, 262 392 х 10 з -1, 462 789 х 10" з -2, 343 143 х 10 з 3 207 272 х 10-з -3, 972 186 х 10 з 4 567 938 х 10-з -4, 993 166 х 10 з 5 142 782 х 10-з -5, 009 625 х 10-з -4,527419 х 10 з — О, 000 303 О, 001 807 О, 003 120 -О, 001 169 -0,009 267 -О, 007 792 О, 011 124 О, 027 651 О, 007 674 -О, 045 444 -О, 064 816 О, 022 946 0,202 371 0,352 610 0,352 610 0,202 371 О, 022 946 -0,064 816 -0,045 444 О, 007 674 0,027 651 О, 011 124 -О, 007 792 — 0,009 267 -О, 001 169 О, 003 120 0,001 807 -О, 000 303 -0,000 174 -О, 002 682 -О, 006 346 -0,011 033 -О, 014 156 -0,012 024 -0,000 775 О, 021 904 0,055 181 0,094 397 0,131 836 0,158 866 0,168 728 О, 158 Вбб 0,131 836 О, 094 397 0,055 181 0,021 904 -0,000 775 -0,012 024 -О, 014 156 -0,011 033 -О, 006 346 — О, 002 682 -0,000 174 9.6.
Преобразование частоты дискретизации с использованием многофазною фильтра 663 Рня. 9.2Е. Ивторполятор ПЗ с 9-тачечимм КИХчйллвтром, ровлляоввплмм в прямой форме 1!!",'1::9 6;-!Пр66бфВ3018(ЙИ6,,"., 4фЬ~ЙЪз( Дфф6ФЙЗЬЦИ~~~л,'Я~В~ * -" -' 11ффзе.Р ф.ИСК)ф"афВф~Йй~фф')(ф((2(офффЯфф'ффЦЩ~~ ' .,:оо';~~';>,"~..~„"-, Существует альтернативная эффективная структура, которую можно использовать при реализации дециматоров и интерполяторов, — так называемая многофазная струк- аура. Поскольку многофазная фильтрация при интерполяции проще, чем при децимации, рассмотрим вначале ее.
;~~9„6Л,".'Р, Многофазная реализация интерлоляторов Многофазная реализация интерполяторов построена на основе того факта, что некоторые выборки линии задержки интерполятора равны нулю. В этом случае экспандер удаляется полностью, чтобы не нужно было хранить нулевые выборки. Далее линия задержки сокращается до ж/ь позиций (где )9' — длина фильтра защиты от наложения спектров, а Ь вЂ” шаг интерполяции). При таком подходе для каждой входной выборки, поданной на линию задержки, иа основе )я/Е выборок линии задержки рассчитываются Е выходных выборок, причем каждая выходная выборка вычисляется с иным набором коэффициентов фильтра (т.е.
коэффициенты фильтра, соответствующие нулевым выборкам, опускаются). Чтобы лучше понять многофазиую реализацию интерполаторов, рассмотрим простой интерполятор 1:3, изображенный на рис. 9.20. В этом случае Б = 3, а число коэффициентов фильтра )я' = 8. Согласно схеме на рис. 9.20 на линию задержки подается входная выборка, за которой следует два нуля (Š— 1), затем идет следующая входная выборка, снова два нуля и т.д. Содержимое линии задержки после подачи первых четырех входных выборок (х(0), х(1), х(2) и х(3)), за каждой из которых было подано две нулевые выборки„показано на рис.
9.21, где также указаны моменты взятия выборок при двух частотах дискретизации. Для каждой выборки, поданной на линию задержки (даниые или нули), вычисляется выходная выборка. Следовательно, для каждой реальной выборки (выборки з(п)) Глава 9. Цифровая обработка сигналов при нескольких скоростях вычисляется три выходные выборки.
Между каждой парой таких ненулевых выборок располагается (Л вЂ” 1) нулей (в данном примере — два). Очевидно, что выполнять умножение на нулевые выборки не обязательно. На рис. 9.2! показаны последовательные выходные выборки ннгерполятора. В использованной реализации при вычислении выходных выборок применяются только ненулевые входные выборки. Здесь необходимо сделать некоторые замечания. 1. Каждая входная выборка порождает три выходные выборки, причем в расчете каждой выходной выборки фигурируют три подфильтра, каждый из которых имеет три коэффициента; ° (6(0), 6(3), 6(б) ), (6(1), 6(4), 6(7) ), (6(2), 6(Б), 6(8) ); ж для каждой новой входной выборки процесс повторяется; ° подфильтры работают с более низкой частотой дискретизации. 2. Общий фильтр представляет собой параллельное соединение подфильтров; (рис.
9.22, а). Подфильтры, называемые также мнагафазными филыврами, имеют общую линию задержки, что снижает общие требования к памяти в 3 раза. Для каждой новой входной выборки каждый многофазный фильтр выдает выходную выборку с более низкой частотой дискретизации; (рис. 9.22, 6). Общая структура реализации интерполяции на основе многофазных фильтров показана на рис. 9.23. В данном случае для каждой новой входной выборки сигнала а(п) существует Л выходных выборок сигнала у(т), по одной на каждый многофазный фильтр. Верхний многофазный фильтр, т.е. рс(п), дает выходные выборки ус(п), следующий многофазный фильтра, 41(п), даст выход у, (и), и т д. На практике многофазные фильтры часто реализуются с использованием коммутативной модели, изображенной на рис. 9.23, б.
Коммутатор вращается в направлении против часовой стрелки, начиная с верхнего положения. Анализ многофазных фильтров показывает, что это — широкополосные фильтры, имеющие разные сдвиги фаз (поэтому фильтры называются многофазными). Вычислительная эффективность структуры на основе многофазных фильтров объясняется тем, что единый Ас-точечный КИХ-фильтр разбивается на набор небольших подфильтров длины )с/х., где 1У выбирается целым и кратным Ь, причем каждый фильтр работает с более низкой частотой дискретизации.
Коэффициенты многофазиых фильтров, используемых прн интерполяции, выражаются следующим образом: )у рь(п) = 6(6+ пЬ), 1с= 0,1,...,Š— 1; 0,1,..., — — 1. Интерполятор, изображенный на рнс. 9.23, можно преобразовать в дециматор, приведенный на рис. 9.24. Обратите внимание на то, что в этом случае коммутатор вращается по часовой стрелке, начиная с верхнего положения в момент гп = О. Коэффициенты многофазных фильтров дециматора следующим образом связаны с коэффициентами фильтров исходного ннтерполятора: Ж р,(п) =6()с+пМ), 6=0,1,...,М вЂ” 1; 0,1,...,— — 1.
9.6. Преобразовании частоты дискрвтизации с испопьзованивм многофазного фильтра 666 о 1 2 3 4 6 7 в 9 10 11 у(о) = х<о>Ыо> у<П= (0>Ь<и 42) = *(0)Ы?! 43> = 41>ЫО> «(О)Ь<э> 44)=4!)Ь(1)лл(0]ь(а) у(5)=4ПЬ<2) «40)Ы5) у(6) = 42)Л(0) л л(1)ЫЗ) ел(0)ь(6) у(7) =л(2)ь(1! лл(!)Ь(4) «л(0)Ь(7) у(8] = л(?) Ь(2) « 41) Ь<5) с 40) Ь<В> у(9) = л(З) Л(О) л л(2) Ь(3 ] л л( ИЫ6) у(10) = 43)ь(1) л л(2)ЫЬ) л л(1)Ы7) 411)=л(З)Л<2)+л(2)ЫЗ)«4!)Л(Я) Рис, 9.21.