首先要通过傅里叶变换算出来正余弦波的系数
matlab的代码如下:
t = (0:9999)*0.001; %扫描时间
i=0;
y=0;
q=0.2;
w=2*pi;
for i=1:1:100
ak=q*sin(q*i*pi)/(q*i*pi);
y=y+ak.*cos(i*w*t);
end
figure(1);
plot(t,y);
做出来的波形就像下面这样,这里我q定义的是tao/T(也就是占空比)。
下面的q也是这个意思
三角波代码如下:
t = (0:9999)*0.001; %扫描时间
i=0;
y=0;
q=0.2;
w=2*pi;
for i=1:2:100
ak=4/(pi*i*i*pi);
y=y+ak.*cos(i*w*t);
end
figure(1);
axis([-10 10 -10 10]);
plot(t,y);
运行的代码就是这样