nrCSIReportCSIRS
R2026bDescription
[
returns the channel state information (CSI) report CSIReport,CSIInfo] = nrCSIReportCSIRS(carrier,csirs,reportConfig,dmrsConfig,h,rcov)CSIReport
containing the rank indicator (RI), precoding matrix indicator (PMI), and channel
quality indicator (CQI), as defined in 3GPP TS 38.214 section 5.2.2.2 [1]. The function also returns an
additional CSI information CSIInfo.
Specify the carrier configuration carrier, channel state
information reference signal (CSI-RS) configuration csirs, CSI
reporting configuration reportConfig, demodulation reference signal
(DM-RS) configuration for physical downlink shared channel (PDSCH)
dmrsConfig, estimated channel information
h, and inter-cell interference with noise covariance
rcov.
Examples
Create a carrier configuration object.
carrier = nrCarrierConfig;
Create and configure the CSI-RS resource configuration object for two non-zero-power (NZP) CSI-RS resources.
csirs = nrCSIRSConfig;
csirs.CSIRSType = {"nzp","nzp"};
csirs.RowNumber = [4 4];
csirs.Density = {"one","one"};
csirs.SubcarrierLocations = {0 0};
csirs.SymbolLocations = {0,5};
csirs.NumRB = 52;
csirs.RBOffset = 0;
csirs.CSIRSPeriod = [4 0];Create a PDSCH DMRS configuration object.
pdschdmrs = nrPDSCHDMRSConfig;
Configure the number of transmit and receive antennas.
nTxAnts = max(csirs.NumCSIRSPorts); nRxAnts = nTxAnts;
Generate CSI-RS indices and symbols, and map to the resource grid.
csirsInd = nrCSIRSIndices(carrier,csirs); csirsSym = nrCSIRS(carrier,csirs); txGrid = nrResourceGrid(carrier,nTxAnts); txGrid(csirsInd) = csirsSym;
Perform OFDM modulation.
OFDMInfo = nrOFDMInfo(carrier); txWaveform = nrOFDMModulate(carrier,txGrid);
Configure and pass through a TDL-C channel.
channel = nrTDLChannel; channel.NumTransmitAntennas = nTxAnts; channel.NumReceiveAntennas = nRxAnts; channel.SampleRate = OFDMInfo.SampleRate; channel.DelayProfile = "TDL-C"; channel.DelaySpread = 300e-9; channel.MaximumDopplerShift = 5; chInfo = info(channel); % Get the maximum channel delay maxChDelay = chInfo.MaximumChannelDelay; % Pass the time-domain waveform through the channel rxWaveform = channel([txWaveform; zeros(maxChDelay,nTxAnts)]);
Perform timing synchronization.
offset = nrTimingEstimate(carrier,rxWaveform,csirsInd,csirsSym); % Timing offset
rxWaveform = rxWaveform(1+offset:end,:);Add AWGN and perform OFDM demodulation.
SNRdB = 20;
SNR = 10^(SNRdB/10);
sigma = 1/(sqrt(2.0*channel.NumReceiveAntennas*double(OFDMInfo.Nfft)*SNR));
rng('default');
noise = sigma*complex(randn(size(rxWaveform)),randn(size(rxWaveform)));
rxWaveform = rxWaveform + noise;
rxGrid = nrOFDMDemodulate(carrier,rxWaveform);Perform channel estimation.
[h,rcov] = nrChannelEstimate(rxGrid,csirsInd,csirsSym,CDMLengths=[2 1]);
Configure CSI reporting and obtain the CSI report.
reportConfig = nrCSIReportConfig; [CSI,CSIInfo] = nrCSIReportCSIRS(carrier,csirs,reportConfig,pdschdmrs,h,rcov)
CSI = struct with fields:
RI: 2
PMISet: [1×1 struct]
CQI: 9
CSIInfo = struct with fields:
PrecodingMatrix: [4×2 double]
SINRPerSubband: [11.1543 13.0048]
EffectiveSINR: 9.9581
Input Arguments
Carrier configuration parameters for a specific OFDM numerology, specified as
an nrCarrierConfig
object. This function uses only these properties of the
nrCarrierConfig object.
CSI-RS resource configuration parameters, specified as an nrCSIRSConfig object.
This function uses only these properties of the nrCSIRSConfig
object.
When you specify multiple CSI-RS resources, the code division multiplexing (CDM) length and the number of configured ports must be the same for all resources.
For better results, use the same CSI-RS resources used for channel estimation, because resource elements (REs) that do not contain the CSI-RS may have interpolated channel estimates.
CSI reporting configuration, specified as an nrCSIReportConfig
object. This argument specifies the parameters to report channel state
information.
DM-RS configuration for the physical downlink shared channel (PDSCH), specified
as a nrPDSCHDMRSConfig
object. This function uses only these properties of the
nrPDSCHDMRSConfig object.
Note
The CSI reporting calculations assume that you set the
DMRSLength property of the
dmrsConfig object to the maximum length specified by
the higher-layer DMRS configuration, as defined in 3GPP TS 38.214 Section
5.2.2.5.
Estimated downlink channel information, specified as a 4-D numeric array of either of these size.
K-by-L-by-R-by-P — Applies when channel estimates are available at each subcarrier location. K is the number of subcarriers in the carrier resource grid, L is the number of OFDM symbols spanning one slot, R is the number of receive antennas, and P is the number of CSI-RS antenna ports.
NSizeGrid-by-L-by-R-by-P — Applies when channel estimates are available for each resource block (RB). NSizeGrid is the number of RBs in the carrier resource grid.
Data Types: double
Complex Number Support: Yes
Estimated inter-cell interference plus noise covariance, specified as one of these options.
Nonnegative scalar — Applies when there is no inter-cell interference, just noise.
4-D numeric array — Applies when you consider inter-cell interference. Specify
rcovas a 4-D array of either of these size.K-by-L-by-R-by-R — Applies when inter-cell interference estimates are available at each subcarrier location.
NSizeGrid-by-L-by-R-by-R — Applies when inter-cell interference estimates are available for each RB.
1-by-1-by- R-by-R — Applies when inter-cell interference information is unavailable.
Specify
handrcovat the same granularity level. Specify both inputs either at the resource element level, that is per subcarrier and symbol, or at the resource block level, that is, per resource block and symbol.
Data Types: double
Complex Number Support: Yes
Output Arguments
Channel state information report, returned as a structure containing these fields.
| Fields | Description | ||||||
|---|---|---|---|---|---|---|---|
RI | Rank indicator, returned as a scalar. This value
represents the best possible number of transmission layers for
the given channel and noise conditions. The valid range depends
on the CodebookType property of the
| ||||||
PMISet | Precoding matrix indicator set, returned as a structure with these fields.
Both indices use 1-based indexing. | ||||||
CQI | Channel quality indicator, returned as a matrix. The
matrix size depends on the CQIFormatIndicator property of the
|
Data type of all three fields of CSIReport depend on the
data types of the h and rcov inputs. The
function returns fields as single if either
h or rcov is of type
single. Otherwise, the function returns fields as
double.
Data Types: struct
Additional CSI information, returned as a structure with these fields.
| Fields | Description |
|---|---|
PrecodingMatrix | Precoding matrix corresponding to the
|
SINRPerSubband | Linear signal-to-noise-plus-interference ratio (SINR)
values for all layers corresponding to the subband precoder in
each subband, returned as a matrix of size
|
EffectiveSINR | Effective SINR value in dB, returned as a matrix. The
matrix size depends on the CQIFormatIndicator property of the
|
Data type of all three fields of CSIInfo depends on the
data types of the h and rcov inputs. The
function returns fields as single if either
h or rcov is of type
single. Otherwise, the function returns fields as
double.
Data Types: struct
References
[1] 3GPP TS 38.214. “NR; Physical layer procedures for data.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
Extended Capabilities
Usage notes and limitations:
nrCSIReportCSIRS function supports MEX code generation only.
Refer to the usage notes and limitations in the C/C++ Code Generation section. The same usage notes and limitations apply to GPU code generation.
Version History
Introduced in R2026b
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.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)