When the UE is started on a cell, the current SFN value of the cell is obtained by the UE. If the protocol stack and the physical layer have not been implemented, it is likely that I cannot understand it, it is even a bit confusing. Looking at the protocols or technical materials, or searching online, it is difficult to give satisfactory answers. There are two kinds of statements in some online technical forums, but after careful consideration, we find that they are self-contradictory.
One way is to tell the physical layer after the ue rrc is resolved. Sfnprime in system information of the empty port message is the value corresponding to SFN. After the UE physical layer is broadcast, it is reported to RRC. After the RRC is decoded by ASN.1, The sfnprime value is obtained and then fed back to the physical layer. This statement seems quite reasonable, but in fact, people who have done physical layer know that the physical layer needs SFN to participate in decoding broadcast channels, that is, the physical layer needs to know the current SFN value in advance, this feedback on SFN is obviously too late.
The second argument is that the physical layer of the terminal and the network has such a parameter that after receiving the message stream of RRC, the current SFN value will be added before it and sent out, the UE physical layer can be decoded after it is received. This statement solves the problem of real-time SFN in the physical layer. However, when looking at the details of the 3GPP physical layer protocol, it cannot be found. Is there any omission in the protocol, or is it true by default? No, because it does not exist.
In fact, the real practice is an organic and correct combination of the above two false statements, which is very clever. In the message system information structure transmitted on BCH, sfnprime is its first IE, and its value range is 0 to 4094. The step size is 2, because the TTI on the BCH transmission channel is 20 ms. In the ASN description of the message, the corresponding value is to divide the sfnprime value by 2, that is, the value range is 0 to 2047. The advantage of this transformation is that the ASN.1 encoding can reduce a bit and reduce the load of empty port transfer. Because the current ASN.1 encoding is per-encoded and non-alignment mode, that is, the binary bits of the maximum value in the value range are used as the bits occupied by this per-encoding. 4094 corresponds to binary 111111111110, it occupies 12 bits, while 2047 corresponds to 11111111111 of the binary code, which occupies 11 bits. Therefore, only one bit is missing after per encoding.
According to the analysis above, the first 11 bits of the encoded message system information bit stream are the values corresponding to SFN. When the RRC layer on the network side fills in data, the value of this item can be left blank, because even if the RRC layer knows the current SFN value, it cannot grasp the subsequent sequence and the amount before the transfer. After RRC performs per encoding, it transmits this bit to the physical or physical adaptation layer to obtain the current SFN value. In addition, the strict amount before transfer is obtained. The result is divided by 2, it is converted to an 11-bit binary format, and then replaced with the first 11 bits of the message system information code stream. After the UE physical layer is resolved to the BCH broadcast block, obtain the first 11 bits and multiply them by 2 to obtain the current SFN value of the cell. The physical layer sends the obtained SFN value together with the BCH broadcast block to the RRC layer for protocol processing. For details, refer to the system information broadcast explanation section in front of this blog.