在matlab中创建正方形/三角形/锯齿形和正常正弦形

时间:2016-07-14 14:37:40

标签: matlab

我正在尝试制造一些罪(2x)2000HZ,方波1000hz,三角波1000赫兹,锯齿1000赫兹。每张图的点数应为62000。

这是一个好的开始吗?由于某种原因,没有创建y2,y3,y4 ..

t = 0:0.001:0.62; % Sampling frequency 6.2kHz
y1=sin(2*pi*2000*t);
y2 =square(2*pi*1000*t);
y3= sawtooth(2*pi*1000*t);
y4= sawtooth(2*pi*1000*t,1/2); %triangle

更新

t = 0:0.001:0.62; % Sampling frequency 6.2kHz

y1 = sin(2000*t);
y2 = square(1000*t);
y3 = sawtooth(1000*t);
y4= 10 * sawtooth(1000*t ,0.5) + 5;

2 个答案:

答案 0 :(得分:2)

方形和锯齿功能需要信号处理工具箱。 所以你也可以创建自己的函数:

t = 0:0.1:8*pi;

y1 = sin(t);
y2 = square(t);
y3 = sawtooth(t);

使用square.m:

function y = square(x)

inp = sin(x) >= 0;
y(~inp) = -1;
y(inp) = 1;

end

使用sawtooth.m

function y = sawtooth(x)

y = ((mod(x,2*pi)/(pi*2))*2)-1;

end

<强>结果:

subplot

答案 1 :(得分:0)

squaresawtooth个函数需要Signal Processing Toolbox

两条第一行正确生成正弦信号。