A UE never reports a power in dBm. It reports an integer, and the receiver of the report has to turn that integer back into a power range. For P-CCPCH RSCP the conversion is a simple 1 dB step table, but it has two versions, and the right one depends on whether the UE runs in FDD or TDD. This page gives the full table, explains where the measurement is used, and shows how RRC carries the value.
- How does a reported value map to dBm ?
- What does the UE measure, and when ?
- How does RRC carry the reported value ?
- Reference
How does a reported value map to dBm ?
When you read a measurement report in a log, you see a value such as 40, not a power. Let's start with the table that translates one into the other, because every other part of this page depends on it.
Following Table is from 3GPP 25.133
The screenshot below is Table 9.32 of 25.133, in subclause 9.1.11.2. The specification lists only the first four rows and the last three, and it leaves the rest to the reader.
Each reported value covers a 1 dB range, from below -115 dBm at 00 to -25 dBm and above at 91.
PCCPCH_RSCP_LEV _00 : This is an open range. It covers every power below -115 dBm.PCCPCH_RSCP_LEV _01 to _90 : Each value covers one closed 1 dB step. The lower bound belongs to the step, and the upper bound belongs to the next one.PCCPCH_RSCP_LEV _91 : This is the second open range. It covers -25 dBm and everything above.
Just to save a little bit of time for readers, I expanded the table to show all the possible RSCP value and mapping absolute power.
|
RSCP |
From |
To |
Unit |
|
00 |
-115 |
dBm |
|
|
01 |
-115 |
-114 |
dBm |
|
02 |
-114 |
-113 |
dBm |
|
03 |
-113 |
-112 |
dBm |
|
04 |
-112 |
-111 |
dBm |
|
05 |
-111 |
-110 |
dBm |
|
06 |
-110 |
-109 |
dBm |
|
07 |
-109 |
-108 |
dBm |
|
08 |
-108 |
-107 |
dBm |
|
09 |
-107 |
-106 |
dBm |
|
10 |
-106 |
-105 |
dBm |
|
11 |
-105 |
-104 |
dBm |
|
12 |
-104 |
-103 |
dBm |
|
13 |
-103 |
-102 |
dBm |
|
14 |
-102 |
-101 |
dBm |
|
15 |
-101 |
-100 |
dBm |
|
16 |
-100 |
-99 |
dBm |
|
17 |
-99 |
-98 |
dBm |
|
18 |
-98 |
-97 |
dBm |
|
19 |
-97 |
-96 |
dBm |
|
20 |
-96 |
-95 |
dBm |
|
21 |
-95 |
-94 |
dBm |
|
22 |
-94 |
-93 |
dBm |
|
23 |
-93 |
-92 |
dBm |
|
24 |
-92 |
-91 |
dBm |
|
25 |
-91 |
-90 |
dBm |
|
26 |
-90 |
-89 |
dBm |
|
27 |
-89 |
-88 |
dBm |
|
28 |
-88 |
-87 |
dBm |
|
29 |
-87 |
-86 |
dBm |
|
30 |
-86 |
-85 |
dBm |
|
31 |
-85 |
-84 |
dBm |
|
32 |
-84 |
-83 |
dBm |
|
33 |
-83 |
-82 |
dBm |
|
34 |
-82 |
-81 |
dBm |
|
35 |
-81 |
-80 |
dBm |
|
36 |
-80 |
-79 |
dBm |
|
37 |
-79 |
-78 |
dBm |
|
38 |
-78 |
-77 |
dBm |
|
39 |
-77 |
-76 |
dBm |
|
40 |
-76 |
-75 |
dBm |
|
41 |
-75 |
-74 |
dBm |
|
42 |
-74 |
-73 |
dBm |
|
43 |
-73 |
-72 |
dBm |
|
44 |
-72 |
-71 |
dBm |
|
45 |
-71 |
-70 |
dBm |
|
46 |
-70 |
-69 |
dBm |
|
47 |
-69 |
-68 |
dBm |
|
48 |
-68 |
-67 |
dBm |
|
49 |
-67 |
-66 |
dBm |
|
50 |
-66 |
-65 |
dBm |
|
51 |
-65 |
-64 |
dBm |
|
52 |
-64 |
-63 |
dBm |
|
53 |
-63 |
-62 |
dBm |
|
54 |
-62 |
-61 |
dBm |
|
55 |
-61 |
-60 |
dBm |
|
56 |
-60 |
-59 |
dBm |
|
57 |
-59 |
-58 |
dBm |
|
58 |
-58 |
-57 |
dBm |
|
59 |
-57 |
-56 |
dBm |
|
60 |
-56 |
-55 |
dBm |
|
61 |
-55 |
-54 |
dBm |
|
62 |
-54 |
-53 |
dBm |
|
63 |
-53 |
-52 |
dBm |
|
64 |
-52 |
-51 |
dBm |
|
65 |
-51 |
-50 |
dBm |
|
66 |
-50 |
-49 |
dBm |
|
67 |
-49 |
-48 |
dBm |
|
68 |
-48 |
-47 |
dBm |
|
69 |
-47 |
-46 |
dBm |
|
70 |
-46 |
-45 |
dBm |
|
71 |
-45 |
-44 |
dBm |
|
72 |
-44 |
-43 |
dBm |
|
73 |
-43 |
-42 |
dBm |
|
74 |
-42 |
-41 |
dBm |
|
75 |
-41 |
-40 |
dBm |
|
76 |
-40 |
-39 |
dBm |
|
77 |
-39 |
-38 |
dBm |
|
78 |
-38 |
-37 |
dBm |
|
79 |
-37 |
-36 |
dBm |
|
80 |
-36 |
-35 |
dBm |
|
81 |
-35 |
-34 |
dBm |
|
82 |
-34 |
-33 |
dBm |
|
83 |
-33 |
-32 |
dBm |
|
84 |
-32 |
-31 |
dBm |
|
85 |
-31 |
-30 |
dBm |
|
86 |
-30 |
-29 |
dBm |
|
87 |
-29 |
-28 |
dBm |
|
88 |
-28 |
-27 |
dBm |
|
89 |
-27 |
-26 |
dBm |
|
90 |
-26 |
-25 |
dBm |
|
91 |
-25 |
dBm |
You do not need the table to convert a value. For a reported value N from 01 to 90, the power lies in N - 116 <= P-CCPCH RSCP < N - 115 dBm. For example, the value 40 means -76 dBm up to just below -75 dBm, as the row for 40 above shows. The reporting range is from -115 to -25 dBm, and 25.133 notes that the signalled range may be larger than the range where the accuracy is guaranteed.
Subtract 116 for the lower bound : A reported value N from 01 to 90 means at least N - 116 dBm and less than N - 115 dBm.00 and 91 are saturated values : They say only that the power is below -115 dBm or at least -25 dBm.A 1 dB step is finer than the accuracy : The next section shows that the absolute accuracy is several dB, so the last digit of the report is not exact.
What does the UE measure, and when ?
P-CCPCH RSCP looks like CPICH RSCP with another channel name, but it serves a different purpose. The P-CCPCH is the channel that UTRA TDD cells measure on, so this quantity always describes a TDD cell. That fact decides which specification and which table apply.
25.215 defines P-CCPCH RSCP as the received power on one code, measured on the P-CCPCH of a TDD cell. The reference point is the antenna connector of the UE. So the value does not depend on the gain of the receiver chain in the UE.
Now let's look at the two kinds of UE that measure it. An FDD UE measures P-CCPCH RSCP only on TDD neighbour cells. 25.133 states that the measurement is used for handover between UTRA FDD and UTRA TDD, and that its requirements apply only to UEs that support this capability. Table 9.32 on this page belongs to that case. A TDD UE, on the other hand, measures P-CCPCH RSCP on its own serving cell and on its TDD neighbours. For that case, 25.123 Table 9.4 gives the mapping. Its reporting range is -120 to -25 dBm, and it adds the values P-CCPCH RSCP_LEV _-05 to _-01 below the range of 25.133. The top of both tables is the same, with _89, _90 and _91 at -27, -26 and -25 dBm.
The accuracy requirement in 25.133 is loose compared with the 1 dB step. Table 9.31 gives an absolute accuracy of 6 dB in normal conditions and 9 dB in extreme conditions when Io is between -94 and -70 dBm. For Io between -70 and -50 dBm it gives 8 dB and 11 dB. These values hold only when the P-CCPCH RSCP is at least -102 dBm.
P-CCPCH RSCP always describes a TDD cell : An FDD cell is measured with CPICH RSCP instead.Use 25.133 for an FDD UE and 25.123 for a TDD UE : The two tables agree from 01 upward. Value 00 is an open range in 25.133 only, and only the TDD table goes down to -120 dBm.Compare reports, not single values : With an absolute accuracy of 6 dB or more, a trend over several reports tells more than one reading.
How does RRC carry the reported value ?
The mapping table ends at 91, but the RRC field that carries the value is wider than that. So you will meet ASN.1 bounds that do not match the table, and a separate delta field for the values below 0. The listing below collects the definitions that matter.
Following is based on
-- SPARE: PrimaryCCPCH-RSCP, Max = 91 -- Values above Max are spare PrimaryCCPCH-RSCP ::= INTEGER (0..127) DeltaRSCP ::= INTEGER (-5..-1) DeltaRSCPPerCell ::= SEQUENCE { deltaRSCP DeltaRSCP OPTIONAL } PUSCHCapacityRequest-v590ext ::= SEQUENCE { primaryCCPCH-RSCP-delta DeltaRSCP OPTIONAL } -- The IE is created in order to add missing DeltaRSCPPerCell IE from Rel-5. CellMeasuredResults-r9 ::= SEQUENCE { cellIdentity CellIdentity OPTIONAL, cellSynchronisationInfo CellSynchronisationInfo OPTIONAL, modeSpecificInfo CHOICE { fdd SEQUENCE { primaryCPICH-Info PrimaryCPICH-Info, cpich-Ec-N0 CPICH-Ec-N0 OPTIONAL, cpich-RSCP CPICH-RSCP OPTIONAL, deltaRSCPPerCell DeltaRSCPPerCell OPTIONAL, pathloss Pathloss OPTIONAL }, tdd SEQUENCE { cellParametersID CellParametersID, proposedTGSN TGSN OPTIONAL, primaryCCPCH-RSCP PrimaryCCPCH-RSCP OPTIONAL, pathloss Pathloss OPTIONAL, timeslotISCP-List TimeslotISCP-List OPTIONAL } } }
PrimaryCCPCH-RSCP is INTEGER (0..127), but the comment above it says that the maximum is 91 and that the values above it are spare. The tabular definition of the IE Primary CCPCH RSCP info in 25.331 subclause 10.3.7.54 gives the used range as Integer(0..91). It also marks the IE as TDD only and notes that thirty-six spare values are needed. So a value from 92 to 127 in a log is not a stronger signal. It is a spare value.
The negative values need another field. The ASN.1 type is unsigned, so the Rel-5 extension adds DeltaPrimary CCPCH RSCP as a separate Integer(-5..-1). In the tabular definition, the actual value is Primary CCPCH RSCP + DeltaPrimary CCPCH RSCP, and the delta is mandatory when the value is below 0. For a reported value of -3, the UE therefore sends 0 in the main field and -3 in the delta. In the ASN.1 above, PUSCHCapacityRequest-v590ext carries this delta as primaryCCPCH-RSCP-delta. Notice also that the tdd branch of CellMeasuredResults-r9 carries primaryCCPCH-RSCP with no delta beside it, while the fdd branch has deltaRSCPPerCell for its CPICH RSCP.
Only 0 to 91 are used : The values 92 to 127 of PrimaryCCPCH-RSCP are spare.Values below 0 need the delta : The main field carries 0, and DeltaRSCP carries -5 to -1 on top of it.Read the delta before converting : Add the delta to the main field first, and then use the mapping table.
Reference
- 3GPP TS 25.133 v19.0.0 : Requirements for support of radio resource management (FDD)
- 3GPP TS 25.123 v19.0.0 : Requirements for support of radio resource management (TDD)
- 3GPP TS 25.215 v19.0.0 : Physical layer; Measurements (FDD)
- 3GPP TS 25.331 v19.0.1 : Radio Resource Control (RRC); Protocol specification