def _getTransform(sf, f, npts, method, wltWidth, *arg):
"""Return a fuction which contain a transformation
- 'hilbert'
- 'hilbert1'
- 'hilbert2'
- 'wavelet'
"""
# Get the design of the filter :
fDesign = _getFiltDesign(sf, f, npts, *arg)
# Hilbert method
if method == 'hilbert':
def hilb(x):
xH = np.zeros(x.shape)*1j
xF = fDesign(x)
for k in range(x.shape[1]):
xH[:, k] = hilbert(xF[:, k])
return xH
return hilb
# Hilbert method 1
elif method == 'hilbert1':
def hilb1(x): return hilbert(fDesign(x))
return hilb1
# Hilbert method 2
elif method == 'hilbert2':
def hilb2(x): return hilbert2(fDesign(x))
return hilb2
# Wavelet method
elif method == 'wavelet':
def wav(x): return morlet(x, sf, (f[0]+f[1])/2, wavelet_width=wltWidth)
return wav
# Filter the signal
elif method == 'filter':
def fm(x): return fDesign(x)
return fm
评论列表
文章目录