根据http://www.thefouriertransform.com/
“傅立叶变换表明,任何波形都可以重写为正弦函数之和。”
我有一些信号(每个信号的形状为256,64),我想分解为子信号,然后使用这些子信号生成真实的信号。我现在正在这样做:-
#getting data
with open('../f', 'rb') as fp:
f=pickle.load(fp)
from scipy.fftpack import fft, dct
f=f[0]
tf=fft(f)
x=np.reshape(np.abs(tf),(256,64))
plt.plot(x)
plt.show()
print(x.shape) #same shape as f
但是我得到的输出具有与真实信号相同的形状,但具有一些虚构的值,这些虚构的值最终被丢弃。我在这里查看了其他傅立叶问题,但没有一个给出令人满意的结果,它们只是转换了输入信号。我究竟做错了什么?任何帮助将不胜感激。
答案 0 :(得分:1)
要查看正弦波分量,需要绘制正弦波。
x = a * sin(t)
不是经过整形的FFT结果。
如果您不关心相位,则正弦波图的数量将为FFT +1长度的一半,即从每个FFT结果元素的bin中心计算出的每个正弦波频率(索引乘以采样率除以长度),其幅度由FFT bin的abs()给出。