Peak Fitter 1.0
File ID: 79003
Peak Fitter 1.0 Description
Description: A command-line peak fitting program for time-series signals, written as a self-contained Matlab function in a single m-file. Uses an non-linear optimization algorithm to decompose a complex, overlapping-peak signal into its component parts. The objective is to determine whether your signal can be represented as the sum of fundamental underlying peaks shapes. Accepts signals of any length, including those with non-integer and non-uniform x-values. Fits Gaussian, exponentially-broadened Gaussian, Lorentzian, Pearson, and Logistic shapes (expandable to other shapes). This is a command-driven version, usable from a remote terminal. It is capable of making multiple trial fits with sightly different starting values and taking the best one.
>> help peakfit
Performs a single iterative least-squares fit of a single Gaussian peak to the data matrix "signal", which has x values in row 1 and Y values in row 2 (e.g. [x y])
Fits a single Gaussian peak to a portion of the matrix "signal". The portion is centered on the x-value "center" and has width "window" (in x units).
"NumPeaks" = number of peaks in the model (default is 1 if not
Specifies the peak shape of the model: "peakshape" = 1-5. (1=Gaussian (default), 2=Lorentzian, 3=logistic, 4=Pearson, and 5=exponentionally broadened Gaussian)
Specifies the value of 'extra', used in the Pearson and the exponentionally broadened Gaussian shapes to fine-tune the peak shape.
Performs "NumTrials" trial fits and selects the best one (with lowest fitting error). NumTrials can be any positive integer (default is 1).
Specifies the first guesses vector "firstguess" for the peak positions and widths, e.g. start=[position1 width1 position2 width2 ...]
Returns the FitResults vector in the order peak number, peak
position, peak height, peak width, and peak area), and the MeanFitError (the percent RMS difference between the data and the model in the selected segment of that data) of the best fit.
>> x=[0:.1:10];y=exp(-(x-5).^2);peakfit([x' y'])
Fits exp(-x)^2 with a single Gaussian peak model.
>> x=[0:.005:1];y=humps(x);peakfit([x' y'],.3,.7,1,4,3);
Fits a portion of the humps function, 0.7 units wide and centered on x=0.3, with a single (NumPeaks=1) Pearson function (peakshape=4) with extra=3 (controls shape of Pearson function).
>> x=[0:.005:1];y=(humps(x)+humps(x-.13)).^3;smatrix=[x' y'];
Creates a data matrix 'smatrix', fits a portion to a two-peak Gaussian model, takes the best of 10 trials. Returns FitResults and MeanFitError.
1 0.4128 3.1114e+008 0.10448 3.4605e+007
2 0.3161 2.8671e+008 0.098862 3.0174e+007
>> peakfit([x' y'],.4,.7,2,1,0,10,[.3 .1 .5 .1]);
As above, but specifies the first-guess position and width of the two peaks, in the order [position1 width1 position2 width2]
Related: Vector, quotfirstguessquot, Positions, guesses, positive, integer, widths, start dposition, fitresults, Order, Position, returns, fitresultsmeanfiterror dpeakfitsignalcenterwindow, Width, numtrials, Error
O/S:BSD, Linux, Solaris, Mac OS X
File Size: 10.0 KB
|More Similar Code|
A peak fitting program for time-series signals, written as a self-contained function in a single m-file. Uses an non-linear optimization algorithm to decompose a complex, overlapping-peak signal into its component parts. The objective is to determine whether your signal can be represented as the sum of fundamental underlying peaks shapes. Accepts signals of any length, including those with non-integer and non-uniform x-values. Fits Gaussian,...
Sometimes it is important to be able to estimate the peak of a sampled continuous function between the samples. This is called subsample peak interpolation and is used in radar, delay estimation, and communication. Typically one fits a model to...
PEAKFIND general 1D peak finding algorithm
Keyboard-operated Interactive Peak Finder for data in data matrix "DataMatrix", with x values in row 1 and y values in row 2. Returns the peak table in P (Peak #, Position,...
This small contribution is useful in cases where you search for the position of a peak within an intensity matrix (correlation or energy fields) of low resolution. Since this is only a 2nd-order-fit the sub-sample accuracy will only be acceptable...
Compute estimate Peak Sidelobe Level and Integrated Sidelobe Level and Merit Factorofat at different complex communication signals of their Autocorrelation function and in case partially minimize bounds on the volume of ambiguity function.In base...
Genetic Algorithm File Fitter, GAFFitter for short, is a tool based on a genetic algorithm (GA) that tries to fit a collection of items, such as files/directories, into as few as possible volumes of a specific size (e.g. CDs or DVDs).
The Peak District Directory is a web based, PHP/MySQL driven application to allow users to locate resources within a specific geographical area (e.g. accommodation, places to eat, museums, walking routes etc.).
This function quickly finds local peaks or valleys (local extrema) in a noisy vector using a user defined magnitude threshold to determine if each peak is significantly larger (or smaller) than the data around it. The problem with the strictly...
zpkfit uses the nonlinear least-squares fitter (lsqnonlin) to fit an analytic model of any (fixed) number of poles and zeroes to numerical (presumably measured) frequency response data. It takes as arguments a frequency vector, a frequency...
|User Review for Peak Fitter