PUSCH demodulation reference signal
[
returns
the physical uplink shared channel (PUSCH) transmission demodulation
reference signal (DMRS) antenna sequence values,antseq
,info
,layerseq
]
= ltePUSCHDRS(ue
,chs
)antseq
,
the layer sequence values, layerseq
, and the
information structure, info
, given input structures
containing UEspecific settings, and the channel transmission configuration
settings.
When the number of transmission antennas is greater than one, the DMRS is precoded using spatial multiplexing.
For short base reference sequences, such as those used with
PUSCH allocations of 1 or 2 PRBs, and when chs
.
PRBSet
is
empty, ZadoffChu sequences are not used. In this case, RootSeq
and NZC
are
set to –1. If antseq
is empty, such as
when the input PRBSet
is empty, the info
structure
contains all fields, but each field is either empty for vector fields
or –1 for scalar fields.
Generate the PUSCH Demodulation Reference Signal (DMRS) values for UEspecific settings.
Initialize UE specific (ue
) and channel (chs
) configuration structures. Generate PUSCH DMRS values.
ue.NCellID = 1; ue.NSubframe = 0; ue.CyclicPrefixUL = 'Normal'; ue.Hopping = 'Off'; ue.SeqGroup = 0; ue.CyclicShift = 0; ue.NTxAnts = 1; chs.PRBSet = (0:5).'; chs.NLayers = 1; chs.OrthCover = 'Off'; chs.DynCyclicShift = 0; puschSeq = ltePUSCHDRS(ue,chs); puschSeq(1:10)
ans = 10×1 complex
1.0000 + 0.0000i
0.0810 + 0.9967i
0.9610 + 0.2766i
0.8839  0.4677i
0.6886  0.7251i
0.7692  0.6390i
0.9912  0.1324i
0.6447 + 0.7645i
0.6779 + 0.7352i
0.4872  0.8733i
Demonstrate Uplink Release 11 coordinated multipoint (CoMP) operation. To avoid intercell interference, use a virtual cell identity (NPUSCHID) and a distinct DMRS cyclic shift hopping identity (NDMRSID) for a potentially interfering UE in a neighboring cell.
Configure the UE of interest: UE 1 in cell 1.
ue1.NCellID = 1; ue1.NSubframe = 0; ue1.CyclicPrefixUL = 'Normal'; ue1.NTxAnts = 1; ue1.Hopping = 'Off'; ue1.SeqGroup = 0; ue1.CyclicShift = 0; chs1.PRBSet = (0:5).'; chs1.NLayers = 1; chs1.DynCyclicShift = 0; chs1.OrthCover = 'Off';
Configure the interferer: UE 2 in cell 2.
ue2.NCellID = 2; ue2.NSubframe = 0; ue2.CyclicPrefixUL = 'Normal'; ue2.NTxAnts = 1; ue2.Hopping = 'Off'; ue2.SeqGroup = 0; ue2.CyclicShift = 0; chs2.PRBSet = (0:5).'; chs2.NLayers = 1; chs2.DynCyclicShift = 0; chs2.OrthCover = 'Off';
Measure the interference between the DMRS signals.
interferenceNoCoMP = ...
abs(sum(ltePUSCHDRS(ue1,chs1).*conj(ltePUSCHDRS(ue2,chs2))));
Reconfigure for CoMP operation. Use a virtual cell identity equal to the cell identity for the UE of interest. Configure the two UEs with different cyclic shift hopping patterns using the DMRS identity parameter.
ue1.NDMRSID = 1; ue2.NPUSCHID = ue1.NCellID; ue2.NDMRSID = 2;
Measure the interference between the DMRS signals when using CoMP.
interferenceUsingCoMP = ...
abs(sum(ltePUSCHDRS(ue1,chs1).*conj(ltePUSCHDRS(ue2,chs2))));
Compare the correlations between the DMRS signals for the two UEs with and without CoMP, interferenceUsingCoMP
and interferenceNoCoMP
, respectively.
interferenceUsingCoMP
interferenceUsingCoMP = 1.0426e13
interferenceNoCoMP
interferenceNoCoMP = 21.3188
With CoMP, the interference is reduced to effectively zero.
ue
— UEspecific settingsUEspecific settings, specified as a structure. ue
can
contain the following fields.
Parameter Field  Required or Optional  Values  Description 

NCellID  Required  Nonnegative integer  Physical layer cell identity 
NSubframe  Required  0 (default), nonnegative scalar integer  Subframe number 
CyclicPrefixUL  Optional 
 Cyclic prefix length for uplink. 
NTxAnts  Optional  1 (default), 2, 4  Number of transmission antennas. 
Hopping  Optional 
 Frequency hopping method. 
