I have done this in VB6. Starting with an array of 20000 * 5 measurements : freq,peak,flag, qpeak,average I just followed the brute force method. While level > limit - value (fe -6 dB) Seek the highest value of all (using for-next loop), and mark with a flag. Highest peak found. Then step up and down in array from peak for a preset freq margin until one of two conditions is met: -Level is increasing again by 1 or 2dB (or more or less, you decide): new peak - Margin is exceeded : far away from peak (copes with wideband behavior) (goal is not to detect peaks to close to each other , unless clearly distinct) Mark all frequencies stepped along as : close to peak Restart but skip flagged frequencies. I do this 400 times. Create user configurable bands and mark only one or two (highest) peaks for reporting.
I created this for peak measurements and a R&S receiver. The 400 found distinct peaks are processed for quasi peak then. VB6 is fast enough for any brute force approach like this on an average PC. Hope this may help. Gert Gremmen Van: [email protected] [mailto:[email protected]] Namens Daniel Roman Verzonden: woensdag 3 oktober 2007 14:40 Aan: [email protected] Onderwerp: Peak search algorithm Hello list people, I've got an ASCII text file of a sweep of frequencies and levels and I want to put together a quick Visual BASIC, PERL, or JAVA program to find the peaks in that data. Anybody have or know of a good place to look for an algorithm to do this? I may be wrong, but I don't think it is a trivial task because in real-world data there are a mix of sources including broadband, etc. -- Dan Roman, N.C.E. Regulatory Engineer Dialogic, Inc. 1515 State Rt. 10 Parsippany, NJ 07054-4538 mailto:[email protected] Voice: +1 973-967-6485 Fax: +1 973-967-6262 - This message is from the IEEE Product Safety Engineering Society emc-pstc discussion list. Website: http://www.ieee-pses.org/ To post a message to the list, send your e-mail to [email protected] Instructions: http://listserv.ieee.org/request/user-guide.html List rules: http://www.ieee-pses.org/listrules.html For help, send mail to the list administrators: Scott Douglas [email protected] Mike Cantwell [email protected] For policy questions, send mail to: Jim Bacher: [email protected] David Heald: [email protected] All emc-pstc postings are archived and searchable on the web at: http://www.ieeecommunities.org/emc-pstc - This message is from the IEEE Product Safety Engineering Society emc-pstc discussion list. Website: http://www.ieee-pses.org/ To post a message to the list, send your e-mail to [email protected] Instructions: http://listserv.ieee.org/request/user-guide.html List rules: http://www.ieee-pses.org/listrules.html For help, send mail to the list administrators: Scott Douglas [email protected] Mike Cantwell [email protected] For policy questions, send mail to: Jim Bacher: [email protected] David Heald: [email protected] All emc-pstc postings are archived and searchable on the web at: http://www.ieeecommunities.org/emc-pstc ______________________________________________________________________ This e-mail has been scanned by MCI Managed Email Content Service, using Skeptic(tm) technology powered by MessageLabs. For more information on MCI's Managed Email Content Service, visit http://www.mci.com. ______________________________________________________________________

