Product Documentation
Virtuoso ADE SKILL Reference
Product Version IC23.1, November 2023

evmOFDM

evmOFDM(
o_waveform1
o_waveform2
e_sigStandard
n_tstart
e_modulationType
n_fftSize
n_PrefixLength
n_SymbolPeriod
[ ?packet n_packetLength ]
[ ?modifier e_modifier ]
[ ?skiplength n_skiplength ]
[ ?idx n_idx ]
[ ?getval g_getval ]
)
=> constellation o_waveform evm_value / nil

Description

Processes the I and Q waveform outputs from the hb-envlp simulation run to calculate the Error Vector Magnitude (EVM) and plot the I versus Q scatterplot (constellation). EVM is a useful measurement to describe the overall signal amplitude and phase modulated signal quality. It is based on a statistical error distribution normalized from an ideal digital modulation. Orthogonal Frequency Division Multiplexing (OFDM) is a modern high throughput modulation scheme widely used in wireless signals, such as 802.11a,g,n, where EVM measurement is useful . The EVM is calculated by detecting the I and Q signal levels corresponding to constellation points of each modulation type (can be BPSK, QPSK, 16QAM, and 64QAM) and calculating the difference between the signal level and the ideal signal level.

This method is supported for families of waveforms.

Arguments

o_waveform1

The waveform for the I signal.

o_waveform2

The waveform for the Q signal.

e_sigStandard

The standard of the signal.

Valid values: 802_11a, 802_11g_ERP, 802_11n_20M_Mix, 802_11n_20M_Legacy, 802_11n_20M_Green, 802_11n_40M_Mix, 802_11n_40M_Legacy, 802_11n_40M_Green, 802_11ac

n_tstart

The start time for the first non-zero point of the signal.

e_modulationType

The modulation type of data carriers.

n_fftSize

The points of FFT, such as 64 for 802.11a.

n_PrefixLength

The length of cyclic prefix, number of samples.

n_SymbolPeriod

The symbol period, such as 4us for long GI 802.11a.

?packet n_packetLength

The length of one packet, can be null if there is only one packet in wave.

?modifier e_modifier

The type of showing EVM value, "Percent" or "dB20".

?skiplength n_skiplength

Used under customer mode, time length between start and data symbol.

?idx n_idx

The index of symbol used for channel estimation.

?getval g_getval

Based on the passed Boolean value it returns the following:

  • if nil, it returns EVM value
  • if t, it returns constellation waveform

Default is nil.

Value Returned

o_waveform

The waveform object representing the EVM value computed from input waveforms.

evm_value

The EVM value if getVal() is true.

nil

Function call unsuccessful.

Examples

evmOFDM(real(harmonic(v("/net9" ?result "envlp_fd") '1)) imag(harmonic(v("/net9" ?result "envlp_fd") '1)) "802_11a" 4e-06 'QAM64 64 16 4e-06 ?modifier "Percent" ?packet 0.000173)

Calculates the EVM value in term of percent with packet length as 173u and FFT as 64-points.


Return to top
 ⠀
X