说明:
(1)main1.m以高斯信号为例,时间为[-T/2,T/2),做fft之前需要做fftshift
(2)main2.m以高斯信号为例,时间为[0,T),做fft之前不需要做fftshift
(3)为什么main1和main2一个做了fftshift,一个没有做fftshift,结果都与理论结果一致呢?这主要是因为DFT公式是以t=0时刻为第一个数值点,所以关键点是以t=0为始进行求解,因此信号时间为[-T/2,T/2)时需要做fftshift(fftshift之后第一个信号的时间就是t=0了),而信号时间为[0,T)时不用做fftshift
(4)延伸:如果信号初始时间刻为t0,则可以使用傅里叶变换的时移特性,先做信号做fft,然后乘以exp(-1iwt0)即可
matlab程序:
因为有子程序,所以不贴程序了,上传了rar包。
https://download.csdn.net/download/zhoubanlu4/13016243