RF Frontend Models¶
This page collects the receiver- and transmitter-frontend equations used by the channel-layer concept pages. It is reference material for implementers and validators; concept pages should link here rather than carrying full derivations inline.
The receiver-side transformations (those for which
Transformation.is_receiver is true, on the receiver’s capture and hardware
planes) apply these models after the per-RX sum. The TX-side transformations in
Group.TX apply overlapping models before propagation. The same formula can
appear on both sides of the link, but the scope differs: TX parameters are
keyed by device_id, while RX parameters are keyed by rx_index.
Receiver Ordering¶
rfgen’s core-only post-sum RX frontend is nine ordered transformations:
RX LO frequency error -> intended RX mixer -> IF filter -> resampler
-> LNA noise -> ADC -> RX phase noise -> RX IQ imbalance -> digital AGC
They map to enum values 30–34 and 41–44; together with five TX slots and one
propagation slot, Transformation has 15 slots. LOFrequencyErrorStage models
a constant receiver oscillator offset in Hz before MixerStage performs only
the intended carrier-to-receiver-centre conversion. The separate operations
commute as complex rotations but have different physical provenance. See
primary RX frontend validation for
the exact executable order and evidence. TorchSig benchmark augmentation is
not an RX channel stage, and rfgen provides no Sionna RX fallback.
Noise Figure¶
The first amplifier in the receive chain dominates total noise figure when its gain is sufficient. Friis’ cascade formula is:
where \(F_i\) and \(G_i\) are linear noise factor and linear gain for stage \(i\) [1]. Converted to dB:
For ThermalNoiseStage, the receiver noise figure feeds the post-sum thermal
noise calculation:
at the IEEE reference temperature \(T_0 = 290\) K [3]. The implementation uses
B = ctx.rx_params.bandwidth_hz, not the sample rate, and records effective
bandwidth, effective noise power, per-real-component sigma, and floor status
in provenance. It models one equivalent receiver noise figure, not a Friis
cascade; see RX capture.
Phase Noise¶
The local oscillator mixes the RF signal to or from baseband. Phase noise multiplies onto the complex signal as
where \(\theta(t)\) is a random phase process. Leeson’s empirical model describes oscillator phase-noise regions caused by flicker noise, thermal noise, finite resonator Q, and active-device noise [4].
RX and TX phase noise must be realized independently unless the scenario explicitly models a shared reference clock. For SEI datasets targeting transmitter identity, TX phase noise is part of the device fingerprint while RX phase noise is nuisance variability.
IQ Imbalance¶
Quadrature gain mismatch \(g\) and phase error \(\phi\) produce the canonical imbalance model:
with
The conjugate term \(\beta x^*\) is the image at the mirror frequency. Its strength relative to the desired signal is the image rejection ratio:
For OFDM receivers, IQ imbalance maps an interferer at \(-f\) onto the desired subcarrier at \(+f\). Implementations must record the realized gain and phase mismatch parameters in metadata.
ADC and DAC Quantization¶
A linear converter of \(N\) bits has ideal full-scale sinusoid SNR:
The 6.02 term is per bit, and the 1.76 term comes from the sinusoid crest factor relative to uniform quantization noise [2, 5].
Real converters do not achieve ideal SNR. Effective Number of Bits from measured SINAD is:
per IEEE Std 1241 [2].
Inputs exceeding full scale are hard-clipped, producing spectral regrowth and nonlinear distortion. The supported AGC is digital and post-ADC: it updates gain sample by sample using separate attack and decay time constants, then applies saturation. An analog pre-ADC VGA is outside this model.
Validation Targets¶
Analytic implementations should be validated against mature references rather than trusted by inspection:
MATLAB Communications Toolbox / RF Blockset for IQ imbalance, phase noise, RF impairment chains, and converter sanity checks.
GNU Radio HW Impairments for flowgraph-level hardware impairment behavior.
HermesPy RF chain models when evaluating or using a HermesPy backend.
The primary RX frontend validation and its linked component reports for the shipped physical models and their operating boundaries.
References¶
Friis, H. T. Noise Figures of Radio Receivers, Proc. IRE, 1944.
IEEE Std 1241-2010 IEEE Standard for Terminology and Test Methods for Analog-to-Digital Converters.
IEEE Std 145-2013 IEEE Standard for Definitions of Terms for Antennas.
Leeson, D. B. A Simple Model of Feedback Oscillator Noise Spectrum, Proc. IEEE, 1966.
Nyquist, H. Thermal Agitation of Electric Charge in Conductors, Phys. Rev., 1928.
Razavi, B. RF Microelectronics, 2nd ed., Prentice Hall, 2011.
Pozar, D. M. Microwave Engineering, 4th ed., Wiley, 2011.
3GPP TS 38.101-1. NR; User Equipment (UE) radio transmission and reception; Part 1: Range 1 Standalone. https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3283
MathWorks. Visualize RF Impairments. https://www.mathworks.com/help/comm/ug/visualize-rf-impairments.html
GNU Radio. HW Impairments. https://wiki.gnuradio.org/index.php/HW_Impairments
HermesPy RF chain API. https://hermespy.org/api/simulation/rf/chain.html