def morlet(x, Fs, f, wavelet_width=7):
dt = 1/Fs
sf = f/wavelet_width
st = 1/(2*np.pi*sf)
N, nepoch = x.shape
t = np.arange(-3.5*st, 3.5*st, dt)
A = 1/(st*np.sqrt(np.pi))**(1/2)
m = A*np.exp(-np.square(t)/(2*st**2))*np.exp(1j*2*np.pi*f*t)
xMorlet = np.zeros((N, nepoch))
for k in range(0, nepoch):
y = 2*np.abs(np.convolve(x[:, k], m))/Fs
xMorlet[:, k] = y[int(np.ceil(len(m)/2))-1:int(len(y)-np.floor(
len(m)/2))]
return xMorlet
评论列表
文章目录