ltePUCCH1DRS
PUCCH format 1 demodulation reference signal
Description
Examples
Generate PUCCH format 1 DM-RS values for UE-specific settings.
Initialize UE-specific and channel configuration structures. Generate PUCCH format 1 DM-RS values.
ue.NCellID = 1; ue.NSubframe = 0; ue.CyclicPrefixUL = 'Normal'; ue.Hopping = 'Off'; chs.ResourceIdx = 0; chs.DeltaShift = 1; chs.CyclicShifts = 0; drsSeq = ltePUCCH1DRS(ue,chs);
Demonstrate Uplink Release 11 coordinated multipoint (CoMP) operation. Intercell interference can be avoided by using a virtual cell identity and a distinct DM-RS cyclic shift hopping 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'; chs1.ResourceIdx = 0; chs1.DeltaShift = 1; chs1.CyclicShifts = 0;
Configuration for interferer, UE 2 in cell 2.
ue2.NCellID = 2; ue2.NSubframe = 0; ue2.CyclicPrefixUL = 'Normal'; ue2.Hopping = 'Off'; chs2.ResourceIdx = 1; chs2.DeltaShift = 1; chs2.CyclicShifts = 0;
Measure the interference between the DM-RS signals.
interferenceNoCoMP = abs(sum(ltePUCCH1DRS(ue1,chs1).*conj(ltePUCCH1DRS(ue2,chs2))))
interferenceNoCoMP = 2.0706
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(ltePUCCH1DRS(ue1,chs1).*conj(ltePUCCH1DRS(ue2,chs2))))
interferenceUsingCoMP = 2.3591e-14
Compare 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 the PUCCH format 1 DM-RS for two transmit antenna paths.
Initialize UE-specific and channel configuration structures. Generate PUCCH1 DM-RS and information outputs.
ue.NCellID = 1; ue.NSubframe = 0; ue.CyclicPrefixUL = 'Normal'; ue.Hopping = 'Off'; chs.ResourceIdx = [0 3]; chs.DeltaShift = 1; chs.CyclicShifts = 0; [drsSeq,info] = ltePUCCH1DRS(ue,chs);
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:10,:)
ans = 10×2 complex
0.5000 + 0.5000i 0.5000 + 0.5000i
0.5000 + 0.5000i -0.5000 + 0.5000i
-0.5000 + 0.5000i 0.5000 - 0.5000i
-0.5000 + 0.5000i 0.5000 + 0.5000i
-0.5000 + 0.5000i -0.5000 + 0.5000i
0.5000 - 0.5000i 0.5000 + 0.5000i
0.5000 + 0.5000i -0.5000 - 0.5000i
-0.5000 - 0.5000i -0.5000 + 0.5000i
-0.5000 - 0.5000i -0.5000 - 0.5000i
0.5000 + 0.5000i -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 5.2360 4.1888 4.7124 1.0472 1.5708]
SeqGroup: [1 1]
SeqIdx: [0 0]
NResourceIdx: [0 2]
NCellCyclicShift: [192 46 212 91 84 25]
OrthSeqIdx: [0 0]
Symbols: [1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i]
OrthSeq: [3×2 double]
info(2)
ans = struct with fields:
Alpha: [1.5708 0.5236 5.7596 3.1416 5.7596 0]
SeqGroup: [1 1]
SeqIdx: [0 0]
NResourceIdx: [3 11]
NCellCyclicShift: [192 46 212 91 84 25]
OrthSeqIdx: [0 0]
Symbols: [1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i 1.0000 + 0.0000i]
OrthSeq: [3×2 double]
Input Arguments
UE-specific configuration settings, specified as a structure containing these 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 |
Hopping | Optional |
| Frequency hopping method. |
NPUCCHID | Optional |
Integer from 0 to 503 | PUCCH virtual cell identity. If this field is not present, |
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 2047 or vector of integers. | PUCCH resource indices, specified as an integer or a vector of integers. Values range from 0 to 2047. These indices determine the physical resource blocks, cyclic shift and orthogonal cover used for transmission. (). Define one index for each transmission antenna. |
DeltaShift | Optional | 1 (default), 2, 3 | Delta shift, specified as 1, 2, or 3. (Δshift) |
DeltaOffset | Optional | 0 (default), 1, 2 | (Δoffset). Warning: The use of this parameter field is not advised. It applies only to 3GPP releases preceding v8.5.0. This parameter will be removed in a future release. |
CyclicShifts | Optional | 0 (default), integer from 0 to 7 | Number of cyclic shifts used for format 1 in resource blocks (RBs) with a mixture of format 1 and format 2 PUCCH, specified as an integer from 0 to 7. () |
Output Arguments
PUCCH format 1 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.
Example: [0.707+0.707i,...]
PUCCH format 1 DRS information, returned as a structure array with elements corresponding to each transmit antenna and containing these fields.
Reference signal cyclic shift for each OFDM symbol, returned as a two-column vector. (α)
PUCCH base sequence group number for each slot, returned as two-column vector. (u)
PUCCH base sequence number for each slot, returned as two-column vector. (v)
PUCCH resource indices for each slot, returned as two-column vector. (n')
Cell-specific cyclic shift for each OFDM symbol, returned as vector. ()
Orthogonal sequence index for each slot, returned as two-column vector. ()
Modulated data symbols, returned as a vector. There is one element for each OFDM symbol. (z)
Example: [0.7071 + 0.7071i,...]
Orthogonal sequence for each slot, returned as a numeric matrix. ()
Example: [1.000 + 1.000i,...]
Version History
Introduced in R2014a
See Also
ltePUCCH1 | ltePUCCH1Decode | ltePUCCH1Indices | ltePUCCH1DRSIndices | ltePUCCH2DRS | ltePUCCH3DRS
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.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- 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)