Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 111
Текст из файла (страница 111)
Соответствующая система изображена на рис. 9.11, в. 4. Оптимальные шаги для четырехкаскадной структуры: Мг — — 4, Мз — — 4, Мз — — 3 и М, = 2. Система и спецификация фильтров приведена на рис. 9.11, г. Основные результаты представлены ниже. Жг %з )Уз Жк Мг Мз Ма 1 4881 — — — 96 2 131 167 — — 32 3 3 25 34 117 — 8 6 2 4 11 13 17 120 4 4 3 М, УВС ОТП вЂ” 48 881 000 4881 560 000 298 485 000 176 2 496 000 161 Замечания.
Как обсуждается в работах 14, 5], если М,(1 = 1, 2,..., 7) — непрерывные переменные, оптимальные значения М, удовлетворяют условию М, > Мз » ... Мг. Кроме того, значения М,, минимизирующие требования к памяти, также минимизируют и вычислительную сложность. В то же время, если М, могут принимать только целые значения, данное условие удовлетворяется не всегда.
Поэтому предложенная программа разработки, по сути, находит решения для всех возможных наборов целых шагов. Затем из них выбирается наилучшее решение. Очевидно, что в общем случае многокаскадные структуры значительно уменьшают вычислительную сложность и смягчают требования к памяти по сравнению с однокаскадными структурами. Это снижение связано с широкими полосами перехода фильтров, использованных в первых каскадах (несмотря на то, что частота дискретизации все еше велика), что дает малые значения 7т' (число коэффициентов фильтра).
Сравнивая эффективность многокаскадных структур, находим, что снижение вычислительной сложности (УВС) и требований к памяти (ОТП) максимально проявятся при переходе от одиокаскадной схемы к двухкаскадной. Снижение требований к памяти при переходе от двухкаскадной структуры к трехкаскадной и от трехкаскадиой к четырехкаскадной также велико, но не настолько. Снижение вычислительной сложности также значительно при переходе от двухкаскадной структуры к трехкаскалной, ио при переходе от трехкаскадной структуры к четырехкаскадной фактически происходит увеличение вычислительной сложности (УВС). В целом похоже, что наиболее эффективная структура — это 7 = 3, при этом стоит помнить, что с ростом 1 сложность реализации увеличивается, поэтому на практике перед окончательным решением следует учесть сложность программного и аппаратного обеспечения.
9.3. Разработка практических конвертеров частоты дискретизации Наиболее эффективное решение с точки зрения вычислений или памяти может соответствовать чрезмерно большому (непракгичному) значению й( в одном из каскадов. Чтобы уменьшить значения )т' в этих каскадах, можно увеличить длину фильтров других каскадов, выбрать иной набор шагов децимации или увеличить число каскадов. Если найдены все возможные решения, на подобные компромиссы идти легко, просто изучая имеющиеся альтернативы. Прнмгерь 9,4 Разработайте нв уровне блок-схемы двухкаскадный дециматор, перевыбирающий аудиосигнал с шагом 30 и удовлетворяющий спецификациям, представленным в табл. 9.2. В ответе следует указать подходящую пару шагов децимации, выбор аргументировать подробным анализом вычислительной сложности и требований к памяти.
Для всех фильтров, задействованных в структуре, определите частоты дискретизации на входе и выходе каскадов, а также следующие параметры: граничные частоты, нормированная ширина полосы перехода, неравномерность в полосе пропускания и подавления, длина фильтра. Предполагается использовать КИХ-фильтры с длинами, определенными в табл. 9.2, Таблица 9.2. Спецификации фильтров двухкаскалного дсциматора где 21 г — нормированная ширина полосы перехода. Решение Общий вид дециматора представлен на рис.
9.12. Если использовать целые шаги, то возможны следующие пары (согласно требованиям вычислительной эффективности первый каскад всегда имеет наибольший шаг): 15 х 2, 10 х 3, 6 х 5. Чтобы определить, какую пару использовать, проанализируем вычислительную слож- ность каждой реализации. входная частота днскретнзацнн, г'. наивысшая важная частота неравномерность в полосе пропуекання неравномерность в полосе подавления †10(4„4.)— длина фильтра, 1т' = !4,6Ы 240 кГц, 5,4 кГц, 0,05, 0,01, 13 41, ббй Глава 9. Цифровая обработка сигналов при нескольких скоростях 1.
При М, = 15 и Мт — — 2 частота дискретизации вначале уменьшается в 15 раз до 1б кГц, а затем еще в 2 раза до 8 кГц. Имеем два фильтра со следующими параметрами; 240 Ъ первый каскад: граничные частоты; 3, 4 и 12 кГц 16 — — ), 2х30) ' гд1 = ' = 0,0358, 12 — 3,4 0,05 бв — — — ' — — 0,025; б, =0,01; Жг =45, 2 второй каскад: граничные частоты: 3, 4 и 4 кГц Ь1 = 0,0375, бг = — ' = О, 025; б, = О, 01; Ув = 43.
0,05 Используется две меры сложности схемы: число операций умножения в секунду (УВС) и общая требуемая память (ОТП). Для получении эффективной реализации структура децнматора выбирается так, чтобы в каждом каскаде операции фильтрации выполнялись с более низкой частотой дискретизации. В итоге получаем: унс = (45 х 16+ 43 х 8) х 10в = 1064 х 10з; память = 88. ЬГ = ' = 0,0691, 0,05 б„= — '=0,025; б,=0,01; Жг =23,81 24. второй каскад: граничные чаеппы: 3, 4 и 4 кГц (8 — 4 = 4 кГц), 4 — 3,4 0,05 ЬГ = ' = 0,025; бр — — — ' —— 0,025; 24 ' ' " 2 б,=001; М =64. Две меры сложности в данном случае имеют такие значения: УНС = (24 х 24+ 64 х 8) х 10з = 1088 х 10а, Отц = 88.
3. Наконец, рассмотрим третью возможную пару, Мг = 6 и Мт — — 5. Проведя тот же анализ, что и выше, получаем такие значения: первый каскад: ~раничиые частоты; 3, 4 и 36 кГц, 2. При М, = 10, Мт — — 3 частота дискретизации вначале уменьшается в 1О раз до 24 кГц, а затем еще в 3 раза до 8 кГц. Параметры фильтров: 240 первый каскад: граничные часюты: 3,4 и 20 кГц 24 — — = 20 кГц 2 х 30 9.3.
Разработка практических конвертеров частоты дискретизации 661 0,05 Ь| = О, 1358; др — — — ' — — О, 025; 5,=0,01; Ф,=13, втаро» каскад: граничные частоты: 3, 4 и 4 кгц г) Г' = О, 015; др = — ' = О, 025; бе = О, 01; 112 = 10б, 0,05 2 уцс = 1369 х 10', отп = 119. Результаты, полученные для трех рассмотренных ситуаций, снедены в табл. 9.3. Сравнивая вычислительную сложность и требования к памяти, видим, что наиболее подходящая пара шагов децимации — М, = 15, Мз — — 2.
1 !.Мг 1 г 240 кгц 05! а квг (м,м,) Рнс. 9.12. Даухеаскадныа децннатор Таблица 9З. Вычислительная сложность (УВС) н общак требуемая память (ОТП) Шаги еечимении удс ОТП ',"'м9.4.:;;фбфйммййФффмфйззцйй На рис. 9.13, а представлена блок-схема дециматора, где через Ь()с) обозначен цифровой фильтр защиты от наложения спектров. Если фильтр реализован в прямой форме (т.е.
используются линии задержки с отводами), выход фильтра нг(п) и его вход х(п) связаны следующим соотношением: к-! цг(п) = ~~ Ь(й)х(п — й), (9.12, а) где гт' — число коэффициентов ких-фильтра. поскольку выход дециматора у(па) = то(паМ), уравнение дециматора можно записать следующим образом: Мг = 16; Ма = 2 м =ю;м =з Мг = 6; Ма = 6 1064 х 10а 1066 х 10 1366 х 10а вв вв г!9 Глава В. Цифровая обработка сигналов при нескольких скоростях 652 1 ма) б) Рис. 9.)З. Простая блок-схема дециматора (панель а); функциональная схема прохождения сигнала через децимагор(панель б) (9.12, б) у(т) = ~ Ь()с)к(Мль — lс). Функциональная схема дециматора приведена на рис.
9.13, б. Вход к(п) подается на линию задержки по одной выборке за такт. Для каждых М выборок х(п), поданных на линию задержки, вычисляется одна выходная выборка у(т). При этом берется первая выборка в(л), отбрасываются следующие (М вЂ” 1) выборок, запоминается идущая далее выборка, затем снова отбрасываются (М вЂ” 1) выборок и т.д. Поскольку для каждой сохраненной выборки следующие (М вЂ” 1) выборок ц)(л) отбрасываются, нет смысла вычислять их значение по формуле (9.12, а). Следовательно, операцию выборки с пониженной частотой (отбрасывание выборок) можно выполнить до умножения выходных выборок на коэффициенты (рис. 9.14, а).
Теперь операции умножения и сложения с участием коэффициентов фильтра выполняются при более низкой частоте дискретизации Е,))М, поэтому вычислительные затраты уменьшены в М раз. Общая схема работы одиокаскадного дециматора приведена на рис. 9.14, б. Функциональная схема работы трехкаскадного дециматора показана на рис. 9.15 и является очевидным расширением соответствующей однокаскадиой схемы.
"Э.4.1..:: Программа многокаскадной децимации В приложении 9А приводится самодостаточная интерактивная программа на языке С, написанная на основе изложенных выше методов. Программа выполняет децимацию исходных данных с использованием до трех каскадов децимации; см. функциональную схему на рис. 9.15. На каждом этапе децимации требуется целый шаг децимации и набор коэффициентов Аг-точечного фильтра, представляющих цифровой КИХ-фильтр с линейной фазовой характеристикой. Входные данные считываются из файла данных на персональном компьютере, а данные после децимации заносятся в заданный пользователем файл выходных данных по Бвз 9.4.
Программная риализация дециматоров 6) Рис. 9.!4. Более эффективная лиаграмма прохаждения сигнала через децнма- тор (панель а); функциональная схема процесса децимации (панель Б) одной выборке за такт. Предположим, что используется трехкаскздная децимация (см. рнс. 9.15). Для каждых М, входных выборок каскада 1 вычисляется одна выходная выборка.