Нахождение коэффициентов фильтра с помощью программного пакета MatLab. Структурная схема прямой канонической формы фильтра. Листинг программного пакета visual DSP . Построение амплитудно-частотной характеристики синтезированного фильтра, расчет графика.
Аннотация к работе
Для нахождения коэффициентов фильтра открываем программный пакет MATLAB, и в командной строке прописываем: >> fdatool Появляется окно Filter Design & Analysis Tool, которое выглядит так: Рис.1. Astop - неравномерность рабочего затухания в полосе пропускания с помощью кнопки Designe Filter под меню запускаем программу Нажатием на значок получаем коэффициенты нашего фильтра Затем нажатием на , получаем структурную, прямую каноническую схему фильтра (показано на рис.5)В ходе работы с помощью, программного пакета MATLAB и Visual DSP были получены следующие результаты: в MATLAB найдены коэффициенты фильтра, построена АЧХ цифрового фильтра прототипа (рис.2.), ФЧХ (рис.3.), ГВЗ( рис.4) и структурная схема прямой канонической формы фильтра (рис.5.); нашли H(z) и построили график (рис.6.).
План
Содержание
Введение
Практическая часть
Выводы
Список литературы
Введение
В процессе разработки цифровой аппаратуры передачи и обработки сигналов возникают задачи, для которых приходится производить громоздкие расчеты и операции над очень малыми числами (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 под меню запускаем программу
Нажатием на значок получаем коэффициенты нашего фильтра
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; /*------Таблица векторов прерываний------*/
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 Гц. фильтр амплитудный частотный