LTPDA Toolbox™ | contents | ![]() ![]() |
psdvfit performs a fitting loop to identify model for a psd. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DESCRIPTION: psdvfit fit a partial fraction model to frequency response data using the function utils.math.vcfit. The function performs a fitting loop to automatically identify model. Output is a model of the spectrum. Fit function is a ratio of polynomials in the form of partial fraction expension. r1 rN f(s) = ------- + ... + ------- s - p1 s - pN After a first fitting step, the fit can be regularized in order to obtain a statistically consistent model for the expected value of the spectrum. Automatic regularization is obtained checking the difference between the maximum of the expected gamma function and the histogram of the normalized spectrum (psd divided by the model frequency by frequency). The function can also perform a single loop without taking care of the stop conditions. This happens when 'AutoSearch' parameter is setted to 'off'. The method accepts only 1 ao at the input. CALL: [fit,confBands,mfhMod,mfhConfBand] = psdvfit(a, pl) INPUTS: a - input AOs to fit. pl - parameter list OUTPUTS: fit - ao containing the fitted model. confBands - Lower and upper confidence band. mfhMod - a mfh model that can be used to evaluate the model on a different frequency grid. mfhConfBand - mfh models for the confidence bands. Note: Gamma function assumption for the spectrum is strictly true only with Gaussian distributed noise (time series). In case the noise in time domain is non-Gaussian the Gamma is an approximation based on the norilizing properties of the fft. Even if noise series is non-Gaussian, real and imaginary part of the fft tend to a Gaussian because are the result of the sum of many terms. EXAMPLES: % Fitting parameter list pl_fit = plist(... 'maxiter',50,... 'minorder',9,... 'maxorder',20,... 'FITTOL',1.7,... 'Plot','on'); % Do fit [fit,confBands,mfhMod,mfhConfBand] = psdvfit(a, pl_fit); Parameters Description %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Method Details | |
---|---|
Access | public |
Defining Class | ao |
Sealed | 0 |
Static | 0 |
Sets for this method … |
---|
Default |
Default |
|||
---|---|---|---|
no description | |||
Key | Default Value | Options | Description |
psdvfit | |||
AUTOSEARCH | 'on' |
|
'on': Parform a full automatic search for the transfer function order. The fitting procedure will stop when stop conditions defined are satisfied. 'off': Perform a fitting loop as long as the number of iteration reach 'maxiter'. The order of the fitting function will be that specified in 'minorder'. |
MAXITER | 50 | none | Maximum number of iterations in fit routine. |
MINORDER | 2 | none | Minimum order to fit with. |
MAXORDER | 20 | none | Maximum order to fit with. |
FITTOL | 2 | none | Fit tolerance. Check the maximu spread on the whitened spectrum. |
PLOT | 'off' |
|
Plot results of each fitting step. |
CHECKPROGRESS | 'off' |
|
Display the status of the fit iteration. |
DOWNSAMPLESPECTRUM | 0 |
|
Decide to downsample the spectrum in order to have independent bins. |
DOWNSAMPLEBINS | 3 | none | Number of bins to skip in order to get independence. |
REGULARIZE | 1 |
|
Regularize data in order to have a statistically consistent model. |
REGULARIZECOEFF | [] | none | Regularization coefficient. Leave it empty if you want to do it automatically. |
Example |
---|
plist('AUTOSEARCH', 'on', 'MAXITER', [50], 'MINORDER', [2], 'MAXORDER', [20], 'FITTOL', [2], 'PLOT', 'off', 'CHECKPROGRESS', 'off', 'DOWNSAMPLESPECTRUM', [false], 'DOWNSAMPLEBINS', [3], 'REGULARIZE', [true], 'REGULARIZECOEFF', [[]]) |
Some information of the method ao/psdvfit are listed below: | |
---|---|
Class name | ao |
Method name | psdvfit |
Category | Signal Processing |
Package name | ltpda |
VCS Version | 967b0eec0dece803a81af8ef54ad2f8c784b20b2 |
Min input args | 1 |
Max input args | -1 |
Min output args | 1 |
Max output args | -1 |
Can be used as modifier | 0 |
Supported numeric types | {'double'} |
![]() |
Method: ao/psdconf | Method: ao/qqplot | ![]() |
©LTP Team