fm=20000,我以 65000 Hz 对以下信号进行采样:
x=0.5*sin(2*pi*(fm-2500)*t)+0.6*sin(2*pi*(fm-1250)*t*1.05)+0.7*sin(2*pi*fm*t*1.1)+0.8*sin(2*pi*(fm+1250)*t*1.15)+0.9*sin(2*pi*(fm+2500)*t*1.2);
并且看频谱并不像它应该看起来的那样。请查收附件。它也有代码和结果。
fm=20000,我以 65000 Hz 对以下信号进行采样:
x=0.5*sin(2*pi*(fm-2500)*t)+0.6*sin(2*pi*(fm-1250)*t*1.05)+0.7*sin(2*pi*fm*t*1.1)+0.8*sin(2*pi*(fm+1250)*t*1.15)+0.9*sin(2*pi*(fm+2500)*t*1.2);
并且看频谱并不像它应该看起来的那样。请查收附件。它也有代码和结果。
您看到的效果与锯齿无关。首先,由于频谱泄漏,频谱的最大值不能准确地反映正弦波的幅度。其次,请注意 DFT(由 FFT 实现)仅对信号的实际频谱(离散时间傅里叶变换,DTFT)进行采样。根据您示例中采样频率的选择,实际频谱 (DTFT) 和 DFT 的采样点的位置相对于彼此偏移,并且不能保证 DFT 的样本发生在(或接近to) 实际频谱的最大值。
您将通过将 t 设置为:
t=0:1/fs:1-(1/fs)
就像你有 65K 样本而不是 65K+1。