NR Initial Attach + Random Access

박종한·2021년 5월 7일
0

참고링크
https://engineering-ladder.tistory.com/17

밑에 기재된 내용은 모두 위 링크를 정리했을 뿐이므로, 더 자세히 알고 싶고, 더 깔끔하게 이해하고 싶다면 위 링크를 꼭 보시길 추천합니다.

Initial Attach

UECell 안에 들어오는 경우,
Cell과 시간-주파수를 동기화(Synchronization)하는 것 부터 시작해야 한다.

NR에서는
PSS/SSS(Primary/Seconary Sync Signal),
PBCH를 Decoding 하기위한 PBCH-DMRS
MIB등의 정보를 묶어 Broadcast 하는 PBCH
를 묶어 SSB(Synchronization Signal / Broadcast Block)이라고 한다.

SSB를 활용해 UECell과의 Synchronization을 진행하게 되는데,
PBCH에서 Cell의 가장 중요 정보를 담고 있는 MIB를 받는다.

UE와 동기화 과정에서 Cell Searching and Selection후 SSB를 찾고, Decoding하면서 Initial Access가 시작된다.

SSB는 그럼 어떻게 찾지?

주파수 축 중에서 어디에 원하는 정보가 있는지 모르기 때문에
주파수 축을 전부 Searching해야 하는 상황이 발생
=> LTE에서는 SSBCarrier Bandwidth(이하 CB)의 가운데 위치하고, CB가 넓지 않기 때문에, 중심 주파수가 위치할 수 있는 단위인 100KHz Channel Raster(이하 CR)를 사용해 SSB를 찾을 수 있다.

LTE에서는 Carrier Frequency(이하 CF)를 찾아나갈 때, E-ARFCN이라는 번호로 지정된 주파수 영역을 돌면서 찾는 방식인데, 해당 주파수 영역에서 CR이라는 100KHz의 고정된 단위로 돌면서, CF 위치만 찾으면 CB가운데가 곧 SSB위치 였기에 찾는게 어렵지 않다.

NR에서는 이와 비슷한 NR-ARFCN이라는 값이 있어, CF의 위치는 지정이 가능하다.
그러나, CB가 최대 400MHz까지 될 수 있어 매우 넓을 가능성이 있고, BWP 개념의 등장으로 SSBCB가운데에 없을 수도 있고, SSBCB안에 여러 개가 나타날 수 있기에 LTE보다 복잡하다. 즉, CR을 활용할 수가 없다. (100KHz라는 고정된 값은 무용지물)

이를 해결하기 위해 Synchronization Raster가 등장한다.

Synchronization Raster(SR)

대역에 따라 다른 CB를 갖고, 기존의 CR보다 주파수 축에서 step-size를 넓게 잡아 SSB를 효과적으로 Searching할 수 있게 해준다. 즉 SRSSB의 주파수 위치를 효율적으로 찾기 위해 만들어졌다.

SR은 주파수 대역을 GSCN(Global Synchronization Channel Number)라는 번호로 지정된 주파수 대역으로 쪼개고, 해당 주파수 대역에서 SSB가 위치할 수 있는 주파수 위치를 지정한다.ARFCN에 대응되는 GSCN라는 동기화를 위한 별도의 번호를 부여해 CR에 대응하는 효율적인 SR을 만들어낸 것이다.

핵심: 주파수 영역별로 step-size를 다르게 사용해 SSB를 빠르게 찾는다.

MIB, SIB

이렇게 찾은 SSB를 Decoding 하면(정확히는 PBCH를) MIB를 얻어낼 수 있다.
MIB안에 있는 MIB.pdcch-configSIB1이라는 param을 통해 SIB를 찾아냄으로써 기본 정보를 얻을 준비를 완료시킨다.
1 SSB = 240 Sub-carriers(20RB) * 4 Symbol로 구성되어있다.
MIMO 에서 각 beam마다 하나씩 SSB가 할당이 되고, 이것이 모여 SS burst Set을 이룬다.

Time축 주기는 5, 10, 20, 40, 80, 160 ms로 정할 수 있다.
NR의 PSS/SSS에는 LTE처럼 PCI(Physical Cell Identity)가 있지만, PCI가 기존의 504개에서 1008개로 두 배 늘어난다.
NR로 가면서 small cell도 다루고, Base station이 더 밀집 되기 때문에 많은 ID가 필요로 하게 된다.
PBCH를 통해 전송되는 MIB도 23 bits로 늘어나서, Sub-Carrier Spacing(SCS), CORESET5G NR에서 추가된 정보를 담을 수 있음

이 순서를 적어보면 다음과 같다.
1) PSS/SSS Decoding
2) PBCH Decoding => MIB detect
3) MIB Decoding (MIBSIB보다 중요하므로 SIB와 분리)
4) MIB에 있는 PDSCH-ConfigSIB1이란 param안의 CORESET0Search-Space를 통해 SIB detect
5) Search-Space 안의 DCI1_0 Decoding => PDSCH의 어디에 SIB1가 있는지 알 수 있음
6) SIB1SIB들이 담긴 PDSCH Decoding

위 과정은 UECell(gNB)로부터 정보를 받아 시간-주파수 축을 동기화하는 DL(DownLink)이다.
UECell에게 UpLink 동기화를 진행한다. => Random Access 사용
여기까지가 완료되면 DL, UL을 통해 데이터를 주고받을 수 있다.

Random Access

gNB주변에는 여러 UE가 있기 때문에 각자 손을 든다.
이것을 Preamble을 보낸다고 한다. 이 Preamble은 미리 정해져 있는 64개의 자원이고, UE가 임의로 선택해 gNB로 보내기 때문에, 같은 Preamble을 고르는 겹침현상이 발생할 수 있다. 이를 Contention이라고 부르고, 이를 해결하는 방법을 Contention Resolution이라고 부른다. Initial AccessRandom Access는 4개의 과정을 거친다.

1) UE에서 PRACH(Physical Random Access CHannel)을 통해서 gNBRA-RNTI와 스크램블링 된 Preamble을 보낸다.
2) gNB에서 이에 대한 응답으로 RAR(Random Access Response)를 보낸다. gNB에서 UEPDCCH를 통해 RA-RNTI로 스크램블링 된 DCI(Downlink Control Information)를 전송한다. PDSCH의 스케쥴링 정보가 담겨있다.
3) UE에서는 이 정보를 기반으로, PUSCH를 통해 메시지를 보낸다. 해당 메시지는RRC Connection을 위한 RRC request 정보를 담고 있다.
4) gNBContection이 발생했는지 알 수 있기에, 그 여부를 알려주는 Contention Resolution 메시지를 보낸다. 제대로 RACH가 완료되었으면, UE에게 UL Grant를 줘서 일반적인 전송의 프로세스로 들어가게 된다. RRC Setup 메시지가 PDSCH로 담겨 전송 된다.

UE는 이로서 gNB와 연결되었다고 HARQ ACK/NACK 메시지를 보내고, NAS layer를 통해 AMF를 등록해달란 요청을 보낸다. 이후 NAS layer에서 인증 및 보안 절차를 거치고, AMF에서 UE로 등록 완료되었다는 메시지를 보낸다. 이 때, RRC Reconfiguration이 이뤄지고, UE에서 gNBRRC Reconfiguration / Registration Complete Message를 보내며, Cell안에서 본격적으로 데이터를 주고 받는다.

profile
코딩의 고수가 되고 싶은 종한이

0개의 댓글