Discrete sine wave generator

im lookin for a way to build a simple discrete sinewave gen that can generate up to 100MHz or more. Does a pll helps, can i use a crystal oscillator to generate the sinewave or even clock generator? pls reply mi asap. Thanks!

Hello,
This forum is for questions pertaining to the National Instruments product "Measure for Windows". I think you would reach a better audience for your question if you posted in one of the "Measurement Hardware" forums.
Good luck, and have a nice day.
Darren
Darren Nattinger, CLA
LabVIEW Artisan and Nugget Penman

Similar Messages

  • LabVIEW FPGA Sine Wave Generator Reset Input Behavior

    I would like to know what the output from the Sine Wave Generator express VI is while the reset input is true, and what happens to the output immediately after the reset input is set false.
    I need to generate a regular sequence of positive half-cycles of a sine wave, with an arbitrary delay between them that is not related to the actual frequency of the sine wave. So my plan is basically to periodically fire a trigger in the fpga software that resets a sine wave generator and directs its output to an analog output until the sine wave goes negative, at which point the analog output is set to 0 until the next trigger.
    Thanks

    Muchas gracias por responder steve.bm
    El problema que tengo es el siguiente, estoy desarrollando un proyecto en el cual uso los conversores DAC y ADC de la  tarjeta FPGA Spartan 3E para lo cual use como base el proyecto que esta subido por la NI que se encuentra en uno de los enlaces que me dejaste,( Lesson 8 - Linking Existing VHDL Code from WebPACK into LabVIEW FPGA) del mismo solo modifique para usar el ADC y el DAC mediante el cual adquiero una señal senosoidal y la tengo que reconstruir, el problema es que como uso un generador de señal de laboratorio al ingresar la frecuencia de muestreo para obtener una buena reconstruccion, la frecuencia se baja lo cual en el proyecto real no podra pasar ya que la frecuencia ya en proyecto final la adquiero de la red electrica publica pero ahora para pruebas estoy con un generador, la verdad no se que pasa porque tiene un retrazo la señal.....
    Te parece si te puedo dejar mi proyecto subido en enlace para que lo revices ??

  • FPGA sine wave generator

    NI工程師你好
    我在FPGA端使用sine wave generator
    可是出來的波形卻不是一個完整的Sin波圖形
    可以請工程師幫我解答一下嗎??
    已解決!
    轉到解決方案。
    附件:
    sin.png ‏10 KB
    sin-1.png ‏13 KB

    好吧,我認為問題可能是您使用的圖表上的FPGA。不幸的是,LabVIEW的通信方式,有時會導致與 FPGA圖表更新不當,因為他們目前沒有時間同步的時間在芯片上。我組建了一個簡單的應用程序,而不是傳輸分回的主機和波形似乎是正確的。讓我知道這是否有助於。
    附件:
    Sine.zip ‏317 KB

  • Générer une implusion avec "Sine Wave Generator" en FPGA

    Bonjour,
    Content de vous rejoindre sur ce forum. Tout nouveau en Labview (pas très à l'aise avec certaines notions), je voudrai soliciter votre aide. En fait, je veux créer une impulsion de 100Hz avec la fonction " Sine Wave Generator" de FPGA. En simulation j'ai réussi mais dès que je compile en target il m'affiche ce message : "Top-level clock rate does not match rate for which the Sine Wave Generator VI was configured. Reconfigure the Sine Wave Generator or the top-level clock so that their rates match. You also might need to modify computed values for the frequency (cycles/tick) input."  
    Je change donc FPGA clock rate et je choisis 40MHz (la seule qu'il me propose). Mais dans ce cas, je me perds pour retouver mon impulsion (qui doit durer une période 0.01sec). J'ai essayé de jouer sur le nombre d'échantillons en changeant le nombre d'itérations de la boucle For afin de générer toujours une période ( pièces jointes)  mais ça marche pas!!!
    Pourriez vous m'aider à déchiffrer ce problème?
    Merci d'avance
    Pièces jointes :
    burst sine.png ‏372 KB
    burst sine_40MHz.png ‏336 KB

    Bonjour M2IM,
    En mode simulation, on utilise une fonctionnalité appelée "Interactive Execution" car l'exeuction/affichage ne peut être géré à une fréquence élévé (40 MHz dans le cas de la Top Level Clock par défaut).
    En mode FPGA target, la vitesse est plus élevé et donc uniquement certains points du sinus seront afficher mais le signal electrique lui sera bien un sinus.
    Je t'invite à regarder le lien ci-dessous qui reprend quasiment la problématique que tu rencontres:
    Generate a sine with LabView FPGA and connect it to an AOModule
    Bonne journée,
    Valentin
    Certified TestStand Architect
    Certified LabVIEW Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Travaux Pratiques d'initiation à LabVIEW et à la mesure
    Du 2 au 23 octobre, partout en France

  • How do I Fix DDS Generated Sine Wave That Produces a Periodic Square Wave?

    Hello,
    I'm an undergraduate researcher with almost no experience dealing with FPGA semantics and other National Instruments hardware in general.  Part of my project revolves around creating a sine wave signal via the FPGA on an sbRIO-9632 that is output via the board's analog I/O pins, and I found it convenient to adapt the code provided by the National Instruments tutorials (http://zone.ni.com/devzone/cda/epd/p/id/6066) to have it run on an sbRIO FPGA.  The problem I'm encountering right now is that the actual output I'm seeing is a square wave as opposed to the smooth sine wave that was expected, and I've exhausted all my ideas on possible ways to debug this issue.  Can anyone please give me feedback if they've seen this problem before or offer other suggestions on fixing this?
    I'm currently running LabVIEW 2009 with the appropriate real-time and FPGA modules on a 64-bit Windows 7 machine.  Again, the hardware is an sbRIO-9632 complete with analog I/O.  I appreciate it everyone!

    I am also having this issue and have not been able to find a solution in the forums. I am somewhat of a rookie so pardon me if I seem ignorant in any way. I am working on a graduate project where I need to produce some sine waves and I am getting more of a square wave when I output it and measure on the scope. The program I am running is quite simple at the moment to attempt to discover any errors by process of elimination. I have the sine wave generator in a while loop outputting to an AO port. I am using the cRIO 9022 with the 9269 AO module. I will attach screen shots of my code and my oscope image
    Attachments:
    sine wave.jpg ‏76 KB
    code for project.PNG ‏169 KB

  • Synchronizing 2 sine waves

    I'm new to Labview and NI-FGEN so things are taking a bit longer than i think they should, the problem is im trying to synchronize sine waves from 2 PXI 5421 cards.
    what im fundamentally trying to do is have a slide bar and at one end of the bar one sig gen is at 5V and the other sig gen at 0.1V and when you slide it to the middle the amplitudes are both at 2.5v and at the other end of the scale the first siggen is at 0.1V and the second 5V.
    i can get this bit to work but when i connect the sig gens to a scope one signal is drifting.
    on another note if any one knows an easier way of creating the signals, I've "butchered" some examples. So there's probably loads of stuff that I don't need inthere.
    Attachments:
    test sine wave generator.vi ‏45 KB

    I do not have the FGEN VIs so my comments are general rather than specific.
    1. Unless the frequencies are EXACTLY the same, the signals will drift relative to one another. There are at least two frequencies involved for each generator, (a) the user-specified signal frequency and (b) the D/A clock frequency. Your front panel has two controls for frequency. If they are set the same, then the nominal signal frequencies will be the same. It is important to be very careful with fractional numbers because of the way they are represented in binary in the computer.  The clock frequencies will be nominally the same. Many devices use quartz crystal oscillators which have a frequency tolerance of +/-100 ppm (parts per million).  While 100 ppm is a small fraction, two signals gnereated by clocks which differ by that much will drift.
    Fixes: (a) Use only one frequency knob on the front panel and feed the value to both FGEN modules.
    (b) Use the same clock for both modules. I do not know whether these devices have a connection for an external clock. If they do not, you will never get perfect synchronization. Somewhere you will need to configure subVIs to tell the modules what clock to use.
    2. The Amplitude slider will be read only once at the beginning of your program. That value will be used throughout the run. Any changes made later will be ignored. This is due to LabVIEW's dataflow paradigm.
    Fix: The terminal needs to be indside a loop. Better fix: Learn about the Producer/Consumer (Events) Design Pattern. This will have a parallel loop with an event structure to handle the User Interface, in particular, the changes in the slider. It will send the new values to the FGEN loops via queues.
    3. Same as 2 for Frequency. 
    Lynn

  • Unable to generate sine wave

    Hello everyone!
    I am currently working on my Bachelor project at a company. i am stuck with a problem.
    I have designed a labview program for vibration test system. I have used cRIO 9076 as the controller with NI 9263(as D/A) and NI 9234(as A/D).
    The loop works as follows. the input is given from the labview program. it is then sent to the cRIO. the output of CRIO(that is output from NI 9263) is given to the amplifier. the vibration shaker vibrates based on the input from aamplifier. then the accelerometer detects the vibration and sends it to the NI 9234 and loop repeats iteratively. since i have designed a sweep sine vibration system, the output of cRIO is a square wave. it should be sine wave.
    the probelm is i am getting a square wave as output from my NI 9263 which should be a sine wave output. I have two subVI where i use nominal to binary convertor(for NI 9234) and binary to nominal (for NI 9263) as calibration mechanism. 
    the question is where have i went wrong? what should I do to get a sine wave? 
    PS: on searching NI i found out some formulas (to generate sine wave) and designed a FPGA and LabVIEW program to generate a simple sine wave and got a sine wave. if that formulas is to be included where should i include that?
    Thanks in advance.
    Regards,
    Vishal.

    Without seeing your current code, there is no way we can even uess as to why you are creating a square wave instead of a sine wave.

  • 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

  • Generating sine wave

    Hello,
    I have a small labview problem.
    I want to generate a sine wave pulse with labview and send this to a pc oscilloscope by using my soundcard.
    First VI I made creates a sine wave and sends it to the pc oscilloscope. Works perfectly.
    But now i want to create a sine wave with only one period (second VI). Problem is then that the VI blocks if i want a high frequency (I need 10kHz)
    So the VI works on low frequencies but gives this error with higher frequency:
    "the sound driver or card does not support the desired operation."
    Can somebody give a solution for my second VI (creating sine with one period on 10kHz).?
    Thanks in advance!
    Jelle
    Solved!
    Go to Solution.
    Attachments:
    GeneratingSineWaveManyPeriods.vi ‏59 KB
    GeneratingSineWave1period.vi ‏37 KB

    Hello Benje,
    The problem/difference you're seeing is indeed in the coding and also in the sound card.
    In the "working" example you're using the Simulate Signal VI with the following settings:
    - 44100 samples per second (sample rate)
    - Number of samples 10000 (samples per generation cycle)
    In the non working example you specify:
    - sample rate = 1000*"Frequency Control value". This sampling info should be fixed to (for example) 441000 Hz.
    - Number of samples 1000 (samples per generation cycle)
    As a sidenote:
    Is there any reason why you used different functions to generate similar signals in the 2 VI's?
    Kind Regards,
    Thierry C - Applications Engineering Specialist Northern European Region - National Instruments
    CLD, CTA
    If someone helped you, let them know. Mark as solved and/or give a kudo.

  • I am trying to generate a 50kHz sine wave for ten cycles, then aquire this waveform and store it in a file, I am using a PCI-Mio 16E-4 board, has anyone done anything like this?

    I am trying to generate a 50kHz sine wave output on the DAQ card and then simultaneously recieve. I am using a PCI-Mio 16E-4 series board to do this. Has anyone done anything similar. I can generate a 50k wave no problem, and recieve one, but I can not get these vis to run together? Any suggestiosn

    Jrod, yes you should be able to do this, actually there are quite a few example programs come with LabVIEW that handles simultaneous analog input and output, I check the specs of the board you use, the board should be able to handle the sampling/generation rate, but make sure for 50KHz sine wave, you would sample at least twice as fast, preferably ten times the generation rate, then this puts the sampling of the board to thew limit.
    The program you can try is attached here, good luck with the application,
    XD Gao
    Applications Engineering,
    National Instruments
    Attachments:
    Simul_AIAO_Buffer(E-series).vi ‏104 KB

  • How to generate finite cycles of sine wave using daq mx in vc++

    Hi,
    How to generate finite cycles of sine wave or for finite duration in vc++ using hardware timer without any sleepfunction in the code.
    Thanks & Regards,
    satya

    Hello Elizabeth,
    Thanks for the response.
    1) I am using NI 6040E PXI.
    2) I am using NI-DAQMx 8.3
    3) Measurement Studio is 6.0.0.105
    4) Operating system is Windows XP.
    I want to generate sine wave for finite duration previously in traditional daq there was function called wave_op.In which we can mention number of cycles of sine wave we wanted to generate. That function is not available in DAQMx so we have to use sleep function to generate finite period. Any hardware control function to control generation of finite cycles please let me know.
    Thanks & Regards,
    satya

  • 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 generate a smooth continuous sine wave

    I am trying to build a single frequency active noise control system to
    control a tonal acoustic disturbance. In order to do this I need to be able to
    drive a set of loudspeakers with a single frequency waveform which will be
    continuously adapting at each sample.
    The control system will ideally be implemented to control low frequency
    tones, 700-1000Hz, and thus sampling rates of below about 4000Hz should be
    sufficient for the task.
    However, when trying to continuously generate a waveform at an update rate
    of 4000 updates/sec the resulting sine wave output from the DAQ card when
    observed on an oscilloscope looks very much like a digital signal (a sine
    wave containing large "steps" in the voltage), as if there
    has been no
    smoothing in the DAC. Playing this through a loudspeaker results in a very
    "buzzy" sound and not a single frequency tone. Only when the update rate
    is much higher >50000 updates/sec, does the signal start to sound like a
    single frequency tone.
    I would much rather be able to implement the control system at a sample
    rate of 4000Hz than >50000Hz. How do I therefore guarantee a smooth analog
    sine wave output at the lower sample rates? Is this a labview problem, or
    a hardware problem?

    Is this a labview problem, or
    a hardware problem?"
    Problem?
    Well it actually the nature of the beast. As a rough rule of thumb, the signal starts to become smooth when the update rate is at least 10X the highest frequency present in your signal.
    The human ear is amazing in its ability to detect (hear) higher frequency components. This is the buzz you hear.
    If you want to keep your update rate low, then you may be able to get away with a low pass filter on the output from your DAQ device. An appropriately size cap and resistor may be all you need.
    Ben
    Ben Rayner
    Certified LabVIEW Developer
    www.DSAutomation.com
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • 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

  • How to use pci 6229 to generate a sine wave?

    Dear friends,
    I want to use pci 6229 to continuously generate a sine wave by 5000 sampling rate to output to drive a loudspeaker.
    Does any one can post an example so that I can learn from it?
    Many Thanks
    Probiee

    Dear Denis,
    Thank you for your reply. I have done with this following vi. please see the attachment.
    please give me some feedback with my vi.
    Many Thanks
    Probiee
    Attachments:
    danforum.JPG ‏119 KB

