5G/NR  -  PSS

 

 

 

PSS (Primiary Synchronization Signal)

PSS is a specific physical layer signal that is used for radio frame synchronization. As in LTE case, UE is first trying to find PSS when powered on and tuned to a specific frequency it tries to camp on. Once it is successful to detect the PSS, it starts to decode the entire SSB.

It has characterstics as listed below.

  • Mapped to 127 active sub carriers around the center of SSB block located at subcarrier 56~182 (Refer to the structure of SSB)
  • Placed at the first OFDM symbol (symbol 0) within a SSB Burst
  • Made up of 127 m-Sequence Values
  • Used for Downlink Frame Synchronization
  • One of the critical factors determining Physical Cell ID

Followings are the details about PSS

Comparision 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.

The two definitions are stacked one above the other, with the clause number of each written above it. What matters is the right hand side of each line rather than the notation. NR builds its sequence from a binary recursion, and LTE builds its from a complex exponential.

The NR PSS definition d(n) = 1 - 2 x(m) from 38.211, above the LTE PSS definition from 36.211 as two Zadoff-Chu branches for n = 0 to 30 and n = 31 to 61

Figure 1. The change of sequence family is the whole difference. Everything else about PSS, including the three way choice it carries, survived from LTE unchanged.

One label in that comparison needs a note. The NR formula is marked 38.211 - 7.4.2.1.1, which was its clause number in an early version of the specification. In 38.211 v19.4.0 the PSS sequence generation is clause 7.4.2.2.1, and clause 7.4.2.1 now holds the physical-layer cell identities instead. The LTE label is still current, and 36.211 v19.3.0 keeps PSS at clause 6.11.1.

The change of family moves three things at once. The length grows from 62 values to 127. The alphabet drops from complex numbers to +1 and -1. And the three cell identity choices stop being three different sequences, because they become three cyclic shifts of one sequence.

The last of those is the one that changes the receiver. A detector facing three Zadoff-Chu roots has to run three separate correlations. With three shifts of one m-sequence, a single correlation is enough, and the three answers appear at different lags of the same result.

Property

NR PSS

LTE PSS

Sequence generation clause

38.211 - 7.4.2.2.1

36.211 - 6.11.1.1

Sequence family

m-Sequence

Zadoff-Chu

Length

127

62

Alphabet

+1 and -1

Complex, unit modulus

What N_ID(2) selects

A cyclic shift of 0, 43 or 86

A root index u, listed in 36.211 Table 6.11.1.1-1

Number of distinct sequences

3

3

  • The family changed and the structure did not : PSS still carries N_ID(2), still offers three values, and still arrives first.
  • NR is binary where LTE is complex : d(n) = 1 - 2x(m) can only be +1 or -1, so the correlation is real arithmetic.
  • The length more than doubled : 127 values against 62, which sharpens the correlation peak and widens the gap to the sidelobes.
  • LTE picks a root and NR picks a shift : 36.211 Table 6.11.1.1-1 gives one Zadoff-Chu root per N_ID(2). NR offsets one sequence by 0, 43 or 86 instead.
  • The clause number in the picture is stale : PSS sequence generation is 38.211 - 7.4.2.2.1 in the current specification, not 7.4.2.1.1.

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.

Four separate statements are stacked in the formula. The top line is the recursion that produces the underlying binary sequence, and beside it is the state that recursion starts from. The middle line turns a bit into a transmitted value. The bottom two lines say which position of the sequence a given cell reads from.

The PSS generation formula, showing the recursion x(i+7) = (x(i+4)+x(i)) mod 2 with start state 1110110, the mapping d(n) = 1 - 2 x(m), the index m = (n + 43 N-ID-2) mod 127 with n below 127, and N-ID-cell = 3 N-ID-1 + N-ID-2

Figure 2. Only the index m depends on the cell. The sequence x itself is the same in every cell in the world.

  • x(i+7) = (x(i+4) + x(i)) mod 2 : a seven stage binary recursion, whose period is 27 - 1, which is 127.
  • The start state is fixed by the specification : [x(6) ... x(0)] = [1 1 1 0 1 1 0], so no cell chooses it.
  • d(n) = 1 - 2x(m) : a bit of 0 becomes +1 and a bit of 1 becomes -1.
  • m = (n + 43 N_ID(2)) mod 127 : the cell identity enters here and nowhere else, as an offset into the sequence.
  • n runs from 0 to 126 : one value for each of the 127 PSS subcarriers.

The offset of 43 is the only cell specific number in the whole definition. Three values of N_ID(2) give offsets of 0, 43 and 86, and those three starting points sit almost evenly around a ring of 127 positions. Figure 3 redraws the recursion as a shift register, and marks the three starting points on the sequence it produces.

