# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

# lteRMCULTool

Uplink RMC or FRC waveform generation

## Syntax

``````[waveform,grid,rmccfgout] = lteRMCULTool``````
``````[waveform,grid,rmccfgout] = lteRMCULTool(rc,trdata)``````
``````[waveform,grid,rmccfgout] = lteRMCULTool(rc,trdata,duplexmode,totsubframes)``````
``````[waveform,grid,rmccfgout] = lteRMCULTool(rmccfg,trdata)``````
``````[waveform,grid,rmccfgout] = lteRMCULTool(rmccfg,trdata,cqi,ri,ack)``````

## Description

example

``````[waveform,grid,rmccfgout] = lteRMCULTool``` starts a user interface for the parameterization and generation of the reference measurement channel (RMC) `waveform`, the resource element `grid`, and an RMC configuration structure, `rmccfgout`. The main function outputs are specified in the GUI but can also be assigned to variables. See UL Reference Channel Options for a list of the default top-level configuration associated with the available uplink reference channels. ```

example

``````[waveform,grid,rmccfgout] = lteRMCULTool(rc,trdata)``` specifies the reference channel, `rc`, and information bits, `trdata`. ```
``````[waveform,grid,rmccfgout] = lteRMCULTool(rc,trdata,duplexmode,totsubframes)``` also accepts optional input arguments to define the duplex mode of the generated waveform and total number of subframes that make up the `grid`. ```

example

``````[waveform,grid,rmccfgout] = lteRMCULTool(rmccfg,trdata)``` where `rmccfg` specifies a reference channel structure. The reference channel structure with default parameters can easily be created with the function `lteRMCUL` then modified as desired. ```
``````[waveform,grid,rmccfgout] = lteRMCULTool(rmccfg,trdata,cqi,ri,ack)``` where support for control information transmission on PUSCH is specified in vectors `cqi`, `ri`, and `ack`. Together, these three fields form an uplink control information (UCI) message. If these particular control information bits are not present in this transmission, `cqi`, `ri`, and `ack` can be empty vectors. The UCI is encoded for PUSCH transmission using the processing defined in TS 36.212 [3], Section 5.2.4, consisting of UCI coding and channel interleaving. The vectors `cqi`, `ri`, and `ack` are not treated as data streams. Thus, each subframe contains the same CQI, RI, and ACK information bits.```

## Examples

collapse all

Open the LTE user interface to generate an upink reference measurement channel waveform.

The LTE Uplink RMC Generator dialog box appears when you execute the `lteRMCULTool` function with no input arguments.

`lteRMCULTool;`

Use the user interface to generate the default waveform or adjust default settings prior to waveform generation.

Generate a time domain signal and a 3-dimensional array of the resource elements for A3-2 as specified in TS 36.104 Annex A. The A3-2 fixed reference channel (FRC) settings include: FDD, 1.4MHz, QPSK, and 1/3 code rate.

```rmc = lteRMCUL('A3-2'); [waveform,grid,rmccfgout] = lteRMCULTool(rmc,1); ```

Inspect the FRC configuration settings.

```rmccfgout rmccfgout.PUSCH rmccfgout.PUSCH.ActualCodeRate ```
```rmccfgout = struct with fields: RC: 'A3-2' NULRB: 6 NCellID: 0 NFrame: 0 NSubframe: 0 CyclicPrefixUL: 'Normal' CyclicShift: 0 Shortened: 0 Hopping: 'Off' SeqGroup: 0 TotSubframes: 10 RNTI: 1 NTxAnts: 1 Windowing: 0 DuplexMode: 'FDD' PUSCH: [1x1 struct] SamplingRate: 1920000 Nfft: 128 ans = struct with fields: Modulation: 'QPSK' NLayers: 1 DynCyclicShift: 0 NBundled: 0 BetaACK: 2 BetaCQI: 2 BetaRI: 2 NHARQProcesses: 8 RVSeq: [0 2 3 1] RV: 0 NTurboDecIts: 5 OrthCover: 'On' PMI: 0 PRBSet: [6x1 double] TargetCodeRate: 0.3333 ActualCodeRate: [1x10 double] TrBlkSizes: [600 600 600 600 600 600 600 600 600 600] CodedTrBlkSizes: [1728 1728 1728 1728 1728 1728 1728 1728 1728 1728] HARQProcessSequence: [1x40 double] ans = Columns 1 through 7 0.3611 0.3611 0.3611 0.3611 0.3611 0.3611 0.3611 Columns 8 through 10 0.3611 0.3611 0.3611 ```

