Peak detection in certain frequency

Hello everyone.
I am a rookie of labview, and I want to realize a program.
The program reads in data and then do FFT transform.
After getting FFT waveform, I want to search the waveform for peak in certain frequency, say 0.4~0.6Hz,
and then output its magnitude.
I have done the FFT part, but I have no idea about peak detection in certain frequency.
Please help me! Thanks!

Isnt this what you want ?
Regards
Asad Tirmizi
Design Engineer
Institute of Avionics and Aeronautics
" Its never too late to be, what u want to be"
Using LabVIEW 8.2
Attachments:
FFT min max.vi ‏111 KB

Similar Messages

  • Looking for function or vi to calculate 1/2 power points of data obtained from peak detection vi

    I am analyzing vibration data and need a function or vi that will operate on peak data returned from the LabView Peak detection function and provides 1/2 power points or sideband frequencies. These are needed to compute a "Q" factor. So far I have not been able to find anything.
    Thanks, Fran

    The sound and vibration toolset may help here.  there are several vibration level measurements including peak.  With the advanced FFT functions in the Sound and Vibration tools, the zoom FFT can be used to identify and find sidebands and associated amplitudes. 
    here is a link to the manual
    http://digital.ni.com/manuals.nsf/websearch/1F8691E94728BDF5862570490058C3B2
    here is a link to the toolset
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/10521
    please note the bullets on the above page (about half way down) noting peak detection, etc.
    Preston Johnson
    Principal Sales Engineer
    Condition Monitoring Systems
    Vibration Analyst III - www.vibinst.org, www.mobiusinstitute.com
    National Instruments
    [email protected]
    www.ni.com/mcm
    www.ni.com/soundandvibration
    www.ni.com/biganalogdata
    512-683-5444

  • Problem in peak detection

    Respected sir/madam,
    i am actually processing human radial artery pulse signal... i acquired that signal and linearised that by using filter...
    there is a problem in peak amplitude detection and location...by manually we can say there is more number of peaks ..but peak detector shows only 25 peak's amplitude and their locations...i can't understand about locations that shows..i attached the data which is in .lvm extension and the vi
    please help me to rectify the problem..
    thank you
    Attachments:
    Untitled 2.vi ‏100 KB
    Untitled 2.vi ‏100 KB

    Once again the Dynamic Data Type (DDT) generated by the Express VIs hides the real problem.
    The data segments are too short to reliably detect the peaks - not every segment has a peak and some peaks may be partly in one segment and partly in the next. By combining all the data into one waveform before filtering and peak detecting, it is possible to get reliable matching between the "eyeball" peak detector and the software peak detector.
    Note that the large transients at the beginning of the data set are detected as peaks. These transients are due to the real transient in the data and the transients of the filters. I did not attempt to remove them. You could use Array Subset with either manual selection of the end of the transient or some automated process based on the larger amplitude and lower frequency of the transient compared to the real signal.
    There is  a lot of "stuff" in this VI - things I tried and did not remove and multiple ways of doing things.  The enabled diagrm of the Diagram Disable structure has a constant with the data from your file so that I did not need to read and process the file repeatedly while working on the filters and peak detector.
    Comments in no particular order regarding what I did and how the posted VI works.
    1. The DDT data from Read from Measurement File.vi is converted to an array of waveforms. The Waveform data type is well docmuented and the internal data structure is readliy accessible.
    2. Each element of the array of waveforms from Read from Measurement File.vi is appended to the corresponding element from the previous iteration to form one array of waveforms containing all the data in the file. This is displayed on Array of Waveform, Array of Waveform 4, and Signals total. Note that these are graphs, not charts.  The data is also put into 2D arrays as Array of Waveform 2 and Array of Waveform 3.
    3. I do not have Advanced Peak Detector PtByPt.vi, but I think the data is not truly point by point so this may be a poor choice.
    4. I used the standard filter VIs (rather than Express VIs) to stay away from DDT. The outputs are slightly different, but the Express VIs do not give you complete control or knowledge of what the filter setup is. I used Butterworth filters for both filters and adjusted the cutoff frequencies slightly to get similar waveforms.
    5. I used the standard Peak Detector.vi from the Signal Processing >> Signal Operations palette. It reliably finds 104 peaks over a wide range of widths and some variation in thresholds.  That count includes the transients at the beginning as mentioned above.
    The .2 VI contains all the junk code I described above. The .3 VI is a cleaned up version.
    Lynn
    Attachments:
    Untitled 2-9.2.vi ‏760 KB
    Untitled 2-9.3.vi ‏183 KB

  • Waveform peak detection ...Please have a look

    Hi folks,
               I am trying to acquire 2 signals and then detect the peaks of each of them and divide the peaks and display it in a waveform chart.But my Peak detection doesnt work at all...I tried plugging in values from 3 to 10000 but it just doesnt work...Please have a look at my VI and feel free to point out any errors in my VI..
    Thanks
    Attachments:
    slope 2 channels3.vi ‏51 KB

    Hi,
    Had a look at ur VI
    tell me, do u need a single peak for every iteration or a series of peaks above a certain threshold?
    If it is a single peak for each acquired waveform , then extract y array from the waveform cluster( you have already done it in ur VI) and connect it  to 'find array min max' function found in array functions palette and u get the single peak for each waveform.
    If it is a series of peaks u are interested in, then compare all these values inside a for loop.
    Index each element inside a 'for' loop, check it for threshold using a conditional case structure and put it inside a shift register.
    regards
    Dev

  • How to measure error on peak detect?

    Hello!
    I'm using the vi Waveform Peak Detect to find peaks in some signals that we analyze at the lab where i work. However, i must know also what's the error on the measure. Anyone knows if there is a vi that measures peak AND the error on the values found? Or at least a mathematical way to find the error myself?
    Thanks!

    This is not an simple question to answer. When you search for the peak value of a signal you have to make some assumptions about that signal. For example if your signal looks like [1, 1, -1, -1, 1, 1, -1, -1, ...], it may be difficult to define its peak value.
    The first approach is, that your signal is a square wave of amplitude 1.0 and normalized frequency = 0.25. It this case the peak value is also 1.0
    But the same signal could be the result of the sampling of a pure sine tone of amplitude 1.4142 (SQRT(2)). if you sample your sine tone at 45, 135, 225 and 315 degrees of phase, you get the same sequence of samples. In this case you would like your peak result to be 1.4142.
    So the error can be as big a 41% (3 dB). This is of course an extreme situation, and
    in most case the error is much smaller.
    In general, the higher the relative bandwidth of your signal is (the ratio between the signal bandwidth and the used sample rate), the most uncertain is your result. So if you want to "stay in control" you need to make sure your signal is sampled at a rate that is high enough to give a good representation of your original analog signal.
    As an option, you may want to re-sample your signal (to a higher rate) using an appropriate algorithm. The new resampling VIs offer various interpolation algorithm that you can experiment with, depending on the nature of your signal. The peak detection VI will then do the work for you.

  • Peak detect error

    Hey guys.
    I have a problem with my peak detect on a Power spectrum signal. from http://www.ni.com/white-paper/4278/en/ I know that 
    I would like to have f = 1 meaning that the frequency at which the acquired time-domain signal was sampled (Fs) has to be equal to the number of points in the acquired time-domain signal (N). 
    When i try to do this the peak detect returns the error 20013 the width must be greater than zero and smaller than sample rate.
    this makes no sens to me ? 
    When i have Fs = N x 10 it runs. 
    I have added the VI that i have problems with ! if you need the whole project I will gladly add that to.
    Attachments:
    Both sensors.zip ‏329 KB

    Hi Genex,
    instead of that huge VI you should attach a smaller one, that demonstrates the problem! Right now we would need your DAQ setup to generate a signal to be able to try that VI...
    So please:
    Generate some typical waveforms, make them default in a waveform control and attach a VI with those waveforms and a typical call (with all your parameters) of PeakDetector!
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • WA Multiscale Peak Detection VI

    Dear users,
    using "WA Multiscale Peak Detection VI', I would expect that peaks detected for a waveform Y are the same as valleys detected for the waveform -Y (y-values multiplied by -1, i.e., waveform flipped upside-down), see the snippet, please. This is not the case, when doing the analysis on some data.
    Opening and examining the subVIs, I only see reversing the synthesis and analysis filter frequencies and changing "greater" for "lower", as for the difference between "peaks" and "valleys" setting.
    The documentation does not state any substantial difference between "peaks" and "valleys".
    Any thoughts on it?
    Solved!
    Go to Solution.

    OK, so after some more analysis:
    One has to "y-flip" the threshold for the valleys. I.e., if one searches for peaks with a threshold T and want to search for similar looking valleys, then there are two solutions:
    a) flip the data (*(-1)) and keep the threshold
    b) flip the threshold (*(-1)) and keep the data.
    Having no option for searching the valleys offered by this VI, I'd came up with the a) solution quickly, most probably -- it's hypothetical, right? Having this options and seeing the results, confused me highly.

  • How can I detect a certain text within a field within CASE using IF

    Dear all,
    for a transformation / generation of values receiving from R/3 into BW I try to
    manupulate three fields. I have a problem detecting a string in a field.
    I am using a CASE with several WHEN clauses on one field. Depending on the
    value, an IF is integrated. There I look into another field evaluating, if it contains
    a certain string. E.g. IF STRING CP 'xyz' OR 'abc'.
    System gives error for the locigal expression. I also tried CS, but same error.
    How can I detect a certain text within a field and which is the right logical
    expression.
    Many thanks in advance!!!
    Claudia

    Hi,
    Folow the blow example...
    May be it helps....
    DATA: hex1 TYPE string,
          hex2 TYPE string.
    hex1 = 'FFFF'.
    hex2 = '123FF'.
    IF hex1 CP hex2.
    ENDIF.
    Cheers,
    SImha.

  • Connecting Inspire T7700 to Audigy 2 NX + Louder bass at a certain frequency

    Hello,
    I wasn't sure if this should go to the soundcard forums instead.
    In the Inspire T7700's box there was a cable that had 4 stereo connections on each side, and I used that to connect the card to the speakers. I have the upmix on the speakers set to none (7.1). Everything works fine except for one detail: I have no control over the subwoofer when playing stereo sources via CMSS. For instance, "subwoofer volume" in the advanced volume mixer has no effect, as well as Bass Redirection (although I admit I don't know what that is). The subwoofer simply seems to somehow combine whatever goes to other 7 speakers. Is this normal? Despite the upmixing, I can control every single sattelite independently, but not the sub?! In addition, turning off CMSS should normally cause only the front speakers to work (without the center); instead, I get the two front speakers AND the subwoofer. When using a true surround source however (e.g. the sample AudioDVD, which by the way has no side channels) the subwoofer volume setting has an effect (although very limited). Also, when trying the Channel and Noise buttons to test speaker settings, they all behave as expected; the sub is independent. So is the T7700's sub really getting an independent channel, and if yes, why is CMSS not taking advantage of it's
    Also, is it normal for the subwoofer to sound much louder at a certain frequency? It really is annoying because it is painful to my years, and to avoid it I need to turn bass down by a lot, losing the nice bass on other frequencies...
    Other than those two problems, I love both the card and the speakers! Now if only the former had Linux support too...
    Thanks!

    I worked around these problems by getting a PCI Audigy 2 and using the kX drivers (http://kxproject.lugosoft.com/). If going to PCI is an option for you, it's worth it. (The drivers do not support USB devices.) I'll never use creative software again. And if these kX drivers didn't exist, I would have no use for their hardware either.

  • Calculating BPM using either Peak Detection point by point or FFT

    Hi Guys
    Im new to Labview and have absolutely no idea on programming and stuff. Im doing a project on Heart Rate monitor.
    I'm using labview to read the analog input to an Arduino Mini. In my attached VI im using Peak Detection Point by point to calculate the BPM but it doesnt seem to work. I took references from several VIs to arrive at my VI. 
    My instructor told me I could try using FFT to calculate the BPM as well but Im not sure how to carry it out in Labview.
    Hope you guys can help me with this.
    Thanks alot!
    Attachments:
    heart signal.jpg ‏43 KB
    Heart Monitor.vi ‏24 KB

    Ok, we have some problems here.
    1.  The Data Bits property is the number bits for a single character that is being transmitted.  You should not use that.  Since you are using an Arduino, it should be sending the termination character.  So just tell the VISA Read to read maximum number of bytes you expect from a single message or just some large number (like 25).  The VISA Read will stop reading the port when it encounters the termination character.
    2. The String Subset is not doing anything.  Just remove it.
    3.  You should move your  Wait to be outside of the case structure.  As is currently written, if you are not taking readings you will use up all of your CPU.
    4.  You should have labels for all of your controls and indicators.
    5.  Your time calculation is completely wrong.  You want to subtract the time of the previous peak from the current peak.  I recommend you use a Feedback Node to do this.
    Here's a slightly cleaned up version of your code.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    Heart Monitor_BD.png ‏42 KB

  • Peak Detection and Display of TDMS file of 4 channels

    The Peak Detection and Display sample VI in the NI Example finder is exactly what I am looking for but I would like to use a recoded TDMS file as its input. The TDMS file is a 4 channel data file.
    Does someone have an example code on how to do this?
    ERB 

    Hi
    I found an example in exampler finder called Read Channel Groups (TDMS).vi, which seems to plot data for four channels written in a TDMS file.
    Its also attached.
    Kind Regards, 
    Kind Regards
    James Hillman
    Applications Engineer 2008 to 2009 National Instruments UK & Ireland
    Loughborough University UK - 2006 to 2011
    Remember Kudos those who help!
    Attachments:
    Read Channel Groups (TDMS) forum.vi ‏20 KB

  • Remove Data values above a certain frequency

    Hi,
    I am analysing the resonance peaks of a vibration frequency spectrum with a bandwidth up to 10KHz, however am only interested in peaks situated between 1 and 4.5kHz. Is there a quick way to automatically remove the channel contents outside the area of interest, using a filter or a simple function?
    Excuse my ignorance - Im new to the area!
    Thanks
    hel

    Hello Hel,
    just use chnfiltcalc. Based on the channel your frequency values are held in you can set a FiltLowLimit (would be 1 Khz in your case) or a FiltHighLimit (would be 4.5 Khz). As FiltType you'll have to set 'Band pass' for only handling peaks between those limitations. You'll also have to decide on FilterType, FilterStructure and so on. Hope, you're familiar with filtering in general?
    Hope this helps, just have a look at the help for further information on the other options required.
    The simplest way to configure the chnfiltcalc function would be setting the parameters first (e.g. FiltLowLimit := 1 and afterwards just invoking the chnfiltcalc command.
    Regards,
    Julia

  • How to use peak detection in labview to detect peaks from data acquisition information

    Hi
    I am a university engineering student who is working in a team to develop a coin detector, its purpose is to recognize different coinage and detect fakes.
    For this we are using LabVIEW 8.5.1. I am relatively new to labview and have had no experience of using to before. We are trying to integrate four voltage signals produced by an electromagnet, straingauge, optical sensor and a proximity sensor. We have already developed signal conditioning for these tests and now wish to put them into labview.
    Our plan is to use peak detection on each of the tests so that labview can detect peaks which correspond to different coin types, provided they meet set criteria for each coin. Then to combine these either using logic or mathscript to produce a Boolean output for each coin.
    One of our advisors helped us develop a peak detection program for a simple simulated sine wave however we are struggling to adapt this for data acquisition information and itegrate it with mathscript and to be honest it does not make much sense. I have attached the program below. Thanks in advance for your assistance. 
    Attachments:
    Strain 2.vi ‏25 KB

    Chris,
    Here are several ways to help  you get started with peak detection:
    1. On your functions palette, you can search for "peak detect" and you'll find several different variations of VIs that will do peak detection.
    2. You may also want to take a look at this tutorial: Peak Detection Using LabVIEW and Measurement Studio
    3. There's an example in the example finder called "Peak detection and display" that will probably be useful. 
    Hope this helps, 
    Misha

  • 6i can't find waveform peak detection vi. Load error code 20

    6i can't find waveform peak detection vi. Load error code 20

    The waveform peak detection VI is found only in the Full and Professional development systems. Do you have the base package?

  • Detect a certain character and return it's index in the string

    what's the function that detects a certain character e.g."X" in a string line and returns its index then continues to detect the next 'X" in the same line. do i also need to store them in an array?

    You have to write one. Also, please stop starting new threads on this topic. This is all related to the same problem you're having, and posting so many threads makes it tough on everyone who wants to help you. It's rude, and wasteful of other people's time; namely, the folks that are actually trying to help you solve your problem.

Maybe you are looking for

  • Sending a text file

    hi please can any one tell me if I want to send a text file residing on my mobile to another mobile using SMS how is it possible I already hv a j2me application tht can send a text message. I want a program tht will send this whole .txt file and the

  • HELP! My computer crashed and I no longer have anything on iTunes

    Can I transfer my music from my ipod to my computer??? I'm scared to plug my iPod into my computer because I'm afraid it will erase everything. I don't have any hard copies of my music because my car was broken into last month and they took all my CD

  • Auto-mapping in Toplink

    how can TopLink's auto-mapping feature be coded if my application was deployed as a Java project? the mapping information/descriptors (and all that) are in a java file. I am about to add 2 new fields to my database table, and would like to use TopLin

  • Global Delight - Boom2

    Hi All, Unfortunately there is no any embedded solution for equalizing the sound output in OS X. This is the reason why I've bought Boom2 from Global Delight. (It's also available via Mac App Store) But there is an annoying problem with it: "The issu

  • Personnel master record & not found (check entry) Message RU040

    Dear Friends, Error message RU040 is observed when confirmation is posted in CO11N for Personnel No. However, with same data confirmation is successfully posted in quality server but in Production server it is giving error. So I am confused why syste