Contenu principal

pre6GTransportChannel

Pre-6G transport channel coding

Since R2026a

    Description

    Add-On Required: This feature requires the 6G Exploration Library for 5G Toolbox add-on.

    codedBits = pre6GTransportChannel(ch,outlen,tcr,rv,trblkin) encodes transport block bits for 6G research and prototyping. The encoding consists of transport block CRC attachment, code block segmentation with CRC attachment, LDPC encoding, and rate matching. ch specifies the physical channel configuration, outlen is the desired codeword length in bits, tcr is the target code rate, rv is the redundancy version, and trblkin contains the transport block bits.

    example

    Examples

    collapse all

    Create carrier and physical channel configuration objects. Get the physical channel resource information and extract the channel bit capacity.

    carrier = pre6GCarrierConfig;
    
    ch = pre6GPhysicalChannelConfig;
    ch.NumLayers = 2;
    ch.Modulation = "64QAM";
    ch.SymbolAllocation = [2 12];
    
    [~,info] = pre6GPhysicalChannelIndices(carrier,ch);
    outlen = info.G;

    Get the transport block size and generate random transport blocks for a batch size of four.

    B = 4;
    tcr = 0.5;
    tbs = pre6GTBS(ch,tcr,info.NREPrime);
    trblkin = randi([0 1],tbs,B,"int8");

    Encode the transport channel. Specify a different redundancy version for each batch element.

    rv = [0 1 2 3];
    codedBits = pre6GTransportChannel(ch,outlen,tcr,rv,trblkin);
    size(codedBits)
    ans = 1×2
    
        89856    4
    
    

    Input Arguments

    collapse all

    Physical channel configuration parameters, specified as a pre6GPhysicalChannelConfig object. This function uses only these pre6GPhysicalChannelConfig object properties:

    Output codeword length, in bits, specified as a positive integer. This value corresponds to the number of coded bits G = NRE × NLayers × Qm, where NRE is the number of resource elements per layer, NLayers is the number of transmission layers, and Qm is the modulation order.

    Data Types: double

    Target code rate, specified as a scalar between 0 and 1.

    Data Types: double

    Redundancy version, specified as an integer in the range [0, 3] or a vector of integers in the range [0, 3]. Different redundancy versions indicate different starting positions in the LDPC circular buffer for rate matching. To use a different redundancy version for each element in the batch, specify rv as a vector of length B, where B is the batch size and is equal to the second dimension of trblkin.

    Data Types: double

    Transport block bits, specified as a binary matrix of size TBS-by-B, where TBS is the transport block size and B is the batch size. Each column represents one transport block. The length of rv must equal B.

    Data Types: double | int8 | logical

    Output Arguments

    collapse all

    Encoded codeword bits, returned as a binary matrix of size G-by-B, where G is the output codeword length specified by outlen and B is the batch size.

    Data Types: int8

    Extended Capabilities

    expand all

    Version History

    Introduced in R2026a