Clear Filters
Clear Filters

read a periodic image(signal) and detect every wave then display every wave on separte figure help me please

1 view (last 30 days)
read a periodic iamge and detect every wave then display every wave on separte figure
help me please
  4 Comments
Image Analyst
Image Analyst on 16 Dec 2013
Do you want to crop out each peak/hump and display it in its own plot? Or do you want to take the Fourier transform and display each harmonic?

Sign in to comment.

Answers (2)

Image Analyst
Image Analyst on 16 Dec 2013
If you have the Signal Processing Toolbox, invert the curve and find the peaks. These are really the valleys. Then crop them out and use plot().
  12 Comments

Sign in to comment.


Walter Roberson
Walter Roberson on 20 Dec 2013
If you really are reading from an image, use the mentioned contribution to analyze the image to get the data.
Once you have data, you can go the theoretic route by performing an autocorrelation. See http://www.mathworks.com/help/econ/autocorrelation-and-partial-autocorrelation.html and also xcorr().
Alternately you can use one of the peak-finding routines, possibly one from the MATLAB File Exchange. Look for the maximum absolute value of peak anywhere in the data, and then look for additional peaks that are "quite close" in magnitude (including being on the same side of 0)
As a first approximation the cycle length is equal to the distance between maximal peaks. Now break up the data into groups of that cycle length.
That first approximation algorithm will be wrong when a single cycle contains several maximal peaks, such as if the graph looked like
_^_^___^_^___^_^__
Working out how to deal with such cases is left as an exercise to the reader.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!