Signal vs frequency measuremnt

Hi,
  I am aquiring signal from DAQ board from three channel (Ch0, Ch1,Ch2). I want to measure the frequency of the Ch0 signal and plot it vs Ch1/Ch2 signal. I am sweeping the frequency in the channel 0 from 25kHz to 100KHz. I am using Labview s default 'tone measurement express vi' to extract frequncy of the Ch1 and feeding it as an X input in a XY plot. My Y input is a formula relating to the voltage of CH1 and CH2. But I am getting a moving point rather than a contineous plot in my XY plot. Can anyone help me. I have attached my vi.
Thanks,
prem
Attachments:
Frequency Domain DSR Measurement.vi ‏357 KB

Hi jibon,
Welcome to the LabVIEW forums!
I don't have the hardware you're using, so I cannot run the example VI you've provided, but it appears that you're using an XY graph inside a while loop- this means that the graph will be overwritten each loop.  To preserve the previous data points, you'll need to use a memory structure of some type. 
The simplest way to do this is with the Collector express VI (found in the Express>>Signal Manipulation palette) , but you might also want to try a shift register with a build array function:
This KnowledgeBase article and the examples it references might also be helpful- it has a few links to code that demonstrates using an XY Graph with a history:
KnowledgeBase   4TCFBDW8: How Do I Make an XY Graph Behave as an XY Chart?
http://digital.ni.com/public.nsf/allkb/18B56D8556D​44BF18625753D006EFF7C
Hope that helps!
Regards,
Tom L.

