- •Лабораторная работа 1
- •Теоретические сведения. Дискретные сигналы в Matlab и Simulink Вводные замечания
- •Моделирование дискретных сигналов в Matlab
- •Xlabel('ВремЯ, с'); ylabel('Уровень'); % надписи вдоль осей
- •Xlabel('ВремЯ, с'); ylabel('Уровень'); % надписи вдоль осей
- •Xlabel('ВремЯ, с'); ylabel('Уровень'); % надписи вдоль осей
- •Моделирование дискретных сигналов в Simulink
Моделирование дискретных сигналов в 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('Непрерывный сигнал') % заголовок