# S-Parameters Mixer

Model mixer and local oscillator using S-parameters

**Libraries:**

RF Blockset /
Equivalent Baseband /
Mixers

## Description

The S-Parameters Mixer block models the nonlinear mixer described in the block dialog box, in terms of its frequency-dependent S-parameters, the frequencies and reference impedance of the S-parameters, noise data (including phase noise data), and nonlinearity data.

## Examples

## Parameters

### Main

**S-Parameters** — S-parameters for nonlinear mixer

`[0,0;1,0]`

(default) | 2-by-2-by-*M* array

S-parameters for the nonlinear mixer, specified as a
2-by-2-by-*M* array where *M* is the number of
S-parameters.

**Frequency (Hz)** — Frequency of S-parameters

`2.0e9`

(default) | *M*-element vector

Frequency of the S-parameters, specified as an *M*-element vector
with each element unit in hertz. All frequencies must be positive.

**Reference Impedance (ohms)** — Reference impedance of S-parameters

`50`

(default) | numeric scalar | numeric vector of length *M*

Reference impedance of the S-parameters as a numeric scalar or a numeric vector of
length *M*. If you provide a scalar value, then that value is applied
to all frequencies.

**Complex Number Support: **Yes

**Interpolation method** — Method to interpolate network parameters

`Linear`

(default) | `Spline`

| `Cubic`

Method to interpolate the network parameters, specified as one of the following:

Method | Description |
---|---|

`Linear` | Linear interpolation |

`Spline` | Cubic spline interpolation |

`Cubic` | Piecewise cubic Hermite interpolation |

**Mixer Type** — Type of mixer

`Downconverter`

(default) | `Upconverter`

Type of mixer, specified as `Downconverter`

or
`Upconverter`

.

**LO frequency (Hz)** — Local oscillator frequency

`0.9e9`

(default) | *M*-element vector

Local oscillator frequency, specified as an *M*-element vector with
each element unit in hertz.

If you choose

**Mixer Type**as`Downconverter`

, then the blockset computes the mixer output frequency,*f*, from the mixer input frequency,_{out}*f*, and the local oscillator frequency,_{in}*f*, as_{lo}*f*=_{out}*f*–_{in}*f*._{lo}If you

**Mixer Type**as`Upconverter`

, then*f*=_{out}*f*+_{in}*f*._{lo}

**Note**

For a downconverting mixer, the local oscillator frequency must satisfy the
condition *f _{in}* –

*f*≥ 1/(2

_{lo}*t*), where

_{s}*t*is the sample time specified in the Input Port block. Otherwise, an error appears.

_{s}### Noise Data

**Phase noise frequency offset (Hz)** — Phase noise frequency offset

`[0.1 1 10 100]*1e3`

(default) | numeric vector

Phase noise frequency offset, specified as a numeric vector with units in hertz.

**Data Types: **`double`

**Phase noise level (dBc/Hz)** — Phase noise level

`[-70 -120 -140 -150]`

(default) | numeric vector

Phase noise level, specified as a numeric vector with units in decibels relative to the carrier per hertz.

**Data Types: **`double`

**Noise type** — Type of noise data

`Noise figure`

(default) | `Spot noise data`

| `Noise factor`

| `Noise temperature`

Type of noise data, specified as one of the following:

`Noise figure`

`Spot noise data`

`Noise factor`

`Noise temperature`

This parameter is disabled if the data source contains noise data.

**Noise figure (dB)** — Available signal-to-noise ratio at the input to available signal-to-noise ratio at the output

`0`

(default) | scalar ratio | vector of ratios

Available signal-to-noise ratio at the input to available signal-to-noise ratio at the output, specified as a scalar ratio or a vector of ratios.

#### Dependencies

To enable this parameter, select `Noise figure`

in
**Noise type**.

**Minimum noise figure** — Minimum ratio of available signal-to-noise ratio at input to available signal-to-noise ratio at output

`0`

(default) | scalar ratio | vector of ratios

Minimum ratio of available signal-to-noise ratio at the input to available signal-to-noise ratio at the output, specified as a scalar ratio or a vector of ratios.

#### Dependencies

To enable this parameter, select `Spot noise data`

in
**Noise type**.

**Optimal reflection coefficient** — Optimal source impedance

`1+0i`

(default) | complex scalar | complex vector

