我一直在努力解决Ricker小波的相移问题
from scipy import signal
import matplotlib.pyplot as plt
x = 100
a = 10
vec2 = signal.ricker(x, a)
print(len(vec2))
plt.plot(vec2)
plt.show()
我找不到如何通过signal.ricker
函数实现,所以我重新创建了原始小波
x1 = np.arange(-50,50,1)
wavelet = []
a = 10
A = 2/(sqrt(3*a)*(pi**0.25))
for i in x1:
i = A * (1 - (i/a)**2) * exp(-0.5*(i/a)**2)
wavelet.append(i)
plt.plot(wavelet)
plt.show()
那么我如何旋转小波,例如90度移位
您可以使用Hilbert transform获得信号的-90度偏移。 这提供了一种通过由^{} 实现的analytic representation获得其他相移的方法。一旦你有了这个分析信号,你“简单地”必须乘以复相位项
exp(1j*np.radians(angle))
,然后提取实部:相关问题 更多 >
编程相关推荐