Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 148
Текст из файла (страница 148)
Наибольшая частота, представляющая практический интерес после децимации, равна 400 Гц, неравномерность в полосе пропускания равна 0,08 дБ, затухание в полосе подавления равно 50 дБ. Дециматор нужно реализовать на базе процессора ТМБ320С50. Решение Используя программу разработки систем обработки с несколькими скоростями (см. 11Геас)тот, 20011 н предисловие), получим параметры трехкаскадного дециматора (рис.
12.35). Коэффициенты трех фильтров, полученные с помощью программы разработки оптимального КИХ-фильтра, представлены в табл. !2.7. Согласно спецификациям длины фильтров взяты несколько больше оценок, предсказанных программой разработки дециматоров (12, 13 и 48 вместо 13, 12 и 46). На рис. 9.15 представлена функциональная схема общего трехкаскадного дециматора. Схемы хранения коэффициентов и данных для дециматора на основе ТМБ320С50 показаны на рис.
12.36. Коэффициенты фильтра квантуются до 16 бит путем умножения каждого коэффициента на 2" с последующим округлением результата до ближайшего целого. Приведенная программа децимации на языке ассемблера ТМБ320С50 является универсальной и ее можно модифицировать для выполнения одно-, двух- или трехкаскадной децимации путем замены коэффициентов, задающих длины фильтров, число каскадов децимации и коэффициенты децимации. Глава 12.
Универсальные и специализированные процессоры ЦОС 844 Таблица 12.7. Коэффициенты фильтров трехкаскадного дециматора 239 889 1943 3342 4649 5464 -284 -835 -834 792 4338 8162 9855 Длина фильтра = 12 'ь'ь* Импульсная характеристика "'ь' Н( 1) = 0,73075550Š— 02 = Н(12) Н( 2) = 0,27123260Š— 01 = Н(11) Н( 3) = О, 592864ЗОŠ— 01 = Н(10) Н( 4) = 0,10198970Е+00= Н( 9) Н( 5) = 0,14187870Е+00= Н( 8) Н( 6) = 0,16675770Е+00= Н( 7) ""ь* Импульсная характеристика "'ь' Н( 1) = -О, 86768190Š— 02 = Н(13) Н( 2) = -О, 25476870Š— 01 = Н(12) Н( 3) = -0,25468170Š— 01 = Н(11) Н( 4) = 0,2418432ОŠ— 01 = Н(10) Н( 5) = 0,13238570Е+00 = Н( 9) Н( 6) = О, 24907950Е+ 00 = Н( В) Н( 7) = 0.30075170Е+00 = Н( 7) Длина фильтра 48 "'""' Импульсная характеристика '""* Н( 1) = 0,17780220Š— 02 = Н(48) Н( 2) = -О, 17396640Š— 02 = Н(47) Н( 3) = -0,49461790Š— 02 = Н(46) Н( 4) = -0,25451430Š— 02 = Н(45) Н( 5) = 0,40843330Š— 02 = Н(44) Н( 6) = 0,42773070Š— 02 = Н(43) Н( 7) = -0,45042640Š— 02 = Н(42) Н( 8) = -0,80385180Š— 02 = Н(41) Н( 9) = 0,29002500Š— 02 = Н(40) Н(!0) = 0,12193670Š— 01 = Н(39) Н(11) = 0,92281120Š— 03 = Н(38) Н(12) = -О, 16199860Š— 01 = Н(37) Н(13) = — О, 76966970Š— 02 = Н(36) Н(14) = О, 18898710Š— 01 = Н(35) Н(15) = О, 17966280Š— 01 = Н(34) Н(16) = -О, 18756490Š— 01 = Н(33) Н(17) = -О, 32451860Š— 01 = Н(32) Н(18) = О, 13458800Š— 01 = Н(31) Н(19) = О, 52945520Š— 01 = Н(30) Н(20) = О, 1762060ОŠ— 02 = Н(29) Н(21) = — О, 86433440Š— 01 = Н(28) Н(22) = -О, 44585360Š— 01 = Н(27) Н(23) = 0,18176500Е+ОО=Н(26) Н(24) = 0,41039480Е+ ОО = Н(25) 585 — 57 -162 -83 134 140 -148 -263 95 400 30 -531 -252 619 589 -615 -1063 441 1735 58 -2832 -1461 5956 13448 12.5.
Реализация алгоритмов ЦОС на универсальных процессорах ЦОС РГОО зюь 38ОЬ ЕРОО вг Рис. 12.36. Схемы хранения коэффициентов и данных трехкаскадного дециматора Рис. 12.27. Общая структура адаптивного фильтра: пара входов и пара выходов $2 б;5;.-:л Адаптивная фильтрация Общая структура адаптивного фильтра изображена на рис. 12.37.
Как обсуждалось в главе 10, адаптивная фильтрация включает два процесса. 1. Цифровая фильгирация. С помощью коэффициентов фильтра, изображенного на рис. 12.37, из входного сигнала х(л) извлекается нужная информация, в результате чего получается р(л). Считая, что используется трансверсальная структура, фильтр можно записать следующим образом: ДГ-1 й(л) = Х~' ™ (к)к(л к)г ь=а где игь(й), й = О, 1,..., У вЂ” 1 — коэффициенты цифрового фильтра (часто именуемые весовыми ксэффициенлгами), а х(л — й), й = О, 1,..., Аг — 1 — последовательность входных данных.
848 Глава 12. Универсальные н специализированные процессоры ЦОС Реализация цифрового фильтра в форме, представленной в уравнении (12.15), весьма схожа с рассмотренной ранее реализацией стандартного КИХ-фильтра, Так что реализация фильтра на языке С будет иметь знакомый вид: у[п] 0; ок( =О; н; х++)( у[п) у[п]+ни[)с]*хп[)с); ) 2. Адалшивный процесс. Данный процесс включает обновление, т.е. настройку коэффициентов фильтра до достижения ими оптимальных значений. При использовании стандартного алгоритма наименьших квадратов коэффициенты обновляются следующим образом: гс„+,(Й) = ш„(к) + 2де(п)х(п — )с), Ь. = О, 1,2,,]т' — 1, (12.1б) где ш„(к) — к-й коэффициент цифрового фильтра в п-й момент выборки, д — параметр устойчивости, х(п-х) — и-я входная выборка в ]с-й линии задержки.
Реализация стандартного обновления по схеме наименьших квадратов на языке С приведена в программе 12.11. Член 2це [и] является скаляром, будучи одинаковым длв всех коэффициентов, он вычисляется один раз и выносится за пределы цикла. Реализация адаптивного процесса на базе ТМо320С50 представлена в программе 12.12. Программа 12Л1. Псевдокод С для обновления коэффициентов адаптивного фильтра по схеме наименьших квадратов иеп-2*и*е[п] Тот(к 0; «,Н; К++)( но[К] ни[К]+цел*хи[К]; ) Программа 12.12. Псевдокод ТМ5320С50)ци обновления коэффициентов адаптивного фильтра по схеме наименьших квадратов ;вычисляет а я е(п) задает длину фильтра вычисляет ие(п) + х(п-)с) обновляет коэффициенты, их+1(п) ЬТ мРТ РАС АПП БАСН ЬАСС БАММ ЬАВ ЬАВ ЬТ МРХ ВРТВ ЕАЬВ МРУА БАСН 1 МБ ЕАЬВ АРАС БАСН ОНЕ, 15 ЕВВР ((Н-1 ВВСВ АВ2, ()ИНМ1 АРЗ, ()ХНМ1 ЕВВР АВ2 ЬМБ-1 *, АВЗ *-, АВ2 *+ *, АВЗ указывает на последний козййициент, нх(Н-1) указывает на х(п-(И-1)) 647 12.6.
Специализированная аппаратура ЦОС 12.6. СПЕЦИаЛИЗИРОВаННВЯ'аППаРатУРа ЦОС Почему специализированная? Операции цифровой обработки сигналов являются вычислительно интенсивными. В приложениях с широкополосными сигналами, где скорость поступления (выдачи) данных велика, большинство универсальных процессоров ЦОС не могут достаточно быстро выполнить нужные вычисления. Разумеется, по этой причине универсальные процессоры ЦОС часто используются в приложениях, где задействованы аудиочастоты. Кроме того, для данных приложений большинство универсальных процессоров ЦОС содержат много встроенных ресурсов, которые либо излишни, либо недостаточно эффективно используются, например, это относится к режимам адресации, наборам команд и периферийным устройствам ввода-вывода.
В специализированных процессорах ЦОС аппаратное обеспечение оптимизировано для выполнения определенного алгоритма или некоторых функций специфического приложения. Это позволяет эффективнее использовать встроенные ресурсы и повьппать скорость работы. Специализированное аппаратное обеспечение можно реализовать как одночиповый продукт или как блок отдельных компонентов. Использование блочной конструкции гибче и позволяет повысить скорость, но внедрение подобных аппаратных средств сложнее и дороже. Одночиповые процессоры ЦОС (если они разработаны для выполнения данной задачи) имеют меньшее число интегральных схем, не требуют знания малопонятного языка ассемблера и не имеют проблем программной отладки. Основные требования к специализированным процессорам ЦОС Наиболее распространенной арифметической операцией в таких алгоритмах ЦОС, как цифровая фильтрация, корреляция и преобразования, является сумма произведений: у = ~~~ аьхы (12.17) где ак — набор коэффициентов или переменных, х — последовательность данных.
Характерное уравнение (12.17) можно для более эффективного вычисления суммы произведений записать в рекурсивной форме: уь — — аьхь+уз „к = 0,1,...,М вЂ” 1, (12.18) у,=о, У = Ун-и В специализированных процессорах ЦОС уравнение (12.18) вычисляется с помошью умножителя-накопителя с очень большой скоростью, например, 40 нс на одну операцию умножения-накопления. Подобно универсальным процессорам ЦОС архитектура специализированных процессоров включает память (ОЗУ и/или ПЗУ) для хранения данных, память (ОЗУ и!или ПЗУ) для хранения данных и переменных (таких как коэффициенты фильтра или БПФ), Глава 12. Универсальные и специализированные процессоры ЦОС аг- и) Унноиитель-накоонтель 6) Рис.
!2За. Архитектура аппаратного пифроаого КИХ-фильтра быстрый аппаратный умножитель-накопитель и временные регистры для хранения данных или промежуточных результатов. Для достижения максимальной скорости интенсивно используются параллелизм, уплотнение и конвейерная обработка. В следующих нескольких разделах рассмотрены некоторые базовые вопросы, касающиеся разработки специализированного аппаратного обеспечения для цифровой обработки сигналов. .,: 12.6.1 . Аппаратные цифровые фильтры 12.6.1.1.
Цифровые КИХ-фильтры КИХ-фильтр, реализованный в прямой форме, характеризуется следующим уравнением: у(л) = ~~~ ))(к)х(л — /с). На рис. 12.38 показана стандартная архитектура цифрового КИХ-фильтра с использованием блоков стандартных компонентов. Основные компоненты здесь — зто память для хранения данных и память для хранения коэффициентов, блоки аналогового ввода- вывода (АЦП и ЦАП), умножитель-накопитель и контроллер )не показан). Для реализации всех компонентов КИХ-фильтра можно использовать быстрые готовые продукты. 12.6. Специализированная аппаратура ЦОС 949 В каждый момент взятия выборки новая выборка данных х(п) считывается с АЦП и записывается в память для хранения данных. Каждая входная выборка данных и соответствующий коэффициент извлекаются из памяти одновременно и подаются на умножитель.
Затем получающиеся произведения накапливаются и на их основе получается выходная выборка. Расчет каждой выходной выборки у(п) потребует Аг операций извлечения данных (коэффициентов) из памяти и Ж операций умножения-накопления. Операция КИХ-фильтрации является регулярной с хорошей структурой и ее легко реализовать в одной интегральной схеме. В настоящее время существуют такие специализированные однокристалльные КИХ-фильтры, как перепрограммируемый КИХ- фильтр РПЯР16256 (Мйе1).