Курсовая работа по дисциплине: Основы проектирования цифровых устройств на ПЛИС
Студент Горюнов Д.Ю.
Рязанский государственный радиотехнический университет
Рязань 2008 г.
Введение
В данном курсовой работе я(?!) буду разрабатывать и моделировать цифровой фильтр высокой частоты (БИХ). Характеристики этого фильтра указаны в выданном преподавателем задании.
Фильтр будет выполнен на основе программируемой логической интегральной схемы EPF10K20RC240-4 из семейства FLEX10K фирмы Altera с помощью специальных программ MAX+plus II 10.2 BASELINE и MATLAB 6.5.
ПЛИС семейств FLEX10K - самая популярная элементная база для реализации алгоритмов ЦОС. Их часто используют так, как они имеют большую логическую емкость, удобную архитектуру с встроенными блоками памяти(EAB, Embedded Array Block), высокую надежность и приемлемую цену, относительно других ПЛИС. Этого достаточно для решения проблем, возникающих у разработчиков.
Анализ, формализация и декомпозиция задачи
В данной работе я(?!) буду проектировать цифрой фильтр с бесконечной импульсной характеристикой третьего порядка.
Запишем линейное разностное уравнение для БИХ-фильтра:
Преобразуем данное уравнение и получаем три формы реализации БИХ-фильтра:
1)Прямая форма 1
2)Прямая форма 2
3)Транспонированная прямая форма 2
Для фильтра порядка М=3 получим:
Проанализировав формы реализаций фильтров, прихожу к выводу, что нужно использовать транспонированную прямую форму 2,так как имеет встроенный конвейер и наименьшее количество сумматоров(?!). Данную форму можно представить в виде трех блоков, которые мы в последствии и будем использовать при программировании:
Рис.4 Блок Mult_a
Рис.5 Блок Mult_b Рис.6 Блок Mult_c
Программировать будем ПЛИС фирмы Altera FLEX10K20RC240-4.Укажем характеристики этой схемы:
Логическая емкость 20000 Число логических элементов 1152 Число логических блоков 144 Память (бит) 12288 Используемые выводы 189 Число строк 6 Каналов в строке 144 Число столбцов 24 Каналов в столбце 24
Таблица 1
В задании были получены коэффициенты фильтра. Но они дробные и поэтому MAX+plus с ними работать не может. Необходимо их перевести в целые числа. Это производится с помощью масштабирования. Масштабирование коэффициентов производится путем умножения заданных коэффициентов ai на 2m и bi на 2n. Выбираем n и m так, чтобы выполнялись условия технического задания(отклонение АЧХ в полосе пропускания и затухание АЧХ в полосе непропускания). С учетом этого выберем m=n=6.
Используем MATLAB и получаем характеристики фильтра при различных округлениях:
-без округления
-с отбрасыванием дробной части (fix);
-с округлением до ближайшего целого (round);
-с округлением до ближайшего меньшего целого (floor);
-с округлением до ближайшего большего целого (ceil);
Выбираем округление до ближайшего целого, так как это единственное округление, которое удовлетворяет техническому заданию. Оно соответствует красному графику.
(Отклонение АЧХ в полосе пропускания: не более ± 0,6 дБ
Затухание АЧХ в полосе непропускания: не менее 29 дБ)
(Определите реальные величины отклонений!!)
Рис.10 Импульсная характеристика фильтра
Рис.11 Переходная характеристика фильтра
Рис.12 ФЧХ фильтра
Рис.13 Карта нулей и полюсов фильтра
Данный фильтр является устойчивый, так как все полюса находятся внутри единичной окружности.
Выпишем округленные и отмасштабированные коэффициенты:
№
Заданные коэффициенты
(DEC)
Округлённые коэффициенты
(DEC)
Округлённые коэффициенты в
дополнительном коде
(BIN)
b1 0.126464868216455 8 1000 b2 -0.211575649599258 -14 10010 b3 0.211575649599257 14 1110 b4 -0.126464868216455 -8 11000 a1 1.000000000000000 -64 1000000 a2 0.927241545063816 -59 1000101 a3 0.888040485768699 -57 1000111 a4 0.284717905073458 -18 1101110
Таблица 2(??)
(Все коэффициенты отрицательные??)
Выпишем значения импульсной и переходной характеристик:
№ g(t) h(t) 0 0,125 0.125 1 -0,334 -0,209 2 0,415 0,206 3 -0,244 -0,0401 4 -0,0488 -0,0882 5 0,148 0.0588 6 -0,0236 0,0354 7 -0,0957 -0,0595 8 0,0678 0,00865 9 0,0302 0,0354 10 -0,0607 -0,0235
Таблица 3
Разработка и обоснование структурной схемы устройства
Фильтр-это основной блок для реализации технического задания.
Для работы фильтр использует дополнительный код. ............