Как построить АЧХ цифрового фильтра выполненного на ПЛИС
Построить АЧХ цифрового фильтра несложно если использовать Matlab. Но как построить АЧХ цифрового фильтра, который находится в реальном железе, например в ПЛИС? Можно например приладить к ПЛИС АЦП и ЦАП, подавать на вход нужную частоту, пошагово изменяя ее регистрировать средний положительный уровень сигнала на выходе ЦАП и по точкам строить кривую. На мой взгляд все это достаточно муторно. Ведь вполне можно обойтись и без АЦП и ЦАП если использовать цифровой формирователь гармонического сигнала на базе фазового накопителя. В ПЛИС фирмы Altera это компонент NCO.
Как все можно сделать? Один из возможных вариантов - подавать на цифровой вход цифрового фильтра выход данных NCO пошагово меняя его выходную частоту за счет коэффициента инкремента фазы (Phase Increment Value). А результаты свертки по выборкам передавать на компьютер по любому возможному интерфейсу rs232, USB или даже Ethernet. Задача персонального компьютера - принять заданное количество данных через заданный конкретный промежуток времени (например 0.5... 5 сек), вычислить среднее положительное значение и отобразить его в относительных величинах на графике.
Для того, чтобы опробовать на практике задуманное можно воспользоваться отладочной платой от Terasic типа DE0Nano. Для обмена данными между ПЛИС и персональным компьютером вполне подойдет интерфейс Ethernet выполненный на базе процессора Nios II. Далее все как описано выше. Компьтер с помощью небольшой тестовой программы созданной на C++Builder посылает по интерфейсу Ethernet на модуль DE0Nano, в котором скофигурирован цифровой фильтр и модуль NCO, короткий пакет в котором в одном из байтов указан номер посылки. Программа Nios анализирует посланный пакет и отправляет в свою очередь на модуль NCO 32_х битный код частоты, которую он должен сформировать для подачи на фильтр. Одновременно с этим производится запуск фильтра с передачей результатов оцифровки с помощью SG-DMA в SDRAM подключенную к процессору Nios II. При заполнениии нужного количества памяти результатами выборок, обычно 1000...3000 производится останов оцифровки и передача результатов работы фильтра на персональный копьютер по тому же интерфейсу Ethernet.
Теперь тестовая программа производит простейшую обработку принятых данных осредняя их положительные значения и выводит точку на график. Далее все повторяется, только со сменой на один шаг частоты формируемой модулем NCO, например на 1кГц. Таким образом через выбранное количество шагов на экране компа будет нарисована амплитудно частотная характеристика цифрового фильтра. Для наглядности картинка ниже по тексту. На ней показана АЧХ полосового фильтра (децимирование на 5) с центральной частотой 450кГц и полосой 430...470кГц.
При большем количестве выборок картинка будет выглядеть почти идеально. Конечно желательно такую систему сделать универсальной для любого типа ПЛИС. Для этого можно поступить следующим образом: Интерфейс поменять на UART, модуль NCO выполнить в виде открытого проекта на VHDL (VERILOG), данные оцифровки заносить в обычную двухпортовую память, которая синтезируется практически в любой современной ПЛИС_ине. Качели с пуском фильтра и выдачей на комп данных остаются прежними. Это позволит создать проект встраиваемый практически в любую ПЛИС с помощью которого можно на базе реального железа быстро без шума и пыли просмотреть АЧХ любого цифрового фильтра. Ну а комповую прогу нужно будет выполнить с возможностью настройки под любые возможные варианты фильтров и частот. У кого какие предложения и замечания просьба пройти по ссылке для добавления комментов.
Электроника :
- Техника электроника (11)
- Полезная электроника (4)
- Электроника для всех (5)
- Техника для дома (6)
- Cхемотехника ПЛИС (11)
- Пректирование PCAD (4)
Программирование :
- Микроконтроллеры (9)
- ПЛИС VHDL Verilog (29)
- C++ Builder (7)
- Visual Studio C++ C# (7)
- Java programming (7)
- Matlab programming (4)
Сайтостроение :
- Сайтостроение HTML (5)
- Сайтостроение PHP (8)
- PHP CMS на файлах (3)
- Web инструменты (9)
- Полезное вебмастеру (11)
- SEO раскрутка сайта (4)
- PHP скрипты (3)
Реклама :
Книги и учебники :
- Шаблоны сайтов (6)
- Книги и учебники (2)
Компьютер и интернет :
Поиск по сайту :
Реклама :
Облако меток :
Бесплатная подписка :
Статистика :
- Популярность (3)
- Посещаемость (3)
- Поисковые запросы (3)