Main Content


Precoding resource block group information

Since R2023b



    info = nrPRGInfo(carrier,prgSize) returns information related to precoding resource block group (PRG) bundling, as defined in TS 38.214 Section, for the specified carrier configuration and PRG bundle size.


    collapse all

    Create a carrier configuration with 10 resource blocks.

    carrier = nrCarrierConfig;
    carrier.NSizeGrid = 10;

    Specify a PRG bundle size of 4. Get the PRG information.

    prgSize = 4;
    info = nrPRGInfo(carrier,prgSize)
    info = struct with fields:
          NPRG: 3
        PRGSet: [10x1 double]

    Input Arguments

    collapse all

    Carrier configuration parameters, specified as an nrCarrierConfig object. Only these object properties are relevant for this function.

    PRG bundle size, specified as 2, 4, or []. Specify this input as [] to indicate wideband precoding granularity.

    Output Arguments

    collapse all

    PRG information, returned as a structure with these fields.


    Positive integer

    Number of PRGs in common resource blocks 0 to NCRB – 1, inclusive. NCRB is the number of common resource blocks (CRBs) between point A and the last CRB of the carrier grid, inclusive. It is equal to carrier.NStartGrid + carrier.NSizeGrid.

    The value of NPRG depends on prgSize.

    prgSize NPRG
    []1 (wideband precoding granularity)


    Numeric column vector

    1-based PRG indices for each resource block in the carrier grid. The length of the vector is equal to the NSizeGrid property of the carrier input.

    Data Types: struct


    [1] 3GPP TS 38.214. “NR; Physical layer procedures for data.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

    Extended Capabilities

    C/C++ Code Generation
    Generate C and C++ code using MATLAB® Coder™.

    Version History

    Introduced in R2023b

    See Also