I would like to know how to model non-linear behavior in SimRF. In particular, I am interested in modeling the non-linear aspects of active devices such as Amplifiers and Mixers.
MATLAB: How to model nonlinearity in SimRF 4.0 (R2013a)
nonlinearRF Blockset
Related Solutions
Procedures for interfacing SimRF with Simulink, Communication Systems Toolbox, and the RF Toolbox are outlined below:
Interfacing SimRF with Simulink:
Most of the SimRF blocks cannot be directly connected to standard Simulink blocks, and special conversion blocks are required to interface the two domains with one another. The interfacing procedure is different for Equivalent Baseband and Circuit Envelope modeling:
- Simulink <-> Equivalent Baseband: use the Input and Output Port blocks from the SimRF->Equivalent Baseband library. For more information on the various options/features of these blocks, please see the following links:
When interfacing signals between Simulink and SimRF Equivalent Baseband, please be careful when interpreting the physical meaning of the signals. Remember that a 0 Hz Simulink signal maps to the carrier frequency in the SimRF domain, and frequencies above/below 0 Hz in Simulink map to frequencies above/below the passband carrier frequency in SimRF. For more information, please see the following link:
- Simulink <-> Circuit Envelope: use the Inport/Outport block from the SimRF->Circuit Envelope library. For more information about these blocks, please see the following links:
When interfacing signals between Simulink and SimRF Circuit Envelope, please be careful when interpreting the physical meaning of the signals. Complex Simulink signals map to the amplitude modulations of the in-phase/quadrature carrier components in the SimRF domain. For more information on the way that Simulink signals map to SimRF Circuit Envelope signals, please see the following link:
http://www.mathworks.com/help/releases/R2013a/simrf/gs/minimize-computations-for-rf-simulations.html
Interfacing SimRF with Communication System Toolbox:
The Communication System Toolbox signals all exist in the Simulink domain. As such, they cannot be directly connected to SimRF blocks. To interface the SimRF domain with the Communication Systems Toolbox, the first step is to interface the SimRF blocks with the Simulink domain using the procedure outlined above.
Please see the following links for some examples of using SimRF and the Communication System Toolbox together:
Interfacing SimRF with RF Toolbox:
SimRF is used in the Simulink environment, while the RF Toolbox consists of a set of MATLAB functions/classes that are used in the MATLAB programming context. Nevertheless, it is possible combine some of the functionality of RF Toolbox with SimRF.
In RF Toolbox, it is possible to create data objects to represent circuit elements including amplifiers, mixers, S-parameter networks, and other generalized circuit elements. In general, S-parameters and amplifier/mixer data can be represented as RFDATA objects, and generalized circuit networks such as RLC networks can be represented as RFCKT objects.
Some of the blocks in the Equivalent Baseband Library offer the ability to import these RF Toolbox objects to define the block parameters.
The “General Mixer” and “General Amplifier” blocks can use an RFDATA object to define their parameters. To do so, choose the RFDATA option in the “Data Source” pull down menu under the Main tab of the block parameters. Similarly, an RFCKT object can be used to specify the behavior of the “General Circuit Element” block, by specifying the name of the object in the “RFCKT object” field in the block dialog. For more information on these blocks, please see the following links:
For more information on the RF Toolbox objects, please see the following link:
In addition, many of the blocks in the SimRF library have the ability to import S-parameter files such as “.snp”. It is possible to generate export RF Toolbox models/objects as S-parameter files that can be imported into other contexts such as SimRF. For more information on the data export capabilities of RF Toolbox, please see the following link:
There are several methods by which it may be possible to model a custom RF component in SimRF:
1) Use some combination of existing blocks:
Can the component be represented as some equivalent circuit that can be expressed in terms of the blocks in the SimRF library? If so, then the component can be modeled using some combination of the existing blocks.
The custom component model can be converted to a subsystem, or imported as a model reference or library block in some larger model. For a list of the blocks that are available in SimRF, please see the following links:
2) Represent the component using the RF Toolbox:
In RF Toolbox, it is possible to create data objects to represent circuit elements including amplifiers, mixers, S-parameter networks, and other generalized circuit elements. In general, S-parameters and amplifier/mixer data can be represented as RFDATA objects, and generalized circuit networks such as RLC networks can be represented as RFCKT objects. In turn, some of the blocks in the Equivalent Baseband Library offer the ability to import these RF Toolbox objects to define the block parameters.
If the component can be represented as an equivalent circuit in terms of the circuit elements available in the RF Toolbox, then the component can be created in RF Toolbox and imported into SimRF using the technique outlined above.
For more information on the RF Toolbox modeling objects, please see the following link:
3) Represent the component as equivalent S-parameters:
Is S-parameter data available for the component of interest? If so, then the data can be imported using one of the S-parameter blocks that are available in the SimRF library. For more information on the S-parameter blocks available in SimRF, please see the following links:
4) Interfacing SimRF with Simulink:
SimRF offers blocks that can be used to interface signals back and forth between Simulink and SimRF. Using these blocks, it may be possible to model an RF component as follows:
- Export the RF signal to the Simulink domain
- Use Simulink blocks to process the signal in some way
- Import the signal back into SimRF
Simulink has a very large variety of blocks available that may be used to process the signal in some desired manner. In addition, Simulink also has access to custom blocks such as S-functions that can be used to implement arbitrary functionality.
Simulink blocks cannot model circuit loading effects (because signals in Simulink propagate in one direction only). To model the loading effects of the custom element on the rest of the SimRF model, you can include input and output impedances before and after the Simulink blocks, as shown in the figure below:
Please use caution when importing/exporting signals between SimRF and Simulink. It is important to keep track of how SimRF signals map to the Simulink domain, and vice versa. The mapping is different for Equivalent Baseband and Circuit Envelope modeling. For more information, please see the following links:
Related Question
- How to access poweramp_helper.m from the white paper titled “Modeling RF Power Amplifiers and Increasing Transmitter Linearity with DPD Using MATLAB”
- How to reduce the simulation time of the model in SimRF 4.0 (R2013a)
- How to analyze the output waveform at various points in a RF receiver model with and without a shunt resistor in SimRF 3.0 (R2010b)
- What are the differences between Equivalent Baseband and Circuit Envelope modeling, in SimRF 4.0 (R2013a)
- SIMRF-How to Set the S-parameters
- How to calculate the input power into the amplifier when using the RF Blockset
Best Answer