2016-07-14 422 views
0

我试图创建一些罪恶(2x)2000HZ,方波1000hz,三角波1000 hz,锯齿1000 hz。每张图的点数应该是62000.在matlab中创建正方形/三角形/锯齿和正常正弦

这是一个好的开始吗?出于某种原因,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; 
+1

您是否收到一个错误,防止代码达到'y2','y3'和'y4'? – Suever

+0

尝试执行SCRIPT平方作为函数: C:\ Users \ Bogdan Bagdasar \ Documents \ MATLAB \ square.m Error in square(line 3) y2 = square(2 * pi * 1000 * t); – bogdanb

+0

@bogdanb你的错误表明你在当前路径中有一个名为'square.m'的脚本。尝试将此脚本重命名为其他不是MATLAB函数名称的其他名称。 – beaker

回答

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

+0

非常感谢。我如何设置频率和点数?另外我该如何使锯齿输出对称/等腰三角形? – bogdanb

+0

我不明白你的问题,不要改变你以前的代码,保持相同的采样率和相同的基本频率,你就完成了。 – obchardon

+0

检查我上面的原始帖子上的更新。这可以吗? – bogdanb

0

squaresawtooth功能需要Signal Processing Toolbox

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

+0

这些可以在没有工具箱的情况下生成吗? – bogdanb

+0

接下来的3行会出现什么问题? – bogdanb

+0

没有错,但你必须检查你是否安装了工具箱。否则,您可以创建自己的函数来生成此信号。 –

相关问题