The actual code rate of 0.3611 is slightly higher then the target code rate of 1/3.

Generate a time-domain signal and a 2-D array of the resource elements for a modified A1-1 fixed reference channel.

Initialize the `frc` configuration structure and change the modulation scheme to `'16QAM'`. Generate the `txWaveform`, `txGrid`, and output the configuration structure. Create a spectrum analyzer object, setting the sampling rate. Plot the waveform.

```frc = lteRMCUL('A1-1'); frc.PUSCH.Modulation = '16QAM';```
`[txWaveform,txGrid,rmcCfgOut] = lteRMCULTool(frc,[1;0;0;1]);`
```saScope = dsp.SpectrumAnalyzer('SampleRate', rmcCfgOut.SamplingRate); saScope(txWaveform)```

Create a new customized parameter set by overriding selected values of an existing preset RMC to define a full-band, 5MHz, PUSCH using 64QAM modulation, and 1/3 coding rate.

Begin with TS 36.104 Annex A, RMC A1-3, which matches this criteria but with QPSK modulation.

```rmcOverride.RC = 'A1-3'; rmc = lteRMCUL(rmcOverride,1); rmc.PUSCH ```
```ans = struct with fields: Modulation: 'QPSK' NLayers: 1 DynCyclicShift: 0 NBundled: 0 BetaACK: 2 BetaCQI: 2 BetaRI: 2 NHARQProcesses: 8 RVSeq: [0 2 3 1] RV: 0 NTurboDecIts: 5 OrthCover: 'On' PMI: 0 PRBSet: [25x1 double] TargetCodeRate: 0.3333 ActualCodeRate: [1x10 double] TrBlkSizes: [2216 2216 2216 2216 2216 2216 2216 2216 2216 2216] CodedTrBlkSizes: [7200 7200 7200 7200 7200 7200 7200 7200 7200 7200] ```

Override the PUSCH modulation. `lteRMCUL` returns recomputed PUSCH transport block sizes and physical channel capacities to maintain the coding rate of R=1/3.

```rmcOverride.PUSCH.Modulation = '64QAM'; rmc = lteRMCUL(rmcOverride,1); rmc.PUSCH ```
```ans = struct with fields: Modulation: '64QAM' NLayers: 1 DynCyclicShift: 0 NBundled: 0 BetaACK: 2 BetaCQI: 2 BetaRI: 2 NHARQProcesses: 8 RVSeq: [0 2 3 1] RV: 0 NTurboDecIts: 5 OrthCover: 'On' PMI: 0 PRBSet: [25x1 double] TargetCodeRate: 0.3333 ActualCodeRate: [1x10 double] TrBlkSizes: [7224 7224 7224 7224 7224 7224 7224 7224 7224 7224] CodedTrBlkSizes: [1x10 double] ```

## Input Arguments

collapse all

Reference channel, specified as a character vector. This argument identifies the reference measurement channel (RMC) number, as specified in TS 36.104 [2]. See UL Reference Channel Options for a list of the default top-level configuration associated with the available uplink reference channels.

Data Types: `char`

