EmbDev.net

Forum: DSP Finding peaks


Author: ana (Guest)
Posted on:

Rate this post
0 useful
not useful
Hello everyone,

I am looking for frequency (fft magnitude) peaks for specific activity. 
In order to confirm my theory, I have performed experiments in many 
different situations. So, what I need to do is to get specific peaks for 
my desired activities. Once I confirm those peaks do not happen in any 
other situation(noise, power supply ripple..) my theory is correct.

So now, I have a hard time how to distinguish those peaks.
Is there any specific method (algorithm) that exists, or should I just 
look for unions, and differences in my data.

Hope I explained enough,

wg

: Moved by Admin
Author: Visitor (Guest)
Posted on:

Rate this post
0 useful
not useful
ana wrote:
> Hello everyone,
>
> I am looking for frequency (fft magnitude) peaks for specific activity.
> In order to confirm my theory, I have performed experiments in many
> different situations. So, what I need to do is to get specific peaks for
> my desired activities. Once I confirm those peaks do not happen in any
> other situation(noise, power supply ripple..) my theory is correct.
>

Hi,
just for clarification: Are you looking for a way to find the local 
maxima of a two dimensional curve, consisting of measured values? Or...
- ... in more than two dimensions?
- ... with constraints regarding the detection of maxima?
- ... under hard (time/space/whatever) conditions?
- ... using interpolation, to find the "real" value?
- ... do you want to skip the fft?
- ... ?

> So now, I have a hard time how to distinguish those peaks.

Umm, of course the most simple algorithm to find a maximum in 2d may be:
if (x[n] > x[n-1]) && (x[n] > x[n+1]) then
    print "maximum found."
It runs in situ and in linear time, so there is basically nothing wrong 
with it.

When the problem becomes more complicated there may be a bunch of 
methods you can try, depending on the concrete constraints; e.g.
- using gradients
- a linear programming solver
- the wide field of genetic programming
- mathmatical methods like Lagrange multipliers
- and surely a lot more...

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig