С проектированием цифровых фильтров (ЦФ) так или иначе приходилось сталкиваться большинству разработчиков современных систем связи и управления. Проектирование ЦФ в представлении большинства разработчиков прочно ассоциируется с процедурой синтеза структуры ЦФ частотной селекции, причем наиболее простой его разновидности, предназначенной для выделения (подавления) одной априорно заданной полосы частот. Однако в последние десятилетия появились другие разновидности ЦФ – многокаскадные структуры с прореживанием по времени и по частоте, фильтры Винера и Калмана, робастные и адаптивные. Кроме того наблюдается тенденция к расширению сферы применения оптимальных и адаптивных ЦФ. Таким образом, необходима формализация относительно новых и сложных принципов ЦОС в виде т.н. мегафункций, реализованных на том или ином языке описания аппаратуры (AHDL,VHDL и т.п.).
Ниже приведена классификация (ЦФ), в основу которой положен функциональный принцип и перспективные задачи в области проектирования указанных фильтров.
ЦФ частотной селекции. Это наиболее известный, хорошо изученный и апробированный на практике тип ЦФ. С алгоритмической точки зрения ЦФ частотной селекции могут рассматриваться как результат перехода на новую элементную базу традиционных аналоговых фильтров частотной селекции. Перспективная задача в области проектирования: разработка и доведение до мегафункций новых подходов к проектированию ЦФ частотной селекции, альтернативных существующим (на цифровых процессорах обработки сигналов (ЦПОС) или в форме КИХ-фильтра на ПЛИС), возможно, с использованием БИХ-фильтров
Оптимальные (квазиоптимальные) ЦФ. Этот тип фильтров применяется тогда, когда требуется оценить те или иные физические величины, характеризующие состояние системы, подверженной случайным возмущениям. Современная тенденция - использование достижений теории оптимальной фильтрации и реализация устройств, минимизирующих средний квадрат ошибки оценивания. Они подразделяются на линейные и нелинейные в зависимости от того, какими уравнениями описывается состояние системы. Перспективная задача в области проектирования: создание ориентированной на пользователя библиотеки алгоритмов, реализуемых оптимальными (квазиоптимальными) ЦФ, с указанием входных и выходных параметров, реализуемых операций и пригодной для непосредственного использования при моделировании сложных систем
Адаптивные ЦФ. Сущность адаптивной цифровой фильтрации состоит в следующем: для обработки входного сигнала (обычно адаптивные ЦФ строят одноканальными) используется обычный КИХ-фильтр, однако импульсная характеристика (ИХ) этого фильтра не остается раз и навсегда заданной, как это было при рассмотрении ЦФ частотной селекции. Она также не изменяется по априорно заданному закону, как это происходит в ЦФ Калмана. ИХ корректируется с поступлением каждого нового отсчета таким образом, чтобы свести к минимуму среднеквадратическую ошибку фильтрации на данном шаге. Под адаптивным алгоритмом понимается рекуррентная процедура пересчета вектора отсчетов ИХ на предыдущем шаге в вектор “новых” отсчетов ИХ для следующего шага. Проблема для разработчика состоит в том, что априорно устойчивые адаптивные алгоритмы, как правило, недопустимо сложны в реализации, а более простые (как МНК - алгоритм) могут расходиться. Одним из возможных методов преодоления указанных трудностей является каскадирование БИХ-фильтров, построенных на основе решетчатых структур.
Как видно из предшествующего изложения, без широкого применения средств САПР об успешной разработке ЦФ не может быть и речи. Поэтому одной из главных задач становится создание библиотек, реализующих те или иные решения.
Многие ЦФ достаточно просто реализовать в виде КИХ-фильтра. С появлением БИС семейства FLEX8000 и FLEX10K фирмы ALTERA появилась возможность создания гибких КИХ–фильтров высокого порядка с производительностью более 100 MSpS.
Рассмотрим особенности реализации КИХ-фильтров на базе ПЛИС семейств FLEX8000 и FLEX10K с учетом специфики их архитектуры на примере КИХ-фильтра 8-го порядка. На рис. 1 а представлен параллельный векторный перемножитель, введены следующие обозначения: xn – сигнал на выходе n-го регистра, hn – коэффициент СФ, yn – выходной сигнал. Сигнал на выходе фильтра будет иметь вид: .
Рис. 1. Параллельный векторный перемножитель
Для обеспечения линейности фазовой характеристики КИХ-фильтра коэффициенты hn СФ фильтра выбираются симметричными относительно центральной величины. Такое построение позволяет сократить число перемножителей. В качестве параллельного векторного перемножителя (ПВП) удобно использовать таблицу перекодировок (ТП, LUT, Look-up table), входящую в состав логического элемента (ЛЭ) ПЛИС. При использовании ТП операция перемножения выполняется параллельно. Структура четырехразрядного ПВП представлена на рисунке 1,б. Основным достоинством параллельной архитектуры построения фильтров является высокая производительность. Однако, если число задействованных ЛЭ является критичным, предпочтительнее строить фильтр по последовательной или комбинированной архитектуре. Комбинированная архитектура является компромиссом между экономичностью и производительностью. В этом случае применяются как последовательные, так и параллельные регистры. В результате распараллеливания вычислений обеспечивается несколько большая производительность, чем у последовательного фильтра.
Для проектирования фильтров необходим набор специализированных програмных средств, позволяющих синтезировать требуемую системную функцию фильтра, провести моделирование его работы, а также библиотеки параметризируемых мегафункций, содержащих реализации типовых структур ЦФ. Фирма ALTERA предоставляет в составе Altera DSp Design KIT програмный продукт Firgen. В функции программы Firgen входит моделирование КИХ-фильтра с заданными коэффициентами, а также генерация файлов, предназначенных для реализации фильтра штатными средствами пакета MAX+plus II. Для построения отклика фильтра, полученного в результате моделирования средствами Firgen можно использовать либо пакет Microsoft Exel, либо входящий в состав Altera DSp Design KIT продукт GNUplot. Схематически процесс разработки фильтра представлен на рис. 2.
Рассмотрев основные алгоритмы цифровой фильтрации и пути их реализации на ПЛИС, можно сделать следующие выводы: разработчики осознают необходимость создания библиотек параметризуемых мегафункций различных функциональных узлов, особенно устройств цифровой обработки сигналов. Определенные шаги в этом направлении предпринимает фирма ALTERA. Однако, на рынке до сих пор очень мало предложений в области нелинейных, оптимальных и большинства типов адаптивных структур. Между тем, существует огромная потребность в реализации известных и хорошо обоснованных теоретически алгоритмов.
Рис. 2