yangzj 发表于 2007-1-20 21:48

N点数据隔D点采样后怎么能有NFFT个点呢?
少了的点你是怎么补上的呢

Aprilgogo 发表于 2007-1-21 09:14

这个...我是用fft直接补0算的...

这样Nfft条谱线和频率就应该不对应了。

改为D*Nfft=N后出来的效果是下面这样,两条谱线的幅度不一样,而且2002Hz两边的频谱泄露比较大。

按文章中说应该是N=D*Nfft+2M+1个样本点。可是用fir1函数构造滤波器并用filter函数滤波的话,我实在不知道那2M+1个样本点该怎么用。

Aprilgogo 发表于 2007-1-21 19:35

原帖由 Aprilgogo 于 2007-1-21 09:14 发表

改为D*Nfft=N后出来的效果是下面这样,两条谱线的幅度不一样,而且2002Hz两边的频谱泄露比较大。



上面的图使用的参数是:N=2^16,D=2^6,Nfft=2^10,且N=D*Nfft. 采样频率为8000Hz。

实际计算可以得到,频率为2000Hz的分量对应于k=2^8的点,即:


         2*pi*2000/8000 = 2*pi*k/Nfft
         ==>>   k = 2^8,是整数


因此,画出来的图中2000Hz的两边是没有“频谱泄露”的。而2002Hz的分量因为对应的k不是整数,所以频率两边有因为泄露而出现波纹。

实际上,即使信号是单一频率,但加窗之后由于窗函数主瓣旁瓣的影响总会出现一定的“频谱泄露”。也就是说,看起来很“干净”的2000Hz分量其实并不真实,反而很“难看”的2002Hz分量代表了真实的信号频谱。

不知这样解释是否正确?

yangzj 发表于 2007-1-21 19:48

因此,画出来的图中2000Hz的两边是没有“频谱泄露”的。而2002Hz的分量因为对应的k不是整数,所以频率两边有因为泄露而出现波纹。

这是对的.


实际上,即使信号是单一频率,但加窗之后由于窗函数主瓣旁瓣的影响总会出现一定的“频谱泄露”。也就是说,看起来很“干净”的2000Hz分量其实并不真实,反而很“难看”的2002Hz分量代表了真实的信号频谱。

所谓的"频谱泄露"就是指的K不是整数而出现的旁瓣,所以2002Hz那里就是频谱泄露了,而且没有发生频谱泄露的2000Hz受到了2002泄露的影响.所以泄露的危害就是既使得自身的幅值、频率和相位不准确,同时影响到了相邻的成分(对太远的成分的影响就可忽略不计了)
页: 1 [2]
查看完整版本: 多级复解析滤波器问题