정보공간_1

[4기 부산 오세빈] 휴대폰은 어떻게 채널을 할당 받을까?! part 1/2 본문

IT 놀이터/Elite Member Tech & Talk

[4기 부산 오세빈] 휴대폰은 어떻게 채널을 할당 받을까?! part 1/2

알 수 없는 사용자 2013. 12. 5. 01:03


안녕하세요!!

부산멤버십 22-1기 오세빈입니다.


이번에는 전공에 관련된 이야기를 해보고자 합니다.

제가 전공이 "정보통신공학과"라서 통신에 대해서 많이 배우게 되는데 그중에서 좀더 실생활에 밀접한 관련이 있는 모바일과 기지국간의 통신에 대해서 주제를 잡아보겠습니다.


초가을에 부산에서 불꽃축제가 있었습니다.

굉장히 많은 인파가 몰렸는데 광안리 바닷가에 그 많은 사람들이 휴대폰으로 사진도 찍고 카톡도 하고 통화도 했겠죠?! 과연 원활하게 휴대폰을 이용할 수 있었을까요? 아마 통화불량이나 인터넷이 잘되지 않았을 겁니다. 바닷가에 있는 기지국에서 그 수많은 트래픽을 감당할 수 없었겠죠.


유동인구가 한 공간에 굉장히 밀접했을 경우 기지국은 자신이 가지고 있는 통신 채널이 부족하게 됩니다. 하지만 이를 극복하는 방법이 있죠. 바로 동적채널할당 이라는 방법입니다.


채널 할당 방법은 크게 두 가지로 나눌 수 있습니다. FCA(Fixed Channel Allocation)와 DCA(Dynamic Channel Allocation). 저는 이 두가지를 시뮬레이션을 통해 DCA 방법이 훨씬 나은 성능을 보여준다는 것을 증명하려고 합니다.


밑의 내용은 제가 작년에 연구실에서 연구를 진행하며 논문을 제출한 내용이므로

평서체를 쓰는 것을 양해 부탁드립니다.


셀룰러 시스템의 기본적인 개념을 밑의 그림으로 도식화 하였다. 이 시스템에서 전체 서비스 영역은 다수의 셀이라고 불리는 작은 영역으로 분할됩니다. 


각 셀의 중심에 위치한 기지국은 통화를 시작할 때 셀 내에서 이동 단말기들을 위해 다수의 트래픽 채널을 할당합니다. 셀룰러 시스템의 가장 일반적인 특징 중 하나는 다른 셀들이 충분히 멀리 떨어져 있다면 서로 다른 셀들에서 동일한 트래픽 채널이 동시에 할당될 수 있다는 점이다. 


만약 가까운 셀에서 동일한 채널이 할당되면, 각 셀은 다른 셀에 동일 채널 간섭을 야기하고 전송 품질을 저하시킨다. 그러나 같은 채널을 가지는 셀들이 적절하게 위차하게 되면, 이 간섭은 셀 간의 거리에 비례해 약화된다. 전송품질은 이러한 간섭에 의해 저하되지 않고 전체 시스템의 무선자원은 효과적으로 사용될 수 있다.


그림에서 4개의 기지국은 R0, R1, R2, R3 이고 4명의 사용자는 T0, T1, T2, T3 이다여기서사용자 Ti는 기지국 Ri에 연결되어 있고 4명의 사용자 모두는 동일한 트래픽 채널을 할당 받았다고 가정한다.


[그림 1]


이 가정에 의해사용자 T0에 대한 반송파 대 잡음 간섭의 비(C/(N+1))Rcni를 다음과 같이 유도할 수 있다.



 

예비적인 서비스 품질을 위해 적절한 C/(N+I) 비를 달성하기 위해서 몇 가지 채널할당 알고리즘이 현재의 시스템에서 사용 중이다이러한 채널 할당 알고리즘의 두 주요 예로써 FCA(Fixed Channel Allocation)와 DCA(Dynamic Channel Allocation)가 있다. FCA 는 기지국 당 고정된 채널 할당을 수행하는 알고리즘이다. FCA 의 예를 [그림 2] 에 보였는데 셀 내의 사용자가 다른 셀로부터 최소의 동일채널 간섭을 받도록 각 기지국에 4개의 채널을 할당했다반면, DCA 의 경우기지국은 시스템의 모든 채널을 조종할 수 있고 간섭조건을 최소화하기 위해 적당한 채널을 동적으로 할당한다.



