Sine wave frequency problem

hello
i have some part of my program that is not working well.
the idea is to sample a 2V sine wave of various frequency and record down the max and min values
by right i should get around +2 and -2 for my max and min values
however at frequencies multiple of 5(5k,10k,15k...) i get a reading of 0.0628215 for my max and -0.0628215 for my min.all other frequencies have no such problem.
i tried changing the sampling time and rate but i still get a close to 0 result for frequencies at multiples of 5.
may i know what causes the problem and how can i resolve this?

Hi
It may sound silly - but do you acquire data fast enough?
Just have a look at the Nyquist Theorem.
Thomas
Using LV8.0
Don't be afraid to rate a good answer...

Similar Messages

  • How to get, write the sin wave frequency

    hey,
    How can I get the sin wave frequency from sin wave?- on the diagram. Problem is about saved this parametr to the fille. I have just only last one. I would like to have fequency adequate to the Im and Re  (Im, Re: parametrs witch are saved correctly) 
    Best regards,
    Marek

    Your program will not work because you because many of the functions you use must have timing information. And that information is not included by you as programmer. You have just included some functionality without reflecting over what these functions do and what they need as input. A programmer must have attention to details. You can not just throw out some VIs in a happy go lucky style. 
    Much of your problems is caused by the pesky dynamic data type. This is something that NI have glued ontop of Labview using very cheap glue. The whole concept is just flimflam and you should avoid using it.
    I can see you are a beginner. And that is OK we have all been there sometime. A very powerful function in Labview is the online help option. Then you start a new Labview session go to help in the toolbar. Then select "show Context Help" (ctrl+h). Then in doubt use the "detailed help option" in the online help window.
    I have included something to push you in the correct direction. As you can see many of red dots at the connector panes is gone. That is a good sign. Post again if you have more problems
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)
    Attachments:
    some help.vi ‏11 KB

  • Sine wave frequency error

    Hi! I'm pretty new to labview so any help will be appreciated!
    I'm trying to generate a 6-sine wave pulse using the attached generating and detecting vi. It all looks good, however, the frequency which I want the pulse to be generated ain't quite right no matter how I tweek it. For example, I keyed in the rate of generating pulse to be 1MHz in this case, but the detected signal is only 1 kHz (period = 0.001s). There should be no loss in this case. Other frequencies keyed in are also reduce by a thousand times. I think it is due to my Fs=1000 and #s=1000, because if i change my Fs to be 100 and #s=100, the detected frequency will be reduced by 100 times only. But if I reduce it, the resolution of my signal will be poor and I cant reduce it below 50 for a clear signal. Is there any way I can get the signal generated to be that which I typed in? Help!
    Thanks!
    Attachments:
    detect.jpg ‏48 KB
    generate.jpg ‏29 KB
    graph.jpg ‏118 KB

    Hi, I am using PXI-8331 with analog output PXI-6733 and analog input
    PXI-6133. I am generating voltage signals and collecting voltage
    signals as well.
    The problem I have is that when I
    intend to generate a 100kHz, 4 sine wave in a hanning window pulse, the
    received signal tells me that the signal generated was actually only
    100Hz (reduced by 1000 times) for Fs and #s of 1000, and it will be
    1000Hz (reduced by 100 times)  for Fs and #s of 100. What I hope to
    achieve is for the detected signal to show me that the actuated signal
    is indeed that which is keyed in. I am currently using DAQ assistant to
    control the frequency of my windowed sine wave. Is there any other way
    to go around doing it?
    On a side note, yes, I understand
    Nyquist theorem. I tried using 10kHz generating signal and 1MHz
    sampling frequency (100 times difference) for signal detection, but the
    results is exactly the same as that received using 10kHz sampling
    frequency and thus I believe there should be something I am not getting
    quite right about my signal generation since the frequency is always
    reduced by Fs times and I can't change its period.
     I have attached the vi I am using. Thanks a lot for your reply.
    Attachments:
    combining_testing2_6_2_testtest.vi ‏395 KB

  • Creating and controlling a sine wave

    I am a TA for Control Systems & Instrumentation at Texas State University. As the assistant I am required to assist students in their homeworks and projects. I have encountered a problem in assisting the students. How do I create a Sine Wave wit ha sampling frequency of 200 Hz? Obtain the power spectrum of the signal and change the sine wave frequency to 25 Hz. Determine if the resulting frequency is about the Nyquist frequency. Then increase the sine wave to 125 Hz and compare to the Nyquist frequency again.

    There is an example shipped with LabVIEW 2009 called "Resampling a Waveform (continuous).vi" I think this vi will demonstrate what you are trying to do. Change the sine wave frequency using the frequency control in the Test Signals (A) box and change the sampling frequency by updating the output rate control in the Output timing box. You will then see the original waveform spectrum at the original sampling rate (Fs) and the re-sampled spectrum will be shown in red so you can see the shift.
    Systems Test Engineer
    Certified LabVIEW Architect (CLA)

  • Unable to read the frequency from this output sine wave of amplitude VS time

    my programe reads through a labjack programe works up until the LJ stream graph process reads to "scaled data v's seconds" graph.where it outputs a sine wave (amplitude vs time)
    for some reason the "freq. amp." analyser won't read the frequency correctly. when i run the programme it outputs a frequency of zero.
    note: the amplitude is reading correctly
    see both programmes attached..................
    Attachments:
    problem.vi ‏77 KB
    LJstream_graph_processing.vi ‏46 KB

    I don't really see the utility of this VI, however, the variable "scan rate", of the "LJstream graph processing", it's an arbitrary value, why?...
    What is the idea with these VIs?, tell me more, please.
    Bye.

  • How can I calculate the frequency of a 2-4Hz three phase sine wave in 50msec?

    I want to calculate the frequency of a sine wave using either all three phases or just one, but I want to know the frequency after 50 msec, I don't want to have to wait for a full period.

    I have a mathematically sound suggestion but I do not know how well it will work in application. Most period measurements measure the time between a full period or several periods to eliminate the error introduced by the measuring device. Essentially the device error is made insignificant.
    Mathematically you can do much more but there is a tradeoff between recording less information and knowing (or assuming) some values. For instance, if one knew the amplitude and could calculate the derivative of the signal, one could calculate the frequency. A sine wave can be represented by the function: A sin (BX)=C , where A is the amplitude, B is the frequency, C is the present measured value. If the equation is solved for X, we get: X=(sin^(-1)(C/A))/B. The d
    erivative of the first equation is AB cos(BX)=C. If the equation for X is now substituted into the second equation, we get, AB cos(B (sin^(-1)(C/A))/B)=C. Solving for B we get B=C/(A cos(sin^(-1)(C/A))). Remember, we already know A and C, so we are done.
    Practically every step and assumption in the above argument introduces possible error which will affect the accuracy of the frequency. Unfortunately it is a trade off and that is why at least a whole period needs to be measured to get an accurate frequency.
    Jeremy Braden
    National Instruments

  • How to dynamically adjust Frequency, Phase and Amplitude for a Generated Sine Wave in C/C++?

    Hi,
    I wonder if anybody know how to dynamically adjust Frequency, Phase and Amplitude for a Generated Sine Wave in C/C++? This is a part of my project: I need to dynamically generate a sine wave voltage signal by some calculation using the data from a simultaneous analog input and another signal.
    Your help will be appreciated so much!
    Marlon

    Hello Marlon,
    Here is an example of changing frequency and ampliude for an E-series device in Labwindows/CVI. The programming should be similar in C for your S-Series device. As is says on the linked webpage above, this process is going to be very processor intensive since you will continually be creating a buffer.
    Nicholas C
    National Instruments
    Applications Engineering

  • Problems graphing FFT of sine wave with Waveform Graph

    I know that this type of question has been posted
    many times, so I apologize for posting a similar one. Unfortunately,
    after reading quite a few threads I still have a question or two.
    Basically, I need to use a Waveform Graph (not an XY graph) to graph
    the magnitude of an FFT of a sine wave. I can't figure out which VI I
    should be using to obtain the magnitude of the FFT. I think I'm using
    the proper FFT vi (just the regular FFT.vi), but I can't find a VI
    dedicated to magnitude. Of course, I could be misinterpreting the
    pseudocode which I am following.
    If you
    wouldn't mind taking a gander at my VI, I'd appreciate any input you
    might have. The pseudocode is contained in the block diagram. You
    can see that I have another graph for just the sine wave, and I think
    that works as it should. I'm primarily concered about the waveform
    graph which isn't currently connected to anything, but should
    eventually be hooked up to the FFT.
    Thanks!
    Attachments:
    Labview5.vi ‏199 KB

    Your problem is that the output of the FFT is an array of complex numbers. Take the magnitude and you will be able to plot it.

  • Measuring Superimposed Frequencies on a Sine Wave

    Hi,
    Just looking for advise on the best way to measure superimposed frequencies on my raw data. The raw data (voltage versus time) is ultimately a noisy sine wave with a frequency of 1Hz. I need to determine where the noise is coming from, i.e. is it vibrational, electrical or surrounding noise, hence requiring the frequency of the noise if possible.
    Any advise on the best way of filtering the data would be appreciated. Currently I am using a butterworth filter with a cutoff setting of 1.5Hz. The original data was sampled at 1.5KHz so the noise was measured and so could be filtered during postprocessing.
    Also when filtering I don't want to loose important data i.e. sudden peaks or drops.
    Regards,
    John.

    John,
    Have you tried spectrum analysis of your data? That will give you the frequency content of the signal plus noise. One peak will be at the 1 Hz sine signal and other peaks will correspond with the supeimposed signals. With a 1.5 kHz sampling rate you would get information on frequency content up to the Nyquist frequency of 750 Hz. A peak at 50 or 60 Hz will likely be power line frequency interference. Gears, bearings, and motor armature slots produce characteristic frequencies which are related to the rotational speed.
    Lynn

  • How do i measure the frequency of a sine wave using a field point counter module

    I need to measure the frequency of the sine wave using field point. is it possible and if yes how. do i need to convert the sine wave signal to square wave. Please let me know.

    It probably would be easiest to convert the sine wave to a square wave with a simple external circuit and then use a counter module to measure the frequency. There is a shipping example in LabVIEW that shows how to measure frequency with a FieldPoint Counter module.
    JRA

  • USB-6009 Sine Wave

    Hi,
    I am new to LabView and am having some trouble. I need to input two sine waves into a USB-6009. I have a voltmeter that should read the output. Two of the problems that I have had thus far: I can only use "On Demand" in DAQ Assistant and even when I throw the DAQ Assistant into a while loop I still do not get a readout on my voltmeter. Any suggestions? Thanks for the help.

    That is confusing. You say you need to input 2 sine waves into a 6009 and that to me implies that you are doing a DAQmx Read. Then you say you have a voltmeter to read the output. That implies you are doing a DAQmx Write. If you are really doing a write from the 6009, then on demand is, of course your only choice. As the specs clearly indicate, the output of the 6009 is strictly software timed so you would need to pass a sine wave point by point and then you would have very little control over the frequency. And, again as the specs clearly state, the fastest output rate you could expect is 150Samples/sec.

  • How to measure time difference between zero crossing of a sine wave and rise time of a pulse on a same graph?

    I have a 50Hz sine wave and a pulse signal on a same graph. The phase difference between two is between 0-90 degrees.
    Now I need to calculate the time difference between (when the sine wave crosses zero volts) and (when the pulse rises). The frequency will stay approximately same for both signals.
    The application is for a three phase generator. In simple words, when the time difference between the zero-crossing of sine wave and the pulse rises increases, that means that the load on the generator has increases.
    I am a beginner user of LabView (version 9, 2009), maybe it is a very simple problem but I've been pulling my hair out for the last few days and coudln't figure anything out. Any help would be greatly appreciated. I am using DAQ USB-6008 to measure these voltages and pulse from the generator and a sensor
    I have attached a jpg (a graph that i just made with excel to explain). The time 't' is what I am trying to measure
    Cheers
    Awais 
    Message Edited by awais.h on 03-30-2010 11:20 PM
    Message Edited by awais.h on 03-30-2010 11:21 PM
    Solved!
    Go to Solution.

    Hi
    Thanks for the code but I'm afraid it won't work. Like you said the probability of choosing a value that is on both graphs may not happen. This is something that I would like the code to do automatically.
    But I did use the previous code posted and made some modifications to it and it seems to work perfectly. Now the next thing is to be able to get just that one value that tells you the first time difference.
    Here is what I get using that code.
    As you can see from the t Values. I only need the one that is highlighted. If there is a way to filter out the rest it would be great.
    I was thinking of a while loop and as soon as the value is higher than 3E-5 it would store the number and stop the loop, but I'm not too familiar with arrays in labview.
    Here is the the code modified.
    As you can see, it wasn't that big of a modification and it still is your code.
    I will keep trying.
    Thanks for the help
    Attachments:
    FinalShockSpeed.vi ‏55 KB

  • Question on the result of using Wavelet transform on sine wave

    Dear all,
    I have apply the Wavelet transform on a 50Hz sine wave. The result is shown below. But I don't understand the result of Wavelet transform. Anyone can help me? Thanks.
    Victor

    You seem to have something against the FFT, yet continually compare other transforms to the "sweet spot" for the FFT, ie. sinusoidal and periodic functions.  Without trying to write a treatise on the subject (there are many fine books), a few observations.
    The primary purpose of any transform pair is to perform a rotation in function space, for the FFT we are familiar with the time domain and frequency domain.  The wavelet domain is not so simple.  The FFT is very effective for sinusoidal and periodic functions, ie. those that have no localization in the time domain.  If you have a sinusoidal input, the infinite signal in the time domain can be reduced to a pair of numbers (one if you take the power spectrum).  That is very efficient, other periodic signals can usually be approximated by a small number of terms.  
    Wavelets on the other hand are chosen to be localized in both the time domain and the wavelet domain.  If you look at a periodic signal like your sine wave, you see a mess, and to recreate the input signal you will need to keep an awful lot of the points around for the inverse transform.  You may be able to set the last 1/3 to zero, but that's it.  To see an effective application, you should be looking at localized functions, like an impulse.  Put an impulse into the wavelet transform and you get something that is still a bit complex, but pretty simple.  The FFT of an impulse contains components at all frequencies and the wavelet clearly wins in this case.  
    On paper, there is usually a clear choice, and the FFT almost always wins for spectral estimation.  On the other hand, if you are trying to compress "real world" data, for instance an image, then there is a choice to be made.  Standard JPEGs are FFT based, you take the FFT and try to keep just the largest frequency components.  As you probably notice, edge contrast usually suffers, especially at higher compression.  With wavelets, it is typical to have slightly better contrast leading to better preservation of details for a given compression.
    In short, my opinion is that transforms are useful when they simplify the problem.  Wavelets do not simplify the representation of a sine wave. 

  • Best fit lines for loops and sine waves

    I am trying to find a best fit line that will work for sine waves and loops (hysteresis loops). I can get the sine wave just fine, but when I switch to a hysteresis it just puts a line across the middle (I assume because of the 2 y values for every x). I am doing data acquisition that will take in both forms and graph them. I tried a polynomial fit and it doesn't work at least the way I implemented it and I tried a few others but it looks like they are all function based. Also, my y values are coming out of a Bessel filter. I don't think this would be affecting anything but I thought I would put it in here incase it does.
    Did I miss one that I haven't tried that works for my application?
    Thanks
    Patrick

    RiversDaddy wrote:
    ... currently I am doing it by looping and reducing the error towards zero to fit the amplitude and phase. (I know the frequency).  If this is what you are looking to do then I will help, or should I be doing things differently? All of the functions I have found to filter or extract tones seem to introduce a larger frequency of phase error than i get using this method, but am I missing something?
    "looping" is a bit vague. What is the actual algorithm to find better estimates (e.g. levenberg marquardt, etc.)
    What problems did you have with extract single tone. Can you show some data where the results from it are not good?
    LabVIEW Champion . Do more with less code and in less time .

  • Generating a 6X Sine Wave using an absolute encoder

    How do I get an Analog Signal Generation Synchronized to six times the frequency of an absolute nine bit parallel encoders output with adjustable phase relation. I am using a PXI-6533, a PXI-6711 and have available a PXI-6070E.
    Now the long version of the problem. I have a 9-bit absolute encoder connected to a motor shaft (up to 420Hz). From the encoders 9-bit (0-511) parallel signal I need to create a synchronized 6X sine wave (up to 2500Hzwith an adjustable phase relation. Picture an electronic timing chain. For every cycle of the encoder, I need to produce six full sine wave cycles with a variable tuned phase shift. I have LabView 7 w/RT.
    I have tried to use the Update Clock (PFI5) to step through a buf
    fer but it seems to drop an update every so often. I also have tried to monitor the bit-0 line to determine freq. and scaled the update rate accordingly but the phase shifts all over the place. Does anyone have any ideas on the matter ? I would really appreciate it! Thanx….Phil

    Phil,
    Another different option to solve your application would be to use the new LabVIEW FPGA module and the 7831R reconfigurable I/O hardware. Using these tools you can configure the FPGA on the board to generate the sine wave based on the 9-bit parallel input. The most simple setup would be to have a lookup table in the FPGA that has a corresponding output value to each of the 512 possible input values. This 512 sample table would contain 6 cycles of a sine wave. Every time the parallel input changes the analog output value would be updated accordingly from the lookup table. This setup would also allow to easily add a phas
    e shift of the output by shifting the point in the lookup table you are reading by a known constant.
    Christian L
    NICS
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

Maybe you are looking for

  • PDF, TIFF, JPG, what should I format it as?

    Ok. I am a student and I just picked up my books for the coming year. Wow, are they heavy. This may sound like a big undertaking, but I was thinking, why not scan all of the pages I will need into my computer, so I can leave the book at school? (I'll

  • Fund Managment - Availability Control

    Hi! all experts, I have come across the following Fund Management problem : If there is NO budget data for a commitment item in this financial year, Purchase Order can be saved against that commitment item even thou Fund Checking has turned on. There

  • External MP3 files causing long delays (using MediaPlayBack component)

    I've got 5 MP3 files that I am calling (on click) to be played. They're large - about 15MB each. The Flash movie is intended to be distributed on a CD. However, when I launch the movie (Flash Pro with Slides) it takes a long time (30-200 seconds) bef

  • IDOC_JDBCStoredProcedure

    hi all......        Am doing an idoc to jdbc scenario. Is is as follows I ll send idoc to xi from which i need to generate an xml file in a specified format and this xml should be given as input to the stored procedure. what can be done. ny idea how

  • Panther Archive and install problems

    I have a light grey screen with an apple logo on it after performing archive and install using Panther. Nothing else. Any ideas anybody....? I really am at a complete loss with this and its been several days now. I'm losing money and patience bigtime