About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
  • License: Freeware
  • Last update: 6 years ago
  • Total downloads: 193
  • Price: Free |
  • Operating system: Linux, Mac OS X, Win All, BSD, Solaris
  • Publisher: Tristan Ursell (6 other programs)
See full specifications

scripts default icon1D Non-derivative Peak Finder (Scripts) Publisher's description

PEAKFIND general 1D peak finding algorithm

PEAKFIND general 1D peak finding algorithm



This function finds peaks without taking first or second derivatives,
rather it uses local slope features in a given data set. The function has
four basic modes.

Mode 1: peakfind(x_data,y_data) simply finds all peaks in the data
given by 'xdata' and 'ydata'.

Mode 2: peakfind(x_data,y_data,upsam) finds peaks after up-sampling
the data by the integer factor 'upsam' -- this allows for higher
resolution peak finding. The interpolation uses a cubic spline that
does not introduce fictitious peaks.

Mode 3: peakfind(x_data,y_data,upsam,gsize,gstd) up-samples and then
convolves the data with a Gaussian point spread vector of length
gsize (>=3) and standard deviation gstd (>0). The convolution option
only works with upsam>=2.

Mode 4: peakfind(x_data,y_data,upsam,htcut,'cuttype') up-samples the
data, however upsam>=1 in this case, i.e. upsam=1 analyzes the data
unmodified. The string 'cuttype' can either be 'abs' (absolute) or
'rel' (relative), which specifies a peak height cutoff which is
'abs' - (htcut > 0) peaks are found if

peakheights > min(yout) + htcut

'rel' - (0 < htcut < 1) peaks are found if

(peakheights-min(yout))/(max(yout)-min(yout)) > htcut

Upsampling and convolution allows one to find significant peaks in noisy
data with sub-pixel resolution. The algorithm also finds peaks in data
where the peak is surrounded by zero first derivatives, i.e. the peak is
actually a large plateau.

The function outputs the x-position of the peaks in 'xpeaks' or the
processed input data in 'xout' and 'yout' with 'peakspos' as the indices
of the peaks, i.e. xpeaks = xout(peakspos).

If you want the algorithm to find the position of minima, simply input
'-y_data'. Peaks within half the convolion box size of the boundary will
be ignored (to avoid this, pad the data before processing).


x_data = -50:50;
y_data =(sin(x_data)+0.000001)./(x_data+0.000001)+1+0.025*(2*rand(1,length(x_data))-1);


hold on
title(['Found ' num2str(length(peakspos)) ' peaks.'])
box on

System Requirements:

MATLAB 7.9 (2009b)
Program Release Status: New Release
Program Install Support: Install and Uninstall

1D Non-derivative Peak Finder (Scripts) Tags:

Click on a tag to find related softwares

Is 1D Non-derivative Peak Finder (Scripts) your software?

Manage your software

Most Popular

scripts default icon ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation 1.1
ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation contain several functions for digital modulation simulation
scripts default icon Simulink Communication Labs 1.1
Simulink Communication Labs allows you to learn communication systems in greater depth.
scripts default icon M-QAM modulation and demodulation 1.1
M-QAM modulation and demodulation is the QAM modulation and demodulation tech.
scripts default icon LZW Compression/Decompression 1.1
LZW Compression/Decompression - Updated LZW compressor and decompressor with reasonable performance
scripts default icon InSPIRE utility to plot a 2D displacement field (Scripts) 1.0
This program plots the deformation field (displace vectors) contained in vector.txt.