Engee documentation

Mixer

RF and IQ modulator and demodulator models with interference and noise.

mixer

Description

The unit Mixer represents four complex mixers of the main frequency band as well as interference and noise. The block models four types of mixers: modulator, demodulator, IQ modulator and IQ demodulator. Signal distortion is IQ gain and phase mismatch where appropriate, and noise includes system noise and LO phase noise.

  • The idealised block model Mixer assumes that the input and output ports are matched.

  • The idealised block model Mixer is single band with an assumed carrier frequency value. Therefore, the block Mixer can only generate one sideband at the output.

  • The mixer block mask icons are dynamic and indicate the current set of applied noise parameters. For more information, see. Mixer Block Icons.

Ports

Input

# Input — time-dependent input signal
real scalar | real column | real column | complex scalar | complex column

Details

A time-dependent input signal given as a real scalar or column, complex scalar or column. The column represents consecutive time points.

Data types

Float64 | Single.

Complex numbers support

Yes

Output

# Output — time-dependent output signal
complex scalar | complex column

Details

A time-dependent output signal returned as a complex scalar or column. The size of the output signal is equal to the size of the input signal.

Data types

Float64 | Single.

Complex numbers support

Yes

Parameters

Main

# Type of mixer — mixer type
mod | demod | iqmod | iqdemod

Details

Mixer Type. Defined as:

  • mod - modulator

  • demod - demodulator

  • iqmod - IQ modulator

  • iqdemod - IQ demodulator

Values

mod | demod | iqmod | iqdemod

Default value

mod

Program usage name

MixerType

Tunable

No

Evaluatable

No

# Conversion gain for mixer (dB) — conversion factor for the mixer
Real number

Details

The conversion gain for the mixer model, specified as a real number.

Default value

0

Program usage name

ConvGain

Tunable

No

Evaluatable

Yes

# Sidebands of mixer — mixer side strips
lower | upper

Details

Mixer Side Bands. Defined as:

  • lower.

  • upper

Dependencies

To use this parameter, set the Mixer type parameters to mod.

Values

lower | upper

Default value

upper

Program usage name

MixerSideBand

Tunable

No

Evaluatable

No

# Rf carrier frequency (Hz) — radio frequency carrier frequency
Real number

Details

The radio carrier frequency for the mixer model, specified as a real number.

Dependencies

To use this parameter, set the Mixer type parameters to mod, demod or iqdemod.

Default value

1e9

Program usage name

RfFreq

Tunable

No

Evaluatable

Yes

# Local oscillator frequency (Hz) — local oscillator frequency
Real number

Details

The frequency of the local oscillator for the mixer model, specified as a real number.

Dependencies

To use this parameter, set the Mixer type parameters to mod, demod, or iqdemod.

Default value

1e8

Program usage name

LocFreq

Tunable

No

Evaluatable

Yes

Основные

# LO phase offset (deg) — LO phase offset
Real number

Details

LO phase offset specified as a real number.

Dependencies

To use this parameter, set the Mixer type parameters to mod or demod.

Default value

0

Program usage name

LoPhaseOffset

Tunable

No

Evaluatable

Yes

# IQ gain imbalance (dB) — IQ gain imbalance
Real number

Details

The IQ gain imbalance specified as a non-negative real number.

Dependencies

To use this parameter, set the Mixer type parameters to iqmod or iqdemod.

Default value

0

Program usage name

GainImbalance

Tunable

No

Evaluatable

Yes

# IQ phase imbalance (deg) — IQ phase imbalance
Real number

Details

IQ phase imbalance given as a real number.

Dependencies

To use this parameter, set the Mixer type parameters to iqmod or iqdemod.

Default value

0

Program usage name

PhaseImbalance

Tunable

No

Evaluatable

Yes

# Third-order nonlinearity type — third-order nonlinearity type
IIP3 | OIP3 | IP1dB | OP1dB | IPsat | OPsat

Details

