logo
Передача цифрового сигнала

Формирование сигнала

Схема генерации входного сигнала изображена на рисунке 1.

Рисунок 1 - Входной сигнал.

Согласно задания, мы должны получить треугольнообразный сигнал вида:

Таким образом, амплитуда сигнала равна 4, т.е. кривая сигнала равномерно возрастает (коэффициент 0,3) на величину равную 4, а затем равномерно падает (коэффициент - 0,6) на эту же величину. Определим период сигнала:

Настройки блока Constant (определяет период) показаны на рисунке 2.

Рисунок 2 - Настройка блока Constant.

Блок Constant1 определяет коэффициент участка возрастания сигнала, его "constant value" равно 0,3. Блок Constant2 определяет коэффициент участка убывания сигнала, его "constant value" равно - 0,6.

Блок Switch реализует переключение между участком возрастания и убывания. Так как генерируется сигнал поочередно убывающий и возрастающий, то при условии "u2>=Threshold" Threshold должен быть равен 40/6 (диапазон участка убывания). Настройки блока Switch приведены на рисунке 3.

Рисунок 3 - Настройка блока Switch.

Для построение сигнала в диапазоне [-1; 3] необходимо использовать блок Fcn1 со значением параметра "expression", равным u+3. В результате получаем требуемый сигнал.

Рисунок 4 - График сгенерированного сигнала.

Данный сигнал можно сгенерировать, используя блок MATLAB Fcn и функцию:

function result=buildOfSignal(time)

global move;

global sdvig;

if time<2

sdvig=0;

move=1;

end;

if move==2

if (time-1-sdvig) *0.3-1<3

result=(time-1-sdvig) *0.3-1;

else

move=2;

sdvig=time;

%result=-0.6*(time-1-sdvig) +3;

result=3;

end;

else

if - 0.6*(time-1-sdvig) +3>-1

result=-0.6*(time-1-sdvig) +3;

else

move=1;

sdvig=time;

%result=(time-1-sdvig) *0.3-1;

result=-1;

end;

end;