Занятие № моделирование дискретных сигналов в matlab и simulink


Генерирование сигналов путем создания m-функции


Download 175.92 Kb.
bet4/6
Sana04.04.2023
Hajmi175.92 Kb.
#1328571
TuriЗанятие
1   2   3   4   5   6
Bog'liq
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ №1

Генерирование сигналов путем создания m-функции. Данный способ отличается тем, что входные данные записывают как аргумент некоей функции , а выходные – как значение этой функции. Удобство в том, что символьные обозначения данных могут отличаться от обозначений, используемых в теле функции. Более того, числовые значения входных данных можно просто задавать в наименовании вызываемой функции. Очевидно, обозначения входных и выходных данных вызывающей программы должны совпадать с обозначениями соответствующих данных вызываемой подпрограммы.
Теперь поступим по-иному – напишем и сохраним m-функцию под именем ton_sig.m:
Для этого в редакторe Editor создайте новую функцию, выбрав «File» => «New» => «Functon».
Введите следующий код
function [t z]=Signal_Discret(A,Fs,Phi,Nperiod,Np)
% функция, возврашающая значения
% моменты времени, в которые вычислены
% значения дискретного сигнала, и
% соответствующие значения дискретного сигнала
% A - амплитуда сигнала
% Fs - частота сигнала
% Phi - начальная фаза сигнала
% Nperiod - количество периодов сигнала,
% используемых для анализа
% Np - количество точек на один период сигнала
Ts=(1/Fs)*Nperiod; % длительность анализируемого сигнала
Td=Ts/(Nperiod*Np); % вычисление периода дискретизации сигнала
t=0:Td:Ts; % задание моментов времени,
% в которые вычисляются значения
% дискретного сигнала
z=Signal(A,Fs,Phi,t);

function z=Signal(A,Fs,Phi,t)


% A - амплитуда сигнала
% Fs - частота сигнала
% Phi - начальная фаза сигнала
% t - вектор, содержащий значения
% моментов времени, в которые вычисляются
% значения сигнала
z=A*sin(2*pi*Fs*t+Phi);
end
end
Сохраните функцию в вашу папку с именем Signal_Discret.m
В окне программы MATLAB (!!!не редактора!!!) задайте следующие параметры сигнала



Теперь вызовем функцию Signal_Discret.m
% Наберите
[t z]=Signal_Discret(A,Fs,Phi,Nperiod,Np)
% Постройте график сигнала
plot(t,z,t,z,'o')

Как видим, теперь числовые значения входных данных задаются как аргументы m-функции Выходные данные функции используются для построения графика.


Очевидно, применение m-функций выгодно тогда, когда алгоритм формирования значений функции достаточно сложный: содержится много команд и обращений к разнообразным библиотечным функциям с непростым синтаксисом.
Очевиден и недостаток m-функций – необходимо помнить их синтаксис. Впрочем, получить нужную информацию можно, если в командном окне задать команду help:

Download 175.92 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling