Проектирование цифрового фильтра

Автор работы: Пользователь скрыл имя, 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

Прикрепленные файлы: 1 файл

Курсовая работа по ПДЦОС.docx

— 534.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. Постановка  задачи проектирования

В данном проекте необходимо разработать специальное вычислительное устройство – цифровой фильтр на основе современного сигнального процессора Microchip. Требуется обработка исходного аналогового сигнала, и так как процессор представляет собой цифровое устройство, то необходимо реализовать преобразование аналогового сигнала в цифровой для фильтрации и обратно. С этой целью необходимо подобрать и использовать аналого-цифровой преобразователь (АЦП) и цифро-аналоговый (ЦАП). Также необходима связь через любой стандартный интерфейс разрабатываемого устройства с компьютером, задающим частоту среза для фильтра. В общем виде структура разрабатываемого устройства приведена на рис.1.

 

Рис. 1. Общая структура проектируемого устройства

В соответствии с вариантом  задания проектируемый фильтр должен обладать следующими характеристиками:

  • разрядность обрабатываемых данных в цифровой форме: n=16 бит;
  • тип фильтра: MIN;
  • тип сигнального процессора: dsPic33F фирмы Microchip;
  • частота дискретизации сигнала: fd=48000 Гц.

 

  1. Анализ  задачи и выбор рационального способа решения

Для цифровой фильтрации с  помощью сигнального процессора, ЦАП и АЦП необходимо решить следующие задачи:

    • преобразование исходного аналогового сигнала в цифровую форму и получение дискретных отсчетов с заданной частотой fd=48000 Гц;
    • фильтрация полученного дискретного сигнала;
    • преобразование отфильтрованного сигнала в аналоговую форму и выдача результата на выход устройства.

Для преобразования аналогового  сигнала в цифровую форму используется АЦП. Необходимо подбирать АЦП с разрядностью выдаваемых им данных не ниже указанной в задании n=16 бит. Многие сигнальные процессоры имеют встроенный АЦП и ЦАП, но их разрядность как правило редко превышает 8-12 бит. Поэтому необходимо использовать для решения первой и последней из перечисленных выше задач отдельные микросхемы АЦП и ЦАП, работающие на частоте не ниже заданной частоты дискретизации. Чтобы обеспечивать высокоскоростную обработку данных лучше, конечно, использовать параллельные АЦП и ЦАП. Но так как большинство сигнальных процессоров имеют несколько встроенных последовательных портов для приема и передачи данных, а быстродействие современных последовательных АЦП и ЦАП довольно высоко, то в данном проекте предпочтительнее будут все же АЦП и ЦАП последовательного счета.

Сигнальный процессор  необходимо подобрать с разрядностью, равной заданной по варианту для обрабатываемых данных – n=16 бит. Также следует выбрать процессор со встроенными последовательными портами для приема и передачи сигнала с АЦП и на ЦАП, таймером для управления считыванием и выдачей сигнала с заданной частотой дискретизации. Процессор должен иметь достаточно большой объем встроенной памяти для хранения массивов обрабатываемых данных и довольно высокое быстродействие, то есть частоту синхронизации. Так как два последовательных порта, встроенных в сигнальный процессор, будут использованы для АЦП и ЦАП, то возможно в связи с отсутствием подходящих микросхем с тремя последовательными портами придется использовать параллельный порт процессора. Следовательно, стоит принять за интерфейс связи фильтра с ЭВМ параллельный интерфейс, например, через LPT-порт компьютера.

Процесс фильтрации сигнала  можно разделить на два основных этапа:

  1. вычисление импульсной характеристики фильтра (его ядра);
  2. выполнение операции свертки ядра фильтра с входным сигналом.

Первый этап реализуется  однотипно для заданного типа фильтра. Алгоритм построения ядра фильтра будет описан далее в соответствующем разделе. Второй же этап решается разными способами. Для свертки сигналов малой длительности (менее 64 отсчетов) предпочтительнее использование обычного линейного способа. Но для качественной фильтрации необходимо использовать довольно большие по размеру ядро и выборку исходного сигнала, более 64 отсчетов. В этом случае предпочтительнее использовать метод свертки сигналов с применением дискретного преобразования Фурье. Кроме того, эффективнее будет применение алгоритмов быстрого преобразования Фурье (далее БПФ). Это позволит добиться приемлемого быстродействия цифрового фильтра. Поэтому в данном проекте фильтрация сигнала будет осуществляться с применением свертки через БПФ. Алгоритм фильтрации будет описан в следующем разделе.

 

  1. Разработка  алгоритмов фильтрации

3.1. Синтез ядра  фильтра

Все цифровые фильтры делятся  на два класса: фильтры с бесконечной  импульсной характеристикой (БИХ), или рекурсивные фильтры, и с конечной импульсной характеристикой (КИХ). В данной работе использован цифровой КИХ-фильтр. Такой тип фильтров позволяет легко осуществлять процесс фильтрации сигнала заданной длительности с применением операции свертки, довольно просто реализуемой с помощью сигнальных процессоров.

Основной характеристикой КИХ-фильтров является ядро, или импульсная характеристика, называемая также sinc-функцией. Элементы ядра идеального низкочастотного фильтра рассчитывается по формуле (1):

       (1)

