首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速傅里叶变换信号重建的奇怪结果

快速傅里叶变换信号重建的奇怪结果
EN

Stack Overflow用户
提问于 2019-10-23 06:00:19
回答 1查看 331关注 0票数 0

我有一些数据,如下图所示,我有兴趣找到它的一些傅立叶级数系数。

代码语言:javascript
复制
r = np.array([119.80601628, 119.84629291, 119.85290735, 119.45778804,
   115.64497439, 105.58519852, 100.72765819, 100.04327702,
   100.08590518, 100.35824977, 101.58424993, 105.47976376,
   112.27556007, 117.07679226, 118.99998888, 119.60458086,
   119.78624424, 119.83022022, 119.36116943, 115.72323767,
   106.58946834, 101.19479124, 100.11537349, 100.13313755,
   100.41846106, 101.42255377, 104.33650237, 109.73625492,
   115.14763728, 118.24665037, 119.35359999, 119.68061835])

z = np.array([-411.42980545, -384.98596279, -358.13032372, -330.89578468,
   -303.39129113, -275.76248957, -248.24478443, -221.07069838,
   -194.33260984, -168.05271807, -142.19357982, -116.62090103,
    -91.15354178,  -65.56745626,  -39.65284757,  -13.29632162,
     13.54374939,   40.84929432,   68.50496394,   96.33720787,
    124.08525182,  151.36802193,  177.98791952,  204.0805317 ,
    229.85399128,  255.44727674,  281.02166554,  306.75399703,
    332.74638285,  359.05528646,  385.74336711,  412.8189858 ])

plt.plot(z, r, label='data')
plt.legend()

然后我计算平均采样周期,因为在Z变量中它不是常数:

代码语言:javascript
复制
l = []
for i in range(32-1):
    l.append(z[i]-z[i+1])
Ts = np.mean(l)

然后计算快速傅立叶变换:从scipy.fftpack导入快速傅立叶变换

代码语言:javascript
复制
rf = scipy.fftpack.fft(r)

对于信号的重建,则:

代码语言:javascript
复制
fs = 1/Ts

amp = np.abs(rf)/r.shape[0]
n = r.shape[0]
s = 0
for i in range(n//2):

    phi = np.angle(rf[i], deg=False)
    a   = amp[i]
    k   = i*fs/n

    s += a*np.cos(2*np.pi*k  *(z)  +phi)

plt.plot(z, s, label='fft result')
plt.plot(z, r, label='data')
plt.legend()

然而,就振幅和频率而言,结果都很奇怪。

EN

回答 1

Stack Overflow用户

发布于 2019-10-23 23:50:04

复数谱是范围为(-fMax/2,…,+fMax/2)的对称谱。你只用到了光谱的右手边的正值部分。这意味着,你的重建信号只包含一半的频谱频率。因为频谱是对称的,所以您所要做的就是将计算出的绝对值加倍。然而,有一个重要的例外。直流值幅度不能加倍。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58512844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档