Is my idea feasible?(pulse measurements.vi)

Dear All,
I am using the "Pulse measurements.vi" to analyse the waveform get by DAQ card. And it need at least 1.5 periods of
waveform data. Due to the unknown frequency of the signal, I don't know how to set the sample rate which is too fast
that one time of N sample acquisition won't obtain the enough period for the vi, while too slow that the high
frequency signal will not be get.
So I am wondering that if the sample rate can be adjust dynamic. For example, at beginning a high sample rate is
initialed while if the pulse measurements.vi give error that "the waveform did not cross the mid reference level
enough times to perform the measurement", a lower sample rate will be adjust until the error is not absent.
I don't know if it is feasible or someone have done some experience of this.
If some example vi is absent, would you please attach it? Or if there is some other good way to solve it?
Thank you very much.
Hugo

Lynn,
       Thank you!
       I have modified your vi which runs better
       In the zero case of the inner shift register I wired the new data to it which can measure the waveform dynamicly when I change the frequency during it running
      Thank you for your help!
Hugo
Attachments:
frequency2.2.vi ‏31 KB

Similar Messages

  • Quick Question On Pulse Measurements

    I was wondering what the percents are the percent of on the Pulse measurments.vi   Default (10,50,90)%
    I understand the low,mid, and high part of the vi. But what are the percents referencing? It it simply  % of your largest pulse?
    I know it isn't very clear what I am asking but Im not sure how to ask it more clearly.
    Link to help doc

    johnsold wrote:
    Nate...,
    Typically the Pulse Measurement VI used on something which looks like a rectangular pulse with a little noise, overshooot, ringing, ...  Your signal is not what one would normally call a pulse by that definition.
    In the first image you posted how many pulses do you count? 11? The little spikes (amplitude about 0.1 at 3.318, 3.331, 3.341, and others): Are they to be counted or rejected? Do they alwyas occur before a big spike? Some little ones are not followed by big ones but all the bigones seem to be preceeded by a small one.  Is there a minimum dleay between successive pulses?  Analyzing data like this can be challenging.  Use all the knowledge you have about the process which generates the data to help.
    Lynn
    Hmm, all I had seen was sine waves before with the pulse. But, you seem to be right, rectangular pulses make a lot more sense.
    Yes, I am just counting each period. I just was planning on using the pulse vi to measure the giant spikes to count how many of those occur each second. That first graph is a sound wave of a weld shorting. I want to know how often it shorts a second. I currently just have it detecting an absolute value (looking for that giant spike) and however many times it detects that I average and turn into total shorts and average shorts.
    It works but it is not very elegant.
    And you are correct about some of the small spikes not being followed by a big spike. That is molten slag splashing about. This short one right before the sharp spike is the sound of the arc igniting (300 Amps worth).
    Can you think of any more elegant solutions to detecting the pulse? I am going to do some digging around..
    Thanks Lynn!

  • Buffered freq/pulse measurement that can tolerate oversampling

    I would like to synchronize a buffered freq or pulse measurement to a continuous AI task using the shared ai scan clock.
    The problem is that there maybe times were there are slow to no pulses to measure and the DAQmx driver will throw an error
    indicating that multiple samples clocks were received before any pulse measurements could be made.  What I would like is to have
    the sample clock default to a measurement of 0 and this value would be placed into the task buffer so that it will always be sync'd
    to the other tasks.

    Duplicate count prevention is a pretty interesting (and probably poorly named) property.  With duplicate count prevention disabled, the sample is latched in on the rising edge of the source.  If the gate is faster than the source, you could miss the samples that you might expect to read 0 (i.e. imlpicitly-timed buffered period measurement).
    This isn't exactly what's happening on the X Series (Duplicate Count Prevention is always "True" for frequency measurements on X Series).  The problem is that there is no sample available in the counter FIFO on the edge of the sample clock.  I believe the error is thrown by the hardware and there isn't much that NI could change in the driver to correct for it, but I'll investigate a bit more just in case.
    In the meantime, you might have to resort to counting edges of your external signal sampled from the AI Sample Clock.  If your external signal is high frequency, this would be suitable, but I think it's probably more likely that your external signal is relatively slow so doing this would introduce a very large error.  I'll think about this some more and post back if I think of a workaround.
    Best Regards,
    John Passiak

  • Can pulse measurement.vi measures 2M points with 10ns time interval?

    Hi,
    I used pulse measurement.vi to measure the pulse duration of waveforms when the waveforms exceed certain threshold level. The data file has 2 millions data points with 10ns time interval.  But I got error message saying that
    "The waveform did not cross the mid reference level enough time to perform this measurement. Check the signal length, mid reference level, and reference level unit."
    I was wondering if pulse measurement.vi is capable of handling such large file or it was due to my paramenter errors.
    Thank you for your help in advance.

    I realized that I can't really modify the percent level settings or specfication of the pulse measurement.vi. For instance, I changed the percent level setting to peak instead of the default auto select. After running the VI unsuccessfully and I reopened the pulse measurement.vi, I saw the percent level setting was set to auto select again instead of peak method. I have attached the image of the block digram and a very small part of the waveform data. I hope you can open both.
    Thank you.
    Attachments:
    pulse measurement.doc ‏45 KB
    example.txt ‏2 KB

  • Pulse Measurements vi modification

    Hi,
    I am currently using LabVIEW 7.0.
    The pulse measurements vi histogram method uses the 40% lower and upper histograms to find the low and high state levels.
    My application requires me to take a look at the 10% lower and higher histograms, does anyone has a suggestion on how to modify that vi to fit my needs?
    Thank you

    Just to clarify, the 40% refers to the range of the histogram that is searched to find the peak histogram levels (or state levels). Then the reference levels are typically set at 10% and 90% of the resulting range defined by the two peak histogram values.
    There is no way to modify the 40% histogram search range in the Pulse Measurements.vi. The alternative would be to perform a histogram separately on your input data and process it according to your requirements. The resulting reference levels can be passed into Pulse Measurements by changing the ref units input of the reference levels cluster to "absolute".

  • Pulse measurement Error

    I used the Pulse measurement 1 Chan VI in my project and could see that the VI pops up an error in few cases (Error -20308 occurred at "NI_MAPro.lvlib:ma_ptmFetch.vi:2" when called from "NI_MAPro.lvlibulse Measurements 1 chan.vi:1").
    I have attached the data cluster of a failed case. Please let me know, wat is going wrong?
    Attachments:
    Pulse Measurement.vi ‏16 KB

    HI
    The data you are passing to pulse measurement vi is very small because of that it is giving the error.
    Please find attached image for more detail. I have just appended the same siganl four times
    Hope this helps
    Regards
    Santosh
    Attachments:
    data.JPG ‏232 KB

  • Pulse measurement for 500hhz signal

    I am using USB 6251 daq card. I need to measure the number of pulses arrived with in some start time and end time. the saignal can vary upto 500k hz.Also i need the pulse arrival time for all pulses.
    if i configure  task for pulse width mesaurement in daqmx can i be able to measure the pulse count and pulse arrival time (upto 500khz)
    Solved!
    Go to Solution.

    I suppose what you are reffering to is the timestamp. when you use the low level VI's of DAQmx you can obtain the signals as waveform data type, which has the initial sample time t0, the sampling intervals dt as well the sample values array Y. You can do the rest by obtaining each of the parameters in waveform pallette.
    Hope this helps!
    Shreyas Hebbare
    Shreyas Technologies
    India

  • Height Pulse measurement

    How can I measure pulse height by my DAQ card ?I am a LabVIEW user (6.0)

    Hanh,
    To measure the height of a pulse with your DAQ device, you will need to acquire the pulse signal with an analog input channel and analyze the waveform in software. LabVIEW includes a VI that makes this analysis simple. Amplitude and Level.vi outputs a waveform's amplitude, high state level, and low state level. This VI is available from the following location:
    Functions >> Waveform >> Waveform Measurements
    I have also created a quick example that acquires a signal and determines its amplitude and high state level. I have attached it below.
    Good luck with your application.
    Spencer S.
    Attachments:
    Pulse_High_State_and_Amplitude.vi ‏92 KB

  • Pulse measurement

    I'm recieving a pulse from a digital input, but i need to measure the time between pulses. how can this be done?

    What hardware are you having??
    A counter channel should this job

  • Measure a single pulse width using usb 5133

    hi im trying to measure the width of a single pulseoutpout from NI SCOPE express
    however pulse measurements.vi seems to expect more than a single pulse.
    any ideas?
    ta

    Hi Slugger,
    Can you first try this with the SCOPE Soft Front Panel (SFP) located in Start >> Programs >> National Instruments >> NI-SCOPE >> NI-SCOPE Soft Front Panel.
    This should give you the screen below:
    Please set the items as seen in the red boxes. Make sure your trigger channel is correct Mode is set to SGL and press the measure button.
    This will give you a Scope measurement screen. Please press the Add button. Select the correct Channel and then in the measurement type choose "Period".
    On the main SFP window press the run button. Does the measurement give you the reading you expect?
    I do not have a Scope card to test this yet, so I have been using a simulated device.
    Regards
    JamesC
    NIUK and Ireland
    It only takes a second to rate an answer

  • Pulse/Period measurement to control VI

    Hi
    I am enquiring regarding controlling a vi iterations with an external trigger. Let me summarise my VI first.
    I have a for loop using single point aquisition i need to run for a specific number of iterations depending on the time base between my external trigger (this is approx. 1-3 seconds). This is located in a while loop containing a number of other data manipulation including limit testing etc. The reason i am using single point rather than buffered is that i need to display the data in RT and (from my knowledge) i can't get the buffered aquisition to do this, or even waveform AI to do it either.
    I have used the measure period VI in labview to obtain a time in either s or ms within the while l
    oop and passed this to my for loop to iterate x times.
    The problem is (which actually makes sense!) when the while loop runs it must recieve two pulses from the external trigger before it can pass a number to the for loop. The result of this is that i lose sequences (a sequence is the data occuring between the pulses).
    The VI does exactly what i want BUT the timing is all wrong.
    What i need the VI to do is capture the time between ALL the pulse sequences, so that when the VI reiterates, the number of times the for loop must iterate is already in place. I have tried buffered pulse measurement but can't seem to get it to work as i think it should.
    Any ideas? It is kinda difficult to explain this exactly in writing but any solutions appreciated.
    R

    Ross,
    There are definitely different ways of doing this. The way you have done this in your VI will work; however, there are drawbacks. First, each time you call the AI single point VI, it performs a configuration, which takes time, so you're doing this 4 times every loop. This slows down your readings.
    A better way is to scan all four channels at once, and then read them all at once, saving the time to configure every loop. Even better than that is to run a buffered acquisition, and read the most current data out of the buffer.
    Therefore, I would propose taking a look at an example in the LabVIEW directories for a Continuous Scan example. It will show you what VIs you need to set up the acquisition. Then, there will be a while loop w
    hich reads the data. What you'll need to do is look at the inputs of the AI Read VI. There's an input to tell it where to get the data. If you set it to "Relative to the end of the buffer", and tell it to get 1 point, you'll get the most up-to-date point for all 4 channels. Then you can combine the channels to get your plot, just as you are now, and you can look to see if your trigger happens.
    Second, when the trigger does occur, you can do an AI Read outside of that loop and read the ENTIRE buffer, to get ALL of the points. These will be at whatever scan rate you set up, but they will be nice and evenly spaced, not determined by the loop time. So, in this manner, you can still get real-time updates of what's happening, but your scan rate can be higher than the loop time, and you'll still get all the data. Got it?
    If you need an example to demonstrate how to do this, I'd be glad to show you.
    Mark

  • How to measure the time a pulse is high for?

    I am using Pulse measure.vi to measure the output of a comparator. My comparator output feeds to an LED. The duty cycle is 50% so the LED just flashes on and off. I want to measure the time the output is high ('ON time') and I have been getting this by just multiplying the pulse width measure by the no. of pulses but I want to modify it to measure the 'ON time' of random signals with different duty cycles...
    The aim is that I am taking in a signal and need the LED to turn on when the signal 'ON time' reaches a certain specified time.
    But before I continue with the LED I am wondering how to add up the time the signal is high for?

    Hi PinkLady4218,
    You should be able to use one of the shipping examples to do what you need, please open LabVIEW and go to Help >> Find Examples.
    From the Example Finder please go to Hardware Input and Output >> DAQmx >> Counter Measurements >> Period or Pulse Width >> Meas Buffered Semi-Period-Continuous.vi
    You will then need to deinterleave the output array as it will show high time then low time then high time then ...
    You will need to confirm the order these values appear and then you can use a function from the arrays palette and use the function "Decimate 1D Array"
    Regards
    JamesC
    NIUK and Ireland
    It only takes a second to rate an answer

  • PXI-6624 Pulse Frequency measurement

    Hi.  I'm working with a PXI-6624 and am interested in doing pulse frequency measurements to get both frequency and duty cycle on its inputs using DAQmx.  
    Whenever I go to create the virtual channel however, I get error -200431:
    "Selected physical channel does not support the measurement type required by the virtual channel you are creating."
    "Requested Value: Pulse Frequency"
    "You Can Select: Frequency, Period, Pulse Width, Semi Period, Two Edge Seperation, Position:..."
    Is this card really not capable of doing these pulse frequency measurements?  
    Solved!
    Go to Solution.

    Yes, the "Pulse" (not to be confused with "Pulse Width") measurement was introduced with NI's STC3 devices including X Series and CompactDAQ.  
    Pulse Measurement:
    However, you should still be able to measure frequency and duty cycle on your card with a semi-period measurement:
    Semi-Period Measurement:
    Images are from the X Series User Manual.
    The difference between the two modes comes down to how the data is stored and buffered on the card--with the semi-period method the hardware doesn't distinguish between high and low samples and puts everything into a single buffer.  However, if you start the counter off the appropriate edge (see below property node), then you would know in software the order of high and low samples and can pretty easily calculate frequency and duty cycle from this.
    Best Regards,
    John Passiak

  • I am having data i want to measure pulse width without using hardware and tell me how to start and stop soft timer using labview

    soft pulse width measurement

    If you are creating a pulse in software somehow, then you can use Pulse Measurements.vi that's on the Analyze>Waveform Measurements palette. This will require that the input is of the waveform data type with signal and timing information. There's several timing functions on the time & Dialog palette that you could probably use. Check out Tick Count and Elapsed Time. If you could provide more details on what exactly you need to do, we could provide more help.

  • Low frequency pulse duration measurement

    We have low frequncy pulse duration measurement to be done . We have tried with pulse measurement but it shows error for the frequency bellow 1.5 Hz. We have input signal of frequency varie from 0.5hz to 3 hz .Please suggest us is there any other method that can be used for mesureing the pulse width with low frequency mentioned above .If this can be done using tick count , please send us the example .
    Regards,
    Sharanu

    Hello Sharanu,
    I'm not sure you will be able to measure a frequency below 1.5 Hz in
    the traditional way.  However, I would like to ask you some more
    questions about your system.
    1) What hardware are you using?
    2) What is the error you are receiving (please include the exact error text)?
    Eric
    DE For Life!

