Проектирование цифрового фильтра
Разработка цифрового полосового фильтра, позволяющего осуществлять фильтрацию дискретизированного по времени сигнала. Характеристика алгоритмов фильтрации и проверка их работоспособности. Анализ синтеза ядра фильтра и временных параметров сигнала.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.07.2013 |
Размер файла | 1010,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Государственное образовательное учреждение высшего профессионального образования
Тульский государственный университет
Кафедра электронных вычислительных машин
Курсовая работа
по дисциплине:
Процессоры для цифровой обработки сигналов
на тему:
Проектирование цифрового фильтра
Выполнил:
Лапшин Е.С.
Тула, 2012.
Введение
Данный проект выполняется с целью закрепления знаний, полученных при изучении курса «Процессоры для цифровой обработки сигналов», и развития навыков самостоятельного проектирования цифровых устройств фильтрации с использованием современной элементной базы.
Цифровая фильтрация является одним из основных направлений цифровой обработки сигналов (далее ЦОС). В настоящее время она имеет широкое применение. Поэтому тема данного проекта особо актуальна, учитывая и то, что для разработки используется современная элементная база зарубежных фирм-производителей, лидеров мирового рынка устройств для цифровой и аналоговой обработки сигналов.
Выполнение данного проекта предусматривает знание не только курса «Процессоры для цифровой обработки сигналов», но и ряда смежных дисциплин, изучавшихся ранее: «Организация ЭВМ и систем», «Схемотехника ЭВМ».
В ходе разработки предполагается активная работа с технической документацией, преимущественно на английском языке.
1. Постановка задачи проектирования
В данном проекте необходимо разработать специальное вычислительное устройство.
Под устройством подразумевается цифровой фильтр на основе современного сигнального процессора Microchip.
Требуется обработка исходного аналогового сигнала, и так как процессор представляет собой цифровое устройство, то необходимо реализовать преобразование аналогового сигнала в цифровой для фильтрации и обратно.
С этой целью необходимо подобрать и использовать аналого-цифровой преобразователь (АЦП) и цифро-аналоговый (ЦАП).
Также необходима связь через любой стандартный интерфейс разрабатываемого устройства с компьютером, задающим частоту среза для фильтра.
В общем виде структура разрабатываемого устройства приведена на рисунке 1.
Рисунок 1. - Общая структура проектируемого устройства:
В соответствии с вариантом задания проектируемый фильтр должен обладать следующими характеристиками:
- разрядность обрабатываемых данных в цифровой форме: n=16 бит;
- тип фильтра: MIN;
- тип сигнального процессора: dsPic33F фирмы Microchip;
- частота дискретизации сигнала: fd=48000 Гц.
2. Анализ задачи и выбор рационального способа решения
Для цифровой фильтрации с помощью сигнального процессора, ЦАП и АЦП необходимо решить следующие задачи:
- преобразование исходного аналогового сигнала в цифровую форму и получение дискретных отсчетов с заданной частотой fd=48000 Гц;
- фильтрация полученного дискретного сигнала;
- преобразование отфильтрованного сигнала в аналоговую форму и выдача результата на выход устройства.
Для преобразования аналогового сигнала в цифровую форму используется АЦП. Необходимо подбирать АЦП с разрядностью выдаваемых им данных не ниже указанной в задании n=16 бит. Многие сигнальные процессоры имеют встроенный АЦП и ЦАП, но их разрядность как правило редко превышает 8-12 бит. Поэтому необходимо использовать для решения первой и последней из перечисленных выше задач отдельные микросхемы АЦП и ЦАП, работающие на частоте не ниже заданной частоты дискретизации. Чтобы обеспечивать высокоскоростную обработку данных лучше, конечно, использовать параллельные АЦП и ЦАП. Но так как большинство сигнальных процессоров имеют несколько встроенных последовательных портов для приема и передачи данных, а быстродействие современных последовательных АЦП и ЦАП довольно высоко, то в данном проекте предпочтительнее будут все же АЦП и ЦАП последовательного счета.
Сигнальный процессор необходимо подобрать с разрядностью, равной заданной по варианту для обрабатываемых данных - n=16 бит. Также следует выбрать процессор со встроенными последовательными портами для приема и передачи сигнала с АЦП и на ЦАП, таймером для управления считыванием и выдачей сигнала с заданной частотой дискретизации. Процессор должен иметь достаточно большой объем встроенной памяти для хранения массивов обрабатываемых данных и довольно высокое быстродействие, то есть частоту синхронизации. Так как два последовательных порта, встроенных в сигнальный процессор, будут использованы для АЦП и ЦАП, то возможно в связи с отсутствием подходящих микросхем с тремя последовательными портами придется использовать параллельный порт процессора. Следовательно, стоит принять за интерфейс связи фильтра с ЭВМ параллельный интерфейс, например, через LPT-порт компьютера.
Процесс фильтрации сигнала можно разделить на два основных этапа:
1) вычисление импульсной характеристики фильтра (его ядра);
2) выполнение операции свертки ядра фильтра с входным сигналом.
Первый этап реализуется однотипно для заданного типа фильтра. Алгоритм построения ядра фильтра будет описан далее в соответствующем разделе. Второй же этап решается разными способами. Для свертки сигналов малой длительности (менее 64 отсчетов) предпочтительнее использование обычного линейного способа. Но для качественной фильтрации необходимо использовать довольно большие по размеру ядро и выборку исходного сигнала, более 64 отсчетов. В этом случае предпочтительнее использовать метод свертки сигналов с применением дискретного преобразования Фурье. Кроме того, эффективнее будет применение алгоритмов быстрого преобразования Фурье (далее БПФ). Это позволит добиться приемлемого быстродействия цифрового фильтра. Поэтому в данном проекте фильтрация сигнала будет осуществляться с применением свертки через БПФ. Алгоритм фильтрации будет описан в следующем разделе.
3. Разработка алгоритмов фильтрации
3.1 Синтез ядра фильтра
Все цифровые фильтры делятся на два класса: фильтры с бесконечной импульсной характеристикой (БИХ), или рекурсивные фильтры, и с конечной импульсной характеристикой (КИХ). В данной работе использован цифровой КИХ-фильтр. Такой тип фильтров позволяет легко осуществлять процесс фильтрации сигнала заданной длительности с применением операции свертки, довольно просто реализуемой с помощью сигнальных процессоров.
Основной характеристикой КИХ-фильтров является ядро, или импульсная характеристика, называемая также sinc-функцией. Элементы ядра идеального низкочастотного фильтра рассчитывается по формуле (1):
(1)
Такой фильтр позволяет оставлять в сигнале только частотные составляющие ниже частоты среза fc. В данной работе необходимо реализовать полосовой фильтр, то есть пропускающий только частотные составляющие в определенном диапазоне между частотами среза fcl и fch фильтра. Ядро такого фильтра рассчитывается на основе соответствующих низкочастотных фильтров. Поэтому для начала рассмотрим особенности проектирования фильтра низких частот.
Импульсная характеристика идеального низкочастотного фильтра, рассчитываемая по формуле (1), представляет собой бесконечный дискретный сигнал, расположенный как в положительной области оси абсцисс, так и в отрицательной. Так как ресурсы памяти компьютера не бесконечны по объему, то принято «обрезать» бесконечную импульсную характеристику фильтра. Длина ядра фильтра М (количество его дискретных точек) определяется при проектировании, исходя из формулы (2):
(2)
Где:
BW - ширина полосы перехода частотной характеристики, то есть той полосы, где сигнал будет фильтроваться не полностью в виду того, что использовано не бесконечное ядро.
Эта ширина задается в долях от частоты дискретизации сигнала. В данной работе используется ядро длительностью в 511 отсчетов, что обеспечивает ширину полосы перехода:
То есть менее одного процента от частоты дискретизации, что является довольно высоким показателем качества фильтрации.
Рисунок 2. - Ядро идеального низкочастотного фильтра:
Кроме «обрезания» импульсной характеристики фильтра обычно применяют еще ее сдвиг на половину длины ядра в положительную область временной оси для удобства работы, так как при программной реализации принято работать с массивами, индексируемыми неотрицательными целыми числами. На рис. 3 приведен пример конечного ядра низкочастотного фильтра, сдвинутого вправо на М/2 отсчетов.
Отсечение импульсной характеристики фильтра в пределах выбранного интервала в M точек приводит к появлению отрицательного эффекта при фильтрации - появляется рябь в полосе пропускания и плохое ослабление в полосе подавления частотной характеристики.
Это вызвано тем, что фильтр после отсечения является уже не идеальным, и в точках 0 и М импульсной характеристики появляются заметные скачки сигнала (см. рис. 3), которые и приводят к ряби в частотной характеристике.
Для устранения этого эффекта ядро фильтра сглаживается одной из многочисленных оконных функций, например окном Хемминга или Блэкмана.
В данном проекте использована оконная функция Блэкмана, так как ее применение приводит к более сильному ослаблению сигнала в полосе непропускания по сравнению с окном Хемминга. Формула (3) применяется для вычисления окна Блэкмана:
(3)
В итоге, формула для вычисления элементов ядра низкочастотного фильтра после сдвига вправо и сглаживания оконной функцией Блэкмана принимает следующий вид:
(4)
Есть несколько вариантов построения полосового фильтра. Все они основаны на анализе частотных характеристик спектров. Первый вариант строится на том, что полосовой фильтр представляет собой произведение низкочастотного (НЧ) фильтра на высокочастотный (ВЧ) в частотной области.
Соответственно во временной области это представляется сверткой, что является достаточно сложно по реализации. А скорость вычисления в данном случае большой роли не играет, т. к. ядро вычисляется один раз для конкретного диапазона частот.
Второй вариант строится на том, что полосовой фильтр в частотной области можно вывести как единица минус сумма НЧ и ВЧ фильтров. При переводе ВЧ фильтра к НЧ происходит сокращение единиц.
Таким образом получаем третий вариант построения полосового фильтра, который в связи с простотой своей реализации и был принят для использования в работе.
Чтобы построить полосовой фильтр выбранным способом необходимо:
1. Построить 2 ядра низкочастотного фильтра. Одно с большей частотой среза fch, другой с меньшей fch.
2. Нормализовать оба ядра низкочастотных фильтров.
3. Вычесть из ядра с частотой среза fch ядро с частотой среза fcl.
Эти действия приведут к тому, что из частотной характеристики НЧ фильтра с частотой среза fch будет вырезана часть, соответствующая НЧ фильтру с частотой среза fcl, то есть будет принимать единичное значение только в точках выше частоты среза fcl и ниже частоты среза fch, а в остальных нулевое значение.
Нормализация импульсной характеристики фильтра необходима для того, чтобы сумма всех точек ядра равнялась 1, тогда при фильтрации сигнала его амплитуда будет оставаться неизменной для пропускаемых частот.
Рисунок 3. - Схема алгоритма синтеза ядра полосового фильтра:
3.2 Свертка с использованием БПФ
Для фильтрации сигналов с помощью не рекурсивного фильтра используется операция свертки исходного сигнала с импульсной характеристикой фильтра. Свертка представляет собой математический способ комбинирования двух сигналов для формирования третьего сигнала. Результирующим сигналом при свертке с ядром фильтра будет отфильтрованный сигнал.
Свертка является формальной математической операцией, такой же, как, например, умножение или сложение. Только оперирует она не с двумя числами, а с целыми массивами - сигналами.
Чаще всего сверткой пользуются для импульсного разложения сигналов, то есть рассматривают отдельные точки сигналов как импульсы. В этом случае длина выходного сигнала будет определяться как сумма длины входного сигнала и длины импульсной характеристики фильтра минус один отсчет. Формула для вычисления свертки таким способом следующая:
(5)
Где:
x - входной сигнал из N отсчетов,
h - импульсная характеристика линейной системы (в данном случае фильтра) длиной M точек, индекс i задается в интервале.
Несмотря на простоту программной реализации такого вычисления свертки, время расчета для достаточно больших выборок сигнала и ядра фильтра (как уже было сказано ранее, при свертке сигналов длительностью более 64-х точек) будет существенным, что немало важно для цифрового фильтра, работающего в режиме реального времени. Как было принято ранее, ядро разрабатываемого фильтра состоит из 511 точек. Поэтому эффективнее будет использовать другой метод вычисления свертки сигналов - с использованием быстрого преобразования Фурье.
Свертка с применением БПФ дает тот же результат, что и другие алгоритмы расчета свертки, но время выполнения вычислений значительно сокращается для больших выборок сигналов. Алгоритм БПФ-свертки значительно сложнее из-за необходимости программной реализации БПФ.
Свертка с использованием БПФ обрабатывает сигналы не во временной области, а в частотной.
В этом случае используется такое свойство свертки, что перемножение частотных спектров сигналов по точкам дает в результате спектр сигнала, являющегося результатом свертки. Таким образом, если найти обратное преобразование Фурье от полученного спектра, то получится результирующий отфильтрованный сигнал во временной области.
Алгоритм свертки с использованием БПФ можно описать следующим образом. Исходный сигнал разбивается на сегменты длительностью, равной длине ядра фильтра M. Каждый такой временной отрезок увеличивается вдвое, и вторая половина заполняется нулями. То же самое применяется и к импульсной характеристике фильтра.
За тем с помощью преобразования Фурье вычисляются спектры сегмента исходного сигнала и ядра фильтра, после чего полученные массивы перемножаются. Применение обратного преобразования Фурье к полученному массиву даст результат свертки сигналов. Но так как полученный результат вдвое больше исходного сегмента сигнала, то на выход фильтра подается только первая его половина, а вторую в дальнейшем необходимо суммировать с первой половиной результата свертки для следующего сегмента.
Это так называемая свертка-БПФ с перекрытием. Описание быстрого преобразования Фурье дано в следующем разделе. Из сравнения свертки сигналов во временной области и свертки с применением БПФ предпочтение для разработки данного проекта отдано второму способу. Это позволит использовать высокое быстродействие при фильтрации сигналов, предоставляемое алгоритмом БПФ.
Рисунок 4. - Схема алгоритма БПФ-свертки сигналов:
3.3 Алгоритм БПФ
Дискретное преобразование Фурье (далее ДПФ) заключается в определении по последовательности из N временных отсчетов сигнала {x0,x1,…,xN-1} (в общем случае комплексных) соответствующего частотного спектра {X0,X1,…,XN-1} - набора комплексных чисел, характеризующих сигнал в частотной области. Общая формула для вычисления ДПФ выглядит следующим образом:
(6)
Обратное ДПФ преобразует сигнал из частотной области во временную, то есть восстанавливает по спектру исходную последовательность дискретных отсчетов. Формула (7) задает общий вид обратного ДПФ:
(7)
Алгоритм БПФ - это оптимизированный по скорости способ вычисления ДПФ.
Существуют различные варианты такого алгоритма. Но наибольшее распространение получил алгоритм БПФ для последовательности из N отсчетов, где N является степенью двойки.
Его особенность заключается в том, что исходная последовательность разбивается определенным образом на два равных сегмента.
Каждый полученный сегмент также делится пополам, и так до тех пор, пока не будут получены сегменты, состоящие из двух точек. ДПФ вычисляется последовательно для каждого отдельного сегмента по две точки, и результаты используются для подсчета ДПФ сегментов более высокого уровня, то есть тех, которые использовались до разбиения.
Так, последовательно вычисляя ДПФ для меньших по размеру сегментов, получается преобразование для исходного сигнала. Высокая скорость алгоритма БПФ достигается за счет того, что вычисляется преобразование меньших по сравнению с исходной последовательностью сегментов.
Доказано, что число комплексных умножений для применения такого алгоритма к последовательности из N отсчетов составит всего:
(8)
В то время как вычисление обычного ДПФ для той же последовательности потребовало количество умножений.
Видно, что для больших выборок (порядка тысячи точек и выше) преимущество в быстроте вычисления у алгоритма БПФ существенное.
Для разбиения исходной последовательности отсчетов на равные подмножества применяют два равноценных метода: прореживание по времени и прореживание по частоте.
Первый метод предполагает разбиение исходного множества в соответствии с номерами выборок (четные и нечетные).
Второй метод использует разбиение сигнала на два равных подмножества строго по середине.
Но в этом случае после проведенных вычислений возникает необходимость в правильной перестановке элементов полученного массива. Такая перестановка получила название двоичного реверсирования, так как чтобы определить правильный порядковый номер элемента в полученной последовательности, достаточно представить его индекс в двоичной форме и поменять местами биты в номере симметрично центра. Например, для 8-ми точек такая двоичная перестановка бит выглядит следующим образом:
В данном проекте принято решение о применении БПФ с прореживанием по частоте, то есть второй способ.
Базовой операцией при вычислении БПФ для двух точек А и В (в общем случае комплексных) является так называемая «бабочка».
Рисунок 5. - Операция "бабочка":
На рис. 6 коэффициент определяется по формуле (10), где N - размер исходной выборки, k - номер по порядку операции «бабочка», применяемой последовательно к множеству отсчетов, начиная с 0:
(10)
Алгоритм БПФ с прореживанием по частоте можно описать следующим образом.
1. Разбить условно выборку на два сегмента и применить операцию «бабочка» (см. рис. 6) попарно для всех элементов из первой половины и соответствующих им из второй половины, увеличивая коэффициент k (см. формулу (10)) на число 2i, где i - номер уровня разбиения сигнала на подмножества, начиная с 0.
2. Разбить каждое из полученных в п.1 множеств на две под выборки, перейдя к новому уровню.
3. Увеличить номер уровня разбиения i на 1.
4. Повторять п.п.1-3 для каждого из полученных подмножеств до тех пор, пока не будут найдены ДПФ для подмножеств, состоящих из двух точек.
5. Провести прореживание по частоте для полученного множества элементов.
Рисунок 6. - Пример БПФ с прореживанием по частоте:
Алгоритм обратного ПБФ аналогичен прямому и может быть реализован той же процедурой. Разница заключается только в том, что перед преобразованием необходимо в мнимой части каждого отсчета поменять знак на противоположный, а после преобразования разделить каждый элемент на количество отсчетов N (см. формулу 7).
3.4 Моделирование алгоритмов и проверка работоспособности
Для проверки используемых алгоритмов было создано программное обеспечение, имитирующее фильтрацию сигнала. Разработанные функции синтеза ядра фильтра и БПФ использованы в дальнейшем при написании программы фильтрации для сигнального процессора.
Тестирование алгоритмов проводилось на сгенерированной выборке сигнала, состоящего из двух синусоид с частотами 400 Гц и 32 Гц и амплитудами 0.5 и 1 соответственно. Выборка составляла 2048 отсчетов. График данного сигнала для интервала выборок с номерами 0-512 приведен на рис.8. Частота дискретизации fd при построении фильтра принималась равной 8000 Гц. Спектр этого сигнала приведен на рис.9. На этом графике хорошо видны две частоты, которые составляют сигнал.
Рисунок 7. - Исходный сигнал до фильтрации:
Ядро полосового фильтра синтезировалось для диапазона частот среза fcl=300 Гц среза fc=2000 Гц, размерность его была принята 512 точек.
После свертки с применением БПФ и наложением в отфильтрованном сигнале осталась только одна гармоническая составляющая с частотой 400 Гц (выше частоты среза fcl), а составляющая с частотой 32 Гц исчезла. Это хорошо видно из графиков, которые отображают отфильтрованный сигнал во временной области и частотной соответственно.
Рисунок 8. - Спектр исходного моделируемого сигнала:
Рисунок 9. - Импульсная характеристика высокочастотного фильтра:
Рисунок 10. - Отфильтрованный сигнал:
Рисунок 11. - Спектр отфильтрованного сигнала:
Для тестирования фильтра так же был построен его спектр. Частотная характеристика полосового фильтра приведена на рис. 13.
Рисунок 12. - Спектр ядра фильтра:
4. Разработка принципиальной схемы
4.1 Выбор элементной базы
В соответствии с заданием для реализации цифрового фильтра необходимо использовать сигнальный процессор dsPic33F фирмы Microchip. Как уже было определено ранее при анализе задания, процессор должен быть 16-разрядным, иметь последовательные порты и один параллельный, работать на высокой тактовой частоте и иметь встроенный таймер, а также достаточный объем внутренней памяти данных и программ.
Ядро dsPic33F построено по модифицируемой гарвардской архитектуре с расширенной системой команд. Микроконтроллер поддерживает выполнение специфических для алгоритмов цифровой обработке сигналов инструкций (умножение с накоплением), специальные методы адресации (модульная, бит-реверсивная). Он имеет векторную приоритетную систему прерываний, возможность отображения части программной памяти в нереализованную на кристалле область ОЗУ, знаковые вычисления с целыми числами и числами с фиксированной точкой. Карта памяти программы линейная и несегментированная. Все инструкции имеют фиксированную длину 24 бита; счётчик инструкций 23-ёх битный, младший бит всегда равен 0 для обеспечения выравнивания данных при выборке инструкций.
Ядро цифровой обработке сигналов является независимым от CPU-ядра вычислительным модулем. Умножитель позволяет выполнять знаковые и без знаковые операции с данными форма фиксированная точка. Результат инструкций DSP-ядра всегда сохраняется в один из 40-битных аккумуляторов: ACCA или ACCB. Аккумуляторы отображены в ОЗУ и могут быть доступны для любых инструкций.
Контроллер DMA выполняет аппаратную поддержку обмена данными между периферией и областью ОЗУ общего назначения. Имеет восемь однонаправленных каналов для таймеров, АЦП, ЦАП и др.
Микроконтроллер обладает векторной приоритетной системой прерываний. Каждый источник имеет собственный вектор в таблице, расположенной в программной памяти. Внутри таблицы прерывания имеют естественный приоритет: при одновременном возникновении двух прерываний приоритет имеет то, чей вектор имеет меньший адрес. Вектор представляет собой 24-битное слово программы, в котором должна быть расположена команда перехода на сервис обработчика прерываний.
В качестве преобразователя входного сигнала в цифровую форму выбран АЦП модели TC3400 той же фирмы Microchip. Это 16-разрядный последовательный АЦП с поддержкой синхронного интерфейса SPI. Максимальная частота выборки данных составляет 100 КГц, то есть позволяет получать данные с частотой 48 КГц, заданной в исходных данных к курсовому проекту. Данный АЦП имеет низкое напряжение питания и малую потребляемую мощность (максимум 1.8 мВт на полной частоте в 100 КГц). Преобразователь имеет дифференцирующий вход для обрабатываемого сигнала, что позволяет измерять разность двух потенциалов. Напряжения питания микросхемы Vcc=2,5 - 3,5В. Микросхема выполнена в корпусе типа 8 Pin SOIC с восемью выводами. Условное графическое изображение АЦП TC3400 приведено на рис. 14.
Рисунок 13. - Условное графическое обозначение TC3400:
Рисунок 14. - Условное графическое обозначение dsPic33F:
В качестве ЦАП, преобразующего результаты цифровой обработки сигнала процессором в аналоговый выход, выбрана модель MCP4901 той же фирмы Microchip. Это 16-разрядный последовательный синхронный ЦАП с поддержкой интерфейса SPI, для обеспечения нормальной работы устройства необходимы две микросхемы.
Потребляемая мощность микросхемы мала и составляет от 2 мВт при напряжении питания 5В до 1 мк/Вт в режиме пониженного энергопотребления (во время ожидания данных).
Напряжение питания составляет от 2.7 В до 5.5 В.
Время установки выходного значения составляет порядка 10 мкс. Выходной уровень определяется опорным напряжением и колеблется в диапазоне от 0 до 5 В.
Микросхема MCP4901 выполняется в корпусе типа MSOP-8 и имеет 8 выводов. Условное графическое изображение MCP4901 приведено на рис.15.
Рисунок 15. - Условное графическое обозначение MCP4901:
4.2 Построение схемы
Как уже было сказано ранее, связь АЦП и ЦАП с процессором осуществляется через последовательные порты по интерфейсу SPI. Для приема данных с АЦП выбран порт SPI1 процессора, а для передачи результат на ЦАП - порт SPI2. Интерфейс SPI предполагает трех проводную связь: по одной линии передаются побитно данные, на вторую выдается сигнал синхронизации начала приема/передачи данных, а по третьей передаются синхроимпульсы с заданной тактовой частотой. Функциональная схема порта SPI изображена на рисунке 16.
Рисунок 16. - Функциональная схема порта SPI:
Для связи с процессором АЦП использует выводы REFOUT (линия данных), SCLK (сигнал выбора микросхемы - начало обработки данных) и SDAT (линий синхроимпульсов). Так как сам процессор инициирует начало обработки очередного отсчета, то есть является ведущим устройством, то для активации АЦП использован именно выход AVss (синхроимпульс начала передачи) порта SPI1. Для выдачи импульса достаточно будет программно записать любое число в выходной регистр порта процессора. Для синхронизации выдаются синхроимпульсы с определенной частотой, устанавливаемой программно.
Для питания микросхемы АЦП на вход Vcc подается напряжение в диапазоне +2.7…+5.25В, и в качестве опорного на вход VREF подается то же напряжение. Вход нижнего потенциала сигнала -IN, так же как и вход GND, заземлен, а на вход +IN подается сигнал для фильтрации.
Связь процессора с ЦАП так же осуществляется по средством порта SLK.
Опорное напряжение ЦАП, определяющее диапазон выходного напряжения, подается на вход VREF и задается в интервале от 0 до напряжения питания микросхемы VDD, то есть 0…+5.5 В. Чтобы выходной аналоговый сигнал фильтра был в том же диапазоне, что и входной, будем подавать одинаковое опорное напряжения на АЦП и ЦАП. Питание микросхемы MCP4901 подается на вход VDD и выбирается из диапазона +2.7…+5.5 В. Для заземления микросхемы ЦАП вход GND соединяется с нулевым потенциалом. На выходе VOUT ЦАП результирующий отфильтрованный аналоговый сигнал.
Процессор dsPic33F может генерировать синхроимпульсы с помощью встроенного генератора, либо использовать внешний источник тактовой частоты. В данной работе используется внутренний генератор частоты, но для формирования синхроимпульсов определенной частоты необходимо использовать внешний кварцевый резонатор. Схема тактирования имеет четыре источника - первичный кварцевый генератор, вторичный и внутренний RS - генератор на 8 МГц и внутренний низкочастотный. Система тактирования содержит детекторы стабильности тактовой частоты, что позволяет производить автоматическое переключение на вторичный источник при перебои первого. Содержит делитель тактовой частоты, подаваемой на ядро.
Встроенный осциллятор процессора способен формировать требуемую тактовую частоту путем умножения или деления частоты резонатора на один из установленных коэффициентов. В данном проекте используется максимально возможная тактовая частота процессора 100 МГц. Чтобы сформировать такую частоту, необходимо использовать резонатор с частотой 20 МГц и установить коэффициент умножения для осциллятора равным 5. Такую настройку можно произвести программно.
Принципиальная и функциональная схемы разработанного цифрового фильтра выполнена в виде отдельного документа К2.006.207.Э3 и прилагается к данной пояснительной записке.
5. Разработка программного обеспечения
Для работы спроектированного устройства по разработанному алгоритму фильтрации сигнала необходимо написать программу, которая будет храниться в ПЗУ и реализовывать этот алгоритм. Существуют различные специализированные компиляторы, способные перевести программу с языка высокого уровня в набор машинных команд для данного процессора, избегая разработки программного обеспечения на языке Ассемблера
1. Оценка временных параметров:
Как уже было отмечено ранее, сигнальный процессор в разработанном фильтре работает на тактовой частоте fCPU_CLK=100 МГц, следовательно, один такт процессора составит:
Частота синхронизации АЦП и ЦАП установлена равной fCLKX=2 МГц. Обработка и передача 16-битового значения в АЦП и ЦАП происходит за 22 такта с момента перехода сигнала BFSX последовательного порта процессора на низкий уровень. Следовательно, полное время обработки одного отсчета составит:
Временная диаграмма для приема 16-битового значения из АЦП приведена на рис. 17. Для ЦАП диаграмма практически аналогична, за исключением других названий сигналов, имеющих тот же смысл.
Рисунок 17. - Временная диаграмма работы АЦП:
Заключение
В результате выполнения данного проекта был разработан цифровой полосовой фильтр, позволяющий осуществлять фильтрацию сигнала, дискретизированного по времени с частотой 48000 Гц.
Разработка цифрового фильтра включала выбор необходимых современных микросхем (сигнальный процессор типа Microchip, АЦП и ЦАП), их согласование между собой (построение принципиальной схемы), разработку алгоритмов фильтрации и их программную реализацию с учетом особенностей выбранных микросхем, а также анализ временных характеристик.
При разработке алгоритмов фильтрации и их программной реализации было создано тестовое приложение, моделирующее работу спроектированного фильтра, результаты обработки анализировались путем построения частотной характеристики ядра фильтра и спектров моделируемого сигнала в среде MathCad. Такое моделирование позволило прийти к выводу, что алгоритм фильтрации разработан правильно и работоспособен. цифровой сигнал ядро
В ходе выполнения проекта были закреплены знания по основам цифровой обработки сигналов и в частности по фильтрации. Изучены особенности применения современных сигнальных процессоров, АЦП и ЦАП на примере микросхем фирмы Microchip. На протяжении всего времени выполнения проекта постоянно изучалась техническая документация по использованным микросхемам, написанная преимущественно на английском языке фирмой-производителем.
Список использованной литературы
1. Стивен Смит. Научно-техническое руководство по цифровой обработке сигналов [Электронный ресурс] / Пер. с англ. фирмы «Автэкс». - С-Пб, 2001.
2. Хемминг Р.В. Цифровые фильтры. Пер. с англ. В.И. Ермишина./ Под ред. А.М. Трахтмана. - М.: «Советское радио», 1980. - 224 с.
3. Введение в цифровую фильтрацию. /Под. ред. Р. Богнера и А. Константинидиса. Пер. с англ. Л.И. Филиппова. - М.: «Мир», 1976. - 218 с.
4. Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов. Пер. с англ. И.И. Грушко. - М.: «Мир», 1989. - 220 с.
Размещено на Allbest.ru
...Подобные документы
Изучение сущности цифровой фильтрации - выделения в определенном частотном диапазоне с помощью цифровых методов полезного сигнала на фоне мешающих помех. Особенности КИХ-фильтров. Расчет цифрового фильтра. Моделирование работы цифрового фильтра в MatLab.
курсовая работа [2,0 M], добавлен 21.09.2010Построение графиков амплитудного и фазового спектров периодического сигнала. Расчет рекурсивного цифрового фильтра, цифрового спектра сигнала с помощью дискретного преобразования Фурье. Оценка спектральной плотности мощности входного и выходного сигнала.
контрольная работа [434,7 K], добавлен 10.05.2013Расчет цифрового фильтра нижних частот с конечной импульсной характеристикой. Синтез фильтра методом окна (параболического типа). Свойства фильтра: устойчивость, обеспечение совершенно линейной фазочастотной характеристики. Нахождение спектра сигнала.
курсовая работа [28,6 K], добавлен 07.07.2009Подготовка аналогового сигнала к цифровой обработке. Вычисление спектральной плотности аналогового сигнала. Специфика синтеза цифрового фильтра по заданному аналоговому фильтру-прототипу. Расчет и построение временных характеристик аналогового фильтра.
курсовая работа [3,0 M], добавлен 02.11.2011Разработка математической модели цифрового фильтра нижних частот. Структурная и электрическая принципиальная схемы системы с обоснованием выбора элементов. Время выполнения программы работы цифрового фильтра. Оценка инструментальной погрешности системы.
курсовая работа [3,3 M], добавлен 13.06.2016Расчет цифрового и аналогового фильтра-прототипа. Структурные схемы и реализационные характеристики фильтра. Синтез цифрового фильтра в системе программирования MATLAB. Частотные и импульсные характеристики цифрового фильтра, карта его нулей и полюсов.
курсовая работа [564,8 K], добавлен 24.10.2012Структурная схема цифрового фильтра. Расчет устойчивости, построение графиков. Виды свертки дискретных сигналов. Определение выходного сигнала в частотной области с помощью алгоритма "бабочка". Схема шумовой модели фильтра, мощность собственных шумов.
курсовая работа [641,3 K], добавлен 15.10.2013Аналитическое выражение передаточной функции аналогового фильтра. Построение структурной схемы реализации цифрового фильтра прямым и каноническим способами. Определение реализационных характеристик фильтра. Проверка коэффициентов передаточной функции.
курсовая работа [604,4 K], добавлен 24.10.2012Структурная схема и расчет устойчивости цифрового фильтра. Расчет X(jkw1) и H(jkw1) с помощью алгоритмов БПФ и ОБПФ. Определение мощности собственных шумов синтезируемого фильтра. Реализация заданной характеристики H(Z) на сигнальном процессоре 1813ВЕ1.
контрольная работа [144,2 K], добавлен 28.10.2011Алгоритм расчета фильтра во временной и частотной областях при помощи быстрого дискретного преобразования Фурье (БПФ) и обратного быстрого преобразования Фурье (ОБПФ). Расчет выходного сигнала и мощности собственных шумов синтезируемого фильтра.
курсовая работа [679,2 K], добавлен 26.12.2011Испытание синтезированного нерекурсивного и рекурсивного цифрового фильтра стандартными и гармоническими сигналами. Расчет реакции фильтра на четырехточечный входной сигнал. Получение системной функции и частотных характеристик цифрового фильтра.
курсовая работа [3,0 M], добавлен 19.05.2015Алгоритм, реализующий заданный тип фильтра в частотной области. Спектр входного, выходного сигнала. Спектральная (амплитудно-частотная) характеристика окна. Отклик фильтра на заданный сигнал. Двусторонний экспоненциальный радиоимпульс с несущей частотой.
курсовая работа [318,2 K], добавлен 07.07.2009Критерии классификации электрических фильтров. Проектирование фильтра в виде реактивного четырехполюсника лестничной структуры с нагрузкой на входе и выходе (фильтр Баттерворта). Данные для расчета фильтра. Допустимый разброс параметров фильтра.
курсовая работа [1,0 M], добавлен 15.01.2013Разработка общего алгоритма функционирования цифрового фильтра нижних частот. Разработка и отладка программы на языке команд микропроцессора, составление и описание электрической принципиальной схемы устройства. Быстродействие и устойчивость фильтра.
курсовая работа [860,6 K], добавлен 28.11.2010Создание компаратора и входного усилителя фильтра. Амплидно-частотная характеристика полосового фильтра. Разработка схемы преобразователя уровня и буфера. Осциллограммы моделирования работы такта преобразования гармонического сигнала в логический.
курсовая работа [1,3 M], добавлен 26.01.2016Построение схемы цифрового устройства и разработка программы, обеспечивающей работу устройства как цифрового сглаживающего фильтра. Отладка программы. Оценка быстродействия устройства. Преимущества и недостатки цифровых фильтров перед аналоговыми.
курсовая работа [526,8 K], добавлен 03.12.2010Характеристика активных фильтров, требования, предъявляемые к ним. Разработка принципиальной схемы полосового фильтра. Анализ технического задания и синтез схемы устройства. Реализация фильтра Баттерворта. Выбор элементов схемы и операционного усилителя.
курсовая работа [1,0 M], добавлен 18.12.2015Расчет характеристик фильтра во временной и частотной областях с помощью быстрого преобразования Фурье, выходного сигнала во временной и частотной областях с помощью обратного быстрого преобразования Фурье; определение мощности собственных шумов фильтра.
курсовая работа [2,8 M], добавлен 28.10.2011Разработка и описание общего алгоритма функционирования цифрового режекторного фильтра на основе микропроцессорной системы. Обоснование аппаратной части устройства. Отладка программы на языке команд микропроцессора. Расчёт быстродействия и устойчивости.
курсовая работа [266,1 K], добавлен 03.12.2010Синтез схемы полосового фильтра на интегральном операционном усилителе с многопетлевой обратной связью. Анализ амплитудно-частотной характеристики полученного устройства, формирование виртуальной модели фильтра и определение электрических параметров.
курсовая работа [1,3 M], добавлен 27.08.2010