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

Нахождение коэффициентов фильтра с помощью программного пакета 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.