Maybe you are looking for

  • Motion crashes constantly and behaves eradically

    Objects behave eradically when I try to resize them by using the handles on the corners. Also, Motion crashes every five minutes, on a good run, every minute on average, and then takes another minute to start-up again. (Is there another company that

  • Wont play an audiobook....

    So, I tried putting the Harry Potter and the Half-Blood prince audiobook on my ipod.... and it won't play. It works fine for the other audiobooks and my songs, but wont play for HP6....... The book works fine on my computer..... But, so yeah. When I

  • FUNCTION MODULE CREATION FOR GENERIC DATA SOURCE

    Hi BI gurus, I am creating function module for generic datasource. For that I followed below mentioned steps Steps 1.     Created s structure with the fields that needed. 2. Created FM by copying the standard Function module " RSAX_BIW_GET_DATA_SIMPL

  • Key figure not displaying in SNC Web View

    Hi All, I have added a Key figure in Data Matrix View and its not displaying in SNC Web view- SMI Monitor. Is there any activation settings after adding key figure in Data Matrix View, please help. Regards, Vikram

  • Settlement rule not created automatically

    HI All, Every time when i create a maintenance order , system did not create settlement rule automatically ,  when i click on settlement rule it ask with default or without default and cancel , when i click on with default the only settlement rule ge