Add phase shift to a sine wave

Hi,
Can I add a varying phase shift (through a control from front panel) to a sine wave?
Thanks,
Sharmi

Similar to this? That event should be a dial value change but the snippet messed it up
CLA, LabVIEW Versions 2010-2013
Attachments:
shift.png ‏27 KB

Similar Messages

  • Phase shift of a sine wave and a square wave

    Hi,
    I would like to simply compute the phase shift between a sinusoidal waveform and a square one. Between two sin-s I can compute, but I have no idea how to do that with a square waveform.
    Thanks,
    Ussr123

    Hi there,
    the easiest way is to use the ExpressVIs.
    But you are only allowed to use the ExpressVI "Tone Measurements" if you have enough periods of the square wave, because it computes the phase with FFT.
    An other possibility is to use the spectrum analyser VI as used in the attached exsample.
    Greetz
    Branni
    Attachments:
    Phaseshift_Sqr_Sin.vi ‏89 KB

  • Phase shift between a pulse and sin wave

    Hello,
    I was wondering if there is any VI that I can use to get the phase shift between a pulse and a sin wave (they have same frequency).
    The Ideal case is that the pulse should go to 1 when sin wave is positive and goes to 0 when the sin wave is negative. I want to set this test to measure the phase shift between pulse going to one and sin wave going positive.
    We just bought labview full version with Signal processing package, and I was wondering if there is anything that would be useful for me.
    Thanks in advance,
    Baran.

    Hi Baran,
    Try this on for size and see if it works for you.
    Have a great day,
    Chris V
    Applications Engineer
    National Instruments
    Attachments:
    Phase Difference.vi ‏22 KB

  • How to change the phase by 90 deg of a sine wave

    Hi
    Does any one know how to change the phase of a sine wave by 90 degrees.
    Mal

    Hi Malkoba,
    Thank you for your post.
    Having looked at your VI I can say that you have created the correct inputs to the 'Sine Waveform.vi'.
    However the dial you had created had no affect as it was not wired into it the 'Sine Waveform.vi' on the block diagram.To fix the problem I have wired the 'Phase' dial into the 'phase' terminal of the waveform generator. This now changes the phase of the sine wave during runtime.
    The dial also now has a digital display (numeric box below it)- this can be used to read the dial's value, or feed in specific values into the control.
    Please find a modified version of your VI below.
    Regards,
    Field Sales Engineer | National Instruments | UK & Ireland
    Attachments:
    NI_phase shift sine.vi ‏31 KB

  • How to generate 3 phase sine wave to output on ELVIS

    Hi .I need to make a star or delta connected circuit on ELVIS board.2 make this circuit I need 3 wave generator( with 120 phase shift) and one common ground
    and because the ELVIS function generator can only generate one wave I decided to generate countionuos sine wave in Labview.
    Now I can generate 2 continuis sine wave in labview and output them on the analog outputs of ELVIS.Ao-0 and A0-1
    but I dont know what to do for the third signal.the elvis board just has 2 analouge output and when I use  Ao-0 and A0-1 I cant use ELVIS function generator after that.so would u please help me on this problem.how can I output 3 contious sine wave in Elvis.I have attached my VI to this post
    Attachments:
    new.vi ‏38 KB

    Hi, I am also having some problem in generating two signals from two AO. Could you please tell me how to generate two different signals from two AO. I have attached vi which generate square wave from one AO 0. I need the inverted signal in AO 1. 
    Attachments:
    Pulse Width Modulation.vi ‏48 KB

  • 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

  • Generate n sine waves and add them together

    Hi
    I'm new to Labview and I want to generate n number of sine waves and add them together to form one signal that can be out put through a DAQ card. Each successive wave frequency will be the multiple of a base wave all will be the same amplitude.
    This to me suggested a For loop with a sig generator  and a passback in it but when I tried this it threw an error because the dt were different.
    Any help will be appreciated.
    Thanks

    Show us what you did.
    LabVIEW Champion . Do more with less code and in less time .

  • How to measure relative phase of several sine wave inputs

    I'm using a USB-6229 to acquire 10 sine waves, and I would like to output their rms amplitudes and relative phases.  The rms amplitude is not a problem, but I wasn't sure how to go about determining the phase of one signal relative to another.  Do I need to use the Frequency Response analysis step?  Thanks.

    Hi,
    There are some functions you can use to measure the relative phase. You can either measure the phase of every signal related to another one using like you said: a frequency response function step. Using one of these to functions might do the job: “Frequency Response, Express VI” or “Frequency Response Function (Mag-Phase).vi, if you are working in LabVIEW. The first one of these functions "Frequency Response" is also found in signal express and is the one I think you are refering to.
    Although this functions is use for a stimulus response approach they will give you the relative phase of Y with respect to X, “Typically, time signal X is the stimulus, and time signal Y is the response of the system.  in signal express your options is the frequency response step.
    I would also like to point you to some references that might serve you as reference when doing spectrum analysis: An Overview of Frequency-Domain Measurements and FFT Analysis.
    Message Edited by Jaime F on 02-06-2008 11:42 AM
    Jaime Hoffiz
    National Instruments
    Product Expert
    Digital Multimeters and LCR Meters
    Attachments:
    frf.png ‏37 KB

  • How to generating three phase sine wave simutiously with Vistual C++?

    Here I want to generate three phase sinewave at the same time with the phase angel 120 continiously. I can creat a task that contain 3 AOs, and generate 3 same sine wave at the same time. But I can not create 3 individual task which contains one AO channel, and write data to FIFO. Please tell me how to realize it?

    Hello, Rilee,
    Thank you very you very much. But I am still confused. The website I can not open. As you said, I shall create a data array to contain three phase data, for example, sinedata[750], sinedata[0:249] contains first AO, and sinedata[250:499] the second, and the rest is the third. then
    1. send the data for sinedata[0] to sinedata[249], to the board. with DAQmxWriteAnalogF64;
    2. send the data for sinedata[250] to sinedata[499], to the board. with DAQmxWriteAnalogF64;
    3. send the data for sinedata[500] to sinedata[749], to the board. with DAQmxWriteAnalogF64;
    and or so.
    Is all the above description right?
    Here I have several questions:
    1. When shall I send second section sample data? I think it shall be all the first data have been written to the board. And How can I know that all the first section data have been sent to the buffer?
    2. If I call DAQmxWriteAnalogF64 to write the second section data to buffer after the have finished first section data written, will this function affects the wave of the first section data?

  • Pitch shifting a sine wave

    hi there,
    i'm trying to create my own kickdrum, and the method i'm using is to create a sine wave at 60 hz; pitch shift it +24 semitones, then over ~350 milliseconds i want to drop it -24 semitones. i have managed to create a test oscillator and bounce out a sine wave, however i cant seem to find a plug in or a method within logic to do a very clean slope/curve of the pitch.
    if anyone has any ideas or methods that would help me achieve this can you please let me know
    thanks!

    Why not just apply an envelope modulation to an oscillator in the ES2 or manipulate the resonance of a filter with an envelope mod? You can also do this in Ultrabeat.
    jord

  • 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

  • Distance measurement using Ultrasonic sensors and phase shift method

    Hi, 
    I've recently started a project where the idea is that we have an ultrasonic transmitter and a receiver. The transmitter will send out a signal at 40 kHz that will hit some object, most likely a book, and reflect that signal to the receiver. The received signal should have a phase difference from the outgoing signal. Now, when we vary the outgoing signal, the phase shift should also change. Likewise, if we vary the distance to the object, the number of wavelengths that can fit in between the object and the transducers should also change. We would multiply the incoming and outgoing signals and measure the beat signal, but I'm not sure how we would do this in labVIEW. We can calculate the distance to the object by figuring out what d(phase)/d(frequency) is. So far,when I am having problems with actually getting an incoming signal and figuring what that phase shift is. I'm not sure how I could use simulate signal to accuately and precisely send out a 40 kHz sine wave, and then vary that signal by steps of 1 Hz. I have also tried using a signal generator, and having once BNC cable go to the input of the transmitter and the other going to input of the DAQ. I have another BNC cable going from the output of the receiver to the input of the DAQ. I had multiple channels on my DAQ, and used split signals to see the transmitted and received signal. But this doesn't seem to be working. I also tried to add gain to the received signal, but when adding an Op-Amp LF356 to the receiver, the signal completely disappears. Attached are some of the VI's I have, but none of them seem to be working. Thanks in advance for any help. 
    Attachments:
    Latest version of final.vi ‏64 KB
    Draft for final project.vi ‏89 KB

    Have you done the basic physics and mathematics? For the speed of sound = 343 m/s and the frequency = 40 kHz the wavelength is 8.6 mm. At 40.001 kHz the wavelength is 214 nm shorter.
    So, how do you propose to keep track of the number of wavelegnths if the target moves more than 8.6 mm?
    To measure a phase shift you must have some kind of reference. Typically a fraction of the transmitted signal is used as a reference.  Since you probably do not know how much phase shift occurs in the power amplifier driving the transmitter or between the electrical signal at the transducer and the acoustic signal in air, it is usually best to measure both, ideally with the same receiver and amplifiers.
    The LF356 should be good for modest amounts of gain. The transducers can look like a capacitance to the circuits. Do you have a DC offset which is saturating the amplifier?
    Lynn

  • Calculation of phase shift

    Hi all,
     I am continuously acquiring two sinusoidal signals from the analog inputs of a daq card and saving the samples of the two signals into two different float type arrays. Can anyone tell me that how to calculate the phase shift between these two signals and as well as the peak voltage of the two signals? Please expain me with the help of an example code.
    Thanks

    Hi AI S
    I have gone through the example of phase diff e.g and i have written the following code but when i run it , it gives the max value of 1st sine wave (outarray1) nearly equal (i-e 7.7 volt ) but it should be 8 V pk.
    But for the 2nd sinewave (outarray2) it gives the max value from 0 volt to 1.5 volt pk but it should give 1.5 Volt pk only and the phase difference is displayed as 0.000 , even there is no update in decimals in it.
    One more thing to tell that 1 complete sine wave consists of 1024 samples , therefore in outarray1 and outarray2 , there are 8 cycles each. In one iteration of the loop outarray1 is filled and in other iteration outarray2 is filled , then i calculate the phase shift.  Please tell me what i am doing wrong.
    Here is my code
    double outarray1[8192],outarray2[8192] ;
    double *peakLoc, *peakAmp, *peakDeriv;
        int count;
    static double wave1maxval = 0.0;
    static int wave1maxind = 0;
    static double wave2maxval = 0.0;
    static int wave2maxind = 0;
    static double phasediff;
    PeakDetector (outarray1,8192,0.0, 3, 0, 1, 1, &count, &peakLoc, &peakAmp, &peakDeriv);
        if (count>0)
            wave1maxind = peakLoc[0];
            wave1maxval = peakAmp[0];
     SetCtrlVal(panelHandle,PANEL_wave1maxind, wave1maxind);
     SetCtrlVal(panelHandle,PANEL_wave1maxval, wave1maxval);   
        if (peakLoc)
            FreeAnalysisMem (peakLoc);
        if (peakAmp)
            FreeAnalysisMem (peakAmp);
        if (peakDeriv)
            FreeAnalysisMem (peakDeriv);
        PeakDetector ( outarray2,8192,0.0, 3, 0, 1, 1, &count, &peakLoc, &peakAmp, &peakDeriv);
        if (count>0)
            wave2maxind = peakLoc[0];
            wave2maxval = peakAmp[0];
      SetCtrlVal(panelHandle,PANEL_wave2maxind, wave2maxind);
         SetCtrlVal(panelHandle,PANEL_wave2maxval, wave2maxval);
        if (peakLoc)
            FreeAnalysisMem (peakLoc);
        if (peakAmp)
            FreeAnalysisMem (peakAmp);
        if (peakDeriv)
            FreeAnalysisMem (peakDeriv);
        phasediff = (8/8192) * (wave1maxind - wave2maxind) * 360;
        phasediff = fmod (phasediff, 360);
       SetCtrlVal(panelHandle,PANEL_Phase_Diff,phasediff);

  • How do I apply a uniform phase shift to a waveform?

    In LabVIEW 6.0, I am attempting to apply a uniform phase shift to a non-periodic waveform but have run into a problem. Theoretically, if I take the Fourier transform of the signal, apply an offset to the phase and then take the inverse transform of that, the output of this process should be my original waveform with all of its frequency components delayed by the same number of radians (different amounts of time). However, I am not getting this result from LabVIEW. In the attached example code I generate a sine wave burst, take the FFT, convert from cartesian to polar, apply an offset to the phase, convert back to cartesian and take the inverse FFT. However, instead of getting a phase-shifted, same-amplitude versio
    n of the input at the output, I get an amplitude shifted, same-phase signal. What am I doing wrong?
    Attachments:
    phase-shift.vi ‏51 KB

    This only works (partially) if your array size is an integral power of 2 (e.g. 512, 1024, etc.), i.e. in cases where the fast fourier transform can be used.
    You need to use the complex FFT (and the hilbert transform)
    Please see my example posted HERE
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for

  • Documents stuck in printer queue - Airport Extreme + Windows 7

    Hi There, I have a HP CP1215 Laserjet hooked up to my Airport Extreme and print to it from a Windows 7 (x64) machine. Everything works fine in the sense that I can print documents and the quality is great, the problem is that the document remains in

  • ReadOnly property for MDM Standard components

    Hi, I am using Standard MDM Webdypro component for Item details. I am able to change the readonly property for text fields by using.. wdThis.ItemDetailComp.setFieldProperty("FLD_CODE", FieldLayoutProperty.READ_ONLY, true); but this line of code it wo

  • How to see filename of loaded Photoshop action?

    Is there a way to view the filename of loaded actions? I am trying to find the .atn file on my computer of a Photoshop action that I loaded ages ago and frequently use.  The action was a free download and creates a new document displaying a before an

  • IMovie HD on a MacBook Pro

    I prefer iMovie HD to what's on my newer laptop (iMovie 7.1.4). I have the install disks from my old PowerBook G4. Anyone ever installed iMovie HD on a MacBook Pro with Intel Core Duo running OS X 10.5.8? Can it be done...any issues?

  • Disk not found

    Hello. My laptop is a 2529 HFG with a dual boot: Linux Mint and Windows XP. Today, after starting Windows when I saw the desktop, a windows appeared to notify: disk not found. What does it mean? Thanks,