일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Neural Network
- SSM
- 나르왈프레오
- Bidirectional Associative Memory
- Python
- 삼성소프트웨어멤버십
- 패턴 인식
- hopfield network
- 신경망
- 물걸레자동세척로봇청소기
- NarwalFreo
- 동아리
- 고려대학교
- 신경회로망
- 가상화
- 하이퍼바이저
- 빅데이터
- 삼성전자 소프트웨어멤버십 SSM
- 멤버십
- 파이썬
- 물걸레로봇청소기추천
- BAM
- 구글 앱 엔진
- 증강현실
- 삼성
- 패턴인식
- Friendship
- Google App Engine
- 인공지능
- 갤럭시탭S8울트라
- Today
- Total
정보공간_1
[4기 부산 오세빈] 휴대폰은 어떻게 채널을 할당 받을까?! part 1/2 본문
[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 에서 실행한 데이터와 자료입니다.
'IT 놀이터 > Elite Member Tech & Talk' 카테고리의 다른 글
[4기 부산 오세빈] Meemoo!! (0) | 2013.12.05 |
---|---|
[4기 부산 오세빈] 휴대폰은 어떻게 채널을 할당 받을까?! part 2/2 (0) | 2013.12.05 |
[4기 부산 김한남] 분산 컴퓨팅 시스템과 BitTorrent (0) | 2013.12.04 |
[4기 대구 유승범] DSP의 활용 (0) | 2013.12.04 |
[4기 대구 유승범] 효율적인 하드웨어 설계 및 활용 (0) | 2013.12.04 |