MOB_NBR-ADV 메시지는 주변 BS들에 대한 정보를 MS에게 알려주어 Handover를 지원하기 위한 것으로 OPNET WiMAX 모델에서도 사용된다. 다음 그림은 OPNET WiMAX 모델에서의 MOB_NBR-ADV 메시지가 전송되는 절차를 나타낸 것이다.

 


시뮬레이션이 시작되면 각 BS는 주변의 BS들중에서 자신과 같은 이웃그룹에 속하는 BS들을 파악하여 Neighobr Advertisement를 위한 BS 목록 정보를 구성해둔다. (BS가 어떤 이웃그룹에 속할지의 여부는 각 BS에서 설정해줄 수 있으며, 하나의 BS가 여러 개의 이웃그룹에 속할 수도 있다) 만약 해당하는 BS들의 수가 많다면, 거리가 가까운 BS들을 우선적으로 선택하여 목록을 구성한다.

MOB_NBR-ADV 메시지는 BS로부터 주기적으로 브로드캐스팅되며 그 주기는 BS의 "Neighbor Advertisement Interval" 속성을 통해 변경 가능한데, 기본값은 10 프레임이다.
MOB_NBR-ADV 메시지 전송에는 "wimax_mgmt_mob_nbr_adv" 패킷이 사용되며, 사전에 구성되어 있던 Neighbor Advertisement를 위한 BS 목록 정보가 "Neighbor list 필드에 실려서 전달된다.

Posted by 신상헌
,

Ranging을 위한 CDMA 코드는 144비트의 길이를 가지도록 표준[1]에 정의되어 있으며, 이는 OPNET WiMAX 모델 "wimax_cdma" 패킷의 "CDMA Code" 필드 크기와 일치한다. 하지만, 표준[1]에서는 PRBS(Pseudo-random binary sequence) 발생기를 통해 생성된 144비트 길이의 바이너리 코드를 사용하도록 되어있는 반면, OPNET에서는 실제 코드를 발생시키지 않고 코드값을 구분하는 index만을 사용한다. (시뮬레이션에서는 이런 방법을 사용하여도 별다른 문제가 없다)
다음 그림은 표준[1]의 PRBS 발생기 구조와 발생되는 코드의 종류를 나타낸 것이다.

 

 

표준[1][2]에서 각 용도별 CDMA 코드의 수는 UCD에 의해서 단말로 알려지며, 각 용도별 CDMA 코드의 수는 0 ~ 255이다. ([1][2]의 Table 571 참조) OPNET에서는 기지국 attribute로 설정된 각 용도별 CDMA 코드의 수를 단말이 직접 읽어가며, 이러한 방식을 취한 것은 OPNET WiMAX 모델에는 UCD가 구현되어 있지 않기 때문으로 생각된다. OPNET에서의 각 용도별 CDMA 코드수의 범위는 0 ~ 256으로 표준과 1만큼 차이나는데, 코딩상의 버그라고 생각된다.

 


모든 CDMA 코드 갯수를 더한 총 갯수는 256개 이하여야 하며, OPNET에서도 WIMAXC_MAX_CDMA_NUMBER 값을 이용하여 이를 점검한다(단, CDMA 총 갯수가 256을 초과하더라도 경고 메시지만이 출력되고 시뮬레이션은 계속 진행된다).

 

[1] IEEE 802.16-2009, "Air Interface for Broadband Wireless Access Systems", 2009
[2] IEEE 802.16j-2009, "Air Interface for Broadband Wireless Access Systems Amendment 1: Multihop Relay Specification", 2009

 

Posted by 신상헌
,

OFDMA 방식의 Ranging에서는 CDMA 코드 전송이 필요한데, OPNET WiAMX 모델에서는 CDMA 코드도 역시 패킷 형태로 전달된다. CDMA 코드 정보는 "CDMA Code" 필드에 실리는데, 실제 Binary 코드 값이 아닌 CDMA 코드에 대한 index 값이 사용된다. 각 목적별로 사용되는 CDMA 코드값의 범위는 각 기지국에서 WimaxT_CDMA_Range 구조체 타입의 codeset 배열에 의해서 관리된다. 이 코드값의 갯수는 기지국 attribute에서 설정할 수 있으며, 범위는 0 ~ 256 이다.
다음 그림은 CDMA 코드 전송에 사용되는 "wimax_cdma" 패킷 포맷과 여기에 실리는 CDMA 코드값의 범위를 나타낸 것이다.

 

