Разработка устройства цифровой обработки сигналов

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,05 Мб
  • Опубликовано:
    2013-04-23
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка устройства цифровой обработки сигналов

Содержание

Введение

Практическая часть

Выводы

Список литературы

Введение

В процессе разработки цифровой аппаратуры передачи и обработки сигналов возникают задачи, для которых приходится производить громоздкие расчеты и операции над очень малыми числами (10-7), и поэтому используем ЭВМ. В данной работе используются программные пакеты MatLab и Visual DSP++, которые упрощают вычисления, построения графиков и дают точные результаты вычисления.

Практическая часть

Для нахождения коэффициентов фильтра открываем программный пакет MatLab, и в командной строке прописываем:

>> fdatool

Появляется окно Filter Design & Analysis Tool, которое выглядит так:

Рис.1. Окно Filter Design & Analysis Tool.

В появившемся окне задаём параметры фильтра и нажимаем Design Filter

Описание появившегося окна:type - тип фильтра;Method - метод реализации фильтра и импульсная характеристика;order - порядок фильтра;

(Fs) - задать частоту дискретизации; - задать граничную частоту полосы пропускания ;- задать граничную частоту полосы задержания;- гарантированное затухание в полосе задержания- неравномерность рабочего затухания в полосе пропускания

с помощью кнопки Designe Filter под меню запускаем программу

Выводим на экран АЧХ получившегося фильтра:

Рис.2. АЧХ полученного фильтра.

Выводим ФЧХ полученного фильтра:

Рис.3. ФЧХ полученного фильтра

Выводим ГВЗ полученного фильтра:

Рис.4. ГВЗ полученного фильтра

Нажатием на значок получаем коэффициенты нашего фильтра :

.034368360279280495

.10310508083784148

.10310508083784148

.034368360279280495

:

.5430332949796606

.1342539034879857

.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*/       x_input[z_out+n] = "xin.dat"; /*Файл данных - входной сигнал*/

VAR x_output[z_out+n]; /*Массив данных - выходной сигнал*/

/pm   pm_da; /*В сегменте памяти программы*/     y_input[2*n+1] = "bix.dat"; /*Файл данных - значения

импульсной характеристики*/

section/pm interrupts;            /*------Таблица векторов прерываний------*/

_reset: JUMP start; nop; nop; nop;          /* 0x0000: Reset vector*/; nop; nop; nop;                            /* 0x0004: IRQ2*/; nop; nop; nop;                    /* 0x0008: IRQL1*/; nop; nop; nop;                      /* 0x000C: IRQL0*/; nop; nop; nop;                           /* 0x0010: SPORT0 transmit*/; nop; nop; nop;                            /* 0x0014: SPORT0 receive*/; nop; nop; nop;                     /* 0x0018: IRQE*/; nop; nop; nop;                    /* 0x001C: BDMA*/; nop; nop; nop;                      /* 0x0020: SPORT1 transmit*/; nop; nop; nop;                   /* 0x0024: SPORT1 receive*/; nop; nop; nop;                     /* 0x0028: Timer*/; nop; nop; nop;                   /* 0x002C: Power down*/

/pm program;

start: I1=x_input+n;     /*В регистр I1 записывается адрес первой ячейки входных данных*/=x_output; /*В регистр I2 записывается адрес первой ячейки выходных данных*/=y_input;       /*В регистр I4 записывается адрес первой ячейки  коэффициентов фильтра*/= 1; /*Значение, на которое модифицируется регистр I0*/= -1; /*Значение, на которое модифицируется регистр I1*/= 1; /*Значение, на которое модифицируется регистр I5*/= 0; /*Длина регистра I0*/= 0; /*Длина регистра I1*/= 0; /*Длина регистра I2*/= 2*n+1; /*Длина регистра I4*/= 4;= 0;= n; /*Указание значения счётчика*/   goclr         UNTIL       CE; /*Выполнение цикла, пока не достигнет

конца счётчик*/

goclr: DM(I2,M0) = AX0;= z_out; /*Указание значения счётчика*/go UNTIL CE; /*Выполнение цикла, пока не достигнет конца счётчик*/=I1; /*В регистр I0 записывается значение регистра I1*/= n; /*Указание значения счётчика*/

MR = 0, MX0 = DM (I0,M1), MY0 = PM( I4 , M5 ); /*Загрузка

значениями регистров умножителя с накоплением*/

DO sop1 UNTIL CE;:   MR=MR+MX0*MY0(SS), MX0=DM(I0,M1), MY0=PM(I4,M5);

/*Вычисление значения выходного отсчёта*/  =MR+MX0*MY0(SS);/*Округление значения выходного отсчёта*/=I2; /*В регистр I0 записывается значение регистра I2*/= DM(I0,M1);= n-1; /*Указание значения счётчика*/

MX0 = DM(I0,M1), MY0 = PM( I4 , M5 );

sop2 :         MR=MR+MX0*MY0(SS), MX0=DM(I0,M1), MY0=PM(I4,M5);

/*Вычисление значения выходного отсчёта*/=MR+MX0*MY0(SS);/*Округление значения выходного отсчёта*/MV SAT MR; /*Если произошло переполнение, то производится насыщение регистра MR*/

SR = LSHIFT MR0(LO);= SR OR ASHIFT MR1(HI);

DM(I2,M0)=SR1; /*В память данных записывается вычисленное

значение*/

go:     MODIFY(I1,M0); /*Изменение значения регистра I1 на значение М0 без считывания данных*/; /*Переход в режим пониженной мощности*/

Чтобы посмотреть входной и выходной сигнал нужно открыть вкладку 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с.

Конспект лекций по дисциплине «Цифровая обработка сигналов и сигнальные процессоры в ССПО»

Похожие работы на - Разработка устройства цифровой обработки сигналов

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!