D2D Link Scheduling Algorithm (4) - FlashLinQ
앞서 D2D link scheduling algorithm이 왜 필요한지 알아보았으므로, 이번에는 D2D link scheduling algorithm 중에 하나인 FlashLinQ에 대해 배경 및 개념을 조사하고, 시뮬레이션을 돌린 뒤, capacity를 비교해 보았습니다.
1. 배경 및 개념
FlashlinQ는 Qualcomm사의 독자 규격 D2D 시스템으로써 인접성 인지 기술 및 자원할당, 링크 관리 등의 기술을 포함하고 있습니다. FlashlinQ는 면허 대역에서 최대 1 km이내의 수천 개의 단말 간의 통신을 지원하여 Wi-Fi direct등의 경쟁 D2D 통신기술에 비해 넓은 커버리지 및 확장성을 제공합니다. 타 기술과 비교하여 FlashlinQ만의 두드러지는 특징으로는 외부 셀룰러 기지국을 이용하여 각 노드들 간의 시간 동기화를 할 수 있다는 점과 단일 톤 OFDM(orthogonal frequency division modulation) 신호를 사용한다는 것입니다.[1]
[1] - 한성민, 권태수, 최지웅 “5세대 무선네트워크에서의 인접성 인지 기술”
저희는 FlashLinQ의 피어탐색, 페이징과 같은 사전에 필요한 과정들을 제쳐두고, FlashLinQ의 Link scheduling algorithm에 대하여 논의하였습니다.
2. Scheduling Algorithm
다음과 같은 three link 환경을 가정합니다.

위의 link 환경에서, 각각의 Rx와 Tx의 우선순위는 이미 결정되어있다고 생각하고(피어탐색, 페이징 과정에서 이 순서를 결정합니다.), Rx일딩(yielding) 과정과 Tx일딩(yielding) 과정을 순서대로 수행합니다.
각각의 일딩 과정에서 수행하는 알고리즘은 다음과 같습니다.
2-1. Rx 일딩
먼저 수신기는 송신기로부터 오는 신호를 청취하여 signal-to-interference ratio (SIR) 값을 계산합니다. 계산된 값을 임의의 문턱값 γRx와 비교하여 SIR의 값이 문턱값보다 높을 경우에만 송신기에 송신응답 신호를 전달하게 됩니다. (송신기가 송신응답 신호를 받지 못할 경우 송신기는 메시지를 전달하지 않습니다.)
다음은 three link 환경에서 SIR의 계산식입니다.

여기서 hRi,Tj는 j번째 송신 노드와 i번째 수신 노드 사이의 채널 이득입니다.
이처럼 수신노드가 SIR값을 측정/비교하고, 전송응답 신호의 전송여부를 결정하는 과정을 Rx일딩이라고 합니다.
2-2. Tx 일딩
Rx 일딩 과정을 수행한 후, Rx 일딩 과정을 만족한 모든 수신노드들은 전송응답 신호를 송신기에서 받은 신호전력에 반비례하는 전력으로 전송합니다. 이를 수식으로 나타내면 다음과 같습니다.

즉 P̃i신호는 자신의 link 채널에 대한 정보를 담고 있습니다.
따라서 각각의 채널을 통과한 후 3번 송신노드가 수신하는 신호는 각각 $|h_{T3,R1}|^2{\widetilde{P}}_1$, $|h_{T3,R2}|^2{\widetilde{P}}_2$가 됩니다. 이로부터 3번 송신 노드는 자신의 간섭 영향으로 인해 1, 2번 링크들의 수신 노드가 얻을 수 있는 SIR값을 추정할 수 있습니다. 이를 수식으로 표현하면 다음과 같습니다.

이를 통해 송신 노드는 SIR로 자신의 영향으로 인한 다른 노드의 영향을 계산할 수 있습니다.
즉 문턱값을 정해두고, 자신의 영향으로 인해 자신보다 우선순위가 높은 노드의 통신이 방해된다면(문턱값 아래가 된다면) 정보를 송신하지 않는 과정을 Tx일딩 과정이라고 합니다.
3. Matlab simulation
Rx일딩 Tx일딩 과정이 어떻게 진행되는지 알아보았으므로, 이를 Matlab을 통해서 simulation을 진행하였습니다.
3-1. FlashLinQ simulation
위의 scheduling algorithm을 matlab을 통해 구현한 결과는 다음과 같습니다.
Rx 문턱값과 Tx 문턱값 모두 3으로 설정하였습니다. 또한 link의 개수를 1에서부터 1000까지 바꿔가며 one channel capacity와 total channel capacity를 구한 그래프입니다.

FlashLinQ에서 one channel capacity는 No scheduling 상황과는 달리, 특정한 문턱값 아래로는 줄어들지 않음을 확인할 수 있었습니다.
3-2. Compare FlashLinQ & No scheduling
다음은 FlashLinQ의 스케쥴링 알고리즘을 사용한 경우와 스케쥴링 알고리즘을 사용하지 않았을 때를 비교한 그래프입니다.
위의 결과를 통해 FlashLinQ의 스케쥴링 알고리즘을 사용하였을 때 total channel capacity가 30~40%정도 상승함을 알 수 있었습니다. 즉 D2D link power control 알고리즘을 사용하면 전체 채널 환경이 더욱 좋아짐을 확인할 수 있었고, D2D link power control 알고리즘이 필요함을 matlab을 통해 검증할 수 있었습니다.
아래는 위의 시뮬레이션 환경을 만들기위한 Matlab 코드입니다.