Information bits, specified as a column vector or a cell array containing one or two column vectors of bit values. Each vector contains the information bits stream to be coded across the duration of the generation, which represents multiple concatenated transport blocks. Internally these vectors are looped if the number of bits required across all subframes of the generation exceeds the length of the vectors provided. Looping on the information bits allows you to enter a short pattern, such as `[1;0;0;1]`, that is repeated as the input to the transport coding. The `TrBlkSizes` matrix field of `rmccfgout``.``PUSCH` defines the number of data bits taken from the information bit stream for each subframe of generation.

Data Types: `double` | `cell`

Duplexing mode, specified as `'FDD'` or `'TDD'` to indicate the frame structure type of the generated waveform.

Data Types: `char`

Total number of subframes, specified as a numeric scalar. Optional. This argument specifies the total number of subframes that form the resource grid.

Data Types: `double`

Reference channel configuration, specified as a structure. The structure defines any (or all) of the fields or subfields. The reference configuration structure with default parameters can easily be created using the `lteRMCUL` function. `lteRMCUL` generates the various FRC configuration structures, as defined in TS 36.104 [2], Annex A.

`rmccfg` may include fields contained in the output structure, `rmccfgout`.

Data Types: `struct`

CQI information bits, specified as a numeric vector. CQI stands for channel quality information. `cqi` can be empty if these particular control information bits are not present in the transmission. `cqi` is not treated as a data stream, and thus each subframe contains the same CQI information bits.

Data Types: `double`

RI information bits, specified as a numeric vector. RI stands for rank indication. `ri` can be empty if these particular control information bits are not present in the transmission. `ri` is not treated as a data stream, and thus each subframe contains the same RI information bits.

Data Types: `double`

ACK information bits, specified as a numeric vector. ACK stands for acknowledgment in automatic repeat request (ARQ) protocols. `ack` can be empty if these particular control information bits are not present in the transmission. `ack` is not treated as a data stream, and thus each subframe contains the same ACK information bits.

Data Types: `double`

## Output Arguments

collapse all

Generated RMC time-domain waveform, returned as a T-by-P numeric matrix. T is the number of time-domain samples and P is the number of antennas.

`grid` is a 3-D array of resource elements for the generated subframes across all configured antenna ports, as described in Data Structures. `rmccfgout` is a structure containing information about the SC-FDMA modulated waveform and RMC configuration parameters.

Data Types: `double`
Complex Number Support: Yes

Populated resource grid, returned as a numeric 3-D array of resource elements for several subframes across all configured antenna ports, as described in Data Structures.

`grid` represents the populated resource grid for all the physical channels specified in TS 36.104 [2], Annex A

Data Types: `double`
Complex Number Support: Yes

#### Configuration parameters structure

Configuration parameters, returned as a structure. `rmccfgout` contains the following fields.

Parameter FieldValuesDescription
`RC`

`'A1-1'` (default), `'A1-2'`, `'A1-3'`, `'A1-4'`, `'A1-5'`, `'A2-1'`, `'A2-2'`, `'A2-3'`, `'A3-1'`, `'A3-2'`, `'A3-3'`, `'A3-4'`, `'A3-5'`, `'A3-6'`, `'A3-7'`, `'A4-1'`, `'A4-2'`, `'A4-3'`, `'A4-4'`, `'A4-5'`, `'A4-6'`, `'A4-7'`, `'A4-8'`, `'A5-1'`, `'A5-2'`, `'A5-3'`, `'A5-4'`, `'A5-5'`, `'A5-6'`, `'A5-7'`, `'A7-1'`, `'A7-2'`, `'A7-3'`, `'A7-4'`, `'A7-5'`, `'A7-6'`, `'A8-1'`, `'A8-2'`, `'A8-3'`, `'A8-4'`, `'A8-5'`, `'A8-6'`, `'A11-1'`, `'A3-2-9RB'`, `'A4-3-9RB'`

Reference channel number

`NULRB`

Scalar integer from 6 to 110

Number of uplink resource blocks. (${N}_{\text{RB}}^{\text{UL}}$)

