Sunday 25 July 2021

5G NR: 5G-NR Cell Search Procedure








When you first power on the device or your device got into out of coverage and try to detect/search a new cell, UE does not have any idea on which frequency it has to try camp on.
So it may have to do some kind of blind search.

For example, let's assume that your device supports LTE Band 1,2,20.

·        UE is off.
·        Power On.
·        Scan all the frequency.
Here two type of frequency scan: a) SLS ii) DBS
SLS: Storage List Search: Its check and Scan those frequencies which were stored in mobile before switch on.
DBS: Deviated Band Search: If after SLS search UE didn’t find any cell then UE will start DBS Search where UE will scan all the frequency for the whole band.

For example, let's assume that your device support 5G Band n1,n2,n20. *#0011# or *#2263#
The eNodeB around your UE may use any frequency channel from nr-ARFCN range (422000, 434000) FDDBand-n1, nr-ARFCN range (158200, 164200) for FDD Band n20 and nr-Earfcn range (386000, 398000) for Band n2.

There can be a lot of possibilities of frequencies that eNB would use. Then how UE can detect/find the cell (NodeB) it would camp on?

Step-1) UE tune to each and every channel that it supports and measure RSSI.
(RSSI is simply a measurement of whatever energy/power it can measure. This measurement does not require any channel coding process. So, at this step, UE does not need to know anything about the network. At this step, UE does not try to decode PCPICH (in WCDMA) or Sync/Reference Signal (in nr-5G) to detect Physical Cell ID. It just measures the power of each channel.)
As UE measures RSSI for each channel, it creates a list of each channel numbers with the measured RSSI.


Step-2) Then UE go through the list from Step-1) and figure out all the channels which show RSSI a value greater than the threshold (this threshold is also up to UE/chipset implementation, not determined by 3GPP).

Then the question would be "Any frequency with Passing RSSI value can be the one that UE can camp on?” The answer is "Not Necessarily". >

Example:
L1CL_HL_WAKE_UP_TIME_CONFIG_CMD
L1CL_UE_CAPABILITIES_CONFIG_CMD
L1CL_FREQUENCY_SCAN_REQ   nr-arfcn range (386000, 398000), FDD Band n2;
L1CL_FREQUNCY_SCAN_IND     startnr-arfcn 386000, nr-arfcn: 28, Best3 nr-arfcn: 386000 (220), 386770 (224), 390000(225)
L1CL_FREQUENCY_SCAN_REQ   nr-arfcn range (158200, 164200); FDD BAND n20
L1CL_FREQUNCY_SCAN_IND     startearfcn 158200, nr-arfcn: 16, best 3 nr-arfcn 158200(152), 159000(147), 160000(148)
L1CL_FREQUENCY_SCAN_REQ   nr-arfcn range (422000, 434000), FDD Band n1;
L1CL_FREQUNCY_SCAN_IND     startnr-arfcn 422000, nr-arfcn: 26, Best3 nr-arfcn: 422000 (450), 423200(451), 430000(452);
                                                                                               // STEP: 1 is    completed
L1CL_FREQUENCY_SCAN_REQ   nr-arfcn 159000 (Bn20), 386000 (Bn2), 390000 (Bn2) ...Report RSSI 
                                                                                              // STEP: 2 is completed
L1CL_CELL_SCAN_REQ              nr-arfcn (386000)
L1CL_CELL_SCAN_IND              nr-arfcn 386000, pci/rsrp/rsrq/:/0/-51/-7.13
                                                                                                 //PSS-SSS and decode ref signal //STEP:3
L1CL_MIB_IND                         nr-arfcn 386000 FDD Band: n2 PhycellId: 0, BW: 20MHz, ant port: 2
MasterInformationBlock             nr BCCH: MIB: Cell BW: 20MHz   //STEP:4/5
L1CL_SIB1_READ_IND              nr-arfcn: 386000 (FDD Band: n2) cellid: 0: ok        
Systeminformationblock (sib1)   nr-BCCH_DL_SCH: SIB1: plmn: 001/01(Test equi) //STEP:6
L1CL_IDLE_REQ                       nr-arfcn: 386000, FDD Band: n2 PhycellId: 0, BW: 20 MHz, ant Ports: 2
L1CL_IDLE_CNF                        
L1CL_SI_READ_REQ                  Rsib: 1, win: 40ms, sib(periodicity):1(rf32)
L1CL_SI_READ_CONF
SystemInformation (sib2, sib3)   nr-BCCH_DL_SCH: SIB2 (MaxTxHarq: 4 maxRaPreamble: 48 SRS); SIB3 (ReselPrio: 4)




