IQ Modulation Programming Examples
RF Signal Generation
Chris Armstrong
Last Update il y a un an
With the need for dynamic signal generation, interference, and complex RF environment tests, the ability to automate and process a variety of signals quickly is an important capability. Like all Siglent instruments, these RF signal sources utilize a SCPI text based API over USB or ethernet. Each series includes a programming manual that outlines how to communicate using these SCPI commands with the VISA protocol.
One critical aspect of automation for a signal generator like this is to dynamically load custom IQ files that may be saved internally or transferred from the SigIQPro software beforehand.
Let’s look at a couple of basic signal configurations for these generators and the commands we use to set them up:
First, let’s look at how to load and activate a QAM16 signal remotely to the instrument. Here is a view of the LabVIEW code. The highlighted area controls the generator:

In this vi, these 6 commands are sent in 2 batches:
:FREQ 4000000000 sets the center frequency to 4 GHz
:FUNC:DM:STAT ON activates the IQ modulation system
:RADio:CUSTom:MOD QAM16 sets the custom modulation to QAM16
:RAD:CUST:STAT ON activates the custom modulation system
:POW:POW -20 sets the power level to -20 dBm
:OUTP ON turns on the generator main output
The code in that vi above the generator code sets up a SSA5000A spectrum analyzer to view the demodulated signal. This is achieved simply by loading the mode (MA for Modulation Analyzer) in this case and then loading a saved setup with all of the matching settings. The output of this code appears on the analyzer as:

Obviously, subtle changes to that code can adjust the modulation or turn off the IQ modulation operation.
Let’s look more closely at a complex configuration for a Bluetooth signal:

This code shows the 8 commands necessary to load and execute a Bluetooth signal. Most important is the command to locate and load one of the preexisting Bluetooth arb files:
RADio:ARB:WAVeform “WFM:Bluetooth BR_DM1 Bursting packet”
Depending on the model, the command for loading the waveforms from the file system differ slightly.
Then to set the arb symbol clock rate: :RADio:ARB:SCLock:RATE 30 MHz
And finally, to activate the ARB radio system: :RAD:ARB:STAT ON
Consult the programming manual for the model generator you are using for complete programmatic control.
