夏青虫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

书上有这么一段:

x = np.sin(2*np.pi*156.25*t) + 2*np.sin(2*np.pi*234.375*t)
为什么选择这两个奇怪的频率呢?因为这两个频率的正弦波在512个取样点中正好有整数个周期。满足
这个条件波形的FFT结果能够精确地反映其频谱。
N点FFT能精确计算的频率

假设取样频率为fs, 取波形中的N个数据进行FFT变换。那么这N点数据包含整数个周期的波形时,
FFT所计算的结果是精确的。于是能精确计算的波形的周期是: n*fs/N。对于8kHz取样,512点
FFT来说,8000/512.0 = 15.625Hz,前面的156.25Hz和234.375Hz正好是其10倍和15倍。

 

对于信号x(t)=sin(2*pi*f*t)始终是周期信号,周期T可以是小数。但对于离散信号来说,离散序列x[n]=sin(w*n)=sin(2*pi*f/fs*n)

的周期N应该是一个整数,否则不再是周期序列。

具体操作:

1. 按w来计算:

    w*N = 2*pi*r,使之成立的最小整数N即是它的周期

2. 按f来计算:

    f/fs*N = r,使之成立的最小整数N是它的周期

 

而上面书中提到的很关键的一句话,只有采样整数个周期的正弦波才能求出准确的FFT,就可以理解了。

posted on 2013-04-26 13:46  夏青虫  阅读(3411)  评论(0编辑  收藏  举报