Автор работы: Пользователь скрыл имя, 05 Декабря 2012 в 16:26, курсовая работа
Данный курсовой проект выполняется с целью закрепления знаний, полученных при изучении курса «Процессоры для цифровой обработки сигналов», и развития навыков самостоятельного проектирования цифровых устройств фильтрации с использованием современной элементной базы.
Цифровая фильтрация является одним из основных направлений цифровой обработки сигналов (далее ЦОС). В настоящее время она имеет широкое применение. Поэтому тема данного проекта особо актуальна, учитывая и то, что для разработки используется современная элементная база зарубежных фирм-производителей, лидеров мирового рынка устройств для цифровой и аналоговой обработки сигналов.
Введение 3
1. Постановка задачи проектирования 4
2. Анализ задачи и выбор рационального способа решения 5
3. Разработка алгоритмов фильтрации 7
3.1. Синтез ядра фильтра 7
3.2. Свертка с использованием БПФ 12
3.3. Алгоритм БПФ 15
3.4. Моделирование алгоритмов и проверка работоспособности 18
4. Разработка принципиальной схемы 21
4.1. Выбор элементной базы 21
4.2. Построение схемы 24
5. Разработка программного обеспечения 28
6. Оценка временных параметров 34
Заключение 38
Список использованной литературы 39
ПРИЛОЖЕНИЕ 40
Изм.
Лист
№ докум.
Подпись
Дата
Лист
К2.006.202.ПЗ
Разраб.
Лапшин Е.С
Провер.
Новиков А.В.
Реценз.
Н. Контр.
Утверд.
Цифровой фильтр
Пояснительная записка
Лит.
Листов
42
ТулГУ, каф. ЭВМ
Изм.
Лист
№ докум.
Подпись
Дата
Лист
К2.006.202.ПЗ
Федеральное агентство по образованию РФ
Государственное образовательное учреждение
высшего профессионального образования
Тульский государственный университет
Кафедра электронных вычислительных машин
Пояснительная записка к курсовому проекту
по дисциплине «Процессоры для цифровой обработки сигналов»
на тему «Проектирование цифрового фильтра»
Выполнил:
студент 5-го курса гр. 250281
Лапшин Е.С.
.
Проверил: Новиков А.В.
Тула, 2012
Содержание
Введение 3
1. Постановка задачи проектирования 4
2. Анализ задачи и выбор рационального способа решения 5
3. Разработка алгоритмов фильтрации 7
3.1. Синтез ядра фильтра 7
3.2. Свертка с использованием БПФ 12
3.3. Алгоритм БПФ 15
3.4. Моделирование алгоритмов и проверка работоспособности 18
4. Разработка принципиальной схемы 21
4.1. Выбор элементной базы 21
4.2. Построение схемы 24
5. Разработка программного обеспечения 28
6. Оценка временных параметров 34
Заключение 38
Список использованной литературы 39
ПРИЛОЖЕНИЕ 40
Данный курсовой проект выполняется с целью закрепления знаний, полученных при изучении курса «Процессоры для цифровой обработки сигналов», и развития навыков самостоятельного проектирования цифровых устройств фильтрации с использованием современной элементной базы.
Цифровая фильтрация является одним из основных направлений цифровой обработки сигналов (далее ЦОС). В настоящее время она имеет широкое применение. Поэтому тема данного проекта особо актуальна, учитывая и то, что для разработки используется современная элементная база зарубежных фирм-производителей, лидеров мирового рынка устройств для цифровой и аналоговой обработки сигналов.
Выполнение данного проекта предусматривает знание не только курса «Процессоры для цифровой обработки сигналов», но и ряда смежных дисциплин, изучавшихся ранее: «Организация ЭВМ и систем», «Схемотехника ЭВМ».
В ходе разработки предполагается активная работа с технической документацией, преимущественно на английском языке.
В данном проекте необходимо
разработать специальное
Рис. 1. Общая структура проектируемого устройства
В соответствии с вариантом задания проектируемый фильтр должен обладать следующими характеристиками:
Для цифровой фильтрации с
помощью сигнального
Для преобразования аналогового сигнала в цифровую форму используется АЦП. Необходимо подбирать АЦП с разрядностью выдаваемых им данных не ниже указанной в задании n=16 бит. Многие сигнальные процессоры имеют встроенный АЦП и ЦАП, но их разрядность как правило редко превышает 8-12 бит. Поэтому необходимо использовать для решения первой и последней из перечисленных выше задач отдельные микросхемы АЦП и ЦАП, работающие на частоте не ниже заданной частоты дискретизации. Чтобы обеспечивать высокоскоростную обработку данных лучше, конечно, использовать параллельные АЦП и ЦАП. Но так как большинство сигнальных процессоров имеют несколько встроенных последовательных портов для приема и передачи данных, а быстродействие современных последовательных АЦП и ЦАП довольно высоко, то в данном проекте предпочтительнее будут все же АЦП и ЦАП последовательного счета.
Сигнальный процессор необходимо подобрать с разрядностью, равной заданной по варианту для обрабатываемых данных – n=16 бит. Также следует выбрать процессор со встроенными последовательными портами для приема и передачи сигнала с АЦП и на ЦАП, таймером для управления считыванием и выдачей сигнала с заданной частотой дискретизации. Процессор должен иметь достаточно большой объем встроенной памяти для хранения массивов обрабатываемых данных и довольно высокое быстродействие, то есть частоту синхронизации. Так как два последовательных порта, встроенных в сигнальный процессор, будут использованы для АЦП и ЦАП, то возможно в связи с отсутствием подходящих микросхем с тремя последовательными портами придется использовать параллельный порт процессора. Следовательно, стоит принять за интерфейс связи фильтра с ЭВМ параллельный интерфейс, например, через LPT-порт компьютера.
Процесс фильтрации сигнала можно разделить на два основных этапа:
Первый этап реализуется однотипно для заданного типа фильтра. Алгоритм построения ядра фильтра будет описан далее в соответствующем разделе. Второй же этап решается разными способами. Для свертки сигналов малой длительности (менее 64 отсчетов) предпочтительнее использование обычного линейного способа. Но для качественной фильтрации необходимо использовать довольно большие по размеру ядро и выборку исходного сигнала, более 64 отсчетов. В этом случае предпочтительнее использовать метод свертки сигналов с применением дискретного преобразования Фурье. Кроме того, эффективнее будет применение алгоритмов быстрого преобразования Фурье (далее БПФ). Это позволит добиться приемлемого быстродействия цифрового фильтра. Поэтому в данном проекте фильтрация сигнала будет осуществляться с применением свертки через БПФ. Алгоритм фильтрации будет описан в следующем разделе.
Все цифровые фильтры делятся на два класса: фильтры с бесконечной импульсной характеристикой (БИХ), или рекурсивные фильтры, и с конечной импульсной характеристикой (КИХ). В данной работе использован цифровой КИХ-фильтр. Такой тип фильтров позволяет легко осуществлять процесс фильтрации сигнала заданной длительности с применением операции свертки, довольно просто реализуемой с помощью сигнальных процессоров.
Основной характеристикой КИХ-
(1)
Такой фильтр позволяет оставлять в сигнале только частотные составляющие ниже частоты среза fc. В данной работе необходимо реализовать полосовой фильтр, то есть пропускающий только частотные составляющие в определенном диапазоне между частотами среза fcl и fch фильтра. Ядро такого фильтра рассчитывается на основе соответствующих низкочастотных фильтров [1-2]. Поэтому для начала рассмотрим особенности проектирования фильтра низких частот.
Импульсная характеристика идеального низкочастотного фильтра, рассчитываемая по формуле (1), представляет собой бесконечный дискретный сигнал, расположенный как в положительной области оси абсцисс, так и в отрицательной. График такой функции изображен на рис.2. Так как ресурсы памяти компьютера не бесконечны по объему, то принято «обрезать» бесконечную импульсную характеристику фильтра. Длина ядра фильтра М (количество его дискретных точек) определяется при проектировании, исходя из формулы (2):
(2)
где BW – ширина полосы перехода частотной характеристики, то есть той полосы, где сигнал будет фильтроваться не полностью в виду того, что использовано не бесконечное ядро. Эта ширина задается в долях от частоты дискретизации сигнала. В данной работе используется ядро длительностью в 511 отсчетов, что обеспечивает ширину полосы перехода
,
то есть менее одного процента от частоты дискретизации, что является довольно высоким показателем качества фильтрации.
Рис. 2. Ядро идеального низкочастотного фильтра
Кроме «обрезания» импульсной характеристики фильтра обычно применяют еще ее сдвиг на половину длины ядра в положительную область временной оси для удобства работы, так как при программной реализации принято работать с массивами, индексируемыми неотрицательными целыми числами. На рис.3 приведен пример конечного ядра низкочастотного фильтра, сдвинутого вправо на М/2 отсчетов.
Отсечение импульсной характеристики фильтра в пределах выбранного интервала в M точек приводит к появлению отрицательного эффекта при фильтрации – появляется рябь в полосе пропускания и плохое ослабление в полосе подавления частотной характеристики. Это вызвано тем, что фильтр после отсечения является уже не идеальным, и в точках 0 и М импульсной характеристики появляются заметные скачки сигнала (см. рис.3), которые и приводят к ряби в частотной характеристике. Для устранения этого эффекта ядро фильтра сглаживается одной из многочисленных оконных функций, например окном Хемминга или Блэкмана [1-3]. В данном проекте использована оконная функция Блэкмана, так как ее применение приводит к более сильному ослаблению сигнала в полосе непропускания по сравнению с окном Хемминга. Формула (3) применяется для вычисления окна Блэкмана:
(3)
В итоге, формула для вычисления элементов ядра низкочастотного фильтра после сдвига вправо и сглаживания оконной функцией Блэкмана принимает следующий вид:
(4)
Есть несколько вариантов построения полосового фильтра. Все они основаны на анализе частотных характеристик спектров.
Первый вариант строится на том, что полосовой фильтр представляет собой произведение низкочастотного (НЧ) фильтра на высокочастотный (ВЧ) в частотной области. Соответственно во временной области это представляется сверткой, что является достаточно сложно по реализации. А скорость вычисления в данном случае большой роли не играет, т.к. ядро вычисляется один раз для конкретного диапазона частот.
Второй вариант строится
на том, что полосовой фильтр в
частотной области можно
Чтобы построить полосовой фильтр выбранным способом необходимо:
Эти действия приведут к тому, что из частотной характеристики НЧ фильтра с частотой среза fch будет вырезана часть, соответствующая НЧ фильтру с частотой среза fcl, то есть будет принимать единичное значение только в точках выше частоты среза fcl и ниже частоты среза fch, а в остальных нулевое значение. Нормализация импульсной характеристики фильтра необходима для того, чтобы сумма всех точек ядра равнялась 1, тогда при фильтрации сигнала его амплитуда будет оставаться неизменной для пропускаемых частот.
На рис.4 приведен алгоритм получения ядра высокочастотного фильтра.
Рис. 3. Схема алгоритма синтеза ядра полосового фильтра
Для фильтрации сигналов с помощью нерекурсивного фильтра используется операция свертки исходного сигнала с импульсной характеристикой фильтра. Свертка представляет собой математический способ комбинирования двух сигналов для формирования третьего сигнала. Результирующим сигналом при свертке с ядром фильтра будет отфильтрованный сигнал [1-3].
Свертка является формальной математической операцией, такой же, как, например, умножение или сложение. Только оперирует она не с двумя числами, а с целыми массивами – сигналами.