IdealChannelModel.ned
NED File src/simu5g/stack/phy/channelmodel/IdealChannelModel.ned
| Name | Type | Description |
|---|---|---|
| IdealChannelModel | simple module |
A channel model that replaces propagation modelling with a configurable packet error rate. Path loss, shadowing and fading are not modelled at all: the attenuation is zero and the reported SINR/RSRP are a fixed large value, so the CQI reported to the scheduler is pinned at its maximum and the transport block size never varies with the channel. |
Source code
// // Simu5G // // Copyright (C) 2012-2021 Giovanni Nardini, Giovanni Stea, Antonio Virdis et al. (University of Pisa) // Copyright (C) 2022-2026 Giovanni Nardini, Giovanni Stea et al. (University of Pisa) // // This file is part of a software released under the license included in file // "license.pdf". Please read LICENSE and README files before using it. // The above files and the present reference are part of the software itself, // and cannot be removed from it. // package simu5g.stack.phy.channelmodel; // // A channel model that replaces propagation modelling with a configurable packet // error rate. Path loss, shadowing and fading are not modelled at all: the // attenuation is zero and the reported SINR/RSRP are a fixed large value, so the // CQI reported to the scheduler is pinned at its maximum and the transport block // size never varies with the channel. // // Whether a frame is received is decided by a coin flip. The error probability of // the n-th transmission attempt of a frame is // // per * harqReduction^(n-1) // // so with the default harqReduction below 1 each HARQ retransmission is more // likely to succeed than the previous attempt, as it would be with soft combining. // Setting harqReduction to 1 makes the attempts independent and identically // distributed, in which case a frame that exhausts its HARQ retransmissions -- and // is therefore lost as far as RLC is concerned -- has probability // per^(maxHarqRtx+1). That makes the residual loss rate seen by RLC an exact, // configurable quantity, which is what this model is mainly useful for: driving // RLC AM/UM retransmission and radio link failure scenarios at a known loss rate, // without the loss rate being an emergent property of geometry and MCS selection. // // The error rate is settable per direction, because ARQ protocols need their // feedback path to be treated separately from their data path: an RLC AM // experiment typically wants a lossy downlink and a clean uplink so that STATUS // PDUs are guaranteed to arrive. // // This model is intended for protocol validation, not for performance studies. // simple IdealChannelModel extends ChannelModelBase like IChannelModel { parameters: @class("IdealChannelModel"); // Error probability of the first transmission attempt; the per-direction // parameters below default to it double per = default(0.1); // Error probability of the first transmission attempt, per direction. Volatile, // so a coverage loss can be scripted as a function of time, for example // perDl = simTime() < 10s ? 0 : 1 volatile double perDl = default(this.per); volatile double perUl = default(this.per); volatile double perD2D = default(this.per); // Factor the error probability is multiplied by for each HARQ retransmission; // 1 makes the transmission attempts independent double harqReduction = default(0.3); }