Разработка цифровых фильтров


Пол Р. Моффит, Frequency devices.(Перевод Гомозова О.В.)


Cсылка на оригинал:     http://www.evaluationengineering.com/archive/articles/1103data.htm


Цифровые сигнальные процессоры (ЦСП) продолжают получать много внимания при проектировании нового устройства. Например, разработка цифрового фильтра отражает важность понимания и использования этой технологии в обеспечении точности, автономных цифровых или объединенных аналого-цифровых производственных решений. Используя ЦСП, способные к установлению последовательности и воспроизведению сотен тысяч дискретных элементов, модели проектов могут использоваться, чтобы моделировать большие аппаратные структуры при относительно низкой стоимости. Методы ЦСП выполняют функции такие, как например быстрое преобразование Фурье (БПФ), уравнивание задержек, программируемые приросты, модуляция, кодирование/декодирование и фильтрование.

Где могут быть применены программы: Фильтрующие весовые функции (коэффициенты) могут быть вычислены на лету, чтобы сократить требования к памяти. Алгоритмы могут быть динамически изменены как функции входного сигнала. ЦСП представляет подмножество сигнально-обрабатывающих действий, которые используют аналогово-цифровые преобразователи (АЦП), чтобы превратить аналоговые сигналы в потоки цифровых данных. Автономный цифровой фильтр требует АЦП со связанным анти-совмещающим фильтром, чипом ЦСП, и ППЗУ или программным драйвером. Обширная последовательность мультипликаций и дополнений может выполняться с помощью цифровых данных. В некоторых приложениях, проектировщик также, возможно, захочет разместить цифро-аналоговый преобразователь (ЦАП), сопровождаемый фильтром восстановления на выходе ЦСП, чтобы создать аналоговый эквивалентный сигнал. Цифровые фильтры обрабатывают преобразованные в цифровую или отсчетную форму сигналы. Они выполняют расширенную последовательность умножений и сложений, осуществляемых в однородно разделенном типовом интервале. Эти сигналы передаются через структуры, которые перемещают отсчетные данные в потоках, блоках задержек, и множителях. Эти структуры изменяют математические значения в определенном виде. Результирующие данные представляют фильтруемый или преобразованный сигнал. Искажение и шум могут быть введены в цифровые фильтры просто конвертированием аналоговых сигналов в цифровые данные, цифровое фильтрование обрабатывает себя, и конвертирование обработанных данных обратно в аналоговые. Когда используется обработка с фиксированной запятой, возможно, дополнительный шум и искажение добавляются в течение процесса фильтрования, потому что фильтр состоит из большого числа умножений и сложений, которые создают ошибки, создавая шум усечения. Увеличение разрядности более 16 бит сокращает этот шум фильтра.


Для большинства приложений пока АЦП и ЦАП имеют достаточно высокую разрядность, искажения, введенные квантование создают меньше проблемы. Теоретически, соотношение среднеквадратического значения полномасштабной синусоидальной волны к среднеквадратическому значению шума квантования, выраженного в децибелах, есть ОТНОШЕНИЕ СИГНАЛ/ШУМ = 6.02N + 1.76 dB Где: N = число битов в идеальном ADC Несмотря на то, что ЦСП редко служат исключительно, как анти-совмещающие фильтры, они могут предложить свойства, которые не имеют никакого практического аналога в мире аналоговых систем. Несколько примеров - линейные фазовые фильтры, которые обеспечивают крутые скачки характеристики или программируемый цифровой фильтр, который позволяет условиям сигналов быть измененным на лету через программное обеспечение. Частотную характеристику или форму фильтра может изменить загрузкой запомненных или вычисленных коэффициентов в программе ЦСП. Вместо использования коммерческого ЦСП с программно-реализованными алгоритмами, цифровой аппаратный фильтр также может быть сконструирован из логических элементов таких, как, например, регистры и вентили или объединенный аппаратный блок такой, как, например, программируемая матрица вентилей (FPGA). Цифровые аппаратные фильтры желательны для приложений с высокой пропускной способностью, но обратная пропорциональность этого ограничивает гибкость проекта и увеличивает стоимость. ЦСП с фиксированной запятой и исполнение КИХ-фильтров ЦСП процессоры с фиксированной запятой применимы к большинству ЦОС (цифровая обработка сигналов) приложений из-за их небольших размеров и низкой стоимости. Математика фиксированной запятой требует, чтобы программисты обратили существенное внимание на число коэффициентов, используемых в каждом алгоритме, умножая и складывая цифровые данные, чтобы предотвратить искажение, вызванное переполнением регистра и уменьшением соотношения шума к сигналу, вызванного шумом усечения. Фильтры конечной импульсной характеристики (КИХ-фильтры) реализуются, используя ограниченный ряд (n) задержек в линии задержки и коэффициентах n вычислений, чтобы высчитать функцию фильтра. Структура не рекурсивна, повторяющийся “задержка-и-суммирование” формат,она чаще всего используется для создания КИХ-фильтра. Это зависит от каждого отсчета новых и уже присутствующего значений данных. КИХ-фильтры создают функции передачи, которые не имеют никакого эквивалента в линейной схематической технологии. Они предлагают точность представления формы и эквивалент стабильности линейным и активным фильтрам больших порядков, которые не могут быть достигнуты в области аналоговых систем. В отличие от фильтров с бесконечной импульсной характеристикой (БИХ-фильтры), КИХ-фильтры формируются только с эквивалентом нулей в линейной области. Это означает, что задержки подавляют или понижают амплитуду функции преобразования. Количество подавления для каждой задержки зависит от значения коэффициента множителя. И полное число задержек определяет крутизну наклона. Число задержек и значения коэффициентов (h0, h1,..hn..) вычислений выбраны, чтобы “взвесить” данные, сдвигаемые по линии задержки, чтобы создать желательный ответ амплитуды фильтра. В этой конфигурации, нет никаких обратных связей, вызывающих неустойчивость. Коэффициенты вычислений не привязаны к частным значениям и могут использоваться для исполнения функции фильтра, которая не имеет эквивалента линейной системы. Больше задержек увеличивают крутизну “наклона” фильтра , увеличивая время вычисления и, для фильтров высоких порядкой ограничивая пропускную способность. Задержка фильтра вычисляется для этой структуры, как: Задержка = (1/2*задержка)/частотой отсчетов Например, фильтр с 300 задержками с частотой отсчетов 48 kHz приводит к минимальной задержке в 3.125мс. Проектировщики также должны быть осведомлены об обратной пропорциональности между фазовой задержкой и точностью фильтра, проектируя КИХ-фильтры. Плохие новости в том, что КИХ-фильтры высоких порядков имеют более длинную задержку. Благоприятные новости в том, что фазовый ответ остается линейным, как и частотная функция. В приложениях, где линейная фаза - критична и длинный фазовая задержка не допустима, линейный активный Бесселя или фильтр постоянной задержки, возможно, являются лучшим выбором. Два совсем различные методики проектирование обычно используются для цифровых КИХ-фильтров : окна и равномерная пульсация.


