The overall goal in this document is to establish a intermediate frequency signal with the IF transceiver using LabVIEW. LabVIEW helps create the samples for the IF transceiver to generate an IF signal. Once the IF transceiver has created this signal, the PXI-5610 upconverts the IF signal to a RF range. Throughout this document consider our baseband signal range at 15 MHz ± 10 MHz.
2. IF Transceiver
The first step in this example’s integration of the NI PXIe-5641R and the NI PXI-5610 is to select the frequency reference of the PXI-5610. This improves the overall frequency accuracy of the system. This is done by phase locking (PLL) the internal VCXO of the PXIe-5641R with the much more accurate OCXO internal to the PXI-5610. The signal is routed from the front panel of the PXI-5610 to the Clk In SMB connector of the PXIe-5641R. Figure 1 shows this implemented in LabVIEW.
Figure 1: Setting the IF Transceiver to PLL to an external clock.
The PXIe-5641R can configure the Numerically Controlled Oscillator (NCO) that handles baseband to IF conversion by digitally mixing in the Digital Upconverter (DUC) of the Digital to Analog Converter (DAC). The NI PXIe-5641R has two AO channels. The AO signal is generated from the 14-bit DACs, which have integrated Digital Upconverters. The DUC also does additional filtering before mixing with the NCO as shown in Figure 2.
Figure 2: Analog output block diagram FPGA and DAC operation flow.
A numerically controlled oscillator is an oscillator whose frequency is controlled by a tuning word. This is where you can set the IF frequency of your data coming out of the IF transceiver, or fine tune the RF upconverter to a particular RF frequency. This is explained further in a following section. Tuning the NCO is done with one subVI, ni5640R DAC Configure for Quadrature Mode.vi (Figure 3).
Figure 3: Context Help for subVI used to tune NCO.
In this example program, you can modulate a single tone, QAM 4, or an arbitrary waveform by creating the necessary samples in LabVIEW and then sending them to the FPGA for processing. The FPGA allows users to develop additional conditioning filters, such as an equalization filter, to manipulate the data before sending it to the DAC or Analog Output.
Figure 4: QAM 4 samples are created to emulate a possible application.
Data is amplified to an equivalent 14-bit binary value once it leaves the Case Structure (Figure 5). The maximum amplitude of the data should not exceed one, as clipping occurs causing discontinuity and unwanted phase changes. These unwanted changes yield undesirable results when analyzing modulated signals. Change the multiplication value to a reasonable value, such that the highest amplitude does not exceed 215-1 after multiplication.
Figure 5: Multiplying IQ data by 215-1.
This example calculates key information about the data generated or provided once the sample information leaves the Case Structure. This is information that is often extrapolated from waveforms/IQ data being processed for IF or RF modulation. Some of these calculations include IQ Rate, Desired Interpolation, and Desired CIC Interpolation, which is coerced hence the added calculation of Actual Symbol Rate and Expected Tone Offset. These calculations are helpful when analyzing signals via demodulation.
Figure 6: Key data information calculations in LabVIEW.
In this example, the IF transceiver creates samples for the FPGA based on the user’s input. Users can choose to create a single tone, QAM 4, or an arbitrary waveform as noted previously, which is reflected with corresponding IQ data. This IQ data is sent to the FPGA where added processing or shaping can take place—currently this is open for personalization. This conditioned data then proceeds to the DAC to be digitally mixed and output to AO. The FPGA code is included in the project file. It is signified by '(FPGA)' in the VI name. The key note with the FPGA is that data is sent to it once, and the FPGA writes this data to AO memory, which is continually read until the application has been stopped.
3. RF Upconverter
Most of the LabVIEW programming for the PXI-5610 is configuration, which is done with the NI-RFSG driver. The first step in the configuration of the PXI-5610 is to set the PXI-5610 to upconverter mode only. The LabVIEW programming for this reflected in Figure 7.
Figure 7: Setting the PXI-5610 to Upconvert Mode Only.
Next, the signal bandwidth and upconverter center frequency are set. The IF carrier frequency for the IF transceiver can be calculated with this information. It is important to note that the PXI-5610 can tune in 1 MHz and 5 MHz increments—1 MHz when the signal bandwidth is larger than 10 MHz otherwise it increments in 5 MHz intervals. Use this calculated value to tune the NCO discussed in the previous section. This centers the IF signal around 25 MHz, approximately. This can be easily changed to behave in a different manner, such that the IF transceiver’s frequency can affect the the PXI-5610 offset from center at the specified upconverter center frequency. Note that the PXI-5610 applies this formula for calculating the RF Frequency, which may influence your mathematical programming as shown in Figure 8.
RF Frequency (MHz) = Upconverter Center Frequency + Carrier Frequency – 25 MHz (1)
Figure 8: Calculation for Necessary IF NCO Carrier Tuning Frequency.
Some additional programming was added to give the ability to change the RF:Power Level (dBm) easily. Outside of this addition, the PXI-5610 continues to upconverter its input until the application is stopped.
4. Front Panel Connections
Figure 9: Connections made between the PXI-5610 and PXIe-5641R
5. Example Program Setup
Two example projects have been provided, one for LabVIEW 8.6 and the other for LabVIEW 2011. Open the respective example’s host VI signified by (HOST) in the VI’s name once you are certain that you have made all appropriate connections. The connections were defined in the previous section.
Figure 10a: LabVIEW 8.6 Front Panel.
Figure 10b: LabVIEW 2011 Front Panel.
1. Open 5641R_5610_upconvert_mode_only (HOST).vi located at the bottom of this page (open ni5641R_5610_LV2011 (HOST).vi if using LabVIEW 2011 or above). The front panel, shown in Figure 10a and Figure 10b, has the following available settings for the PXI-5610.
- Upconverter Resource and IF Transceiver Resource: The resource names of the PXI-5610 RF Upconverter and the PXIe-5641R IF Transceiver in your system. These resources should appear from the drop down menu as the names associated to them in Measurement & Automation Explorer.
- RF Frequency (Hz): The RF center frequency at which the baseband signal will be modulated. This is also the frequency that currently calculates the necessary IF center frequency.
- Gain (dB): Specifies the desired gain for the signal.
- Bandwidth (Hz): Specifies the desired bandwidth for the signal. Based and centered from the RF Frequency (HZ).
2. For the PXIe-5641R, choose your desired AO.Symbol Rate, AO.I Gain (0-2), and AO.Q Gain (0-2).
3. Lastly, indicate what kind of signal you want to modulate on the IF transceiver. This is done by choosing the appropriate tab and providing the configuration values indicated for that signal.
4. Run the VI. If at any time you would like to make changes to the previous values from Step 1 or 2, press the Reset RF Parameters? button after you have made the value changes. Similarly, the RF Power Level can be changed at any time by pressing the Reset Power Level? button.
The PXI-5610 output information will automatically calculate and tell you what IF frequency your IF transceiver is transmitting at. The PXIe-5641R also indicates the actual AO symbol rate.
You are now transmitting your desired signal at your specified RF frequency. Some minor changes to this example provide manual tuning options to the NCO via a LabVIEW control. This allows you to control the IF transceiver’s transmitting frequency.
6. Example Program Outputs
Figure 11: Example output for a single tone.
Figure 12: Example output for a QAM 4.