# General Mixer

Model mixer and local oscillator described by `rfdata`

object

**Libraries:**

RF Blockset /
Equivalent Baseband /
Mixers

## Description

The General Mixer block models the mixer described by an RF Toolbox™ data (`rfdata.data`

)
object.

## Parameters

### Main

**Data source** — Data source that describes the mixer behavior

`Data file`

(default) | `RFDATA`

object

Data source that describes the mixer behavior, specified as a
`Data file`

or an `RFDATA`

object.

**Data Types: **`char`

**Data file** — Name of file that contains mixer data

`default.s2d`

(default) | string | character vector

Name of file that contains the mixer data, specified as a string or a
character vector. The file name must include the extension. If the file
is not in your MATLAB^{®} path, specify the full path to the file or click the
**Browse** button to find the file.

**Note**

If the data file contains an intermodulation table, the General Mixer block ignores the table. Use RF Toolbox software to ensure the cascade has no significant spurs in the frequency band of interest before running a simulation.

#### Dependencies

To enable this parameter, choose ```
Data
file
```

in **Data source**.

**Data Types: **`char`

| `string`

**RFDATA object** — RF data object that contains mixer data

```
read(rfdata.data,
'default.s2p')
```

(default) | `rfdata.data`

object

RF data object that contains the mixer data, specified as an
RF Toolbox
`rfdata.data`

object, an RF Toolbox command that creates the `rfdata.data`

object, or a MATLAB expression that generates such an object.

**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

`Extracted from data source`

(default) | `User-specified`

Frequency data source, specified as ```
Extracted from data
source
```

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`

.

**Source of input power data** — Input power data source

```
Extracted from data
source
```

(default)

Input power data source, specified as ```
Extracted from data
source
```

.

**Input power data (dBm)** — Input power data

`[0:19]`

(default) | vector

Input power data, specified as a vector with each element unit in dBm.

**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 Using Equivalent Baseband Library Blocks.`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`

| ...

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` ,
`Fmin` ,
`GaammaOPT` ,
`RN` , 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`

| ...

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` ,
`Fmin` ,
`GaammaOPT` ,
`RN` , 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` ,
`S22` , and
`GaammaOPT` . | `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` and
`RN` . | `None` |

`NTemp` | `Kelvin` |

`Fmin` | `None` and
```
Magnitude
(decibels)
``` |

`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 parameter2 | Y format2 |
---|---|

`S11` ,
`S12` ,
`S21` ,
`S22` , and
`GaammaOPT` . | `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` and
`RN` . | `None` |

`NTemp` | `Kelvin` |

`Fmin` | `None` and
```
Magnitude
(decibels)
``` |

`PhaseNoise` | `dBc/Hz` |

#### Dependencies

To enable **Y format2**, 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.

### Operating Conditions

Agilent^{®} P2D and S2D files define block parameters for several operating
conditions. Operating conditions are the independent parameter settings that are
used when creating the file data. By default, the blockset defines the block
behavior using the parameter values that correspond to the operating conditions that
appear first in the file. To use other property values, you must select a different
operating condition in the General Mixer block dialog box.

## More About

### Network Parameters

The network parameter values all refer to the mixer input frequency. If network
parameter data and corresponding frequencies exist as S-parameters in the
`rfdata.data`

object, the General Mixer block interpolates the
S-parameters to determine their values at the modeling frequencies. If the block
contains network Y- or Z-parameters, the block first converts them to S-parameters.
See Map Network Parameters to Modeling Frequencies for more details.

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 data source.

Spot noise data in the block dialog box.

Spot noise data (

`rfdata.noise`

) object in the block dialog box.Noise figure, noise factor, or noise temperature value in the block dialog box.

Frequency-dependent noise figure data (

`rfdata.nf`

) object in the block dialog box.

The latter four options are only available if noise data does not exist in the data source.

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 General 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

If power data exists in the data source, the block extracts the AMAM/AMPM nonlinearities from it.

If the data source contains no power data, then you can introduce nonlinearities
into your model by specifying parameters in the **Nonlinearity
Data** tab of the General 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)