Hauptinhalt

pre6GOFDMDemodulate

Demodulate pre-6G OFDM waveform

Since R2026a

    Description

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

    grid = pre6GOFDMDemodulate(carrier,waveform) recovers a carrier resource array by demodulating waveform, a pre-6G OFDM modulated waveform, for carrier configuration parameters carrier.

    example

    grid = pre6GOFDMDemodulate(___,Name=Value) specifies options using one or more name-value arguments. For example, BatchAcrossSlots="on" enables batching across slots.

    example

    Examples

    collapse all

    Set carrier configuration parameters. Specify a subcarrier spacing of 120 kHz and 24 resource blocks (RBs).

    carrier = pre6GCarrierConfig(SubcarrierSpacing=120,NSizeGrid=24);

    Get OFDM information for the configuration.

    info = pre6GOFDMInfo(carrier);

    Create a physical channel configuration object. Specify that the channel uses the first 24 physical resource blocks.

    ch = pre6GPhysicalChannelConfig(PRBSet=0:23);

    Get indices and information for the physical channel.

    [ind,indInfo] = pre6GPhysicalChannelIndices(carrier,ch);

    Generate a random codeword of the appropriate length.

    cw = randi([0 1],indInfo.G,1,"logical");

    Generate symbols to transmit.

    sym = pre6GPhysicalChannel(carrier,ch,cw,OutputDataType="single");

    Specify the same number of transmit antennas as the number of layers in the physical channel. Create a resource grid and place the symbols.

    P = ch.NumLayers;
    txGrid = pre6GResourceGrid(carrier,P,OutputDataType="single");
    txGrid(ind) = sym;

    OFDM-modulate the resource grid to get a time-domain waveform.

    waveform = pre6GOFDMModulate(carrier,txGrid);

    OFDM-demodulate the time-domain waveform to get back the resource grid.

    rxGrid = pre6GOFDMDemodulate(carrier,waveform);

    Input Arguments

    collapse all

    Carrier configuration parameters for a specific OFDM numerology, specified as a pre6GCarrierConfig object. Only these object properties are relevant for this function:

    Pre-6G OFDM modulated waveform, specified as a complex-valued matrix of size T-by-R-by-B.

    • T is the number of time-domain samples in the waveform.

    • R is the number of receive antennas.

    • B is the batch size.

    Data Types: single | double
    Complex Number Support: Yes

    Name-Value Arguments

    collapse all

    Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

    Example: BatchAcrossSlots="on" enables batching across slots.

    Oversampling factor, specified as a positive scalar. The function demodulates oversampled waveforms by multiplying the initial number of FFT points by the factor you specify. The resulting number of FFT points must be an even integer that is greater than or equal to K, the number of subcarriers.

    Data Types: double

    Enable batching across slots, specified as "off" or "on". When you specify this argument as "on", the function interprets each slice along the third dimension (B) of the waveform input as one slot.

    Data Types: char | string

    Output Arguments

    collapse all

    Pre-6G carrier resource array, returned as a complex-valued array of size K-by-N-by-P-by-B.

    • K is the number of subcarriers.

    • N is the number of OFDM symbols.

    • R is the number of receive antennas.

    • B is the batch size.

    Data Types: single | double
    Complex Number Support: Yes

    Extended Capabilities

    expand all

    Version History

    Introduced in R2026a