如何用matlab实现矩形脉冲信号的傅里叶变换

问题描述:

如何用matlab实现矩形脉冲信号的傅里叶变换
傅立叶变换不能直接用指令,要自己做出来的.

首先 产生矩形脉冲信号,可以使用 rectpuls(t,w) 函数产生一个幅值为1,以t=0为中心对称,半宽度为w/2的矩形脉冲
然后 傅里叶变换 是用 fft() 命令的.如果要得到频谱的话还要再处理一下,具体就不多说了,给个程序样例:
t=-20:20;
w=10;
y=rectpuls(t,w); %矩形脉冲信号
yy=fft(y);
N=size(y);
N=N(2);
fy=abs(fft(y))/N*2; %频谱
subplot(2,1,1)
plot(y);
subplot(2,1,2)
plot(fy);
挺粗糙的,最后得到的两个图分别是方波脉冲和频谱图.
顺带一提:
1) 三角波是tripuls(t,w);
2) 矩形波也可以通过ones()和zeros生成一个信号矩阵
3) 具体的函数使用和参数规则请参阅help “command”
4) 其实这些用simulink做,里面都有现成的模块.这样倒是很简洁,但也不容易看懂