Курсовая работа: Цифровой фильтр высокой частоты
В данном курсовой работе я(?!) буду разрабатывать и моделировать цифровой фильтр высокой частоты (БИХ). Характеристики этого фильтра указаны в выданном преподавателем задании.
Фильтр будет выполнен на основе программируемой логической интегральной схемы 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 дБ)
--> ЧИТАТЬ ПОЛНОСТЬЮ <--