Engee documentation

Mixer

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

blockType: Mixer

Path in the library:

/RF/Idealized Baseband/Mixer

Description

Block Mixer It consists of four integrated baseband mixers, as well as interference and noise. The unit models four types of mixers: modulator, demodulator, IQ modulator and IQ demodulator. Signal distortions are IQ amplification and phase misalignment, where necessary, and noise includes system and LO phase noise.

  • An idealized block model Mixer assumes that the input and output ports are consistent.

  • An idealized block model Mixer it is single-band with an assumed value of the carrier frequency. Therefore, the block Mixer It can generate only one sideband at the output.

  • The mask icons of the mixer blocks 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 | complex scalar | complex column

Details

A time-dependent input signal specified 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

The type of mixer. Set 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 mixer
Real number

Details

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

Default value

0

Program usage name

ConvGain

Tunable

No

Evaluatable

Yes

# Sidebands of mixer — mixer side strips
lower | upper

Details

Side strips of the mixer. Are set as:

  • lower

  • upper

Dependencies

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

Values

lower | upper

Default value

upper

Program usage name

MixerSideBand

Tunable

No

Evaluatable

No

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

Details

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

Dependencies

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

Default value

1e9

Program usage name

RfFreq

Tunable

No

Evaluatable

Yes

# Local oscillator frequency (Hz) — frequency of the local oscillator
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 parameter to mod, demod or `iqdemod'.

Default value

1e8

Program usage name

LocFreq

Tunable

No

Evaluatable

Yes

Main

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

Details

The phase offset LO, specified as a real number.

Dependencies

To use this parameter, set the Mixer type parameter 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 imbalance of the IQ gain factor, given as a non-negative real number.

Dependencies

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

Default value

0

Program usage name

GainImbalance

Tunable

No

Evaluatable

Yes

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

Details

The imbalance of IQ phases, given as a real number.

Dependencies

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

Default value

0

Program usage name

PhaseImbalance

Tunable

No

Evaluatable

Yes

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

Details

A type of third-order nonlinearity in a cubic polynomial model. Set 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 — the third-order intercept entry point
Real number

Details

The intercept point of the third order, given as a real positive 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 — the output intercept point of the third order
Real number

Details

The output intercept point of the third order, specified as a real positive 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 — The input compression point is 1 dB
Real number

Details

The input compression point is 1 dB, specified as a real positive 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 — The output compression point is 1 dB
Real number

Details

The output compression point is 1 dB, specified as a real positive 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 saturation point of the input, set as a real positive 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 saturation point of the output, set 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

Main

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

Details

Select this option to add mixer noise to the input signal.

Default value

false (switched off)

Program usage name

MixerNoise

Tunable

No

Evaluatable

No

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

Details

The type of noise. Set as:

  • noise-temperature – noise temperature

  • `NF' is the noise factor.

  • 'noise-factor` – noise factor

Dependencies

To use this option, check the box for Options to mixer noise to system.

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 simulation, set as a non-negative real number.

Dependencies

To use this parameter, check the Options to mixer noise to system checkbox 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 ratio
Real number

Details

The noise coefficient for modeling mixer noise is set as a non-negative real number.

Dependencies

To use this parameter, check the Options to mixer noise to system checkbox 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 ratio
Real number

Details

The noise coefficient for modeling mixer noise is given as a positive integer scalar, .

Default value

2

Program usage name

noise-factor

Tunable

No

Evaluatable

Yes

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

Details

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

  • auto – The source for each mixer is generated using a 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 parameter is used to initialize 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 option, check the box for Options to mixer noise to system or Add LO phase noise to LO signal.

Values

auto | user

Default value

auto

Program usage name

SeedSourceMixerNoise

Tunable

No

Evaluatable

No

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

Details

The initial value for the random number generator, set as a non-negative integer, . Use this value to initialize 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 option 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 — turning on the LO phase noise to the LO signal
Logical

Details

Select this option 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 option, check the box for the Add LO phase noise to LO signal option.

Default value

[-145 -150]

Program usage name

PhaseNoiseLevel

Tunable

No

Evaluatable

Yes

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

Details

Frequency offset in the form of a positive real scalar or a 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 option, check the box for the Add LO phase noise to LO signal option.

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 option to automatically determine the number of frequency bins used in the two-way phase noise spectrum.

Dependencies

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

Default value

true (switched on)

Program usage name

AutoResolution

Tunable

No

Evaluatable

No

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

Details

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

The value of this parameter must be a power of two.

Dependencies

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

Default value

0

Program usage name

NumSamples

Tunable

No

Evaluatable

Yes

# Source of initial seedthe description is missing
auto | user

Details

the description is missing

Values

auto | user

Default value

auto

Program usage name

SeedSourcePhaseNoise

Tunable

No

Evaluatable

No

# Seed for random number generatorthe description is missing
Real number

Details

The description is missing.

Default value

67987

Program usage name

SeedPhaseNoise

Tunable

No

Evaluatable

Yes

Algorithms

Architectures and design equations of the Mixer block

Architectural models for the block are presented here. Mixer. The mixer and phase noise data for all cases are shown here.

Modulators and demodulators

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

mixer 1 en

The output signal of an ideal modulator and demodulator circuit with non-linearities, , is given by this equation:

where










IQ modulator

The primary IQ modulator consists of two mixers, and . Mixers convert baseband signals to RF signals and are commonly used in direct conversion architectures. Mixers and They are responsible for introducing gain, gain imbalance, phase imbalance, and non-linearity into the IQ demodulator.

mixer 2 en

IQ modulator output signal, , is defined as:

where










Linear gain factors of modulators and are given in the equation:




where

IQ demodulator

The architecture of the IQ demodulator is shown below. Common - mode, , and the quadrature component, , the modulated signal are the output and accordingly. Mixers, and , are responsible for introducing gain, gain imbalance, phase imbalance, and non-linearity into the IQ demodulator.

mixer 3 en

IQ Demodulator output, , has the form

where






















Linear gain factors of modulators and are given in this equation.




where

Side stripes of the Mixer block

Upper and lower side ranges

The expression for shows the formation of upper and lower side stripes, ωω and ωω , and the effect of the difference in the values of the input carrier and the LO signal on the sinusoidal function. Application of the trigonometric identity:

to express the product of mixers, , gives



where is the term associated with the higher output frequency, ωω , is the upper side band, and ωω – lower side stripe. Set the Type of mixer parameter to mod.

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

Selecting a mixer by type

When selecting the 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 Distortions Noise

The modulator

LO phase shift and non-linearity.

LO phase shift, mixer and system noise.

Demodulator

IQ modulator/demodulator

Gain imbalance, phase imbalance, and non-linearity.

Mixer Block icons

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

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.

The modulator (mod)

turned off

mixer

mixer 2

enabled

mixer 1

mixer 3

Demodulator (demod)

turned off

mixer 4

mixer 5

enabled

mixer 6

mixer 7

IQ Modulator (iqmod)

turned off

mixer 8

mixer 9

enabled

mixer 10

mixer 11

IQ Demodulator (iqdemod)

enabled

mixer 12

mixer 13

turned 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