-
7장. 상향링크 물리 계층(Uplink Physical Layer)4G 2021. 1. 23. 21:16
※ 4G LTE-Advanced Pro and The Road Road to 5G 한국어 판 내용을 바탕으로 정리한 것입니다.
우선 본격적으로 내용을 시작하기 전에, 배경지식을 알아보자.
하향링크/상향링크
기지국과 스마트폰이 무선으로 연결되어 있을 때,
기지국 → 스마트폰으로 통신하는 것을 downlink(DL, 하향링크),
스마트폰 → 기지국으로 통신하는 것을 uplink(UL, 상향링크)라고 한다.
여기서 스마트폰을 일반적으로 단말기라고 부르는데,
단말은 기지국의 scheduling grant가 있을 때만 data를 전송할 수 있다.
하향링크와 상향링크로 링크를 나누었으니, 둘이 사용하는 자원도 나누어 주어야하는데, 2가지 방법이 있다.
① FDD(Frequency Division Duplex): 시간을 전체로 사용하되, 주파수를 나눈다.
→ 여기서 기지국은 full duplex 기능(송신과 수신을 동시에 할 수 있도록)을 가지고 있어야 한다.
단말은 full duplex가 불가능하다. 즉, 한번에 송신/수신 한가지만 할 수 있다.
② TDD(Time Division Duplex): 전체 주파수를 사용하고, 사용하는 시간을 나눈다.
여기서는 상향링크 물리 계층만 볼 것이다.
상향링크는 data를 보내는 UL-SCH(UpLink-Shared Channel),
control 정보를 보내는 UL-CCH(UpLink-Control Channel)로 나뉘는데
이번 포스트에서는 UL-SCH만 다룰 예정이다.
(이후에 나오는 PUSCH는 UL-SCH 앞에 Physical을 뜻하는 P가 붙은 것이다.)UL-SCH는 상향링크의 모든 상위 계층 정보(사용자 데이터, 상위 계층 제어 시그널링 모두)를 전송하는데 사용된다.
(이후에 나오겠지만 사실 제어 시그널링은 UL-SCH, UL-CCH 둘 다에서 전송 가능하다.)
프로세싱 단계
상향링크 전송을 할 때에 어떠한 과정을 거치는지 알아보자.
① 전송 블록 당 CRC 삽입
여기서 전송 블록(transport block)은 physical layer의 전송 단위이다.
미리 말하자면, 전송 블록은 resource안에 담을 수 있는 data의 양이다.
↓
② 코드 블록 당 CRC 삽입
만일 전송 블록이 너무 크다면, 이를 쪼개어준다.
↓
③ 채널 코딩(터보 코딩)
에러 처리를 위한 과정이다.
↓
④ Rate matching & HARQ
Rate matching이란 전송 블록에서 정확하게 주어진 TTL 또는 subframe 내에서 실제로 전송될 비트들을 추출하는 것이다.
HARQ는 이후에 자세히 나오겠지만 에러를 수정·재전송하는 과정이다.
↓
⑤ 스크램블링
간섭을 억제하기 위한 과정이다. 상향링크 간섭을 랜덤하게 한다.
↓
⑥ Data Modulation
자원(Resource Block)
앞으로 자주 나오게 될 자원에 대해 알아보자.
미리 말하자면, 스케줄러는 전송에 사용되는 자원 블록 pair를 매핑하는 역할을 한다.
여기서 자원이란, 아래와 같은 격자를 생각해주면 된다.
가로축은 시간, 세로축은 주파수로 쪼개는데 가로축의 한 element를 (OFDM) symbol라고 한다.
그리고 7개의 symbol이 모여서 하나의 slot이 된다.
여기서 symbol은 bits를 싣고 있는데, 예를 들어 QPSK를 사용한다면 여기서 Q는 4가지 경우가 가능함을 의미하므로 결국 각 symbol은 2 bits를 싣는다는 것이다.
추가적으로 얘기하자면, 7개의 symbol이 모여 하나의 slot,
2개의 slot이 모여 하나의 subframe(1ms)이 되고,
10개의 subframe이 모여 하나의 frame(10ms)이 되고,
다시 10개의 frame이 모여 하나의 superframe(1s)이 된다.
하나의 Resource Block은 7개의 symbol, 12개의 주파수 칸으로 쪼개질 수 있는데
여기서 기억해야할 것은 스케줄러는 항상 자원블록을 "pair" 즉, 2개씩 할당한다는 것이다.
그럼 총 14개의 symbol을 할당한다는 뜻이 되는데, 14개 중 2-3개의 symbol은 reference signal 전송에 사용된다.
signal에 대해서는 이후에 설명하겠다.
또한, 계속해서 언급되는 channel은 resource block들의 집합으로, frequency + time의 집합이 된다.
OFDM
wifi는 시간만 쪼개서 전송하는 반면 LTE·5G는 시간·주파수를 orthogonal하게 쪼갠다.
여기서 주파수를 쪼개는 이유는
① 주파수 대역이 넓을수록 많은 힘이 쓰이므로 통신 거리가 짧아지며,
② 주파수마다 도착시간이 달라 상호간섭이 발생하기 때문이다.
따라서 주파수가 서로 간섭을 일으키지 않도록 쪼개준다.
PUSCH 주파수 호핑
VRB(Virtual Resource Block)를 PRB(Physical Resource Block)에 매핑하여 전송을 분산한다.(분산형 전송)
① 연속적인 pair는 불연속적이게 되도록,
② 같은 pair내에서도 주파수 호핑이 이루어진다.
즉, 같은 data를 나눠서 전송하여 다같이 망하는 것을 방지한다.
Reference Signal
2가지 종류가 있다.
DM-RS(Demodulation RS) SRS(Sounding RS) - coherent demodulation을 위한 채널 추정에 사용된다.
즉, data를 읽어내기 위해 삽입한 symbol이다.
- 따라서 항상 data(PUCCH, PUSCH)와 함께, 같은 대역폭에서 전송된다.- 채널에 따른 스케줄링 및 링크 적응을 위한 채널 추정에 사용된다.
즉, data와 독립적이며 채널 상태를 추정하기 위한 signal이다.
*스케줄링 : 어떤 채널이 좋은가? → 좋은 채널 할당
*링크적응: 속도조절(#bits/symbol) & 채널코딩(redundant bits를 얼마나?)SRS에 대해서 좀 더 자세히 설명해보자면
- SRS를 통해서 얻어진 채널 정보는 하향링크에서도 사용된다.
∵ channel reciprocity: 하향링크와 상향링크는 채널 상태가 동일하다.
- 상향링크로 보낼 data는 없지만 상향링크 전송이 필요한 경우에도 사용 가능하다.
ex) 시간 정렬(timing alignment)
- 만일 PUSCH와 함께(즉, 같은 시간에) 전송된다면, 다른 주파수/더 넓은 주파수에서 전송된다.
SRS 전송 역시 두가지로 나눌 수 있다.
주기적 SRS 전송 비주기적 SRS 전송 - 전체 frequency에 대해 조사한다.
- 서브프레임의 마지막 symbol에서,
TDD에서는 UpPTS(Uplink pilot time slot)안에서 전송된다.
- 셀(기지국이 서비스할 수 있는 영역) 내에서도 두가지 방법으로 나뉘는데,
① 한번에 전체 주파수 대역을 조사하거나
② 협대역을 호핑해가면서 조금씩 조사하는 방법이 있다.
여기서 협대역은 4개의 자원블록으로 이루어져 있으며,
광대역은 최대 4개의 협대역을 가질 수 있다.
따라서 SRS 대역폭은 4개 자원블록의 배수로 이루어진다.)
굳이 2번 방법으로 하는 이유는 협대역 주변 주파수의 상태를 추정할 수 있기에 더 많은 정보를 얻을 수 있고,
다같이 망하지 않기 위해서... 로 추정해볼 수 있다.- 실제로 단말기가 사용하는 대역을 조사한다.
- 스케줄링 승인의 일부로서
- PDCCH상의 시그널링(SRS trigger)으로 수행되는 한 번의 전송이다.
즉, 기지국이 단말기에게 PDCCH(채널)을 통해 scheduling grant를 전송할 때, scheduling grant에는 SRS trigger가 포함되어 있다.
- SRS를 어디에? → SRS trigger에 명시되어 있다.
- 언제 전송? → 상위계층 시그널링에 명시되어 있다.
- 서로 다른 파라미터 집합을 설정할 수 있다. (파라미터에 대한 정보는 PDCCH/EPDCCH L1/L2 제어 시그널링 정보 안(DCI header 안)에 2bits로 들어있다. 3개의 조합이 가능하며, 네번째는 전송을 하지 않겠다는 의미이다.주기적 SRS 전송의 2가지 방법 다중 안테나 전송
링크 성능/시스템 성능을 향상시키는 방법이다.
어떻게?
① 최대 4개 layer까지의 공간 다중화를 지원하는 안테나 프리코딩
최대 4개 layer가 가능하므로 최대 4개의 안테나 포트를 사용할 수 있다.
*공간 다중화: 같은 자원을 사용해서 복수 개의 전송을 동시에 수행한다.
→ 데이터 속도와 주파수 효율을 높일 수 있다.
② 송신 다이버시티: fading 현상(신호감쇠)를 줄여서 항상 일정한 강도로 수신할 수 있게 하는 방식이다.
동일한 정보를 겹쳐서 수신한다.
→ 제어 채널의 성능을 향상시킬 수 있다.
(제어 채널에서 성능은 속도가 아니라 신뢰도를 의미한다.)
MU-MIMO
MIMO는 multi-input, multi-output 즉, 여러개의 안테나를 의미한다.
다른 단말이 동일한 시간·주파수 자원을 사용하여 전송하는 것을 의미한다.
이들 전송을 구분하기 위해서 기지국에서의 복수 개의 수신 안테나를 사용하므로
공간분할 다중접속(Space Division Multiple Access)라고도 한다.
여기서 SU-MIMO는 같은 단말이 전송하는 것을 의미하며 공간다중화라고도 한다.
MU-MIMO, SU-MIMO를 효율적으로 섞어서 사용할 수 있다.
SU-MIMO는 사용자 throughput과 최대 데이터 속도가 높다는 장점이 있으며
MU-MIMO는 단말의 구현 복잡도가 낮다는 장점이 있다.
다시 말해, 단말의 복수 개의 안테나 없이도 SU-MIMO와 비슷한 시스템 용량에서의 이득을 얻을 수 있다.
또한 2개의 단말이 공간적으로 상당히 떨어져 있으면 SU-MIMO보다 전송 구분이 수월하며,
전송을 구분할 수 있는 방법이 다양한다.
예를 들어, 서로 상관도가 높은 수직 안테나에 기반한 빔포밍 방식을 사용할 수 있다.
만일 상관도가 낮다면, SU-MIMO의 경우와 비슷하다.
*빔포밍 방식: 안테나의 빔을 특정 단말에게만 비추는 기술
다만 MU-MIMO는 단말들을 pairing하기 어렵다.
서로 다른 단말의 reference 신호 전송 사이의 직교성을 보장해야 하기 때문이다.
여기서 직교성은 사용자의 위치·각도·거리에 따라 공간적으로 구분한다.
참고로 위 사진에서 안테나 포트는 안테나와 다른데,
안테나 element가 실제라면, 이를 프리코딩을 통해 조합하여 가상으로 만들어낸 것이 안테나 포트라고 할 수 있다.
상향링크 L1/L2 제어 시그널링
*L1: Layer1, physical layer
*L2: Layer2, data link layer
------------------------------------------------------------------------------------------------
※ 참고로 시그널링(Signaling)과 시그널(Signal)은 다르다.
Signal은 신호이다. 정보가 아니다.
즉, 원초적인 전송(sine파)이다.
전송이 얼마나 훼손되었는가를 통해 채널의 훼손 정도를 파악한다.
Signaling은 제어 정보 즉, bit이다.
header 값들을 전송하며
스마트폰이 파악한 채널 상태를 기지국에게 알려주는 정보이다.
------------------------------------------------------------------------------------------------
제어 시그널링은 3가지가 있다.
① DL-SCH 전송 블록에 대한 HARQ acknowledgement
② 하향링크 스케줄링 지원을 위한 하향링크 채널 상태 보고(CSI)
③ 단말이 UL-SCH 전송을 위해 상향링크 자원을 요청하는 스케줄링 요청(SR)
(여기서 scheduling grant에 UL-SCH의 전송 포맷이 포함되어 있다.
따라서 포맷을 굳이 명시해줄 필요가 없다.)
제어 시그널링은 단말이 UL-SCH data를 가지고 있는지와 무관하다.
Release10 이후에는 단말에 충분한 송신 전력이 남아있다면 PUSCH, PUCCH를 동시에 전송할 수 있다.
하지만 그렇지 않다면 아래의 경우로 구분해서 전송하는데
그 이유는 power가 부족하다면, 넓은 주파수 대역을 사용할수록 왜곡이 심해지기 때문에
cubic metric(신호 왜곡의 정도)를 최소화하고, 상향링크 전력 증폭기의 효율을 높이고, 커버리지를 극대화하기 위함이다.
*커버리지: 품질을 유지하면서 양호한 통신이 가능한 영역
- 할당받은 상향링크 자원이 있다면 UL-SCH 자원과 함께 PUSCH로 시간다중화한다.
즉, 제어 시그널링 정보를 PUSCH에 data와 함께 보낸다.
- 그렇지 않다면, 별도의 자원을 할당받아 PUCCH를 사용하여 전송한다.
※ 참고로 제어 시그널링이 PUCCH, PUSCH 두 채널을 모두 사용하여 전송되는 경우는 없다.
PUCCH 자원 블록 매핑
PUCCH 자원 인덱스는 여러 개의 PUCCH 자원 블록 pair에 매핑된다.
위 그림과 같이 자원 블록 pair는 할당된 대역폭 내에서 극과 극으로 주파수 호핑된다.
왜 하필 극과 극인가?
① 최대한 서로 멀리 떨어져있는 주파수에서 전송하여 제어 시그널링의 주파수 다이버시티를 극대화하기 위해서이다.
*주파수 다이버시티: 동일한 전송을 통해 신뢰도를 높이는 방법이다.
② 스펙트럼 내의 가장자리가 아니라면, PUCCH를 위한 자원 할당에 의하여 상향링크 스펙트럼이 쪼개지게 되어.
낮은 cubic metric 특성을 유지하면서 단일 단말에 넓은 전송 대역폭을 할당하기 어렵게 된다.
"PUCCH"상의 상향링크 제어 시그널링
하나의 PUCCH 구조에서 동시에 복수 개의 제어 시그널링 msg를 전송할 수 있다.
위에서 설명한 세가지 제어 시그널링(HARQ, SR, CSI)을 차례대로 자세히 설명하자면,
1. HARQ acknowledgement
ack의 bits수에 따라 PUCCH 포맷이 결정된다.
PDCCH상에서 DL-SCH 전송과 관련된 제어 시그널링을 올바르게 수신한 경우에만 ack를 전송한다.
2. Scheduling Request
경쟁 없는(contention-free) 스케줄링 요청 방식을 지원한다.
경쟁 기반(contention-based)의 방식을 사용할 경우
스케줄링 요청이 많아질수록 충돌이 발생할 확률이 높아지기 때문이다.
따라서 단말에게 따로 상향링크 자원을 요청할 수 있는 자원을 할당해준다.
이는 매 n번째 subframe마다 PUCCH 포맷 자원 인덱스에서 발생하는데,
요청 기회가 많아질수록 지연 시간은 줄어들지만 자원 소모가 많다는 단점이 있다.
HARQ ack와는 달리 스케줄링 요청에는 명시적인 정보 비트가 전송되는 것이 아니라,
PUCCH상의 에너지의 존재 여부에 의해 전달된다.
3. Channel State Information
CSI 보고는 하나의 서브프레임 내에서 bits로 전송되며 두가지 타입이 있다.
① 주기적 보고
② 하향링크 제어 시그널링에 의해 발생하는 비주기적 보고
"PUSCH"상의 상향링크 제어 시그널링
PUSCH 상으로는 HARQ acknowledgement, CSI 보고만이 전송된다.
제어 시그널링이 PUSCH상으로 전송된다는 뜻은 단말이 이미 스케줄링 되어있다는 의미이기 때문이다.
1. HARQ acknowledgement
ack의 개수, bits 수에 따라 달라진다.
1-2개의 ack에 대해서는 QPSK가 적용된다.
더 많은 bits의 ack에 대해서는 데이터에서 사용된 것과 동일한 modulation이 사용된다.
2비트 보다 큰 경우, 채널 코딩은 PUCCH와 동일하게 적용된다.
20비트가 넘는 경우에는 번들링이 적용된다.
또한 HARQ ack는 reference symbol 가까이에서 전송된다.
왜?
reference symbol에 가까울수록 채널 추정의 성능이 우수하기 때문이다.
이는 높은 도플러 주파수로 인해(단말이 빠르게 이동하여) 슬롯 내에서 채널이 빠르게 변화하는 환경에서 중요하다.
*도플러 주파수: 송신 주파수와 수신 주파수의 차
2. Channel State Information
CSI 보고는 세가지로 구성되어 있다.
① CQI: Channel Quality Indicator
② PMI: Precoding Matrix Indicator
③ RI: Rank Indicator
CSI 보고의 크기에 따라 채널 코딩이 달라지게 된다.
송신 전력은 서브프레임동안 일정하게 유지되는 대신,
제어 시그널링의 코딩률을 조절하기 때문에 자원 엘리먼트의 양이 달라지게 된다.
※ 참고로 코딩률이 높아질수록 필요한 자원 엘리먼트의 양이 줄어든다.
상향링크 전력 제어
상향링크로 전송시 demodulation이 가능하도록 충분한 전력이 공급되어야 한다.
그러나 과도한 전력은 불필요한 간섭을 유발할 수 있다.
따라서 전력 제어가 필요한데, 이는 링크 적응(전송 속도 제어)와 관련이 있다.
LTE의 상향링크 전력 제어는 개루프 방식과 폐루프 방식의 조합이다.
*개루프 방식: 송신 전력이 하향링크 경로 감쇄에 따라 달라진다.
즉, feedback이 존재하지 않는다.
*폐루프 방식: 기지국이 명시적인 전력 제어 명령을 통해 직접 제어한다.
우선 전력 할당의 기본법칙을 알아보자.
① 각 물리 채널은 독립적으로 전력 제어된다.
② 그러나 CA가 가능한 경우, 단말의 최대 출력 전력(P_TMAX)를 고려해주어야 한다.
③ 가장 중요한 것이, 제어 시그널링은 데이터 전송보다 높은 우선순위를 갖는다.
즉, 제어 시그널링의 안정적인 전송을 보장한다.
PUSCH 전력 스케일링은 다음과 같다.
자세히 설명해보자면, w_c는 반송파 c상의 PUSCH에 대한 전력 스케일링 계수이다 (w_c <= 1).
P_PUSCH,c는 반송파 c상의 PUSCH에 대한 송신 전력이다.
P_TMAX는 단말의 최대 출력 전력이며, P_PUCCH는 PUCCH에 대한 송신 전력이다.
여기서 하나 생각하고 넘어가야할 것이
제어 시그널링이 PUSCH로 전송되는 경우라면 즉, P_PUCCH=0이라면,
제어 시그널링을 전달하는 PUSCH에 대해서는 스케일링 계수인 w_c가 1로 설정되어야 한다는 것이다.
PUCCH 전력 제어
PUCCH상으로 전송된 L1/L2 제어 시그널링이 정상적으로 demodulation 되기 위한 전력이다.
우선 디코딩 성능은 수신 신호 강도가 아니라 수신된 SINR에 의해 결정되며
요구되는 수신 SINR은 PUCCH 포맷에 따라 달라지므로 이를 고려해주어야 한다.
PUCCH를 위한 전력 제어는 다음과 같다.
P_CMAX,c는 반송파당 최대전력을 의미한다.
P_0,PUCCH는 기지국이 기대하는 수신 파워 즉, 도착 파워를 의미한다.
PL_DL은 하향링크 경로 감쇄값이며 단말에 의해 추정된다. → 여기까지가 개루프 방식
△_FORMAT은 포맷의 견고성에 따른 오프셋이다.
위에서 설명했듯이 서로 다른 PUCCH 포맷에 대한 서로 다른 SINR 요구 조건을 반영한 전력 제어이다.
마지막 델타는 하향링크 스케줄링 할당에 포함된 명시적인 전력 제어 명령으로
4가지 단계(-1 dB, 0 dB, +1 dB, +3 dB)로 이루어져 있다. → 폐루프 방식
상향링크 시간 정렬
LTE 상향링크는 셀 내에서의 직교성을 보장하는데, 이를 위한 요구사항이 timing advance이다.
따라서 이를 위해 DownLink 즉, 기지국을 중심으로 단말의 송/수신 틀을 조정한다.
만일 기지국, 단말이 동일한 송/수신 틀을 가지고 있다면 propagation delay로 인해 송/수신이 겹치게 되므로
단말이 propagation delay만큼 먼저 전송하여 기지국이 알맞은 timing에 수신할 수 있도록,
기지국이 자신의 timing에 맞춰 전송한 subframe이 단말의 time frame에 맞춰 도착할 수 있도록
각 단말에 대해 음수 오프셋을 적절하게 제어하는 것이다.
*음수 오프셋: 수신된 하향링크 서브프레임의 시작과 전송되는 상향링크 서브프레임 사이의 오프셋
기지국은 단말의 상향링크 전송을 통해 상향링크 수신 타이밍을 추정하고,
이를 timing advance 명령을 주는 데 사용한다.
※ 참고로 오프셋을 측정하기 위해 원칙적으로 기지국은 단말로부터 전송되는 어떠한 신호도 사용할 수 있으나,
주기적으로 측정하는 신호로 SRS가 주로 사용된다.
T_A,1, T_A,2가 timing advance 오프셋이다. '4G' 카테고리의 다른 글
12장. 반송파 결합(Carrier Aggregation) (0) 2021.05.08 11장. 엑세스 절차 (0) 2021.03.09 10장. 채널 상태 정보 및 Full-Dimension MIMO (0) 2021.03.02 9장. 스케줄링 및 전송 속도 적응(rate adaptation) (0) 2021.02.22 8장. 재전송 프로토콜 (0) 2021.01.30