Hey Comp.DSP First post here - pretty psyched. So, I am actually somewhat surprised by how peak-picking is almost NOT covered in any course that I know of, when in fact it is very, very useful and needed in almost ALL dsp applications. Googling around, you usually find some peak picker algo hidden in dark crevices of the internet. But no one seems to have given this the time and light of day that I believe it deserves. Almost everything at the end of the day involves finding, and picking peak - or peaks! So with that in mind, what might the DSP hivemind know of / recommend as far as peak-picking methods, algorithms, or general strategies? Let us combine our knowledge here. Thanks in advance!
Survey of Peak-Pickers
Started by ●December 5, 2013
Reply by ●December 5, 20132013-12-05
On Thu, 5 Dec 2013 10:57:18 -0800 (PST), SigVec <ayakalam@gmail.com> wrote:> >Hey Comp.DSP > >First post here - pretty psyched.=20 > >So, I am actually somewhat surprised by how peak-picking is almost NOT cove= >red in any course that I know of, when in fact it is very, very useful and = >needed in almost ALL dsp applications. Googling around, you usually find so= >me peak picker algo hidden in dark crevices of the internet. But no one see= >ms to have given this the time and light of day that I believe it deserves. >Almost everything at the end of the day involves finding, and picking peak = >- or peaks! > >So with that in mind, what might the DSP hivemind know of / recommend as fa= >r as peak-picking methods, algorithms, or general strategies? Let us combin= >e our knowledge here. > >Thanks in advance!max() Otherwise, it depends entirely on what you're doing. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Reply by ●December 5, 20132013-12-05
On Thursday, December 5, 2013 2:01:02 PM UTC-5, Eric Jacobsen wrote:> On Thu, 5 Dec 2013 10:57:18 -0800 (PST), SigVec <ayakalam@gmail.com> > > wrote: > > > > > > > >Hey Comp.DSP > > > > > >First post here - pretty psyched.=20 > > > > > >So, I am actually somewhat surprised by how peak-picking is almost NOT cove= > > >red in any course that I know of, when in fact it is very, very useful and = > > >needed in almost ALL dsp applications. Googling around, you usually find so= > > >me peak picker algo hidden in dark crevices of the internet. But no one see= > > >ms to have given this the time and light of day that I believe it deserves. > > >Almost everything at the end of the day involves finding, and picking peak = > > >- or peaks! > > > > > >So with that in mind, what might the DSP hivemind know of / recommend as fa= > > >r as peak-picking methods, algorithms, or general strategies? Let us combin= > > >e our knowledge here. > > > > > >Thanks in advance! > > > > max() > > > > Otherwise, it depends entirely on what you're doing. > > > > > > Eric Jacobsen > > Anchor Hill Communications > > http://www.anchorhill.comThanks Eric - I know of the max() function of course. However let us say we have multiple peaks. How then do we pick then? This is why I am asking for a survey. I'd love to hear about what techniques you have used before, and in what situation you may have used them. Regards! :-)
Reply by ●December 5, 20132013-12-05
On 12/5/13 2:03 PM, SigVec wrote:> On Thursday, December 5, 2013 2:01:02 PM UTC-5, Eric Jacobsen wrote: >> On Thu, 5 Dec 2013 10:57:18 -0800 (PST), SigVec<ayakalam@gmail.com> >> wrote: >> >>> >>> Hey Comp.DSP >>> First post here - pretty psyched.=20 >>> >>> So, I am actually somewhat surprised by how peak-picking is almost NOT cove= >>> red in any course that I know of, when in fact it is very, very useful and = >>> needed in almost ALL dsp applications. Googling around, you usually find so= >>> me peak picker algo hidden in dark crevices of the internet. But no one see= >>> ms to have given this the time and light of day that I believe it deserves. >>> Almost everything at the end of the day involves finding, and picking peak = >>> - or peaks! >> >>> >> >>> So with that in mind, what might the DSP hivemind know of / recommend as far as peak-picking methods, algorithms, or general strategies? >> >> >> >> max() >> >> Otherwise, it depends entirely on what you're doing. >> > > Thanks Eric - I know of the max() function of course. However let us say we have multiple peaks. How then do we pick then? > > This is why I am asking for a survey. I'd love to hear about what techniques you have used before, and in what situation you may have used them. >again, it depends on what you're doing. max() will pick the peak that is the highest peak. if you're peak picking and you *don't* necessarily want the highest peak, then you need to articulate a reason for why the highest peak isn't necessarily the peak you need to pick. that is highly application specific. e.g. i worry about peak picking in pitch detection algorithms that use auto-correlation (or something similar like the AMDF, but then i am doing valley picking). now pitch detection algorithms have a ubiquitous problem that we often call "octave errors". normally, picking the maximum peak will correspond to the period (which is directly related to pitch) of the signal we're analyzing. but it is possible to have a very small and inaudible subharmonic added to the nearly periodic signal in such a way that the second peak is maximum, yet the first peak (which is nearly as high, but not quite) is really the one we want. that's when you need to be more subtle or tricky about picking the peak you want, but i would not expect any such subtleties or tricks used for pitch detection to be what you might need for another application (say picking peaks in the frequency domain). BTW, i won't disclose to you (or here in public) exactly what technique(s) i use to avoid octave errors (or to avoid picking the wrong peak, even if it's the highest peak). this is what IP, patents, and trade secrets are made of. rots o' ruck. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Reply by ●December 5, 20132013-12-05
On Thu, 5 Dec 2013 11:03:02 -0800 (PST), SigVec <ayakalam@gmail.com> wrote:>On Thursday, December 5, 2013 2:01:02 PM UTC-5, Eric Jacobsen wrote: >> On Thu, 5 Dec 2013 10:57:18 -0800 (PST), SigVec <ayakalam@gmail.com> >> >> wrote: >> >> >> >> > >> >> >Hey Comp.DSP >> >> > >> >> >First post here - pretty psyched.=20 >> >> > >> >> >So, I am actually somewhat surprised by how peak-picking is almost NOT cove= >> >> >red in any course that I know of, when in fact it is very, very useful and = >> >> >needed in almost ALL dsp applications. Googling around, you usually find so= >> >> >me peak picker algo hidden in dark crevices of the internet. But no one see= >> >> >ms to have given this the time and light of day that I believe it deserves. >> >> >Almost everything at the end of the day involves finding, and picking peak = >> >> >- or peaks! >> >> > >> >> >So with that in mind, what might the DSP hivemind know of / recommend as fa= >> >> >r as peak-picking methods, algorithms, or general strategies? Let us combin= >> >> >e our knowledge here. >> >> > >> >> >Thanks in advance! >> >> >> >> max() >> >> >> >> Otherwise, it depends entirely on what you're doing. >> >> >> >> >> >> Eric Jacobsen >> >> Anchor Hill Communications >> >> http://www.anchorhill.com > > >Thanks Eric - I know of the max() function of course. However let us say we have multiple peaks. How then do we pick then? > >This is why I am asking for a survey. I'd love to hear about what techniques you have used before, and in what situation you may have used them. > >Regards! :-)In order to help illustrate the point: Peaks of what? Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Reply by ●December 5, 20132013-12-05
On Thursday, December 5, 2013 2:40:54 PM UTC-5, robert bristow-johnson wrote:> On 12/5/13 2:03 PM, SigVec wrote: > > > On Thursday, December 5, 2013 2:01:02 PM UTC-5, Eric Jacobsen wrote: > > >> On Thu, 5 Dec 2013 10:57:18 -0800 (PST), SigVec<ayakalam@gmail.com> > > >> wrote: > > >> > > >>> > > >>> Hey Comp.DSP > > >>> First post here - pretty psyched.=20 > > >>> > > >>> So, I am actually somewhat surprised by how peak-picking is almost NOT cove= > > >>> red in any course that I know of, when in fact it is very, very useful and = > > >>> needed in almost ALL dsp applications. Googling around, you usually find so= > > >>> me peak picker algo hidden in dark crevices of the internet. But no one see= > > >>> ms to have given this the time and light of day that I believe it deserves. > > >>> Almost everything at the end of the day involves finding, and picking peak = > > >>> - or peaks! > > >> > > >>> > > >> > > >>> So with that in mind, what might the DSP hivemind know of / recommend as far as peak-picking methods, algorithms, or general strategies? > > >> > > >> > > >> > > >> max() > > >> > > >> Otherwise, it depends entirely on what you're doing. > > >> > > > > > > Thanks Eric - I know of the max() function of course. However let us say we have multiple peaks. How then do we pick then? > > > > > > This is why I am asking for a survey. I'd love to hear about what techniques you have used before, and in what situation you may have used them. > > > > > > > again, it depends on what you're doing. > > > > max() will pick the peak that is the highest peak. if you're peak > > picking and you *don't* necessarily want the highest peak, then you need > > to articulate a reason for why the highest peak isn't necessarily the > > peak you need to pick. that is highly application specific. > > > > e.g. i worry about peak picking in pitch detection algorithms that use > > auto-correlation (or something similar like the AMDF, but then i am > > doing valley picking). now pitch detection algorithms have a ubiquitous > > problem that we often call "octave errors". normally, picking the > > maximum peak will correspond to the period (which is directly related to > > pitch) of the signal we're analyzing. but it is possible to have a very > > small and inaudible subharmonic added to the nearly periodic signal in > > such a way that the second peak is maximum, yet the first peak (which is > > nearly as high, but not quite) is really the one we want. that's when > > you need to be more subtle or tricky about picking the peak you want, > > but i would not expect any such subtleties or tricks used for pitch > > detection to be what you might need for another application (say picking > > peaks in the frequency domain). > > > > BTW, i won't disclose to you (or here in public) exactly what > > technique(s) i use to avoid octave errors (or to avoid picking the wrong > > peak, even if it's the highest peak). this is what IP, patents, and > > trade secrets are made of. > > > > rots o' ruck. > > > > -- > > > > r b-j rbj@audioimagination.com > > > > "Imagination is more important than knowledge."Thanks for the insight @rbj. Your post is on par with what I am looking for. Since you mentioned applications: Well, let us imagine that we have an signal, or image, with say, 4 sparse mountain 'peaks', of not necessarily the same amplitude. To the human eye, this would be clear that there are 4 peaks. How would we go about telling the machine to give us those peaks? Again - not looking for any _specific_ - feel free to give a scenario, and saying something along the lines of "Well, if you have a case like X, you can use technique Y to pick peaks", etc. Thanks again
Reply by ●December 5, 20132013-12-05
On Thursday, December 5, 2013 2:44:31 PM UTC-5, Eric Jacobsen wrote:> On Thu, 5 Dec 2013 11:03:02 -0800 (PST), SigVec <ayakalam@gmail.com> > > wrote: > > > > >On Thursday, December 5, 2013 2:01:02 PM UTC-5, Eric Jacobsen wrote: > > >> On Thu, 5 Dec 2013 10:57:18 -0800 (PST), SigVec <ayakalam@gmail.com> > > >> > > >> wrote: > > >> > > >> > > >> > > >> > > > >> > > >> >Hey Comp.DSP > > >> > > >> > > > >> > > >> >First post here - pretty psyched.=20 > > >> > > >> > > > >> > > >> >So, I am actually somewhat surprised by how peak-picking is almost NOT cove= > > >> > > >> >red in any course that I know of, when in fact it is very, very useful and = > > >> > > >> >needed in almost ALL dsp applications. Googling around, you usually find so= > > >> > > >> >me peak picker algo hidden in dark crevices of the internet. But no one see= > > >> > > >> >ms to have given this the time and light of day that I believe it deserves. > > >> > > >> >Almost everything at the end of the day involves finding, and picking peak = > > >> > > >> >- or peaks! > > >> > > >> > > > >> > > >> >So with that in mind, what might the DSP hivemind know of / recommend as fa= > > >> > > >> >r as peak-picking methods, algorithms, or general strategies? Let us combin= > > >> > > >> >e our knowledge here. > > >> > > >> > > > >> > > >> >Thanks in advance! > > >> > > >> > > >> > > >> max() > > >> > > >> > > >> > > >> Otherwise, it depends entirely on what you're doing. > > >> > > >> > > >> > > >> > > >> > > >> Eric Jacobsen > > >> > > >> Anchor Hill Communications > > >> > > >> http://www.anchorhill.com > > > > > > > > >Thanks Eric - I know of the max() function of course. However let us say we have multiple peaks. How then do we pick then? > > > > > >This is why I am asking for a survey. I'd love to hear about what techniques you have used before, and in what situation you may have used them. > > > > > >Regards! :-) > > > > In order to help illustrate the point: Peaks of what? > > > > > > > > > > > > Eric Jacobsen > > Anchor Hill Communications > > http://www.anchorhill.comEric, see my reply to RBJ for more details. I realize this is application specific, but I can also imagine many scenarios where the human eye can tell there are x peaks in an image, of not necessarily same amplitude. What family of techniques might one utilize to go about getting those peaks? By the way - feel free to name a scenario, and explain the peak picking in that scenario that you might have faced. Thats acceptable too. Im not going to hold your feet to the fire - I am conducting a rough the tumble survey. ;-)
Reply by ●December 5, 20132013-12-05
On 05/12/13 18:57, SigVec wrote:> > Hey Comp.DSP > > First post here - pretty psyched. > > So, I am actually somewhat surprised by how peak-picking is almost NOT covered in any course that I know of, when in fact it is very, very useful and needed in almost ALL dsp applications. Googling around, you usually find some peak picker algo hidden in dark crevices of the internet. But no one seems to have given this the time and light of day that I believe it deserves. > Almost everything at the end of the day involves finding, and picking peak - or peaks! > > So with that in mind, what might the DSP hivemind know of / recommend as far as peak-picking methods, algorithms, or general strategies? Let us combine our knowledge here.Depends on what you /want/ to consider a peak... Consider several cycles of a square wave that has been filtered to exclude all except the first and third harmonics. How many peaks do you /want/ to be recognised? If there is a square wave with peaks at +1V and -1V, and you add a single 0.5V impulsive sample at various phases. What's the peak now? If the impulse was 1.5V, what would you /want/ the peak to be?
Reply by ●December 5, 20132013-12-05
On Thursday, December 5, 2013 10:57:18 AM UTC-8, SigVec wrote:> Hey Comp.DSP > ... > So, I am actually somewhat surprised by how peak-picking is almost NOT covered in any course that I know of, when in fact it is very, very useful and needed in almost ALL dsp applications. Googling around, you usually find some peak picker algo hidden in dark crevices of the internet. But no one seems to have given this the time and light of day that I believe it deserves. > Almost everything at the end of the day involves finding, and picking peak - or peaks! > ...A simple Google of "peak picking" (without quotes) produces 25,000,000 hits. I can't speak for them all but most of the first hundred are relevant to signal processing. There seems to be plenty of daylight if you actually search. If you want your searches to be more effective, you need to expect to learn new vocabulary from your area of interest. The classic literature of spectrum analysis uses "ORing" and discusses "ORing loss", for example: http://scitation.aip.org/content/asa/journal/jasa/72/1/10.1121/1.387975 and one of Nuttall's papers downloadable at http://handle.dtic.mil/100.2/ADA235774 Another relevant vocabulary addition would be "order statistics" and "order statistic filter" (6,580,000 hits, at least several relevant to signal processing) There really is a lot available. If you find a particular area of interest isn't covered, narrow down you question by identifying the area of application. Dale B. Dalrymple
Reply by ●December 5, 20132013-12-05
On Thursday, December 5, 2013 3:47:57 PM UTC-5, dbd wrote:> On Thursday, December 5, 2013 10:57:18 AM UTC-8, SigVec wrote: > > > Hey Comp.DSP > > > ... > > > So, I am actually somewhat surprised by how peak-picking is almost NOT covered in any course that I know of, when in fact it is very, very useful and needed in almost ALL dsp applications. Googling around, you usually find some peak picker algo hidden in dark crevices of the internet. But no one seems to have given this the time and light of day that I believe it deserves. > > > Almost everything at the end of the day involves finding, and picking peak - or peaks! > > > ... > > > > A simple Google of "peak picking" (without quotes) produces 25,000,000 hits. I can't speak for them all but most of the first hundred are relevant to signal processing. There seems to be plenty of daylight if you actually search. If you want your searches to be more effective, you need to expect to learn new vocabulary from your area of interest. The classic literature of spectrum analysis uses "ORing" and discusses "ORing loss", for example: > > http://scitation.aip.org/content/asa/journal/jasa/72/1/10.1121/1.387975 > > and one of Nuttall's papers downloadable at > > http://handle.dtic.mil/100.2/ADA235774 > > > > Another relevant vocabulary addition would be "order statistics" and "order statistic filter" (6,580,000 hits, at least several relevant to signal processing) > > > > There really is a lot available. If you find a particular area of interest isn't covered, narrow down you question by identifying the area of application. > > > > Dale B. DalrympleI am aware of the multitude of google links thanks. If I ask humans though you tend you get a faster answer. ;-)






