Разработка устройства цифровой обработки сигналов
Нахождение коэффициентов фильтра с помощью программного пакета MatLab. Структурная схема прямой канонической формы фильтра. Листинг программного пакета visual DSP++. Построение амплитудно-частотной характеристики синтезированного фильтра, расчет графика.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 23.04.2013 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Содержание
Введение
Практическая часть
Выводы
Список литературы
Введение
В процессе разработки цифровой аппаратуры передачи и обработки сигналов возникают задачи, для которых приходится производить громоздкие расчеты и операции над очень малыми числами (10-7), и поэтому используем ЭВМ. В данной работе используются программные пакеты MatLab и Visual DSP++, которые упрощают вычисления, построения графиков и дают точные результаты вычисления.
Практическая часть
Для нахождения коэффициентов фильтра открываем программный пакет MatLab, и в командной строке прописываем:
>> fdatool
Появляется окно Filter Design & Analysis Tool, которое выглядит так:
Рис.1. Окно Filter Design & Analysis Tool.
В появившемся окне задаём параметры фильтра и нажимаем Design Filter
Описание появившегося окна:
Response type - тип фильтра;
Designe Method - метод реализации фильтра и импульсная характеристика;
Filter order - порядок фильтра;
(Fs) - задать частоту дискретизации;
Fpass - задать граничную частоту полосы пропускания ;
Fstop - задать граничную частоту полосы задержания;
Apass - гарантированное затухание в полосе задержания
Astop - неравномерность рабочего затухания в полосе пропускания
с помощью кнопки Designe Filter под меню запускаем программу
Выводим на экран АЧХ получившегося фильтра:
Рис.2. АЧХ полученного фильтра.
Выводим ФЧХ полученного фильтра:
Рис.3. ФЧХ полученного фильтра
Выводим ГВЗ полученного фильтра:
Рис.4. ГВЗ полученного фильтра
Нажатием на значок получаем коэффициенты нашего фильтра
Numerator:
0.034368360279280495
0.10310508083784148
0.10310508083784148
0.034368360279280495
Denominator:
1
-1.5430332949796606
1.1342539034879857
-0.31627372627408118
Затем нажатием на , получаем структурную, прямую каноническую схему фильтра (показано на рис.5)
Рис.5. Структурная схема прямой канонической формы фильтра.
Что бы найти передаточную функцию цифрового фильтра H(z) воспользуемся программой Mathcad. В данной программе подставим в формулу коэффициенты полученные с помощью программы MatLab. И в данной же программе построим график АЧХ.
Рис.6.Ачх
Реализуем полученный фильтр в программном пакете Visual DSP++ на сигнальном процессоре ADSP-2181.
Запускаем программный пакет visual DSP++
Рис.7.
Главное окно visual DSP++
Будем реализовывать цифровой фильтр на сигнальном процессоре серии 21хх. Для этого во вкладке Session выбираем Select Session и из списка ADSP- 2181 Simulation.
Рис.8. Показана вкладка Session.
Для того чтобы реализовать фильтр создаем новый проект во вкладке Project New, выбираем директорию для сохранения и название проекта. В папке проекта находи файлы bix вводим туда свои коэффициенты.
В появившемся проекте добавляем в папку Source Files файл “bix” и в Linker Files “ADSP-2181.ldf” Нажимаем Build project (F7) ставим курсор на последнюю строку программы и нажимаем Run to Cursor.
Листинг программного пакета visual DSP++
************2181 Vector Add Example************/
#define n 10 /*Константа - определяет длину фильтра*/
#define z_out 0x0500 /*Константа - определяет длину реализации входного воздействия и отклика*/
section/data data1; /* В сегменте данных data1*/
VAR x_input[z_out+n] = "xin.dat"; /*Файл данных - входной сигнал*/
VAR x_output[z_out+n]; /*Массив данных - выходной сигнал*/
section/pm pm_da; /*В сегменте памяти программы*/
VAR y_input[2*n+1] = "bix.dat"; /*Файл данных - значения
импульсной характеристики*/
section/pm interrupts; /*------Таблица векторов прерываний------*/
_reset: JUMP start; nop; nop; nop; /* 0x0000: Reset vector*/
RTI; nop; nop; nop; /* 0x0004: IRQ2*/
RTI; nop; nop; nop; /* 0x0008: IRQL1*/
RTI; nop; nop; nop; /* 0x000C: IRQL0*/
RTI; nop; nop; nop; /* 0x0010: SPORT0 transmit*/
RTI; nop; nop; nop; /* 0x0014: SPORT0 receive*/
RTI; nop; nop; nop; /* 0x0018: IRQE*/
RTI; nop; nop; nop; /* 0x001C: BDMA*/
RTI; nop; nop; nop; /* 0x0020: SPORT1 transmit*/
RTI; nop; nop; nop; /* 0x0024: SPORT1 receive*/
RTI; nop; nop; nop; /* 0x0028: Timer*/
RTI; nop; nop; nop; /* 0x002C: Power down*/
section/pm program;
start: I1=x_input+n; /*В регистр I1 записывается адрес первой ячейки входных данных*/
I2=x_output; /*В регистр I2 записывается адрес первой ячейки выходных данных*/
I4=y_input; /*В регистр I4 записывается адрес первой ячейки коэффициентов фильтра*/
M0 = 1; /*Значение, на которое модифицируется регистр I0*/
M1 = -1; /*Значение, на которое модифицируется регистр I1*/
M5 = 1; /*Значение, на которое модифицируется регистр I5*/
L0 = 0; /*Длина регистра I0*/
L1 = 0; /*Длина регистра I1*/
L2 = 0; /*Длина регистра I2*/
L4 = 2*n+1; /*Длина регистра I4*/
SE = 4;
AX0 = 0;
CNTR = n; /*Указание значения счётчика*/
DO goclr UNTIL CE; /*Выполнение цикла, пока не достигнет
конца счётчик*/
goclr: DM(I2,M0) = AX0;
CNTR = z_out; /*Указание значения счётчика*/
DO go UNTIL CE; /*Выполнение цикла, пока не достигнет конца счётчик*/
I0=I1; /*В регистр I0 записывается значение регистра I1*/
CNTR = n; /*Указание значения счётчика*/
MR = 0, MX0 = DM (I0,M1), MY0 = PM( I4 , M5 ); /*Загрузка
значениями регистров умножителя с накоплением*/
DO sop1 UNTIL CE;
sop1 : MR=MR+MX0*MY0(SS), MX0=DM(I0,M1), MY0=PM(I4,M5);
/*Вычисление значения выходного отсчёта*/
MR=MR+MX0*MY0(SS);/*Округление значения выходного отсчёта*/
I0=I2; /*В регистр I0 записывается значение регистра I2*/
MX0 = DM(I0,M1);
CNTR = n-1; /*Указание значения счётчика*/
MX0 = DM(I0,M1), MY0 = PM( I4 , M5 );
DO sop2 UNTIL CE; /*Выполнение цикла, пока не достигнет конца счётчик*/
sop2 : MR=MR+MX0*MY0(SS), MX0=DM(I0,M1), MY0=PM(I4,M5);
/*Вычисление значения выходного отсчёта*/
MR=MR+MX0*MY0(SS);/*Округление значения выходного отсчёта*/
IF MV SAT MR; /*Если произошло переполнение, то производится насыщение регистра MR*/
SR = LSHIFT MR0(LO);
SR = SR OR ASHIFT MR1(HI);
DM(I2,M0)=SR1; /*В память данных записывается вычисленное
значение*/
go: MODIFY(I1,M0); /*Изменение значения регистра I1 на значение М0 без считывания данных*/
IDLE; /*Переход в режим пониженной мощности*/
Чтобы посмотреть входной и выходной сигнал нужно открыть вкладку View, далее Debug, Windows, Plot, New. (показано на рис.9)
Рис.9. Окно Plot Configuration.
В поле Title указываем название графика
В поле Name вводим название характеристики
Во вкладке Address выбираем необходимое значение.
Параметр Count определяет длину отсчета;
Нажимаем Add, OK.
Получаем входной и выходной сигнал реализованного фильтра.
Рис.10. Сигнал на входе фильтра
Для того чтобы построить АЧХ синтезированного фильтра, мы изменяем частоту от 500 Гц до fB=5000 Гц с интервалом в 500 Гц и в итоге получаем 10 графиков входных и выходных сигналов.
Рис.11. Сигнал на выходе фильтра
Выводы
В ходе работы с помощью, программного пакета MatLab и Visual DSP++ были получены следующие результаты: в MatLab найдены коэффициенты фильтра, построена АЧХ цифрового фильтра прототипа (рис.2.), ФЧХ (рис.3.), ГВЗ( рис.4) и структурная схема прямой канонической формы фильтра (рис.5.); нашли H(z) и построили график (рис.6.). В Visual DSP++ реализован цифровой фильтр на сигнальном процессоре серии ADSP- 2181, а именно: листинг программного пакета Visual DSP++, получен сигнал на входе(рис.10.) и выходе фильтра(рис.11) при изменении частоты в полосе от 500 Гц до fB=5000 Гц с интервалом в 500 Гц.
фильтр амплитудный частотный
Список литературы
Цифровая обработка сигналов/ А.Б.Сергиенко - СПб.: Питер, 2002 - 608 с.
Начала программирования в среде MatLAB/ Ю.Ф.Лазарев, учебное пособие. - К.: НТУУ «КПИ», 2003. - 424 с.
Цифровая обработка сигналов. Вып.1. Теоретические основы цифровой обработки сигналов/ Гадзиковский В.И. -- Екб.: ГОУ ВПО УГТУ - УПИ, 2003. -- 344с.
Конспект лекций по дисциплине «Цифровая обработка сигналов и сигнальные процессоры в ССПО»
Размещено на www.allbest.
Подобные документы
Структурная схема цифрового фильтра. Расчет устойчивости, построение графиков. Виды свертки дискретных сигналов. Определение выходного сигнала в частотной области с помощью алгоритма "бабочка". Схема шумовой модели фильтра, мощность собственных шумов.
курсовая работа [641,3 K], добавлен 15.10.2013Реализация КИХ и БИХ фильтра на процессоре TMS320C50. Блок-схема алгоритма программы, командные файлы компоновки и программного имитатора. Расчет максимально возможной частоты дискретизации. Расчет и результаты фильтра с помощью пакета Filter Design.
курсовая работа [1,3 M], добавлен 26.05.2014Расчет цифрового и аналогового фильтра-прототипа. Структурные схемы и реализационные характеристики фильтра. Синтез цифрового фильтра в системе программирования MATLAB. Частотные и импульсные характеристики цифрового фильтра, карта его нулей и полюсов.
курсовая работа [564,8 K], добавлен 24.10.2012Понятие фильтра-прототипа как фильтра низкой частоты с нормированной по частоте и амплитуде амплитудно-частотной характеристики. Определение основных параметров данного устройства. Функции преобразования математических моделей в программе MatLab.
реферат [225,7 K], добавлен 21.08.2015Аппроксимация амплитудно-частотной характеристики фильтра. Определение передаточной функции фильтра нижних частот в области комплексной частоты. Схемотехническое проектирование устройства и его конструкторская реализация в виде узла с печатным монтажом.
курсовая работа [330,8 K], добавлен 09.06.2015Обратное z-преобразование, метод степенных рядов. Оценка частотной характеристики, разностное уравнение. Ошибки квантования коэффициентов. Нахождение импульсной характеристики методом разложения в степенной ряд. Нахождение масштабных множителей фильтра.
контрольная работа [1,2 M], добавлен 07.06.2013Синтез схемы полосового фильтра на интегральном операционном усилителе с многопетлевой обратной связью. Анализ амплитудно-частотной характеристики полученного устройства, формирование виртуальной модели фильтра и определение электрических параметров.
курсовая работа [1,3 M], добавлен 27.08.2010Структурная схема и расчет устойчивости цифрового фильтра. Расчет X(jkw1) и H(jkw1) с помощью алгоритмов БПФ и ОБПФ. Определение мощности собственных шумов синтезируемого фильтра. Реализация заданной характеристики H(Z) на сигнальном процессоре 1813ВЕ1.
контрольная работа [144,2 K], добавлен 28.10.2011Изучение методов цифровой фильтрации в обработке сигналов. Исследование способов синтеза бесконечной импульсной характеристики приборов для очищения жидкостей процеживанием. Особенность имитирования фильтров нижних частот в программной среде Matlab.
дипломная работа [1,1 M], добавлен 20.05.2017Разработка и обоснование общего алгоритма функционирования устройства. Выбор однокристального микропроцессора повышенной производительности. Написание управляющей программы на языке микропроцессора. Расчет амплитудно-частотной характеристики фильтра.
курсовая работа [113,8 K], добавлен 04.12.2010