Айфичер Э., Джервис Б. Цифровая обработка сигналов, практический подход (2-е изд., 2004) (1095888), страница 65
Текст из файла (страница 65)
Схема разработки цифровых фильтров 310 ын- 1) ил) л(а) нал-мл С тм нтнр в ть л)л) вкодную взслс- лы) д в т льмытьн Вв лн л лосасдовв- ыаовнатьбмстрм нр«образованно ХЛЛ) трурьс кана т блока НЛЛ)ЛЛЛ) Лрнмсннть обратное Ло обратным БПФ лр бр зммннсФурьс сформнр вать к нронзвсдсннам выкоднтв л млс. х)анук) домтслмнмть Л(л) Коврфнннснт» фнлмр рис.
6.1. Структуры реалнзаиин КИХ-фильтров: а) трансверсальный фильтр (лрлммт структура); б) реа- лизаина частотной выборки; в) схема быстрой свертки В зависимости от того, как требуется реализовать фильтр, некоторые эффекты могут быль незначительными. Например, если фильтр реализуется как программа на языке высокого уровня, которую будут запускать на мощном компьютере, ошибки квантования коэффициентов и округления несущественны. При обработке в реальном времени для представления входных и выходных сигналов, коэффициентов фильтра и результатов арифметических операций используются слова конечной длины (обычно 8, 12 и 16 бит). В этих случаях практически всегда необходимо проанализировать воздействие квантования на производительность фильтра.
Подробное обсуждение квантования и его влияния на производительность цифрового фильтра приводится в главе 7 для КИХ-фильтров и в главе 8 для БИХ-фильтров. зт1 а4, Этапы раарэботки фильтра ~(а ?-и шсааа а? Рис. й.й. сталлер?пал решетчатаа струк?ура (панель а). ?и-ааскадный кихчрнльтр с решетчатой шруктурой (панель Е). Дауакш калина решшчшаа структура Бихчри ветра с ?ела ни ы ми асемн поаю- сами (панель е) '6(4';б?е) Реализация фильтра Вычислив козффициенты фильтра, выбрав подходящую структуру реализации и убедившись, что ухудшение фильтра, вызванное оцифровкой козффициентов и переменных фильтра в слова выбранной длины, приемлемо, разностное уравнение требуется воплотить на аппаратном или программном уровне. Вне зависимости от выбранного метода, выход фильтра для каждой выборки должен вычисляться согласно разностному уравнению (предполагается реализация во временной области).
Как следует из разностных уравнений (формулы (6.2) и (6.3)), вычисление у(п) (выхода фильтра) включает только умножение, сложение/вычитание и задержку. Следовательно, для реализации фильтра требуются следующие основные составляющие: ° память (например, ПЗУ) для хранения козффициентов фильтра; ° память (такая как ОЗУ) для хранения текущих и предыдущих входов и выходов, т.е.
(х(л),х(л — 1),...) и (у(л), у(т? — 1),...); ° аппаратный или программный умножнтель (умножители); ° сумматор или схема арифметической логики. Разработчик обеспечивает данные базовые составляющие и гарантирует, что они соответствующим образом сконфигурированы под нужное приложение.
Способ конфигурирования компонентов напрямую связан с тем, в каком времени будет проводит?хн Глава б, Схема разработки цифровых фильтров 372 обработка (в реальном или модельном (пакетная обработка)). При обработке в модельном времени вес данные уже хранятся на каком-то запоминающем устройстве. Такая ситуация, например, характерна для приложений, где нужно получить некоторые экспериментальные данные, а затем их проанализировать.
В таких случаях фильтр часто реализуется на языке высокого уровня и запускается на универсальном компьютере, где все основныс составляющие уже сконфигурированы. Таким образом, обработку в модельном времени можно описать как исключительно программную реализацию (хотя разработчик может пожелать ввести в процесс дополнительные аппаратные средства лля увеличения скорости обработки).
При обработке в реальном времени от фильтра требуется либо 1) работать при наличии входной выборки к(п) и выдавать выходную выборку р(н) перед поступлением следующей входной выборки (т.е. в пределах мсжвыборочного интервала), либо 2) работать с входным блоком данных (используя, например, метод БПФ) для получения выходного блока в течение времени, пропорционального длине блока. Фильтрация в реальном врсмсни может требовать быстрого и специфического аппаратного обеспечения, сели частота дискретизации очень высока или если необходим фильтр высокого порядка. Для большинства приложений работы с аудиочастотами будет достаточно процессоров ЦОС, подобных РБР56000 (Мотого!а) или ТМЗ320С25 (Техаз 1пзгпппепга), которые, кстати. допускают достаточную гибкость реализации.
В данных процессорах уже вмонтированы все требуемые базовые блоки, включая аппаратные умножители. В некоторых приложениях привлекательную альтернативную реализацию можно получить на стандартных 8- или 16-битовых микропроцессорах, таких как процессоры семейств Могого1а 6800 или 68000. Помимо блоков обработки сигналов разработчик может также, в зависимости от типа источника и получателя данных, вводить в фильтр подходящие интерфейсы ввода-вывода (например, при аналого-цифровом преобразовании) с цифровым аппаратным обеспечением. Подробное обсуждение реализации КИХ- фильтров представлено в главе 7, а БИХ-фильтров — в главе 8. Аппаратное обеспечение ЦОС описано в главах 12, 13. 6.5.
Примеры Пример 6.3 Рассмотритс пять основных этапов проектирования цифровых фильтров, используя для иллюстрации ответа следующую задачу. Для подавления в реальном времени шума физиологической природы требуется цифровой фильтр, который должен удовлетворять следующим спецификациям амплитудной характеристики: полоса пропускания 0 — 10 Гц; полоса подавления 20-64 Гц; частота дискретизации 128 Гц; максимальное отклонение в полосе пропускания <0,036 дБ; затухание в полосе подавления >30 дБ.
6.5. Примеры зтз Другие важные требования: 1) гармоническая связь компонентов различных внугриполосных сигналов искажается минимально; 2) фильтрация является частью большего процесса, поэтому время, доступное для проведения фильтрации, ограничено; 3) фильтр требуется реализовать с использованием процессора ЦОС ТМБ32010 (Техаз 1пзнпщепгз), аналоговый вход оцифровывается до ! 2 бит. Решение Требуемый фильтр разработан и в настоящее время используется в определенном биомедицннском проекте, включающем обработку сигналов.
Ниже приводится только краткое обсуждение процесса разработки, подробное исследование откладывается до главы 7, где полносп ю описаны методы проектирования КИХ-фильтров. 1. Спецификация требований. Как рассматривалось выше, разработчик должен указать точное предназначение и требования к рабочим характеристикам фильтра плюс все важные ограничения. В данном примере все зто уже сделано. 2. Вычисление ладходяи1их коэффициентов. Для того чтобы удовлетворить требованиям минимального искажения и о1раниченного времени обработки, следует использовать КИХ-фильтр с линейной фазовой характеристикой, коэффициенты которого получены оптимальным методом.
3. Выбор структуры фильтра. Если требуется использовать процессор ТМБ32010, наиболее эффективной реализации можно добиться с трансверсальной структурой. 4, Анализ влияния конечной разрядности. Поскольку будет задействован процессор ТМБ32010, для эффективности следует использовать арифметику с фиксированной запятой, причем каждый коэффициент представляется 1б бит (после округления). Ухудшение КИХ-фильтра может произойти после квантования входного сигнала и коэффициентов из-за ошибок округления и переполнения, поэтому следует проверить, достаточно ли выбранной длины слова. Анализ влияния конечной длины слова в этом случае показывает, что входной шум квантования и отклонение от частотной харщсгеристики вследствие квантования коэффициентов несущественны. Для уменьшения ошибок округления до несущественного уровня используется 2-битовый накопитель ТМБ32010, с помощью которого производится суммирование произведений коэффициентов и выборок, причем округляются толью окончательные суммы.
Чтобы избежать переполнения, каждая величина перед квантованием до 16 бит должна и-1 делиться на 2 (Ь()о)). о=о 5. Реализация. На этом этапе нужно спроектировать и сконфигурировать аппаратный модуль на базе ТМБ32010 (если он еше не готов) с необходимыми интерфейсами ввода-вывода. Кроме того, следует записать для ТМБ32010 программу обработки и — 1 протокола ввода-вывода и вычислить выход фильтра и(п) = 2" й((о)х(п — Й) для к=о каждого нового входа х(п). зта Глава б.
Скопа разработки цифровых фильтров Пример бА: Аналоговый фильтр требуется преобразовать в эквивалентный цифровой, который будет работать с частотой 25б Гц. Передаточная функция аналогового фильтра имеет внд 1 аз + 2зз+2з+ 1 1. Вычислите подходящие коэффициенты фильтра. 2. Предполагая, что цифровой фильтр будет реализован с использованием каскадной структуры, изобразите подходящую блок-схему реализации и выведите разностные уравнения. 3. Повторите п.
2 для параллельной структуры. Решение 1. Для сохранения амплитудной характеристики аналогового фильтра при вычислении коэффициентов использовался билинейный метод. Применяя билинейное преобразование к аналоговой передаточной функции (подробности см. в главе 8), получаем следующую передаточную функцию: 0 1432(1+ Зз-з + 3з-з + „-з) 1 — 0,1801з ' + 0,3419з з — 0,0165з з 2. При каскадной реализации Н(з) факторизуется с использованием элементарных дробей: 1+2з '+з з + — 1 1 — 0,1307з-' + 0,3355з-з 1 — 0,0490з-' Н(з) = О, 1432 Представление фильтра в виде блок-схемы дано на рис.
б.9, соответствующий набор разностных уравнений приводится ниже. то,(п) = О, 1432х(п) + О, 1307ш, (п — 1) — О, 3355то, (п — 2), у,(п) = ю,(п) + 2ю,(п — 1) + то,(п — 2), тоз(п) = у,(п) + О, 049то — 2(п — 1), уз(п) юз(п) + тоз(тт 1) 3. При параллельной реализации Н(з) выражается через элементарные дроби (подроб- ности см. в главах 4 и 8): 1,2916 — 0,08407з ' 7,5268 1 — 0,131з ' + 0,3355з з 1 — 0,049» ' 375 6.$. Примеры -0,3355 Рис. аз Схема параллельной реализации показана на рис.
6.10, соответствующий набор разностных уравнений приводится ниже. 3оз(п) = х(п) + 0,131о33(п — 1) — 0,3355и33(п — 2), у„(п) = 1,2916ц33(п) — 0,08407о33(п — 1), 3лз(п) = х(п) + О, 049о33(п — 1), уз(п) = 7, 52683ез(п), уз(п) = -8,6753х(п), У(п) — У1(п) + Уз(п) + Уз(п). -3,6753 Ри. аза Глава 6. Схема разработки цифровых фильтров 376 Пример 6.5 Передаточная функция КИХ-фильтра записывается следующим образом: Н(х) = 1 — 1, 3435з ' + О, 9025г 2. Изобразите блок-схему реализации для каждого из следующих случаев: 1) трансверсальная структура; 2) двухкаскадная решетчатая структура. Для решетчатой структуры вычислите значения коэффициентов.
Решение 1. С помощью передаточной функции получаем схему трансверсальной структуры, представленную на рис. 6.11. Вход и выход трансверсальной структуры связаны следующим соотношением: у(п) = х(п) + б(1)х(п — 1) + б(2)х(п — 2). (6.6) уз(п) = у,(п) + ассы,(п — 1) = = х(тй) + Й1(1 + йз)х(п — 1) + )сзх(п — 2), (6.7) сиз (71) — 1 сх(п) + й, (1 + ссз)х(п — 1) + х(п — 2). Сравнивая формулы (6.6) и (6.7, а) и приравнивая коэффициенты, получаем "2 = )2(2). )2(1) 1 + )2(2) ' Следовательно, кз = 0 9025 и к1 — — — 1,3435/(1+ 0 9025) = — О, 7062.