I want to measure te time between the peaks

I need to measure the time between each peaks (QRS peak) in an ECG waveform continuously and plot on the chart.
Can u please help me with this.

Hello kok,
Here is an example.  I am using a sine wave instead but it will still work.  Just put in the threshold to be above the itnermediate peaks that you want to ignore but below the peaks you want to get.  The VI will then tell you what location inside of the array the peak occured.  You can subtract each location from each other to find how many elements pass between peaks.  You can then multiply the number of elements between peaks by the amount of time between each sample.  I hope this helps.
Steven T.
Attachments:
rrmeter.vi ‏16 KB

Similar Messages

  • Want date displayed with time on the top banner

    Want date displayed with time on the top banner
    On the top banner, I see signal, network, wifi, time, alarm, Bluetooth and battery. I want to see date and month and year too. How?

    There isn't a way to display the date in a banner..  BUT - The calendar icon does display the date and day. 
    HTH

  • TS1702 I have recently begun to use Pages and want to transfer a document between the iPad and my PC. I can transfer to the iPad, but not the other way, and am told I do not have sufficient 'privileges'. What does this mean? Also can't use iCloud with Pag

    I have recently begun to use Pages and want to transfer a document between the iPad and my PC. I can transfer to the iPad, but not the other way, and am told I do not have sufficient 'privileges'. What does this mean? Also I can't use iCloud with Pages between the iPad and PC,  although I purchased extra storage in order to do this.

    If you have a PC, you don't have Pages on it. You can transfer Pages presentations to/from iCloud via http://www.icloud.com , however -- you just won't have an app on your PC to deal with Pages documents. Make sure that you have your iCloud account properly configured on your iPad.

  • Can I use the the measured time between the first count and the last count in a fixed time window in order to increase the accuracy of a quadrature velocity measurement?

    I am measuring velocity using a linear encoder. Resolution is 40microns, sample frequency is 1MHz and the real velocity is oscillatory in nature with an amplitude of 200 to 400 mm/s with a freq of about 1Hz. We use a 5ms fixed time window to measure velocity. The quanization error for this is 8mm/s. Can I get rid of the quatization error by somehow measuring the exact time from the first pulse to the last pulse in the measurement window?

    There is probably a way to do it, but it it may be easier to use an X-series board for the job.   They support a new counter capability for count reset on a digital edge without needing to be configured in encoder position mode.  I am not sure exactly how that feature's been implemented however, so maybe it won't make things easier after all.
    The plan based on the hoped-for behavior: 
    1. Configure an X-series counter for pulse generation based on "ticks" of your clock channel.
    2. Set both initial delay and low time to the critical # of ticks.
    3. Configure for count reset on a digital edge (if possible in pulse generation mode)
    4. Configure the count reset value to be the critical # (or possibly 1 less, if possible in pulse generation mode)
    5. If you want the output to remain high indefinitely, configure the counter task to use its own output as a
    pause trigger, and pause while high.
    The way pulse generation works is to preload a # of "low time" ticks into the count register.  Then every source edge will decrement the count.  When the count reaches terminal count (0), the counter's output is toggled (or can be configured to pulse).  The register is then loaded with the # of "high time" ticks and the process continues.
    You would be perpetually interrupting the count-down process as long as you got your triggers in time.  The count would keep getting reset to the # of low counts, keep decrementing toward 0 without reaching it, and so on.  If ever you did reach 0, the output state would toggle high, then the high state would prevent subsequent clock signals from decrementing the count.
    You can conceivably do a similar thing with a 6601, but I'm pretty sure you'd need 2 counters working together to get it working.
    -Kevin P

  • Taking the inut of three channels to graph and then determining the time between the events.

    I am inputting three channels of data. On channel 4 I will have a low to a high, on channel 5 an accelerometer, and channel 6 a high to low. As you can see from the attached VI what I would like to do is capture all three signals and have the time calculated between channel4 low to high and channel 5 level change. Then between the channel 5 level change and channel 6 high to low. I was trying to use cursors but at this point I am lost. I only had two currsors and couldn't calculate,... Can someone please assist?
    Attachments:
    multi-graph_calc.vi ‏117 KB

    Salut.
    Alors pour avoir plusieurs curseurs, tu fais comme sur ton exemple, c'est à dire que tu agrandit la palette des curseurs et tu clique ensuite sur le + avec des flèches au bout pour l'activer.
    Un fois que tu as créé autant de curseur qu'il te plait et qu'il est nécessaire à tes mesures, tu procède de la façon suivante :
    à l'aide d'un noeud de priopriété
    tu met le curseur 0 comme curseur actif. tu récupère la valeur X de sa position (à l'aide toujours d'un noeud de priopriété.
    Puis tu met le curseur actif à 1, tu récupère sa valeur X...
    Tu met le curseur à n, tu récupère sa valeur.
    Tu fais ensuite tous les calculs sur les positions dont tu as besoin.
    Ce que tu peux faire pour avoir un programme plus propre, c'est faire ça avec une boucle (boucle for par exemple, qui irair de 0 à n) tu attribue la valeur de i à ton indice de curseur (noeud de propriété curseur actif) et tu récupère la valeur en X de ton curseur. Tu envoi cette valeur sur la boucle en activant l'indexation. tu te retrouve ainsi avec un tableau de tes positions de curseurs.
    Je te joint un exemple pour que tu comprenne mieux...
    Attachments:
    position de multiples curseurs.vi ‏43 KB

  • I have a laptop with two users and want to share my musice between the two of them on seperaye id's

    I want to share music on my laptop with two different users and two different apple id's but i can find a way of doing this any ideas as you can't have itunes open at the same time on on laptop even in different users

    Hello,
    Are the pdf linked correctly in the website? Is this a public website? If yes, please post the link here.
    ~Deepak

  • Movement, Measurement and time between them

    Hello friends, 
    I have a doubt with my program. I've made a statemachine (using Lab 9.0, no possible to use a new one) to move two motors and make a measurement (IV curve). Motors move and measurement is done, however this measurement is made meanwhile motors are moving, why? 
    What should I do? I want the motors move, then make the measurement, when this is made, then move motors again and so on. 
    Any idea? All help is appreciated. 
    Attached you can find the program (sorry because of the drivers, they are Thorlabs for motors and Keithley 2400 for Measurement)
    Solved!
    Go to Solution.

    lacorgui wrote:  The thing is that if I run the program with the "light" (like in a probe mode) it works fine: first move, then measure once motor is stopped.
    That is called Highlight Execution.  Things with instruments tend to work so much better with Highlight Execution turned on purely because it slows your code down to a crawl.  This just screams the need to add in waits.  The state machine approach is the better way to go.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Measuring time between activation of two boolean

    Hello 
    I want to measure the time elapsed between activation of two boolean variables/indicators. In my code I have DAQ acquiring 2 digital signals which trigger corresponding 2 boolean indicators. Now I am trying to measure time between the event when my first boolean indicator gets the signal  and the event when my second boolean gets the signal. I am attaching my code. I checked DAQ and my indicators everything works fine, but just when I try running the code with the 'elapsed time' part, its not running. Any help will be appreciated.
    Thank You. 
    Attachments:
    Test Code.vi ‏45 KB

    So, feel free to give more detail. I'll just give you a couple thoughts:
    1) The primary issue with your code is that it probably doesn't do what you think it does. How this VI will run is that it will get one data from the DAQmx routine, then pretty much stay in the inner while loop since the event structure has an indefinite timeout. Worse, I don't think changing the value of the boolean controls would trigger the value changed event anyways. In the end, you don't even need the Event Structure to do what you want to do, nor do you need the inner while loop. Just check the values for each iteration of the outer while loop instead and do what you need to do with those.
    2) You are acquiring only one data point at a time. Which is OK if your events are particularly slow with respect to the effective sampling rate of the of loop (which might be able to pick up signals that change on the order of milliseconds or perhaps a bit less). If your signals are faster, you need to think about reading lots of samples at a time (arrays of booleans) and properly triggering your acquisition close to the event it needs to pick.
    3) If your signal is a pulse, make sure that the pulse width of the signal is much longer than than 1 / sampling rate. If it isn't, you could miss the pulse entirely doing this approach.
    4) The faster signals (as long as your have a quick enough sampling rate), the best thing is always to use a counters approach. In many of the DAQ cards and peripherals that NI offers, there are counters that can be driven with the sample clock (one of the fastest clocks on the device) or even a faster time base, and then the 'events' can be used to trigger acquisitions of the counters. Meaning you get exactly what you want: data points that correspond to times when events occur.

  • How to find the elapsed time between 2 events ?

    I want to use the robot class and I have register all events in a file but when I use the Robot. It isn't synchronous. So I should find th elapsed time between two events for reproducing them with the method delay of the class Robot.
    Thanks

    It sounds like you want to reproduce the events with varying time between the events? This is a good idea for a couple of reasons 1) it's possible to enqueue events so quickly that Robot gets ahead of the Java GUI, and 2) every human does their mouse/keyboard activity at varying (and relatively slow, relative to the computer that is) rates of speed. It would help make a more realistic interaction to vary the speed of event reproduction.
    Since you can't control the amount of time between the call to Robot and when the event arrives in the application, you can't be ultimately precise about this. You'll have to accept a teensy bit of slop in the process and just live with it.
    That is ... you can do something like robot.method1() .. Thread.sleep(1) .. robot.method2() .. Thread.sleep(1) ... and that will give slight delays. If you vary the value for Thread.sleep you can vary the event reproduction speed. Early in the development of Robot I experimented with something like this - I set up an EventQueue listener to capture all mouse/keyboard events (remember that each comes with a timestamp) and then reproduced events using the time intervals from the captured events to control the Thread.sleep times between Robot calls. It worked pretty well, and the mouse would dance around in the same way I moved the mouse around.
    - David

  • Time difference between the Identity system and Access System: OAM

    I was installing OAM. Performed the below steps.
    -installed identity server
    -installed webpass
    -setup of identity system console
    -installed policy manager
    -setup of access system console
    The above steps were successfull. Then when i was logging into Access system console, i am getting the below error:
    Error:there was a problem obtaining the userid. One possible reason for this is a time difference between the Identity system and Access systems (Policy Manager and Access system console).+
    The Identity Server, WebPass and Policy Manager are installed on the same machine.
    Userdata repository: OVD 10.1.4.3
    Policy and Config Data Repository: OID 11.1.1.3
    OAM: 10.1.4.3
    Windows2008 - 64bit
    Found document in metalink similar to this issue. suggested to change ldapmaxofreties. but didn't help.
    Any idea on this error. Please Advise.
    Thanks in advance.

    Try this::
    Check Time Difference Between Identity and Access Manager Systems
    Check the logfile in the Access Manager install directory. The default location is <$AMinstall_dir>/access/oblix/logs/oblogfile.
    If the file exists and it contains following line "skew = slack = " that means the Identity and Access Manager Web Servers are on different machines and have not synchronized time within a minute.
    Either synchronize times between the two machines within a minute's accuracy or you can increase the slack by modifying these two files: <$AMinstall_dir>/access/oblix/apps/common/bin/oblixbaseparams.lst: loginslack: <$IMinstall_dir>/identity/oblix/apps/common/bin/oblixbaseparams.xml: loginslack: where numofseconds is more than skew found in the oblogfile.
    For example, if you have following line in oblogfile "skew = 121 slack = 60", set numofseconds in the two parameter files to 130. After doing this, Stop the Identity Manager Web Server. Then stop the Identity Server. Start the Identity Server.
    Then start the Identity Manager Web Server. Start a new browser session and see if you get the same error.

  • ITunes playback has inconsistent gap time between songs

    When I burn a store bought CD into iTunes and then play the CD in iTunes, the gap time between the songs is sometimes inconsistent. There's a pause between some songs but others run into each other. What causes this? Can it be prevented? Thanks.

    Hi Laura:
    Welcome to discussions!
    One workaround is to make a slideshow soundtrack by making a single long track of music from purchased or regular music:
    1) Burn your desired playlist to CD in iTunes.
    2) Make sure you have itunes Preferences set to "just open the CD and not automatically play or import the songs."
    3) Insert the burned CD and iTunes will open.
    4) Within iTunes, select the tracks that you want to join and then use Advanced: Join CD Tracks.
    5) Go to Advanced>convert selection to AAC.
    6) When done, make a new playlist named after the slideshow.
    7) Put the new combined track into the playlist.
    8) In iPhoto, select this playlist for your slideshow.
    You can also Share/Export the slideshow to Full Quality DV; import the resulting Quicktime movie into iMovie and add the music there (or do the whole slideshow in iMovie). If you have Quicktime Pro, you can Share/Export the slideshow (like above), but then open the resulting Quicktime movie in QTPro, and copy/paste your music from within Quicktime.
    Sue
    Thanks to John Keller for typing all of that out!

  • How to count time between two pulses

    Hello everyone,
    I want to count time between two boolean pulses?  Can anyone give me an advice? Thank you in advance!

    Hello Michael78,
    You've right. I have a DAQ board and i want to acquire torque and angle (from a torque transducer). I already done that, but sometimes it doesn't work properly. To acquire this, i count sign changing of the torque to acquire exactly one period (3 sign changing). Torque have a noise, and when passes through zero, count more than 3 sign changing at a time, and this stop my acquisition (figure 2). I want to set a time between 2 counting sign . I tried something with tick count...but i made something wrong . I hope you understand me....
    Attachments:
    Capture.PNG ‏51 KB
    Capture2.PNG ‏47 KB
    Capture3.PNG ‏123 KB

  • Time between CH1 and CH2's waveforms

    Hi Everyone,
    As per attached picture, I need to measure the time between the STARTING time of CH1 (rising) and END of CH2 waveform (rising).  Could anyone provide some sugestions as to how to accomplish this?  Thanks very much,
    Frank
    Attachments:
    TEK0013.JPG ‏82 KB

    Dennis,
    As I mentioned before it looks like there is a problem or bug with the Basic_Level_Trigger_Detect function.  Everytime that I open this vi it appears as a "clone" copy and I can not change any of the invisible controls.
    After I replaced these vis with new vi's from the palette, I can change this control from invisible to visible.  Then after running my program the Basic_Level_Trigger_Detect function will revert back to "clone" again.  I changed the number of trigger setting to 10 and also reverted back to 1, even though a new copy from the palette will have 10 times on this setting.  Please see attached code for more info.  The text file contains the failure data.  Again it seems that the Basic_Level_Trigger_Detect function is not very dependable or releable.  Thanks,
    Frank
    Attachments:
    TDS1012B Acquire Multiple Waveforms_SwitchingTime2a.vi ‏70 KB
    Switching time.txt ‏1 KB

  • E-series. Time between 2 leading edges w/ GPCTR

    We are attempting to acquire the time between 2 first leading edges with 2 light screen signals coming into PFI_9.  The light screen signals send pulses to PFI_9 independently and one at a time.  However, we realize that we sometimes get multiple pulses subsequent to first pulses on each screen and this yields erroneous GPCTR times between first leading edges.   
    We want just the first edges of each screen.  If need be, we can separate the lines from the screens so that screen 1 goes to PFI_9 and screen 2 goes to PFI_4, or some other such recommendation.  If we do that, what might the code look like?
    Attachments:
    ScreenPulses.doc ‏49 KB

    I would bring the signals in on two different PFI lines and approach the problem like this:
    1. Create a Pulse Generation task on one counter (CTR0) to trigger off of the first light screen pulse.
    2. Setup a second task on CTR1 to count edges on CTR0. Set this task to stop (or pause) when it sees the second light screen pulse.
    3. Now you have the amount of time between the pulses (Take the amount of events counted and divide by the frequency of the pulse train generated on CTR0).
    I don't know if this will help you or not, but here is an example of doing this in LabVIEW. The example is in DAQmx which I would recommend using if your hardware supports it. I am attaching a screenshot. If you don't have LabVIEW at least you'll be able to see the program flow from the screenshot.
    I hope this is helpful!
    Garrett H
    National Instruments

  • Unable to measure pulse time, using Counter pulse time 1samp.vi

    Hi
    I am using pci6624 board to measure pulse time . I have selected counter 0 to measure  pulse time & connect the signal to gate0+ & gate0-.
    When i used Counter pulse time 1samp.vi to read the pulse time , i am not able to read the value and i am getting following error msg . If i used Counter DBL 1samp.vi  i am getting out put.
    Please help me
    Attachments:
    pulse_time_measurment.vi ‏11 KB
    Counter_errors.JPG ‏44 KB

    Hi,
    You can try changing the mode to counter -> single sample -> DBL in Daqmx read function
    You can also try this example 'Meas Pulse Width-Buffered-Cont.vi' or related examples from NI Example Finder.
    Cheers,
    Sahil Gupta
    NI India

Maybe you are looking for