MODCOD3 is a trade‑study visualiser for selecting modulation and coding under a given channel model. It sweeps Eb/N0 and produces analytic/parametric estimates of BER, SER, PER, envelope CCDF/PAPR, and the implied throughput and goodput.
Every input affects either (a) the error‑rate curves, (b) the throughput/goodput scaling, (c) PAPR/CCDF, or (d) the summary metrics.
| Control | Meaning | Effect in the tool |
|---|---|---|
| Modulation | Selects the signaling family (PSK/QAM/APSK/FSK/GMSK/OFDM). | Sets constellation size (bits/symbol), the uncoded BER/SER model, and which UI fields are relevant/enabled. |
| Roll‑off α | RRC excess bandwidth (raised cosine). α=0 → Nyquist, α>0 increases occupied bandwidth. | Affects spectral efficiency (η) in the summary. Also used as part of PHY efficiency factors. |
| Symbol rate (Msym/s) | Absolute symbol clock. | Scales throughput and goodput in Mb/s. Error rates vs Eb/N0 are normalized and largely independent of symbol rate. |
| RRC span (symbols) | Filter length (impulse response truncation) for pulse shaping. | Used in the waveform assumptions; longer spans imply “cleaner” shaping. (Does not attempt full ISI optimisation.) |
| OFDM sub‑mod | Constellation on each active subcarrier (e.g. QPSK/64QAM/256QAM). | Determines bits/symbol on subcarriers; drives BER/SER and rate metrics while the overall modulation is OFDM. |
| OFDM Nfft / Used | FFT size and number of occupied tones. | Used to compute occupancy/guard‑band efficiency and to parameterise PAPR statistics (more tones → higher PAPR tendency). |
| OFDM CP / pilots (%) | Cyclic prefix and reference/pilot overhead as percentages of the time‑frequency resources. | Reduces throughput/goodput and η. Does not directly change BER model (treated as overhead, not as additional SNR penalty). |
| FSK h / tonespace | Modulation index h and tone spacing factor for FSK/MSK family. |
Used to shape the FSK/MSK error model and tagging as near‑constant envelope. |
| GMSK BT | Gaussian filter bandwidth‑time product (typ. 0.3 in GSM‑like systems). | Controls the GMSK spectrum/ISI trade and the waveform characterisation; envelope is treated as near constant. |
| Control | Meaning | Effect in the tool |
|---|---|---|
| Soft decoding | Whether the decoder uses soft metrics (LLRs) vs hard decisions. | Soft decoding increases estimated coding gain and improves the waterfall region. |
| 1st stage decode / rate / iterations | Primary FEC (e.g. LDPC/Turbo/Viterbi) with code rate and iteration count. | Contributes multiplicatively to net code rate and to estimated coding gain (iterations improve gain with diminishing returns). |
| Stage 1 gain override (dB) | Manual adjustment to the estimated coding gain for stage 1. | Adds (positive or negative) dB to the coding gain model to match a known implementation. |
| Interleaver type | Interleaving strategy (block/convolutional/random/etc.). | Improves robustness to burst/frequency‑selective impairment via an additional “burst mitigation” gain term. |
| Depth / span, rows / cols | Interleaver sizing parameters. | Used to scale the burst‑mitigation term: deeper interleaving reduces correlation of errors. |
| 2nd stage decode / rate / iterations / gain override | Outer code (e.g. BCH/RS/CRC) or a second FEC stage. | Multiplies net code rate and adds to estimated coding gain (or detects errors if CRC‑only). |
| Control | Meaning | Effect in the tool |
|---|---|---|
| Packet length (bits) | Payload size. | Sets payload fraction and PER sensitivity. Larger packets: PER rises for the same BER. |
| Header / CRC (bits) | Non‑payload bits per packet. | Reduces payload fraction and increases total bits used in the PER approximation. |
| Target BER | Design threshold for “acceptable” BER. | Used to compute required Eb/N0 at target BER and to evaluate throughput/goodput at that operating point. |
| Control | Meaning | Effect in the tool |
|---|---|---|
| Fading type | Selects AWGN, Rayleigh, Rician, Nakagami‑m, shadowing, burst, or frequency‑selective severity. | Introduces an Eb/N0 penalty term relative to AWGN; interleaving can reduce the burst penalty. |
| K‑factor (Rician) | Ratio of LOS to scattered power (dB‑like parameter but entered linearly here). | Higher K → less severe fading penalty (approaches AWGN as K increases). |
| Nakagami m | Fading severity parameter: m=1 Rayleigh, m>1 milder, m<1 more severe. | Scales the fading penalty term. |
| Shadowing σ (dB) | Lognormal slow fading standard deviation. | Acts as an additional margin/penalty on the required Eb/N0. |
| Burst len / depth | Parameters for bursty error processes (correlated fades). | Used with the interleaver model to determine how much burst‑mitigation gain is realised. |
| Freq‑selective severity | Proxy for multipath delay spread / selectivity / channel estimation stress. | Applied as an implementation penalty term (especially relevant for OFDM presets). |
| Implementation margin (dB) | Catch‑all margin for non‑idealities (phase noise, quantisation, PA distortion, channel estimation loss, etc.). | Subtracts directly from effective coding gain (i.e., shifts curves to require higher Eb/N0). |
| Control | Meaning | Effect in the tool |
|---|---|---|
| Eb/N0 sweep (dB) | Min / max / step for the x‑axis sweep. | Determines resolution and the ability to read required Eb/N0 accurately (smaller step → more precise). |
| Constellation Eb/N0 (dB) | Operating point used when generating the constellation sample. | Higher values show tighter clusters; lower values show more scatter. |
| Constellation symbols | Number of points plotted in the constellation view. | More points give better visual density but can be heavier for the browser. |
| CCDF samples (k) | Number of time‑samples used for CCDF estimation (in thousands). | Higher values reduce Monte‑Carlo noise in the CCDF tail. |
| CCDF oversample | Oversampling factor used for envelope statistics (important for OFDM peaks). | Higher oversampling finds higher peaks → higher estimated PAPR (more realistic PA sizing). |
| Show uncoded refs | Overlay uncoded BER/SER references on the BER plot. | Useful to visualise coding gain (horizontal shift) and the waterfall/floor behaviour. |
Shows analytic BER and SER estimates versus Eb/N0 for the selected effective modulation (for OFDM: the sub‑carrier modulation). If Show uncoded refs is enabled, uncoded references are overlaid for comparison.
PER is derived from BER using a block‑error approximation over the total packet bits (payload + header + CRC):
PER ≈ 1 − (1 − BER)^{N}, where N is the total packet bit count.
Larger packets therefore require lower BER to reach the same PER.
Displays a noisy constellation at the selected Constellation Eb/N0. It is a visual diagnostic of Euclidean distance, SNR, and modulation order. For OFDM, the plot represents a representative sub‑carrier constellation rather than time‑domain OFDM samples.
Plots the complementary CDF of instantaneous power normalised to mean:
CCDF(x) = P(P/mean(P) > x). The x‑axis is in dB relative to mean (so 0 dB corresponds to mean power).
The summary reports PAPR @ CCDF = 1e‑6, a common PA‑sizing metric (tail probability).
Throughput is the raw PHY rate implied by symbol rate, bits/symbol, coding rate, and overhead factors (for OFDM: occupancy, CP, pilots). With a fixed MCS, it is essentially independent of Eb/N0 (horizontal line).
Goodput accounts for packet success:
Goodput ≈ Throughput × payload_fraction × (1 − PER).
At high Eb/N0, PER → 0 and goodput saturates at the payload‑limited maximum.
The summary panel aggregates the most decision‑relevant quantities for MODCOD selection. Values are computed from your current settings and the modeled curves.
| Metric | Meaning / how to use it |
|---|---|
| Bits / symbol | Log2(M) of the effective modulation (for OFDM: per sub‑carrier). Drives η and throughput. |
| Net code rate | Product of stage‑1 and stage‑2 rates. Lower rate → more redundancy → better sensitivity but reduced throughput. |
| Net η (b/s/Hz) | Effective spectral efficiency after overhead factors (roll‑off, OFDM occupancy/CP/pilots). Used for Shannon limit comparison. |
| Overhead (%) | Non‑payload fraction from packet header/CRC and PHY overhead (e.g. CP/pilots). High overhead reduces goodput even at high Eb/N0. |
| Req Eb/N0 @ target BER | The first Eb/N0 point where modeled BER ≤ Target BER. Used as a sensitivity comparator. |
| Req Eb/N0 @ target PER | Equivalent operating point for a PER target derived consistently from the Target BER and packet length. |
| Shannon limit | Theoretical minimum Eb/N0 for the given η in AWGN with ideal coding and infinite length. Used as a lower bound only. |
| Gap to Shannon | Req Eb/N0 − Shannon. Smaller gap generally indicates a stronger coding/modulation choice under the assumptions. |
| Est coding gain | Modelled horizontal shift versus uncoded reference attributable to the selected decoders and iterations (plus any overrides). |
| PAPR @ CCDF=1e‑6 | Peak‑to‑average power ratio at a tail probability of 1e‑6. Drives PA back‑off and efficiency. Lower is better. |
| Throughput @ target BER | Raw PHY rate at the target BER operating point (in practice constant with Eb/N0 for fixed MCS). |
| Goodput @ target BER | Payload success rate at target BER, accounting for PER and packet overhead. |
MODCOD3 uses a combination of closed‑form error‑rate expressions (uncoded) and parametric “coding gain / waterfall / floor” shaping for coded performance. Channel types introduce penalty terms relative to AWGN, and the interleaver reduces burst penalties.
PER is derived from BER using an i.i.d. bit‑error assumption over the packet bit count. Real systems with burst errors can deviate; use burst/fading plus interleaver settings to explore sensitivity.