33522A Function / Arbitrary Waveform Generator, 30 MHz

Hi!
    I have got 33522A Function / Arbitrary Waveform Generator, 30 MHz. I want to produce two squarewave signal of 30 KHz, one on each channel. Trick is the wave form should be mirror image. I problem is, wondering if those signal is sysncronise if i drive it via LabView.  
Solved!
Go to Solution.

I have played around with one of these in the past, and these signals should be synchronized without any special commands.
This can be done on the front panel of the device or via LabVIEW. The simplest way to set these is make the channel parameters identical except for amplitude, make the amplitude of one output the negative of the other output.
One thing to be aware of ...
although synchronized, sometimes there is a slight phase difference between the two signals, you may have to adjust the phase of one of the signals to match the other. This is best done with an oscilloscope.
Cheers,
mcduff

Similar Messages

  • Error occurred while executing niRFSG Arbitrary Waveform Generator

    Hi,
    I am trying to execute the niRFSG Arbitrary Waveform Generator.vi.
    The inputs at the front panel are as follows -
    Resource name : PXI1 Slot2
    Center frequency : 1GHz
    Power level : -20dBm
    Selected waveform : Double Sideband
    IQ rate : 1M
    NI PXI 5652 RF Signal Generator is connected to slot 2.
    When I try to run the program, I can see an error generated after the first step, which is "niRFSG Initialize.vi". The error code is "FFFCFiE4" and the error message says "Device identifier is invalid".
    If I select "S2SignalGen" in the Resource name instead of "PXI1 Slot2", I face the same error.
    I am using Lab View 2011 and NIPXIe-1075
    Could someone please tell me what is wrong?
    Thanks so much,
    Sharmi

    Hi,
    What are the RFSA and RFSG devices you have? Please give me all the product numbers (i.e 5652, 5611, 5450 etc.).
    I want you to physically connect the RF OUT on the RFSG to the RFIN on the RFSA with an RF cable. Then you will generate a single tone using the RFSG Single Tone Generation.vi example. At the same time, you will run the RFSA SFP and it should capture what you are generating. You cannot bring the SFP into LV, it is its own application.
    If you go to Start>> National Instruments>> NI RFSA, are there examples in there? If not, can you got to MAX, expand the Software tab and take a look at what version of RFSA you have. Did you make sure to install RFSA after you installed LabVIEW?
    In the NI Example Finder (when in LabVIEW, Help>> Find Examples..), under Hardware Input and Output >> Modular Instruments, do you see RFSA or RFSG in there?
    Thank you,
    Vimal 
    Applications Engineer
    National Instruments

  • Fluke 284 Arbitrary Waveform Generator Phase Lock Channel Synchronization

    I am using Fluke 284 Arbitrary Waveform generator (not NI instrument). I am trying to make use of LabVIEW to assign channel 1 as the master and the other three as slaves to phase lock the slaves and change precisely the phase offset with respect to the master.
    The error explanation that I received was: 
    Possible reason(s):
    Error -1074000000 occurred at Fluke 28x Series.lvlib:Error Query.vi
    Instrument reports:Inter channel lock not possible. Refer to manual for more details. 
    Complete call chain:
        Fluke 28x Series.lvlib:Error Query.vi
        Fluke 28x Series.lvlib:Configure
    I would like to know of there is any other block that I need to add to control the output of the master and the input of the slave. I have referred to chapter 13 of the users manual which I have also attached. 
    Attachments:
    Fluke 284 Manual.pdf ‏1890 KB
    Fluke_Block_Diagram.png ‏130 KB

    Don't know what the problem is, but the error number is strange. It's not a standard error for Windows, LV or the instrument in question...
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • An arbitrary waveform generator using the DSP Module

    Hi Guys,
    Just got my hands on LabView and the DSP Module, and having a bit of fun atm. Great products. I'm currently using the TI DSK6416, and was wondering if there was a labview model/example of arbitrary waveform generation using this...? Perhaps using a DDS method or something similar?
    Thanks in advance...
    GibbGodD 

    GibbGodD,
    Hello!
    There are quite a few Waveform Generation VIs within Labview, including the Simulate Arbitrary Signal Express VI and the Arbitrary Wave VI. Unfourtuantly, these are not available within the DSP Module. There is a special group of Embedded Signal Generation VIs for the DSP Module, of which one is the Simulate Signal. Take a look at these VIs as perhaps you could use them to build the waveform you are looking for.
    To answer your question, I wasn't able to locate a specific example that matched what you were looking for, but if you to Help >> Find Examples >> Toolkits and Modules >> DSP from within LabVIEW you should be able to find some great DSP examples. Particular, the example project "Variety of Signal Types.lvproj" shows the different types of signals the DSP target can generate.
    The majority of Arbitrary Waveform Generation information that I was able to find is all related to our Function Generators but not for the devices supported for the DSP Module.
    Best of Luck!
    Ben Sisney
    FlexRIO V&V Engineer
    National Instruments

  • Creating random timeseries in Labview to Arbitrary wave generator

    I do not know anything about Labview but somehow i need to get this task done.
    How do i make a random data time series using the data arrays in a text file to be generated into the arbitrary wave generator? Can somebody please provide an example file for this?
    Thank you in advance. 

    Hello Nazerrul,
    There are several ways to do something like this.
    First, many Arbs also have function generating capabilities, including random noise generation. What exact arb are you using?
    If your arb doesn't have this capability you could use the Gaussian White Noise Waveform VI to create a noise waveform that you could then load into your arbitrary waveform generator. How to do this part depends on your arb. What exact arb are you using?
    In short, more information is needed, including the arb you are using and what you have done so far in getting this to work.
    Regards,
    Dan King

  • PXI_Add AWGN to a carrier generated using NI RFSG in Arbitrary Waveform mode

    Hello ! 
    Does anyone know how to add AWGN to a carrier generated using NI RFSG ?
    I know how to generate a CW signal using NI RFSG in Arbitrary Waveform mode (please see the attached file),  but I have not found out yet how to add AWGN to it.
    Thank you ! 
    Aina

    Hi Aina,
    I may still be not completely understanding exactly what you're asking for. So in my example that I gave you, we were adding the AWGN to both the I and Q arrays seperately. What you're looking for is to actually add the noise to the signal after it has been upconverted. Does that sound right? With our hardware, this is not possible because the baseband I/Q data is mixed with the carrier in hardware as the last step before it is generated. To add AWGN after the signal has been placed on the carrier you would need a noise generator. The best you can do is to add the AWGN to the baseband I/Q and then upconvert it based on the carrier frequency you specify in RFSG. Let me know if that was helpful to you.

  • Great discrepancies of frequencies of the arbitrary waveform using niFGEN 5401

    Hi all!
    I'm using niFGEN PCI 5401 to generate an arbitrary waveform defined previously in the Soft Front Panel.
    The reference guide says, that I can produce a frequency up to 1 MHz. Does this value refer to the whole waveform or to each sample of the 16384 samples? And how can you explain, that at last the arbitrary waveform takes about 600 ms for one cycle even though the frequency was set to 1 MHz?!
    Thanks in advance
    Steffi

    Hi Jerry!
    I generally understood how DDS works, but I'm bemused why the output frequencies do not correspond to the input frequencies?
    1.) Yesterday I made a test with the GIVEN Soft Front Panel and even this does not work as it should: If I want a standard square function of 1 MHz, I get a square function of 2,5 Hz! (The same with 100 kHz = 0,25 Hz and 10 kHz = 0,025 Hz.) Where does this factor come from?
    2.) This factor also corresponds more or less to the generated arbitrary function in my program: with 1 MHz I get 1,6 Hz, with 100 kHz = 0,16 Hz ...
    3.) I thought changing the ratio between pulse length and length of the whole signal period (it's first a square and then a long time zero) I could generate a short pulse anyway accepting the mentioned f
    requency discrepancies. E.g.: One period takes 600 ms (although my input frequency is 1 MHz). If I have a ration of 1 (square) to 100 (whole signal) I should get at least a pulse of 6 ms. But the shortest pulse I ever got was about 20 ms.
    The IMPORTANT QUESTION: is there a physical limit for generating pulses (e.g. due to the inertia of the DDS method)?
    I hope I could explain my problem more precisely. Thank you anyway!
    Steffi

  • Arbitrary waveform generation from large text file

    Hello,
    I'm trying to use a PXI 6733 card hooked up to a BNC 2110 in a PXI 1031-DC chassis to output arbitrary waveforms at a sample rate of 100kS/s.  The types of waveforms I want to generate are generally going to be sine waves of frequencies less than 10 kHz, but they need to be very high quality signals, hence the high sample rate.  Eventually, we would like to go up to as high as 200 kS/s, but for right now we just want to get it to work at the lower rate. 
    Someone in the department has already created for me large text files > 1GB  with (9) columns of numbers representing the output voltages for the channels(there will be 6 channels outputting sine waves, 3 other channels with a periodic DC voltage.   The reason for the large file is that we want a continuous signal for around 30 minutes to allow for equipment testing and configuration while the signals are being generated. 
    I'm supposed to use this file to generate the output voltages on the 6733 card, but I keep getting numerous errors and I've been unable to get something that works. The code, as written, currently generates an error code 200290 immediately after the buffered data is output from the card.  Nothing ever seems to get enqued or dequed, and although I've read the Labview help on buffers, I'm still very confused about their operation so I'm not even sure if the buffer is working properly.  I was hoping some of you could look at my code, and give me some suggestions(or sample code too!) for the best way to achieve this goal.
    Thanks a lot,
    Chris(new Labview user)

    Chris:
    For context, I've pasted in the "explain error" output from LabVIEW to refer to while we work on this. More after the code...
    Error -200290 occurred at an unidentified location
    Possible reason(s):
    The generation has stopped to prevent the regeneration of old samples. Your application was unable to write samples to the background buffer fast enough to prevent old samples from being regenerated.
    To avoid this error, you can do any of the following:
    1. Increase the size of the background buffer by configuring the buffer.
    2. Increase the number of samples you write each time you invoke a write operation.
    3. Write samples more often.
    4. Reduce the sample rate.
    5. Change the data transfer mechanism from interrupts to DMA if your device supports DMA.
    6. Reduce the number of applications your computer is executing concurrently.
    In addition, if you do not need to write every sample that is generated, you can configure the regeneration mode to allow regeneration, and then use the Position and Offset attributes to write the desired samples.
    By default, the analog output on the device does what is called regeneration. Basically, if we're outputting a repeating waveform, we can simply fill the buffer once and the DAQ device will reuse the samples, reducing load on the system. What appears to be happening is that the VI can't read samples out from the file fast enough to keep up with the DAQ card. The DAQ card is set to NOT allow regeneration, so once it empties the buffer, it stops the task since there aren't any new samples available yet.
    If we go through the options, we have a few things we can try:
    1. Increase background buffer size.
    I don't think this is the best option. Our issue is with filling the buffer, and this requires more advanced configuration.
    2. Increase the number of samples written.
    This may be a better option. If we increase how many samples we commit to the buffer, we can increase the minimum time between writes in the consumer loop.
    3. Write samples more often.
    This probably isn't as feasible. If anything, you should probably have a short "Wait" function in the consumer loop where the DAQmx write is occurring, just to regulate loop timing and give the CPU some breathing space.
    4. Reduce the sample rate.
    Definitely not a feasible option for your application, so we'll just skip that one.
    5. Use DMA instead of interrupts.
    I'm 99.99999999% sure you're already using DMA, so we'll skip this one also.
    6. Reduce the number of concurrent apps on the PC.
    This is to make sure that the CPU time required to maintain good loop rates isn't being taken by, say, an antivirus scanner or something. Generally, if you don't have anything major running other than LabVIEW, you should be fine.
    I think our best bet is to increase the "Samples to Write" quantity (to increase the minimum loop period), and possibly to delay the DAQmx Start Task and consumer loop until the producer loop has had a chance to build the queue up a little. That should reduce the chance that the DAQmx task will empty the system buffer and ensure that we can prime the queue with a large quantity of samples. The consumer loop will wait for elements to become available in the queue, so I have a feeling that the file read may be what is slowing the program down. Once the queue empties, we'll see the DAQmx error surface again. The only real solution is to load the file to memory farther ahead of time.
    Hope that helps!
    Caleb Harris
    National Instruments | Mechanical Engineer | http://www.ni.com/support

  • Experience​d with 3152 Waveform Generator?

    Hi, I am using a 3152 Waveform Generator. Does anyone have any experience programming these, either with the LabWindows drivers or just SCPI? I've been trying both. I'd really like to pick your brain!
    My foremost issue is with generating/loading arbitrary waveforms.
    With my non-driver attempts, I'm stuck at the "TRACe #42000<binary_block>" step in loading the data.
    Sorry for the highly specific question, I hope someone knows though! I'm completely stuck.
    I figured using the drivers would be short and sweet, but I've had even less luck with them.
    Thanks in advance!

    Yes, that's the guy. Let me ask, what binary conversion CVI tools would aide me with this? The binary block I have to send needs to be very specific. 12 bit resolution with an initial 4 bits of header for 16 bits total, repeating.
    This is what I've got for a starter.
    char *printToBinary (int n, char *string){//FIX: return a negative number for error checking.
        int len;
        if (n < 0) return "-1"; // Number must be non-negative
        // Recursively call the function for 1 to n-1 bits
        if (n > 1) string = printToBinary (n / 2, string);
        // Dynamic allocation of memory
        if (!string) {
            string = malloc (2);
            memset (string, 0, 2);
        else {
            len = strlen (string);
            string = realloc (string, len + 2);
            string[len] = 0;
        // Print the last bit
        sprintf (string + strlen (string), "%d", n % 2);
        return string;

  • Odd error originating from NI-5411 (Error code: BFFA0002) when trying to load arbitrary waveform

    Hello everyone. 
    We have some equipment (PCI NI-5411) that is misbehaving in an odd and new way. When trying to load an arbitrary waveform onto the AWG (using a library call to the "niFgen Write Binary 16 Waveform"), it produces an error. The error code is "BFFA0002", but I haven't been able to find any information that can show what this error code provides. Previously, we had some problem when the system wouldn't find the file and produces an error even though the file is there. After changing our code so the file access is attempted several times, the problem was resolved. However, that doesn't work in this case and we do not know here the problem is.
    This is a pretty much shooting wild and hoping that something falls down, but if anyone could provide me with information about the error code or another probable error source I would be highly grateful.
    Thanks in advance!
    With best regards,
    Niclas

    Hi Niclas,
    That error code suggests that a file cannot be opened. This error is defined in IVI as  IVI_ERROR_CANNOT_OPEN_FILE.I don't think we return this error code from the NI-FGEN driver.
    You mentioned that you have an issue with finding a file. Is that file specific to your application? How is it being open or used? What API do you use to open that file?
    For NI-FGEN specific error code (and generic IVI error codes), you can query the error message by calling niFgen_error_message function or niFgen Error Message.vi.
    Thanks,
    - Liusdi

  • I want to output an arbitrary waveform using LabView onto the oscilliscope through the DAQ2005 card. Can anyone help please?

    Hey guys,
    I am new to LabView and my final year project depends on it! Please help as much as you can!
    I am trying to output an arbitrary waveform on an oscilliscope. The shape of the waveform depends on user input parameters like no. of samples, amplitude of each sample and the frequency of desired waveform. Please refer to attached Arbitrary_Wave_Display.vi. In the attached vi, the desired waveform is displayed on the front panel. My project requires that I output this waveform through the analogue output channels of the 2 DAQ2005 cards that I have. When I connect the output of th Arbitrary_Wave.vi to the input of the AO write express vi, there is no output of the oscilliscope. I believe it should be connection problems with regards to while loops and loop conditions. I have also attached my attempted vi.
    Please feel free to give some advice. It is greatly appreciated,
    Best regards,
    TheApprentice of LabView

    You didn't attach any VI and what is the DAQ 2005? I don't know of any NI board with that model number. The analog output functions on the LabVIEW DAQ palette only work with NI boards.

  • Arbitrary Number Generated before Sales Order Document number is Generated

    I want to know which is the arbitrary number generated before the sales Order Document number is created. In which table the arbitrary number is stored?
    The Exit which triggers the arbitrary number in the transaction VA01?

    Hi
    You get the Arbitrary number throug the FM NUMBER_GET_NEXT.
    interne Nummernvergabe
            data: da_rc like inri-returncode.
            call function 'NUMBER_GET_NEXT'
              exporting
                nr_range_nr = da_numki
                object      = 'RV_BELEG'
              importing
                returncode  = da_rc
                number      = vbak-vbeln.
    And regarding userexit, there is
    perform userexit_number_range using da_numki statement in include MV45AF0B_BELEG_SICHERN.
    Regards
    Raj

  • The Agilent 33250A arbitrary waveform VI is ill-documented.

    I am trying to create a waveform (basically a 1 D array of voltages) using the Agilent 33250A VI. The shape is simple - a 3.5V peak ramp starting from zero that extends over 50 microseconds, followed by a DC level of zero volts for 100 microseconds.
    The named waveform is indeed saved on the instrument, but when I examined the points, it was always a 1 Vpp amplitude ramp. The timing appeared to be ok.
    On a hunch, I used the gain and offset inputs of the configure arbitrary waveform VI to set things correctly(I was already using the frequency input for setting the temporal information). Now, the waveform is fine.
    The create arbitrary waveform VI should document that it ignores the actual voltage levels. 

    In other words, you ended up doing what the example does.
    As the documentation does state, the Create Arbitrary Waveform function scales and normalizes the data that you pass to it. So, for the 33250A, it scales it from -2047 to +2047. The waveform is centered around 0. The documentation also states that the maximum value of the waveform will be equal to the gain.

  • 5451 2 channels arbitrary waveform

    We wanted to generate two different arbitrary waveforms simultaneously using PXIe 5451.
    To make the LabVIEW code, we created a FGEN Express vi and opened the Front Panel of that and observed that they have used the same Waveform Handle for both channels (image attached).
    We tried to have separate waveform handles for individual channels and got some error.
    Why should we do like this?
    Regards,
    Srikanth
    Attachments:
    awg.JPG ‏95 KB

    Hi, 
    Could you please elaborate more on the error that you encountered while you tried to use 2 different handles. Also if you could upload the VI, it would help us solve the issue fast.
    Regards,
    Sagar G Yadav | Application Engineer | National Instruments 

  • 33522B Waveform Generator

    Hi!
        I am wondering there is any mechanism in Labview to sysnthesis some waveform and play it with 33522B Waveform Generator.
    Solved!
    Go to Solution.

    I believe the drivers have VIs that allow one to load an arbitrary wavefrom to the instrument. You should be able to modulate it either with an external input to the device or internally. Is that what you are looking for, otherwise, your question is unclear to me.
    Cheers,
    mcduff

Maybe you are looking for

  • How to get JTextPane partially non-editable?

    Hi, I am trying to get parts of the JTextPane (that have clearly different styles than regular text) to be non-editable. So far I cannot make a partial setting like this. Netbeans (FFJ) source file editor has a feature like this, but I have not been

  • Size of calendar

    Hi, I would welcome any tips / experience on java.util.Calendar memory needs. We are planning on using Calendar as our core datetime datatype for an application that would hold a huge amount of business objects in memory. I am concerned about the Cal

  • Adobe Tutorial Help please?

    Hi, Trying to do the tutorial but have no idea of C#. I have tried running the code through a convertor but keep getting errors. Can anyone convert this from C# to VB <script runat="server"> protected void Page_Load(Object Src, EventArgs E) // Don't

  • Cache Web Content doesn't show how much?

    When in the Network tab, the cache web content doesn't show how much content is used, the line is missing. I tried clicking on the clear button but it doesn't work.

  • Default Email Addresses Picked From Address Book in Groups?

    Many of the records in my address book have more than one email address. When I am sending an email to that individual I start to type their name and am presented with the various choices -- I believe the address I most recently used (or maybe most r