Cell Selection/ReSelection
Note : Before you think of Cell Selection - Cell Selection is the procedure that happens when Cell Detection/Search procedure were successful and complete. So when you try to test or troubleshooting Cell Selection step, you have to prove from UE side log that Cell Detection/Search procedure were successful and complete. The cell power criteria described in this page (in 3GPP as well) is determined only by P-CPICH power, you have to think of another signal power (PSS, SCC power and quality) which UE has to detect even before detecting P-CPICH. This is not all. In purely based on 3GPP criteria, P-CPICH detection may be good enough for cell selection, but when it comes to testing if Cell Selection is successful or not, we normally use Registration (or at least PRACH transmission/Reception) as a success criteria. So if you think of this factor, additional channel power/quality (P-CCPCH, S-CCPCH etc) should be considered as well. Therefore, I would like to say the completion of cell selection in terms of testing would involve much more factors than those described in this page.
Followings are the topics in this page.
- Type of Cell Selection
- Cell Selection Criteria
- SIBs for Cell Selection / Reselection
- Intra Search Criteria
- Inter Search Criteria
- Troubleshoot for Cell Selection
There are two types of Cell Selections. "Initial Cell Selection" and "Stored Information Cell Selection". Definition of these two methods are described as follows in 25.304 5.2.3 Cell Selection Process.
a) Initial Cell Selection
This procedure requires no prior knowledge of which RF channels are UTRA carriers. The UE shall scan all RF channels in the UTRA bands according to its capabilities to find a suitable cell. On each carrier, the UE need only search for the strongest cell. Once a suitable cell is found this cell shall be selected.
b) Stored Information Cell Selection
This procedure requires stored information of carrier frequencies and optionally also information on cell parameters, e.g. scrambling codes, from previously received measurement control information elements.
Once the UE has found a suitable cell the UE shall select it. If no suitable cell is found the Initial cell selection procedure shall be started.
For a cell to be selected, they should meet a certain criteria as follows.
When UE is in HPLMN
Squal = Qqualmeas – Qqualmin > 0
Srxlev = Qrxlevmeas – Qrxlevmin + QrxlevminOffset – Pcompensation > 0
When UE is in VPLMN
Squal = Qqualmeas – (Qqualmin + QqualminOffset) > 0
Srxlev = Qrxlevmeas – (Qrxlevmin + QrxlevminOffset) – Pcompensation > 0
< 25.304 - 5.2.3.1.2 Criteria >

(In FDD) For a cell to be selected, both Squal and Srxlev should be greater than 0 and these two values are calculated as follows.

