【发布时间】:2020-04-06 12:22:42
【问题描述】:
在对信号进行频谱分析时,我遇到了一个奇怪的问题,即绘制的信号频率发生了偏移(或加倍)。这是一个显示我的方法的简单示例:以 100kHz 采样 1kHz 正弦信号。最后,信号仓出现在 2kHz 而不是 1kHz。
import numpy as np
import matplotlib.pyplot as plt
time_step = 1.0/100e3
t = np.arange(0, 2**14) * time_step
sig = np.sin(2*np.pi*1e3*t)
sig_fft = np.fft.rfft(sig)
#calculate the power spectral density
sig_psd = np.abs(sig_fft) ** 2 + 1
#create the frequencies
fftfreq = np.fft.fftfreq(len(sig_psd), d=time_step)
#filter out the positive freq
i = fftfreq > 0
plt.plot(fftfreq[i], 10*np.log10(sig_psd[i]))
plt.xscale("log")
【问题讨论】:
标签: python numpy matplotlib fft frequency-analysis