`NCellD`

Integer from 0 to 503

Physical layer cell identity

`NFrame`

0 (default), nonnegative scalar integer

Frame number

`NSubFrame`

0 (default), nonnegative scalar integer

Initial subframe number

`CyclicPrefixUL`

`'Normal'` (default), `'Extended'`

Cyclic prefix length

`CyclicShift`

0, 1, 2, 3, 4, 5, 6, 7

Cyclic shift. This argument yields ${n}_{DMRS}^{\left(1\right)}$.

`Shortened`

0 (default), 1

Subframe shortened flag. If the function sets the flag to `1`, the last symbol of the subframe is not used. Subframes with possible SRS transmission require this flag to be set.

`Hopping`

`'Off'` (default), `'Group'`, or `'Sequence'`

Hopping type

`SeqGroup`

0 (default), integer from 0 to 29

PUSCH sequence group assignment (ΔSS).

`TotSubFrames`

`10` (default)

Positive scalar integer

Total number of subframes to generate

This argument specifies the total number of subframes that form the resource grid.

`RNTI`

`1` (default)

Scalar integer

Radio network temporary identifier (RNTI) value (16 bits)

`NTxAnts`

1, 2, 4

Number of transmission antennas.

`Windowing`

Nonnegative scalar integer

The number of time-domain samples over which windowing and overlapping of SC-FDMA symbols is applied

`DuplexMode`

`'FDD'` (default), `'TDD'`

Duplexing mode, specified as:

• `'FDD'` for Frequency Division Duplex or

• `'TDD'` for Time Division Duplex

It represents the frame structure type.

`PUSCH`

Structure

PUSCH transmission configuration

`SRS`

Structure

Sounding Reference Signal (SRS) configuration

`SamplingRate`

Numeric scalar

Carrier sampling rate in Hz, NSC / NSYM × 3.84e6, where NSC is the number of subcarriers and NSYM is the number of SC-FDMA symbols in a subframe.

`Nfft`

Scalar integer, typically one of {128, 256, 512, 1024, 1536, 2048} for standard channel bandwidths {`'1.4MHz'`, `'3MHz'`, `'5MHz'`, `'10MHz'`, `'15MHz'`, `'20MHz'`}, respectively.

Number of FFT frequency bins

#### PUSCH substructure

The substructure `PUSCH` relates to the physical channel configuration and contains these fields:

Parameter FieldValuesDescription
`Modulation``'QPSK'`, `'16QAM'`, `'64QAM'`

Modulation format

`NLayers`

1, 2, 3, 4

Number of transmission layers.

`DynCyclicShift`

0, 1, 2, 3, 4, 5, 6, 7

Cyclic shift for DM-RS (yields ${n}_{DMRS}^{\left(2\right)}$).

`NBundled`

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

HARQ-ACK bundling scrambling sequence index

`BetaACK`

Scalar integer

Modulation and coding scheme (MCS) offset for HARQ-ACK bits

`BetaCQI`

Scalar integer

Modulation and coding scheme (MCS) offset for CQI and PMI bits

`BetaRI`

Scalar integer

Modulation and coding scheme (MCS) offset for RI bits

`NHARQProcesses`

1, 2, 3, 4, 5, 6, 7, 8

Number of HARQ processes per component carrier

`RVSeq`

Numeric matrix

Redundancy version (RV) indicator, returned as a numeric matrix. This argument is a 1- or 2-row matrix that specifies the redundancy version (RV) indicator for one or two codewords. The RV indicator specified in each column is applied to the transmission in a HARQ process. The number of transmissions in a HARQ process equals the number of columns in `RVSeq`, where the row defines the RV indicator for one or two codewords. In a two-codeword transmission, if `RVSeq` is a row vector, the same RV indicator is applied to both codewords.

`RV`

Numeric matrix

