Is it possible to measure the pulse height of 20 ns pulses at 100 Khz with Fpga?

I would like to measure the pulse height of 20 ns width pulses at 100 Khz. The pulses arrive with a gating signal. I guess this would require a sampling speed of at least 500 MHz.
Itai

I agree with tbob if you are just trying to detect the pulse. If you want to measure the rise time ripple etc, then the 10 samples per pulse may not be fast enough. Nyquist talks about the highest freq component of your signal. For a 50MHz pulse the lowest freq component is 50MHz and the others are above (Check CRC handbook for fourier transforms).
Discalimer: Anything and evrything that I say that is math related should be taken with grain of salt. I once tried to take the log of a negative number!
Sanity Check Q:
Can a FPGA sample faster than it can loop? I thought the top end loop rate fro a FPGA was 40MHz
Oh well.... just trying to help!
Ben
Message Edited by Ben on 01-02-2008 01:03 PM
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction

Similar Messages

  • Measure the Pulse duration by using NI PCI6250 counter module

    Hai All,
    For my application i need to measure the pulse duration from encoder signal.Encoder PPR is 1024. Maximum speed is 4500 rpm.Encoder signal is connected with NI PCI6250 card Counter input. If i configured my NI DAQ task as a Pulse duration measurement icant able to get prober pulse duration. Pulse duration some times reads as zero or near to zero and values also varies. I dont want average pulse duration. I need each pulse duration.Can any one help me to solve my problem?...
    Regards,
    Vijay.  

    Can any one Help me to solve the above problem
    Regards,
    Vijay

  • How to measure the pulse duration of a TTL signal using AI?

    Hi there.
    I would like to know how to measure the pulse duration of a TTL signal using an Analog input.
    These TTL signals comes from an ultrasonic sensor's output. The pulse width of the signal is
    proportional to the distance of the object the sensor detected.
    I have tried using the example "Measure Pulse Width.vi" which uses a counter to measure the
    pulse duration instead. It provides me with correct results.
    However, i will like to know how can i do it using the AI instead.
    I tried it by using the example "Acq&Graph Voltage-Int Clk.vi" which i modified by including a
    timing and transistion measurement vi. Pulse duration was selected as the output. A graph indicator was also added at the output of the pulse duration to monitor the incoming TTL signals.
    However, everytime the TTL signals was detected on the graph indicator, the numeric indicator always produce a "zero" reading.
    I have attached my vi for your reference.
    Can anybody advice me what i have done wrongly?
    Regard.
    Attachments:
    Acq&Graph Voltage-Int Clkv1.vi ‏190 KB

    Hi Paul,
    Today i tried using 2 different methods to read the pulse duration of my sensor signal.
    Both methods use "Acq&Graph Voltage-IntClk" vi as a guide.
    Method1:
    Add a filter vi(lowpass/bandpass) and a timing and transition measurements vi.
    Pulse duration is selected as the output. With some numeric conversion, a centimeter
    reading indicator was created. However, the reading always remains as "zero"
    Method2:
    Add a Mask and Limit Testing vi and a timing and transition measurements vi.
    By adjusting my upper and lower limits, i manage to "filter" a single pulse out from the actual signal.
    However, like the earlier case, the cm reading still remains at "zero"
    I have attached both the methods resulted waveforms for your reference.
    Are there anything that you can advice on?
    Regard.
    Attachments:
    Results_Waveforms.doc ‏141 KB

  • Is it possible to set the cell height in a cell style?

    In the attached screenshot, the cell height is set to exactly 0.125. I put my cursor in the cell, then opened the cell styles panel and created a new cell style based on this cell. But when I apply the cell style to other cells, it does not apply the cell height. There were no overrides or other styles applied to the other cells. I also opened up the cell style definition from the cell styles panel, but don't see anywhere to set the cell height there either. Is there another way to do this that I am missing?

    It is possible - and it's fairly simple.
    To set the row height as part of the cell style, all you have to do is use the cell inset above and below. As long as you set the style as 'At least' then this works perfectly well for having predefined cell styles.
    I have been using this successfully for large financial documents for some time without any hitches. For example I use it to get separation between sections within the tables by having a style with extra space above, and similarly for totals rows at the bottom of the table. It can of course also apply different stroke styles at the same time. Having the style set as 'At Least' also allows for multiple line entries to still have the correct spacing above and below.
    So if you spend a bit of time calculating required heights and setting up your styles, then apply a keyboard shortcut to each style, you can then save a whole lot of time when formatting the document.
    I've just finished nearly 400 pages of financials using this method over the past couple of days!
    This solution may not suit your sitation, but if you have a lot of tables to get through it's got to be worth giving it a try.

  • Possible to measure the output voltage of magsafe2 with a multimeter?

    As per subject, I have what i suspect to be a faulty 85w Magsafe 2 adaptor for my MBP Retina and I would like to determine if it is truly the adaptor that is faulty, or weather there is a fault with the MBP itself.
    Long story short, the MBP is no longer charging and the LED on the Magsafe 2 connector is no longer coming on, yet was a couple days ago.  I know the obvious answer is that if the MBP is not charging, the adaptor is faulty.  However would the LED come on if for instance, there was damage tio the logic board etc...?
    Although nothing has recently happened to either the MBP or adaptor, it did suffer a fall 18 months ago which resulted in a repair via an authroised repairer, although i am not entirely confident with the repairer but was forced to use them by my insurance company.  Admittedly the MBP has worked flawlessly since that repair (aside from a couple of dead pixels but thats another issue) but i cant help but worry that something else is amiss.

    I am aware of the pin layout of the connector but i had read that it will not output anything until activated to do so via the control pin (centre) and am unsure if it is possible to safely trigger this in order to get a reading.
    I might have tried the suggestion of checking the system information if the MBP was not now dead, but even so, it would not definatively tell me if the fault was in the adaptor or the logic board surely? I mean if it said "connected: no" all that would tell me is that it is not detecting the connection rather than the connection not being there and i am unclear on how the MBP detects this (other than the obvious i am getting power/i am not getting power).
    I dont mean to dismiss your help, but coming from an electrical engineering background my instinct is to determine if there is juice coming out of the adaptopr and if not i can take the whole thing in for reapir rather than wait for apple to send me a replacement magsafe adaptor which may or may not solve my problem.

  • DAQmx - Measuring only the pulses w/o pauses of a pulse train

    Hi everyone,
    I've got a problem which I hope you can help me with.
    I'm using a NI 4461 PXI DAQ-card on a PXI realtime system and LabView 8.5.
    I'd like to measure a pulse train @ 1900 Hz with very low duty cycle. In order to reduce the aquired data, I want to measure not the whole train but only the pulses leaving out the pauses in between. I set up the task to aquire a certain amount of pulses (100) at the maximum sampling rate (204,8 kHz) with a definite numbers of samples per pulse (50) and using an available trigger line to trigger the measurement of the individual pulses. I thought to set the Read out butter size to (number of pulses) * (samples/pulse) = 5000 to be able to first measure the high frequency pulses and read them out after the number of pulses is reached.
    But unfortunately it's not working at all.
    Could you tell me, how to configure a task to do that job, please?
    Thanx in advance,
    Ralf

    Hi Ralf,
    Thanks for posting your question here. Are you still working on that issue? When you have done this, do you use the DAQmx-VIs or do you use a DAQmx-Assistant to configure the acquisition? There is also a website helping you to begin this ni.com/gettingstarted or this tutorial.
    Feel free to post any other questions here regarding this topic.
    Regards
    TomBaum

  • Problem with the Pulse With Measurement with FP-CTR-502

    I use a sensor that outputs a PWM-signal (10 Hz; "normal": Duty Cycle 20% (20 ms high, 80 ms low); high = 6 V, low = 0.5 V).
    The sensor is connected to the Gate Input Channel of the FP-CTR-502 with an external supply voltage (Vsup)  of 5 V.
    I tried to measure the pulse width with the "Pulse_Width_Measurement_with_FP-CTR-50x.vi".
    I know, that (due to the specifications) the FP-CTR-502 registers an ON
    state when Vin is 2 or lower and an OFF state when Vin is 3 or higher -
    which means that  the measurement would be "upside down".
    But my problem is that the (measurement-)results of the VI vary from
    0.03  to 1.8 (without the presents of the substance that should be
    measured!).
    Does anyone know what the problem might be?

    I can answer this question myself!
    The answer is in the *OLD* version (July 2000) of the operator's manual for the FP-CTR-502. For some reason, this has been removed from the latest version (June 2003).
    See page 11 of this link for more information:
    http://www.ni.com/pdf/manuals/322660a.pdf
    Christopher Farmer
    Certified LabVIEW Architect
    Certified TestStand Developer
    http://wiredinsoftware.com.au

  • How to measure the frequency of a pulse being generated by a counter

    Hi,
    I am using labview 8.6 to generate 5 evenly spaced pulses for every 1 revolution of my shaft. However, I would also want to know the frequency of these pulses so I can determine the shaft speed. Since I am already generating the pulses using one of my counters, can I still tap into that or task another counter to measure the pulse frequency? If so, how? I have attached my code for generating the pulses and I am using an Ni 9401 module and an NI 9172 chassis. If someone can helo me modify the code to measure and tell me the pulse frequency as well, that would be really appreciated
    Attachments:
    autotrain2.vi ‏19 KB

    You'd probably get a more coherent answer if you didn't bounce around from thread to thread so much...
    How can I generate a pulse train from shaft encoder? (5/13)
    pulse train from encoder (5/15)
    how to measure rpm (5/20)
    How to measure rpm using shaft encoder and labview (5/23)
    This thread (also 5/23)
    I see you ignored my suggestion from the other thread--Kevin's solution is good too but using an encoder task offers more noise immunity (I think this is probably the cause of the problem you reported on the other thread).  You can fix it with digital filtering if you want to keep using a counter output instead of an encoder task.  Noise during transitions is pretty common for a quadrature encoder.
    A finite counter output task uses 2 counters on the 9172 (although you said 9174 earlier at one point--this wouldn't be the case on a 9174) so you wouldn't have one left to make your frequency measurement.  With the solution you have now, you can change to continuous to free up a counter if you don't care about outputing an exact number of rotation's worth of pulses (I'm not sure if you do or not--I didn't read through all of the various threads relating to this application to find out).
    For your actual question in this thread...  Have you tried running one of the frequency measurement examples?  From the code here I can't tell what you have tried (it just looks like a mangled version of the code Kevin gave to you in your other thread).
    Best Regards,
    John Passiak

  • I want to measure the width of a single pulse on a line.

    Hi
    I want to measure the pulse width of a single pulse on a single line. the pulse width may be very low like micro seconds. Any answer plz ! kindly write soon....its urgent. I m ussing a 'Measure Pulse widh or Period VI' for this but his is not working for single pulse.
    Regards
    GNS

    You might try using the "Measure Pulse (DAQ-STC).vi" example located in
    ./Program Files/National Instruments/LabVIEW/examples/daq/counter/daq-stc.llb/*.
    Or if you're using a TIO board, try using the "Measure Pulse (NI-TIO).vi" example located in
    ./Program Files/National Instruments/LabVIEW/examples/daq/counter/ni-tio.llb/*.
    gus....

  • How to measure the phase of a sinusoidal signal?

    I need to measure the frequency and the phase of a sinusoidal signal. I tried to use the Advanced Single Tone Measurements.vi but the phase measured in each iteration (each second) keeps changing (the measured frequency is not in integral Hz, so the first point of the next iteration is at a location different from the location of the first point of the current iteration...I guess this is the reason). How can really measure the phase of a signal (not always changing with time)? When I change the phase of the input sinusoidal signal, the measured phase should be changed though.
    I'm using LabVIEW 7.1 and PCI-6110.
    Thank you very much!
    Marlon

    Marlon,
    Without DAQ hardware I cannot run your VI. DAQmx is not supported on my platform (Mac OS X), so I cannot examine your VI in detail.
    1. The AI VI will wait until it has the amount of data specified. So if you are collecting one second's worth of data at a time, it will wait one second before completing. The 50 ms Wait will run in parallel, so it has no effect on the timing in this case.
    2. Continuous AO is possible, depending on the hardware you have. However, I have no experience with implementing it. Since your frequency is such that you do not end the AO data segment at the end of a signal cycle, you need to be careful to avoid discontinuities in the signal sent to the AO.
    3. There is no data dependency between the AI and the AO. It is possible that the AO could run after the AI in any given iteration of the loop.
    4. Your phase reference should be the excitation signal. The best method of evaluating the response of the beam would be to use two sensors, one at the shaker and one at the tip. Then measure the phase shift of the signal at the tip with respect to the shaker signal. If two sensors cannot be used, either measure the voltage sent to the shaker or use the simulated signal that you send to the AO as the reference. In either case you would need to compensate for the response of the shaker.
    5. Consider the phase shift in the filter. The steady state phase shift is about 14 degrees. The initial transient lasts about 5 cycles of the input waveform.
    6. Your simulation sampling rate is 1000 samples/second. While this satisfies the Nyquist criterion for a 379 Hz signal, it does not give you much data to work with for the phase information. If the hardware will handle it, I would go to 10000 samples/second.
    Lynn

  • How do I measure the CPU/GPU split of load/usage in Java3D?

    Hello,
    Is it possible to measure the split between graphics and CPU usage to find out how much work each is doing, what work is done, and which is doing the most work, for example? If so, how can this be implemented in the Java3D code?
    For example, on a particular system, measure whether the GPU is doing the most work, or the CPU.
    Thanks for your help :)

    In Linux, you can read /proc/uptime. It does NOT give you the load averages that the command uptime gives. It gives you numerically the amount of time the CPU was idle vs how much time it was spent doing something. You need to read these two floating point numbers one every second, or once every 5 or 10 seconds then do the delta on the change: The maths are as follows:
    Read the file in twice in 5 seconds, parse into two floats/doubles:
    double[] last;  // the first read of the file
    double[] rect;  // the latest read of the file
    double ld = last[1] - last[0];
    double rd = rect[1] - rect[0];
    double cpu = (1.0d-(rd/ld)) * 100.0d;This should print the CPU percentage in Linux for that given time frame (5 second updates).

  • How to reduce the row height

    Hi All,
    Is it possible to reduce the row height of a table.Actually the font is small and the row height is more.I dont want to redcuse the width only row height.
    Regards,
    Amrit

    does anyone of u havea ny idea on how to achiieve this.

  • Is it possible to set the project selection?

    The scripting guide tells me app.project.selection is read-only, so this might be a stupid question.  But I could swear I ran across a script recently that was able to select items in the project window (yes, it would be helpful if I could remember which script does this).  I'm hoping to write a script that will select in the project window all the comps that are queued for render.  Is it even possible to set the selection?

    Paul Tuersley over at aenhancers came up with the answer:
    http://www.aenhancers.com/viewtopic.php?f=8&t=1374&p=5243#p5243
    You add and remove items from the project selection by setting the item's .selected flag.

  • Is it possible to disable the garbage collector?

    I was just wondering if it's possible to disable the garbage collector... Thank you.

    Try running with the -Xnoclassgc parameter.
    http://java.sun.com/developer/JDCTechTips/2004/tt0420.html#2

  • Measure the height of an square pulse

    I'd like to measure the height of an square pulse. The pulse is 10 mus broad and betwean 0V and 4V high. The occurence of the pulse is random, so the application must be triggerd.
    I searched already the ni page and forum for matching solutions, but haven't found any so far.
    I'm using a PCI-6115 DAQ-card.

    10e4 and 10^4 are NOT the same thing.
    You wouldn't think that 1.23e4 and 1.23^4 are the same thing, would you?
    10e4 = 10 x 10^4 = 100,000
    1e4 = 1 x 10^4 = 10,000
    If you want to catch a 10 MicroSecond pulse, that would suggest a sampling rate of 100 kHz, bare minimum.
    For 5 seconds, that's 5 x 100k = 5 million samples = 10 million bytes (assuming a single channel, recording as I16).
    Depending on CPU speed, and RAM available, you could try the brute-force approach: record 5 seconds of data, then loop thru it and pick out the pulses.
    I would suggest a trial:
    1... Generate a 5-million sample array of I16 zeroes.
    2... Change a few of the samples to +1000 (or something)
    --- Now you have some phony data to play with.
    3... Record the current millisecond timer value (T0).
    4... Loop through the samples: If sample(I) > threshold and sample (I-1) is not (use a boolean shift reg.), then declare a pulse to exist at sample I. Append I to the array of indexes you're keeping.
    5... When the loop is done, record the current millisecond timer value again (T1).
    6... Subtract T1-T0 to get elapsed time. If it's greater than 2000 mSec, you can't use this approach.
    7... Compare the results (indexes of peaks) to the peaks you put in (step 2). They should be the same.
    If you can use this approach, it is the simplest to program.
    Otherwise, you will have to use a double-buffered approach:
    1... Define a CHUNK size of say, 2048 samples.
    2... Set up a continuous DAQ operation to use a buffer of 2 * CHUNK samples.
    3... Keep checking the DAQ backlog until the backlog is CHUNK or greater.
    4... Read CHUNK samples from the buffer.
    5... Search the chunk for pulses, append indexes to your results array.
    --- Don't bother to read every sample in volts - too time-consuming - read it in binary (I16). Convert the peaks to volts afterward, if needed.
    --- You need a threshold to distinguish a '1' level from a '0' level. The '0' level won't be 0.0000 volts, there will be some noise.
    --- You might be able to measure the noise during the 2-sec down time, and establish your threshold that way.
    --- The seconds approach assumes that the CPU is fast enough to process a chunk in less time than it takes to acquire one. If not, you're out of luck.
    --- You don't want the chunk to be too small, as the overhead of calling the DAQ READ will swamp the processing time.
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

Maybe you are looking for