Сигнал представляется в виде математического соотношения, в котором устанавливается связь между переменной, которой сопоставлено свойство сигнал, и конечным набором других переменных (свойств), которые называются параметры сигнала. Например, в непрерывном гармоническом колебании параметрами сигнала могут быть амплитуда , циклическая частота и начальная фаза .
При моделировании такого сигнала в системе MATLAB как некоторого объекта, устанавливающего непрерывную связь между параметрами сигнала и его значением, можно использовать следующие варианты:
1. Представление сигнала в виде команды в командной строке. Сначала в рабочее пространство вносятся фиксированные значения параметров:
Uo = 1;
f = 10;
theta = 0;
далее задаётся набор точек, в которых (или которой) сигнал должен быть вычислен:
t = 0:0.01:1;
а потом по команде
xt = Uo*sin(2*pi*f*t+theta);
в рабочем пространстве появляется соответствующий набор значений сигнала.
2. Представление сигнала в виде строки. Если заданы параметры сигнала, т.е. все переменные в его аналитическом выражении, то это выражение можно записать сначала в форме строки
|
|
s = 'Uo*sin(2*pi*f*t+theta)';
а затем вычислять одно или несколько его значений с помощью
m- функции eval:
xs = eval(s);
3. Представление сигнала в виде встроенной строки. Такое представление – нечто среднее между представлением сигнала просто строкой и m- функцией, поскольку в этом случае при вычислении сигнала его параметры можно задавать как входные переменные. Сначала записывается встроенная строка (inline-объект)
y = inline('sin(2*pi*f*t + theta)','t', 'f', 'theta')
результат выполнения которой отображается в виде формы обращения к функции:
Inline function: y(t,f,theta) = sin(2*pi*f*t + theta)
Значения сигнала определяются при выполнении команды обращения, например,
xg = y(t, f, 0);
4. Представление сигнала в виде m- функции. Это наиболее универсальный и часто используемый вид задания сигналов. Поскольку в системе MATLAB можно использовать переменное количество входных (nargin) и выходных (nargout) параметров, то некоторые из них могут при вызове m- функции опускаться:
function y = sinf(t,f,theta)
% y = sinf(t,f,theta)
% y = sinf(2*pi*f*t + theta)
if nargin = = 3
y = sinf(2*pi*f*t + theta);
elseif nargin = = 2
y = sinf(2*pi*f*t);
end
Вычисление значений сигнала для заданного набора параметров выполняется по команде
xf = sinf(t, f, theta);
или, например, по команде
xf = sinf(t, 10);