Redundancy version (RV) indicator in initial subframe, returned as a numeric matrix. This argument is a 1- or 2-column vector that specifies the redundancy version for one or two codewords used in the initial subframe number, `NSubframe`. This parameter field is only for informational purposes and is read-only.

`NTurboDecIts`

Positive scalar integer

Number of turbo decoder iteration cycles

`OrthCover`

`'Off'` (default), `'On'`

Orthogonal cover sequence flag.

Applies (`'On'`), or does not apply (`'Off'`), orthogonal cover sequence w (Activate-DMRS-with OCC).

`PMI`

Integer from 0 to 23

Scalar precoder matrix indication (PMI) to be used during precoding

`PRBSet`

Integer matrix

Physical resource block set of indices, returned as an integer matrix. This argument is a 1- or 2-column matrix that contains the 0-based physical resource block indices (PRBs) corresponding to the resource allocations for this PUSCH.

`TargetCodeRate`

Numeric scalar or vector

Target code rates for each subframe in a frame. Used for calculating the transport block sizes according to TS 36.101 [1], Annex A.2.1.2.

If `TargetCodeRate` is not provided and `TrBlkSizes` is provided at the input, `TargetCodeRate` == `ActualCodeRate`.

`ActualCodeRate`

Numeric vector

Actual code rates for each subframe in a frame. The maximum actual code rate is 0.93. This parameter field is only for informational purposes and is read-only.

`TrBlkSizes`

Numeric vector

Transport block sizes for each subframe in a frame

`CodedTrBlkSizes`

Numeric vector

Coded transport block sizes for each a subframe in a frame, returned as a numeric vector. This parameter field is only for informational purposes and is read-only.

`HARQProcessSequence`

1-by-LHARQ_Seq integer vector.

One-based HARQ process indices for the internal HARQ scheduling sequence, based on same transport block size in all active subframes.

See footnote 1

1. When creating the HARQ process sequence, TTI bundling is considered. The length of the HARQ process sequence, LHARQ_Seq = 10 × `lcm`(`NHARQProcesses` × ttiPerBundle,`sum`(activesfs)) / `sum`(activesfs). The number of TTI per bundle, ttiPerBundle = 4. The `sum`(activesfs) is the number of active subframes. For FDD, all subframes are active and for TDD, all uplink subframes are active. The uplink supports `NHARQProcesses` allowed by the standard and also the transport block sizes are the same for all the active subframes.

#### SRS substructure

The substructure `SRS` contains these fields:

Parameter FieldValuesDescription
`NTxAnts`

1 (default), 2, 4

Number of transmission antennas.

`BWConfig`

0, 1, 2, 3, 4, 5, 6, 7

Cell-specific SRS Bandwidth Configuration value (CSRS)

`BW`

0, 1, 2, 3

UE-specific SRS Bandwidth value (BSRS)

`ConfigIdx`

Integer from 0 to 644

Configuration index (ISRS) for UE-specific periodicity (TSRS) and subframe offset (Toffset).

`TxComb`

0 or 1

Transmission comb. Controls SRS positions; SRS is transmitted in 6 carriers per resource block on odd (1) and even (0) resource indices.

`HoppingBW`

0, 1, 2, 3

SRS Frequency hopping configuration index (bhop)

`FreqPosition`

Integer from 0 to 23

Frequency domain position (nRRC)

`CyclicShift`

0 (default), integer from 0 to 7

UE-specific cyclic shift (${n}_{SRS}^{cs}$)

`SeqGroup`

0 (default), integer from 0 to 29

SRS sequence group number (u)

`SeqIdx`

0 or 1

Base sequence number (v)

`SubframeConfig`

Integer from 0 to 15

Sounding reference signal (SRS) subframe configuration

The following fields are present only when `DuplexMode` is set to `'TDD'`.
`NF4RachPreambles`

0, 1, 2, 3, 4, 5, 6

Number of RACH preamble frequency resources of Format 4 in UpPTS

`OffsetIdx`

0 or 1

