LteCompManagerBase

Package: simu5g.stack.compManager

simple module LteCompManagerBase

Serves as the base class for Coordinated Multi-Point (CoMP) manager modules in LTE networks. It provides essential functionalities and parameters needed to manage CoMP operations. To implement a specific CoMP algorithm, extend this class and override its pure virtual methods.

simu5g.stack.compManager.LteCompManagerBaseLteCompManagerBasesimple

Inheritance diagram

Known subclasses

Name

Type

Description

LteCompManagerProportional

simple module

Implements a CoMP (Coordinated Multi-Point) Proportional Scheduling algorithm. It allows for coordinated scheduling among multiple eNodeBs by calculating the required Resource Block (RB) allocation proportionally based on user load. In this structure, the module can function as either a master or a slave node. Slave nodes send their RB requests to the master node, which then processes these requests by partitioning the available bandwidth and subsequently informs each slave node about the available RBs for transmission.

Parameters

Name

Type

Default value

Description

compNodeType

string

“COMP_CLIENT”

coordinatorId

int

ID of the coordinator node

clientList

object

[]

Space-separated list of client node identifiers

coordinationPeriod

double

0.001s

The time interval between two coordination events

binderModule

string

“binder”

Properties

Name

Value

Description

class

LteCompManagerBase

display

i=block/cogwheel

Gates

Name

Direction

Size

Description

x2ManagerIn

input

x2ManagerOut

output

Signals

Name

Type

Unit

Description

compReservedBlocks

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

compReservedBlocks

CoMP Reserved Blocks

compReservedBlocks

mean,vector

Source code

//
// Serves as the base class for Coordinated Multi-Point (CoMP) manager modules in LTE networks.
// It provides essential functionalities and parameters needed to manage CoMP operations.
// To implement a specific CoMP algorithm, extend this class and override its pure virtual methods.
//
simple LteCompManagerBase like ILteCompManager
{
    parameters:
        @display("i=block/cogwheel");
        @class("LteCompManagerBase");

        string compNodeType @enum(COMP_CLIENT,COMP_CLIENT_COORDINATOR,COMP_COORDINATOR) = default("COMP_CLIENT");
        int coordinatorId;  // ID of the coordinator node
        object clientList = default([]);   // Space-separated list of client node identifiers
        double coordinationPeriod @unit(s) = default(0.001s);  // The time interval between two coordination events
        string binderModule = default("binder");

        @signal[compReservedBlocks];
        @statistic[compReservedBlocks](title="CoMP Reserved Blocks"; unit=""; source="compReservedBlocks"; record=mean,vector);

    gates:
        //# Connections to the X2 Manager
        input x2ManagerIn;
        output x2ManagerOut;
}

File: src/simu5g/stack/compManager/LteCompManagerBase.ned