LTE - Reporting of Channel Quality Indicator (CQI)
Introduction
The CQI reporting performance test defined in TS36.101 Section 9.3.2.1.1. The performance requirements of the test are as follows:
-
a CQI index not in the set {median CQI - 1, median CQI + 1} shall be reported at least 20% of the time;
-
the ratio of the throughput obtained when transmitting the transport format indicated by each reported wideband CQI index and that obtained when transmitting a fixed transport format configured according to the wideband CQI median shall be >= 1.05;
-
when transmitting the transport format indicated by each reported wideband CQI index, the average BLER for the indicated transport formats shall be greater than or equal to 0.02.
This example tests that these requirements are met.
eNodeB settings are specified in a structure enb
. This includes a substructure PDSCH
to configure the PDSCH according to the conformance test requirements: HARQ is disabled by setting the RV sequence to zero and the value of CSIMode
is configured according to TS36.101 Table 9.3.2.1.1-1.
enb = struct('RC','R.3'); % Set up parameters of RMC R.3 enb = lteRMCDL(enb); enb.CFI = 3; % Reconfigure Control Format Indicator enb.OCNGPDSCHEnable = 'On'; % Enable OCNG for unallocated PDSCH REs enb.TotSubframes = 1; % Reconfigure for a single subframe enb.PDSCH.RVSeq = 0; % Disable HARQ enb.PDSCH.CSIMode = 'PUCCH 1-0'; % Configure the CSI reporting mode enb.PDSCH.CSI = 'On'; % CSI scaling of soft bits
Channel Estimator Configuration
The channel estimator is configured with a structure cec
. The variable perfectChanEstimator
controls channel estimator behavior. Valid values are true
or false
. When set to true
a perfect channel estimator is used otherwise an imperfect estimate of the channel is used, based on the values of received pilot signals. In this example, we enable the perfect channel estimator.
% Configure channel estimator cec.PilotAverage = 'UserDefined'; % Type of pilot symbol averaging cec.FreqWindow = 9; % Frequency window size in REs cec.TimeWindow = 9; % Time window size in REs cec.InterpType = 'Cubic'; % 2D interpolation type cec.InterpWindow = 'Centered'; % Interpolation window type cec.InterpWinSize = 1; % Interpolation window size % Channel estimator behavior perfectChanEstimator = true;
Set CQI Delay
Set the CQI delay in subframes. This is the delay in a CQI being passed from UE to eNodeB as defined in TS36.101 Table 9.3.2.1.1-1. Note that the feedback of the CQI is assumed to be perfect, with the values being fed back in a buffer rather than being fed back in an uplink transmission.
cqiDelay = 8; % subframes
System Processing
The main processing is split into two phases, configured via the cqiConfig
loop variable. These phases implement the two measurements required in the performance test defined in TS36.101 Section 9.3.2.1.1
UE reported CQI. The first phase (cqiConfig=1
) performs PDSCH transmission and reception where the Modulation and Coding Scheme (MCS) is selected on the basis of the UE reported CQI, with the reported CQI being updated every 2 subframes and fed back with a delay of 8 subframes. The final throughput, BLER and median CQI are recorded, and the BLER (measuredBLER
) and deviation from the median CQI (measuredAlpha
, in percent) are checked against the specified performance requirements.
Median CQI. In the second phase (cqiConfig=2
), PDSCH transmission and reception are performed using the median CQI (medianCQI
) determined in the first phase. The final throughput is recorded and the throughput ratio (measuredGamma
) between using the UE reported CQI phase and the median CQI phase is reported and checked against the specified performance requirement.
The processing is performed on a subframe by subframe basis using the following steps:
-
Select CQI. For UE reported CQI, the current CQI is read from the oldest value in the CQI buffer
cqiBuffer
; for median CQI, the CQI is always set tomedianCQI
(this is achieved by filling the CQI buffer with the median CQI value and the buffer will not be updated).
-
Select MCS according to CQI. The Modulation and Coding Scheme (MCS) index corresponding to the CQI is selected by means of a lookup table defined by TS36.101 Table A.4-1 CSI RMC RC.1 FDD (MCS.1).
-
Determine Transport Block Size and modulation order. The MCS index is passed to the lteMCS function which calculates the corresponding Transport Block Size (TBS) index and modulation order; the lteTBS function is then used to calculate the TBS from the TBS index and the number of resource blocks allocated to the PDSCH.
-
Transmit and receive waveform. Transport block data is generated and passed to lteRMCDLTool to create a transmitted downlink waveform. This waveform is then passed through a fading channel and AWGN noise is added. The received signal is synchronized and OFDM demodulated and channel estimation is performed.
-
Measure PDSCH throughput. The PDSCH and DL-SCH are decoded and the CRC pass/fail is recorded to determine the data throughput.
-
Update CQI. If a CQI update is scheduled in this subframe, use the channel estimate to update the CQI with the lteCQISelect function. The updated CQI value is recorded in the CQI buffer. If a CQI update is not scheduled in this subframe, the previous CQI value is reused.
Plot Results
A figure with two subplots is produced. The first subplot shows the estimated SINR for each subframe; the second subplot shows the reported CQI for each subframe. This illustrates how the SINR and corresponding reported CQI vary over time due to the fading channel.
Reference,
1. MathWorks
2. TS 36.101