Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 145
Текст из файла (страница 145)
Подавление на частоте режекции 60 дб. Граничные частоты полосы пропускания 1,575 и 2,175 кГц, Неравномерность в полосе пропускания 0,01 дБ. Частота дискретизации 7,5 кГц. Решение Приведенным спецификациям удовлетворяет 61-точечный оптимальный КИХ-фильтр.
Разработка этого фильтра подробно рассмотрена в разделе 7.6.5. Здесь мы остановимся толью на его реализации. Коэффициенты фильтра квантуются до 16 бит (формат ()15) путем умножения каждого коэффициента на 2'з с последующим округлением результата до ближайшего целого. Квантованные и неквантованные коэффициенты фильтра перечислены в табл. 12.3. Как показано на функциональной схеме на рис.
12.25, полный КИХ-фильтр имеет по крайней мере четыре необходимых элемента. 1. Система инициализации, которая может включать настройку таблицы коэффициентов. 2. Вводная часть нрограммы, которая может включать считывание входной выборки х(п), например, с АЦП через последовательный порт. 3. Вычисление внутреннего цикла. Реализация уравнения КИХ-фильтрации для получения у(п).
4. Выходная часть нрограммы, включающая сдвиг (округление) результата, полученного при расчете внутреннего цикла, и передачу его, например, ЦАП через последовательный порт. 828 Глава 12. Универсальные и специализированные процессоры ЦОС Таблица 12З. Коэффициенты фильтра из примера 12.3 Кеннееееннные келффнаненшы ильтра = 61 пульснал характеристика ее*ее О, 12743640Š— 02 = Н(61) О, 26730640Š— 05 = Н(60) -О, 23681110Š— 02 = Н(59) -О, 17416350Š— 05 = Н(58) 0,43428480Š— 02 = Н(57) О, 53579250Š— 05 = Н(56) — О, 715 70240Š— 02 = Н(55) -0,4902862ОŠ— 05 = Н(54) О, 10897540Š— 01 = Н(53) О, 89629280Š— 05 = Н(52) -О, 15605960Š— 01 = Н(51) -О, 85508990Š— 05 = Н(50) О, 21226410Š— 01 = Н(49) О, 12250150Š— 04 = Н(48) О, 27630130Š— 01 = Н(47) -О, 11091200Š— 04 = Н(46) О, 34579770Š— 01 = Н(45) О, 13800660Š— 04 = Н(44) -О, 41774130Š— 01 = Н(43) -О, 11560390Š— 04 = Н(42) О, 48832790Š— 01 = Н(41) 0,12787590Š— 04 = Н(40) -О, 55359840Š— 01 = Н(39) -О, 900658БОŠ— 05 = Н(38) О, 60944450Š— 01 = Н(37) О, 88997300Š— 05 = Н(36) 0,65232190Š— 01 = Н(35) О, 38167120Š— 05 = Н(34) О, 67925720Š— 01 = Н(33) О, 27041150Š— 05 = Н(32) О, 93115220Е + 00 = Н(31) Посюльку этапы 1, 2 и 4 зависят от системы, сюнцентрирусмся на вычислении внутреннего цикла.
Внутренний цикл КИХ-фильтра можно реализовать с помощью следующих команд ТМЯ320С50: ;записать новейшую выборку х(л) в память данных ;указать на положение старейшей выборки данных х[п-(Н-1)] ;очистить накопитель и регистр произведения ;сделать АН1 текущим вспомогательным регистром ;выполнить внутренний цикл КНХ-Фильтрации ;умножить и накопить со сдвигом данных ;прибавить последнее произведение 8АС1 ХЯ 1 АН АР.1, бХНМ1 2АР ИАН а, АР.1 нРт 660 ИАСП бСОЕРР, а" АРАС В данном случае памяти данных и юэффициентов организованы так, как показано на рис.
12.24, в. Вспомогательный регистр АР 1 используется для организации непрямой адресации прн вычислении внутреннего цикла (юманда Р)Ас(з) и изначально указывает Длина ф ""* Иы Н( 1)= Н( 2)= Н( 3)= Н( 4)= Н( 5)= Н( б)= Н( 7)= Н( 8)= Н( 9)= н(ю) = Н(11) = Н(12) = Н(13) = Н(14) = Н(15) = Н(16) = Н(17) = Н(18) = Н(19) = Н(20) = Н(21) = Н(22) = Н(23) = Н(24) = Н(25) = Н(26) = Н(27) = Н(28) = Н(29) = Н(зо) = Н(31) = 42 0 — 78 0 142 0 -235 0 357 0 — 511 0 695 0 -905 0 1133 0 -1369 0 1600 О -1814 0 1997 0 -2137 0 2226 0 30512 12.6. Реализация алгоритмов ЦОС на универсальных процессорах ЦОС 929 в) -ег е, Рис.
12.27. Каноническое эвеио второго порядка: а) диаграмма реаднэации; б) память ддя хранения данных и коэффициентов на старейшую выборку данных, ХЫ)б1, в памяти для хранения данных. Во внутреннем цикле команда ИАС)) делает следующее: ° добавляет предыдущее произведение к накопителю — изначально произведение равно нулю; ° умножает коэффициент гь(й) на данные, на которые ссылается указатель Агс1— изначально Ь(Й) = гь(Ж вЂ” 1), и устанавливает во вспомогательном регистре ссылку на х]п — (М вЂ” 1)]; ° юпирует данные, на которые указывает АЕ1, в ячейку памяти со следующим адресом — изначально х[п — (Ф вЂ” 1)] юпируется в х(п — Аг); т.е. старейшая выборка данных отбрасывается.
Последняя юманда МАС)) юпирует х(п) в х(п — 1), чтобы освободить место для следующей входной выборки; ° уменьшает Ай1 на 1 (т.е. указатель теперь ссылается на следующую выборку в памяти для хранения данных) — изначально Ан1 указывает на х(п — (г)à — 1)], а затем последовательно указывает на х]п — (Аà — 2)], х1п — (т)1 — 3)],..., х(п) по мере кругового прохождения цикла; ° увеличивает адрес СОЕВОЕ на 1; последовательно получаются следующие адреса: 6(У вЂ” 1), 6(У вЂ” 2),..., )ь(0).
. '13~~-.2::,„'.' Цифровая БИХ-фильтрация 12.52.1. Стандартные компоновочные блоки БИХ-фильтров В качестве стандартных юмпоновочных блоюв при создании цифровых БИХ-фильтров используются звенья БИХ-фильтров второго порядка. Двумя наиболее используемыми структурами второго порядка являются каноническое звено (рис. 12.27) и реализация в прямой форме (рис. 12.28). Каноничесюе звено второго порядка характеризуется следующими уравнениями: (12.6, а) тд(п) = Зргх(п) — стиг(п — 1) — адмг(п — 2), 830 Глава 12. Универсальные и специализированные процессоры ЦОС б) -ог а) Рие.
12.28. Реализация алена иврого порядка а прямой форме: а) диаграмма реализации; б) память дяя хранения паннах и яозффициегпоа У(п) = Ьогц(п) + Ьгиг(п — 1) + Ьгго(п — 2), (12.6, б) У(п) = Ьох(п) + Ь,х(п — 1) + Ьгх(п — 2) — а,У(п — 1) — агУ(п — 2), (12.7) где х(гг — к) — последовательность входных, а у(п — к) — выходных данных. Память для хранения данных и коэффициентов для реализации в прямой форме изображена на рнс. 12.23, б. Фильтр в прямой форме проще программировать, и такая реализация может быль несюлько быстрее, чем реализация в канонической форме, поскольку в ней используется более простая система индексации: сравните, например, уравнения (12.6) и (12.7).
БИХ-фильтры больших порядюв реализуются как каскадная либо параллельная юмбинация звеньев фильтров второго порядка (см. главу 8). Каскадная реализации Передаточная функция Н(2) БИХ-фильтра Ж-го порядка, полученного как каскад звеньев второго порядка, записывается следующим образом: Ьоа+ Ьгег + Ьгаг М/2 — 1 — 2 Н =П а=1 П1 —,„--„-' (12.8) Каскадная реализация БИХ-фнльтра четвертого порядка ()У = 4) с использованием канонических звеньев второго порядка показана на рис. 12.29, а. Память для хранения переменных фильтра (данных и юэффнциентов) показана на рис.
12.29, б. Набор где х(п) представляет входные данные, а ю(п) — внутренний узел, у(п) — выходная выборка фильтра, БЕ1 — масштабный множитель, равный 1/иг. Разностное уравнение звена БИХ-фильтра, реализованного в прямой форме (рис. 12.23, б), записывается как ВЗ1 ! ! ! ! ! ! ! ! ! ! ! ! ! ен ! ! ! ! ! б) Рнс. ГКЗЛ. Каскадная реализация БИХ-фильтра: а) диаграмма реализации; б) память для хранения ленных и коэффициентоа разностных уравнений БИХ-фильтра четвертого порядка, полученного с помощью ка- нонических звеньев, записывается следующим образом: (12.9, а) (12.9, б) (12.9, е) (12.9, г) Псевдокод С для реализации БИХ-фильтра в форме каскада канонических звеньев вто- рого порядка представлен в программе 12.3. 12.5. Реализация алгоритмов ЦОС на универсальных процессорах ЦОС шт(п) = Бггх(п) — амшт(п — 1) — аг, шг(п — 2), уг(п) = богшг(п 1) + гцггшг(п — 2), шг(п) = Уг(п) — оггтцт(п — 1) — оггшг(п — 2), Уг(п) = (гогшг(п) + ггггшг(п — 1) + ггггшг(п — 2).
! ! ! ! ! ! ! ВЗ2 Глава 12. Униззрсальныз и специализированные процессоры ЦОС В программах! 2.4 и 12.5 соответственно представлены фрагменты реализаций БИХ- фильтра Ф-го порядка, который состоит из каскадного соединения М биквадратных звеньев (где М = Ф/2), на базе процессоров ТМБ320С50 и 0ЯР56000. Программа 12.3. Псевдокод С для реализации каскадного БИХ-фильтра Тот(п 0; п,(нзащр1ез-1); ++и)( /* Нзащр1аз - число выборок данных »/ хп х[п]; Ток(д-1з Х,иг ++)с) [ и)с з)с[)с]»хп-а1 [ Х]»и1 [)с] -а2 [)с] «н2 [)с] Г ук (ЪО[)с]»н)с+Ь1[)с]»и1[)с]+Ъ2[)с]»и2[)с]); /» выход первого звена »/ и2[Х] и1[Х]; /* сдвиг и зались данных элемента задержки */ н1 [)с] и)с; хп уус /* выход )с-го звена подается на вход следующего эвона */ ) у[п) у)сс /* п-я выходная вмборка */ Программа 12.4.
Реализация М каскадно соединенных канонических звеньев фильтров второго порядка на базе процессора ТМ5320С50 РМ-1, ВЕСЕ ; число биквадратных звеньев М 11К ; расчет М биквадратных званьвв, соединенных каскадом *-, АК2 загрузка нх(п-2) +, АК1 расчет и)с(п-2)»ах(2) + ик(п-1)» а)с(1) АК1 расчет и запись в память нх(п) х(п)+ ик(п-1)»а)с(1)+ик(п-2)«а)с(2) расчет н)с(п-2) » ЪХ(2) сдвиг данных н)с(п-2) = и)с(п-1) у)с у)с+и)с(п-2) * ЬХ(2), н)с(п-1)»ЬХ(1) сдвиг данных нх(п-1) и)с(п) расчет ик(п-2) * ЪХ(2) + их(п-1) » ЬХ(1), и)с(п) * Ь)с(0) М 11К 1ТА ВАСН прибавить последнее произведение квантование и запись выходной выборки Программа 12.5.