ltePUCCH3DRS
PUCCH format 3 demodulation reference signal
Description
Examples
Generate PUCCH Format 3 DM-RS
Generate the PUCCH Format 3 Demodulation Reference Signal (DM-RS) values for UE-specific settings.
Initialize UE specific (ue
) and channel (chs
) configuration structures. Generate PUCCH DM-RS values.
ue.NCellID = 1; ue.NSubframe = 0; ue.CyclicPrefixUL = 'Normal'; ue.Hopping = 'Off'; ue.Shortened = 0; chs.ResourceIdx = 0; chs.CyclicShifts = 0; pucch3RefSig = ltePUCCH3DRS(ue,chs); pucch3RefSig(1:4)
ans = 4×1 complex
0.7071 + 0.7071i
0.2588 + 0.9659i
-0.9659 - 0.2588i
-0.7071 - 0.7071i
Generate PUCCH Format 3 DM-RS Using Virtual Cell ID
Demonstrate Uplink Release 11 coordinated multipoint (CoMP) operation. Intercell interference can be avoided by using a virtual cell identity for a potentially interfering UE in a neighboring cell.
Configuration for UE of interest, UE 1 in cell 1.
ue1.NCellID = 1; ue1.NSubframe = 0; ue1.CyclicPrefixUL = 'Normal'; ue1.Hopping = 'Off'; ue1.Shortened = 0; chs1.ResourceIdx = 0;
Configuration for interferer, UE 2 in cell 2.
ue2.NCellID = 2; ue2.NSubframe = 0; ue2.CyclicPrefixUL = 'Normal'; ue2.Hopping = 'Off'; ue2.Shortened = 0; chs2.ResourceIdx = 1;
Measure the interference between the DM-RS signals.
interferenceNoCoMP = abs(sum(ltePUCCH3DRS(ue1,chs1).*conj(ltePUCCH3DRS(ue2,chs2))))
interferenceNoCoMP = 6.3246
Reconfigure interferer for CoMP operation: use virtual cell identity equal to the cell identity for the UE of interest.
ue2.NPUCCHID = ue1.NCellID;
Measure the interference between the DM-RS signals when using CoMP.
interferenceUsingCoMP = abs(sum(ltePUCCH3DRS(ue1,chs1).*conj(ltePUCCH3DRS(ue2,chs2))))
interferenceUsingCoMP = 8.7932e-15
Comparing the correlations between the DM-RS signals for two UEs with and without CoMP, interferenceUsingCoMP
and interferenceNoCoMP
respectively. Using CoMP, the interference is reduced to effectively zero.
Generate PUCCH Format 3 DM-RS for Two Antennas
Generate the PUCCH format 3 DM-RS sequences for two transmit antenna paths. Display the information structure.
Initialize UE-specific and channel configuration structures. Provide an empty vector for the ack
, indicating there are no HARQ bits for this PUCCH transmission. Generate PUCCH 3 DM-RS and information outputs.
ue.NCellID = 1; ue.NSubframe = 0; ue.CyclicPrefixUL = 'Normal'; ue.Hopping = 'Off'; ue.Shortened = 0; chs.ResourceIdx = [0 3]; ack = []; [drsSeq,info] = ltePUCCH3DRS(ue,chs,ack);
Because there are two antennas, the DM-RS sequences are output as a two-column vector and the info
output structure contains two elements. View ind
and the size of info
to confirm this.
drsSeq(1:6,:)
ans = 6×2 complex
0.5000 + 0.5000i 0.5000 + 0.5000i
0.1830 + 0.6830i 0.5000 - 0.5000i
-0.6830 - 0.1830i 0.5000 - 0.5000i
-0.5000 - 0.5000i -0.5000 - 0.5000i
-0.1830 - 0.6830i -0.5000 + 0.5000i
-0.1830 + 0.6830i -0.5000 - 0.5000i
size(info)
ans = 1×2
1 2
View the contents of the two info
structure elements.
info(1)
ans = struct with fields:
Alpha: [0.5236 2.6180 2.6180 3.1416]
SeqGroup: [1 1]
SeqIdx: [0 0]
NResourceIdx: [0 0]
NCellCyclicShift: [193 89 101 234]
OrthSeqIdx: [0 0]
Symbols: [1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i]
OrthSeq: [2x2 double]
NSymbSlot: [5 5]
info(2)
ans = struct with fields:
Alpha: [4.7124 0.5236 1.5708 2.0944]
SeqGroup: [1 1]
SeqIdx: [0 0]
NResourceIdx: [8 10]
NCellCyclicShift: [193 89 101 234]
OrthSeqIdx: [3 4]
Symbols: [1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i]
OrthSeq: [2x2 double]
NSymbSlot: [5 5]
Input Arguments
ue
— UE-specific settings
structure
UE-specific cell-wide settings, specified as a structure containing the following fields.
Parameter Field | Required or Optional | Values | Description |
---|---|---|---|
NCellID | Required | Integer from 0 to 503 | Physical layer cell identity |
NSubframe | Required |
0 (default), nonnegative scalar integer | Subframe number |
CyclicPrefixUL | Optional |
| Cyclic prefix length |
NTxAnts | Optional | 1 (default), 2, 4 | Number of transmission antennas. |
Hopping | Optional |
| Frequency hopping method. |
Shortened | Optional | 0 (default), 1 | Option to shorten the subframe by omitting the last symbol,
specified as 0 or 1. If |
NPUCCHID | Optional |
Integer from 0 to 503 | PUCCH virtual cell identity. If this field is not present, |
Data Types: struct
chs
— Channel transmission configuration
structure
PUCCH channel settings, specified as a structure containing the following fields.
Parameter Field | Required or Optional | Values | Description |
---|---|---|---|
ResourceIdx | Optional | 0 (default), integer from 0 to 549, or vector of integers. | PUCCH resource indices which determine the physical resource blocks, cyclic shift, and orthogonal cover used for transmission (). Define one index for each transmission antenna. |
Data Types: struct
Output Arguments
seq
— PUCCH format 3 DRS values
numeric matrix
PUCCH format 3 DRS values, returned as a numeric matrix. The
symbols for each antenna are in the columns of seq
,
with the number of columns determined by the number of PUCCH resource
indices specified in chs
.
ResourceIdx
.
info
— PUCCH format 3 DRS information
structure array
PUCCH format 3 DRS information, returned as a structure array with elements corresponding to each transmit antenna and containing these fields.
Alpha
— Reference signal cyclic shift for each OFDM symbol
two-column vector
Reference signal cyclic shift for each OFDM symbol, returned as a two-column vector. (α)
SeqGroup
— PUCCH base sequence group number for each slot
two-column vector
PUCCH base sequence group number for each slot, returned as two-column vector. (u)
SeqIdx
— PUCCH base sequence number for each slot
two-column vector
PUCCH base sequence number for each slot, returned as two-column vector. (v)
NResourceIdx
— PUCCH resource indices for each slot
vector
PUCCH resource indices for each slot, returned as two-column vector. (n')
NCellCyclicShift
— Cell-specific cyclic shift for each OFDM symbol
vector
Cell-specific cyclic shift for each OFDM symbol, returned as vector. ()
OrthSeqIdx
— Orthogonal sequence index for each slot
two-column vector
Orthogonal sequence index for each slot, returned as two-column vector. ()
Symbols
— Modulated data symbols
vector
Modulated data symbols, returned as a vector. There is one element for each OFDM symbol. (z)
Example: [0.7071 + 0.7071i,...]
OrthSeq
— Orthogonal sequence for each slot
numeric matrix
Orthogonal sequence for each slot, returned as a numeric matrix. ()
Example: [1.000 + 1.000i,...]
NSymbSlot
— Number of OFDM symbols in each slot
vector of integers
The number of OFDM symbols in each slot, returned as a vector of integers. ()
Data Types: double
Data Types: struct
Version History
Introduced in R2014a
See Also
ltePUCCH3
| ltePUCCH3Decode
| ltePUCCH3Indices
| ltePUCCH3DRSIndices
| ltePUCCH3PRBS
| ltePUCCH1DRS
| ltePUCCH2DRS
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)