[그림 2]


DCA의 개념을 밑의 그림에서 보였다. DCA 알고리즘은 FCA 보다 높은 수용능력을 달성할 수 있고 트래픽의 변동에 보다 유연하게 대처할 수 있는데이는 모든 채널의 사용자의 요구에 다라 적응적으로 할당되기 때문이다. FCA 의 경우, 하단의 왼쪽 그림 에서와 같이 기지국 당 채널의 수가 고정적으로 제한되어 있기 때문에 셀 내의 두 번째 사용자는 콜 차단을 경험하게 된다반면 하단 오른쪽 그림에 보인 바와 같이 DCA 의 경우는 기지국들은 모두 적응적으로 할당될 수 있는 채널을 공유하고 이로 인해 FCA 에서 발생하는 콜 차단의 발생을 감소시킨다그러나 DCA 는 FCA 에 비해 간섭측정과 채널 Searching 과 같은 보다 복잡한 제어방식을 필요로 한다.

 



  



[그림 3]


본 과제에서는 차단확률과 강제된 종료확률의 두 가지 측정치에 중점을 두도록 한다차단확률은 새로운 콜이 C(N+1) 비 조건을 만족시키는 적당한 채널을 찾는데 실패할 통계적인 확률로 정의된다차단확률이 새로운 콜에 관련된 측정치이지만연결된 콜이C(N+1) 비 조건의 급격한 저하로 끝마치기 전에 차단될 수 있다그래서 강제된 종료확률을 연결된 콜이 종료되기 전에 차단될 확률로 정의한다만약 Call_Num, Block_Num, Force_Num을 각각 생성된 콜의 수차단된 콜의 수강제된 종료 콜의 수로 정의하면차단확률 P_bl 과 강제된 종료확률 P_fo 는 다음과 같이 주어진다.



이 두 가지 성능측정으로 셀룰러 시스템의 성능을 평가할 수 있다.

전체 시뮬레이션 과정은 그림에서 볼 수 있다시뮬레이션은 세 가지의 부분 : 준비부분메인루프부분출력부분으로 나누어 구성되며 준비부분에서는 메인 루프 시작 전에 셀 레이아웃이나 트래픽 인자와 같이 시뮬레이션에 필요한 몇 가지 정보부분을 지정한다.


[그림 4]


메인 루프는 준비된 종료시간을 갖는 while 루프로 활동을 개시한다전체 루프를 통해현재 사용자의 상태가 체크되고 필요하면 짧은 시간간격 주기 안에 새롭게 설정된다몇 가지 상태지표가 연속적으로 행렬에 저장된다.

루프의 모든 시간주기에서 각 사용자는 상태 행렬에 기반 하여 콜 시작채널 서칭채널 할당채널 재할당콜 종료와 같은 여러 이벤트들이 발생한다시간 주기 안에 다음 이벤트가 순서대로 고려된다.

 

⓵ 이 주기 안에 통화가 종료되면 연결된 사용자의 콜은 종료된다.

⓶ 여전히 연결된 사용자의 콜이 조사된다바람직한 간섭조건이 만족되지 못하면 새로운 채널을 찾아 재 할당을 시도한다.

⓷ 준비된 확률로 연결되지 않은 사용자가 새로운 콜을 시작하고 간섭조건을 만족하는 채널을 찾는다.

⓸ ⓵으로 되돌아간다.

몇 가지 형태의 수치 데이터 또한 모든 주기에서 측정된다.

마지막으로 출력부분에서 메인루프에서 측정되고 저장된 데이터가 출력행렬과 텍스트 파일 형태로 구성되고 저장된다.



본 과제에서 시뮬레이션할 셀 레이아웃은 그림 5에서 볼 수 있다시뮬레이션에서는 19개의 반지름 1인 6각형 셀을 사용한다이러한 셀들이 19개의 기지국의 위치에 의해 결정되며 기지국의 위치는 base_set.m 안에서 결정되고 이 정보는 “base_info” 19X2 행렬에 저장된다예를 들어, “base_info(5,1)” 과 “base_info(5,2)”는 각각 5번째 기지국의 x, y 좌표를 나타낸다시뮬레이션에서 사용자의 수는 데이터를 갖는 9개 셀들에 분산되어 있다.

 

[그림 5]