The type of third-order nonlinearity in a cubic polynomial model. Defined as:

  • IIP3.

  • `OIP3

  • `IP1dB

  • `OP1dB

  • `IPsat

  • `OPsat

Values

IIP3 | OIP3 | IP1dB | OP1dB | IPsat | OPsat

Default value

OIP3

Program usage name

NonLinearityType

Tunable

No

Evaluatable

No

# Input third-order intercept point — third-order intercept input point
Real number

Details

A third-order intercept point specified as a positive real number.

Dependencies

To use this parameter, set the Third-order nonlinearity type parameter to IIP3.

Default value

Inf

Program usage name

IIP3

Tunable

No

Evaluatable

Yes

# Output third-order intercept point — third-order intercept output point
Real number

Details

The output point of a third-order intercept specified as a positive real number.

Dependencies

To use this parameter, set the Third-order nonlinearity type parameter to OIP3.

Default value

Inf

Program usage name

OIP3

Tunable

No

Evaluatable

Yes

# Input 1 dB compression point — input compression point 1 dB
Real number

Details

1 dB input compression point specified as a positive real number.

Dependencies

To use this parameter, set the Third-order nonlinearity type parameter to IP1dB.

Default value

Inf

Program usage name

IP1dB

Tunable

No

Evaluatable

Yes

# Output 1 dB compression point — output compression point 1 dB
Real number

Details

1 dB compression output point specified as a positive real number.

Dependencies

To use this parameter, set the Third-order nonlinearity type parameter to OP1dB.

Default value

Inf

Program usage name

OP1dB

Tunable

No

Evaluatable

Yes

# Input saturation point — input saturation point
Real number

Details

The input saturation point specified as a positive real number.

Dependencies

To use this parameter, set the Third-order nonlinearity type parameter to IPsat.

Default value

Inf

Program usage name

IPsat

Tunable

No

Evaluatable

Yes

# Output saturation point — output saturation point
Real number

Details

The output saturation point specified as a positive real number.

Dependencies

To use this parameter, set the Third-order nonlinearity type parameter to OPsat.

Default value

Inf

Program usage name

OPsat

Tunable

No

Evaluatable

Yes

Основные

# Options to mixer noise to system — inclusion of mixer noise in the system
Logical

Details

Select this check box to add mixer noise to the input signal.

Default value

false (switched off)

Program usage name

MixerNoise

Tunable

No

Evaluatable

No

# Type of noise — noise type
noise-temperature | NF | noise-factor

Details

Noise Type. Defined as:

  • noise-temperature - noise temperature

  • NF - noise factor

  • noise-factor - noise factor

Dependencies

To use this parameter, select the Options to mixer noise to system parameters checkbox.

Values

noise-temperature | NF | noise-factor

Default value

NF

Program usage name

MixerNoiseType

Tunable

No

Evaluatable

No

# Noise temperature (K) — mixer noise temperature

Details

The noise temperature for mixer noise modelling, specified as a non-negative real number.

Dependencies

To use this parameter, check the Options to mixer noise to system parameters and set the Type of noise parameter to noise-temperature.

Default value

290

Program usage name

noise-temperature

Tunable

No

Evaluatable

Yes

# Noise figure (dB) — mixer noise figure
Real number

Details

The noise figure for modelling mixer noise, specified as a non-negative real number.

Dependencies

To use this parameter, check the Options to mixer noise to system parameter and set the Type of noise parameter to NF.

Default value

10 * log10( 2 )

Program usage name

NF

Tunable

No

Evaluatable

Yes

# Noise factor to model mixer noise — mixer noise figure
Real number

Details

The noise figure for modelling mixer noise, specified as a positive integer scalar, .

Default value

2

Program usage name

noise-factor

Tunable

No

Evaluatable

Yes

# Source of initial seed — initial value source
auto | user

Details

The initial value source used to prepare the Gaussian random number noise generator. Defined as:

  • auto - the source for each mixer is generated using the random number generator. The instance reset method has no effect.

  • user - if the Source of initial seed parameter is set to auto, the value specified in the Seed for random number generator property is used to initialise the random number generator, and the reset method resets the random number generator using the value of the Seed for random number generator property.

Dependencies

To use this parameter, check the Options to mixer noise to system or Add LO phase noise to LO signal parameters.

Values

auto | user

Default value

auto

Program usage name

SeedSourceMixerNoise

Tunable

No

Evaluatable

No

# Seed for random number generator — source for the random number generator
Real number

Details

The initial value for the random number generator, specified as a non-negative integer, . Use this value to initialise the random number generator.

Dependencies

To use this parameter, check the Options to mixer noise to system or Add LO phase noise to LO signal parameters and set the Source of initial seed parameter to user.

Default value

67987

Program usage name

SeedMixerNoise

Tunable

No

Evaluatable

Yes

# Add LO phase noise to LO signal — inclusion of LO phase noise to the LO signal
Logical

Details

Select this check box to add LO phase noise to the LO signal depending on the frequency.

Default value

false (switched off)

Program usage name

PhaseNoise

Tunable

No

Evaluatable

No

# Phase noise level (dBc/Hz) — phase noise level relative to the carrier
Scalar / array of real numbers

Details

The phase noise level relative to the carrier, specified as a negative real scalar or vector.

The number of values listed in the Phase noise level relative to carrier parameter must be equal to the number of values in the Phase frequency offset parameter.

Dependencies

To use this parameter, select the Add LO phase noise to LO signal parameters checkbox.

Default value

[-145 -150]

Program usage name

PhaseNoiseLevel

Tunable

No

Evaluatable

Yes

# Frequency offset (Hz) — phase frequency offset
Scalar / array of real numbers

Details

Frequency offset as a positive real scalar or vector of positive increasing real values.

The number of values listed in the Phase frequency offset parameter must be equal to the number of values in the Phase noise level relative to carrier parameter.

Dependencies

To use this parameter, check the Add LO phase noise to LO signal parameters.

Default value

[1000 50000]

Program usage name

FreqOffset

Tunable

No

Evaluatable

Yes

# Options to automatically determine number of frequency bins — enabling automatic detection of the number of frequency bins
Logical

Details

Select this checkbox to automatically determine the number of frequency bins used in the two-way phase noise spectrum.

Dependencies

To use this parameter, select the Options to mixer noise to system and Add LO phase noise to LO signal parameters check boxes.

Default value

true (switched on)

Program usage name

AutoResolution

Tunable

No

Evaluatable

No

# Number of sample in time-domain signal — number of samples in the signal in the time domain
Real number

Details

The number of samples in a time domain signal for blocks of sampling period or the number of frequency lines (bins) in the two-way frequency spectrum of a signal to achieve the required frequency resolution for a given frequency offset, specified as a valid non-negative integer, . The frequency resolution increases with increasing value of the number of samples of the signal.

The value of this parameter should be equal to the power of two.

Dependencies

To use this parameter, check the Options to mixer noise to system and Add LO phase noise to LO signal parameters.

Default value

0

Program usage name

NumSamples

Tunable

No

Evaluatable

Yes

# Source of initial seeddescription missing
auto | user

Details

description missing

Values

auto | user

Default value

auto

Program usage name

SeedSourcePhaseNoise

Tunable

No

Evaluatable

No

# Seed for random number generatordescription missing
Real number

Details

Description missing.

Default value

67987

Program usage name

SeedPhaseNoise

Tunable

No

Evaluatable

Yes

Algorithms

Mixer block architectures and design equations

Here are the architectural models for the block Mixer. Here is the mixer and phase noise data for all cases.

Modulators and Demodulators

The modulator and demodulator architectures include system noise, phase noise, and nonlinear polynomials for carrier translation. A random number generator is used as input to generate phase noise.

mixer 1 en

The output of an ideal modulator and demodulator circuit with nonlinearities, , is given by this equation:

where










IQ modulator

The primary IQ modulator consists of two mixers, and . The mixers convert baseband signals into RF signals and are typically used in direct conversion architectures. The mixers and are responsible for introducing gain, gain imbalance, phase imbalance and nonlinearity into the IQ demodulator.

mixer 2 en

The output signal of the IQ modulator, , is defined as:

where










The linear gains of the modulators and are given in Eq:




where

IQ Demodulator

The architecture of the IQ demodulator is shown below. The in-phase, , and quadrature component, , of the modulated signal are the outputs of and , respectively. The mixers, and , are responsible for introducing gain, gain unbalance, phase unbalance and nonlinearity into the IQ demodulator.

mixer 3 en

The output of the IQ demodulator, , is as follows

where






















The linear gains of the modulators and are given in this equation.




where

Mixer unit sidebands

Upper and lower sidebands

The expression for shows the formation of the upper and lower sidebands, ωω and ωω , and the effect of the difference between the input carrier and LO signal values on the sine function. Application of the trigonometric identity:

to the expression of the product of mixers, , gives



where the term associated with the higher output frequency, ωω , is the upper sideband, and ωω is the lower sideband. Set the Type of mixer parameters to mod.

For demodulators, only the lower sideband can be used as the output.

Selecting a mixer by type

When selecting a mixer type, this table shows the available sideband options according to the block parameters LO phase offset, IQ gain imbalance and IQ phase imbalance.

Mixer type Distortion Noise

Modulator

LO phase offset and nonlinearities.

LO phase offset, mixer and system noise.

Demodulator

IQ Modulator/Demodulator

Gain imbalance, phase imbalance and nonlinearity.

Mixer block icons

This table shows how the block icons will change depending on the values of the parameters Type of mixer, Options to mixer noise to system and Add LO phase noise to LO signal.

Type of mixer Options to mixer noise to system Add LO phase noise to LO signal: off. Add LO phase noise to LO signal: on.

Modulator (mod)

off

mixer

mixer 2

on

mixer 1

mixer 3

Demodulator (demod)

enabled

mixer 4

mixer 5

enabled

mixer 6

mixer 7

IQ Modulator (iqmod)

enabled

mixer 8

mixer 9

enabled

mixer 10

mixer 11

IQ-Demodulator (iqdemod)

enabled

mixer 12

mixer 13

off

mixer 14

mixer 15

Literature

  1. Razavi, Behzad. "Basic Concepts in RF Microelectronics", 2nd edition, Prentice Hall, 2012.

  2. Kundert, Ken."Accurate and Rapid Measurement of IP2 and IP3," The Designer Guide Community, May 22, 2002.

  3. Kasdin, N.J.. "Discrete Simulation of Colored Noise and Stochastic Processes and 1/f α Power Law Noise Generation." Proceedings of the IEEE 83, no. 5 (May 1995): 802-27. https://doi.org/10.1109/5.381848.

See also