The MATLAB program IQ Baseband Builder (IQBB) allows you to generate ideal as well as non-ideal IQ baseband signals using a GUI. When building the signals the user has control over signal parameters such as pulse shaping, samples per symbol, additive noise, phase balance, and more. The digital data used to build the signals is generated randomly. The user can also import their own digital data to generate the signals via a CSV file. Once the signals have been generated they can be analyzed on an eye diagram plot, a constellation diagram plot, a frequency domain plot, and a time domain plot. Once the IQ signal waveforms have been generated they can be exported from IQBB to either an Agilent 33500A/B 2-channel waveform generator or a CSV file. IQBB was created on MATLAB version 126.96.36.1999 (R2012a). It requires the Communications Systems Toolbox and the Instrument Control Toolbox.
To run the IQBB program, open up MATLAB and set the “Current Folder:” to the folder containing the IQBB program files. To launch the IQBB program, Type “IQ_Baseband_Builder” into the command line.
The following is an overview of the IQBB program features and settings:
• Build Signal button: builds IQ signal based on the current signal parameter settings
• Modulation Type List Box: select the modulation type you want to use for the IQ signals, ranges from 4 QAM to 256 QAM
• Symbol Order Toggle Button: allows you to select between binary and gray for symbol ordering
• Impulse Response List Box: allows you to select the filter or pulse shaping response for the IQ signals
• Pulse Shaping Response: Check Box: when checked a plot with the selected pulse shaping response pops up
• Samples Per Symbol Edit Box: number of waveform points used per symbol for building each signal
• Bit Count Edit Box: Sets the number of digital bits used to build signal. Unless the bits are imported, they are generated randomly. The entered count may change slightly to match symbol count and samples per symbol
• Re-Use Digital Data Check Box: when checked it reuses any existing generated or imported digital data. When unchecked new digital data is generated whenever you build a new signal
• Filter Order Slider: For raised cosine, root raised cosine, and Gaussian pulse shaping selects filter order
• Beta Roll Off Slider: Sets the beta value for raised cosine and root raised cosine filter types. When Gaussian filter type is selected it sets the 3 dB bandwidth Symbol Time Product
• Additive Noise Slider: Sets the amount of additive white noise that will be added to the signals. Set slider all the way to the right (default) to add no noise
• Phase Balance Slider: Sets balance between signals, default is 0
• Amplitude Balance Slider: Sets amplitude balance between signals, default is 0
• I Amplitude Offset Slider: Adds a DC offset to the I signal, default is 0
• Q Amplitude Offset Slider: Adds a DC offset to the Q signal, default is 0
• Export IQ Signal Data Panel: Allows user to export signal data to an Agilent 33500A/B waveform generator or CSV file
o When the “Export to 33500A/B” check box is checked the program is configured to export signal data to a 33500A/B waveform generator (2-channel version). The program communicates with the waveform generator via LAN so you must enter the waveform generator’s IP address
o With the check box unchecked, signal data will be exported to a CSV file in the current directory. Enter a name for the file in the text box
• Import Digital Data from CSV Panel: allows you to import the digital data from a CSV that will be used to build the signals. Enter the name of the CSV in the text box. The program will look for the CSV in the current directory. Note that the digital data should be in column form and start at row 0 and column 0
• Eye Diagram Toggle Button: selects whether I or Q signal data is displayed in eye diagram plot
• Baseband Plot Toggle Button: selects whether I or Q signal data is displayed in time domain plot
Neil Forcier (2022). IQ Baseband Builder (https://www.mathworks.com/matlabcentral/fileexchange/38363-iq-baseband-builder), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!