Matlab实现DFT

MATLAB 傅里叶变换: 
  傅立叶变换的分类: 
傅立叶级数:将周期性连续函数变换为离散频率点上的函数 
傅立叶变换:将连续函数变换为连续频率的函数 
离散时间傅立叶变换:将离散函数变换为连续频率的函数 
离散傅立叶变换:将有限长离散函数变换为离散频率点上的函数 
其中FFT是离散傅立叶变换的快速计算方法,适用于离散信号,并且注意变换后的点数与信号的采样点数一致。尽管可以将信号补0,但补0不能提高频域的分辨率。matlab中提供了函数fft做一维的FFT。

  时域谱和频域谱是相互对应;时域的信号长度,决定频域的采样间隔,它们成导数关系; 
  时域中信号有N点,每点间隔dt,所以时域信号长度为N*dt;那么频谱每点的间隔F就是1/(N*dt)。(注:这里的采样间隔F=1/(N*dt)=Ws/N称为频谱分辨率,表示对x(n)在一个频谱周期内的N点等间隔采样) 
  傅立叶变换结果和原来信号有相同的点数,所以m=N,又第一点一定对应0频率,所以频域信号的很坐标就是(0:m-1)/(N*dt),这句就是根据这个很坐标和频谱c,画出频谱plot((0:m-1)/(N*dt),c),所以在频谱图上,可以根据峰值的位置的横坐标读出对应的频率。 
 

猜你喜欢

转载自my.oschina.net/u/2963604/blog/2961669
dft