nrPUCCHDMRSIndices
Description
ind = nrPUCCHDMRSIndices(carrier,pucch)ind, which contains demodulation reference signal (DM-RS)
        resource element (RE) indices of a physical uplink control channel (PUCCH), as defined in TS
        38.211 Section 6.4.1.3 [1], for all PUCCH formats.
          carrier specifies the carrier configuration.
          pucch specifies the PUCCH configuration. For PUCCH format 0, the
        function returns an empty value  for sym.
ind = nrPUCCHDMRSIndices(carrier,pucch,Name,Value)
Examples
Create a default carrier configuration object.
carrier = nrCarrierConfig;
Specify the number of RBs in the carrier resource grid as 50, the start of the carrier resource grid relative to CRB 0 as 120, and the slot number as 25.
carrier.NSizeGrid = 50; carrier.NStartGrid = 120; carrier.NSlot = 25;
Create a default PUCCH format 2 configuration object.
pucch2 = nrPUCCH2Config;
Specify the first symbol index in the PUCCH transmission slot as 7 and the number of allocated PUCCH symbols as 2. Set the PRBs allocated for the PUCCH to range from 40 to 45. Enable intraslot frequency hopping and set the starting PRB index of the second hop to 20. Specify the DM-RS scrambling identity as 1005.
pucch2.SymbolAllocation = [7 2];
pucch2.PRBSet = 40:45;
pucch2.FrequencyHopping = 'intraSlot';
pucch2.SecondHopStartPRB = 20;
pucch2.NID0 = 1005;Generate the DM-RS symbols of PUCCH format 2.
sym = nrPUCCHDMRS(carrier,pucch2)
sym = 48×1 complex
   0.7071 - 0.7071i
  -0.7071 + 0.7071i
  -0.7071 - 0.7071i
   0.7071 - 0.7071i
  -0.7071 - 0.7071i
   0.7071 - 0.7071i
   0.7071 - 0.7071i
   0.7071 - 0.7071i
   0.7071 - 0.7071i
  -0.7071 + 0.7071i
   0.7071 + 0.7071i
   0.7071 - 0.7071i
  -0.7071 + 0.7071i
   0.7071 + 0.7071i
   0.7071 - 0.7071i
      ⋮
Generate the DM-RS RE indices of PUCCH format 2.
ind = nrPUCCHDMRSIndices(carrier,pucch2)
ind = 48×1 uint32 column vector
   4682
   4685
   4688
   4691
   4694
   4697
   4700
   4703
   4706
   4709
   4712
   4715
   4718
   4721
   4724
      ⋮
Plot the generated symbols and REs in the carrier resource grid.
resGrid = nrResourceGrid(carrier); resGrid(ind) = sym; imagesc(abs(resGrid)) axis xy xlabel('OFDM Symbols') ylabel('Subcarriers') title('Carrier Grid Containing DM-RS of PUCCH Format 2')

Create a default carrier configuration object.
carrier = nrCarrierConfig;
Specify the number of RBs in the carrier resource grid to 10.
carrier.NSizeGrid = 10;
Create a default PUCCH format 4 configuration object.
pucch4 = nrPUCCH4Config;
Set the first symbol index in the PUCCH transmission slot to 2 and the number of allocated PUCCH symbols to 12. Enable group hopping and the additional DM-RS configuration flag. Specify the hopping identity as 120, the spreading factor as 4, and the orthogonal cover code index (OCCI) as 3.
pucch4.SymbolAllocation = [2 12];
pucch4.GroupHopping = 'enable';
pucch4.HoppingID = 120;
pucch4.SpreadingFactor = 4;
pucch4.OCCI = 3;
pucch4.AdditionalDMRS = 1;Generate the DM-RS symbols of PUCCH format 4 with data type single.
sym = nrPUCCHDMRS(carrier,pucch4, 'OutputDataType','single')
sym = 48×1 single column vector
   0.7071 - 0.7071i
   0.7071 - 0.7071i
   0.7071 - 0.7071i
  -0.7071 - 0.7071i
  -0.7071 - 0.7071i
   0.7071 - 0.7071i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i
   0.7071 + 0.7071i
   0.7071 + 0.7071i
  -0.7071 - 0.7071i
  -0.7071 + 0.7071i
   0.7071 - 0.7071i
   0.9659 - 0.2588i
   0.9659 + 0.2588i
      ⋮