DCA 알고리즘을 사용하는 셀룰러 시스템의 경우이웃 셀들로부터의 동일 채널 간섭이 샘플 셀의 성능에 중요한 영향을 미치므로 하나의 샘플 셀뿐만 아니라 이웃 셀들을 고려해야 한다


예를 들어, 5번 셀은 1, 4, 14, 15, 16, 6번 셀로부터 간섭 받을 수 있다. 2번 혹은 3번 셀과 같이 보다 멀리 떨어진 셀들도 5번 셀과 간섭할 수 있으나 이러한 간섭은 거리에 의해 무시할 수 있을 정도로 감소된다고 가정하고시뮬레이션에서 바로 이웃한 6개의 셀만 고려한다반면에 셀 레이아웃의 경계에 위치한 9번 셀의 경우 10, 2, 8번의 3개의 이웃한 셀이 존재한다


이러한 경계에 있는 셀은 안에 위치한 셀과 다른 성능을 갖게 되는데 예를 들어 9번 셀은 셀에 간섭을 야기하는 셀이 2번 셀보다 적기 때문에 보다 더 나은 성능을 갖는다결국 내부 셀뿐만 아니라 경계 셀까지 고려하면 DCA 성능을 적절하게 평가하지 못한다그래서 이러한 문제를 피하기 위해 두 가지 해법이 사용될 수 있다


하나는 그림 5에서 1번부터 7번까지의 내부의 셀만을 고려하고 외부 경계족의 셀들을 배제하는 것이다이러한 내부 셀들은 모두 6개의 이웃한 셀들로부터 간섭받기 쉽고 DCA 알고리즘의 성능을 밝혀줄 수 있을 것 이라 기대된다하지만 경계 셀들이 출력 데이터에 기여하지 못하기 때문에 적절히 평균된 데이터를 얻기 위한 전체 셀 레이아웃을 구성하기 위해서 보다 많은 셀을 필요로 하고 이는 시뮬레이션의 부하를 증가시키는 결과를 낳는다.


다른 해결법은 -랩핑 기술을 사용하는 것이다그림 6은 이 기술의 개념을 보여준다이 기술에서는 경계 셀은 거의 정반대인 셀 레이아웃에 위치한 경계 셀의 이웃으로 간주된다그림 7에서 단지 19개의 푸른색이 있는 셀만이 실제로 존재하고 다른 셀들은 동일한 수를 갖는 실제 셀의 복제이다결과적으로 9번 셀은 10, 2, 8번 셀로부터의 간섭뿐만 아니라 이웃한 위치에서 13, 17, 14번 셀의 복제에 의한 간섭의 영향도 받게 된다

이런 가정 하에 셀 레이아웃 내의 모든 셀은 6개의 이웃을 갖는 내부에 존재하는 셀로 간주될 수 있다.


셀 랩핑을 구현하기 위해 19 X 19 wrap_data 행렬이 생성되고 행렬 wrap_data 에는 셀 랩핑을 포함한 19셀의 관계를 밝혀준다.

 





[그림 7]


시뮬레이션에서 사용자 분포는 전체 셀 레이아웃뿐만 아니라 한 셀 내에서 균일하다고 간주하며 이러한 조건은 많은 작은 망에 분포한 셀에 의해 구현된다. cell_mesh.m 시뮬레이션에서 망 생성기의 역할을 하고 셀 내의 망의 수를 변수 cell_num 으로 출력하고 각 망의 위치를 저장하는 cell_num X 2 의 행렬 mesh_position 을 출력한다.


그림 8에서 생성된 셀 망을 볼 수 있다. Fineness 는 정밀도를 나타내는 인자이고 시뮬레이션에서 값을 50 으로 설정하였다시뮬레이션에서 사용자가 콜을 시작할 때, 1에서 “mesh_num”사이에서 균일하게 변하고 사용자를 셀 내의 mesh_position 위치로 위치시키는 랜덤변수 mesh를 생성한다사용자는 콜 시작 때 셀 내의 mesh_num 의 특정 지점에 동일한 확률로 분산되어 셀 내에서 균일한 사용자 분포를 얻게 된다.


[그림 8]




여기까지 시뮬레이션을 위한 Set up 과정이 거의 마무리 되었구요.

이제 해당 영역에서 발생될 트래픽 즉, 통화량을 정하고 신호 감쇠 등의 수치를 정할 차례입니다. 파트2에서 이어서 가겠습니다. 참고로 지금까지 제시한 모든 내용은 Matlab 에서 실행한 데이터와 자료입니다.