Заключение


Функция сложного цифрового фильтра влечет миллионы математических действий. Скорость этих действий зависит от разнообразных факторов: скорость чипа ЦСП, число задержек, и число бит точности в каждом вычислении. Например, чип ЦСП с тактовой частотой 10-МГц может служить простым КИХ-фильтром с 16-битной точностью и частотой дискретизации в 100 kHz. Так же можно достичь 24-битной точности с частотами дискретизации вплоть до 10 kHz. Сегодня, много готовых ЦСП и прикладных специфических платформ доступно наряду с системами разработки программ для сообразительных инженеров, которые желают сделать свой собственный проект. Много компьютерных программ также существуют, которые могут определить число задержек и значения коэффициентов вычислений, требуемых для осуществления специфической функции для работы цифрового фильтра. В некоторых случаях, выходные файлы этих программ непосредственно ориентированы на программирование ППЗУ или флеш-памяти, автоматически загружая алгоритмы в конкретный ЦСП. Одно такое программное обеспечение - MATLAB® (MathWorks), которое вычисляет коэффициенты для обозначенных КИХ-фильтров и создаёт программы БИХ-фильтров. Много выбора среди аппаратного и программного обеспечения проектов и предложений доступны для обеспечения ЦОС решений. По этой причине, имея возможность аналоговых систем и ЦСП-проекта, и программируя проверку наряду с прикладной и специфической интеллектуальной собственностью (ИС) из одного источника можно создать веский аргумент для инженера проекта для нахождения готовых или традиционных решений. Примеры включают: Мультичастотные КИХ-Фильтрыe, которые могут значительно расширить низко-частотные пределы пропускных способностей и сократить задержку фильтра. Оба создают ограничения единых дискретно-отсчетных алгоритмов фильтров ЦСП. Крайний низкий шум и анти-совмещение искажения и конструкция цифровых фильтров до 120 Дб. Генераторы сигналов низких искажений до 20 Дб. АЦП и ЦАП с 100 Дб или лучшими шумовыми “уровнями”. Так как частоты дискретизации ЦСП продолжают возрастать, пропускная способность и работа ЦСП решений также будут расти. Цифровые фильтры прежде всего используются, когда требования к функций передачи не имеют никакого аналога в мире аналоговых систем или когда ЦСП уже находится в управляющей схемотехнике для выполнения других функций. Выбор цифрового фильтра - выбор предложений между БИХ-фильтрами ЦСП с плавающей точкой и КИХ-фильтрами ЦСП с фиксированной запятой. Выбираете ли вы КИХ-фильтр с фиксированной запятой или решение БИХ-фильтра с плавающей точкой, мир все еще состоит из аналоговых систем. Во многих приложениях, конвертирование из аналоговой системы к цифровой и обратно к аналоговой - требование часто с ограничениями в пропускной способности и гибкости проекта.


Один пример - ограничение диапазона, которое налагает частоту дискретизации на максимальную пропускную способность, изменяя частоту цифрового фильтра. Решение - регулировать частоту, которое создает регулирование в анти-смещении и конструкции фильтра, требуя множественную фиксированную частоту или программируемые фильтры, которые обычно не рентабельны. Другой подход регулирует частоту в пределах ЦСП десятичным усечением или интерполяцией так, что форма фильтра может быть изменена в пределах алгоритма фильтра. Это назвали множественным фильтром, и некоторые десятичные усечения могут осуществляться в сериях, чтобы достичь очень низких частот.