巴特利特傅里叶变换有奇怪的峰
bartlett fourier transform has strange peaks
我正在尝试以 dB 比例计算和绘制 bartlett window 的 DTFT,但出现了奇怪的峰而不是圆形峰。我首先计算 window 的 DTFT 变换,我还移动了 DTFT 和频率,我计算了 DTFT 的绝对值,并对移动后的 DTFT 的值进行归一化,但是奇怪的 shapes/peaks 出现了在下图中。我知道 bartlett window 的 DTFT 更平滑。我做错了什么吗?
N = 100
lobeWidth = 1 / fo
# creating the barlett window
bartlett = windows.bartlett(N, sym = True)
plt.plot(bartlett)
plt.show()
bartlett_fft = np.fft.fft(bartlett)
bartlett_freq = freq(bartlett_fft.shape[-1])
db_psd = 10 * np.log10(np.abs(shift((bartlett_fft + 0.00000000000001) / abs(bartlett_fft).max())))
plt.plot(shift(bartlett_freq), db_psd)
plt.show()
没问题,频谱很平滑,问题是你对这个平滑的频谱进行了稀疏采样,所以它看起来很尖锐。
最后为频谱计算提供更多样本(零),您将获得更好的频谱分辨率:
bartlett_fft = np.fft.fft(bartlett, n=1024)
我正在尝试以 dB 比例计算和绘制 bartlett window 的 DTFT,但出现了奇怪的峰而不是圆形峰。我首先计算 window 的 DTFT 变换,我还移动了 DTFT 和频率,我计算了 DTFT 的绝对值,并对移动后的 DTFT 的值进行归一化,但是奇怪的 shapes/peaks 出现了在下图中。我知道 bartlett window 的 DTFT 更平滑。我做错了什么吗?
N = 100
lobeWidth = 1 / fo
# creating the barlett window
bartlett = windows.bartlett(N, sym = True)
plt.plot(bartlett)
plt.show()
bartlett_fft = np.fft.fft(bartlett)
bartlett_freq = freq(bartlett_fft.shape[-1])
db_psd = 10 * np.log10(np.abs(shift((bartlett_fft + 0.00000000000001) / abs(bartlett_fft).max())))
plt.plot(shift(bartlett_freq), db_psd)
plt.show()
没问题,频谱很平滑,问题是你对这个平滑的频谱进行了稀疏采样,所以它看起来很尖锐。
最后为频谱计算提供更多样本(零),您将获得更好的频谱分辨率:
bartlett_fft = np.fft.fft(bartlett, n=1024)