Posted by 신상헌
,

표준[1]에서 정의하고 있는 Contention-based CDMA BR 절차는 "WiMAX 모델(85) - BR ranging"에서 설명한 OPNET WiMAX 모델 절차와 대부분 일치한다.

 


BR ranging에 사용되는 WIMAX_CID_CDMA_BWR는 wimax_support.h 파일에 -41로 선언되어 있으며, 이는 표준[1]에서는 찾아볼 수 없는 것이다. (표준에 따른 CDMA Allocation IE 할당시에는 CID가 필요하지 않다)
초창기 OPNET WiMAX 모델(Release 5까지)의 경우, Contention-based CDMA BR 절차가 생략되어 있어서 표준과는 크게 다르다는 문제가 있었다. 즉, BW 요청을 위한 CDMA 코드를 전송하는 과정없이, Contention 방식의 BW 요청 영역을 이용하여 바로 대역폭 요청 메시지를 전송했던 것이다. 다음 그림은 Release 5에서의 BR ranging 절차를 나타낸 것이다.

 

 


[1] IEEE 802.16-2009, "Air Interface for Broadband Wireless Access Systems", 2009

 

Posted by 신상헌
,

UL 구간에서 전달할 메시지(사용자 데이터 또는 제어 메시지)가 있을 때, 확보된 대역폭이 없으면 대역폭을 요청하기 위해서 BR ranging이 사용될 수 있다. BR ranging 절차는 "WiMAX 모델(26) - UL 구간의 데이터 패킷 전송"에서 설명한 내용중 BE connection을 위한 contention 방식의 BW 요청절차에 해당한다.
Contention 방식의 BW 요청을 위한 자원 정보는 매 프레임마다 UL-MAP을 통해서 SS들에게 알려지며, 이 때 전송할 데이터가 있으면 SS는 BW 요청을 위한 CDMA 코드를 BS로 보낸다. BS는 수신된 CDMA 코드에 대해서 CDMA Allocation IE로 응답하며, 단말은 CDMA Allocation IE로 할당된 BW 요청 대역폭을 이용하여 대역폭 요청 메시지를 전송한다. 이 요청이 성공적으로 BS에게 전달되고 BW 자원이 할당되면, UL-MAP을 통해 SS에게 알려지고, SS는 할당된 BW를 이용하여 데이터를 BS로 전송한다.

 

 

Posted by 신상헌
,

다음 그림은 표준[1]에서 정의하고 있는 periodic ranging 절차인데([1]의 Table 183 참조), "WiMAX 모델(82) - Periodic ranging"에서 설명한 OPNET WiMAX 모델 기능은 이와 일치한다.

 

Initial ranging에 사용되었던 WIMAX_CID_INITIAL_RNG은 Periodic Ranging에서도 동일하게 사용된다. 표준[1]에서 Ranging CID는 0x0000을 사용하도록 정의([1]의 Table 558 참조)되어 있으므로 이는 표준과 일치하는 것이다. (왜 OPNET 모델에서 Ranging CID의 명칭으로 WIMAX_CID_INITIAL_RNG을 사용해서 혼란의 소지를 만드는지 모르겠다. 그냥 WIMAX_CID_RNG 정도로 사용하는게 더 깔끔할 것이라고 생각한다.)

 

[1] IEEE 802.16-2009, "Air Interface for Broadband Wireless Access Systems", 2009

 

Posted by 신상헌
,

Initial ranging이 끝나고 나면 Periodic ranging이 수행된다. 다음 그림은 OPNET WiMAX 모델에서 제공하는 Periodic ranging 절차이다. "WiMAX 모델(75) - Initial Ranging"에서 설명한 것처럼 단말의 프레임 동기가 기지국과
일치하도록 타이밍을 조정하는 절차가 OPNET WiMAX 모델에서는 수행되지 않으며, periodic ranging 절차에서 수행하는 주된 조절 기능도 역시 전력제어이다.

 


