Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 79
Текст из файла (страница 79)
Данные пределы можно использовать при определении подходящей длины коэффициентов данного фильтра. Кроме того, пределы полезны при оценке длин 464 Глава 7. Разработка фильтров с коночной импульсной характеристикой (КИХ-фильтров) Таблица 7.15. Коэффициенты фильтра до и после квантования до 8 бит п(п) -1, 05023е — 04 -1, 2585бе — 04 3, 07141е — 04 6, 79484е — 04 -2, 89029е — 04 -1, 77474е — 03 4, 08318е — 04 3, 43482е — 03 2, 66515е — 03 -5, 00314е — 03 -7, 30591е — 03 5, 09712е — 03 1,48422е — 02 -1, 40255е — 03 -2, 49785е — 02 -9, 39383е — 03 3, 64568е — 02 3, 28505е — 02 -4,72008е — 02 — 8, 52427е — 02 5,48855е — 02 3, 10921е — 01 4,42322е — 01 3,10921е — 01 5,48855е — 02 -8, 52427е — 02 -4, 72008е — 02 3. 28505е — 02 3, 64568е — 02 -9, 39383е — ОЗ -2, 49785е — 02 -1, 40255е — 03 1, 48422е — 02 5, 09712е — 03 -7, 30591е — 03 -5, 00314е — 03 2, 66515е — 03 3,43482е — 03 4, 08318е — 04 -1, 77474е — 03 -2, 89029е — 04 6, 79484е — 04 3, 07141е — 04 -1,2585бе — 04 — 1, 05023е — 04 Ь (и) 0,00000е+ 00 0,00000е+ 00 0,00000е -1.
00 О, 00000е -1. 00 0,00000е + 00 О, 00000е + 00 0,00000е -~- 00 О, 00000е + 00 0,00000е+ 00 -7, 81250е — 03 -7, 81250е — 03 7, 81250е — 03 1, 56250е — 02 О, 00000е + 00 -2,34375е — 02 -7, 81250е — 03 3,90625е — 02 3,12500е — 02 -4, 68750е — 02 -В, 59375е — 02 5, 46875е — 02 3, 12500е — 01 4, 45212е — 01 3, 12500е — 01 5,46875е — 02 -8, 59375е — 02 -4, 68750е — 02 3,12500е — 02 3, 90625е — 02 -7, 81250е — 03 -2, 34375е — 02 О, 00000е+ 00 1, 56250е — 02 7,81250е — ОЗ -7,81250е — 03 -7, 81250е — ОЗ О, 00000е 4- 00 0,00000е -Ь 00 0,00000е+ 00 О, 00000е 4- 00 О, 00000е 4 ОО О, 00000е + 00 0,00000е+ 00 О, 00000е 4- 00 О, 00000е .1- 00 7.11. Влияние конечной разрядности на цифровые КИХ-фильтры 45$ коэффициентов адаптивных КИХ-фильтров, поскольку алриори точные характеристик таких фильтров неизвестны (см. главу 1О).
Для КИХ-фильтра, реализованного в прямой форме, с квантованием через округление наиболее часто используются следующие пределы: ~Е(„)~ = )~т2-в ~Е( )~ 2-в()У~8)~1з Б ( ш ) / 2 в ~ ( 1 1 и ~ ) / 8 ) (7.44, а) (7.44, б) (7.44, в) где  — число битов, представляющих кажльзй коэффициент, а )т" — длина фильтра. Предел (7.44, а) — это абсолютный верхний предел, выведенный в предположении наихудшей ситуации (см. пример 7.19), так что он чрезмерно пессимистичен. Пределы (7.44, 6) и (7.44, в) представляют собой статистические пределы и могут дать более точную оценку ошибок частотной характеристики и длины коэффициентов. При выводе статистических пределов предполагалось, что ошибки квантования е(п) равномерно распределены и имеют нулевое среднее.
'Пример 7.19 1. Указав сделанные предположения, покажите, что максимально возможное затухание в полосе подавления А„для КИХ-фильтра нижних частот, реализованного в прямой форме, с квантованием коэффициентов через округление ограничено величиной А < 2018(2-вМ) (7.45) 2. КИХ-фильтр нижних частот удовлетворяет следующим спецификациям: отклонение в полосе пропускания 0,05 дБ, частота дискретизации 10 кГц, край полосы пропускания 1,8 кГц, ширина перехода 500 Гц, число коэффициентов 65. 2.!.
Оцените число битов, требуемых для представления каждого коэффициента, чтобы фильтр имел в полосе подавления затухание не меньше 60 дБ. 2.2. Используя длины коэффициентов, найденные в п. 2.1, оцените ожидаемое увеличение неравномерности в полосе пропускания и снижение затухания в полосе подавления в децибелах. 2.3. Сравните реальное затухание в полосе подавления и неравномерность в полосе пропускания фильтра, используя длины коэффициентов„ найденные в п. 2.1. 456 Глава 7.
Разработка фильтров с конечной импульсной характеристикой (КИХ-фильтров] Решение 1. Определим характеристику Е(ш), соответствующую ошибкам квантования коэффициентов е(т), как л-1 Е(м) = ~~~ е(т) ехр( — й >т), где )1' — длина фильтра. При округлении ошибка квантования в наиболее неблагоприятном случае составляет ~е(т) ~ = 2 1в '~/2 = 2 в, где  — длина коэффициентов (предполагается представление чисел в форме поразрядного дополнения до двух). Если предположить наибольшую ошибку для всех коэффициентов, получим /Е(и)$ = ~~~ /е(т)1ехр( — и ят) = ~~~ 2 л вхр( — зшт) = т=с «=с = 2 и ) вхр( — иат) = 2 вЖ.
«=с Если рассматривать е(т) как импульсную характеристику другого фильтра, соединенного параллельно с необходимым, то граничное отклонение в полосе пропускания (или подавления) равно 2 вУ, так что А ( 20 1к(2 ~Л) дв. Очевидно, данная оценка чрезмерно консервативна. На практике обычно достаточно меньшего числа битов, чем из нее следует. Впрочем, данный предел — это простой показатель, который легко использовать.
2.1. Положив в приведенном выше пределе А „„= 60 дБ, М = 65, находим, что В = 15, 988 бит. Следовательно, требуемая длина коэффициентов составляет В = 16 бит. 2.2. После квантования максимальная неравномерность в полосе пропускания в наихудшем случае равна Л,„,„, а затухание в полосе подавления — А . Данные величины можно выразить следующим образом: В~~ = 2018(1+бр+ ~Е(ь~)~) = 201к(1+0,005773+0,001) = О, 0586 дБ, т.е. наблюдаем увеличение на О, 0086 дБ. А = — 2018(б, + ~Е(м)~) = — 201к(0,001+0,001) = 54дБ, т.е. данный параметр уменьшился на б дБ (б„и б, — отклонение в полосе пропускания и подавления для неквантованного фильтра).
2.3. Используем программу разработки оптимального фильтра со следующими параметрами; число коэффициентов 65, краевые частоты 0; 0,18; 0,23; 0,5, весовые коэффициенты полос пропускания/подавления 1; 5,773. 7.11. Влияние конечной разрядности на цифровые КИХ-фильтры 457 -во -то -со Н -50 -00 -то -во -воо о з,о х 1о-' нох воч 5,0х ВО" Частота (По Рнс. 7.ЗЗ. Спектр фнпьтра по квантования (пример 7.19) Спектр фильтра до квантования показан на рис. 7.33. Существенной разницы между частотной характеристикой до квантования и после (16-битовые слова) не наблюдается. Неравномерность в полосе пропускания и затухание в полосе подавления после квантования равны 0,0227 и 64,15 дБ по сравнению с 0,0224 и 66„96 дБ до квантования. Очевидно, что основным следствием квантования коэффициентов является возможное увеличение максимальной неравномерности в полосе пропускания и снижение максимального затухания в полосе подавления.
Существуют практические процедуры, позволяющие учесть данные эффекты при вычислении коэффициентов фильтров. По сути, при этом спецификации неквантованных фильтров отображаются в новый набор спецификаций, который затем используется для получения коэффициентов, причем после квантования коэффициентов удовлетворяются исходные спецификации. Фильтр, получающийся в результате такого преобразования, может не быть оптимальным. Этот факт инициировал разработку методов оптимизации для получения мээффициентов КИХ-фильтров с конечной длиной слова, таких как алгоритмы смешанного целочисленного программирования (61 Новые подходы приводят к значительному уменьшению длин слов, используемых для представления коэффициентов, по сравнению с простым округлением, но поиск подходящих коэффициентов часто включает значительные вычислительные издержки уже при )т' умеренно больших. Практичнее использовать один из пределов (7.44) для оценки числа битов, необходимых для представления коэффициентов.
Требуемая длина слова обычно на 1-4 бит больше данного значения, а точная величина определяется при изучении частотной характеристики, отвечающей длинам слов в данном диапазоне. 488 Глава Х Разработка фильтров с конечной импульсной характеристикой (КИХ-фильтров) 7.11.2: Ошибки округления Напомним, что разностное уравнение КИХ-фильтра выглядит так: Ф-1 у(п) = ~~~ )з(т)х(п — т), (7.46) где каждая переменная представляется конечным числом битов.
Как правило, входные и выходные выборки х(п — т) и у(п) представляются 12 бит каждая, а коэффициенты представляются 16 бит в формате дополнения до двух. Из уравнения (7.46) видно, что выход фильтра — это сумма произведений А(т) и х(п — т). После каждого умножения произведение содержит больше битов, чем й(т) или х(п — т) отдельно. Например, если 12-битовый вход множится на 16-битовый коэффициент, результат размером 28 бит требуется квантовать до прежних 16 бнт, если, например, далее его нужно занести в память, или до 12 бит, если затем его нужно подать на выход ЦАП. Квантование приводит к ошибкам, влияние которых сходно с влиянием шума АЦП, но иногда проявляется более значительно.
Обычно в таких случаях для квантования результата арифметической операции либо а) результат усекается, т.е. оставляются только старшие биты и отбрасываются младшие, либо б) результаты округляются, т.е. выбираются старшие биты, наиболее близкие к неокругленному результату, Для реализации этого к результату прибавляется половина младшего разряда. Ошибки округления можно минимизировать, если точно представить все произведения в регистрах двойной длины, а результаты округлять после получения финальной суммы, т.е после вычисления у(п).