SeqGroup  Optional  0 (default), integer from 0 to 29 
PUSCH sequence group assignment (Δ_{SS}). Used only if 
CyclicShift  Optional  0 (default), integer from 0 to 7  Number of cyclic shifts used for PUSCH DMRS (yields $${n}_{DMRS}^{(1)}$$). 
NPUSCHID  Optional  0 (default), nonnegative scalar integer from 0 to 509  PUSCH virtual cell identity. If this field is not present, See note. 
NDMRSID  Optional  0 (default), nonnegative scalar integer from 0 to 509  DMRS identity for cyclic shift hopping ($${n}_{ID}^{csh\_DMRS}$$).
If this field is not present, See note. 
Note

Data Types: struct
chs
— Channel transmission configuration PUSCH channel configuration, specified as a structure that can contain the following fields.
Parameter Field  Required or Optional  Values  Description 

PRBSet  Required  Integer column vector or twocolumn matrix  Physical resource block set, specified as an integer column vector or twocolumn matrix. This parameter field contains the zerobased physical resource block (PRB) indices corresponding to the slotwise resource allocations for this PUSCH. If 
NLayers  Optional  1 (default), 2, 3, 4  Number of transmission layers. 
DynCyclicShift  Optional  0 (default), integer from 0 to 7  Cyclic shift for DMRS (yields $${n}_{DMRS}^{(2)}$$). 
OrthoCover  Optional 
 Applies ( 
The following field is applicable
only when ue . NTxAnts is
set to 2 or 4 .  
PMI  Optional  0 (default), integer from 0 to 23  Scalar precoder matrix indication (PMI) used during precoding of the DMRS reference symbols. 
Data Types: struct
antseq
— PUSCH DMRS sequencePUSCH DMRS sequence values, returned as an MbyP complexvalued matrix. M is the number of DMRS symbols per antenna, and P is the number of transmission antennas. When P is greater than one, the DMRS is precoded using spatial multiplexing.
Data Types: double
Complex Number Support: Yes
info
— Information about PUSCH DMRSInformation about PUSCH DMRS, returned as a structure array, with one element per transmission layer, having the following fields.
Alpha
— Reference signal cyclic shiftReference signal cyclic shift for each slot, returned as a row vector. (α)
Alpha
is proportional to NCS
, $$\alpha =\frac{2\pi {n}_{cs,\lambda}}{12}$$.
Data Types: double
SeqGroup
— Base sequence group numberBase sequence group number for each slot, returned as a row vector. (u)
Data Types: double
SeqIdx
— Base sequence numberBase sequence number for each slot, returned as a row vector. (v)
Data Types: double
RootSeq
— Root ZadoffChu sequence index Root ZadoffChu sequence index for each slot, returned as a row vector. (q)
Data Types: double
NCS
— Cyclic shift values for each slotCyclic shift values for each slot, returned as a twocolumn vector ($${n}_{\text{cs,}\lambda}$$).
Data Types: double
NZC
— ZadoffChu sequence lengthZadoffChu sequence length, returned as an integer. ($${N}_{ZC}^{RS}$$)
Data Types: double
N1DMRS
— Component of reference signal cyclic shiftComponent of the reference signal cyclic shift signaled from higher layers, returned as an integer. ($${n}_{DMRS}^{(1)}$$)
Data Types: double
N2DMRS
— Component of the reference signal cyclic shiftComponent of the reference signal cyclic shift signaled from the most recent DCI format 0 message, returned as an integer. ($${n}_{DMRS}^{(2)}$$)
Data Types: double
NPRS
— Cellspecific component of reference signal cyclic shiftCellspecific component of the reference signal cyclic shift for each slot, returned as a row vector. (n_{PRS} in LTE Release 8 and 9, n_{PN} in LTE Release 10 and beyond)
Data Types: double
OrthSeq
— Orthogonal cover valueOrthogonal cover value for each slot, specified as a row vector. (w)
Data Types: double
Data Types: struct
layerseq
— PUSCH DMRS sequence by layersPUSCH DMRS sequence by layers, returned as an MbyNU complex matrix. M is the number of DMRS symbols per layer, and NU is the number of transmission layers. If the number of transmission antennas is greater than one, the DMRS is precoded using spatial multiplexing.
Data Types: double
Complex Number Support: Yes
ltePUSCH
 ltePUSCHDRSIndices
 ltePUSCHDecode
 ltePUSCHDeprecode
 ltePUSCHIndices
 ltePUSCHPrecode
 lteULPMIInfo
A modified version of this example exists on your system. Do you want to open this version instead?
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.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.