Initial ranging이 완료된 후 T4 타이머가 설정되는데, 이 T4 타이머는 Periodic ranging이 시작되어야 하는 시간을 알려준다. 단말은 T4 타이머가 만료되면, Periodic Ranging 코드 세트에 해당하는 CDMA 코드를 가지는 CDMA 메시지를 선택된 기지국으로 전송하여 periodic ranging 절차를 시작한다. (이 때 CDMA 메시지는 periodic ranging & BR을 위한 자원영역을 사용하여 보내지는데, 이 영역의 위치는 UL-MAP을 통해 기지국으로부터 알려진다.) 메시지를 수신한 기지국은 RNG-RSP 메시지로 응답하는데, 만약 수신 파워가 허용범위 밖이라면 Continue 상태로 응답하여 송신 파워의 조정을 지시하고, 허용범위 이내라면 Success 상태로 응답한다. 단말이 Contiunue 상태의 RNG-RSP 메시지를 받으면, 송신 파워를 조정하여 다시 CDMA 메시지를 기지국으로 전송한다. 단말이 Success 상태의 RNG-RSP 메시지를 받으면, Periodic Ranging 절차를 완료하고, 다음번 Periodic Ranging을 위해서 T4 타이머를 재설정한다.
이러한 과정을 wimax_ss_control 프로세스 모델의 State diagram에서 추적해보면, 다음 그림과 같은 천이 과정을 따른다.

 

Posted by 신상헌
,

서로 다른 CDMA 코드가 수신된 경우에도, 기지국에서 동시에 검출해낼 수 있는 CDMA 코드 수는 한정적일 수 있다. 예를 들어, Initial Ranging용으로 할당된 CDMA 코드 수가 8개이고, 7개의 단말이 서로 다른 코드를 동시에 전송했을 경우를 생각해 볼 수 있다. 이론적으로는 모두 다른 코드이므로 검출에 문제가 없어야 하겠지만, 실제 디코더의 검출 능력이 4개라면 3개의 코드는 검출되지 않을 것이다. (몇 개가 검출될 것인지는 장비 성능에 따라 다를 것이다.)
OPNET WiMAX 모델에는 이러한 부분이 반영되어 있지 않으며, 코드만 다르면 모두 검출된다. 다르게 말하자면 동시 검출 코드의 수에 제약이 없는 (그렇다고 해도 할당된 CDMA 코드의 수보다 많은 코드가 검출되지는 않을 것이다) 디코더가 사용되고 있다고 볼 수 있다.

 

 

Posted by 신상헌
,

Ranging을 수행하는 과정에서 다른 단말과 충돌(Collision)이 발생할 수 있는데, CDMA 메시지(코드)가 충돌하는 경우와 MAC 메시지(RNG-REQ 또는 BW reqeust)가 충돌하는 경우이다.

 


두 가지 경우의 충돌에 대한 처리는 모두 WiMAX 파이프라인 스테이지에서 수행된다. CDMA 메시지가 충돌한 경우에 충돌한 두 CDMA 메시지의 코드가 동일하다면, 두 메시지의 수신파워를 한 메시지(먼저 수신되는 메시지)로 몰아주고 한 메시지(늦게 수신되는 메시지)의 수신파워는 0으로 만들어 버린다. 즉, 한개의 CDMA 메시지만이 실제로 전달된다. 충돌한 두 CDMA 메시지의 코드가 서로 다른 경우, 두 패킷간에는 아무런 interference도 발생하지 않는 것으로 처리된다.
MAC 메시지(RNG-REQ 또는 BW request)가 충돌하는 경우(이는 CDMA Alloc IE가 단말에 대해서가 아니라 CDMA 코드에 대해서 할당되기 때문에 발생한다), 두 메시지는 서로간에 interference로 작용하며 어느 메시지가 살아남을 것인지의 여부는 각 메시지의 SNR에 의해서 결정된다.

Posted by 신상헌
,

다음 그림은 표준[1]에서 정의하고 있는 initial ranging 절차인데([1]의 Table 182 및 Figure J.9 참조), "WiMAX 모델(75) - Initial Ranging"에서 설명한 OPNET WiMAX 모델에 구현된 절차는 이와 일치한다.

 


Initial Ranging에 사용되는 WIMAX_CID_INITIAL_RNG는 wimax_support.h 파일에 0으로 선언되어 있으며, 이는 표준[1]에서 Ranging CID는 0x0000을 사용하도록 정의한 것([1]의 Table 558 참조)과 일치한다.

 

[1] IEEE 802.16-2009, "Air Interface for Broadband Wireless Access Systems", 2009

 

Posted by 신상헌
,