IdealChannelModel

Package: simu5g.stack.phy.channelmodel

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.

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.

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Extends

Name Type Description
ChannelModelBase simple module

This is the base module for developing more realistic models of the radio channel. It primarily provides the initialization of parameters such as the reference to the Component Carrier (CC) and its associated parameters related to the channel model itself.

Parameters

Name Type Default value Description
binderModule string "binder"
cellInfoModule string "^.^.cellInfo"

Optional

componentCarrierModule string "carrierAggregation.componentCarrier[0]"

Component carrier for this channel model

per double 0.1

Error probability of the first transmission attempt; the per-direction parameters below default to it

perDl double this.per

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

perUl double this.per
perD2D double this.per
harqReduction double 0.3

Factor the error probability is multiplied by for each HARQ retransmission; 1 makes the transmission attempts independent

Properties

Name Value Description
display i=block/classifier2
class IdealChannelModel

Source code

//
// 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);
}
File: src/simu5g/stack/phy/channelmodel/IdealChannelModel.ned