Step-3) This Step is little Complicated so it will take time to understand complete process. UE do synchronization process followed by PSS and SSS and decode reference signal and detect physical cell ID from each candidate from Step-2).
(Some candidate gives successful result but some would not. UE make the list of all the successful tries).
i)   Now from Step-2) list, One by One UE will start synchronisation process for all frequency.
ii)  In above log we can see 1st preferred earfcn is 386000.
iii)  Actually, for both FDD and TDD network broadcast synchronization signals in the downlink direction and this synchronisation is primary and secondary synchronization signal. By using PSS and SSS UE would find multiple cells in this process.

iv) For UE camp on, basically as default 20RB  will be utilised for this purpose, means (20*12)240 subcarrier where 112 subcarriers will be reserved and will use for “set to 0" purpose and remaining 127 subcarriers will be utilized for camp on process. 127 subcarriers will be utilised for primary synchronization and secondary synchronization. But the question is from where UE will start to read signal in 127 subcarriers?



Q. How each of SS Block components (PSS, SSS, PBCH DMRS, and PBCH) are allocated in SS Block Resource Grid? – See???

SS (PSS and SSS) and PBCH in NR is transmitted in the same 4 symbol block as specified in the below table.

Overall description on the resource allocation for SS/PBCH block is described in 38.211 - 7.4.3.1 Time-frequency structure of an SS/PBCH block and followings are the summary of the specification.
  • SS/PBCH block consists of 240 contiguous subcarriers (20 RBs)
  • The subcarriers are numbered in increasing order from 0 to 239 within the SS/PBCH block
  • The UE may assume that the contents (value) of the resource elements denoted as 'Set to 0' in Table 7.4.3.1-1 are set to zero. (This mean that the contents of the gray coloured resource element in the SSB diagram shown below is filled with zeros).
Subcarrier 0 in an SS/PBCH block corresponds to subcarrier k_ssb (k0 in older spec) in Common Resource Block
    • is obtained from the higher-layer parameter OffsetToPointA
    • offset-ref-low-scs-ref-PRB corresponds to the FrequencyInfoDL.absoluteFrequencyPointA. Data type is ARFCN-ValueNR and the range of the value is INTEGER (0..3279165) in integer.
  • There are two types of SS/PBCH Block
    • Type A (Sub 6)
      • k_ssb(k0 in older spec) = {0,1,2,...,23}
        • 4 LSB bits of k_ssb value can informed to UE via ssb-subcarrierOffset in MIB
        • The MSB bit is informed to UE via a bit within the PBCH Data ()  
        • is expressed in terms of 15 Khz subcarrier spacing.
        • u (numerology) = {0,1}, FR1 (sub 6 Ghz)
        • is expressed in terms of 15 Khz subcarrier spacing
    • Type B (mmWave)
      • k_ssb(k0 in older spec) = {0,1,2,...,11}
        • the whole k_ssb value can be informed to UE via ssb-subcarrierOffset in MIB
        • is expressed in terms of the subcarrier spacing provided by the higher-layer parameter subCarrierSpacingCommon in MIB .
      • u (numerology) = {3,4}, FR2 (mmWave)
      • is expressed in terms of 60 Khz subcarrier spacing

  • Following table shows the time domain (OFDM symbol number) and frequency domain (Subcarrier Number) within SS/PBCH block.



Q. Exactly when/where the SS Block is transmitted in a radio frame? - See here. ????


< Time Domain Resource Allocation >

Following table indicates the first OFDM symbol number (s) where SS/PBCH is transmitted. This is based on 38.213 - 4.1 Cell Search.

The document states as follows:
For a half frame with SS/PBCH blocks, the number and first symbol indexes for candidate SS/PBCH blocks are determined according to the subcarrier spacing of SS/PBCH blocks as follows.

This mean that [38.213 - 4.1 Cell Search] specifies SS/PBCH location in time domain as illustrated below.









Followings are examples of SSB Transmission for each cases. For the simplicity, I set the frequency domain location of SSB block to be located at the bottom of the system bandwidth, but in reality the frequency domain location can change to other location (e.g, centre frequency of the system bandwidth). The main purpose of these examples is to show the time domain location (transmission pattern) of each cases. In real deployment, it is highly likely (but not necessarily) that the frequency domain location of the SSB located around the centre frequency.

The example below shows how you can correlate the above table to the SSB transmission plot shown in the following examples.



Q. How PSS (Primary Synchronization Signal) is generated and what kind of parameters are involved? - See here.

PSS (Primary Synchronization Signal)

