Plug-in substitute for findpeaks(). Uses parabolas to interpolate to estimate "true" peaks.


Updated 11 Dec 2021

View License

findpeaksInterp(): Estimate peaks by parabolic interpolation. Finds the parabola passing through each peak found by findpeaks() and the two neighboring points. Returns the x,y coordinates of the vertices of the parabolas.
[pksInt,locsInt] = findpeaksInterp(data)
[pksInt,locsInt] = findpeaksInterp(data,Fs)
[pksInt,locsInt] = findpeaksInterp(___,Name,Value)
Returns pksInt =y-coordinates of peak estimates, and locsInt=x-coordinates of peak estimates. If positive scalar Fs is passed as an input, then the x-values are calculated using an assumed sampling rate of Fs, and it is assumed that the first point in vector data() is at x=0. Accepts and passes through up to three Name,Value pairs to findpeaks().
Calls built-in function findpeaks(), and calls parabolavertex3p(), supplied with this upload. See findPeaksInterpTest.m for demonstration and test.
W. Rose 2021-12-10.

Cite As

William Rose (2023). findpeaksInterp (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2021b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Changed description only, to indicate that finpeaksInterp() returns multiple peaks, not just one peak.