Optimal source impedance, specified as a complex scalar or a complex vector.

#### Dependencies

To enable this parameter, select `Spot noise data`

in
**Noise type**.

**Equivalent normalized noise resistance** — Normalized resistance values used to take noise measurement

`1`

(default) | positive scalar | positive vector

Normalized resistance values used to take noise measurement, specified as a positive scalar or a positive vector.

#### Dependencies

To enable this parameter, select `Spot noise data`

in
**Noise type**.

**Noise factor** — Ratio of available signal-to-noise power at input to available signal-to-noise power at output

`1`

(default) | scalar ratio | vector of ratios

Ratio of available signal-to-noise power at the input to available signal-to-noise power at the output, specified as a scalar ratio or a vector of ratios.

#### Dependencies

To enable this parameter, select `Noise factor`

in
**Noise type**.

**Noise temperature (K)** — Equivalent temperature that produces same amount of noise as mixer

`0`

(default) | nonnegative scalar | nonnegative vector

Equivalent temperature that produces the same amount of noise as the mixer, specified as a nonnegative scalar or nonnegative vector with units in kelvins.

#### Dependencies

To enable this parameter, select `Noise temperature`

in
**Noise type**.

**Frequency (Hz)** — Domain of frequencies to express noise data

`2.0e9`

(default) | nonnegative scalar | nonnegative vector

Domain of frequencies to express noise data, specified as a nonnegative scalar in
hertz or nonnegative vector with each element unit in hertz. If you provide a scalar
value for your noise data, the block ignores the **Frequency (Hz)**
parameter and uses the same noise data for all frequencies. If you provide a vector of
values for your noise data, it must be the same size as the vector of frequencies. The
block uses the **Interpolation method** specified in the
**Main** tab to interpolate noise data.

### Nonlinearity Data

**IP3 type** — Type of third order intercept

`OIP3`

(default) | `IIP3`

Type of third order intercept, specified as `OIP3`

(output intercept
point) or `IIP3`

(input intercept point). This parameter is disabled if
the data source contains power data or IP3 data.

**IP3 (dBm)** — IP3 value

`inf`

(default) | scalar | vector

IP3 value, specified as a scalar in dBm for frequency independent nonlinear data or a vector with each element unit in dBm for frequency dependent nonlinear data. This parameter is disabled if the data source contains power data or IP3 data.

**1dB gain compression power (dBm)** — Output power value at which gain has decreased by 1 dB

`inf`

(default) | scalar | vector

Output power value ($${P}_{1dB,out}$$) at which the gain has decreased by 1 dB, specified as a scalar in dBm for frequency independent nonlinear data or vector with each element unit in dBm for frequency dependent nonlinear data. This parameter is disabled if the data source contains power data or IP3 data.

**Output saturation power (dBm)** — Output power value that mixer produces when fully saturated

`inf`

(default) | scalar | vector

Output power value ($${P}_{sat,out}$$) that the mixer produces when fully saturated, specified as a scalar in dBm for frequency independent nonlinear data or a vector with each element unit in dBm for frequency dependent nonlinear data. This parameter is disabled if the data source contains output saturation power data.

**Gain compression at saturation (dB)** — Decrease in gain value

`3`

(default) | scalar | vector

Decrease in gain value ($$G{C}_{sat}$$) when the power is fully saturated, specified as a scalar in dB for frequency independent nonlinear data or a vector with each element unit in dB for frequency dependent nonlinear data.

**Frequency (Hz)** — Frequency points corresponding to third-order intercept or power data

`2.0e9`

(default) | positive scalar | positive vector

Frequency points corresponding to third-order intercept or power data, specified as a positive scalar or positive vector in units of hertz. This parameter is disabled if the data source contains power data or IP3 data.

#### Dependencies

If you specify the frequency as a scalar, then the

**IP3 (dBm)**,**1 dB gain compression power (dBm)**, and**Output saturation power (dBm)**parameters must all be scalars.If you specify the frequency as a vector, then or more of the

**IP3 (dBm)**,**1 dB gain compression power (dBm)**, and**Output saturation power (dBm)**parameters must also be a vector.

### Visualization

**Source of frequency data** — Frequency data source

`Same as the S-Parameters`

(default) | `User-specified`

Frequency data source, specified as ```
Same as the
S-Parameters
```

or `User-specified`

.