Similar Messages

  • How to convert an anlog signal having frequency range 40MHZ~800MHZ, to digital

    I have an analog signal with frequency range 40MHZ~800MHZ. This is to be converted to Digital Signal and will be given to LPT port of the computer. From there this will be captured and compared with a pre-stored data. Please guide me to do this.

    Hello;
    To digitize an analog signal and have a good and accurate representation of the signal, the sampling frequency must be at least 8 times the highest frequency of the analog signal.That means, that you would need to digitize at 5 GHz frequency.
    NI doesn't have a product that allows that high speed.
    Regards
    Filipe A.
    Applications Engineer
    National Instruments

  • 2 Square signal to frequency with DAQCard ?

    Hello,
    My configuration : PC portable P4 / 1.8GHz, Win 2000, Labview 7.0, DAQCard AI-16E-4, BNC 2110 and two magnetic speed sensors (6000rpm, 120 top/rotary)
    1) I would like to recorde the two frequencies with the two counters of the DAQCard. Can I do it with my configuration (2 counters are enough ?) ?
    2) Can I synchronize these two inputs with analog inputs ? If not, which configuration I need for ?
    Thanks a lot,
    Yvan

    You can make a frequency measure with only one counter. This method use
    the internal timebase as source and your input signal as gate: the
    process take the number of clock period in a period of your input to
    compute it's frequency.
    Accuracy of this method is quite good if the input frequency is small
    compare to the internal timebase. So with the sensor you described:
        6000rpm => 100 rotary per second
        with 120 top per rotary => 12000 top per second
    The AI-16E-4 use a 20MH internal timebase, so I think there is no problem
    More information about frequency measurement...
    For the synchornisation, I'm not sure to clearly understand what you
    need, but take a look to the DAQmx timming and DAQmx start trigger VIs.
    .mrLeft{float:left} .mrInfo{border-left:solid 1px #989898;font-size:x-small;color:#989898}
    Mathieu R.  
      CTD - Certified TestStand Developer / Développeur TestStand Certifié  
      CLAD - Certified LabVIEW Associate Developer  

  • Sine signal with alternatin​g frequencie​s.

    Hello,
    I am interested in generating a sine signal whose frequency and amplitude change after every cycle. For example: lets assume we have two amplitudes a1, a2 and frequencies f1 and f2.
    I want a sine signal with a1, f1 and a2, f2 alternatingly. One sine pulse a1,f1 and other sine pulse a2,f2 and this pattern repeats.

    Preetham1 wrote:
    Hello srikrishnaNF,
    Thanks for the solution. But the issue is I just want to append one cycle of a1,f1 and one cycle of a2, f2. f1 and f2 could be DBL. Let me know if you have a solution. I shall appreciate it.
    I would make an array for your amplitudes and frequencies.  Use a FOR loop to create the waveforms and concatinate.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    Build Waveforms.png ‏23 KB

  • How can I get the peak and valley of a MZI signal

    I am using MZI signal which is similar to sine wave with frequency of 10MHz to calibrate an interference signal. I want to get the peak and valley of the MZI signal and get the corresponding value of interference signal at the same location. The problem is that the MZI signal aquired by DAQ is not smooth, Please see attached filter.PNG, the top left is the MZI, top right is the MZI Zoomed in, you can see that there may be two values that are approximately same to each other. I used a peak detector to detect both the peak and valley and a build array to concatenate them. I am worried that the peak detector may find two peaks or two valleys in a fringe. So I used the filter function in express to bandpass the MZI signal (cutoff frequency is 8MHZ~12MHZ) to smooth the signal, the result zoomed in is  the bottom graph in filter.PNG. But I found that it did not solve the problem but cause phase shift. Is there somebody can give some help?
    Attachments:
    filter.PNG ‏143 KB
    peak detector.PNG ‏69 KB

    I don't know anything about MZI signals, but I do know sine waves.  If this is a sine wave, it is relatively easy to measure its amplitude as long as you know the frequency.  Since you say it is 10 MHz, you appear to know the frequency.  You can use Fourier analysis to determine the magnitude and phase of your signal, as long is it is a steady signal that doesn't change frequency or amplitude.
    Generate a sine and cosine wave using the same frequency.  Divide each wave by the sum of its points.  Multiply each one by your incoming signal and sum all the values, one sum for sine and one sum for cosine.  The sums should be the coefficients of the sine and cosine components of your unknown signal.  The ratio tells you the phase of the signal.  If you multiply the sine and cosine waves by their coefficients and add them together, you should be very close to your incoming signal.  The amplitude of your signal is equal to square root of A*A+B*B, where A and B are your coefficients.
    I may be off by a constant factor here somewhere (probably pi), since I didn't write down the equations and verify them.  These equations are the basis of the Fourier series, though, so they would be fairly easy to find.
    Another option would be resampling.  If you upsampled the data and increased the data resolution by a factor of 10 or so and filtered the results using an FIR filter, you would have a much cleaner signal with a lot more detail.  You wouldn't have any problem locating and measuring peaks and valleys.  This would probably work better with your data, since it looks like it doesn't have a constant magnitude.  To upsample the data, just add 9 zeroes between each data point.  Create a lowpass FIR filter that is based on 10 times the original sampling frequency and has an amplitude of 10.  The cutoff frequency should be half the original sampling rate.  Filter your new data and you should get the same waveform with 10 times the resolution.
    Bruce
    Message Edited by Bruce Ammons on 10-02-2008 09:10 PM
    Bruce Ammons
    Ammons Engineering

  • Several segment of one signal output as a undivid signal

    Hi nice friends,
    I'm working on some signal simulation with LabVIEW, all run well and just run into one signal problem.
    It's a sinus signal, its frequency changes from 15Hz---30KHz smoothly. In the beginning, I thought it would be easy to construct a whole signal and output with the DAQmx Timing.vi (Use Waveform), but things seems not so simple, because of the big frequency(30KHz), I need make the sample rate of the waveform at least 300KHz, which still don't make the waveform smooth enough.
    So I'm wondering, if it is possible to output the waveform as several segments and output them continuously. Still I'm wondering if it is possbile to make it with that big frequency(30KHz)?
    Thank you all for andvance.
    best regards
    badstone
    Solved!
    Go to Solution.

    Exactly, NI PCI 6251 is what I'm using now.
    I know the hardware sampling rate is fast enough, it's just because of the huge samples of the whole sinus signals which last 60seconds with frequency 30KHz(its sinus frequency, to make the signal clear, 10 times is already ), the computer cannot just construct it with low memory, so I want to separate it as several segments, but when I output them with DAQmx APIs, there must be some loop to repeat the "segment signals", and the loop is not fast enough, so there must be short DC values between sinus segments.
    Or if there's some other better way to solve the problem.
    I hope I made it clear, and thanks for your patient.
    For more details, refer to attachment please.
    Attachments:
    segments output as one signal.zip ‏23 KB

  • Continuous frequency measurement~

    Dear sir,
        How are you today?
        I tried to program the "Measure Frequency.vi" in LabView 5.1 .  I've the simplified version
    from "LabView Measurements Manual" in page 10-26. Basically, we want to measure the
    frequency change within 20 ms (chirp). So I just naively added the "for loop" enclosing everything,
    as the attached VI. But the testing result (please see the attached document) showed that
    sometimes the counter/timer (AM9513) lost count. Could you please troubleshoot my VI and
    tell me how I should improve?
        In addition, I tried to use the oscilloscope to see the gate signal from counter-1 (counter 5)
    OUT pin, but it showed 0.14V. The signal from GATE pin of counter (counter 1) showed 5V.
    I was expecting what I would see is something like TTL signals with different pulse widths and
    delay widths. Can you tell me what I was doing wrong?
        Thank you for your previous answers!
    Best regards,
    Margaret
    Attachments:
    Continuous Measure Frequency1.1.vi ‏122 KB
    continuous frequency measurement.doc ‏168 KB

    Hi Margaret,
    I think that there is one way to obtain a count every 20ms. What you will need to do is:
    1. Generate a 50 Hz pulse train
    2. Connect your signal to the a counter source
    3. Connect the 50 Hz pulse train to the counter gate
    4. You will obtain a series of counts over a 20ms period and you will be able to determine the frequency of the signal using post processing by dividing the count # by 0.02.
    I noticed that you are using LabVIEW 5.1. This version of LabVIEW is no longer supported. I highly recommend upgrading to a newer version of LabVIEW. This will allow you to program with the DAQmx driver and creating your application with this driver would be significantly simpler and take a lot less time.
    If you do not want to try this method, then I am attaching the screenshot for measuring the time the while loop takes to execute. I want you to know that the overall time will not have an effect measuring the signal's frequency. There really isn't anything you can do to decrease the execution time for the counter. I hope that you find this information helpful.
    Regards,
    Hal L.
    Attachments:
    While Loop Timing.gif ‏12 KB

  • Problem with normalized frequency on fft

    Greetings
    I have a problem when working with vi fft Spectral measurements, when acquiring an analog signal , the frequency of this switch to a digital frequency affected by the sampling rate, and hence the frequency axis ( of a waveform graph) gives incorrect, how can  I multiply the digital frequency by the sampling frequency to obtain the original analog frequency?
    how can I save as a text file in 2 columns (frequency and magnitude in db)? I tried to write with 'WRITE measurement FILE' but  shows a header file and the columns are time and value, there is another way to store this data?
    thanks

    greetings and thanks for answering
    attached the vi I'm using, the questions are 2
    1. How can I multiply the frequency of the signal by the sample rate to get the right analog frequency for  example (if the sample rate is 1000 for a frequency of 60 Hz , i got  0.06 Hz observed  on the waveform graph)
    2. How can I get a flat file without a statement at the top with 2 columns frequency and magnitude db
    thanks
    Im using labview 7.1
    Attachments:
    channel.vi ‏211 KB

  • How can I delay analog signal?

    I have an analog signal, the frequency is less than 1kHz. I want to get a delayed analog signal. Is it possible to realize analog delay generator using labview (daq card is PCI-6115)? I hope I could specify the delay time.
    Any suggestion will be greatly appreciated!
    Stephen

    Hello Stephen,
    It is possible to institute a delay an analog output. This is best done by specifying a trigger and then beginning the output when that trigger occurs.
    Below is a link to an example program developed for LabVIEW that waits a specified number of seconds and then triggers analog output to begin. This code performs analog input as well, but for your program you could remove that portion. The trigger that is used is RTSI pin 0. After a specified period of time, the RTSI pin 0 is set to 1 and then the analog output begins.
    Analog Input with Delayed Analog Output
    Take a look at this example and
    try to build from it for your code. If you have any further questions on this issue, let me know.
    Regards,
    Scott R.
    Applications Engineer
    National Instruments

  • NI-DAQmx frequency sampling rate

    Hi there!
    I'm working on setting up a data acquisition Labview VI, to measure different signals on a test rig.
    I'm using the NI-DAQmx assistance (the Express VI?) to continously measure analog signals (Variable current, voltage and temperatures). This is working just fine, and i can change the sampling rate by writing to the express VI. The idea is, that the user can change the sampling rate from around 1 to 500 Hz. 
    We do however have a sensor that transmittes digital signals (a frequency), and are using a NI-9423 module to "read" it. As this is a digital signal, another NI-DAQmx express VI is needed to handle it (that's ok), but so far we can't figure out how to alter the sampling rate - it's apperently locked at 1kHz. 
    Being that we want to merge the analog and digital signals to one array, we are recieving overflow errors from the "analog" DAQ, if it's not set at exactly 1kHz. 
    So, in short - is it possible to change the sampling rate of a DAQmx recieving frequencies? So that we to DAQ assistences have the same sampling rate?
    Help would be greatly appreciated!
    - Nicklas
    Attachments:
    DAQissue.PNG ‏64 KB

    Unlike voltage measurements, which tend to be (more or less) instantaneous, frequency measurements take a finite (and often variable) amount of time.
    If it is a slow signal then you measure the number of counts of your reference clock that occur in one period of your input signal. As your input signal varies in frequency, so does the measurement rate. If it is a fast signal, you can either measure how long it takes to get n cycles or your input (again variable) or you could count how many cycles of your input occur in a fixed time period.
    The NI help on frequency measurements describes three different ways you can configure a counter to measure frequency.
    The long and short of this is that generally counter measurements come at variable measurement rates which can be problematic to fit in with a fixed rate loggin system. If the measurement period is much smaller than your desired rate then you can wait and trigger a measurement at regular intervals. If not, you can let the counter run at its own rate, placing the latest result on a notifier, and in another loop just read the latest measurement from the notifier each time you want to record a result. Depending if you counter is running faster or slower than your desired logging rate you will end up with either missed samples or repeated samples. There are inherant timing inaccuracies in both approaches because, unlike analog measurements, the counter measurement is not made at 'that exact time, now!' but over a period of time which may be long or short compared to your logging rate.

  • New M Series DDK Example: High Frequency Measurement with 2 Counters

    This example demonstrates how to configure two counters on an M Series device to measure a high digital frequency. One counter generates a continuous pulse train of a set frequency while the other counts the external signal using the pulse train to latch values. Data is transferred via DMA.
    Use this example to add high digital frequency measurements or DMA data transfer for counter input to your driver.
    Please let me know if you have questions or problems. Thanks :-)
    Joe Friedchicken
    NI VirtualBench Application Software
    Get with your fellow hardware users :: [ NI's VirtualBench User Group ]
    Get with your fellow OS users :: [ NI's Linux User Group ] [ NI's OS X User Group ]
    Get with your fellow developers :: [ NI's DAQmx Base User Group ] [ NI's DDK User Group ]
    Senior Software Engineer :: Multifunction Instruments Applications Group
    Software Engineer :: Measurements RLP Group (until Mar 2014)
    Applications Engineer :: High Speed Product Group (until Sep 2008)
    Attachments:
    gpctex5.cpp.gz ‏4 KB

    You should connect the signal (whose frequency needs to be measured) to Ctr-1, and there gonna be an internal connection between the output of the first counter and the gate of the second counter (as described here).
    You may want to check this link as well.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Measure frequency with 2 counters

    Hello,
    I'm measuring a digital frequency signal using a PXI-6602 module using the 'high frequency with 2 counters' method.  From the examples I have found, it seems that you specify only the counter which is doing the measuring and the measurement time.  How does LabVIEW know which counter is used to generate the HF pulse reference train, for example:
    ctr 0 - measuring 200kHz signal
    ctr 1 - generating  50kHz signal
    Do I independently set up and start the ctr1 generation, and as log as it starts before the measurement commences, does LV then sort it all out without any other input?
    Thanks
    Dave

    You should connect the signal (whose frequency needs to be measured) to Ctr-1, and there gonna be an internal connection between the output of the first counter and the gate of the second counter (as described here).
    You may want to check this link as well.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Frequency divider by 2 and 3

    Hello,
    I'll start by saying that I am new to labview and it is possible that my question will be simple for most. As the topic I need to perform frequency divider by 2 and 3. 
    To digital input card will be given a signal of frequency 50Hz. I can use a USB card 6009 and 6221.
    I found
    a few examples of the frequency dividers on the NI forum and on the
    internet but do not quite know how I could use them in my case...
    For example, the divisor using JK flip-flop in attachments.
    If
    anyone would be able to explain to me how it should look like in my
    case, or give some examples on the basis of whose ideas I will be able
    to understand the operation of such a program would be great.
    Regards,
    Mat M.
    Attachments:
    freq div.vi ‏28 KB

    Kevin is absolutely correct that the signal resulting from the method I linked earlier would have an extremely low duty cycle.  You can use this method to "divide" by 2, 3, or any other positive integer (other than 1), but like Kevin mentioned the resulting signal is a pulse every N ticks, rather than a true division of the input clock.
    You can use Kevin's method to divide by 2 and give a 50% duty cycle using either AO or DO with an external sample clock.  However, the waveform to generate would be [1, 0, 1, 0 ...], giving 1 period of output signal for every 2 clock edges.  You can't use this method to give a 50% duty cycle and divide by 3, but you can get either a 33% or 67% duty cycle by generating [1, 0, 0, 1, 0, 0 ... ] or [1, 1, 0, 1, 1, 0 ... ] respectively.  Generating [1, 1, 1, 0, 0, 0 ... ] is actually a divide-by-6.  Any odd number divisor would not give you a 50% duty cycle. 
    There is a way to divide by an odd number and maintain a 50% duty cycle, but only if your input signal is also a 50% duty cycle square wave.  Unless you absolutely need to have a 50% duty cycle then it's probably more trouble than it's worth:
        1.  Configure a DI task with Change Detection Timing.  This can be used to generate a pulse (Change Detection Event) on every rising and falling edge of your external signal, effectively multiplying it by 2.
        2.  Use the Change Detection Event as the sample clock for your DO (or AO) task.  The task would output [1, 1, 1, 0, 0, 0 ... ] for a divide-by-3 of the original signal.
    Like Kevin mentioned, any divisor >4 is easy using the counters in their default "toggle" mode, but the duty cycle would not be 50% for odd divisors (similar to the DO/AO method).  If you only care about one edge of the clock and the duty cycle is not terribly important, the Pulse Mode example that I linked in my last post can be used for any divisor between 2 and 2^N-1 on an N-bit counter.
    Best Regards,
    John Passiak

  • EEG signal filteration

    Hello Friends...I am working on my final year project to design a filter for EEG signal........and then to detect beta waves of 4Hz to 7Hz from EEG signal........i have problem while designing due to Fs=8000Hz....when fs=500Hz then filter response is right but with fs=8kHz its respons is not desired.........so help me guyzz

    Thanks for your response Gerdw 
    I append phase and amplitude results of my FFT because I get it in tutorial to process raw signal into FFT. Is it wrong?
    I want to filter the signal of 8 Hz-15 Hz and 16Hz-30Hz, then I changed from the time domain into the frequency domain, then I use a bandpass filter.
    And the expected results in the form of the output signal of frequencies (8 Hz-15 Hz and 16Hz-30Hz).
    I just want to see the raw signal in number so I save it into excel.
    So, what I've to do to make it happen?
    Thanks anyway
    Sincerely,
    Fajar

  • High frequency

    Hi everyone, im pretty new with Labview, and I need a help. I would like to simulate square wave with high frequency (40MHz).
    1. Can anyone help me, how can I simulate the signal (test2.vi) in a moving (time) axis?
    2. I would like to catch the datas and write it into .txt or excel. I found this example (0807-LVM_Beispiel.vi). Can I get the datas like this from my 40Mhz frequency generator?
    A little help would be nice. Thanks.
    Attachments:
    test.jpg ‏525 KB
    test2.vi ‏29 KB
    0807-LVM_Beispiel.vi ‏88 KB

    thanks for your help.
    Ive been searching, and now I've changed my test2.vi into test CIC.vi and modified it. If you may see it, im trying to simulate the signal with frequency 40MHz and, with sampling frq. 800MHz and sample rate 1000samples or max. ~300.000samples (and save it in a txt.file). Actually, my task is, that im gonna need to make a labview program that can take as many points as possible, that might be not periodic. I mean, we gonna use NI card (in near future, not bought yet) to take some input datas, and to get all the data-samples in high frequency range. Is it possible to make such a program (capture the data) without knowing in the first place which NI card that we are going to use. But i believe, we gonna buy a digitizer, digital I/O and might also mxi controller (I've looked at the offered device list) from NI. Thanks a bunch. Is it much easier after buying the devices? (like getting the device's driver and maybe program that support it).
    One other question, in my test CIC.vi, im saving my points into .txt file (only the amplitude). How is the trick to take also the x-axis points (time axis) and save it in the same .txt file.
    Attachments:
    test CIC.vi ‏49 KB
    CIC 1 sub.vi ‏21 KB
    Save 1Data.vi ‏18 KB

Maybe you are looking for

  • Configure External Modem in Solaris 10

    Friends, I am new to this OS.Plz help me that how i can configure my external modem in this OS. Thanks

  • Illustrator CS5 eyedropper crash

    Hello, These days i'm having a lot of trouble with my Illustrator CS5 running in OSX10.9 (Mavericks). Last month it started to crash a lot without any reason, now it crashes every time i'm using the eyedropper on an image! I tried to reset Illustrato

  • Renders fine in DW8, not CS3

    Ok, I've got a site where the pages rendered fine in the design view in DW8, but with CS3 the navbar on the left shows shifted to the right. Renders fine in browsers too. That said, I certainly wouldn't rule out that I've done something that's not qu

  • What is Live Window Resizing in Numbers or Excel?

    The reviews of Mac Word 2008 say it, like Numbers, will still now allow live window resizing in Excel 2008 (like it did not in Office 2004), although it will in Word. Stupid question- exactly what is live window resizing and what are the implications

  • Need to create a list using Price Adjustments and org contact detail

    I need to create a list containing data from the OE_PRICE_ADJUSTMENTS table, data about the product(s) ordered and customer data related to the order(s). What tables and what common fields can I use to join this data?