Generate the DM-RS RE indices of PUCCH format 4.
ind = nrPUCCHDMRSIndices(carrier,pucch4)
ind = 48×1 uint32 column vector
   361
   362
   363
   364
   365
   366
   367
   368
   369
   370
   371
   372
   721
   722
   723
      ⋮
Plot the generated symbols and REs in the carrier resource grid.
resGrid = nrResourceGrid(carrier); resGrid(ind) = sym; imagesc(abs(resGrid)) axis xy xlabel('OFDM Symbols') ylabel('Subcarriers') title('Carrier Grid Containing DM-RS of PUCCH Format 4')

Input Arguments
Carrier configuration parameters for a specific OFDM numerology, specified as an
              nrCarrierConfig
            object. This function only uses these nrCarrierConfig object properties.
PUCCH configuration parameters, specified as one of these options.
- For format 1, specify an - nrPUCCH1Configobject. The function uses only these object properties.
- For format 2, specify an - nrPUCCH2Configobject. The function uses only these object properties.
- For format 3, specify an - nrPUCCH3Configobject. The function uses only these object properties.
- For format 4, specify an - nrPUCCH4Configobject. The function uses only these object properties.
For PUCCH formats 1 to 3 and operation with
            shared spectrum channel access for frequency range 1 (FR1), set the corresponding
              Interlacing property to true, and use the
              RBSetIndex and InterlaceIndex object
            properties to specify the allocated frequency resources. In addition, for PUCCH formats
            2 and 3, you can use the SpreadingFactor and
              OCCI properties with single-interlace configurations. (since R2023b)
Note
For PUCCH format 0, the function returns an empty value.
Name-Value Arguments
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.
    
      Before R2021a, use commas to separate each name and value, and enclose 
      Name in quotes.
    
Example: 'IndexStyle','subscript' specifies the RE indexing form of
        the output.
RE indexing form, specified as one of these values:
- 'index'— The indices are in linear index form.
- 'subscript'— The indices are in [subcarrier, symbol, antenna] subscript row form.
Data Types: char | string
RE indexing base, specified as one of these values:
- '1based'— The index counting starts from 1.
- '0based'— The index counting starts from 0.
Data Types: char | string
RE indexing orientation, specified as one of these values:
- 'carrier'— Indices are referenced with respect to the carrier grid.
- 'bwp'— Indices are referenced with respect to the BWP.
Data Types: char | string
Output Arguments
PUCCH DM-RS RE indices, returned as one of these values.
- Column vector — The function returns this type of value when you set the - IndexStylename-value argument to- 'index'.
- M-by-3 matrix — The function returns this type of value when you set the - IndexStylename-value argument to- 'subscript'. The matrix rows correspond to the [subcarrier, symbol, antenna] subscripts based on the number of subcarriers, OFDM symbols, and number of antennas, respectively.
Depending on the value of IndexBase, the function returns
            either 1-based or 0-based indices. Depending on the value of
              IndexOrientation, the function returns either carrier-oriented
            indices or BWP-oriented indices.
For PUCCH format 0, this output is empty.
Data Types: uint32
References
[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 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 R2021aUse the IntraCellGuardBands object property of the carrier input
        to specify intracell guard bands.
For PUCCH formats 1 to 3, use the Interlacing,
          RBSetIndex, and InterlaceIndex object properties
        of the
          pucch
        input argument to configure interlaced PUCCH transmissions. In addition, for PUCCH formats 2
        and 3, you can use the SpreadingFactor and OCCI
        properties with single-interlace configurations.
For C/C++ code generation, the limitation to specify name-value arguments as compile-time constants has been removed.
See Also
Functions
Objects
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)