**Frequency data (Hz)** — Frequency data range

`[1e9:1e8:2.9e9]`

(default) | vector

Frequency data range, specified as a vector with each element unit in hertz.

#### Dependencies

To enable this parameter, set **Source of frequency data** to
`User specified`

.

**Reference impedance (ohms)** — Reference impedance

`50`

(default) | nonnegative scalar

Reference impedance, specified as a nonnegative scalar in ohms.

**Plot type** — Type of data plot

`X-Y plane`

(default) | `Composite data`

| `Polar plane`

| `Z Smith chart`

| `Y Smith chart`

| `ZY Smith chart`

Type of data plot to visualize using the given data, specified as one of the following:

`X-Y plane`

— Generate a Cartesian plot of the data versus frequency. To create linear, semilog, or log-log plots, set the**Y-axis scale**and**X-axis scale**accordingly.`Composite data`

— Plot the composite data. For more information, see Create Plots.`Polar plane`

— Generate a polar plot of the data. The block plots only the range of data corresponding to the specified frequencies.`Z smith chart`

,`Y smith chart`

, and`ZY smith chart`

— Generate a Smith^{®}chart. The block plots only the range of data corresponding to the specified frequencies.

**Y parameter1** — Type of parameters to plot

`S11`

(default) | `S12`

| `S21`

| `S22`

| `GroupDelay`

| `OIP3`

| `NF`

| `NFactor`

| `NTemp`

| `PhaseNoise`

| ...

Type of parameters to plot based on the **Plot type** you set,
specified as one of the following.

Plot type | Y parameter1 |
---|---|

`X-Y plane` | `S11` , `S12` ,
`S21` , `S22` ,
`GroupDelay` ,
`OIP3` , `NF` ,
`NFactor` ,
`NTemp` , and
`PhaseNoise` . |

`Composite data` | No Y parameter1 to set. |

`Polar plane` | `S11` , `S12` ,
`S21` , and
`S22` |

`Z Smith chart` | `S11` and
`S22` . |

`Y Smith chart` | `S11` and
`S22` . |

`ZY smith chart` | `S11` and
`S22` . |

**Y parameter2** — Type of parameters to plot

`S11`

| `S12`

| `S21`

| `S22`

| `GroupDelay`

| `OIP3`

| `NF`

| `NFactor`

| `NTemp`

| ...

Type of parameters to plot based on the **Plot type** you set,
specified as one of the following.

Plot type | Y parameter1 |
---|---|

`X-Y plane` | `S11` , `S12` ,
`S21` , `S22` ,
`GroupDelay` ,
`OIP3` , `NF` ,
`NFactor` ,
`NTemp` , and
`PhaseNoise` . |

`Composite data` | No Y parameter1 to set. |

`Polar plane` | `S11` , `S12` ,
`S21` , and
`S22` |

`Z Smith chart` | `S11` and
`S22` . |

`Y Smith chart` | `S11` and
`S22` . |

`ZY smith chart` | `S11` and
`S22` . |

**Y format1** — Plot format

`Magnitude (decibels)`

(default) | `Magnitude (linear)`

| `Angle(degrees)`

| `Angle(radians)`

| `Real`

| `Imaginary`

Plot format, specified as one of the following.

Y parameter1 | Y format1 |
---|---|

`S11` , `S12` ,
`S21` , and
`S22` . | `Magnitude (decibels)` ,
`Magnitude (linear)` ,
`Angle(degrees)` ,
`Angle(radians)` ,
`Real` , and
`Imaginary` . |

`GroupDelay` | `ns` , `us` ,
`ms` , `s` , and
`ps` . |

`OIP3` | `dB` , `dBm` ,
`W` , and
`mW` . |

`NF` | `Magnitude (decibels)` |

`NFactor` | `None` |

`NTemp` | `Kelvin` |

`PhaseNoise` | `dBc/Hz` |

#### Dependencies

To enable **Y format1**, set **Plot type** to
`X-Y plane`

.

**Y format2** — Plot format

`Magnitude (decibels)`

(default) | `Magnitude (linear)`

| `Angle(degrees)`

| `Angle(radians)`

| `Real`

| `Imaginary`

Plot format, specified as one of the following.

Y parameter1 | Y format1 |
---|---|

