Main Content

pre6GPhysicalChannelDecode

Decode pre-6G physical channel symbols

Since R2026a

    Description

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

    [cw,symbols] = pre6GPhysicalChannelDecode(carrier,ch,sym,nVar) returns soft bits cw and constellation symbols symbols for 6G research and prototyping. The decoding consists of layer demapping, demodulation of sym with the modulation scheme specified by ch, scaling by nVar, and descrambling.

    example

    Examples

    collapse all

    Create carrier and physical channel configuration objects with default parameters. Get indices and resource information for the configurations.

    carrier = pre6GCarrierConfig;
    ch = pre6GPhysicalChannelConfig;
    [ind,info] = pre6GPhysicalChannelIndices(carrier,ch);

    Generate a vector of random codeword bits with length equal to the channel bit capacity. Generate physical channel symbols for the bits. Pass the symbols through an AWGN channel with a signal-to-noise ratio of 20 dB.

    cwTx = randi([0 1],info.G,1,"int8");
    sym = pre6GPhysicalChannel(carrier,ch,cwTx);
    snrdB = 20;
    [symRx,nVar] = awgn(sym,snrdB);

    Decode the noisy symbols. Convert the received soft bits to hard bits and compare them with the transmitted bits.

    [cw,symbols] = pre6GPhysicalChannelDecode(carrier,ch,symRx,nVar);
    cw = int8(cw<0);
    isequal(cwTx,cw)
    ans = logical
       1
    
    

    Input Arguments

    collapse all

    Carrier configuration parameters for a specific OFDM numerology, specified as a pre6GCarrierConfig object. This function uses only the NCellID property of the pre6GCarrierConfig object.

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

    Received physical channel symbols, specified as a complex 3-D array of size NRE-by-NLayers-by-B, where NRE is the number of resource elements (REs) per layer, NLayers is the number of transmission layers, and B is the batch size.

    Data Types: single | double
    Complex Number Support: Yes

    Noise variance estimate, specified as a nonnegative scalar or a nonnegative 3-D array of the same size as sym. Specify this input as a scalar to apply the value to all REs. To specify per-element noise variance, use a 3-D array .

    Data Types: single | double

    Output Arguments

    collapse all

    Log-likelihood ratio (LLR) soft bits, returned as a real matrix of size G-by-B, where G is the number of coded bits (NRE × NLayers × Qm), Qm is the modulation order, and B is the batch size. The signs of the output values represent the hard bits. Negative values represent 1 and positive values represent 0.

    Data Types: single | double

    Constellation symbols after layer demapping, returned as a complex matrix of size (NRE × NLayers)-by-B, where NRE is the number of REs per layer, NLayers is the number of transmission layers, and B is the batch size.

    Data Types: single | double
    Complex Number Support: Yes

    Extended Capabilities

    expand all

    Version History

    Introduced in R2026a