One generator x(i+7) = ( x(i+4) + x(i) ) mod 2 start state [ x(6) ... x(0) ] = [ 1 1 1 0 1 1 0 ] + mod 2 x(i+6) x(i+5) x(i+4) x(i+3) x(i+2) x(i+1) x(i) the only two taps x(n) Three starting points m = ( n + 43 N_ID(2) ) mod 127 x(0) x(126) one m-sequence, 127 values, identical in every cell N_ID(2) = 0 N_ID(2) = 1 N_ID(2) = 2 reads from m = 0 reads from m = 43 reads from m = 86

Figure 3. One generator and one start state serve every cell in the network. The cell identity only decides where the read-out begins.

A seven stage recursion of this form produces a maximum length sequence, and that is why the extra subcarriers are worth spending. Correlated against itself over a full period, the sequence returns 127 at the correct alignment and exactly -1 at each of the other 126 alignments. No wrong alignment can imitate the right one.

The same property bounds the confusion between cells. Any two of the three PSS sequences agree in 63 of their 127 positions and differ in the other 64, so their correlation is -1. A receiver testing the wrong N_ID(2) therefore sees no peak at all, rather than a weak one it might still accept.

  • 127 is not an arbitrary length : it is 27 - 1, the full period of a seven stage binary recursion.
  • The sequence is the same in every cell : both the recursion and the start state are fixed in 38.211.
  • Three cells mean three shifts : offsets of 0, 43 and 86 into one set of 127 values.
  • The peak is 127 and every sidelobe is -1 : over a full period no second alignment correlates well.
  • A wrong N_ID(2) gives no peak : any two of the three sequences correlate to -1, so a mistaken guess fails cleanly.
  • The sequence is almost balanced : 63 of the 127 values are +1 and 64 are -1, so PSS carries very little direct current.

PCI to PSS,SSS Converter

Following is the formula to convert PCI to PSS,SSS. N_cell_ID indicates PCI, N_ID_2 indicates PSS and N_ID_1 indicates SSS. A cell is planned by its physical cell identity, and that single number has to be split before either synchronization signal can be built. The split is fixed arithmetic, so one identity always produces the same pair.

The arithmetic behind the two output boxes is a single division. N_ID_1 is the quotient of the physical cell identity divided by three, and N_ID_2 is the remainder. The calculator rejects anything outside 0 to 1007, because 1008 identities is the whole range that 38.211 clause 7.4.2.1 defines.

The choice of three as the divisor is what puts the smaller factor into PSS. There are 1008 identities and they factor as 3 times 336, so PSS carries a three way choice and SSS carries the remaining 336 way choice. At the first step a receiver has only three hypotheses to test.

  • N_ID_1 is the quotient : the physical cell identity divided by three with the remainder discarded, which places it between 0 and 335.
  • N_ID_2 is the remainder : the same division taken modulo three, so it is 0, 1 or 2.
  • 1008 factors as 3 times 336 : the smaller factor goes to PSS, which is the signal a UE decodes first.
  • The mapping is one to one : every identity from 0 to 1007 gives a distinct pair, and no pair is left unused.
  • The range check is not cosmetic : a value above 1007 has no physical cell identity behind it.

PSS,SSS to PCI Converter

Following is the formula to convert  PSS,SSS to PCI. N_cell_ID indicates PCI, N_ID_2 indicates PSS and N_ID_1 indicates SSS. This is the order in which a receiver actually obtains them. PSS supplies N_ID_2 first, SSS supplies N_ID_1 two symbols later, and the cell identity exists only once both values are known.

The reconstruction is that division run backwards. N_ID_1 is multiplied by three and N_ID_2 is added, which is the definition 38.211 clause 7.4.2.1 gives for the physical-layer cell identity. The calculator bounds the two inputs separately, because 336 or more for N_ID_1, or 3 or more for N_ID_2, cannot come from any real cell.

The order of the two detections matters. PSS sits on symbol 0 of the SS/PBCH block, and SSS sits on symbol 2 of the same block. The three way answer therefore always arrives before the 336 way one. If the SSS detection then fails, the UE still knows N_ID_2 and does not repeat the PSS search.

  • The identity is 3 N_ID_1 + N_ID_2 : the quotient is scaled back up and the remainder is added on top.
  • PSS answers first : it occupies symbol 0 of the SS/PBCH block, two symbols ahead of SSS.
  • The two ranges are not the same size : N_ID_1 reaches 335 and N_ID_2 stops at 2.
  • Neither signal identifies the cell alone : both detections have to succeed before the identity is known.
  • Each input is bounded on its own : 0 to 335 and 0 to 2, because an out of range pair maps to an identity above 1007.

Reference

[1] 38.211 v19.4.0 : NR - Physical channels and modulation. Clause 7.4.2.1 defines the physical-layer cell identities, clause 7.4.2.2.1 generates the PSS sequence, and clause 7.4.3.1.1 maps it into the SS/PBCH block.

[2] 36.211 v19.3.0 : E-UTRA - Physical channels and modulation. Clause 6.11.1.1 generates the LTE PSS sequence, and Table 6.11.1.1-1 lists the Zadoff-Chu root for each N_ID_2.