ltePUSCHDRS
PUSCH demodulation reference signal
Description
[
returns
the physical uplink shared channel (PUSCH) transmission demodulation
reference signal (DM-RS) antenna sequence values,antseq
,info
,layerseq
]
= ltePUSCHDRS(ue
,chs
)antseq
,
the layer sequence values, layerseq
, and the
information structure, info
, given input structures
containing UE-specific settings, and the channel transmission configuration
settings.
When the number of transmission antennas is greater than one, the DM-RS 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, Zadoff-Chu 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.
Examples
Generate PUSCH DM-RS
Generate the PUSCH Demodulation Reference Signal (DM-RS) values for UE-specific settings.
Initialize UE specific (ue
) and channel (chs
) configuration structures. Generate PUSCH DM-RS 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
Generate PUSCH DM-RS Using Alternate IDs
Demonstrate Uplink Release 11 coordinated multipoint (CoMP) operation. To avoid intercell interference, use a virtual cell identity (NPUSCHID) and a distinct DM-RS 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 DM-RS 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 DM-RS identity parameter.
ue1.NDMRSID = 1; ue2.NPUSCHID = ue1.NCellID; ue2.NDMRSID = 2;
Measure the interference between the DM-RS signals when using CoMP.
interferenceUsingCoMP = ...
abs(sum(ltePUSCHDRS(ue1,chs1).*conj(ltePUSCHDRS(ue2,chs2))));
Compare the correlations between the DM-RS signals for the two UEs with and without CoMP, interferenceUsingCoMP
and interferenceNoCoMP
, respectively.
interferenceUsingCoMP
interferenceUsingCoMP = 1.0499e-13
interferenceNoCoMP
interferenceNoCoMP = 21.3188
With CoMP, the interference is reduced to effectively zero.
Input Arguments
ue
— UE-specific settings
structure
UE-specific 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 DM-RS (yields ). |
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 | DM-RS identity for cyclic shift hopping ().
If this field is not present, See note. |
Note
|
Data Types: struct
chs
— Channel transmission configuration
structure
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 two-column matrix | Physical resource block set, specified as an integer column vector or two-column matrix. This parameter field contains the zero-based physical resource block (PRB) indices corresponding to the slot-wise 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 DM-RS (yields ). |
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 DM-RS reference symbols. |
Data Types: struct
Output Arguments
antseq
— PUSCH DM-RS sequence
M-by-P matrix
PUSCH DM-RS sequence values, returned as an M-by-P complex-valued matrix. M is the number of DM-RS symbols per antenna, and P is the number of transmission antennas. When P is greater than one, the DM-RS is precoded using spatial multiplexing.
Data Types: double
Complex Number Support: Yes
info
— Information about PUSCH DM-RS
structure array
Information about PUSCH DM-RS, returned as a structure array, with one element per transmission layer, having the following fields.
SeqGroup
— Base sequence group number
row vector
Base sequence group number for each slot, returned as a row vector. (u)
Data Types: double
SeqIdx
— Base sequence number
row vector
Base sequence number for each slot, returned as a row vector. (v)
Data Types: double
RootSeq
— Root Zadoff-Chu sequence index
row vector
Root Zadoff-Chu sequence index for each slot, returned as a row vector. (q)
Data Types: double
NCS
— Cyclic shift values for each slot
two-column vector
Cyclic shift values for each slot, returned as a two-column vector ().
Data Types: double
NZC
— Zadoff-Chu sequence length
integer
Zadoff-Chu sequence length, returned as an integer. ()
Data Types: double
N1DMRS
— Component of reference signal cyclic shift
integer
Component of the reference signal cyclic shift signaled from higher layers, returned as an integer. ()
Data Types: double
N2DMRS
— Component of the reference signal cyclic shift
integer
Component of the reference signal cyclic shift signaled from the most recent DCI format 0 message, returned as an integer. ()
Data Types: double
NPRS
— Cell-specific component of reference signal cyclic shift
row vector
Cell-specific component of the reference signal cyclic shift for each slot, returned as a row vector. (nPRS in LTE Release 8 and 9, nPN in LTE Release 10 and beyond)
Data Types: double
OrthSeq
— Orthogonal cover value
row vector
Orthogonal cover value for each slot, specified as a row vector. (w)
Data Types: double
Data Types: struct
layerseq
— PUSCH DM-RS sequence by layers
M-by-NU matrix
PUSCH DM-RS sequence by layers, returned as an M-by-NU complex matrix. M is the number of DM-RS symbols per layer, and NU is the number of transmission layers. If the number of transmission antennas is greater than one, the DM-RS is precoded using spatial multiplexing.
Data Types: double
Complex Number Support: Yes
Version History
Introduced in R2013b
See Also
ltePUSCH
| ltePUSCHDecode
| ltePUSCHPrecode
| ltePUSCHDeprecode
| ltePUSCHIndices
| ltePUSCHDRSIndices
| lteULPMIInfo
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.
Select a Web Site
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: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- 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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)