Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кусайкин Д.В / ЦОС заочникам / Лабораторная работа _1.doc
Скачиваний:
70
Добавлен:
11.04.2015
Размер:
221.18 Кб
Скачать

Моделирование дискретных сигналов в Matlab

Генерировать сигналы в Matlabможно тремя способами:

  • в диалоговом режиме, с помощью последовательности команд в командном окне;

  • в автоматическом режиме, путем создания и запуска на выполнение m-скрипта;

  • в автоматическом режиме, путем создания и вызова m-функции.

Задание 1. Генерирование сигналов в диалоговом режиме.Этот способ наиболее трудоемок, поскольку требует каждую команду набирать с клавиатуры в командном окне. Чтобы повысить производительность труда, можно всю последовательность команд предварительно набрать в любом текстовом редакторе (обычно этоNotebookилиWord), а затем, скопировав текст, вставить его в командное окно. Недостаток этого способа в том, что необходимо одновременно держать активными две программы –Matlabи текстовый редактор. Достоинство данного способа проявляется тогда, когда работу вMatlabпроизводят, следуя некоей инструкции, в которой теоретические сведения чередуются с практическими заданиями в виде фрагментов текстовm-скриптов. Такой стиль работы типичен, например, при проведении лабораторных работ.

Например, так выглядит в текстовом редакторе последовательность команд генерирования Nотсчетов тонального сигнала амплитудойA, частотойf0, начальной фазойFi0, с частотой дискретизацииfs:

______________________________________________________________________

Код 1:

% гармонический сигнал

A=1; f0=100; Fi0=pi/2; fs=2000; N=40; % параметры сигнала

t=(0:N-1)/fs; % моменты времени

s=2+A*sin(2*pi*f0*t+Fi0); % вычисление отсчетов сигнала

plot(t,s,t(1:9:N-1),s(1:9:N-1),'o','color', 'r') % вывод графика

title('Непрерывный сигнал') % заголовок

Xlabel('ВремЯ, с'); ylabel('Уровень'); % надписи вдоль осей

grid on % координатнаЯ сетка

figure

plot(t,s,'o')

title('Дискретный сигнал') % заголовок

Xlabel('ВремЯ, с'); ylabel('Уровень'); % надписи вдоль осей

grid on % координатнаЯ сетка

__________________________________________________________________________

Введите в MATLAB данный код, проанализируйте смысл каждой команды и зарисуйте полученный график. Посчитайте, сколько отсчетов на одном периоде сигнала.

Задание 2. Генерирование сигналов путем создания m-скрипта. Данный способ отличается тем, что все команды набираются в специальном окне редактораm-файлов (рис.2). Откройте редакторm-файлов, для этого в верхнем меню «Desktop» выберете «Editor». В меню редактора, создайте новый скрипт, выбрав «File» => «New» => «Script».

Рисунок 2

На рабочем столе создайте папку с названием вышей группы.

Введите в созданное окно Код 2.

____________________________________________________________

Код 2:

% гармонический сигнал

A=1; f0=100; Fi0=pi/2; fs=2000; N=40; % параметры сигнала

t=(0:N-1)/fs; % моменты времени

s=2+A*sin(2*pi*f0*t+Fi0); % вычисление отсчетов сигнала

plot(t,s,t(3:4:N-1),s(3:4:N-1),'o','color', 'r') % вывод графика

title('Непрерывный сигнал') % заголовок