Такой фильтр позволяет оставлять  в сигнале только частотные составляющие ниже частоты среза fc. В данной работе необходимо реализовать полосовой фильтр, то есть пропускающий только частотные составляющие в определенном диапазоне между частотами среза fcl и fch фильтра. Ядро такого фильтра рассчитывается на основе соответствующих низкочастотных фильтров [1-2]. Поэтому для начала рассмотрим особенности проектирования фильтра низких частот.

Импульсная характеристика идеального низкочастотного фильтра, рассчитываемая по формуле (1), представляет собой бесконечный дискретный сигнал, расположенный как в положительной области оси абсцисс, так и в отрицательной. График такой функции изображен на рис.2. Так как ресурсы памяти компьютера не бесконечны по объему, то принято «обрезать» бесконечную импульсную характеристику фильтра. Длина ядра фильтра М (количество его дискретных точек) определяется при проектировании, исходя из формулы (2):

         (2)

где BW – ширина полосы перехода частотной характеристики, то есть той полосы, где сигнал будет фильтроваться не полностью в виду того, что использовано не бесконечное ядро. Эта ширина задается в долях от частоты дискретизации сигнала. В данной работе используется ядро длительностью в 511 отсчетов, что обеспечивает ширину полосы перехода

,

то есть менее  одного процента от частоты дискретизации, что является довольно высоким показателем качества фильтрации.

Рис. 2. Ядро идеального низкочастотного фильтра

Кроме «обрезания» импульсной характеристики фильтра обычно применяют еще ее сдвиг на половину длины ядра в положительную область временной оси для удобства работы, так как при программной реализации принято работать с массивами, индексируемыми неотрицательными целыми числами. На рис.3 приведен пример конечного ядра низкочастотного фильтра, сдвинутого вправо на М/2 отсчетов.

Отсечение импульсной характеристики фильтра в пределах выбранного интервала  в M точек приводит к появлению отрицательного эффекта при фильтрации – появляется рябь в полосе пропускания и плохое ослабление в полосе подавления частотной характеристики. Это вызвано тем, что фильтр после отсечения является уже не идеальным, и в точках 0 и М импульсной характеристики появляются заметные скачки сигнала (см. рис.3), которые и приводят к ряби в частотной характеристике. Для устранения этого эффекта ядро фильтра сглаживается одной из многочисленных оконных функций, например окном Хемминга или Блэкмана [1-3]. В данном проекте использована оконная функция Блэкмана, так как ее применение приводит к более сильному ослаблению сигнала в полосе непропускания по сравнению с окном Хемминга. Формула (3) применяется для вычисления окна Блэкмана:

    (3)

В итоге, формула для вычисления элементов ядра низкочастотного  фильтра после сдвига вправо и  сглаживания оконной функцией Блэкмана принимает следующий вид:

 (4)

Есть несколько вариантов  построения полосового фильтра. Все  они основаны на анализе частотных характеристик спектров.

Первый вариант строится на том, что полосовой фильтр представляет собой произведение низкочастотного (НЧ) фильтра на высокочастотный (ВЧ) в частотной области. Соответственно во временной области это представляется сверткой, что является достаточно сложно по реализации. А скорость вычисления в данном случае большой роли не играет, т.к. ядро вычисляется один раз для конкретного диапазона частот.

Второй вариант строится на том, что полосовой фильтр в  частотной области можно вывести  как единица минус сумма НЧ и ВЧ фильтров. При переводе ВЧ фильтра  к НЧ происходит сокращение единиц. Таким образом получаем третий вариант построения полосового фильтра, который в связи с простотой своей реализации и был принят для использования в работе.

Чтобы построить полосовой  фильтр выбранным способом необходимо:

    1. Построить 2 ядра низкочастотного фильтра. Одно с большей частотой среза fch, другой с меньшей fch.
    2. Нормализовать оба ядра низкочастотных фильтров.
    3. Вычесть из ядра с частотой среза fch ядро с частотой среза fcl.

Эти действия приведут к тому, что из частотной характеристики НЧ фильтра с частотой среза fch будет вырезана часть, соответствующая НЧ фильтру с частотой среза fcl, то есть будет принимать единичное значение только в точках выше частоты среза fcl и ниже частоты среза fch, а в остальных нулевое значение. Нормализация импульсной характеристики фильтра необходима для того, чтобы сумма всех точек ядра равнялась 1, тогда при фильтрации сигнала его амплитуда будет оставаться неизменной для пропускаемых частот.

На рис.4 приведен алгоритм получения ядра высокочастотного фильтра.

Рис. 3. Схема алгоритма синтеза ядра полосового фильтра

3.2. Свертка с  использованием БПФ

Для фильтрации сигналов с  помощью нерекурсивного фильтра используется операция свертки исходного сигнала с импульсной характеристикой фильтра. Свертка представляет собой математический способ комбинирования двух сигналов для формирования третьего сигнала. Результирующим сигналом при свертке с ядром фильтра будет отфильтрованный сигнал [1-3].

Свертка является формальной математической операцией, такой же, как, например, умножение или сложение. Только оперирует она не с двумя числами, а с целыми массивами – сигналами.

Информация о работе Проектирование цифрового фильтра