Maybe you are looking for

  • I forgot my ipod touch 5 passcode, itunes wont let me restore

    Okay so heres the problem: i have forgotten my password to my 5th gen. Ipod touch. I have tried restoring it, didn't work because of the find my ipod thing. So i put it in DFU mode and itunes told me that it could take up to 60 hours to update and re

  • HT1846 My iMac 24" is mid 2008 and I have just instaled Win7 Pro 64 bits. All went well execpt...

    Hello everybody, My iMac 24" is mid 2008 and I have just instaled Win7 Pro 64 bits. The windows installation went very well, except wen I starte to use the Boot Camp CD for the drivers and then I have this error "Boot Camp x64 is unsupporteded..." So

  • Help me on how to update values with some condition ?

    hi.. I have data as below:- select qualifier from nv2_audit_log where qualifier like '%NXPRI%NXUPM%'; /acec/nv2am/data/input/NXPRI/NXUPM.P691011_691110 /acec/nv2am/data/input/NXPRI/NXUPM.P691011_691110 /acec/nv2am/data/input/NXPRI/NXUPM.P691011_69111

  • Error Creating New Application on Application Express 3.2

    Upgraded from 3.0 to 3.2...had some issues with logging back in but fixed those. Now when trying to create a new application from scratch I am getting the following error: ORA-04023: Object APEX_030200.WWV_FLOW_MODEL_API could not be validated or aut

  • ID and InData

    We were asked to put together a catalog from files/text that came from a database. When it was imported into ID it became clear that the resulting text couldn't be used, i.e., no formatting, everything that was supposed to be together was scattered r