少了的点你是怎么补上的呢 这个...我是用fft直接补0算的...
这样Nfft条谱线和频率就应该不对应了。
改为D*Nfft=N后出来的效果是下面这样,两条谱线的幅度不一样,而且2002Hz两边的频谱泄露比较大。
按文章中说应该是N=D*Nfft+2M+1个样本点。可是用fir1函数构造滤波器并用filter函数滤波的话,我实在不知道那2M+1个样本点该怎么用。 原帖由 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分量代表了真实的信号频谱。
不知这样解释是否正确? 因此,画出来的图中2000Hz的两边是没有“频谱泄露”的。而2002Hz的分量因为对应的k不是整数,所以频率两边有因为泄露而出现波纹。
这是对的.
实际上,即使信号是单一频率,但加窗之后由于窗函数主瓣旁瓣的影响总会出现一定的“频谱泄露”。也就是说,看起来很“干净”的2000Hz分量其实并不真实,反而很“难看”的2002Hz分量代表了真实的信号频谱。
所谓的"频谱泄露"就是指的K不是整数而出现的旁瓣,所以2002Hz那里就是频谱泄露了,而且没有发生频谱泄露的2000Hz受到了2002泄露的影响.所以泄露的危害就是既使得自身的幅值、频率和相位不准确,同时影响到了相邻的成分(对太远的成分的影响就可忽略不计了)
页:
1
[2]