Assumption : It is assumed that there is only one Cell is available and cell selection is determined only by S_rxlev and S_qual. If there is any other competing cells around, you have to consider a lot of other factors like absolute measured cell power, priority and various cell search/reselection criteria as well.
CPICH_RSCP = -110 dBm, Qrxlevmin:-58, UE Power Class:3(P_MAX = 23)
UE_TXPWR_MAX_CCH (maxAllowedUL-Tx-Power in SIB3) : 24
CPICH_Ec/N0: -10, Qqualmin:-24
Srxlev = -110 -(-58 x 2) - max(24-23,0)
= -110 - (-116) - max(1,0)
= -110 + 116 -1
= 5
Squal=(-10)-(-24)
= 14
Squal > 0, Srclev > 0. So The UE will select this cell.
Assumption : It is assumed that there is only one Cell is available and cell selection is determined only by S_rxlev and S_qual. If there is any other competing cells around, you have to consider a lot of other factors like absolute measured cell power, priority and various cell search/reselection criteria as well.
CPICH_RSCP = -110 dBm, Qrxlevmin:-58, UE Power Class:3(P_MAX = 23)
UE_TXPWR_MAX_CCH (maxAllowedUL-Tx-Power in SIB3) : 0
CPICH_Ec/N0: -10, Qqualmin:-24
Srxlev = -110 -(-58 x 2) - max(0-23,0)
= -110 - (-116) - max(-23,0)
= -110 + 116 - 0
= 6
Squal=(-10)-(-24)
= 14
Squal > 0, Srclev > 0. So The UE will select this cell.
Assumption : It is assumed that there is only one Cell is available and cell selection is determined only by S_rxlev and S_qual. If there is any other competing cells around, you have to consider a lot of other factors like absolute measured cell power, priority and various cell search/reselection criteria as well.
CPICH_RSCP = -110 dBm, Qrxlevmin:-58, UE Power Class:3(P_MAX = 23)
UE_TXPWR_MAX_CCH (maxAllowedUL-Tx-Power in SIB3) : 33
CPICH_Ec/N0: -10, Qqualmin:-24
Srxlev = -110 -(-58 x 2) - max(33-23,0)
= -110 - (-116) - max(10,0)
= -110 + 116 - 10
= -4
Squal=(-10)-(-24)
= 14
Squal > 0, Srxlev < 0. So The UE will not select this cell.
When the following condition meets :
When UE is in HPLMN
(Squal = Qqualmeas – Qqualmin) <= s-Intrasearch
or
s-Intrasearch is not configured
When UE is in VPLMN
(Squal = Qqualmeas – (Qqualmin + QqualminOffset)) <= s-Intrasearch
or
s-Intrasearch is not configured
If you want to let UE to perform Intracell search all the time, the easiest way would be to set as follows.
i) set s-Intrasearch to be MAX value
ii) set Qualmin to be MAX value
SIBs for Cell Selection / Reselection
Followings are System Information Block messages that are related to Cell Selection/Reselection. I enabled IEs as much as possible just to show you all the usable IEs. You may not see many of these IEs in real deployment. Which IE and values are used are completely up to each network operators.
SysInfoType3
.0.. .... sib4indicator: False
cellIdentity: 00000000
cellSelectReselectInfo
cellSelectQualityMeasure: cpich-RSCP (1)
cpich-RSCP: NULL
modeSpecificInfo: fdd (0)
fdd
rat-List: 2 items
Item 0
RAT-FDD-Info
rat-Identifier: gsm (0)
s-SearchRAT: 10
s-HCS-RAT: -53
s-Limit-SearchRAT: 0
Item 1
RAT-FDD-Info
rat-Identifier: cdma2000 (1)
s-SearchRAT: -16
s-HCS-RAT: -53
s-Limit-SearchRAT: -16
q-QualMin: -24
q-RxlevMin: -45
q-Hyst-l-S: 0
t-Reselection-S: 0
maxAllowedUL-TX-Power: 24
cellAccessRestriction
cellBarred: notBarred (1)
notBarred: NULL
cellReservedForOperatorUse: notReserved (1)
cellReservationExtension: notReserved (1)
v4b0NonCriticalExtensions
sysInfoType3-v4b0ext
v590NonCriticalExtension
sysInfoType3-v590ext
cellSelectReselectInfo-v590ext
v5c0NoncriticalExtension
sysInfoType3-v5c0ext
cellSelectReselectInfoTreselectionScaling-v5c0ext
non-HCS-t-CR-Max: notUsed (0)
notUsed: NULL
speedDependentScalingFactor: 0
interFrequencyTreselectionScalingFactor: 4
interRATTreselectionScalingFactor: 4
SysInfoType11
..0. .... sib12indicator: False
measurementControlSysInfo
use-of-HCS: hcs-not-used (0)
hcs-not-used
cellSelectQualityMeasure: cpich-RSCP (0)
cpich-RSCP
intraFreqMeasurementSysInfo
intraFreqMeasurementID: 1
intraFreqCellInfoSI-List
removedIntraFreqCellList: removeNoIntraFreqCells (2)
removeNoIntraFreqCells: NULL
newIntraFreqCellList: 1 item
Item 0
NewIntraFreqCellSI-RSCP
intraFreqCellID: 0
cellInfo
cellIndividualOffset: -20
referenceTimeDifferenceToCell: accuracy40 (0)
accuracy40: 0
modeSpecificInfo: fdd (0)
fdd
primaryCPICH-Info
primaryScramblingCode: 9
primaryCPICH-TX-Power: 28
.1.. .... readSFN-Indicator: True
..0. .... tx-DiversityIndicator: False
cellSelectionReselectionInfo
q-OffsetS-N: -50
maxAllowedUL-TX-Power: 24
modeSpecificInfo: fdd (0)
fdd
q-QualMin: -24
q-RxlevMin: -45
intraFreqMeasQuantity
filterCoefficient: fc2 (2)
modeSpecificInfo: fdd (0)
fdd
intraFreqMeasQuantity-FDD: cpich-RSCP (1)
intraFreqReportingQuantityForRACH
sfn-SFN-OTD-Type: noReport (0)
modeSpecificInfo: fdd (0)
fdd
intraFreqRepQuantityRACH-FDD: cpich-EcN0 (0)
maxReportedCellsOnRACH: currentCell (1)
reportingInfoForCellDCH
intraFreqReportingQuantity
activeSetReportingQuantities
dummy: noReport (0)
.... .0.. cellIdentity-reportingIndicator: False
.... ..0. cellSynchronisationInfoReportingIndicator: False
modeSpecificInfo: fdd (0)
fdd
1... .... cpich-Ec-N0-reportingIndicator: True
.0.. .... cpich-RSCP-reportingIndicator: False
..0. .... pathloss-reportingIndicator: False
monitoredSetReportingQuantities
dummy: noReport (0)
.... .0.. cellIdentity-reportingIndicator: False
.... ..1. cellSynchronisationInfoReportingIndicator: True
modeSpecificInfo: fdd (0)
fdd
1... .... cpich-Ec-N0-reportingIndicator: True
.0.. .... cpich-RSCP-reportingIndicator: False
..0. .... pathloss-reportingIndicator: False
measurementReportingMode
measurementReportTransferMode: acknowledgedModeRLC (0)
periodicalOrEventTrigger: eventTrigger (1)
reportCriteria: intraFreqReportingCriteria (0)
intraFreqReportingCriteria
interFreqMeasurementSysInfo
interFreqCellInfoSI-List
newInterFreqCellList: 1 item
Item 0
NewInterFreqCellSI-RSCP
interFreqCellID: 0
frequencyInfo
modeSpecificInfo: fdd (0)
fdd
uarfcn-DL: 9800
cellInfo
modeSpecificInfo: fdd (0)
fdd
primaryCPICH-Info
primaryScramblingCode: 11
primaryCPICH-TX-Power: 28
...0 .... readSFN-Indicator: False
.... 0... tx-DiversityIndicator: False
cellSelectionReselectionInfo
q-OffsetS-N: 3
maxAllowedUL-TX-Power: 24
modeSpecificInfo: fdd (0)
fdd
q-QualMin: -24
q-RxlevMin: -45
interRATMeasurementSysInfo
interRATCellInfoList
removedInterRATCellList: removeAllInterRATCells (0)
removeAllInterRATCells: NULL
newInterRATCellList: 1 item
Item 0
NewInterRATCell-B
interRATCellID: 0
technologySpecificInfo: gsm (0)
gsm
cellSelectionReselectionInfo
q-Offset1S-N: -50
q-Offset2S-N: -50
maxAllowedUL-TX-Power: -50
hcs-NeighbouringCellInformation-RSCP
hcs-CellReselectInformation
penaltyTime: notUsed (0)
notUsed: NULL
modeSpecificInfo: fdd (0)
fdd
interRATCellIndividualOffset: -50
bsic
ncc: 0
bcc: 0
frequency-band: dcs1800BandUsed (0)
bcch-ARFCN: 0
SysInfoType19
utra-PriorityInfoList
utra-ServingCell
priority: 3
s-PrioritySearch1: 0
s-PrioritySearch2: 0
threshServingLow: 0
gsm-PriorityInfoList: 1 item
Item 0
GSM-PriorityInfo
gsmCellGroup
startingARFCN: 0
bandIndicator: dcs1800 (0)
followingARFCNs: explicitListOfARFCNs (0)
explicitListOfARFCNs: 0 items
priority: 0
qRxLevMinGSM: -58
threshXhigh: 0
threshXlow: 0
eutra-FrequencyAndPriorityInfoList: 1 item
Item 0
EUTRA-FrequencyAndPriorityInfo
earfcn: 300
measurementBandwidth: mbw25 (2)
priority: 4
qRxLevMinEUTRA: -55
threshXhigh: 9
threshXlow: 9
eutra-blackListedCellList: 2 items
Item 0
EUTRA-BlacklistedCell
physicalCellIdentity: 100
Item 1
EUTRA-BlacklistedCell
physicalCellIdentity: 102
1... .... eutraDetection: True
v920NonCriticalExtensions
sysInfoType19-v920ext
utra-PriorityInfoList-v920ext
threshServingLow2: 0
eutra-FrequencyAndPriorityInfoList-v920ext: 1 item
Item 0
EUTRA-FrequencyAndPriorityInfo-v920ext
qqualMinEUTRA: -34
threshXhigh2: 0
threshXlow2: 0
va80NonCriticalExtensions
sysInfoType19-va80ext
When the following condition
When UE is in HPLMN
(Squal = Qqualmeas – Qqualmin) <= s-Intersearch
or
s-Intrasearch is not configured
When UE is in VPLMN
(Squal = Qqualmeas – (Qqualmin + QqualminOffset)) <= s-Intersearch
or
s-Intrasearch is not configured
If you want to let UE to perform Intracell search all the time, the easiest way would be to set as follows.
i) set s-Intersearch to be MAX value
ii) set Qualmin to be MAX value
Troubleshoot for Cell Selection
You may think Cell Selection (or Reselection) would be relatively easy to troubleshoot, but in reality it is not simple at all. First, not so many people has clear understanding of the cell selection criteria itself. Even though you have clear understanding of all these 3GPP details, there are technical issues that make this troubleshooting difficult. The first step for the troubleshooting is to guarantee / verify the following two factors.
i) Signal Quality from the network (or UE Test Equipment) is good enough in whole power range of the test
ii) Signal detection/decoding capability of UE is good enough in whole power range of the test
Item ii) is relatively easy comparing to item i) if you have UE side logging tool and skill to analyze the log very in detail.
The problem is item ii). Usually Cell Selection test is done in very low power. One of the most accurate way to verify the signal quality of any transmitter is to use Vector Signal Analyzer and measure EVM or CDP(Code Domain Power. See some example ). But the problem is that none of the vector signal analyzer (as far as I know) can decode/analyze the modulated signal at such a lower power level (e.g, under -100 dBm). Technically, if you have very good quality of amplifier with high dynamic range, you can use it to amplify the signal from the network and then put it into spectrum analyzer. But in reality it would be difficult to use such a complicated setup for day-to-day troubleshooting.
Therefore, in real life of UE testing.. if you don't have detailed UE logging and the skills to analyze them, the troubleshooting process would be almost completely like 'matter of luck'.
If you have UE side log, you may check following items one by one. (In this step, I assume that the signal quality from NodeB is good enough)
- i) Check P-CPICH RSCP and Ec/Io (If UE log fail to print this value, you may check PSS, SSS detection.. but usually we take it as failure without further checking. But technically, you have to check PSS, SSS detection before you give up)
- ii) Check if UE log successfully print out PSC (Primary Scrambling Code) and see it matches the PSC of the NodeB that you want the UE to select.
- iii) Check if UE successfully decode MIB
- iv) Check if UE sucessfully decode all the SIBs scheduled in MIB
- v) Check P-CPICH power and quality meets the cell selection criteria (To do this, UE needs to successfully decode SIB3 at least.) Usually, most of UE log would print out Squal and Srxlev value if you set proper filter in the logging tool so you don't have to calculate them manually.
- vi) If both Squal and Srxlev is greater than 0, then check if UE successfully decoded all the scheduled SIBs (or at least SIB 1, 3, 5)
- vii) If UE successfully decoded the necessary SIBs, it should send PRACH. If UE does not send PRACH even at this condition, it is UE side protocol issue or sometimes I saw some UE manufacturer put some hard limiter in such a way that UE does not send PRACH under a certain value regardless of cell selection criteria.
- vii) If UE send PRACH, check if the PRACH power is big enough for network reception range. (The proper PRACH power is also determined by a complicated process called 'Open Loop Power Control')
- viii) If UE has sent PRACH with proper power and NodeB (or Test equipment) fail to detect it, then network side debugging should be done.
Reference :
[1] TS 25.304 UMTS; UE Procedures in idle mode and procedures for cell reselection in connected mode
[2] TS 25.331 UMTS; RRC Protocol Specification
[3] Inter-System Cell Reselection Parameter Optimization in UMTS by Qualcomm