nmrglue.process.proc_lp.find_lproots_hsvd

nmrglue.process.proc_lp.find_lproots_hsvd(x, M, K, mode, zmethod='sm')[source]

Find LP roots (poles) using the HSVD method

Perform a HSVD linear prediction to determind signal roots (poles) as described in: Barkhuijsen, DeBeer, and Van Ormondt, JMR, 1987, 73, 553

Parameters x, M and K are the same as those described in the above article. zmethod refer to the method used to calculate Z’, either a least-squares method (lstsq) can be used to solve U_b*Z’=U_t or the Sherman-Morrison formula (sm) can be used to avoid the full matrix inversion with equation [12] being used to find Z’. The Sherman-Morrison method should be faster with similar precision.

Parameters :

x : 1D ndarray

1D trace of NMR data in the time domain, the FID.

M : int

Length (M+1) of data matrix to form.

K : int

Reduced prediction order (number of signal roots) Must be less than the smaller of M + 1 or len(x) - M.

mode : {‘f’, ‘b’}

Mode to perform LP. ‘f’ for forward,’b’ for backward.

zmethod : {‘lstsq’, ‘sm’}

Method used to find Z’ ‘lstsq’ for least squares, ‘sm’ for Sherman-Morrison.

Returns :

y : ndarray

Array of signal roots (poles)

Previous topic

nmrglue.process.proc_lp.find_lpc_bf

Next topic

nmrglue.process.proc_lp.find_roots

This Page