`S11` , `S12` ,
`S21` , and
`S22` . | `Magnitude (decibels)` ,
`Magnitude (linear)` ,
`Angle(degrees)` ,
`Angle(radians)` ,
`Real` , and
`Imaginary` . |

`GroupDelay` | `ns` , `us` ,
`ms` , `s` , and
`ps` . |

`OIP3` | `dB` , `dBm` ,
`W` , and
`mW` . |

`NF` | `Magnitude (decibels)` |

`NFactor` | `None` |

`NTemp` | `Kelvin` |

`PhaseNoise` | `dBc/Hz` |

#### Dependencies

To enable **Y format1**, set **Plot type** to
`X-Y plane`

.

**X parameter** — Frequency plot

`Freq`

(default)

Frequency plot, specified as `Freq`

.

**X format** — Frequency plot format

`Hz`

(default) | `Auto`

| `kHz`

| `MHz`

| `GHz`

| `THz`

Frequency plot format, specified as one of the following.

`Auto` | `Hz` | `kHz` | `MHz` |

`GHz` | `THz` |

**Y scale** — Y-axis scale

`Linear`

(default) | `Log`

Y-axis scale, specified as `Linear`

or `Log`

.

#### Dependencies

To enable this parameter, set **Plot type** to ```
X-Y
plane
```

.

**X scale** — X-axis scale

`Linear`

(default) | `Log`

X-axis scale, specified as `Linear`

or `Log`

.

#### Dependencies

To enable this parameter, set **Plot type** to ```
X-Y
plane
```

.

**Plot** — Plot specified data

button

Plot specified data using the plot button.

## More About

### Network Parameters

The S_{21} parameter values describe the conversion gain as a
function of frequency, referred to the mixer input frequency. The other S-parameters also
refer to the mixer input frequency.

In the **S-Parameters** field of the block dialog box, provide the
S-parameters for each of *M* frequencies as a
2-by-2-by-*M* array. In the **Frequency** field, specify
the frequencies for the S-parameters as an *M*-element vector. The elements
of the vector must be in the same order as the S-parameters. The figure shows the
correspondence between the S-parameters array and the vector of frequencies.

The S-Parameters Mixer block interpolates the given S-parameters to determine their values at the modeling frequencies the Output Port block calculates. For more details about how the Output Port block calculates the modeling frequencies, see Map Network Parameters to Modeling Frequencies.

RF Blockset™ Equivalent Baseband software computes the reflected wave at the mixer input ($${b}_{1}$$) and at the mixer output ($${b}_{2}$$) from the interpolated S-parameters as

$$\left[\begin{array}{c}{b}_{1}({f}_{in})\\ {b}_{2}({f}_{out})\end{array}\right]=\left[\begin{array}{cc}{S}_{11}& {S}_{12}\\ {S}_{21}& {S}_{22}\end{array}\right]\left[\begin{array}{c}{a}_{1}({f}_{in})\\ {a}_{2}({f}_{out})\end{array}\right]$$

where

$${f}_{in}$$ and $${f}_{out}$$ are the mixer input and output frequencies, respectively.

$${a}_{1}$$ and $${a}_{2}$$ are the incident waves at the mixer input and output, respectively.

The interpolated S_{21} parameter values describe the conversion gain
as a function of frequency, referred to the mixer input frequency.

### Active Noise

You can specify active block noise in one of the following ways:

Spot noise data in the S-Parameters Mixer block dialog box.

Noise figure, noise factor, or noise temperature value in the S-Parameters Mixer block dialog box.

If you specify block noise as spot noise data, the block uses the data to calculate noise
figure. The block first interpolates the noise data for the modeling frequencies using the
specified **Interpolation method**. It then calculates the noise figure
using the resulting values.

### Phase Noise

The S-Parameters Mixer block applies phase noise to a complex baseband signal. The block first generates additive white Gaussian noise (AWGN) and filters the noise with a digital FIR filter. It then adds the resulting noise to the angle component of the input signal.

The blockset computes the digital filter by:

Interpolating the specified phase noise level to determine the phase noise values at the modeling frequencies.

Taking the IFFT of the resulting phase noise spectrum to get the coefficients of the FIR filter.

**Note**

If you specify phase noise as a scalar value, then the blockset assumes that the phase
noise is the phase noise is constant at all modeling frequencies and does not have a
*1/f* slope. This assumption differs from that made by the
Mathematical Mixer block.

