IQMixer#

class IQMixer(lo)[source]#

Bases: BaseTransferFunction

Implements an IQ Mixer.

The IQ mixer takes as input three signals: - in-phase signal: I cos(w_if t + phi_I) - quadrature: Q cos(w_if t + phi_Q) - local oscillator: K cos(w_lo t)

In this implementation the local oscillator is specified by its frequency w_lo and, without loss of generality we assume K = 1. Furthermore, we require that the carrier frequency of the I and Q be identical.

The output RF signal is defined by

s_rf = I [cos(wp t + phi_I) + cos(wm t + phi_I)]/2
  • Q [cos(wp t + phi_Q - pi/2) + cos(wm t + phi_Q + pi/2)]/2

where wp = w_lo + w_if and wp = w_lo - w_if.

The output of this transfer function will produce a piece-wise constant that does not have a carrier frequency or phase. All information is in the samples. Mixer imperfections are not included.

Parameters:

lo (float) – The carrier of the IQ mixer.

Attributes

n_inputs#