PSS is a specific physical layer signal that is used for radio frame synchronization. It has characteristics as listed below.
  • Mapped to 127 active sub carriers around the lower end of the system bandwidth (subcarrier 80~206)
  • Made up of 127 m-Sequence Values
  • Used for Downlink Frame Synchronization
  • One of the critical factors determining Physical Cell ID


Comparison to LTE PSS

Following is the PSS sequence generation formula for NR PSS and LTE PSS. As you see here, NR PSS is a kind of m-Sequence whereas LTE PSS is a kind of Zadoff-chu sequence.


Sequence Generation Algorithm

NR PSS sequence is generated by the following formula. Unless you are the one who need to implement this, you may not need to understand every details of this formula. But at least it would be good to know of the major factors to determine the sequence. Followings are some highlights about this sequence.

  • The sequence is determined by NID (2) as in LTE.



Q. How SSS (Secondary Synchronization Signal) is generated and what kind of parameters are involved?

SSS (Secondary Synchronization Signal)

SSS is a specific physical layer signal that is used for radio frame synchronization. It has characteristics as listed below.

  • Mapped to 127 active sub carriers around the lower end of the system bandwidth (subcarrier 80~206)
  • Made up of 127 m-Sequence Values
  • Used for Downlink Frame Synchronization
  • One of the critical factors determining Physical Cell ID
Comparison to LTE PSS

Following is the PSS sequence generation formula for NR PSS and LTE SSS. Even though the details of LTE sequence generation is not shown here, the fundamental nature of NR SSS and LTE SSS is similar. They are both based on m-sequence. However, if you get into the details of the sequence generation process, you will notice that LTE SSS generation is much more complicated than NR. LTE SSS sequence gets different depending on which subframe it is transmitted, whereas NR SSS does not vary with the subframe at which it is transmitted.



Sequence Generation Algorithm

NR SSS sequence is generated by the following formula. Unless you are the one who need to implement this, you may not need to understand every details of this formula. But at least it would be good to know of the major factors to determine the sequence. Followings are some highlights about this sequence.
  • The sequence is determined by both NID (1) and NID (2). In LTE, only NID (1) gets involved in SSS generation.



Q. 5G-NR Cell: Physical Cell ID
Like LTE, 5G NR also has synchronization signal and known as Primary Synchronization signal (PSS) and Secondary Synchronization signal (SSS). These signals are specific to NR physical layer and provides following information required by UE for downlink synchronization.
  • PSS provides Radio Frame Boundary ( Position of 1st Symbol in a Radio frame)
  • SSS provides Subframe Boundary (Position of 1st Symbol in a Subframe)
  • Physical Layer Cell ID (PCI) information using both PSS and SSS
Physical Layer Cell ID
In 5G New Radio, there are 1008 unique physical-layer cell identities and it is given by




Physical Cell ID (PCI) Calculation:
For example, a 5G-NR cell has SSS value as 303 and PSS value as 1 then Physical Cell ID will be
3 x 303 + 1 = 909 + 1= 910
How PBCH DMRS signal is generated and what kind of information can be detected from this signal? – See
PBCH DMRS (Demodulation Reference Signal)

PBCH DMRS is a special type of physical layer signal which functions as a reference signal for decoding PBCH. In LTE (at least in TM1, 2, 3, 4), we don't need this kind of special DMRS for PBCH because we can use CRS (Cell Specific Reference Signal) for PBCH decoding.  However, in 5G/NR there is no CRS. That's why we need the DMRS dedicated for PBCH decoding.

  

Following is the equation to generate PBCH DMRS. As in many other Physical Layer Signal, it is generated by Pseudo Random Sequence, but the part unique for PBCH DMRS is c_init (initialization value). As you see below, the initialization value is made up of various components like Physical Cell ID, SSB Index and Half Frame Number. That is, by decoding this DMRS UE can figure out SSB Index and Half Frame.



The physical location (Resource Elements) of PBCH DMRS is determined as below. As you see here, the location shifts in frequency domain according to Physical Cell ID.








As mentioned above, the array of PBCH DMRS shifts vertically (i.e, in frequency domain) with Physical Cell ID in a manner shown below.














2 comments:

  1. Hi, Your blogs and videos are very useful. I have a question. The terms which you have used, for example, L1CL_FREQUENCY_SCAN_REQ; are they some standard term, because on searching internet I could not find such thing.
    Regards
    Sumit

    ReplyDelete
    Replies
    1. It is not standard term, it is the internal message of UE FW.

      Delete

If You have any concern you are free to message/comment me.