Version:

Last Modified: February 7, 2018

Calculates minimum-shift keying (MSK) quadrature impairments on a point-by-point basis on the oversampled waveform.

The time-aligned and oversampled complex waveform data after matched filtering, frequency offset correction, and phase offset correction. Wire the **recovered complex waveform** parameter of MT Demodulate MSK to this parameter.

Trigger (start) time of the **Y** array.

**Default: **0.0

Time interval between data points in the **Y** array.

**Default: **1.0

The complex-valued signal-only baseband modulated waveform. The real and imaginary parts of this complex data array correspond to the in-phase (I) and quadrature-phase (Q) data, respectively.

The ideal oversampled waveform. Wire the **detected complex waveform** parameter of MT Demodulate MSK to this parameter.

Trigger (start) time of the **Y** array.

**Default: **0.0

Time interval between data points in the **Y** array.

**Default: **1.0

The ideal oversampled waveform as a complex-valued array.

The window over which impairments are measured.

Index of the first sample of the measurement window.

**Default: **0

Number of symbols over which to measure impairments. A value of -1 (default) measures impairments over all symbols. Positive values must be two or greater.

**Default: **-1

Error conditions that occur before this node runs.

The node responds to this input according to standard error behavior.

Standard Error Behavior

Many nodes provide an **error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Default: **No error

Number of samples per symbol in the modulated complex waveform.

**Default: **16

A value that indicates which set of equations is used to represent impairments.

In the equations in the following table,
$I$ is the real component and
$Q$ is the imaginary component of each sample in the **input complex waveform**.
${I}^{\prime}$ and
${Q}^{\prime}$ are the real and imaginary components of the corresponding sample in the **output complex waveform**.
${I}_{\circ}$ is **I DC Offset (%)** / 100, and
${Q}_{\circ}$ is **Q DC Offset (%)** / 100.

Name | Description |
---|---|

Vertical Shear | The definition uses the following equations for I/Q impairments: ${I}^{\prime}=a*\text{\hspace{0.17em}}I+\text{\hspace{0.17em}}{I}_{\circ}$ ${Q}^{\prime}=a*\mathrm{sin}\left(\phi \right)\text{\hspace{0.17em}}*\text{\hspace{0.17em}}I+\text{\hspace{0.17em}}b*\text{\hspace{0.17em}}\mathrm{cos}\left(\phi \right)\text{\hspace{0.17em}}*\text{\hspace{0.17em}}Q+\text{\hspace{0.17em}}{Q}_{\circ}$ where φ is the specified quadrature skew, in radians
$\gamma $ = 10 $a=\gamma *\text{\hspace{0.17em}}b$ $b=\sqrt{\frac{2}{1+{\gamma}^{2}}}$ In matrix form, these equations are represented by $\left[\begin{array}{c}{I}^{\prime}\\ {Q}^{\prime}\end{array}\right]=S\left[\begin{array}{c}I\\ Q\end{array}\right]+\left[\begin{array}{c}{I}_{\circ}\\ {Q}_{\circ}\end{array}\right]$ where $S=\left[\begin{array}{cc}a& 0\\ a*\mathrm{sin}\phi & b*\mathrm{cos}\phi \end{array}\right]$ |

Axis Shear | With this option selected, this node uses an impairment definition that simplifies the conversion between measured impairments and their inverse impairments. For example, you may want to measure the I/Q impairments of a system and compensate for those impairments by applying the inverse impairments to the generated or received waveform. Using the Axis Shear definition, given a measured skew and imbalance (in dB), the inverse impairments are -1.0 * ${I}^{\prime}=I*\text{\hspace{0.17em}}\sqrt{\gamma}-Q*\left(\frac{\phi}{2}\right)+{I}_{\circ}$ ${Q}^{\prime}=-I*\left(\frac{\phi}{2}\right)+Q*\left(\frac{1}{\sqrt{\gamma}}\right)+{Q}_{\circ}$ where
$\gamma $ = 10 φ is the specified quadrature skew, in radians In matrix form, these equations are represented by $\left[\begin{array}{c}{I}^{\prime}\\ {Q}^{\prime}\end{array}\right]=S\left[\begin{array}{c}I\\ Q\end{array}\right]+\left[\begin{array}{c}{I}_{\circ}\\ {Q}_{\circ}\end{array}\right]$ where $S=\left[\begin{array}{cc}\sqrt{\gamma}& -\phi /2\\ -\phi /2& \frac{1}{\sqrt{\gamma}}\end{array}\right]$ |

**Default: **Vertical Shear

The measured magnitude error as a percentage. Magnitude error is the magnitude difference between the ideal and the actual measured symbol locations.

The RMS impairment value calculated over the **impairment measurement window**.

The peak impairment value measured over the **impairment measurement window**.

Index of the symbol having the peak magnitude of impairment.

The impairment value for each individual symbol.

The measured DC offset of the I or Q waveforms as a percentage of the largest I and Q value in the symbol map of the **recovered complex waveform**.

The DC offset of the I waveform, expressed as a percentage of the largest I or Q value in the symbol map.

The DC offset of the Q waveform, expressed as a percentage of the largest I or Q value in the symbol map.

The offset, in dB, of the constellation origin from its ideal location.

The measured quadrature skew of the complex waveform in degrees.

The measured ratio of I gain to Q gain, in dB.

The measured phase error in degrees. Notice that the phase offset is removed by the demodulator and is excluded from this measurement.

The RMS impairment value calculated over the **impairment measurement window**.

The peak impairment value measured over the **impairment measurement window**.

Index of the symbol having the peak magnitude of impairment.

The impairment value for each individual symbol.

The measured error vector magnitude (EVM) expressed as a percentage.

The RMS impairment value calculated over the **impairment measurement window**.

The peak impairment value measured over the **impairment measurement window**.

Index of the symbol having the peak magnitude of impairment.

The impairment value for each individual symbol.

The measured modulation error ratio in dB.

Error information.

The node produces this output according to standard error behavior.

Standard Error Behavior

**error in** input and an **error out** output so that the node can respond to and communicate errors that occur while code is running. The value of **error in** specifies whether an error occurred before the node runs. Most nodes respond to values of **error in** in a standard, predictable way.

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported

Web Server: Not supported in VIs that run in a web application