我只是在与正弦波的调制作斗争。我有一个频率(来自混乱的数据 - 随时间变化),现在我需要绘制具有相应频率的正弦波。
蓝线只是真实数据的绘制点,绿色是我到目前为止所做的,但它根本与真实数据不对应。
绘制正弦波的代码在底部:
def plotmodulsin():
n = 530
f1, f2 = 16, 50 # frequency
t = linspace(6.94,8.2,530)
dt = t[1] - t[0] # needed for integration
print t[1]
print t[0]
f_inst = logspace(log10(f1), log10(f2), n)
phi = 2 * pi * cumsum(f_inst) * dt # integrate to get phase
pylab.plot(t, 5*sin(phi))
幅度矢量:
[2.64, -2.64, 6.14, -6.14, 9.56, -9.56, 12.57, -12.57, 15.55, -15.55, 18.04, -18.04, 21.17, -21.17, 23.34, -23.34, 25.86, -25.86, 28.03, , 30.49, -30.49, 33.28, -33.28, 35.36, -35.36, 36.47, -36.47, 38.86, -38.86, 41.49, -41.49, 42.91, -42.91, 44.41, -44.41, 45.98, -45.8, -45.8, -45.98 , 47.63, -47.63, 51.23, -51.23, 51.23, -51.23, 53.18, -53.18, 55.24, -55.24, 55.24, -55.24, 55.24, -55.24, 57.43, -57.43, 557.43,, -57.4, -559.7, -57.4 , 59.75, -59.75, 59.75, -59.75, 59.75, -59.75, 62.22, -62.22, 59.75, -59.75, 62.22, -62.22, 59.75, -59.75, 62.22, -62.22, 62.22, -62.2, 6559.5, -62.2 , 62.22, -62.22, 62.22, -62.22, 59.75, -59.75, 62.22, -62.22, 62.22, -62.22, 62.22, -62.22, 59.75, -59.75, 62.22, -62.22, 2, 62.75, -, -59.2, 26.22 , 59.75, -59.75, 59.75]
真实数据的时间向量:
[6.954,6.985,7.016,7.041,7.066,7.088,7.11,7.13,7.149,7.167,7.186,7.219,7.219,7.219,7.235,7.251,7.251,7.266,7.266,7.282 ,7.404、7.417、7.43、7.442、7.454、7.466、7.478、7.49、7.501、7.513、7.513、7.524、7.536、7.547、7.547、7.558、7.569、7.569、7.58、7.591 , 7.686, 7.697, 7.707, 7.717, 7.728, 7.738, 7.748, 7.758, 7.768, 7.778, 7.788, 7.798, 7.808, 7.818, 7.828, 7.838, 7.848, 7.858, 7.868, 7.877, 7.887, 7.897, 7.907, 7.917, 7.927 , 7.937, 7.946, 7.956, 7.966, 7.976, 7.986, 7.996, 8.006, 8.016, 8.026, 8.035, 8.045, 8.055, 8.065, 8.075, 8.084, 8.094, 8.104, 8.114, 8.124, 8.134, 8.144, 8.154, 8.164, 8.174 , 8.184, 8.194, 8.20]
所以我需要生成具有恒定幅度和以下频率的窦:
[10.5,16.03,20.0,22.94,25.51,27.47,29.76,29.76,33.25,32.89,34.25,35.71,37.31,37.31,38.46,39.06,39.06,41.32,41.37 , 48.08, 48.08, 49.02, 49.02, 50.0, 50.0, 50.0, 50.0]