### Nonlinearity

You can introduce nonlinearities into your
model by specifying parameters in the **Nonlinearity Data** tab of the
S-Parameters Mixer block dialog box. Depending on which of these parameters you specify, the block
computes up to four of the coefficients $${c}_{1}$$, $${c}_{3}$$, $${c}_{5}$$, and $${c}_{7}$$ of the polynomial $${F}_{AM/AM}(s)={c}_{1}s+{c}_{3}{\left|s\right|}^{2}s+{c}_{5}{\left|s\right|}^{4}s+{c}_{7}{\left|s\right|}^{6}s$$ that determines the AM/AM conversion for the input signal $$s$$. The block automatically calculates $${c}_{1}$$, the linear gain term. If you do not specify additional nonlinearity data, the block operates as a
mixer with a linear gain. If you do, the block calculates one or more of the remaining
coefficients as the solution to a system of linear equations, determined by the following
method.

The block checks whether you have specified a value other than

`Inf`

for:The third-order intercept point ($$OIP3$$ or $$IIP3$$).

The output power at the 1-dB compression point ($${P}_{1dB,out}$$).

The output power at saturation ($${P}_{sat,out}$$).

In addition, if you have specified $${P}_{sat,out}$$, the block uses the value for the gain compression at saturation ($$G{C}_{sat}$$). Otherwise, $$G{C}_{sat}$$ is not used. You define each of these parameters in the block dialog box, on the

**Nonlinearity Data**tab.The block calculates a corresponding input or output value for the parameters you have specified. In units of dB and dBm,

$$\begin{array}{c}{P}_{sat,out}+G{C}_{sat}={P}_{sat,in}+{G}_{lin}\\ {P}_{1dB,out}+1={P}_{1dB,in}+{G}_{lin}\\ OIP3=IIP3+{G}_{lin}\end{array}$$

where $${G}_{lin}$$ is $${c}_{1}$$ in units of dB.

The block formulates the coefficients $${c}_{3}$$, $${c}_{5}$$, and $${c}_{7}$$, where applicable, as the solutions to a system of one, two, or three linear equations. The number of equations used is equal to the number of parameters you provide. For example, if you specify all three parameters, the block formulates the coefficients according to the following equations:

$$\begin{array}{c}\sqrt{{P}_{sat,out}}={c}_{1}\sqrt{{P}_{sat,in}}+{c}_{3}{\left(\sqrt{{P}_{sat,in}}\right)}^{3}+{c}_{5}{\left(\sqrt{{P}_{sat,in}}\right)}^{5}+{c}_{7}{\left(\sqrt{{P}_{sat,in}}\right)}^{7}\\ \sqrt{{P}_{1dB,out}}={c}_{1}\sqrt{{P}_{1dB,in}}+{c}_{3}{\left(\sqrt{{P}_{1dB,in}}\right)}^{3}+{c}_{5}{\left(\sqrt{{P}_{1dB,in}}\right)}^{5}+{c}_{7}{\left(\sqrt{{P}_{1dB,in}}\right)}^{7}\\ 0=\frac{{c}_{1}}{IIP3}+{c}_{3}\end{array}$$

The first two equations are the evaluation of the polynomial $${F}_{AM/AM}(s)$$ at the points $$(\sqrt{{P}_{sat,in}},\sqrt{{P}_{sat,out}})$$ and $$(\sqrt{{P}_{1dB,in}},\sqrt{{P}_{1dB,out}})$$, expressed in linear units (such as W or mW) and normalized to a 1-Ω impedance. The third equation is the definition of the third-order intercept point.

The calculation omits higher-order terms according to the available degrees of freedom of the system. If you specify only two of the three parameters, the block does not use the equation involving the parameter you did not specify, and eliminates any $${c}_{7}$$ terms from the remaining equations. Similarly, if you provide only one of the parameters, the block uses only the solution to the equation involving that parameter and omits any $${c}_{5}$$ or $${c}_{7}$$ terms.

If you provide vectors of nonlinearity and frequency data, then the block calculates the polynomial coefficients using values for the parameters interpolated at the center frequency.

## Version History

**Introduced before R2006a**

## MATLAB Command

You clicked a link that corresponds to this MATLAB command:

Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.

# Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

## How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

### Americas

- América Latina (Español)
- Canada (English)
- United States (English)

### Europe

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)