This chapter details the RF modeling capabilities of the Visual System Simulator^{TM} (VSS) program. These capabilities include:
RF Budget Analysis
RF Inspector
Impedance mismatch modeling
Behavioral amplifier, mixer and circuit filter blocks
Blocks for modeling Microwave Office linear and nonlinear circuits within the VSS program
RF modeling applies to the portions of a system design that represent analog voltage signals, usually at RF frequencies but not always. These are the portions of the design that include behavioral amplifiers, mixers, and circuit based filters as well as blocks for incorporating Microwave Office circuit designs within a system simulation.
RF modeling typically only applies when using the RF blocks. These blocks include all the blocks within the RF Blocks category. They also include the circuit based filters, which are found in the Bandpass, Bandstop, Highpass and Lowpass sub-categories of the Filters category.
The RF Blocks In VSS section outlines the available blocks and offers suggestions on when to use various blocks. It also includes information on incorporating signals from non-RF blocks into RF modeling by using the RF_START, RF_START_NS, and RF_END blocks.
RF modeling lets you perform quick frequency based cascaded measurements such as cascaded noise figure or operating gain using the RF Budget Analysis simulator. The RF Budget Analysis simulator is one part of the frequency analysis capability of the VSS program. The RF Budget Analysis section explains RF Budget Analysis simulations.
RF modeling lets you identify the makeup of frequency content at any point in an RF link using the RF Inspector simulator (RFI). With RFI you can identify sources of distortion and interference, such as what aspect of a nonlinear RF component is causing a particular IM product. The RF Inspector simulator is the other part of the frequency analysis capability of the VSS program. The RF Inspector section covers RFI in detail.
RF modeling allows you to take into account the effects of impedance mismatches, particularly when working with filters. The Impedance Mismatch Modeling section details these capabilities.
Modeling frequency dependent behavior in Time Domain simulations is not a trivial task. The Time Domain Filter Issues section covers some of the more important considerations to keep in mind.
A key component of RF modeling is the support for nonlinear behavior. The VSS program includes several RF blocks for modeling nonlinear behavior. They include the behavioral amplifier blocks AMP_B, AMP_BV, AMP_F, VGA_F, the behavioral mixer blocks MIXER_B and MIXER_F, and the nonlinear Microwave Office simulation based amplifier and mixer blocks, NL_S and MIXER_S. As with any RF model, they have limitations.
The Time Domain simulation limitations are described in the "Nonlinear Modeling Issues section. Issues affecting RF Budget Analysis simulations are in the RF Budget Analysis Nonlinear Modeling section. The RF Inspector section covers the various aspects of nonlinear models within RF Inspector simulations.
The VSS RF blocks can be grouped into four main groups: linear filters, nonlinear amplifiers, mixers, and miscellaneous.
The linear filters consist of purely linear blocks that can be modeled using S and Y parameters. These include LIN_F, LIN_F2, LIN_S, RFATTEN, and QHYB_12, as well as the circuit filter blocks such as BPFB or LPFC.
The nonlinear amplifiers are blocks that apply a nonlinearity to the signal without shifting the frequency. These include AMP_B, AMP_BV, AMP_F, VGA_F, NL_S and NL_F.
The mixers are three port blocks that multiply two signals to obtain a third frequency shifted signal. These include MIXER_B, MIXER_F and MIXER_S.
The miscellaneous group includes blocks such as TONE and LOAD, and the network analyzer blocks VNA and VSA.
Three miscellaneous blocks, RF_START, RF_START_NS, and RF_END, let you incorporate signals from non-RF sources into RF modeling.
There are also several other specialized blocks such as the PLL blocks and V_LIM. Because of the nature of these blocks, they generally do not fully incorporate the RF modeling features described here and are not discussed further in this chapter.
Finally, non-RF block generated signals such as modulated signals can be used in Time Domain RF and RF Budget Analysis simulations through the use of the RF_START, RF_START_NS, and RF_END blocks.
The linear filters group consists of RF blocks that have linear behavior. Their behavior can be represented as S or Y matrices. This group consists of the following RF blocks:
Block | Description |
---|---|
ANTENNA | RF Antenna |
APHSHFT_VAR | Variable Analog RF Phase Shifter |
BPFB^{[1]} | Bandpass Butterworth Filter |
BPFC^{[1]} | Bandpass Chebyshev (type I) Filter |
BPFD^{[1]} | Bandpass Bessel Filter |
BPFE^{[1]} | Bandpass Elliptic Filter |
BSFB^{[1]} | Bandstop Butterworth Filter |
BSFC^{[1]} | Bandstop Chebyshev (type I) Filter |
BSFD^{[1]} | Bandstop Bessel Filter |
BSFE^{[1]} | Bandstop Elliptic Filter |
BUS_SPLITTER | RF Bus Splitter/Combiner |
CIRC_12 | Circulator (1-Input, 2-Output) |
CIRC_21 | Circulator (2-Input, 1-Output) |
COMBINER | RF Combiner |
DCOUPLER_3 | Directional Coupler, 3-port Internal Termination |
DCOUPLER_4 | Directional Coupler, 4-port External Termination |
DHYB_22 | 180-Degree Hybrid (2-Input, 2-Output) |
DPHSHFT | Digital RF Phase Shifter |
DPHSHFT_VAR | Variable Digital RF Phase Shifter |
DSATTEN_VAR | Variable Digital Step Attenuator |
HPFB^{[1]} | Highpass Butterworth Filter |
HPFC^{[1]} | Highpass Chebyshev (type I) Filter |
HPFD^{[1]} | Highpass Bessel Filter |
HPFE^{[1]} | Highpass Elliptic Filter |
ISOLATOR | Isolator |
LIN_F | Linear Behavioral Model (File-Based) |
LIN_F2 | Linear Behavioral Model, 2nd Generation (File-Based) |
LIN_MDIF | MDIF File Based Linear Behavioral Model |
LIN_S | Linear Behavioral Model (Simulation-Based) |
LINAMP | Linear Amplifier |
LPFB^{[1]} | Lowpass Butterworth Filter |
LPFC^{[1]} | Lowpass Chebyshev (type I) Filter |
LPFD^{[1]} | Lowpass Bessel Filter |
LPFE^{[1]} | Lowpass Elliptic Filter |
LTUNER | Lossless Tuner |
LVGA | Linear Variable Gain Amplifier |
PHARRAY_ANT | Phased Array Antenna |
PHARRAY_RXSIG | Phased Array Signal Splitter for Receivers |
PHARRAY_RXSIG_BUS | Phased Array Signal Splitter for Receivers, Bus Based |
QHYB_12 | Quadrature Hybrid (1-Input, 2-Output) |
QHYB_21 | Quadrature Hybrid (2-Input, 1-Output) |
QHYB_22 | Quadrature Hybrid (2-Input, 2-Output) |
RF_START | Start RF Signal |
RF_START_NS | Start RF Signal (Noise Source) |
RFATTEN | RF Attenuator |
RFDELAY | RF Delay |
RFDELAY_VAR | Variable Digital RF Delay |
RFDPDT_24ST | RF Double Pole Double Throw Switch (static 2 input 4 output) |
RFDPDT_42ST | RF Double Pole Double Throw Switch (static 4 input 2 output) |
RFSW_1nDYN | RF Single Pole n-Throw Switch (dynamic 1 input n-output) |
RFSW_1nST | RF Single Pole n-Throw Switch (static 1 input n-output) |
RFSW_BASEBALL | RF Baseball Switch |
RFSW_CROSSOVER | RF Crossover Switch |
RFSW_DIR | RF Directional Switch |
RFSW_n1DYN | RF Single Pole n-Throw Switch (dynamic n-input 1 output) |
RFSW_n1ST | RF Single Pole n-Throw Switch (dynamic n-input 1 output) |
S2P_BLK | Two Port S Parameter Block |
SBLK_2STATE | Two State S Parameter Block |
SCOUPLING | Signal Coupling |
SnP_BLK | n Port S Parameter Block |
SPLITTER | RF Splitter |
VVA | Voltage Variable RF Attenuator |
Y2P_BLK | Two Port Y Parameter Block |
YnP_BLK | n Port Y Parameter Block |
Z2P_BLK | Two Port Z Parameter Block |
ZnP_BLK | n Port Z Parameter Block |
^{[1] }This block can be found under the Filters category, not RF Blocks. |
NOTE: RF_START/RF_START_NS are included in the previous table because they are implemented as linear filters. Their use, however, is described in the Working with Non-RF Blocks section.
The linear filters all utilize the same core implementation, which internally represents the filters in Y matrix form. The Y matrices are used to compute the various frequency dependent properties for frequency analysis simulations. These include linear gain, available gain, and noise generation. When impedance mismatch modeling is enabled, the Y matrices are used by the simulator to determine the impedances looking into the ports of the block.
For Time Domain simulations, the linear filters rely on either IIR, FIR or a combination of both IIR and FIR digital filters. Each type has its advantages and limitations. In general, IIR filters provide a better overall response for arbitrary signals, though this is not guaranteed. The FIR filters on the other hand can provide much better frequency responses provided the signal is composed of tones that fall exactly on the frequencies corresponding to the FIR taps. The FIR filter is also generally much faster for large filter orders. The combination FIR and IIR filter provides a last-ditch model, with a typically good match for the magnitude response and a rough approximation of the group delay response.
A more comprehensive discussion of issues related to time domain filtering is found in the Filter Issues section.
The blocks in the linear filters group support both frequency analysis simulations and impedance mismatch modeling. See the RF Budget Analysis, RF Inspector and Impedance Mismatch Modeling sections for details.
The LIN_F,LIN_F2 and LIN_S blocks are all used to model frequency-dependent S-parameter based linearities. The difference between the blocks depends on where the S-parameter data comes from.
The following summarizes when to use which block:
If the S parameter data is: | Use: |
---|---|
S parameters from a Microwave Office schematic | LIN_S - You can drag Microwave Office circuits from the Subcircuits > LIN_S category of the Element Browser. |
Touchstone format | LIN_S - import the data as S-parameter data into the Data Files node of the Project Browser. You can drag the Touchstone circuit from the Subcircuits > LIN_S category of the Element Browser. |
Frequency response data corresponding to S, Y or Z parameters. | LIN_F or LIN_F2 - convert the data to Text Data File format and import it into the Project Browser Data Files node. |
The amplifiers group consists of the following one-input one-output nonlinear amplifiers:
Block | Description |
---|---|
AMP_B | Behavioral Amplifier |
AMP_B2 | Behavioral Amplifier, 2nd Generation |
AMP_BV | Behavioral Amplifier, Voltage Based |
AMP_EQN | Equation-based Nonlinear Amplifier |
AMP_F | Frequency Dependent Behavioral Amplifier, File-based |
NL_F | Nonlinear Behavioral Model (File-Based) |
NL_MDIF | MDIF File Based Nonlinear Behavioral Model |
NL_S | Nonlinear Behavioral Model (Simulation-Based) |
VGA_F | Nonlinear Variable Gain Amplifier, File-based |
These blocks are all found within the RF Blocks > Amplifiers category. There are other blocks within that category, such as LOGAMP and VGA_L. However, those blocks are currently not part of the amplifiers group.
The blocks in the amplifiers group support both frequency analysis simulations and impedance mismatch modeling. See the RF Budget Analysis, RF Inspector and Impedance Mismatch Modeling sections for details.
The following summarizes when to use which block:
If you have: | Use: |
---|---|
General amplifier characteristics such as P1dB and IP3 | AMP_B2, or AMP_B if characteristics are power based, AMP_BV if characteristics are voltage based. AMP_B2 contains temperature-dependent support. |
Frequency dependent amplifier characteristics such as P1dB and IP3, or a combination of voltage and power based characteristics | AMP_F - AMP_ F is a very flexible form of AMP_B and AMP_BV, with a variety of ways to enter the characteristics. |
A Microwave Office nonlinear circuit | NL_S - Allowed Microwave Office schematics can be dragged from the Subcircuits > NL_S category of the Element Browser. |
Measured nonlinear characterization data such as AM/AM-AM/PM or IM products from measurements or other simulators | NL_F - Create a Text Data File node in the Data Files node of the Project Browser and enter the characteristics. See the online help for NL_F for format details. |
The mixer group consists of the following mixer blocks:
Block | Description |
---|---|
MIXER_B | Behavioral Mixer |
MIXER_B2 | Behavioral Mixer, 2nd Generation |
MIXER_F | File-based Behavioral Mixer |
MIXER_S | Simulation-based Behavioral Mixer |
The blocks in the mixers group support both frequency analysis simulations and impedance mismatch modeling. See the RF Budget Analysis, RF Inspector and Impedance Mismatch Modeling sections for details.
The following summarizes when to use which block:
If you: | Use: |
---|---|
Do not have spur information, but may have gain conversion and IP3 | MIXER_B2 or MIXER_B - A spur table for a double balanced diode mixer is generated. MIXER_B2 contains temperature-dependent support. |
Have spur table information for the mixer | MIXER_F - Create a Text Data File node in the Data Files node of the Project Browser and enter the spur table. See the online help for MIXER_F for format details. |
Have a Microwave Office mixer design you wish to include in a VSS simulation (the Microwave Office schematic must contain at least one power sweep with a minimum of 3 values) | MIXER_S - Allowed Microwave Office schematics can be dragged from the Subcircuits > MIXER_S category of the Element Browser. |
The miscellaneous group includes the following blocks:
Block | Description |
---|---|
FMULT_B | Behavioral Frequency Multiplier |
FMULT_B2 | Behavioral Frequency Multiplier, 2nd Generation |
LOAD | Grounded Resistor |
OSC_S | Oscillator with Optional Phase Noise Effects (Simulation-Based) |
RF_END | End of RF Signal |
RFBPATH | RF Budget Path Cost |
RN | Resistor Noise Source |
TONE | Tone(s) Source |
TP | Test Point |
VN | Voltage Noise Source |
VNA | Vector Network Analyzer |
VSA | Vector Signal Analyzer (Complex Envelope) |
NOTE: The TP block is found in the Meters category, while the VNA and VSA blocks are found in the Meters > Network Analyzers category. The other blocks are in sub-categories of the RF Blocks category.
For impedance mismatch purposes, TP, VNA, and VSA can all be configured as either a voltage probe with infinite impedance or as a termination.
In many instances you can incorporate signals that are not generated by RF blocks within Time Domain RF and RF Budget Analysis simulations. You can also use the IQ and OFDM based modulated signal sources and transmitters in RF Inspector simulations. The modulated signal support in RF Inspector is described fully in the Modulated Signals section.
To use non-RF signals within a Time Domain RF or RF Budget Analysis simulation add either an RF_START block or a RF_START_NS block between the non-RF signal and the first RF block. The signal must be either complex or real. If further processing is required after the RF link add an RF_END block after the last RF block. RF_START, RF_START_NS, and RF_END are found in the RF Blocks > Impedance Mismatch category.
RF_START/RF_START_NS can be considered as representing the port of a signal generator, with any block before RF_START/RF_START_NS internal to the signal generator and the signal coming out of RF_START/RF_START_NS the generated analog RF signal. Likewise, RF_END can be considered as representing the port of a network analyzer or other measurement device. Any block after RF_END is internal to the measuring device.
RF_START primarily provides impedance mismatch support. This includes the ability to specify S22 and the characteristic impedance of the output.
RF_START_NS is similar to RF_START except that it includes an internal noise source. This is useful for adding thermal noise to the signal, such as noise at 290 K. Non-RF signals typically do not have noise unless noise is added with a channel block.
RF_END lets you specify a frequency dependent load to be seen by the preceding RF block. The output of RF_END is the total voltage seen at its input.
The RF Budget Analysis (RFB) simulator is a VSS frequency domain simulator typically used to perform cascaded measurements such as cascaded gain and noise figure. RFB is invoked by the RF Budget Analysis measurements in the System > RF Budget Analysis measurement category. These measurements include Cascaded Noise Factor/Figure C_NF, Cascaded IP3 C_IP3, and Cascaded Headroom C_HDRM.
RFB simulations are performed on a per frequency basis and can be thought of as measuring the response of the RF link to a CW signal at each frequency of interest. The CW signal has the same power as the source. For a multi-tone source, the total power is used. Each frequency yields a separate simulation solution.
NOTE: Only CW RF sources directly support RFB simulations. These sources are the TONE, OSC_S, and VNA blocks. Non-RF analog signals may also be used provided an RF_START or RF_START_NS block is inserted between the non-RF signal and the first RF block. The starting point of the measurement must be after the RF_START/RF_START_NS block. The RF_START/RF_START_NS block appears to the RFB simulation as a CW RF source whose frequency is the center frequency of the input signal and whose power is the propagated signal power of the input signal.
The simulation frequencies are determined using a set of frequency offsets. These offsets are added to a base frequency, which is in most cases the center frequency. For single frequency TONE blocks, the center frequency is often the frequency of the tone. The TONE blocks can also be configured to explicitly use the frequency of the tone for cases where the center frequency cannot be set to the tone's frequency.
By default there is a single offset frequency whose value is 0, so the RFB simulations are typically performed at the center frequency. When there is only one frequency, the default measurement behavior is to plot the measurement value at each block's output along the y-axis and the block itself along the x-axis.
To configure swept frequency simulations, which are used when plotting frequency along the x-axis, you must add additional frequency offsets using the Basic tab on the System Simulator Options dialog box. When there is more than one frequency offset, the default measurement behavior is to plot the measurement value at the end test point along the y-axis and the simulation frequencies along the x-axis.
If there are multiple RFB sources (for example, TONE or RF_START/RF_START_NS blocks), separate simulation solutions are computed for each source using the set of frequency offsets applied to the base frequency for the source. When a solution is being computed for a particular source, the signals from the other sources are used as-is, without frequency offsets applied.
Simulation solutions follow the signal from the active source as it progresses through the RF link. The simulation frequency shifts as the signal passes through RF mixers and RF frequency multipliers. Note that the frequency is always maintained to be non-negative. This may result in a graph that folds over at DC when the signal passes through a downconverting mixer.
For example, supposed you have a TONE source as the RF input to a downconverting mixer. The LO of the mixer is 10 GHz. If the TONE source's FREQ parameter is set to 9.1 GHz and the frequency offsets are set to 0, 0.5, 1, 1.5, 2, 2.5, and 3 GHz, the simulation frequencies are:
RF IF 9.1 0.9 GHz 9.6 0.4 GHz 10.1 0.1 GHz 10.6 0.6 GHz 11.1 1.1 GHz 11.6 1.6 GHz 12.1 2.1 GHz
If you plot Gain versus IF frequency, the graph displays similar to the following (with appropriate gain values for your simulation):
RF Budget Analysis simulations are frequency domain circuit simulations. Linear RF blocks are characterized by Y matrices. Nonlinear RF blocks utilize 5th order polynomial transfer functions. The primary results of the circuit simulations are voltages and currents at each RF node for the given input and load conditions.
Each simulation solution consists of several circuit simulations. The different circuit simulations are used to obtain different responses. The following table summarizes the different types:
Response | Description |
---|---|
1 Tone Signal^{[1]} | Stimulus is a single tone at the simulation frequency. The output of a nonlinear block is the fundamental. |
2 Tone Signal for IM 3^{[1]} | Stimulus is an ideal two-tone signal, with the power of each tone 1/2 the total power of the signal at the source. The two tones are ideal in that they are infinitely close together in frequency. This is used by nonlinear blocks to generate the IM3 products. |
2 Tone Signal for IM 2^{[1]} | Stimulus is a two-tone signal. If the source is a two-tone signal, then the two-tone stimulus is the same as the two-tone signal. If the source is not a two-tone signal, the two-tone stimulus consists of two tones separated by 1/2 the data rate (sampling frequency / oversampling rate), and each tone has power 1/2 the total signal power. This is used by nonlinear blocks to generate the IM2 products. |
IM 2 Response^{[1]} | The (1,-1) IM 2 level at each node. The IM 2 is computed at an absolute frequency of either 1/2 the data rate (sampling frequency / oversampling rate) or, if the source is a two-tone source, the difference between the two frequencies. |
IM 3 Response^{[1]} | The (2,-1) IM 3 level at each node. |
Linear Response^{[1]} | Stimulus is a single tone at the simulation frequency. The output of a nonlinear block is the input with only the linear gain applied. |
1 Tone ± 10 Hz Signal | Used for group delay measurements to compute the phase derivative. Two single tone circuit simulations are performed, one 10 Hz below the simulation frequency, the other 10 Hz above the simulation frequency. |
Impedances | A single tone stimulus is generated at sources and terminations as necessary to compute the impedances looking into the RF ports of blocks. |
RMS Thermal Noise Voltage | This simulation uses noise correlation matrices to solve for the RMS thermal noise voltages over 1 Hz at the output of each RF node. |
Phase Noise dBc | Values for phase noise in dBc are computed at each phase noise frequency offset from the simulation frequency. Phase noise modeling is covered in the Phase Noise in RF Budget Analysis section of Chapter 3. |
^{[1] }The voltage, current and power values for these responses can be viewed directly using the Node Voltage (V_node), Node Current (I_node) and Node Power (P_node) measurements. |
Most of the RF Budget Analysis measurements are capable of displaying their output values in either cascaded format or frequency format.
In cascaded format the measurement values at each block from the start test point to the end test point are displayed, with the blocks displayed at the bottom of graphs or in the left column of tables. Many measurements also support displaying the values as measured between the start test point and the output of the current block, or as the contribution of the block, which is measured from the input port to the output port of the block. The Block Output setting controls this.
Frequency format displays the overall output of the measurement along the y-axis and the simulation frequencies along the x-axis. Frequency format is selected by setting the Sweep Freq setting to "Use for x-axis". Cascaded format is used when any other setting is chosen for Sweep Freq.
Once a measurement displays output, you can click and hold a data point of a measurement in a graph to view details about the data point. For example, for the Cascaded Noise Figure measurement C_NF the input noise temperature, power gain, input noise PSD and output noise PSD are displayed. Similar information is also available for measurements displayed in a table. In this case select the row in the table then hold the cursor over the item in the row.
RF Budget Analysis treats nonlinear RF blocks as internal sources that are dependent upon the inputs to the blocks. The source voltages are computed using 5th order polynomial approximations of the nonlinear block. A small signal polynomial is obtained from each nonlinear RF block for the simulation frequency and the signal level at the input port.
For the one-tone response, the output is the output fundamental for a single tone input, which is given by:
(2.1) |
For the two-tone response, the available outputs are the two output fundamentals, the (1,-1) IM 2 product, and the (2,-1) IM 3 product.
The two-tone output fundamental is given by:
(2.2) |
where V_{2tone, In} and V_{2tone, Out} are the input and output voltages of one of the fundamentals for the two-tone signal (the fundamentals have the same amplitude).
The (1,-1) IM 2 product is given by:
(2.3) |
The (2,-1) IM 3 product is given by:
(2.4) |
The Amp() function represents the IM product at the input passing through the nonlinearity, and is Equation 2.1. When the IM product at the input is very small, which is usually the case, the Amp() function simply applies the linear gain of the amplifier to the IM product.
Because only a limited number of output products are tracked, cascaded nonlinearities do not include all intermodulation effects. For example, suppose the input signal is two tones at 1 MHz and 1.1 MHz. If the signal passes through an amplifier with 2nd and 3rd order nonlinearities, the output consists of the following frequencies:
Frequency, MHz | Source Frequencies |
---|---|
0 | 1.0 - 1.0 and 1.1-1.1 |
0.1 | |1.1 - 1.0| |
0.9 | 2*1.0 - 1.1 |
1.0 | 1.0 |
1.1 | 1.1 |
1.2 | 2*1.1 - 1.0 |
3.0 | 3*1.0 |
3.1 | 2*1.0 + 1.1 |
3.2 | 1.0 + 2*1.1 |
3.3 | 3*1.1 |
If the output then passes through another amplifier with 2nd and 3rd order nonlinearities, the various frequencies interact with each other. Some of these interactions affect the fundamental, IM 2 and IM 3 outputs. For example, the 2nd order interaction between the 0.1 MHz output from the first amplifier (the result of the (1,-1) IM 2 product) and the 1.0 MHz fundamental generate output at 0.9 MHz (1,-1) and 1.1 MHz (1,1), affecting the IM 3 and fundamental output of the second amplifier.
In an RF Budget Analysis simulation, the amplifiers only consider the two-tone fundamental, IM 2 and IM 3 inputs. In addition, the amplifiers do not account for any interactions between the IM 2, IM 3 and two-tone fundamental inputs when computing the output IM 2 and IM 3.
However, in most cases the fundamentals at the input to a cascaded amplifier are much larger than all the other products. In these situations the interactions between the two fundamentals is much larger than any other interactions, and ignoring those other interactions has a negligible effect on the final measurements.
Similar limitations apply when saturation effects are modeled above P1dB. The shaping of the input signal towards a square wave generates odd order products. These products are for the most part accounted for within the amplifier, but the products at the output of amplifier are not passed on to the next block.
Details on the saturation model itself may be found in the documentation of the Behavioral Amplifier AMP_B.
NOTE: The RF Budget Analysis measurements that utilize power, such as P_node and SPWR_node, display fundamental power, not total power. Fundamental power is used because RF Budget Analysis simulations only model the one and two-tone fundamentals, and the IM 2 and IM 3 products. The fundamental power of a one-tone input at saturation is about 0.87 dB less than the total power when the saturated output is a square wave.
The voltage and current at the input port of a nonlinear block with S12 specified may not be accurate if there is impedance mismatch at the input port. This is due to how nonlinear blocks must synthesize the S12 voltage contribution. If the impedances at the input port are matched, the S12 contribution is accounted for properly. However, if the impedances at the input port are not matched, then the S12 contribution may not properly reflect the mismatch.
RF Budget Analysis simulations model thermal noise by computing the RMS thermal noise voltage over 1 Hz (Vn) at each output port of the RF link. The computed Vn at a node only represents the noise from the output port, it does not include noise contributions from the input ports connected to the node.
The simulation relies upon noise correlation matrix techniques as discussed in ^{[1]}
Because the simulation is interested in the total noise at the output ports, noise sources are added at all RF sources and resistive terminations upstream from a given output port.
For mixers, the noise generated by the mixer is composed of several components: the noise from the RF and image frequencies at the mixer's RF input, feed-through noise at the RF and LO inputs, and internally generated noise. To model all these sources, the simulation treats the mixer's output port as a noise source and its input ports as terminations. The simulation performs noise computations at the RF, image, IF and LO frequencies in order to obtain the various contributions at the input ports. The mixer then uses these noise voltages along with internally generated noise to compute a noise correlation matrix representing the noise at the IF or output frequency.
More information on VSS noise modeling may be found in the Noise Modeling chapter.
RF Budget Analysis simulations model phase noise at the frequency offsets specified in the phase noise sources. Phase noise is modeled as dBc values at each frequency offset for each simulation frequency. The phase noise values for a simulation frequency remain fixed until they reach a block that performs a frequency translation on the simulation frequency, such as mixers or frequency multipliers, or they encounter a phase noise source.
More information on VSS noise modeling may be found in the Noise Modeling chapter.
See VSS Modeling Hints and Tips for useful tips for RF Budget Analysis simulations.
RF Inspector is a VSS frequency domain tool that lets you inspect frequency content anywhere along an RF link. With RF Inspector you can:
Determine the various contributors to the frequency content.
Identify the path of the contributors.
Examine the voltage, current and power of each contributor.
Classify the contributors as signal of interest, distortion or interference.
RF Inspector uses the RF Inspector simulator (RFI) invoked by using any of the measurements in the System > RF Inspector measurement category.
The most commonly used measurements are the power and voltage spectrum measurements:
RFI Power Spectrum (RFI_PWR_SPEC)
RFI Voltage Spectrum (RFI_V_SPEC)
These measurements display the power and voltage spectrum graphs, respectively. With these graphs you can select individual spectral components for further inspection. By pressing and holding the mouse button down on a spectral component, you can view summary information about the selected component:
This figure shows the summary information presented when the 3.1 GHz tone in the Chain
Spectrum graph of the VSS example project RFI_Chain.emp
is
selected. The information indicates that the tone has a power level of -3.19 dBm, of
which -3.06 dBm is from a 3.1 GHz tone passing linearly through AMP_B.A2, and -39.4 dBm
is from IM products falling at 3.1 GHz generated by AMP_B.A2. The "IM n(x,y)" items
indicate some of the types of IM products, in this case a second-order, several
third-order, and several fifth-order IM products contributed.
RF Inspector indicates individual IM products using the form "IM n(x, y)". The 'n' indicates the overall order of the IM product, while the 'x' and 'y' terms indicate the order of the individual tones of the IM product. For example, take a two tone signal composed of the two sinusoids A·cos(2π·f_{a}·t) and B·cos(2π·f_{b}·t). If that two tone signal is raised to the 3rd power, it will result in a signal of the following form:
(2.5) |
There are a total of 8 tones, with frequencies f_{a}, f_{b}, 3·f_{a}, 3·f_{b}, 2·f_{a} + f_{b}, f_{a} + 2·f_{b}, 2·f_{a} - f_{b}, and - f_{a} + 2·f_{b}.
RF Inspector would then indicate each of the tones using:
Tone | Indicator |
---|---|
f_{a} | IM 3(1, 0) |
f_{b} | IM 3(0, 1) |
3·f_{a} | IM 3(3, 0) |
3·f_{b} | IM 3(0, 3) |
2·f_{a} + f_{b} | IM 3(2, 1) |
f_{a} + 2·f_{b} | IM 3(1, 2) |
2·f_{a} - f_{b} | IM 3(2, -1) |
-f_{a} + 2·f_{b} | IM 3(-1, 2) |
Double-clicking a tone in an RF Inspector spectrum measurement displays the RF Inspector dialog box for the measurement data. The dialog box contains detailed information about the content of the selected spectrum component:
The RF Inspector dialog box contains several sections. At the very top are controls for selecting different spectral components and for filtering the results shown in the Heritage window.
Content to Inspect lists the different spectral components available for inspection in the window. Selecting a different component updates the Details section and Heritage window appropriately.
Display Floor lets you set a minimum threshold for the contributors displayed in the Heritage window. This is useful when the signal passes through several nonlinearities, as often there are a large number of contributors with very small values compared to the overall signal and these contributors can be ignored.
The Details section provides detailed information on the item selected in the Heritage window. In Figure 2.5, the -42.6 dBm IM 3 (1,0) product is selected. The upper portion of the section displays component details such as power, voltage and current information for the contribution.
The lower portion identifies (when the information is available) the equation responsible for the contribution.
In this case two tones are raised to the 3rd order. Raising two tones A·cos(a) and B·cos(b), where a = 2π·f_{a}·t and b = 2π·f_{b}·t, to the 3rd order (A·cos(a) + B·cos(b))^{3} results in the following:
(2.6) |
The lower portion of the Details section indicates that this contribution is due to the (A·cos(a))·(B·cos(b))^{2} product, which expands to:
(2.7) |
This particular contribution is from the 3/2·A·B^{2}·cos(a) term of (Equation 2.7).
The two tones for this particular contribution can be viewed by opening the -42.6 dBm IM 3 (1,0) item in the Heritage window:
Here the two tones are from four sources: -63.5 dBm and -13 dBm tones at 3 GHz and -63.2 dBm and -12.8 dBm tones at 3.1 GHz.
You can copy to the Clipboard the contents of each portion of the Details section. You can right-click the text in the section and choose , and then right-click again and choose . You can also directly select the text, then right-click and choose . The third method is to right-click in the Heritage window and choose or .
The lower section of the RF Inspector dialog box is used to browse the heritage of the selected spectral component. You can trace the various contributors all the way back to their sources.
Figure 2.7 illustrates the path back to several of the sources contributing to the -116 dBm 400 MHz tone. Figure 2.8 shows the system diagram used to generate the signal. Note that this diagram is not intended to necessarily represent the layout of an actual receiver, but is designed to illustrates features of the Heritage window.
In Figure 2.7 the highlighted item "-116 dBm LPFB.F3@2
[MIXER_B.A7@2: RF2IF 400 MHz]
" refers to a -116 dBm tone coming
from port 2 of block LPFB.F3, which is the last filter in the system diagram.
Since we are examining the 400 MHz tone, this tone is at 400 MHz.
The text in brackets, "[MIXER_B.A7@2: RF2IF 400 MHz
]",
indicates the source of that signal relative to LPFB.F3. In this case, it is a
400 MHz tone generated at port 2 of the mixer MIXER_B.A7. This tone is part of
the (1,-1) RF to IF downconversion, as indicated by
"RF2IF
".
The next item, "-115 dBm MIXER_B.A7@2: RF2IF 400 MHz
", tells
you that the contribution at the output of the mixer is -115 dBm.
The next two items identify how the mixer generated this particular -115 dBm tone at 400 MHz. The first item identifies the LO, which is a 10 dBm tone at 4.4 GHz generated by TONE.A8. The second item identifies the RF input, which is a -103 dBm tone at 4 GHz coming from port 2 of BPFC.F2.
Each nested level of items represents the contributors to the item above.
Skipping to the item "-103 dBm AMP_B.A6@2: IM 4 GHz
" we see
contributions from the nonlinear amplifier AMP_B.A6. This line indicates that
this amplifier is generating a -103 dBm tone at 4 GHz that is due to IM
products. The items at the next nested level, such as "-109 dBm IM 3
(1,0)
", "-115 dBm IM 3 (1,-2)
" and "-119
dBm IM 2 (1,-1)
", identify the individual IM products generated by
the amplifier for this particular contribution.
The item "-109 dBm IM 3 (1,0)
" indicates a -109 dBm 3rd order
IM product for two tones with the frequency multipliers 1 and 0. The term from
the 2 tone 3rd order equation is displayed in the Details
section when the item is selected. In this case the following text is
displayed:
3*(1/2)*A*B^2*cos(a) term of the 3rd order product:
(A*cos(a))*(B*cos(a))^2
If you continue proceeding through the nested items of "-109 dBm IM 3
(1,0)
" you see that this particular contribution comes from TONE.A5
and TONE.A1, where the LO TONE.A5 contributes two ways:
More strongly as LO to output feed-through at MIXER_B.A4.
Less strongly as the LO for a mixing product in MIXER_B.A4.
If you look once again at Figure 2.7, notice that each contributor item has a small icon to its left. The icons indicate the classification assigned to the contribution by RFI. There are four classifications:
Signal: The signal of interest, which is indicated by the Test Point Identifying Signal setting of the measurement.
Distortion: IM products, spurs, or any other unwanted contributions that is in any part generated by the Signal.
Interference: Any contribution that is not Signal, Distortion or LO.
LO: The LO input to a mixer.
Each RF Inspector measurement lets you select which classifications are to be included in the measurement's output. For the spectrum measurements, selecting multiple classifications displays a separate trace for each classification.
The Signal (signal of interest) consists of all the spectral components found at the point indicated by the Test Point Identifying Signal setting of the measurement that have only been through linear transformations. For example, if the setting points to a location after a combiner, the Signal includes signals from all the inputs of the combiner.
When considering Signals, the spectral components passing through mixers are further restricted to only those products that match the conversion indicated by the MODE parameter of the mixer. For example, if the MODE parameter is set to "SUM", then only the spectral components generated by the (1,1) conversion may be considered a Signal. Likewise, if MODE is set to "DIFF" then only the spectral components generated by the (1,-1) conversion may be considered a Signal.
Note that any potential Signal that is not classified as a Signal is classified as Interference. Using a combiner as any example once again, if the Test Point Identifying Signal setting points to a location on one of the inputs of a combiner, the spectral components on the other inputs that could potentially be classified as Signals are considered Interference.
RF Inspector tracks spectral components as they pass through the various blocks of the RF link. Spectral components that pass through linear blocks, the linear portion of nonlinear amplifiers, or the conversion indicated by the MODE parameter of mixers retain their classification.
The IM products generated by nonlinear amplifiers and the spurs and feed-throughs generated by mixers are classified as either Distortion or Interference. Spectral components are classified as Distortion if any of the contributions responsible for the product is classified as Signal or Distortion. All other spectral components are classified as Interference.
Simply put, if the Signal is turned off, the Signal and Distortion disappear, while the Interference remains.
The LO classification is used to quickly distinguish the LO item from the input item when viewing the contributors of a mixer.
At each level of nesting the items are listed in order of decreasing value for the measurements. For RFI_PWR_SPEC it is decreasing power, for RFI_V_SPEC it is decreasing voltage magnitude.
Selecting items in the Heritage window highlights and centers the item's block in the corresponding system diagram.
Selecting an item in the Heritage window then right-clicking it displays a menu with the following options:
Content to Inspect control at the top of the inspector page.
: Advance to the next or previous frequency in the: Copies the text of the selected item to the clipboard.
: Copies the text of the selected item and all items nested within it to the clipboard.
: Copies all the items to the clipboard.
: Copies the text of the Component Details portion of the Details section to the clipboard.
: Copies the text of the Coefficient Details portion of the Details section to the clipboard. This is grayed out if nothing is displayed in that portion.
: Opens up all the nested items within the selected item, including items nested within those items.
: Collapses the nested items of the selected item, hiding them from view.
Note that the
, , and commands may take a significant amount of time depending on the number of nested items. If it takes more than approximately 10 seconds to complete the command a dialog box displays to allow you to cancel the command. The dialog box redisplays every 10 seconds to give you the opportunity to cancel once again.When an item is copied to the clipboard, the classification is included as prefix text: SIG for Signal, DIS for Distortion, INT for Interference and LO for LO.
RF Inspector supports modulated signals that are based on the I/Q Modulator block IQ_MOD and the OFDM Modulator block OFDM_MOD. The following are the supported blocks:
Block | Description |
---|---|
BPSK_SRC | BPSK Modulated Signal |
BPSK_TX | BPSK Transmitter |
IQ_MOD | I/Q Modulator |
MPSK_SRC | MPSK Modulated Signal |
MPSK_TX | MPSK Transmitter |
MSK_SRC | MSK Modulated Signal |
MSK_TX | MSK Transmitter |
OFDM_MOD | OFDM Modulator |
OQPSK_SRC | Offset QPSK Modulated Signal |
OQPSK_TX | Offset QPSK Transmitter |
PAM_SRC | PAM Modulated Signal |
PAM_TX | PAM Transmitter |
PQPSK_SRC | Pi/4 Modulated Signal |
PQPSK_TX | Pi/4 Transmitter |
QAM_SRC | QAM Modulated Signal |
QAM_TX | QAM Transmitter |
QPSK_SRC | QPSK Modulated Signal |
QPSK_TX | QPSK Transmitter |
These blocks are all found within the Modulation category. There are other source and transmitter blocks within that category, such as AM_MOD, FM_MOD and FSK_SRC. However, those blocks do not currently support RF modeling.
Because RF Inspector utilizes a frequency domain simulator, only an approximation of the spectral shape of the modulated signal is possible. Since RF Inspector's primary task is to be able to identify contributors to spectral content throughout an RF link, the modeled signal is band limited - the side lobes are not modeled. This can be seen in Figure 2.9 and Figure 2.10.
In Figure 2.9 the red curve shows a QAM signal modeled by RFI. The blue curve is the signal measured in the time domain with the PWR_SPEC measurement. The QAM signal was generated by the QAM Modulated Source block QAM_SRC with a data rate of 0.1 GHz, center frequency of 10 GHz, and root raised cosine pulse shaping with alpha of 0.35. Both measurements are displaying power spectral density (PSD) in dBm/Hz.
In Figure 2.10 the red curve shows an OFDM signal modeled by RFI while the blue curve is the Time Domain measurement. The OFDM signal was generated using 256 subcarriers, subcarrier spacing of 0.1/256 GHz, and a guard interval of 1/8. No windowing was applied.
For IQ based modulated signals, RFI uses six frequency points to represent the power distribution within the main lobe. In Figure 2.11 f1 through f6 represent the six frequency points. PSD1 through PSD6 are the power spectral density values assigned to the six frequency points. The profile is symmetric, so PSD4=PSD3, PSD5=PSD2, PSD6=PSD1, f6-f5=f2-f1 and f5-f4=f3-f2.
The PSD values are computed such that the total power in the profile:
(2.8) |
is the total power of the modulated signal. This includes power in the sidelobes.
To simplify the simulation, the same profile is used for all IQ based modulated signals, regardless of the symbol mapping (such as PAM, QPSK or QAM) and the pulse shaping. The profile used is based on a QAM signal with root raised cosine pulse shaping and an alpha of 0.35.
For OFDM based modulated signals, RFI uses a flat two point profile, which is clearly visible in Figure 2.10.
The IQ and OFDM profiles are maintained as long as the modulated signal remains linear. Once the signal undergoes a nonlinearity, the profile is reduced to a set of overlapping 'brick wall' segments. This can be seen in Figure 2.12, where a QAM signal has been passed through a 5th order nonlinear amplifier.
The segments are stacked, as illustrated in Figure 2.13. The total power of the stacked segments roughly approximates the total power in the modulated signal at the given harmonic or IM product. This power can give you an idea of the magnitude of the IM product, but should not be used as an exact measurement of the power, particularly if the signal has passed through several nonlinearities.
The RFI_PWR_SPEC measurement displays its values as power spectral density (PSD), or power per Hertz. For CW signals it simply uses 1 Hz so the power displayed is the same as the power for the signal. For modulated signals the total power in a brick wall segment is divided by the bandwidth of the segment to obtain the PSD value. The net effect is RFI_PWR_SPEC measures PSD using an equivalent resolution bandwidth of 1 Hz.
This must be taken into account when comparing RFI and Time Domain power spectrum results for signals that contain both CW and modulated components. In most cases, the bandwidth of the signal is large enough that a 1Hz RBW is not practical for the Time Domain measurement.
When measuring the modulated signal components, this is not an issue if the Time Domain measurement is configured with the Y-Axis Output setting set to "PSD (Pwr/Hz)". The scaling is similar to the RFI measurement.
When measuring CW signals, this is not an issue if the Time Domain measurement is configured with the Y-Axis Output setting set to "Spectrum Analyzer Spectrum".
However, when displaying a combination of modulated and CW signals (a modulated signal passed through a 2nd or 4th order nonlinearity generates a DC term) this becomes a problem. In this situation either the modulated signals or the CW signals display with the correct scaling, but not both.
When the Time Domain measurement is set to "PSD (Pwr/Hz)" the CW portion of the signal is usually displayed with a much lower power level than seen in the RFI measurement. This is because the measurement must use its RBW to convert power per FFT bin to power per Hertz. The RBW is typically much larger than 1 Hz and CW signals appear with a much lower power level since the power of the CW signal is divided by the RBW and not 1 Hz.
When the Time Domain measurement is set to "Spectrum Analyzer Spectrum" the modulated signal portion displays with a much higher power level than seen in the RFI measurement. This is because the power level is not displayed as PSD, which is the scaling used by the RFI measurement.
To determine the heritage of spectral components, each component generated, whether by a source or a nonlinearity, must be tracked as it passes through the RF link. For the linear portions of the RF link this is typically not a problem since for each source component no new components are generated.
Nonlinearities, however, can pose a significant problem, especially if the signal passes through several nonlinearities. The problem is due to the rapid growth of the number of spectral components generated by a nonlinearity as the number of input components increases.
Take for example a simple 3rd order nonlinearity with no 2nd order term:
(2.9) |
A single tone passed into the nonlinearity generates three components for tracking: the linear component, the 3rd order harmonic, and the IM product that falls on the fundamental:
(2.10) |
(2.11) |
Two tones passed into the nonlinearity generate nine components for tracking: the linear component and 8 nonlinear components. The nonlinear components fall on the following frequencies:
(1,0), (0,1), (3,0), (0,3), (2,1), (1,2), (2,-1), (1,-2)
where each pair of values (m,n) produces the frequency f=|m·f_{A}+n·f_{B}|.
Three tones passing into the 3rd order nonlinearity generate 28 nonlinear components at 14 different frequencies (assuming the three tones are spaced such that none of their nonlinear products overlap).
The situation is much worse with five tones passing into a 5th order nonlinearity even with no 2nd, 3rd or 4th order terms: over 75 different frequencies are generated, of which most of those frequencies have multiple components. Add in the 2nd and 3rd order terms and the number of frequencies quickly expands.
To put the order of the nonlinearities into perspective, a 5th order nonlinearity is required in order to model a nonlinear amplifier with an |IP3-P1dB|not approximately 10 dB.
RF Inspector supports several techniques for reducing the number of components to be processed. These include ignoring components below a specified level, ignoring components outside specified frequency ranges, and limiting the total number of components generated at any given port.
These settings are all configured on the RFI/RFB Settings tab of the System Simulator Options dialog box.
These settings set frequency limits on the components.
The Harmonic Band setting is useful for restricting components to only those around the fundamental frequencies. This is particularly useful in narrowband designs, where frequencies far outside the fundamental are assumed to be severely attenuated. The default setting is "DC to 2nd harmonic band", which works well for most cases.
Note that mixers apply the Harmonic Band setting to the input signal prior to frequency shifting by the LO. For example, in an up-converting mixer, if the input frequency is 1 GHz, the LO frequency is 10 GHz, and "DC to 2nd harmonic band" is selected, then the input frequency range is DC to 2 GHz, which is then upconverted to the frequency range 10 to 12 GHz.
The Frequency Above Fc and Frequency Below Fc settings provide more control over the frequency band. These settings are useful when working with mixers as the frequency band shifts as the center frequency shifts passing through the mixers. By default these settings are disabled.
The Minimum Frequency and Maximum Frequency settings set absolute frequency limits. These set absolute limits on the frequencies generated - components beyond these limits are ignored. By default these settings are disabled.
The frequency settings are cumulative. Only components that satisfy all the enabled constraints are generated.
The noise floor settings set a minimum power or voltage level required for components to be generated. Components that do not satisfy these levels are ignored.
The dB Below Noise setting specifies a level below the ambient noise floor. Note that negative values set the level above the ambient noise floor. The ambient noise floor is determined by the ambient system temperature, and is approximately -174 dBm/Hz for the default temperature of 290 K. The default setting is 10 dB.
The Absolute dBm/Hz and Absolute dBVpk/sqrt(Hz) settings let you specify the noise floor in terms of absolute power and voltage spectral density. These settings are disabled by default.
The noise floor settings are cumulative. The smallest noise floor value computed is used. Note that when determining the noise floor RFI converts power levels to voltage levels using the characteristic impedance of the output port of the block.
The noise floor constraint is applied at both at the input and the output ports. Input signals that do not satisfy the input noise floor are not further processed. Output components that do not satisfy the output noise floor are not generated at the output port.
The Maximum Harmonic Generated setting lets you globally restrict the orders of the nonlinearity. Nonlinearity orders can usually be restricted on a block by block basis. For the behavioral amplifiers this can be done by leaving either the P1dB or IP3 setting blank. For mixers the secondary IMPROD, LOHMAX and INHMAX parameters control the nonlinearity orders. This setting is disabled by default.
The Maximum Node Components setting allows you to limit the total number of components generated at any output port. If more components than this limit are generated by the nonlinearity, only the components with the largest voltage levels are output. This setting is disabled by default.
RF Inspector utilizes an iterative algorithm to handle nonlinearities as explained the How RFI Works section.
The Maximum Iterations setting limits the number of iterations allowed. If the simulation exceeds this number of iterations the simulation halts and a warning message is reported.
The Minimum Change in dB setting defines the tolerance used for determining convergence. If the change in voltage levels for individual components between iterations falls below this level for all components, the simulation is considered converged and the simulation is completed. This setting replaces the Change in dB in previous versions.
RF Inspector can be thought of as a system level frequency domain circuit simulator. It solves for voltages and currents at each RF node for each generated spectral component. For independent CW sources such as the TONE block and for the supported modulated signal sources, this is a fairly straightforward solution.
For each solution, Y matrices are obtained from all the RF blocks in an RF link and assembled into a global Y matrix according to the node connectivity. Appropriate terminations are added. The matrix is then solved using the source current for the particular solution. Voltages at each node and the current flowing into the ports of each block are obtained.
NOTE: In RF Inspector, the distinction between input and output port depends on the direction of the signals being processed. For example, for an amplifier the nonlinearity is applied in the forward direction. Therefore, when describing the ports for the nonlinearity, the input port is port 1 of the block while the output port is port 2. On the other hand, when computing reverse leakage, the input port is port 2 while the output port is port 1.
Nonlinearities are treated as voltage sources that are dependent upon the incident voltage at the input port of the nonlinearity. Each individual component generated by the nonlinearity is a separate source. The nonlinear dependency requires the use of an iterative algorithm.
In simplified form the algorithm is:
Compute voltages and currents due to independent sources.
Compute nonlinear sources based on the components at the corresponding input ports.
Compute voltages and currents due to the nonlinear sources.
If the change in the voltages and currents satisfy the convergence criteria, stop. Otherwise repeat from step 2.
NOTE: When solving for the node voltages and port currents, the voltage sources are applied in series with an impedance equal to the characteristic impedance of the output port.
RF Inspector only supports linear feedback loops. All components in the loop must be linear RF blocks, with the exception of the Negate block NEG, the Phase block PHASE, and the delay blocks DLY_SMP, DLY_SYM and DELAY. Note that delay blocks are ignored in RFI.
Nonlinear feedback loops, such as feedback control for a VGA_F block are not supported.
Because RFI uses a frequency domain simulator, feedback loop results may differ from Time Domain simulations. This is most apparent with issues of stability. Consider the linear feedback loop in Figure 2.14. The closed loop gain is expressed as:
(2.12) |
In the VSS Time Domain simulator, which is essentially a discrete time simulator and operates in the z-domain, a minimum of one sample delay must be introduced. The closed loop gain in the z-domain is:
(2.13) |
In order for the loop to be stable in the z-domain the following must be true:
(2.14) |
However, there is no such restriction in the frequency domain.
Another difference to note when working with feedback loops in Time Domain simulations is the extra delay introduced by filters due to their implementation as FIR and/or IIR filters.
The mixer model used in RF Inspector differs from the model used in the Time Domain simulator. In Time Domain simulations mixers are modeled using a nonlinear amplifier followed by a spur generator. The spur generator synthesizes the spurs that fall within the output sampling frequency band.
In RFI simulations, mixers use a polynomial model to generate the input products. The corresponding LO products are then applied to obtain the output spurs. There is no nonlinear amplifier to generate the IP3 and P1dB effects. Instead, these effects are handled by the polynomial applied to the input signal.
The net effect is in RFI simulations IP3 and P1dB directly affect the levels of spurs with 3rd and 5th order input terms, whereas in Time Domain simulations those spurs are independent of IP3 and P1dB.
The modeling of saturation effects in nonlinear amplifiers and mixers in RF Inspector differs from the modeling used in the Time Domain simulator.
In Time Domain simulations saturation shaping is applied directly to the instantaneous voltage and is a function of that voltage. The shaping of the input signal is a nonlinear operation, generating additional nonlinear products at the input to the polynomial model. The Saturation Effects sub-section of the Nonlinear Modeling Issues section describes the Time Domain saturation model.
RF Inspector does not model the nonlinear products generated by the saturation shaping operation, as the quantity of generated products would quickly overwhelm the simulator. Instead, RF Inspector applies a saturation scaling to the voltage levels of the individual input components. The effect is a decrease in the gains for both the fundamental and nonlinear products as the signal saturates.
The signal levels therefore tend to differ significantly once saturation effects are applied to the signal. The RFI signal levels tend to be below the Time Domain levels. Note that saturation effects are only applied after the input signal reaches the P1dB point.
Details on the saturation model itself may be found in the documentation of the Behavioral Amplifier AMP_B.
The voltage and current at the input port of a nonlinear block with S12 specified may not be accurate if there is impedance mismatch at the input port. This is due to how nonlinear blocks must synthesize the S12 voltage contribution. If the impedances at the input port are matched, the S12 contribution is accounted for properly. However, if the impedances at the input port are not matched, then the S12 contribution may not properly reflect the mismatch.
See VSS Modeling Hints and Tips for useful tips for RF Inspector simulations.
Many of the linear RF blocks, such as antennas, attenuators, splitters, and couplers support bi-directional ports. Bi-directional ports are ports that may be connected to either input or output ports. This is particularly useful when working with T/R modules. The following is a simple example of a T/R module subcircuit that can be used in both the transmit and receive modes.
On the left side PORT_SRC.P1
is connected to the signal to be
transmitted. PORT.P2
on the right side is connected to the
antenna. PORT.P3
on the bottom is the received signal. In this
example the important bi-directional blocks are the Circulator CIRCULATOR and
PORT.P2
. The ports of the circulator may serve as either an
input port or an output port, depending upon what it is connected to. Similarly,
PORT.P2
may serve as either a subcircuit input port or a
subcircuit output port when the system diagram is used as a subcircuit, as PORT and PORT_SRC blocks in a
system diagram become bi-directional subcircuit ports of the subcircuit.
The following illustrates the above T/R module subcircuit being used in a full link.
In this system diagram the areas marked Radio Device A
and
Radio Device B
represent two separate but similar radio
devices. Radio Device A has been configured to transmit via the MODE parameter of its
TR Module
subcircuit, SUBCKT.S1
, while
Radio Device B has been configured to receive via the MODE parameter of its
TR Module
subcircuit,
SUBCKT.S4
.
Because the circulator block within the T/R module subcircuit has bi-directional ports, the T/R module subcircuit's antenna port can be connected to an antenna that is transmitting, as in Radio Device A, or to an antenna that is receiving, as in Radio Device B. Note that the ANTENNA block also has bi-directional ports.
Without bi-directional ports, to create something equivalent to the above you would need to create separate T/R modules for the transmit and receive modes. Bi-directional ports allow you to use the same subcircuit for both signal directions.
You can determine whether a bi-directional port is being treated as an input port or an output port by using the BPORT_DIR annotation.
In most cases, blocks that support 2 and only bi-directional ports automatically (for example the RF Attenuator RFATTEN) will automatically ensure the bi-directional ports have opposite signs. For example, if port 2 of an RFATTEN block is connected to an output port, port 2 is treated as an input port and port 1 is treated as an output port.
The RF switches that support bi-directional ports also have restrictions. The switched ports all have the same port direction, while the common port has the opposite direction.
It is possible to run into a situation where the VSS program is unable to resolve the direction of all bi-directional ports. If this occurs, use the Signal Direction block SIGDIR or the RF Directional Switch block RFSW_DIR to explicitly set port-directions. SIGDIR is useful when direction along a single path is to be determined. RFSW_DIR is useful when switching between a path that can be either input or output, such as an antenna, and two paths going in opposite direction, such as a transmit path and a receive path.
Many RF blocks support the modeling of impedance mismatch effects. By default, impedance mismatch modeling is disabled. It must be explicitly enabled through the RF Options tab of the Options dialog box of individual system diagrams or of the System Simulator Options dialog box.
When impedance mismatch modeling is enabled, the impedances seen at each RF node are taken into account when computing signal voltages. In Time Domain simulations the data samples at each RF node represent total instantaneous voltage and are transformed to incident voltage on input and back to total voltage on output. This means that a waveform measurement displays the total instantaneous voltage.
For RF Budget Analysis and RF Inspector simulations, enabling impedance mismatch modeling allows the circuit solutions to behave normally. The Y matrices of the individual RF blocks automatically take into account the different impedances of the blocks.
NOTE: There are limitations in both RF Budget Analysis and RF Inspector simulations to the modeling of S12 effects in nonlinear blocks. In particular, when there is impedance mismatch at the input port, the voltage and current contributions due to S12 may not be properly accounted for. This is due to the way the simulators must account for S12 in nonlinear blocks.
When impedance mismatch modeling is disabled, the impedances seen looking out of each RF port is the system characteristic impedance _Z0, which is specified on the RF Options tab of the System Simulator Options dialog box. In Time Domain simulations, the data samples are not transformed between total voltage and incident voltage on input and reflected and total voltage on output.
Disabling impedance mismatch modeling in RF Budget Analysis and RF Inspector simulations requires internal modifications to the circuit solution process. First, block Y matrices must be modified so the impedances looking into the block are the system characteristic impedance _Z0. This is done by first converting the Y matrix to S matrix form using the characteristic impedances of the block's RF ports. Once in Y matrix form the Snn parameters corresponding to the reflection coefficients at the input and output ports are set to 0. The S matrix is then converted back to a Y matrix, except this time the system characteristic impedance is used.
The second internal modification involves replacing any RF nodes that have more than two ports with a special block. The special block prevents the voltage at the node from being divided by the impedances of the multiple ports. Each port originally connected to the node is connected to a separate port of the block. The block is such that gain between the input port (which is connected to the output port from the original node) and any of the output ports is 1. The output ports of the special block are isolated from each other.
Many of the RF blocks include parameters for specifying VSWR, S11, S22, or return isolation. These parameters are intended to simplify configuring a block to match characteristics listed in a manufacturer's data sheet. For example, the RF Isolator block (ISOLATOR) contains parameters for insertion loss, isolation, input port VSWR, return loss or S11, and output port VSWR, return loss or S22, along with the input port and output port characteristic impedances. A typical manufacturer data sheet for an isolator would contain the insertion loss, isolation, input and output VSWR, and input and output impedances under which those values held. To model an isolator with the same characteristics as specified in the data sheet you enter those settings under the corresponding parameters.
The VSWR parameter is only intended to specify the VSWR as part of the physical description of the block when it is loaded with the characteristic impedances. For example, suppose the VSWR_INP and VSWR_OUT parameters of the ISOLATOR block are set to 1.4, the LOSS parameter is set to 1 dB, the ISOL parameter is set to 30 dB, and the ZINP and ZOUTP parameters are set to 50 Ohms. If this block is then loaded with 50 Ohms at its input and output ports, the measured VSWR at the input and output ports is 1.4, S21 is -1 dB, and S12 is -30 dB. If you change VSWR_INP to 1.6 and keep all the other parameters and loadings the same, the measured VSWR at the input port is 1.6, while the VSWR at the output port is 1.4, S21 is still -1 dB, and S21 is still -30 dB. This is because changing the VSWR_INP parameter changes the physical characteristics of the block in such a way that the other settings hold when the block is loaded with the characteristic impedances.
The VSWR parameter is a design parameter of the block. Changing the value of the VSWR parameter changes the physical characteristics of the circuit represented by the block, but not the loading of the block.
If you are interested in the effect of different VSWR loadings on a circuit, you can use the Lossless Tuner block (LTUNER) to vary the VSWR loading. LTUNER is typically placed in front of the input port of the DUT, with port 2 of the LTUNER block connected to the DUT. LTUNER can then be used to vary the impedance seen by the source looking into port 1 of the LTUNER block. This variation may be specified as VSWR or reflection coefficient.
Because impedance mismatch modeling applies to circuits, only a limited set of VSS blocks directly support impedance mismatch modeling. The RF blocks listed in the RF Blocks In VSS section support impedance mismatch modelling unless otherwise noted.
Several utility blocks are transparent to impedance - the impedance seen looking into a port is the same as the impedance looking out the opposite port. The following blocks are transparent to impedance mismatch modeling:
Block | Description |
---|---|
ABS | Absolute Value |
ACOS | Arc cosine |
ACOSH | Inverse Hyperbolic Cosine |
ALIGN | Align Signal (Gain, Phase and Delay Compensate) |
ARG | Calculates phase angle |
ASIN | Arc sine |
ASINH | Inverse Hyperbolic Sine |
ATAN | Arctangent |
ATANH | Inverse Hyperbolic Tangent |
ATTEN | Attenuator |
CE2R | Complex Envelope to Real Converter |
CONJ | Complex Conjugate |
COS | Cosine |
COSH | Hyperbolic Cosine |
DIV | Divider |
EXP | Exponential |
EXPJ | Complex Exponential |
FRQSHFT | Carrier Frequency Shifter |
LN | Natural Logarithm |
LOG | Logarithm |
NOP | No Operation |
NORM | Complex Magnitude Squared |
POW | Raise to the Power |
R2CE | Real to Complex Envelope Converter |
RECIP | Reciprocal (1/x) |
RESAMPLER | Rational Resampler |
SCALE | Scale and Offset |
SIGN | Signum Function |
SIN | Sine |
SINH | Hyperbolic Sine |
SQR | Square |
SQRT | Square root |
TAN | Tangent |
TANH | Hyperbolic Tangent |
NOTES: The above blocks do not in general support RF Inspector simulations.
In VSS software v7.0.x the NEG and PHASE blocks were transparent to impedance mismatch modeling. They now appear as terminations and can be used in RF Inspector simulations.
There are two main steps involved in Time Domain impedance mismatch modeling within the VSS program:
The first step in Time Domain impedance mismatch modeling is to determine the impedances throughout the system diagram. Impedances need to be determined only at ports for blocks that support impedance mismatching and at ports connected to those ports, either directly or through impedance transparent blocks.
Blocks model impedances in one of three ways:
Ports appear as terminations.
Blocks are represented as frequency dependent Y parameters.
Blocks are transparent to impedances.
Blocks that do not support impedance mismatch and are not transparent automatically appear as terminations. The termination impedance is the system characteristic impedance _Z0, which is set on the RF Options tab of the >Options dialog box of system diagrams or the System Simulator Options dialog box.
Some of the blocks that support impedance mismatch also appear as terminations. Examples are the mixers, the AM/PM based nonlinear amplifiers NL_F and NL_S, and the TONE source.
The linear RF blocks present themselves as frequency dependent Y parameters. In many cases the Y parameters are obtained from S parameters using the system characteristic impedance _Z0. Other blocks, such as the circuit filters, have parameters specifying the characteristic impedances. LIN_S obtains the Y parameters directly from the Microwave Office circuit.
The behavioral amplifier AMP_B also presents itself in Y parameter form. It does this by linearizing its response at the input signal's operating point.
Once all the blocks have presented their impedance models to the simulator, the simulator resolves the impedances seen looking out of and into every port where impedances are needed. The following diagram illustrates the impedances available to block B and the other impedances used in computing those impedances.
The impedance Z_{B,Inp,Out} is computed from Z_{A,Out,In} and Z_{D,Inp,In}. Z_{B,Out,Out} is computed from Z_{C,Inp,In} and Z_{E,Inp,In}. For Y parameter based blocks Z_{B,Inp,In} and Z_{B,Out,In} are computed from:
(2.15) |
(2.16) |
For termination blocks, Z_{B,Inp,In} and Z_{B,Out,In} are the termination impedance.
The impedance looking into or out of any port can be displayed using the Z_node RF Budget Analysis measurement.
Once the various impedances are available to a block, the block uses the impedances to compute any necessary voltage corrections for its inputs and outputs. The corrections are required to convert from total voltage to incident voltage at the inputs and from reflected voltage to total voltage at the outputs.
The input correction is:
(2.17) |
where:
(2.18) |
The output correction is:
(2.19) |
where:
(2.20) |
Z_{O} is the characteristic impedance of the block, which in many cases is the system characteristic impedance _Z0. Blocks that support specifying characteristic impedances usually do so through ZINP and ZOUTP parameters.
When performing impedance mismatch modeling, it is important to properly terminate outputs. When impedance mismatch modeling is not being performed, a block's output always sees the system characteristic impedance _Z0 at its output, regardless of how many blocks are connected to the output. When impedance mismatch modeling is enabled, the impedance seen at the outputs of RF blocks (as well as the inputs) depends on what is connected to the block. If the output is left unconnected, it is treated as an open circuit. The same holds true if the output is connected only to a test point with default settings.
The Grounded Resistor block LOAD and the End of RF Signal block RF_END, both found in RF Blocks > Impedance Mismatch, can be used to explicitly terminate an RF output. Both LOAD and RF_END let you define a frequency dependent complex impedance for the load. RF_END also provides the voltage seen at the load as a non-RF signal output.
The test point blocks TP, VNA, and VSA can all be configured as a load. By default they are configured as probes, with infinite impedance. The ZL parameter can be used to specify the desired frequency independent complex load impedance.
NOTE: Experience has shown that LOAD blocks be used rather than the ZL parameter of the test point blocks TP and VSA when specifying terminations. Using a LOAD block makes it clear when a termination has been set. Using the test point blocks, on the other hand, can lead to unintentionally specifying multiple loads at a node.
The RF source blocks also allow you to specify a frequency independent source impedance. The TONE, OSC_S, and VNA blocks all have a ZS parameter for specifying the source impedance.
Blocks that do not directly support impedance mismatch modeling can still be connected to RF blocks. For example, the transmitter blocks do not directly support impedance mismatch modeling, yet you can still connect an amplifier to their output. However, if the impedance seen looking into the amplifier's input port is not the system characteristic impedance then the signal voltage must be corrected to properly reflect the effect of the impedance mismatch at the input to the amplifier.
The Start RF Signal block RF_START and Start RF Signal (Noise Source) block RF_START_NS found in the RF Blocks > Impedance Mismatch category are used to apply the necessary mismatch correction. The blocks support an S22 parameter and an output characteristic impedance parameter ZOUT. RF_START/RF_START_NS's input port appears as a termination with impedance _Z0.
When the load impedance at the output port of RF_START/RF_START_NS is conjugate matched to ZOUT, the power delivered to the load is the power delivered to RF_START/RF_START_NS's input port.
There are several additional items to be aware of when interpreting the results of an impedance mismatch modeled simulation.
In Time Domain simulations transmittance in the reverse direction through a block (such as S12) cannot be modeled due to the fact that data samples only flow in the forward direction.
In Time Domain simulations frequency dependent voltage corrections must be implemented with filters. Unfortunately, due to digital filter design constraints the time domain response of the filter may not represent the desired corrections accurately. The Filter Issues section has more information on some of these design issues. Frequency independent voltage corrections do not normally have these problems as they are a simple complex scaling.
Also related to the filter problem is the handling of impedance mismatch in feedback loops. In general, frequency dependent impedance mismatch modeling is not supported in Time Domain feedback loops because of the need to use filters to perform the voltage corrections in the time domain. These filters typically introduce a filter delay which may affect the overall response of the feedback loop. The exception to this is the linear filter based RF blocks. These blocks, since they already utilize a filter when impedance mismatch modeling is not enabled, can implement the voltage corrections by modifying the frequency response of their filter.
Most VSS RF Blocks support the specification of temperature-dependent parameters. For example, in the RF Attenuator Block (RFATTEN), you can specify the attenuation level at a reference temperature, the rate of change of the attenuation with change in temperature, and the actual temperature for the simulation. For RFATTEN, the attenuation level is specified through the LOSS parameter, the reference temperature is specified through the T_REF parameter, the rate of change through the LOSS_TDEP parameter, and the simulation temperature through the T_PHY parameter.
You can determine if an RF block supports temperature dependence by checking to see if the block contains parameters that end in "_TDEP", or if it has a T_REF and a T_PHY parameter. These parameters are typically secondary parameters, so you may need to select the Show Secondary check box in the Element Options dialog box to view them. The following blocks include temperature dependence support:
Block | Description |
---|---|
AMP_B2 | Behavioral Amplifier, 2nd Generation |
ANTENNA | RF Antenna |
APHSHFT_VAR | Variable Analog RF Phase Shifter |
CIRC_12 | Circulator (1-Input, 2-Output) |
CIRC_21 | Circulator (2-Input, 1-Output) |
COMBINER | RF Combiner |
DCOUPLER_3 | Directional Coupler, 3-port Internal Termination |
DCOUPLER_4 | Directional Coupler, 4-port External Termination |
DPHSHFT | Digital RF Phase Shifter |
DPHSHFT_VAR | Variable Digital RF Phase Shifter |
DSATTEN_VAR | Variable Digital Step Attenuator |
ISOLATOR | Isolator |
FMULT_B2 | Behavioral Frequency Multiplier, 2nd Generation |
LINAMP | Linear Amplifier |
LOAD | Grounded Resistor |
LVGA | Linear Variable Gain Amplifier |
MIXER_B2 | Behavioral Mixer, 2nd Generation |
QHYB_12 | Quadrature Hybrid (1-Input, 2-Output) |
QHYB_21 | Quadrature Hybrid (2-Input, 1-Output) |
QHYB_22 | Quadrature Hybrid (2-Input, 2-Output) |
RF_END | End of RF Signal |
RF_START | Start of RF Signal |
RF_START_NS | Start of RF Signal (Noise Source) |
RFDELAY | RF Delay |
RFDELAY_VAR | Variable Digital RF Delay |
RFDPDT_24ST | RF Double Pole Double Throw Switch (static 2 input 4 output) |
RFDPDT_42ST | RF Double Pole Double Throw Switch (static 4 input 2 output) |
RFSW_1nDYN | RF Single Pole n-Throw Switch (dynamic 1-input n-output) |
RFSW_1nST | RF Single Pole n-Throw Switch (static 1-input n-output) |
RFSW_n1DYN | RF Single Pole n-Throw Switch (dynamic n-input 1-output) |
RFSW_n1ST | RF Single Pole n-Throw Switch (static n-input 1-output) |
S2P_BLK | Two Port S Parameter Block |
SnP_BLK | n Port S Parameter Block |
SBLK_2STATE | Two State S Parameter Block |
SPLITTER | RF Splitter |
TONE | Tone(s) Source |
VVA | Voltage Variable RF Attenuator |
Y2P_BLK | Two Port Y Parameter Block |
YnP_BLK | n Port Y Parameter Block |
Z2P_BLK | Two Port Z Parameter Block |
ZnP_BLK | n Port Z Parameter Block |
For example, if the attenuation is set to 5 dB at 290 K and 8 dB at 390 K, you can specify the following parameter values:
LOSS = 5 dB
LOSS_TDEP = (8-5)/100 dB/K (RFATTEN LOSS_TDEP is dB/degree K)
T_REF = 290 K
The loss of the attenuator for different values of T_PHY is then:
290 => 5 dB Loss
300 => 5.3 dB Loss
390 => 8 dB Loss
490 => 11 dB Loss
A single value entered for the _TDEP parameter is interpreted as change per degree K, where the units of change is the same as the base value. For example, for the LOSS parameter of the RFATTEN block, LOSS is in dB, so LOSS_TDEP is interpreted as change in dB per degree K. A straight linear interpolation is performed. Using the LOSS parameter of the RFATTEN block as an example, the LOSS is evaluated according to the following:
LOSS@T_PHY = LOSS + (T_PHY - T_REF) * LOSS_TDEP
Note that limits are not placed on the evaluated value. The parameter is simply treated as having been assigned the evaluated value. For example, in the previous example, for the LOSS parameter of the RFATTEN block, if T_PHY is set to 90 K, the value for the loss is evaluated as:
5 - (90 - 290)*(8 - 5)/100 = -1 dB
The RFATTEN block uses the absolute value of the value assigned to the LOSS parameter as the attenuator's loss, so the loss is 1 dB. Also note that when evaluating the value, T_PHY and T_REF are converted to degrees K. For example, if the global unit of temperature is set to C, and you specify the following parameter values:
LOSS = 5 dB
LOSS_TDEP = (8-5)/100 dB/K
T_REF = 10 C
T_PHY = 50 C
the attenuator loss is evaluated as:
LOSS@T_PHY = 5 + (323.15 - 283.15) * (8-5)/100 = 6.2 dB
You can also specify the temperature dependence using piecewise linear interpolation. To do so, enter a vector of values consisting of pairs of values, where the first value represents the temperature in degrees K and the second value represents the value of the parameter at that temperature. For example, if an RF attenuator has a loss of 1 dB at 290 K, 8 dB at 390 K, and 15 dB at 490 K, you would specify the following parameter values for the RFATTEN block:
LOSS = 1 dB
LOSS_TDEP = {390, 8, 490, 15}
TREF = 290 K
The loss at different values for T_PHY is then:
290 K => 1 dB
300 K => 1.7 dB
390 K => 8 dB
450 K => 12.2 dB
490 K => 15 dB
Note: When piecewise interpolation is used to specify the temperature dependence of the parameters, the value of that parameter does not take the base parameter into account. Instead, all valued are based on the points provided in the _TDEP parameter for each base parameter.
The temperature dependence mechanism also supports specifying frequency-dependent values for parameters that support frequency dependency. Without temperature dependence, you specify frequency dependency for parameters by entering a vector of values for the parameter value, and then enter the frequencies associated with those values in the FREQS parameter. For example, to specify an attenuator with an attenuation of 5 dB at 1 GHz, 6 dB at 2 GHz, and 8 dB at 3 GHz, you specify the following parameter values for the RFATTEN block:
LOSS = {5,6,8}
FREQS = {1,2,3}
To specify a temperature dependence along with a frequency dependence, you specify the base frequency-dependent values for the base parameter (LOSS for the RFATTEN block), and then enter either a single value or a vector with the same number of elements as the base parameter for the \_TDEP parameter. Using this example, if the attenuation is 2 dB across all frequencies, and the reference temperature is 290 K, you would specify the following parameter values:
LOSS = {5,6,8}
LOSS_TDEP = 2/100
T_REF = 290 K
If, however, the temperature dependence is 2 dB per 100 K at 1 GHz, 3 dB per 100 K at 2 GHz, and 4 dB per 100 K at 3 GHz, then you would specify the following parameter values:
LOSS = {5,6,8} dB
LOSS_TDEP = {2,3,4}/100
T_REF = 290 K
Note that when resolving the actual frequency dependency values, the frequency-dependent values for the parameters are first computed from the temperature dependence parameters. These frequency-dependent values are then used as if the parameter value is specified with these values. In the previous example, if T_PHY is 390 K, the attenuator behaves as if the LOSS is specified as:
LOSS = { 7,9,12} dB
Piecewise interpolated temperature dependence is also supported for frequency-dependent parameters. The specification is similar to the frequency-independent case except that instead of a single value being specified for each temperature value in the \_TDEP parameter, there must be the same number of values as there are in the base parameter for each temperature value. For example, if at 290 K the frequency-dependent loss is 5 dB at 1 GHz, 6 dB at 2 GHz, and 8 dB at 3 GHz; at 390 K the frequency-dependent loss is 7 dB at 1 GHz, 9 dB at 2 GHz, and 12 dB at 3 GHz; at 490 K the frequency-dependent loss is 10 dB at 1 GHz, 15 dB at 2 GHz, and 14 dB at 3 GHz, then the parameter values are specified as:
LOSS = {5,6,8}
LOSS_TDEP = {290, 5, 6, 8, 390, 7, 9, 12, 490, 10, 15, 14}
T_REF = 290
NOTE: When piecewise interpolation is used to specify the temperature dependence of the parameters, the value of that parameter does not take the base parameter into account. Instead, all valued are based on the points provided in the _TDEP parameter for each base parameter.
The VSS software relies upon Infinite Impulse Response (IIR) and Finite Impulse Response (FIR) digital filters to implement frequency dependent behavior in Time Domain simulations. Unfortunately, there are limitations and trade-offs as to how well these digital filters can apply a desired frequency response to a time domain signal.
FIR filters are the simpler of the two filters in terms of implementation. An FIR filter has M filter coefficients, or taps, and has order M-1. When implemented using FFTs, they are significantly faster than IIR filters of much smaller order. The primary drawback of the FIR filter is its introduction of ripple in the frequency response. The ripple is due to the finite length of the impulse response.
The IIR filter implementation the VSS program uses typically provides a better overall approximation than the FIR filter, particularly when working with modulated signals or arbitrary tones. However, the IIR filter implementation has its own shortcomings, including sensitivity to numerical limitations such as truncation and round-off errors. The IIR filter design also utilizes the bilinear transform, which introduces a nonlinear mapping of analog frequencies to discrete frequencies. Upsampling and downsampling of the signal is required to reduce some of the effects of the bilinear transform, which introduces signal distortion as well as excessive signal delay in feedback loops due to the non-ideal lowpass anti-aliasing filter required before downsampling. The IIR filter design also requires a pole-residue approximation of the desired frequency response, which has its own limitations.
Figure 2.18 illustrates the ripple in the stopband of an FIR implementation of a notch filter. It also shows the response of an IIR filter implementation that provides a much better response.
Figure 2.19 illustrates some of the distortion introduced by the IIR filter implementation.
Finite Impulse Response, or FIR, filters are fairly simple filters to implement. The time-domain equation for the n'th output sample is:
(2.21) |
The filter response in z-domain is:
(2.22) |
FIR filters can be efficiently implemented using fast Fourier transforms (FFT) provided the filter is not part of a feedback loop. When implemented using an FFT, an FIR filter with M=1000 normally processes samples faster than an FIR filter using Equation 2.21 directly with M=100.
The primary drawback of the FIR filters is ripple in the frequency response. Figure 2.20 illustrates ripple in a fairly simple lowpass filter.
In the figure, the blue curve represents the ideal response of a 7th order Butterworth filter with a 1 GHz cutoff frequency and a maximum passband attenuation of 3.0103 dB. The pink curve shows the response of an FIR filter implementation of the same filter with M=20. The frequency response curve was generated by passing 1000 samples of an impulse through the filter and then applying the discrete Fourier transform (DFT) to obtain the frequency response. Note that in this case the sampling frequency fs is 10 GHz centered at 0 GHz. The frequency response is symmetric about DC.
This filter was designed using the frequency sampling design procedure. The VSS program supports two other FIR filter implementations: a windowed FIR filter and a combination windowed FIR filter and an allpass IIR filter.
Frequency sampling is a fairly simple procedure. The FIR filter coefficients b_{k} are obtained by applying the inverse DFT to the desired frequency response sampled at frequencies:
(2.23) |
The number of frequencies M is determined by the NFREQFIR parameter. If NFREQFIR is empty, the number is automatically determined.
Frequency sampling results in a filter design that matches the desired frequency response at the sampled frequencies f_{i}. However, between those frequencies the response deviates from the desired frequency response, which appears as the bumps, or ripple, in Figure Figure 2.20.
Increasing M may improve the response as illustrated in Figure 2.20.
There is always some amount of ripple, particularly in the stopband. Depending on the requirements of your design, the ripple may be acceptable. However, when working with notch filters, the attenuation in the notch typically falls short of the desired attenuation.
Windowed FIR filter design is a design technique that typically (though not always) provides an overall magnitude response that is superior to that of the frequency sampling technique, particularly between frequency sample points. The trade-offs are the filter has a linear phase response and there is a smoothing of the magnitude response.
This technique involves creating a frequency response with the desired magnitudes at the frequencies given by Equation 2.23. The phase response is set to a linear phase response of the form:
(2.24) |
The inverse DFT is then applied to this response to obtain the time-domain impulse response.
A windowing function is applied to the impulse response. The windowing function has the effect of smoothing the ends of the impulse response, reducing ripple due to the truncated nature of the FIR filter. The VSS program uses a Blackman-Harris window function.
The windowed impulse response becomes the coefficients of the FIR filter.
Figure 2.22 shows the magnitude response of a windowed FIR design for the filter response in Figures Figure 2.20 and Figure 2.21. Figure 2.23 shows the constant group delay imparted by the windowed FIR design compared to the group delay of the ideal filter.
The windowed FIR + allpass IIR filter design attempts to obtain a frequency response with the same magnitude response as the windowed FIR filter design, but with a better group delay response. This is done by combining a windowed FIR filter with an allpass IIR filter. The allpass IIR filter is used to add a non-constant group delay response to the windowed FIR filter's constant group delay response.
The allpass IIR filter is implemented with the following z-domain transfer function:
(2.25) |
Because of the nonlinear nature of Equation 2.25, the allpass IIR filter is designed using an iterative algorithm that attempts to minimize the error between the IIR filter's group delay response and the desired group delay response. Because of the difficulty inherent in designing an IIR filter to an arbitrary frequency response, the group delay of the IIR filter rarely closely matches the desired response. However, it often has the same general shape.
Figure 2.24 shows the group delay response of the windowed FIR + allpass IIR filter design for the ideal group delay response in Figure 2.23.
There are other techniques for designing FIR filters. Most of these techniques are based on minimizing the overall frequency response error or minimizing the amount of ripple. The most effective design techniques partition the desired frequency response into three types of regions: passband, stopband, and transition. They then attempt to reduce the ripple in the passbands and stopbands while not restricting the ripple in the transition regions.
Unfortunately, when attempting to match a general frequency response such as the frequency responses for applying impedance mismatch voltage corrections or the frequency response for an analog filter such as the Butterworth filter, the partitioning techniques often cannot be applied since transition regions cannot be specified.
Infinite impulse response, or IIR filters, are more complex and generally slower than equivalent FIR filters. However, they do typically provide a better overall frequency response match than a frequency sampled FIR filter.
The general time-domain equation for the n'th output sample of an IIR filter is:
(2.26) |
or in z-domain form:
(2.27) |
Note that these relations can be expressed in other ways.
Many of the difficulties of working with IIR filters arise from the feedback terms, those with coefficients α_{k}. On the design side, the feedback terms introduce poles into the frequency response, which may result in an unstable filter. Determining the coefficients is a complex problem in itself, particularly when arbitrary frequency responses are desired.
On the implementation side, the feedback terms make IIR filters much more sensitive than FIR filters to numerical issues such as quantization and round-off due to the finite resolution of floating point values in digital computers. Fortunately, by choosing the proper structure and order of application these numerical issues can be minimized.
The following briefly summarizes the steps involved in the IIR filter implementation:
An s-domain transfer function approximation of the desired frequency response is made. The transfer function is in pole-residue form.
The s-domain transfer function is mapped into the z-domain using the bilinear transform. The transfer function is also frequency-shifted prior to the application of the bilinear transform to align the center frequency with z = 0.
At simulation time, each sample input is fed into the IIR filter. If UPRATE is greater than 1, UPRATE-1 zeros are then input into the IIR filter, effectively upsampling the filtered signal.
If UPRATE is greater than 1, the output of the IIR filter is passed through a lowpass filter (relative to the center frequency). The output of the lowpass filter is then decimated by UPRATE-1, effectively downsampling the previously upsampled filtered signal.
UPRATE is a control parameter that determines the upsampling rate used by the IIR filter implementation. If a block does not have this parameter available a value of 4 is used.
The s-domain transfer function approximation results in a transfer function of the form:
(2.28) |
where (x)* indicates the complex conjugate of x. Analog frequencies f_{a} are related to s by:
(2.29) |
MAXNPOLE is a control parameter that is provided to allow you to limit the number of poles in the transfer function. The default value for MAXNPOLE varies depending on the number of frequencies supplied, but the maximum default value is 40.
By applying the bilinear transform:
(2.30) |
an IIR filter can be designed that approximates H(s) in the z-domain. T is a design parameter.
The bilinear transform maps the analog frequencies Ω to the z-domain frequencies ω according to the following equation:
(2.31) |
If the signal representation is complex envelope, the frequencies must be shifted so the z-domain frequency band is centered at the center frequency, or ω=0 when Ω=2πf_{c}. This is easily accomplished by adding -j·2π·f_{c} to s prior to applying the bilinear transform.
The bilinear transform maps the entire analog frequency range -∞≤Ω≤∞ into the z-domain frequency range -π≤ω≤π. The result is that all frequencies, including unwanted frequencies, appear within the z-domain response. Additionally, severe frequency compression occurs as ω approaches ±π due to the arctangent relation in Equation 2.31. The following illustrates the mapping process:
The effects of the bilinear transform can be controlled to a certain extent by upsampling the signal prior to passing it through the IIR filter. By properly designing the IIR filter, the frequencies outside the desired analog frequency band can be made to fall outside of the original pre-upsampled z-domain frequency band fs. The signal is then passed through a lowpass z-domain filter with bandwidth fs, attenuating the unwanted frequencies. The signal is then decimated back to the original sampling frequency.
The variable T in Equation 2.31 and Equation 2.31 is determined by both UPRATE and FRQALIGN. FRQALIGN defines the frequency at which analog frequency and z-domain frequency match:
(2.32) |
FRQALIGN is a control parameter like UPRATE. If a block does not have FRQALIGN available, it is generally set to the inverse of the oversampling rate of the input signal.
Substituting equation Equation 2.31 into equation Equation 2.31 and solving for T we obtain:
(2.33) |
After transformation into the z-domain, the transfer function has the following form:
(2.34) |
This form is readily implemented by a parallel IIR filter structure.
The linear RF blocks all share the same core implementation. There may be some differences with the default configurations used, but they all support the same core features.
The four digital filter implementations described in the previous sections are available:
Frequency sampled FIR filter
Windowed FIR filter
Windowed FIR + allpass IIR filters
S-domain derived IIR filter
By default the circuit filter blocks are configured to automatically select a filter implementation. The IMPL parameter is used to select a specific implementation.
The selection algorithm can be described as:
1. If the filter is in a feedback loop, select frequency sampled FIR filter.
2. Design a frequency sampled FIR filter and an s-domain derived IIR filter. Compute error metrics for both designs. If one of the filters has a sufficiently small error metric, select that filter. If the block is one of the blocks in the Filters category, select the filter with the smallest error metric.
3. If step 2 did not result in a selected filter implementation, design a windowed FIR + allpass IIR filter. Select the filter implementation from the three designs with the smallest error metric.
Note that the blocks in the Filters category do not attempt a windowed FIR + allpass IIR design. This is because they are based on s-domain filter responses and the s-domain IIR design most often provides a better response than the windowed FIR + allpass IIR design.
In most cases either the frequency sampled FIR or the s-domain derived IIR designs are sufficient. The windowed FIR + allpass IIR design is only attempted if neither of the other designs is satisfactory. This is because the windowed FIR + allpass IIR design algorithm takes significantly longer than the other design processes.
The number of frequencies used in the different filter designs depends on the NFREQ or NFREQFIR parameters. The NFREQ parameter is used primarily for the s-domain derived IIR filter design, though if NFREQFIR is left empty it may also be used for the FIR filter designs. The NFREQFIR parameter is used only for the FIR filter designs.
The effect of the number of frequencies used in a filter design is dependent upon the filter design algorithm. The s-domain derived IIR filter design algorithm is quite sensitive to the number of frequencies used. Changing the number of frequencies by 1 or 2 may sometimes produce significantly different responses. Too many frequencies or too few frequencies may produce a response that does not resemble the desired response at all.
Experience has shown that between 50 and 200 frequency points tends to work best for the s-domain derived IIR filter design. You can easily experiment with the circuit filters in the Filters category using the Filter Design tab of the Element Options dialog box.
When working with LIN_S, LIN_F, or LIN_F2 with 50 or more frequency points in the Microwave Office circuit or data file that fall within the sampling frequency band, NFREQ should be left alone. This lets the blocks use the actual frequency points from the Microwave Office circuit simulation or the text data file as the design response. Doing so avoids interpolating frequency response information, which may yield an undesirable response.
For the FIR filter based designs, including the windowed FIR + allpass IIR design, the number of frequencies used directly affects the resolution of the filter. Unless the filter is used in a feedback loop, using between 1000 and 10,000 frequency points generally yields satisfactory results in both response resolution and simulation speed. When used in a feedback loop, the number of frequencies should be much lower, since the FIR filter is implemented in convolutional mode, which is much slower than the FFT mode.
There are several items that need to be kept in mind when modeling nonlinearities in Time Domain simulations.
Aliasing is a result of the fact that Time Domain simulations have a bandwidth limited to the sampling frequency. Center frequency also contributes to the problem when working with complex envelope signals.
Aliasing problems can arise because of the frequency bandwidth expansion that occurs when a signal passes through a nonlinearity. Any generated components that fall outside the sampling frequency band are aliased back into the sampling frequency band. Figure 2.27 illustrates the bandwidth expansion for a 3rd-order nonlinearity due to harmonics. Intermodulation products would further expand the signal at each harmonic.
When aliasing occurs, signal content that is generated outside of the sampling frequency band is 'folded' back into the sampling frequency band, or aliased. Figure 2.28 illustrates aliasing for the example 3rd order nonlinearity. Note that intermodulation products are not illustrated in the figure.
If the largest signal frequency is sufficiently small, the expanded signal bandwidth falls entirely within the sampling frequency band and all is well. If that is not the case, however, special accommodations may have to be made if the input signal level is sufficiently high to generate significant harmonics. This is usually the case when working with complex envelope signals with non-zero center frequencies.
One approach to reducing the effects of the aliased harmonics is to temporarily expand the sampling frequency bandwidth, apply the nonlinearity, filter out the content outside the original sampling frequency bandwidth, then downsample back to the original sampling frequency bandwidth. The VSS program calls this process anti-aliasing resampling. Figure 2.29 illustrates these steps.
One limitation of anti-aliasing resampling is that the maximum harmonic generated must be known to determine the upsampling rate. Because of this, only the nonlinear blocks that use polynomials to model their nonlinearity currently use anti-aliasing resampling. The behavioral amplifiers AMP_B, AMP_BV, AMP_F and VGA_F, and the mixers MIXER_B, MIXER_F and MIXER_S support this behavior.
The biggest limitation in using anti-aliasing resampling is the amount of resampling that may be needed. This amount is related to the ratio of the largest signal frequency to the sampling frequency bandwidth. The larger the ratio, the more resampling is required.
This problem is most apparent when working with narrowband signals at high center frequencies. Take for example a 2 MHz bandwidth signal centered at 2 GHz. With a oversampling rate of 10, this signal can be efficiently modeled as a complex envelope signal with a sampling frequency of 20 MHz and a center frequency at 2 GHz. If this signal were to pass through a 3rd-order nonlinearity, the largest signal component generated by the nonlinearity would be 3·2.001 GHz or 6.003 GHz.
To expand the sampling frequency so the sampling frequency band includes 6.003 GHz, we need to upsample by:
(2.35) |
or 4003!
The VSS program uses two approaches to avoid this problem. The first approach uses a proprietary algorithm to limit the upsampling rate needed for a given polynomial order. This algorithm results in a maximum upsampling rate of 7 for 3rd order nonlinearities and 18 for 5th order nonlinearities. The upsampling rate for 5th order nonlinearities can often be reduced to 9.
The second approach is to use a different nonlinearity implementation when the signal is narrowband. The behavioral amplifiers AMP_B and AMP_BV, and the mixers MIXER_B, MIXER_F and MIXER_S support this approach. In this case the block replaces the polynomial based nonlinearity with an AM/PM conversion table based nonlinearity that is derived from passing a single tone signal near the center frequency through the original polynomial based nonlinearity.
NOTE: This section applies to Time Domain simulations. The Saturation Effects sub-section of the RF Budget Analysis section describes the saturation effects in RF Budget Analysis simulations. The Saturation Effects sub-section of the RF Inspector section describes the saturation effects in RF Inspector simulations.
The behavioral amplifiers AMP_B, AMP_BV, AMP_F and VGA_F, and the mixers MIXER_B, MIXER_F and MIXER_S use as their primary nonlinearity a 3rd or 5th order polynomial. This polynomial allows gain, P1dB, IP2 and IP3 to be modeled up to the P1dB point. To model saturation effects, however, the instantaneous voltage must be modified differently. For these blocks a second polynomial is used to taper the input voltage to the saturation voltage once the input voltage exceeds a threshold value. See the “Compression/Saturation”AMP_B documentation for more information.
The tapering of the input voltage is in itself a nonlinear operation, and results in additional harmonic and intermodulation products being generated. These products typically do not conform to any predictable pattern, so cannot be relied upon to determine IM product behavior near the saturation point.
Figure 2.30 illustrates the generated IM products. The input signals are two tones, 10 and 10.1 GHz, fed into AMP_B. The blue plot is the output of the amplifier when the tone power is -5.2 dBm. For this case the instantaneous voltages of the input signal fall within the tolerance so the output is based solely on the base polynomial. In the pink plot, the tone power has been increased to -5 dBm, which results in some instantaneous voltages exceeding the threshold. This is evident from the appearance of the frequency content above 10.2 GHz and below 9.8 GHz. For the brown plot, the tone power has been increased to -4.8 dBm. Note the large increase in frequency content outside 9.8 to 10.2 GHz.
Figure 2.30 is another view of the effects. The brown curve is the 9.5 GHz AM-AM plot, which should be negligible (< --300). When the saturation polynomial begins to take effect, however, that frequency suddenly appears.
The National Instruments Technical Data Management Streaming (TDMS) file format is a binary file format used by NI test and measurement equipment to transfer measurement data to and from disk. TDMS files are supported by many NI software products including LabVIEW and DIAdem.
A TDMS file is hierarchical. The file contains zero or more channel groups, each of which contain zero or more channels. Each channel contains an array of numeric values. You can assign properties to the file, channel groups, and channels to provide descriptive information about them. A property consists of a name (text) and a value (numeric value or text). For example, you can use a property as a description property, where the name is 'description' and the value is the text of the description. Another example is a time step property, defining the time between data values. The name might be 'dt', with the value being the time step in seconds. The TDMS file format does not define specific properties, nor does it define how channel groups and channels are used; these are defined by specific applications.
The VSS TDMS blocks follow the NI convention of using single channels to store analog waveforms and channel groups to store digital waveforms.
For analog waveforms the channel data is the sample data. The channels have a time step property defining the time between samples in seconds. This property is named either 'dt' or 'wf_increment'. The channels also have a property containing the number of values in the channel. This property is named either 'NI_ChannelLength' or 'wf_samples'. The channel does not have properties named either 'NI_DigitalNumberOfLines' or 'NI_DigitalLine', which identify channels of digital data.
IQ data is differentiated from the other analog waveforms by the presence of a 'NI_RF_WaveformType' property with the value 'InterleavedIQCluster'. If this property is present the channel data consists of the interleaved I and Q values for each sample. The number of whole IQ samples is 1/2 the value of the 'NI_ChannelLength' or 'wf_samples' property.
Complex waveforms are identified by the data type of the channel. Complex single precision or complex double precision data types are supported by the VSS TDMS blocks: TDMS_IVARSRC, TDMS_SRC, and TDMS_SNK. These blocks treat IQ data and complex waveforms the same.
Digital waveforms are stored differently from analog waveforms. Each bit, or digital line, is stored as a separate channel within a single channel group. In addition, the waveform data may optionally be compressed.
Each digital line channel has an 'NI_DigitalLine' property whose value is an integer between 0 and N-1, inclusive, where N is the total number of digital lines. This property identifies the digital line represented by the channel. The channel with digital line 0 contains the values of the most significant bit while the channel with the digital line N-1 contains the values of the least significant bit. The data type of the digital line channels is typically an 8-bit integer, though the VSS blocks support other integer data types. The VSS TDMS blocks treat a data value of 0 as a binary '0' any other value as a binary '1'.
If the digital waveform data is compressed there is also an index channel within the channel group. The index channel is identified by the 'NI_DigitalNumberOfLines' property with its value being the number of digital lines in the channel group. The index channel contains the time index represented by a data value at a given data index within the channel. For a given channel data index, the value in each digital line channel at that data index is repeated until the time index of the next value in the index channel. For example, if the channels have the following data values,
Index | Line 0 | Line 1 | Line 2 |
---|---|---|---|
0 | 1 | 0 | 1 |
3 | 0 | 1 | 1 |
5 | 1 | 0 | 0 |
this table would expand to the following sequence of bits, presuming a time step of 1 ms:
Time (ms) | Line 0 | Line 1 | Line 2 |
---|---|---|---|
0 | 1 | 0 | 1 |
1 | 1 | 0 | 1 |
2 | 1 | 0 | 1 |
3 | 0 | 1 | 1 |
4 | 0 | 1 | 1 |
5 | 1 | 0 | 0 |
Both the digital line and the index channels contain a 'wf_increment' property whose value is the time step in seconds, and a 'wf_samples' property whose value is the number of samples in the channel.
Please send email to awr.support@ni.com if you would like to provide feedback on this article. Please make sure to include the article link in the email.