Choice of SRS Subframe Offset in the case of 2 ms SRS periodicity. This parameter indexes the two SRS Subframe Offset entries in the row specified by the `ConfigIdx` parameter in table 8.2-2 of TS 36.213 for the SRS Configuration Index.

collapse all

### UL Reference Channel Options

Initialization choices available for the uplink reference channel and associated top-level configuration defaults include:

Reference channelsReference channels (continued)Reference channels (continued)

`A1-1 (6 RB, QPSK, R=1/3)`

```A1-2 (15 RB, QPSK, R=1/3)```

```A1-3 (25 RB, QPSK, R=1/3)```

`A1-4 (3 RB, QPSK, R=1/3)`

```A1-5 (9 RB, QPSK, R=1/3)```

```A2-1 (6 RB, 16QAM, R=2/3)```

`A2-2 (15 RB, 16QAM, R=2/3)`

```A2-3 (25 RB, 16QAM, R=2/3)```

```A3-1 (1 RB, QPSK, R=1/3)```

`A3-2 (6 RB, QPSK, R=1/3)`

```A3-3 (15 RB, QPSK, R=1/3)```

```A3-4 (25 RB, QPSK, R=1/3)```

`A3-5 (50 RB, QPSK, R=1/3)`

```A3-6 (75 RB, QPSK, R=1/3)```

```A3-7 (100 RB, QPSK, R=1/3)```

`A4-1 (1 RB, 16QAM, R=3/4)`

```A4-2 (1 RB, 16QAM, R=3/4)```

```A4-3 (6 RB, 16QAM, R=3/4)```

`A4-4 (15 RB, 16QAM, R=3/4)`

```A4-5 (25 RB, 16QAM, R=3/4)```

```A4-6 (50 RB, 16QAM, R=3/4)```

`A4-7 (75 RB, 16QAM, R=3/4)`

```A4-8 (100 RB, 16QAM, R=3/4)```

```A5-1 (1 RB, 64QAM, R=5/6)```

`A5-2 (6 RB, 64QAM, R=5/6)`

```A5-3 (15RB, 64QAM, R=5/6)```

```A5-4 (25 RB, 64QAM, R=5/6)```

`A5-5 (50 RB, 64QAM, R=5/6)`

```A5-6 (75 RB, 64QAM, R=5/6)```

```A5-7 (100 RB, 64QAM, R=5/6)```

`A7-1 (3 RB, 16QAM, R=3/4)`

```A7-2 (6 RB, 16QAM, R=3/4)```

```A7-3 (12 RB, 16QAM, R=3/4)```

`A7-4 (25 RB, 16QAM, R=3/4)`

```A7-5 (25 RB, 16QAM, R=3/4)```

```A7-6 (25 RB, 16QAM, R=3/4)```

`A8-1 (3 RB, QPSK, R=1/3)`

```A8-2 (6 RB, QPSK, R=1/3)```

```A8-3 (12 RB, QPSK, R=1/3)```

`A8-4 (25 RB, QPSK, R=1/3)`

```A8-5 (25 RB, QPSK, R=1/3)```

```A8-6 (25 RB, QPSK, R=1/3)```

`A11-1 (3RB, QPSK, R=11/27)`

```A3-2-9RB (6 RB, QPSK, R=1/3)```

The fields in the output configuration structure, `rmccfgout`, are initialized in accordance with the reference channels defined in TS 36.104, Annex A.

• `'A3-2-9RB'` is a custom RMC configured for non-standard bandwidth but with the same code rate as the standardized version.

• `'A11-1'` enables TTI bundling and the corresponding HARQ pattern (enhanced HARQ pattern for FDD).

## References

[1] 3GPP TS 36.101. “User Equipment (UE) radio transmission and reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

[2] 3GPP TS 36.104. “Base Station (BS) radio transmission and reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.

[3] 3GPP TS 36.212. “Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL: http://www.3gpp.org.