
- •Лабораторная работа №1 Изучение основ работы с пакетом для математических и инженерных расчетов «matlab»
- •Методические указания к работе
- •1. Рабочее пространство системы matlab и ее командное окно
- •2. Создание дневника (протокола сеанса работы в пакете matlab)
- •3. Основы программирования в matlab
- •3.1. Создание Файл-сценарий
- •3.2. Создание м-функий
- •Порядок выполнения работы
- •Лабораторная работа №.2 Расчет низкочастотного фильтра
- •Методические указания
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа №3 Моделирование работы низкочастотного фильтра
- •Контрольные вопросы
- •Содержание отчета
Порядок выполнения работы
Используя методический материал, изучите командное окно системы «MATLAB».
Вычислите следующие математические выражения
2+3
x=pi/4
2.301*sin(x)
4+ехр(3)/5
y=8
sqrt(y)/2
sin(pi/2)
Сохранить содержание рабочего окна в файле.
Очистить рабочее пространство.
Стереть видимое содержимое рабочего пространства.
Загрузить содержимое рабочего пространства из файла.
Создать Файл-сценарий расчета трехчастотного сигнала на фоне сильного шума, создаваемого генератором случайных чисел в соответствие с таблицей 1. Щелкнув кнопку Run на панели инструментов редактора M-файлов, запустите программу. Появится график зашумленного сигнала. Записать Файл-сценарий на диск и запустить его с командной строки MATLAB.
Таблица 1
№ вар. |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
75 |
300 |
225 |
90 |
450 |
120 |
150 |
375 |
135 |
600 |
|
100 |
400 |
300 |
120 |
600 |
160 |
200 |
500 |
180 |
800 |
|
125 |
500 |
375 |
150 |
750 |
200 |
250 |
625 |
225 |
1000 |
Создать Файл-сценарий для построения графика спектральной плотности полученного сигнала с помощью прямого преобразования Фурье, переводящего временное представление сигнала в частотное, исполнить полученный Файл-сценарий из командной строки и построить спектр синтезируемого сигнала.
Создать М-функцию для расчета трехчастотного сигнала на фоне сильного шума, создаваемого генератором случайных чисел. Отладить ее и запустить из командной строки, используя в качестве входных данных данные из таб. 1
Контрольные вопросы
Из каких частей состоит главное окно системы «MATLAB»?
Какая часть главного окна называется командным окном системы «MATLAB»?
Как записать в файл содержание рабочего пространства?
Что такое строка ввода в системе «MATLAB»?
Как стереть видимое содержимое рабочего пространства?
Как создать протокол сеанса работы в пакете «MATLAB»?
Что такое Файл-сценарий. Его структура.
Содержание отчета
Цель работы.
Протокол сеанса работы с «MATLAB».
Ответы на контрольные вопросы.
График синтезируемого сигнала.
Спектр сигнала.
Лабораторная работа №.2 Расчет низкочастотного фильтра
Цель работы: освоить технологию проектирования цифровых фильтров средствами пакета «MATLAB»
Методические указания
В процессе цифровой обработки сигналов нередко возникает задача фильтрации сигнала в заданном диапазоне частот. Примером такой задачи может служить ситуация, когда сигнал содержит несколько гармоник, и необходимо выделить одну из них. Для этого необходимо спроектировать цифровой фильтр. В зависимости от расположения составляющих сигнала это может быть фильтр нижних, верхних частот, полосовой или заграждающий фильтр. Область частот в которой фильтр пропускает сигнал называется полосой пропускания,а область частот, в которой ослабление входного сигнала велико – полосой задерживания.
Рассмотрим следующий пример. Пусть имеется дискретный сигнал
,
где
,
и
- частоты составляющих сигнала,
- период дискретизации,
- частота дискретизации сигнала;
- гауссовский шум с нулевым средним и
дисперсией
.
Требуется выделить синусоидальную
составляющую с частотой
.
Для этого необходимо построить фильтр
нижних частот с граничными значениями
частот полосы пропускания
и полосы задержания
удовлетворяющих условию
.
Поскольку частота Найквиста
,
для нормализованных значений
и
это условие будет выглядеть
.
Следовательно,
переходная полоса
амплитудно-частотной
характеристики фильтра (АЧХ) не должна
превышать величину
.
Эти требования схематично показаны на
рис.1
Рис.1
Для решения поставленной задачи спроектируем нерекурсивный фильтр с полосой пропускания от 0 до 210 Гц и полосой задерживания от 980 до 4000 Гц, т.е. до частоты Найквиста. Кроме того, потребуем, чтобы АЧХ в полосе пропускания находилась в пределах [0.99, 1.01], а в полосе задерживания не превышала значения 0.0001. Для этого воспользуемся функциями пакета «MATLAB», оценивающим по заданным требованиям порядок фильтра и рассчитывающим его коэффициенты. Эти действия удобно выполнить с помощью графической программы FDAtool. Загрузим эту программу с помощью инструкции FDAtool. На экране появится панель Filter Design & Analysis Tool (рис.2)
Рис.2
Чтобы рассчитать фильтр необходимо выполнить следующие действия:
Выполнить команду меню Analysis| Filter Specifications…;
В поле Filter Type установить опцию Lowpass (фильтр нижних частот);
В поле Design Method установить опцию FIR\Equiripple (фильтр с конечной импульсной характеристикой);
В поле Filter Order установить опцию Minimum order (минимальный порядок фильтра);
В поле Frequency Specifications установить следующие опции:
Units:Hz ( Гц);
Fs: 8000 (частота дискретизации);
Fpass: 210 (верхняя частота полосы пропускания);
Fstop:980 (нижняя частота полосы задерживания);
В поле Magnitude Specifications установить опции:
Units : dB (логарифмическая АЧХ);
Apass=20*log(1.01)-20*log(0.99)=0.1737 (неравномерность АЧХ в полосе пропускания);
Astop=20*log(0.0001)=80 (ослабления в полосе задерживания).
После введения всех исходных данных необходимо нажать кнопку Design Filter.
После нажатия кнопки появится панель показанная на рис.2
Рис.3
В верхней части панели в поле Current Filter Information дается краткая информация о фильтре (тип фильтра, порядок фильтра, информация об устойчивости). В поле Magnitude Response in dB приводится график АЧХ. С помощь команд меню Analysis (рис.3) можно просмотреть основные характеристики фильтра:
Magnitude Response – АЧХ;
Phase Response – ФЧХ;
Magnitude Response and Phase Response - АЧХ и ФЧХ;
Impulse Response - импульсная характеристика фильтра;
Step Response - переходная характеристика фильтра;
Pole/zero Plot - распределение нулей и полюсов фильтра;
Filter Coefficients - коэффициенты фильтра;
Рис.4
После того как фильтр синтезирован, необходимо создать файл, в котором хранится вся информация о фильтре. Сделать это можно с помощью следующей команды меню File|Save session|Name. Для записи коэффициентов фильтра в рабочее пространство «MATLAB» необходимо воспользоваться следующей командой File|Export.
Порядок выполнения работы
В соответствие с таблицей 2.1 выбрать верхнюю границу полосы пропускания
, нижнюю границу полосы задерживания
, частоту дискретизации
, максимальноеHmax и минимальное Hmin значение АЧХ в полосе пропускания и коэффициент затухания Kзат фильтра в полосе задерживания;
Таблица 2.1
№ вар. |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
100 |
120 |
220 |
350 |
600 |
500 |
600 |
400 |
300 |
320 |
|
200 |
180 |
280 |
500 |
900 |
1500 |
1000 |
500 |
500 |
1200 |
|
8000 |
8000 |
8000 |
8000 |
8000 |
8000 |
8000 |
8000 |
8000 |
8000 |
Hmax |
1.01 |
1.01 |
1.01 |
1.01 |
1.01 |
1.01 |
1.01 |
1.01 |
1.01 |
1.01 |
Hmin |
0.99 |
0.99 |
0.99 |
0.99 |
0.99 |
0.99 |
0.99 |
0.99 |
0.99 |
0.99 |
Kзат |
0.0001 |
0.0001 |
0.0001 |
0.0001 |
0.0001 |
0.0001 |
0.0001 |
0.0001 |
0.0001 |
0.0001 |
Рассчитать частоту Найквиста
;
Рассчитать переходную полосу фильтра по формуле :
;
Рассчитать величину неравномерности АЧХ в полосе пропускания фильтра Apass=20*log(Hmax)-20*log(Hmin)
Рассчитать период дискретизации
;
Рассчитать величину затухания фильтра в полосе задерживания Astop=20*log(Kзат);
В командном окне «MATLAB» ввести команду FDAtool;
Выполнить все необходимые действия для расчета фильтра;
С помощью меню Analysis просмотреть основные характеристики фильтра:
Magnitude Response – АЧХ
Phase Response – ФЧХ
Impulse Response импульсная характеристика фильтра
Step Response переходная характеристика фильтра
Pole/zero Plot распределение нулей и полюсов фильтра
Filter Coefficients коэффициенты фильтра;
Записать коэффициентов фильтра в рабочее пространство «MATLAB» . Для этого воспользоваться следующей командой File|Export.
Создать файл, в котором хранится вся информация о фильтре. Сделать это можно с помощью следующей команды меню File|Save session|Name.
Просмотреть коэффициенты фильтра в рабочем пространстве «MATLAB», для чего в командном окне набрать команду NUM;
Записать коэффициенты фильтра в файл. Для этого необходимо набрать в командном окне следующие команды:
fid= fopen('B.dat','wt')
fprintf(fid,'%16.8f\n',Num)