C와 C++에서 포인터의 개념은 매우 중요하다.

따라서, 코딩을 하는 사람이라면 한번쯤 개념을 정리해놓고 두고두고 보는것도 매우 좋은 방법이다.


하지만, 포인터만 안다고 포인터와 관련된 모든 코드를 해석할 수있는 것은 아니다.

그러므로 먼저, 배열과 포인터의 관련성과 나아가 구조체와의 포인터와의 관련성 그리고 포인터함수에 대해서 고민해보고 이해하여야 한다.


아래의 글은 아주 간단한 예제와 기본적인 개념에 대해서만 언급하고 다룬다. 

따라서 빠른 이해와 사용을 목적으로 참조하기만 바란다. 




먼저 배열에 대해서 이해하자.


배열이란 무엇일까?

배열은 많은 데이터를 저장하고 처리하기에 매우 유용하다.

  배열선언의 형태 : 배열이름, 자료형, 길이정보

   ex)   int Num[10];   //길이가 10인 int자료형 1차원 배열 Num 을 의미한다.

      

            int Num[10]={1,2,3,4}; //이런경우는 선언과 동시에 초기화를 하는 방법이다.

                                           //공간은(길이) 10을 주었지만 4개만 초기화되었기에 나머지는 0으로 채워진다.

                                           //즉 1,2,3,4,0,0,0,0,0,0 의 값들이 저장된다.


1차원은 행1인 행렬을 의미한다. 그냥 수의 나열이라고 생각해도 된다.

하지만 2차원, 고차원으로 갈수록 개념을 잘 잡아야 한다. 후에 다차원 배열때 다시언급.


★배열의 위치정보(인덱스)는 0부터 시작한다.


배열을 이용해서 문자열 변수도 표현가능하다.


char str[10]="Hi hello";

//내부적인 저장은 : H i  h e l l o \0  으로 된다.

널문자는 문자의 끝이라는 의미로 들어간다. 그래서 문자열의 시작과 끝을 알수가 있다.




이제 포인터에 대해서 이야기 해보자.


포인터도 하나의 변수이다. 포인터변수는 메모리의 주소값을 저장하기 위한 변수이다.

이전에 써오던 다른 변수들은 상수값을 저장하기 위한 공간이었다면 포인터는 주소값(메모리)을 저장하기 위한 공간이다.


포인터는 2가지  Type이 존재한다.

1. 변수형태의 포인터 : 초기화 후 수정이 가능

2. 상수형태의 포인터 : 초기화 후 수정이 불가능


:: 변수포인터 ::


간단한 예)


int main(void)

{

int num=1;

int *ponum;

ponum = # // num변수의 주소 값을 포인터 변수에 저장함.


}


포인터변수의 선언형태.


자료형타입 * 변수이름;

ex) int * number;

     char * moonja;


선언시, * 연산자를 사용하는데, 해석시 이는 int형 *number 포인터를 선언한다고 보면 된다.


포인터변수의 선언형태는 보면 자료형 타입을 꼭 붙여준다. 이는 포인터변수에 저장되는 주소값은 저장되는 변수의 주소값의 처음 시작값을 의미하기 때문이다. 따라서 자료형의 크기에 따라서 포인터변수가 할당받는 공간크기가 다르며, 이는 포인터주소값의 증가폭이 자료형의 메모리크기와 동일하다는 뜻이다.


위의 int *number 포인터의 경우 참조하는 변수의 주소시작값으로 부터 4byte(int형크기)의 크기를 할당한단 의미이다.

그리고 포인터변수의 사용은 연산자*의 유무로 나눠진다. 예시는 아래와 같다.


int main(void)

{

int num=3;  //int 형 변수 num의 선언

int *ponum=# // int형 포인터변수 *ponum에 변수num의 주소시작값을 넣는다. 

                          // 혹은 *ponum변수는 변수num의 시작주소값을 가리킨다.

                         // 이는 int *ponum=nulll;

                         // ponum = # 과 동일한 의미이다. 

(*ponum)+=10;    // *pomum이 가리키는 주소값의 데이터에 +10을 한다는 의미이다.

                       // *을 붙이면 가리키는 주소값에 대한 접근, *을 안붙이면 포인터변수자체의 공간에 접근.

printf("%d", *ponum); //*ponum 이 가리키는 주소값의 데이터를 출력하라. 


}


포인터 변수는 선언시 초기화 하지 않으면, 쓰레기값으로 초기화 된다. 따라서 0; null; 로 초기화 해주면 된다.





배열의 이름은 포인터를 의미한다. 즉, 배열변수가 메모리에 할당받은 주소의 시작값을 의미한다.

따라서 배열이름을 가지고서 포인터처럼 사용이 가능하다.

단지, 포인터와 다른점이 있다면. 주소값의 변경이 불가능하다는 것이다. 배열은 데이터를 담고 포인터는 주소값을 담기때문이다.


int main(void)

{

int arr[2]={1,2};

int * ponum=arr;  // int *ponum=&arr[0]; 과 동일한 문장이다.

      ....

      printf("%d" ...)  //생략.


}


변수형태의 포인터변수는 증가 및 감소가 가능하다.

int *ptr=#

ptr++;  


와 같은 형태가 사용가능하다. 의미는 *ptr 포인터변수가 int형 자료형 데이터크기만큼 주소값이 후증가된다는 의미이다.

아래의 예제를 생각해보자


*(++ptr) =1; //ptr포인터에 저장된 값(즉, 주소값) 자체를 선증감시키고 가리키는 주소값의 공간에 1을 대입하라

*(ptr+1)=1;  //ptr포인터가 가리키는 주소값의 공간의 주소를 자료형 공간단위만큼 하나증가 하고 그 공간에 1을 대입하라.


위 두문장의 차이점은, 아래의 문장의 ptr이 처음 가리키는 주소값은 변하지 않는다는 것이다.

즉, 첫번째 문장의 ptr은 ptr이 가지고 있는 메모리주소값이 선증감한것이다.

(포인터변수란 주소값을 저장하고있는 변수이다)


그럼 이제 배열과 포인터를 연관지어서 중요한 공식을 얻어낼수가 있다.


array[i] == *(array+i); 


i번째 배열의 주소값은 포인터의 주소값이 i만큼 증가한 뒤의 주소값과 동일하므로 이 문장이 가리키는 데이터는 같다.


:: 문자열의 표현법과 상수포인터 ::


char num[] = "hello"; //배열의 길이를 자동으로 계산한다.


char *num = "hello2"; // hello2 문자열이 선언된 어느 메모리공간의 시작주소값을 *num포인터가 가리킨다. 

따라서 위의 경우는 상수 포인터가 되서, 포인터변수가 가리키는 주소값의 변경이 불가능하다.


:: 포인터 배열 ::


포인터 배열이란? 포인터 변수로 이루어진, 주소 값의 저장이 가능한 포인터들로 이루어진 배열을 의미한다. 


즉, int * num[10]=null; // 길이가 10인 int형 포인터 배열 num


char * stream[2]={"hi","bye"}; //길이가 2인 char형 포인터 배열을 의미하며, 

                                           //내부적인 동작은  hi와 bye가 어느 메모리공간에 선언되고 그 주소값이

char * stream[2]={0x1001, 0x1005}; //와 같은 형태로 포인터 배열에 저장되는 것이다.


여기서 포인터변수는 분명 char을 참조하기에 1바이트만 소비할텐데, 왜 4바이씩 저장되었을까? 

이는, 컴퓨터의 메모리구조에 관련이 있다. 32비트 시스템의 OS라면 (32비트=4바이트) 4바이트로 포인터변수가 메모리값을 사용할 것이, 요즘 사용중인 64비트 컴퓨터라면 8바이트의 공간을 소비할 것이다.





이제 함수와 포인터를 서로 엮어보자.


포인터를 배우기 전까지는 우리는 함수 인자의 전달은 값을 중심으로 한다고 체득했다.

히자만 이제 주소값을 보낼수 있음을 알게 될것이다.


간단한 예)


int simple_example(int *prr)

{

...

}                       

int main(void)

{

int arr[2]={0};

int *prr=arr;

.

.

simple_example(prr); // simple_example(arr); 동일한 의미이다.

}


:: const 선언의 활용 ::


const는 const가 가리키는 변수의 저장된 값에 대해서 변경을 허락하지 않겠다는 의미이다.


int num=0;

const int* ptr = # // 포인터 ptr이 가리키는 변수 num값의 변경을 허용하지 않겠다. 


"or"


int * const ptr = # // 포인터 ptr자체의 값변경을 허용하지 않겠다. 


이렇게 생각해보자, const와 가까운쪽을 고정시키겠다는 의미로 보자.

즉, const int* ptr = # 의 경우는  int* ptr 전체를 고정하기에 이가 가리키는 num값이 고정되는 것이고

int * const ptr = #의 경우는 ptr 포인터 변수를 고정시키기에 변수가 저장하는 메모리값을 고정하는 것이다.





[관계연산자]------------------------------------------


<

>

==  둘이 같은가?  :  같으면 참

!=   둘이 서로 다른가?  : 다르면 참

<=

>=


[논리연산자]------------------------------------------


&&  A,B모두 참이면 연산결과는 참으로 반환한다 (논리 AND)

||   A.B둘중 하나라도 참이면 연산결과로는 참을 반환 (논리 OR)

!      예를들어서 !C 이면 C가 참이면 거짓을 반환 거짓이면 참을 반환하는 형태 즉, 논리 NOT


[비트연산자]


대상으로 하는 자료를 비트단위로 생각하고 연산을 실시한다.


&          비트단위로 AND연산

|           비트단위로 OR 연산

^           비트단위로 XOR연산

~          단항 연산자로써, 모든 비트를 반전시킴

<<         비트열을 왼쪽으로 이동시킴

>>         비트열을 오른쪽으로 이동시킴



[음수의 표현법]------------------------------------------


1의 보수를 취한다 -> 1을 더한다.



[기본적인 반복문의 형태: While문]------------------------------------------


While(조건)

{

내용;  //내용실행후 조건으로 다시 이동후, 조건이 부정되지 않으면 중괄호 내용 다시 실행

}



while(조건1)

{


   내용1;


while(조건2)

{

  내용2;   //일단 내용1을 1번 실행후 조건2가 부정될때까지 내용2를 실행후 다시 조건1로 회귀.

}

}


do

{

 내용; // 일단 do 실행. 그 후 while 조건을 검토후 조건이 부정되지 않으면 다시 do실행.

}while(조건);  // 세미콜론 주의.


do~while 과 while문은 실제로 서로 대체가 가능한 문법이다. 

하지만 눈에 보이는 전달력의 차이로 꼭 1번 실행이 필요하다면 do~while로 표현하는것이 가독성을 위해서 추천한다.




[For 문의 형태]------------------------------------------


for( 초기식 ; 조건식 ; 증감식)

{

 내용;

}


으로 이루어져 있으면, 초기식은 변수의 선언 및 초기화, 조건식은 선언된 초기식조건을 이용하여 검사 (부정이면 반복중단), 증감식은 내용을 실행후 다시 조건식을 검사하였을 때, 조건식이 부정되지 않으면 조건의 변수를 증가시킴. 


예를들면,


for( int i=1; i<5; i++)

{

  printf("good"); //4번의 good이 결과 출력된다.

}



[조건문의 형태]------------------------------------------


if(조건)

{
내용; // 조건이 참이면 아래 중괄호의 내용을 실행한다.

}



if(조건)

{

  내용1;  //조건이 참이면 내용1을 실행, 아니라면 내용2를 실행

}

else

{

  내용2;

}




if(조건1)

{

  내용1;  //조건1을 검사하여 참이면 내용1 아니라면, 다시 조건2를 검사 맞으면 내용2, 그밖에 조건이면 else문 실행

}          //만약 조건1이 만족하면 그밖의 else if, else는 건너뛴다.

else if(조건2)

{

 내용2;

}

else

{

내용3;

}



if(조건1)

{

내용1; //조건1,2,3중에서 만족하는 조건만 실행, 그밖의 조건과 실행이라는건 없음.

}       // 만약 조건1이 만족하면 내용1을 실행시키지만, 조건2,3도 if문이라서 다시 조건검사를 한다. 건너뛰지 않는다.

if(조건2)

{

내용2;

}

if(조건3)

{
내용3;

}



*삼항 연산자의 경우*

이는 if~else문을 대체 할수가 있다.


(조건) ? (A) : (B);


해석) 조건이 참이면 A를 반환, 거짓이면 B를 반환하라.



[반복문의 탈출]------------------------------------------


break문은 가장 가까운 중괄호의 반복문 한개를 빠져나오게 하는 명령이다. (단 하나만!)

continue문은 반복문의 조건검사로 즉시 이동하라는 명령이다. 즉 continue 뒤의 문장은 실행하지 않는다.


[선택문]------------------------------------------

switch(입력받은수)

{

 case 1:

         내용1;

         break;

 case 2:

         내용2;

         break;

 case 3:

         내용3;

         break;

 default:

         내용4;

}


입력받은수가 1~4까지라고 할때, 해당하는 수에 맞는 case문을 실행한다.

만약 break; 가 없다면 다음 case문도 실행된다.


If~ else 문과 switch 문은 서로 유사하지만 분기가 많고 복잡하다면 주로 switch문을 이용하는것이 좋다.




[함수의 형태]------------------------------------------



반환형태 함수이름 (입력형태)

{


함수의 몸체;


}


*이름이 같을때, 우선순위

지역변수 > 전역변수



Void 재귀(void)

{


printf("재호출=n");

재귀();

}

// 재귀함수는 함수가 호출되면 복사본을 만들어서 실행되는 구조라고 이해하자. 즉, 계속 호출될때마다 원본은 나두고 계속 복사본을 만들어서 실행하는 것이다. 


재귀 함수의 디자인사례)


#include <stdio.h>


int Factorial(int n)

{

if(n==0)

return 1;

else

return n * Factorial(n-1);

}


int main(void)

{

printf("1! = %d \n", Factorial(1));

printf("1! = %d \n", Factorial(2));

printf("1! = %d \n", Factorial(3));

printf("1! = %d \n", Factorial(4));

return 0;

}

//결과 1! = 1   2! = 2  3! = 6  4! = 24 




자..그럼 어떻게 시작해야 할까?..




모든 상황은 블로그로 가정하여 이를 기본으로 운영한다고 생각해보면서 접근하자~

지금 내가 운영하고 관리하는 블로그는 주로 내가 찾은 정보를 다른사람들에게 쉽게 전달 (정보의공유)하기 위해서 사용한다.  정보의 전달이란, 보는이로 하여금 "이해" 시키는것을 목표로 한다.

여기서 지금 콘텐츠에 대해서 공부하는 이유는

 어떻게 해야 좀더 "쉽게" 이해시킬수 있을까? 와 

"내가 전달하고자 하는 정보를 어떻게 그대로 효과적으로 전달시킬수 있을까?" 라는 두가지 이유에서라 할수가 있다.


다시 질문으로 돌아가서, 어떻게 시작해야할까?. 그럼, 시작이란 무엇일까?

블로그에서의 시작은, 첫페이지,즉 메인페이지를 의미한다. 

메인페이지란 무엇일까?, 집으로 따지면 대문을 뜻한다. 우리는 실생활에서 대문을 통해서 누가 사는지를 알수가 있다.

동일하게 메인페이지도 이안에 어떠한 콘텐츠가 포함되어있는지를 빠르게 알도록 도와줄수가 있어야 한다.

즉, 메인페이지는 이 블로그(혹은 웹사이트)의 성격을 보여주며, 주로 다루는 내용과 개성, 효율적인 블로그로의 안내를 보여줄수가 있어야 한다.


아래의 그림은 내 블로그의 메인페이지이다.



앞서 말한 의미에서 내 블로그의 메인페이지는 어떠한가?...


아...그냥..난잡하다..ㅠㅠ... 색깔은 뭔가 칙칙하다..주된 관심사가 무엇인지 처음들어온 사람들은 알수가 없다.

하지만 최근에 포스팅한 글이 무엇인지는 9개의 글이 중앙에 간략히 떠있기 때문에 빠르게 알수가 있다.

왼쪽에는 카테고리별로 나누어져 있어서 이제서야 무엇에 관심을 가지고있 는지 알수가 있다.


-----------------------------

N&C ? 뭔 약자래?..

아무도 가르쳐주지 않는??  그래서 뭐?

Pc두이노? 그래서머?

영어는?  그래서 머? 영어공부 하고있다고?

아무 개념... 니 블로그 개념이나 찾아라..

읽고있는 책  그나마 좀 낫네..

북마크   니 즐겨찾기를 왜 여기에 소개하냐고?.. -.-.;..

----------------------------------------------------------


내가 나누어 놓았지만..참으로 두서없이,통일성도 없이 난잡하다..

그리고 흔하디 흔한 현재페이지의 개성이 나타나는 메인그림도 하나 없다.

아니, 달랑 MCU칩들을 오밀조밀 붙여서 찍어놓은 ATmega 사진이 프로필사진으로 달랑 걸려있다.

참으로 총체적인 난국..이다..



그럼 어떻게 꾸며야 하겠는가??

모르겠다..그냥 갈아엎고..새로할까?..-0-...?..

하지만!  분석적으로 접근해보면,

일단 주로 유입되는 방문자들의 통계는 대부분 키워드검색을 통하여 유입되기에 메인페이지를 보지않고 원하는 정보만을 얻고서 닫아버리는 경우가 99%이다. 그렇다면? 

메인페이지는 이러이러한 다른 내용들도 있어요. 필요하시면 클릭하셔서 보세요 ^^

라는 의미만 전달하면 될 것이다.

 

일단 아래의 원칙을 지켜보자.



- 유입되는 방문자들에게 명확한 내용전달을 첫번째 목표로 삼자

- 이 블로그의 성격을 보여주는 형태의 디자인으로 변경하자

- 심플하고 직관적인 카테고리의 구성으로 보여주자

- 유입되는 방문자들을 통계내어 그들에게 유용한 정보제공하자



..하지만 더욱 더 중요한건..이 모든걸 할 시간이 필요하다...

'Reading Books > Think About..' 카테고리의 다른 글

2. 사람을 위한? 사람에 의한?  (0) 2013.11.24
1. 콘텐츠란 무엇일까?  (2) 2013.11.23
0. 책 소개와 전체적인 구성  (0) 2013.11.23

2. 사람을 위한? 사람에 의한? 


사용자들의 욕구를 만족시키기 위해서 다양한 측면에서 그들의 생각과 무엇이 필요한지에 대해서 고민과 검토를 반복해보아야 한다. 


정보란 데이터들의 축적이 모여서 의미있는 사실을 나타낼 때 정보라고 말할수가 있다.

즉, 몇가지의 데이터들은 가치가 없지만 이것들이 모이면 어마어마한 가치창출이 가능하다는 것이다. 

몇 년 전만해도 구글이라는 회사는 지금의 가치를 가지고있지 않았다. 하지만 빅데이터의 흐름이 인터넷을 통하여 유입되면서 우리는 매일매일 새롭게 생겨나는 데이터들에 대해서 가치있는 조합과 분류의 방식이 필요하게 되었다. 그래서 빅데이터는 구글을 발전시켰다. 그러므로 지금도 여러분이 클릭하는 모든것들은 웹서버에 모두다 기록이 되며, 누군가에 의해서 분석되어 질수가 있다.


만약 당신이 블로그의 운영자라면, "유입키워드" "유입 경로" 만 확인 해보아도 당신 나열해놓은 키워드들 중에서 사용자들의 욕구가 무엇인지, 그리고 어떤 형태로 무엇이 필요하여 어떤 검색엔진을 사용하여 당신의 블로그로 유입해온지를 분석할수가 있다. 출발은 아주 간단한다. 의미를 담는 것. 그리고 모으는것. 그리고 분석하는 것. 

이를 자세히 나누어본다면, 

1) 카테고리를 위한 리스트를 만들고

2) 이곳에 데이터라는 살을 붙여서 모으고

3) 각 카테고리별로 주요한 특징을 요약해보고

4) 이것을 정보를 필요로 하는 고객들의 욕구와 연관시켜보고

5) 이를 토대로 이제 활용하는 것이다.


나의 블로그는 IT분야이며, 더욱 세분화 시켜보면 MCU와 센서쪽으로 특화되어있다.

하지만 이를 알기위해선 전자공학과 통신공학이라는 세부적인 학부지식이 필요하기때문에 이도 같이 어우르면서 다루고 있다. 하지만 지금 담겨있는 정보자체는 학부생들의 그리고 그중 소수에 대해서만 욕구을 충족시켜주고 있다. 이것을 일반적인 대중들의 욕구로 확장시켜서 이들을 만족시키기 위해서 카테고리를 새롭게 대중적인 키워드를 가진 형태로 변형시켜야 한다. 하지만 나는 통신과 네트워크, 센서에 대한 특화된 정보만을 모으고, 알리고 싶기때문에 대중성으로의 확장보다는 이에 대한 세부적인 분야로 오히려 범위를 좁혀버렸다. 

그래서 특화된 계층과만 소통을 할것이지만, 오히려 심도있고 깊이있게 이론적으로 통신과 네트워크를 파고 내려갈것이기 때문에 오히려 그전보다 유입자들에게 질높은 정보와 다양성을 만족시켜줄수가 있게 될 것이다. 이를 보고서, 우리는 TradeOff 라고 한다. 


그렇다면 이제 다시 질문할수가 있다. 연관된 키워드를 가지고서 유입한 사용자들에게 빠르게 정보를 제공 하려면 어떻게 해야 하겠는가??


해답은 이야기로 풀어주는 것이다. 내가 쓰는 글은 이런 상황에서, 이런조건에서, 이런 문제에서 이야기하고 있습니다 라고 명시해주는 것이다. 그러면 이제 판단은 사용자들이 하게 된다. 이 글의 주된 생각은 이런 출발에서 이루어 졌으니, 지금 웹질을 하고있는 나에게 이런이런 방향으로 도움을 주겠군. 혹은 이글은 좀더 읽어볼만한 가치가 있어, 또는 없어. 라고 그들의 욕구에게 대신 대답을 맡긴다. 


따라서, 글을 쓸때, 선택과 초점이라는 것은 필요충분조건의 요소이며, 이를 활용하기 위해서 먼저 명확한 목표설정이 필요하다. 누가 이글을 볼것이며, 어떤 생각으로 올것인가? 그리고 어떻게 효과적으로 빠르게 그들을 만족시켜주겠는가?


먼저 이런 과정을 거친 자신의 생각을 담는것. 그것이 콘텐츠 메이커가 되기 위한 출발인것 같다. 




 

'Reading Books > Think About..' 카테고리의 다른 글

3. 어떻게 시작해야 할까?  (0) 2013.11.27
1. 콘텐츠란 무엇일까?  (2) 2013.11.23
0. 책 소개와 전체적인 구성  (0) 2013.11.23

1. 콘텐츠란 무엇일까?


콘텐츠?..Content... 지금 내가 읽는 것, 보는 것, 듣는 것 즉, 모든것이 콘텐츠이다. 

즉, 나의 필요에 의해? 혹은 타인의 필요에 의해 보고 듣고 알게되는 것들의 집합체가 아닐까?..

우리는 인터넷에 너무 많이 노출 된 세대이다. 콘텐츠는 그야 말로 우리가 숨쉬는 것처럼 너무나 쉽게 인터넷이란 공간을 통하여 우리의 삶속으로 유입된다.


예를들어, 스마트폰을 통해서 당신은 언제 어디서든 네이버 뉴스를 검색할수가 있다. 매일의 일과처럼 웹툰을 보거나 실시간 인기검색어를 보는 당신은 콘텐츠를 접하고 있는 것이다.


아무튼, 콘텐츠를 우리는 인터넷에 접속한 순간부터 매 순간접하며, 우리는 특정한 정보에 시선을 빼앗기게 된다.

왜?..왜 빼앗기게 되고?..원하는지 않는데 클릭하게 되는걸까?? (네이버 속의 현혹되는 몇몇의 기사들..)


이 책에선, 이런한 콘텐츠를 잘 만드도록 개념을 정립시켜주고 어떻게 해야 효과적으로 콘텐츠를 제작 및 광고할수있는지를,  게재할수있는지를 가르쳐준다. 즉, 글을 쓰는것과 디자인하는것에 대해서 말하는 책이다.


많은 블로그들이 오늘도 글을 쓰면서 고민한다.

내 글은 설득력이 있는가? 내 블로그를 홈페이지를 방문한 사람들이 이 글을 읽게되면 얼마나 내가 원하는 주장에 대해서 어느정도 까지 이해할까? 그리고 효과적으로 내 생각을 전달하기 위해서 내가 무엇을 해야하는가?


음.. 책을 읽어가면서 이곳 카테고리의 글의 공간안에서 이 개념들을 심어보겠다.

지금은 1장이라서 어떠한 기법도 스며들지 않았지만, 곧 1장에서~마지막장까지 글을 쓰면서

점점 달라지는 글과 정리법 들을 보여주기위해서, 실제 책에서의 방법들을 명시하지는 않겠지만 사용하면서 작성해보겠다.



'Reading Books > Think About..' 카테고리의 다른 글

3. 어떻게 시작해야 할까?  (0) 2013.11.27
2. 사람을 위한? 사람에 의한?  (0) 2013.11.24
0. 책 소개와 전체적인 구성  (0) 2013.11.23

책 제목 :콘텐츠 UX 디자인 , Letting Go of the Words: Writing Web Content that Works.


본 내용은 어떠한 상업적인 용도와 무관함을 밝히며, 책을 읽고나서 드는 생각과 몇가지 개념에 대한 간략한 정리만을 다룹니다. 자세히 말하자면, 책을 요약하면서 전체 내용을 저작권이 미치지 않을 정도로 포괄적으로 요약하거나, 책에 있는 사실정보, 사상 등 아이디어만 이용하여 새롭게 문장을 작성할 것이며 이는 저의 독자적인 저작물로서 보호를 받을 것입니다.


어쨌든, 책의 목차는


1.콘텐츠란 무엇인가?

2. 사람을 위한? 사람에 의한? 

3. 어떻게 시작해야 할까?

4. 시작은 했다? 그럼 이제는? 

5. 문서가 아닌 정보를 만들자!

6. 정말 필수적인 내용은 무엇일까?

7. 쉽게 사용할수있는 웹페이지 만들어보기

8. 문장 가다듬기

9. 목록과 도표의 이용

10. 제목으로 본문을 나누자

11. 효과적인 일러스트레이션 사용법

12. 의미있는 링크란?

13. 그래서 뭐? 직접 초안부터 마지막까지 만들어보자


로 내생각대로 각색해보았고, 순서대로 갈지 어떻게 다룰지는 모르겠지만 그때그때 마다 떠오르는 아이디어를 정리하겠다. 


'Reading Books > Think About..' 카테고리의 다른 글

3. 어떻게 시작해야 할까?  (0) 2013.11.27
2. 사람을 위한? 사람에 의한?  (0) 2013.11.24
1. 콘텐츠란 무엇일까?  (2) 2013.11.23

I sincerely promise that this paper would be used for purely academic purposes only and not for any commercial applications. this copyright belong to original author.  - from blog owner.


for beginning design of ZigBee system using MC1321X series in FreeScale, first you have to read the  technologies paper below :


각각의 기술문서들은 아래에 정리될것이고, 여기엔 각 문서에대한 간단한 요약을 기술한다.

지극히 개인적으로, 앞으로 진행할 지그비 연구관련에 있어서 후에 참고용으로 보기위해서 작성할 예정이다. 


프리스케일은 반도체 전문업체로써 주로  마이크로컨트롤러, 무선플랫폼, 메모리 등의 제품을 취급하며, 

이번 프로젝트에서 사용할 Zigbee 개발 및 평가 kit인 MC1321X를 공부하기 위해서 관심을 가지게 되었다.


최종목표는 BeeKit software를 통한 Zigbee MAC layer customized 이며, 이를 통하여 현재 연구중인 논문의

Implementation part를 진행할 것이다. 


http://www.freescale.co.kr/





1. Document Number: 13213EVKUG    "13213 Evaluation Kits User’s Guide"


this paper includes 13213 Kits Board Overview, Evaluation Kit Demonstration Application and Solution Development.

보드의 구성과 하드웨어 스펙, 그리고 구성품에 대한 대략적인 소개, 구현 어플리케이션 소개, 솔루션개발에 대한 정보를 제공한다.


13213 Evaluation Kits_User_Guide.pdf



1) Hardware Design and Layout

Before users begin their hardware design and layout, Freescale provides and recommends reading the documents shown in Hardware Design and Layout Recommended Reading. These documents contain reference design information and hardware design guidelines. In addition, a complete reference design package can be provided upon request.


몇종류의 MCU를 써본 결과 MCU는 결국 다 똑같다. 후에  아래의 Datasheet만 보고 사용할 기능이 포함된 Part만 검색하자. 기능적인 어플리케이션만 구현하고, H/W를 새로 디자인 할것이 아니라면 굳이 상세히 보지 않아도 된다. 



2) Software Applications Development

When building applications for the MC13213 transceiver, Freescale recommends using the CodeWarrior Software Development Tools. A trial version is shipped with the BeeKit CD. In addition, Freescale provides and recommends reading the documents shown in Software Applications Recommended Reading. Most notably, Freescale recommends reading the documentation that describes the Embedded Bootloader implementation and the Non-volatile Memory (NVM) area used for storing information in the application.


각 레퍼런스 메뉴얼은 MCU를 사용하기 위한 실질적인 레지스터사용법과 펑션사용에 대한 정보가 들어있다.


3) 802.15.4 Specific Applications

Freescale provides and recommends reading the documents shown in 802.15.4 Specific Applications

Recommended Reading. This documentation helps guide users through development of an application that

sits on top of the 802.15.4 MAC.


802154MSNUG,802154MWAUG 은 802.15.4 MAC application을 사용하기 위한 기초적인 데모와 코드에 대한 대략적인 설명을 포함하는 문서이다. 


4) ZigBee Applications

For development of ZigBee applications, refer to the appropriate Freescale BeeStack documentation.





2. Document Number: MC1321xEVKRM    "MC1321x Evaluation Kit (EVK) Reference Manual" 


MC1321xEVKRM.pdf



앞전 문서의 내용을 좀더 자세하게 설명한 paper이다.

문서의 구성은 아래와 같다.


Chapter 1 Safety Information — This chapter describes the safety guidelines for the MC1321xEVK.

Chapter 2 System Overview — This chapter introduces the basic components, functionality, and power supply options of the MC1321xEVK boards.

Chapter 3 RF Front End — This chapter provides a description of the external analog circuitry required to ensure proper MC1321x operation.

Chapter 4 MC1321xEVK Interfaces and Board Layout — This chapter briefly describes the available interfaces between the EVBs and a personal computer (PC) and provides schematics and component and board layout information.


주로 하드웨어 스펙에 대한 내용이 주된 내용이다.




3. Document Number: CWS-H08-QS     "CodeWarrior™ Development Studio for Freescale™ HC(S)08/RS08 Microcontrollers Quick Start" 



CWS-H08-QS.pdf



프리스케일사의 제품에 주입하는 프로그램 작성 프로그램이다. 코드워리어이며 프리웨어 버전이 존재한다. 하지만 30일 제한이 걸려있기 때문에 인스톨/제거를 반복해야하는 단점이 있다. 옛날의 코드길이 제한성의 프리웨어는 이제 보이지 않는다.

문서의 내용구성은 아래와 같다. 차근차근 코드워리어로 간단한 프로젝트 생성에서 부터 프로그램 주입까지 알려주는 튜토리얼이다.


Section A: Installing CodeWarrior Software

Section B: Creating And Building A Project

Section C: Debugging Your Application

Appendix A: Registering and Obtaining License Key for  Standard Edition or Professional Edition

Appendix B: Manually Installing License Key




4. Document Number: ZAUG     "Freescale ZigBee™ Application User’s Guide"



Freescale ZigBee&trade; Application.pdf



말그래도 지그비 어플리케이션에 대해서 소개하는 문서이다. 2가지형태의 Beekit 기본적인 examples 를 다룬다.

 1) HALighting solution

 2) Wireless UART solution 

                              의 데모 프로젝트의 설정과 실행에 대해서 간략히 설명한다. 문서의 구성은 아래와 같다.


Chapter 1 Introduction – introduces the Freescale implementation of ZigBee wireless sensor networks.

Chapter 2 Freescale Development Boards – provides detailed installation and device configuration information using the Freescale BeeKit Wireless Connectivity Toolkit tools.

Chapter 3 BeeKit and CodeWarrior – provides a simple home lighting control network to introduce users to simple ZigBee applications.  : 1) 어플리케이션

Chapter 4 Starting and Running a Simple ZigBee Network – provides a quick tutorial to form a Zig-Bee network using code built and loaded into two development boards in previous chapters.

Chapter 5 Creating a Wireless UART Application - shows how to create a Freescale Wireless UART application using the Freescale BeeKit Wireless Connectivity Toolkit.   :2) 어플리케이션

Chapter 6 Example Applications – provides several examples to allow users to configure and run ZigBee wireless home control applications.




5. Document Number: BKWCTKUG      "BeeKit Wireless Connectivity Toolkit User’s Guide"



BeeKit Wireless Connectivity Toolkit User&rsquo; Guide.pdf



This document is intended for ZigBee, 802.15.4 and custom software and application developers.

Beekit는 802.15.4 MAC을 Customized 할수있는 소프트웨어이다.그리고 this paper 는 Beekit를 위한 유저 가이드이다.

자세히 천천히 읽어서 모두 숙지하도록 하자. 매우 유용하다.

문서의 구성은 아래를 따른다.

Actually, The Freescale divide the type of ZigBee MAC layer protocl as the common MAC(802.15.4 ), SMAC, BeeStack(which consist of ZigBee 2006/2007/RF4CE).

If you want to make the Zigbee network, you first consider what you will use about MAC. 


Chapter 1 Introduction — This chapter provides an introduction to BeeKit features and guides users through creating a Solution and a adding a Project.

>Beekit 인스톨후 c:\program Files\Freescale\Drivers 의 P&E Diver를 설치해야 된다. -순서 주의.

>Beekit software의 메뉴와 디스플레이 창의 역할과 기능에 대해서 설명한다.

>Creating a Project - Star Network Demo 를 만들어봄으로 설명한다.

Chapter 2 File Menu — This chapter describes how to create a new project, open, save, and close solutions, and select a Codebase.

>코드의 Export와 Import에 대해서 다룸 (코드워리어로 MAC을 넘기는 방법)

>Removing / Creating Solution (Codebase)의 방법에 대해서 설명

Chapter 3 Solution Menu — This chapter explains how to Export a Solution, import and export properties, validate and upgrade solutions, add and import projects and adjust properties.

Chapter 4 Project Menu — This chapter details how to validate a project, add and remove software components and remove a project.


즉, 이 문서는 기본적인 Beekit software의 사용법을 위한 Manual이다. Menu는 크게 File, Solution, Project로 나누어 지며 각 2~4 챕터들은 메뉴에 대한 기능들을 기술했다. 




아래는 Beekit에서 제공하는 전체 기술문서에 대한 구조도를 보여준다.

Beekit 실행시 오른쪽 하단 Document 메뉴에 존재하며, 이들 paper들은 매우 유용하다. 



굳이 읽어야 할 문서들에 대한 순서를 매기자면,

위에서 1.~ 5.에 따라 차례대로 기술한 문서들을 읽고나서, 

위 구조도의 Beekit Documentation의 Beekit Quick Start' Guide / User's Guide 를 읽어라.

그리고 802.15.4 Documentation의 3가지 문서들을(802154MPSRM/ 802154MSNAUG/ 802154MWAUG) 읽으면 

기본적으로 CodeWarrior IDE사용법과 Beekit 사용법과 Freescale사에서 제공하는 MAC software 중에 802.15.4 MAC에 대한 설정/사용법/동작원리/응용 에 대한 감이 잡힌다. 


이제 다음 포스팅부터는 802.15.4 Documentation 문서에 대한 내용을 정리하겠다.


*전제 : MCU사용에 대한 기본적인 방법은 안다는 가정하에 이부분에 대해선 따로 기술하지 않았음.*






'Nobody tells you about.. > FreeScale_MC1321X' 카테고리의 다른 글

[Notation] Concept of Primitives  (0) 2014.06.24

DGIST 주관 종합 국제 학술대회가 11월 21일 부터 2일간 시작합니다.


사전등록비 :  일반5만원 / 재학생 3만원 입니다.


저도 포스터 섹션에 하나 게재합니다 ㅎㅎ


http://dgif.dgist.ac.kr


DGIF_poster.pdf







간략한 후기.


Plenary Lecture / Robotics and Cyber Physical System의 21일 22일 강연


 David Harel 교수님과 Kyung-Suk Kim 교수님의 Plenary Lecture 는 정말 최고였습니다.

프레젠테이션속에 녹아있는 전달하고자 하는 명확한 내용과 전체 강의의 튼튼한 뼈대를 하나도 놓치지 않고서

두루 설명하시면서 중간중간 집중이 떨어질만한 타이밍에 동영상을 보여주시면서 간간히 웃겨주시는 스킬이 보통의 강연자와 달랐습니다. 

 Harel 교수님은 CS와 소프트웨어 엔지니어들이 어떻게 과학적인 테크닉을 적용하여 문제를 이해하고 풀어나가야 할지를 재미있는 영상과 함께 자신의 생각을 풀어주셨습니다. 특히 biological systems의 실제적인 modeling 에 대한 이해법과 전체의 시스템을 볼때 세세한 부분들까지 어떻게 분석하며 이해해야 할지를 쉽게 가르쳐주셨습니다.

 Kyung-Suk Kim 교수님은 "Science and Technology in New Bridging Era: Engineering of Self-organized Emergence"의 주제로 이제는 beyond frontiers 를 향하는 우리의 세대들이 가져야 공학도의 마인드와 현 DGIST의 교육이념을 잘 적목시키셔서 미래의 우리 공학도가 가져야 할 마인드에 대해서 자신의 업적(ruga)과 함께 적절한 예로 풀어서 명쾌하게 설명해주셨습니다. As this is a talk for a science and technology institution, special emphasis will be focused on science and engineering education for next generation scientists and engineers with strong three C’s – “Commitment”, “Credibility” and “Creativity”.


그밖의 인상깊었던 강연.

- 정말 기대했던 펜실베니아 대학의 Vijay Kumar 교수님의 "Beyond UAVs: Flying Robot Swarms" 강연

Chenyang Lu 교수님의 “Wireless Clinical Monitoring at Scale”

Ji-Woong Choi 교수님의 “Bio-medical CPS and Its Applications”







'Bookmark > Conference' 카테고리의 다른 글

IEEE GLOBECOM 2016  (0) 2016.07.07
한국통신학회  (1) 2013.06.04
Mobicom  (0) 2013.04.24

I sincerely promise that this paper would be used for purely academic purposes only and not for any commercial applications. this copyright belong to original author.  - from blog owner.


This content refer to "Channel Models A tutorial' paper of Raj Jain, jain@acm.org author in Google.

V1.0February 21, 2007

 


Channel Models A tutorial



1. The Basic Concepts



Wireless signal의 특성은 그것이 전파하는 (송수신간의) 매체를 통과하면서 변하게 된다.
이러한 특성은 송,수신 안테나 사이의 거리에 의하여 의존하게 되며, 그 거리에는 신호가 지나가는 경로와 환경(방해가능한 빌딩과 어떠한 물체 -> 이는 신호의 반사 및 흡수가 가능하다.) 적인 요소가 존재하여 채널의 특성을 변화시킨다.


만약 우리가 송수신 안테나사이의 매체 i.e 채널을 알수있다면, 입력신호를 앎으로써, 출력신호를 알수있게 된다.

Therefore, this model of the medium is called channel model.


In general, the power profile of the received signal can be obtained by convolving the power profile of

the transmitted signal with the impulse response of the channel. Convolution in time domain is

equivalent to multiplication in the frequency domain. Therefore, the transmitted signal x, after

propagation through the channel H becomes y


y(f)=H(f)x(f)+n(f)


일단, 송신신호와 수신신호와의 상관관계를 통하여 채널 추정이 가능하다.
위의 식에서 H(f)는 우리는 Chaneel responce라고 부를것이며, n(f)는 노이즈성분이다.

Note that x, y, H, and n are all functions of the signal frequency f.

The three key components of the channel response are path loss, shadowing, and multipath as explained below.


따라서, 우리는 채널에 영향을 주는 대략적인 3가지의 성분 path loss, shadowing, and multipath 를 통하여서, 채널을 추정할수가 있게 된다.


2.1 Path Loss


The simplest channel is the free space line of sight channel with no objects between the receiver and the transmitter or around the path between them. In this simple case, the transmitted signal attenuates since the energy is spread spherically around the transmitting antenna. For this line of sight (LOS) channel, the received power is given by:


먼저, 가장 간단한 형태의 채널을 정의해보자. 이는 자유공간 즉, 벽면도 없고 반사도 없는 그래서 손실도 없는 LOS (direct path propagation) 타입이다. 

감쇠의 원인은 안테나의 전파(신호) 방사형태가 구면의 형태로 에너지를 확산시키기 때문에 P는 D^-2에 비례한다.

Here, Pt is the transmitted power, Gl is the product of the transmit and receive antenna field radiation patterns, λ is the wavelength, and d is the distance. Theoretically, the power falls off in proportion to the square of the distance. In practice, the power falls off more quickly, typically 3rd or 4th power of distance.

G1은 안테나의 방사패턴에 해당하는 Loss를 의미한다.

이론적으로 파워는 거리의 제곱에 비례하여 감소하지만, 사실 실제환경에서는 이보다 빠른 세제곱, 네제곱배로 감소한다.




The presence of ground causes some of the waves to reflect and reach the transmitter. These reflected

waves may sometime have a phase shift of 180 ° and so may reduce the net received power. A simple two-ray approximation for path loss can be shown to be:

자 이제 Free space 시나리오를 좀더 꼬아서 Ground 가 존재한다고 가정한다면, 이는 반사를 야기시킨다. -> 위상을 180도로 변화시키며, Power를 감소시킨다.


Here, ht and hr are the antenna heights of the transmitter and receiver, respectively. 

Note that there are three major differences from the previous formula. First, the antenna heights have effect. Second, the wavelength is absent and third the exponent on the distance is 4. 

이 공식의 앞전의 위의 공식과 3가지의 주요한 다른점이 존재한다.

안테나높이 고려, 파장고려X, 지수부4승.


In general, a common empirical formula for path loss is:

그리고 이를 더욱 일반화한 형태로, 경험에 의한(실험에 의한) 공식은 아래와 같다.

위의 공식은 실제적인 path loss를 고려한 형태의 수신되는 신호의 Power를 의미한다.

Where P0 is the power at a distance 0 d and α is the path loss exponent.

The path loss is given by:

Path Loss 공식은 아래와 같이 dB표현식으로 주어진다



Here PL(d0 ) is the mean path loss in dB at distance 0 d . The thick dotted line in Figure A.1.2 shows the received power as a function of the distance from the transmitter.


If you want to know the more detail information about this section, please refer to Fundamentals Wireless Communication text book's chapter 2. It's free on website. 

http://www.eecs.berkeley.edu/~dtse/book.html



2.2 Shadowing


If there are any objects (such buildings or trees) along the path of the signal, some part of the transmitted signal is lost through absorption, reflection, scattering, and diffraction. This effect is called shadowing. As shown in Figure A.1.3, if the base antenna were a light source, the middlebuilding would cast a shadow on the subscriber antenna. Hence, the name shadowing.


쉐도잉은 송신 신호가 수신단으로 가기까지 어떠한 장애물이 존재하여, 송신신호가 흡수,반사,회절,흩어짐을 겪게 됨으로 소실되거나 딜레이되어 수신단에 도착하게 되는데 이로 인해 다른 크기와 위상의 신호가 중첩되어서, 이를 평균전력그래프로 그려보았을 때, "로그노말분포"로 나타나기에 흔히 우리는 로그노말쉐도잉이라고 부른다.


[보충]

Shadowing은 문자적 뜻은 음영 손실 (Shadowing Loss)을 의미하며, 현상은 전파 장애물 바로 뒤에 전파적인 그림자(음영)가 드리워져 나타나는 전파 손실을 말한다. 예를들면, 송신 전파가 산,빌딩 등 장애물의 불규칙적인 전파 반사면,산란체 등 때문에 수신 전파 전력이 평균을 중심으로 요동치는 현상 이라고 볼 수있다. 






The net path loss becomes:

Here χ is a normally (Gaussian) distributed random variable (in dB) with standard deviation σ . χ represents the effect of shadowing. As a result of shadowing, power received at the points that are at the same distance d from the transmitter may be different and have a log-normal distribution. This phenomenon is referred to as log-normal shadowing.




2.3 Multi-path


The objects located around the path of the wireless signal reflect the signal. Some of these reflected waves are also received at the receiver. Since each of these reflected signals takes a different path, it has a different amplitude and phase. 

반사되는 신호들이 서로 다른 경로를 가지므로, 다른 위상,크기를 가진 신호가 되기에 이를 다중경로 페이딩이라고 부른다.


[보충] : Multi-path Fading

서로 다른 경로를 따라 수신된 전파들이 여러 물체에 의한 다중 반사로 인해 서로다른 진폭,위상,입사각,편파 등이 간섭

(보강간섭,소멸간섭)을 일으켜 불규칙 요동치는 현상

Depending upon the phase, these multiple signals may result in increased or decreased received power at the receiver. Even a slight change in position may result in a significant difference in phases of the signals and so in the total received power. The three components of the channel response are shown clearly in Figure A.1.4. The thick dashed line represents the path loss. The log-normal shadowing changes the total loss to that shown by the thin dashed line. The multipath finally results in variations shown by the solid thick line. Note that signal strength variations due to multipath change at distances in the range of the signal wavelength.

그래서 아래 그림과 같은 형태의 수신 파워를 보인다. 아래의 그래프는 x축 거리가 멀어짐에 따른 y축 수신파워/송신파워의 db비를 나타낸 그래프이다. 이를 통하여 각 채널에 영향을 주는 3가지 성분들로 인하여 입력신호가 어떻게 수신되는지를 대략적으로 알수가 있다. 





Since different paths are of different lengths, a single impulse sent from the transmitter will result in multiple copies being received at different times as shown in Figure A.1.5

아래의 그림은 송신 신호가 수신측에서 Multipath를 겪고서 어떻게 페이딩현상으로 나타나는지를 보여준다.

(즉,LTI System으로 수신신호를 입력신호대 채널간의 컨벌루션으로 모델링한 형태를 떠올리면 이해가 쉽다)




The maximum delay after which the received signal becomes negligible is called maximum delay spread τmax. A large τmax indicates a highly dispersive channel. Often root-mean-square (rms) value of the delay-spread τrms is used instead of the maximum.

송순 후에 multipath fading으로 너무 많은 딜레이와 감쇄효과가 있어서 무시해도 되는 수신신호파워를 우리는 τmax 라고 부른다.



3. Tapped Delay Line Model


One way to represent the impulse response of a multipath channel is by a discrete number of impulses as follows:


Note that the impulse response h varies with time t. The coefficients ci(t) vary with time. There are N coefficients in the above model. The selection of the N and delay values τi depends upon what is considered a significant level. This model represents the channel by a delay line with N taps. For example, the channel shown in Figure A.1.5 can be represented by a 4-tap model as shown in Figure A.1.6.


멀티 패스 채널의 임펄스 응답의 표현은 위의 식처럼, 임펄스들의 이산적인 합으로 표현될수가 있다.


[보충] : 왜 임펄스 함수인가?

흔히 채널은 시스템으로 표현할수가 있다고 한다. 왜냐하면, 입력신호를 어떤 시스템에 넣고 (채널) 출력신호를 보는 과정이 통신의 송/수신과 매우 흡사하며, 이를 수학적으로 모델링하여 나타내면 간단 명료하게 채널의 특성을 보여줄수 있기 때문이다. 임펄스 응답이란? 시스템에 단위 임펄스함수를 인가하였을 때의 출력을 의미하며, 임펄스 응답에 대한 '푸리에변환'은 통신의 주파수 특성 (전달함수 H)와 같다. 그래서 임펄스 응답을 알면 우리는 주어진 입력에 대한 출력을 쉽게 구할수 있기 때문에 우리는 임펄스 함수를 사용하게 되었다.



If the transmitter, receiver, or even the other objects in the channel move, the channel characteristics change. The time for which the channel characteristics can be assumed to be constant is called coherence time. This is a simplistic definition in the sense that exact measurement of coherence time requires using the auto-correlation function.

만약 송/수신기(ex.안테나)가 움직이면 채널의 특성도 변하게 된다. 그래서 우리는 채널이 제한된 특성을 가지고 있는 시간을 하나의 척도로 명명하였는데 이것이 coherence time 이다.

coherence bandwidth 도 이와 매우 유사하다.


For every phenomenon in the time domain, there is a corresponding phenomenon in the frequency domain. If we look at the Fourier transform of the power delay profile, we can obtain the frequency dependence of the channel characteristics. The frequency bandwidth for which the channel characteristics remain similar is called coherence bandwidth. Again, a more strict definition requires determining the auto-correlation of the channel characteristics. The coherence bandwidth is inversely related to the delay spread. The larger the delay spread, less is the coherence bandwidth and the channel is said to become more frequency selective.


delay spread는 LOS와 비교하였을 때, 위의 Figure A.1.6과 같이 지연되어 수신되는 현상을 말한다. 

delay spread가 크다면 coherence bandwidth 은 작으며, 이때 채널을 우리는 frequency selective하다고 말한다.



4. Doppler Spread


The power delay profile gives the statistical power distribution of the channel over time for a signal transmitted for just an instant. Similarly, Doppler power spectrum gives the statistical power distribution of the channel for a signal transmitted at just one frequency f. While the power delay profile is caused by multipath, the Doppler spectrum is caused by motion of the intermediate objects in the channel. The Doppler power spectrum is nonzero for (f-fD, f+fD), where fD is the maximum Doppler spread or Doppler spread.


The coherence time and Doppler spread are inversely related:



coherence time과 Doppler Spread는 서로 역수관계를 가진다.


Thus, if the transmitter, receiver, or the intermediate objects move very fast, the Doppler spread is large and the coherence time is small, i.e., the channel changes fast.

Table A.1.1 lists typical values for the Doppler spread and associated channel coherence time for two WiMAX frequency bands. Note that at high mobility, the channel changes 500 times per second, requiring good channel estimation algorithms


높은 대역으로 Carrier Frequency가 갈수록 Coherence Time은 작으며, Max Doppler Spread가 높을수록 채널의 안정적인 시간 = 주파수가 Flat한 시간이 적다.


여기에선 Coherence Time과 Doppler Spread만을 비교하였으며, Doppler Spread에 대한 자세한 정보가 필요하다면 위에서 소개한 책의 Chapter 2.1.4를 참고하기 바란다.


in this Tutorial, we just handled the comparison with Coherence Time and Doppler Spread. If you want to learn the Doppler Spread, you can easier understand though the textbook which we already introduced.  



**본 논문은 제가 따로 요약 하였기에 저작권법에 접촉되지 않습니다.


(IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 24, NO. 8, AUGUST 2006)



A Tutorial on Cross-Layer Optimization in Wireless Networks


Xiaojun Lin, Member, IEEE, Ness B. Shroff, Senior Member, IEEE, and R. Srikant, Fellow, IEEE


-Tutorial Paper-



Abstract-

 Tutorial paper 최근의 무선시스템에서의 자원배분 문제 최적화 기법에 대한 발전에 대해서 보여준다.

1)우리는 Cellular networks(single hop)  위한 ‘opportunistic (channel-aware) scheduling’ 영역의 중요한 결과들을 살펴봄으로써 시작했다왜냐하면, Cellular networks 성능 최적화가 많이 필요한 영역이기 때문이다.

우리는 배웠던 중요한 교훈들을 설명하고 2)multi-hop wireless networks에서의 일반적인 자원배분 문제들에 대한 주요한 문제점들에 대해서 이야기  것이다.

그리고 Tutorial 뒷부분에서는 3) loosely coupled” cross-layer solution 안에서의 깔끔하게 최적화문제로 풀어낸

Multi-hop resource allocation problem naturally results 보여  것이다.

 말의 의미는하나의 알고리즘으로써 서로 다른 Protocol stack Layer (예를 들면, MAC/ PHY) 대한 map 얻는 것이기도 하며송수신되는 정보 (왔다갔다하는) 통해서 결합되는 알고리즘을 의미한다.

 알고리즘은 바로매우 복잡한 MAC층에서의 최적화된 스케줄링 구성요소로 취급될 것이고분산되는 간단한

솔루션들이 필요하다그리고 우리는 어떻게 Cross Layer framework에서 불완전한 스케줄링을 사용할 것인지를 시연하고최근에 개발된 분산 알고리즘에 대해서도 알아  것이다그리고 마지막으로 우리는 a set of open research problems 토의함으로써 마칠 것이다.

 


다시 말해서  논문은 아래의 5가지 단계를 따른다.


1) 기회주의적 스케줄링을 살펴봄


2) 멀티  무선네트워크에서의 자원배분 문제를 알아봄


3) 위의 자원배분 문제를 Loosely-coupled  Cross Layer에서 다시 자원배분 문제를 접근함


4) 그리고 어떻게 불완전한 스케줄링 알고리즘을 사용했는지분산 알고리즘은 무엇인지 설명  것이다.


5) 마지막으로 이와 함께 고민할  있는 Open Problems 다룸으로 마친다.








Q. 논문의 이해를 위해서 고민해봐야 하는 내용들

 

-Cross-Layer 의미는?

OSI7 같은 Independent layers 독립적인 rule break 하는 것이다왜냐하면이를 통하여 비약적인 성능의 향상의 결과가 있기 때문이다방법론적으로다른 layers 간의 변수공유와 같은 방법이 존재한다디자인 형태는 6가지가 존재하며,  내부적인 feedback  상호작용은 3가지 형태로 요약이 가능하다.

 

 

분산 알고리즘이란? ‘Distributed Algorithm’

 

A distributed algorithm is an algorithm designed to run on computer hardware constructed from interconnected processors. Distributed algorithms are used in many varied application areas of distributed computing, such as telecommunications, scientific computing, distributed information processing, and real-time process control. Standard problems solved by distributed algorithms include leader election, consensus, distributed search, spanning tree generation, mutual exclusion, and resource allocation.[1]


 

I. INTRODUCTION

 

Optimization-based  접근법은 지금까지 통신 네트워크 영역에서 “Resource allocation problem” 해결을 위해서 광범위하게 연구 되어왔다예를 들면, Internet congestion control 시스템의 성능을 최대한으로 끌어내는 convex optimization problem 으로 distributed primal or dual solutions 자원배분문제를 어떻게 해결하는가  대한 모범적인 예로써 생각할 수가 있다이런 류의 접근법(실험법 TCP(transmission control protocol) 대한 깊은 이해와 향상된 혼잡제어(congestion control) 라는 솔루션을 보여준다.[1-6]

어쨌든 질문의 핵심은 앞서 말한 접근법이 통합된 multi-hop wireless networks에서 *a clean-slate design of the protocol stack으로 적용   있다는 점이다사실Internet setting 에서의 그러한 기술의 직접적인 어플리케이션을 허용하지 않는 무선통신의 맥락에서 있어서  특별한 도전들이 있다특히무선매체는 본질적으로 유저들의 데이터송신에 의한 간섭이 많이 일어나는 다중접속매체로써채널의 capacity time-varying  성격을 보인다이러한 이유로무선매체는 사용자와 네트워크 Layer간의 상호의존성을 띄기 때문에 기존의 유선과는 반대의 성격을 가진다하지만이런 어려움에도 불구하고최근에 통합  최적화된 형태로써의 Multiple layer들의 무선자원을 자유로이 공유하거나 넘나드는(Cross Layer개념진보된 결과들을 보여준다이와 관련된 흥미로운 내용은 섹션3에서 설명한다.

(The solution of such an optimization framework will itself exhibit a layered structure with only a limited degree of cross-layer coupling.)

 

 

*The notion of a clean-slate design becomes especially attractive for multi-hop wireless networks, where the burdens of legacy systems are far less than for the Internet.

*Protocol Stack : 서로 다른 기기들이 데이터 통신을 하는  필요한 통신 규약을 구현해 주는 소프트웨어 모듈들의 모임 기기 간에 통신을   해당 통신 규약을 구현해 주는 핵심 소프트웨어이며프로파일은 상호 접속성을 확보하기 위해 애플리케이션에서 사용해야  통신 규약을 규정한 것이다예를 들어노트북 컴퓨터와 휴대 전화가 통신하기 위해서는 통신 규약이 서로 맞아야 데이터를 교환할  있다통신 규약 스택은 각각의 하드웨어에 탑재되어 통신 규약을 맞추어 구현해 주는 역할을 담당한다대표적인 것으로 TCP/IP 스택이 있으며이는 윈도즈 운영 체계에 포함되어 있다.

 

 

우리는 use of such an optimization approach for two classes of cross-layer problem 분명히 보여  것이다 다시 말해서,

Cellular (or access-point-based single-hop networks)에서 기회주의적 스케줄링 문제점을 보고 시나리오를 발전시켜서 multi-hop wireless networks에서의 혼잡제어와 스케줄링 문제를 살펴볼 것이다.

그리고 optimization approach 해결하기 위한 중요한 도구로 사용되는 convex programming  대해서 알아볼 것이다.

 

특히, convex programming에서 Lagrange duality 복잡한 최적화 문제를 간단한 여러 가지 문제로써 분해하는 중요한 핵심 도구이다하지만우리는 종종 우리는 이것만으로 문제를 100% 해결하는 것에는 부족하단 것을 안다왜냐하면유선 네트워크와는 반대로많은 무선 네트워크에서의 Cross-layer control problems  not convex (볼록않기 때문이다.

예를 든다면무선 네트워크에서의 간섭문제들로 인하여각각의 시간에 대해서 활성화 되어야 하는 링크들의 부분집합들에 대한 선택에 있어서 정확히 선택해야 하는 정교한 스케줄링 mechanisms 요구하는  같은 것이다무선 네트워크에서 링크들의 capacity 신호와 간섭레벨에 의존적이고그러한 것들은 파워와 링크의 전송 스케줄에 의존적이다그래서 link capacity, power assignment, and the transmission schedule 에서의 관계들은 전형적으로 non-convex 하다.

그러므로스케줄링 요소는 어려운 non-convex problem 풀기 위해 필요하고이는 보통 전체 솔루션에서 병목현상을 뛴다.

무선 네트워크에서 이러한 문제들을 내재하는 non-convex 문제들을 해결하기 위해선, convex-programming 적인 진보된 테크닉의 사용이 요구된다.

 

 

 

 tutorial paper에선아래의 6가지 예시들을 집중적으로 살펴  것이다.

1)       Tools from convex programming,

2)       Combinatorial optimization

3)       Stochastic stability

4)       Graph theory

5)       Large deviations

6)       Heavy-traffic limits are used to obtain realistic and efficient solutions to the cross-layer control problem.

 

cross-layer optimization 는 최근 사이에 꽤 큰 이슈로 발전 되었고, 이를 위한 포괄적인 조사는 공간적인 (space constraints) 제한을 가진다. 따라서, 이 paper에선 모두를 다 조사하진 못했다. 오히려, 포커스는 주요한 이슈와 도전들, 그리고 테크닉과 open problem들에 대해서 독자들에게 알려주는 정보전달에 대해서 맞춰져 있다. [7]을 참조하길 바란다.

 

 

 논문의 구성은 아래와 같다.

Section II: cellular networks에서 scheduling 문제점에 대한 설명을 하면서스케줄링 선택에 있어서 물리계층 채널 정보를 결합시키는 점에 대해서 강조한다.

Section III:  we investigate the joint congestion-control and scheduling problem in multi-hop wireless networks.

섹션3 내용은 주로 the cross-layer problem  a congestion control component and a scheduling component 2가지로 깔끔하게 분해하며 접근한다하지만, non-convexity성격 때문에 실제 네트워크에서 스케줄링은 매우 어렵지만 cross-layer solution으로 심플하지만 불완전한 해결법으로 어느 정도 접근해본다.

Section IV: 당연히  부분은 앞으로  보완되고 다듬어져 가야 한다.

Section V: recent developments in obtaining imperfect distributed scheduling policies with provably achievable throughput bounds.

We then conclude with a set of open problems.

 

 

II. OPPORTUNISTIC SCHEDULING FOR CELLULAR WIRELESS NETWORKS

 

오랫동안 multiuser scheduling problem 산업과 학교에서 많은 조명을 받아왔다그리고 multiuser scheduling problem 무선 네트워크에서 독특한 특징으로써 많은 동기부여를 받아왔다. : 자원의 크기, mobile 유저의 간섭문제시변 채널의 조건들(이동성과 페이딩으로 인한)

 

좋은 스케줄링 방법이란높은 네트워크 성능을 만족시키는 채널 컨디션을 기회주의적 형태로 분석 활용하는 것을 의미한다.

예를 들면, N명이 이용자들과 베이스 컨디션으로 구성된 cellular networks 고려하는 것이다.

게다가가정해보자.  유저들의 base station 으로부터의 타임슬롯시스템과 다운링크 통신에 대해서 가정해보자.

base station 채널 조건을 기반으로 어느 유저가 전송이 가능한지 결정할 수가 있다 아이디어는 SINR기반의 채널컨디션에 따라서 수신 단으로의 전송을 베이스 스테이션이 주어진 BER 만족시키며 높은 속도로 전송을 허용하는 것을 의미한다이것은 Base Station  기회주의적 기법으로 높은 네트워크 성능유지를 위하여 채널의 조건을 이용한다는 의미이다.

이와는 달리 기존의 전통적인 방법에선채널의 가변성을 제거하는 것이 주된 관심사였다.

 (예를 들면, spread spectrum, repetitive coding, and power averaging)

 

Opportunistic scheduling  대한 설명~ (앞장참고)

 

우리의 초점은 Downlink에서의 base station 전송 시나리오로 한정하며/무한 backlogged cased 위한 Opportunistic scheduling solutions  것이다.

 




A. Infinite-Backlog Case

 

Infinite-Backlog Case 종종 통신시스템 분야에서 프로토콜의 성능평가와 최대의 성능 량을 보기 위하여 사용된다.

이는 매우 심플하고 중요한 이해를 제공하는 다루기 쉬운 평가방법이다 단락의 내용에서의 목적은 실행가능한 스케줄링 정책 Q 찾는것이다. Q 주어진 공정성과 QoS 요구조건을 만족하며전반적으로 시스템 성능이 최대화를 보여주는 스케줄링 정책을 의미한다.

: policy Q Vector. 의미한다.

 : The index of the user selected for transmission : 전송을 위한 선택되는 유저의 인덱스

 : The data rate transmitted to user ; 사용자에게 전송되는 통신속도

Ui : the utility function of user , ; 유저의 이용률 함수

: measures the value or benefit to user i of the receiving data rate xi. ; i번째 유저의 수신속도 xi 이익 또는 값의 측정값

(Note that xi is a function of the channel condition and the coding and modulation scheme used.)

 

There have been many scheduling schemes that address this problem [9]–[13].

그리고 흥미롭게도 이들의 심플하고 근시안적인 스케줄 정책들의 형태는 아래의 식으로 표현이  수가 있다.

 

 

 and  constants and can be viewed as Lagrange multipliers. For example, consider the following problem studied in [12], [13]:

*Lagrange Multipliers: 출력물 참조

 

 

 :  The set of all stationary scheduling policies,

 : The minimum fraction of time-slots assigned to user (i.e., fairness in time)

 

명백하게 이것은 비선형 최적화 문제를 나타낸다하지만이것을 위의 Q*식에서  = 0  적절한 값의 선택으로 최적화를 쉽게 보여준다.

Q*식의 최적화 법은 각각의 타임슬롯에서 실행되고 확률적인 근사적 알고리즘을 통하여 얻을 수가 있다. [13]

유사하게도, temporal fairness 대신에 우리는 아래와 같은 QoS form 고려할 수가 있다.

 

• Fairness in utility: Each user receives at least a fraction of the aggregate utility value [11], [13].

 

• Minimum data rate requirement: Each user receives a minimum data rate of bps [13].

 

• Proportional fairness: Here, the objective is to achieve a solution that is proportionally fair, i.e., increasing the mean throughput of one user from the optimal level by results in a cumulative percentage decrease by greater than of the mean throughput of other users [14]. It turns out that such a solution is achieved when the optimization problem is to maximize the sum of the logarithms of the expected rates (or the product of the expected rates), i.e.,

식을 통하여 도출되는 각각의 케이스는 Q* 식과 상응하는 동일한 최적화 솔루션을 보여준다. (=0 )

그러므로이런 결과는 우리에게 무선네트워크상에서 시스템 성능의 기회적인 향상으로 이용될  있는 심플하면서 근시안적인 지표의 스케줄링 정책이라고 말해준다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B. Stability of Opportunistic Scheduling Schemes

 

이전에 A에서는 Infinite-Backlog Case  시스템으로 가정하여서 QoS/fairness constraints 조건하에 시스템의 Utility 평가하는 문제였다.

이제는, opportunistic scheduling 좀더 발전시켜서시스템의 QoS 제한성과 안정성을 위배하지 않는 범위 내에서 다루는 문제를  것이다.

먼저여기에 확률적인 안정성에서 유용성의 최대화로부터 이동한 문제가 있다 문제는 throughput-optimal scheduling 크게 관심 받아왔다. [15]

 것은 최대화의  가중치의 합의 비율이 바로최적의 처리량을 나타낸다는 스케줄링 법을 보여준다그리고 cellular networks에서 스케줄링 법은 아래의 형식을 따른다.

 : the queue length of user ,

xi : again the data rate transmitted to user

 

위의 스케줄링은 공정한 걸로 간주되며이것은 큐의 길이 정보가 최적화된 스케줄링 법에서 매우 중요한 것이라는 사실을 보여준다.

그래서이를 통하여많은 Idea들은 queue-length-based 처리량최적화와 안정성에 초점을 맞추어 opportunistic scheduling schemes 개발 되어왔다. [16]-[20]

(예를 들어), 논문 [16],[17]에서 아래의 form 따르는 간단한 index 스케줄링 법들은 최적의 처리량을 보여준다.

 

 : 상수,      the head-of-the-line packet delay at queue,      : the data rate of user.

그리고 delay-based 정책지표는 지수함수 가중치로 최적의 처리량을 보여준다.

최적의 처리량 스케줄링 법은 [21] 논문을 참고하길 바란다논문의 저자는 유저들이 시스템에 도달하는 임의의 부하의 양과 전송개시 하는 부하의 양을 모델링 했다그리고 최근에 논문[22], [23]에서의 저자는  traffic 제한성들과  편차로부터의 QoS 사용하는 기술과 안정성 기반의 다른 형태의 스케줄링을 특징짓고 구분하기를 시도하였다 핵심은 finite-Backlog Case에서 delay 제한성의 조건만 가질  QLB( 길이 기반 중요성이라는 결과로 이어진다.  QLB 정책의 네트워크 처리량은 그렇지 않는 스케줄링 법보다  높은 처리량을 보인다.

게다가시스템이 증가하는 경우와 초기에 증가하는  네트워크 처리량 정책안에서주어진 delay조건을 위반하며

 

 

Moreover, for a given delay violation constraint, when the number of users in the system increases, the total network throughput under policy (1) initially increases, and then eventually decreases to zero, but not so under the QLB policy. This should not be entirely surprising since index policies of the form (1) are agnostic to the delays incurred for different users and may not serve users whose queues are building up fast enough to remain within a delay violation probability.

 

 

 

또한 소정의 지연 제약 조건 위반으로 인해 시스템 증가하는 사용자 수가 정책 아래에서의  네트워크 처리량이 먼저 상승한 경우 다음 최종적으로  QLB 정책에 따라 제로가 아니다폼의 인덱스 정책이 다른 사용자 때문에 발생하는 지연에 사로 잡혀 있으면 지연 위반 확률에 체재하기 위하여 충분한 속도로 구축  사용자에게 서비스를 제공하지 않을지도 모르기 때문에 이것은 전혀 놀라운 일이 아니다.

 

또한주어진 지연 위반 제약 조건시스템 증가에 있는 사용자의 수가 정책에 따라 전체 네트워크 처리량이 처음 증가  그리고 결국 그렇게 QLB 정책 하에서 제로로 감소하지만폼의 인덱스 정책이 다른 사용자에 따른 지연 독립적이며해당 대기  지연 시간 위반 확률 내에 남아있는 만큼 빠르게 구축하는 사용자에게 서비스를 제공   없습니다 때문에 이것은 전혀 놀라운 일이  된다.










..작성중







REFERENCES

[1] F. P. Kelly, A. Maulloo, and D. Tan, “Rate control in communication networks: Shadow prices, proportional fairness and stability,” J. Oper. Res. Soc., vol. 49, pp. 237–252, 1998.

[2] H. Yaiche, R. Mazumdar, and C. Rosenberg, “A game theoretic framework for bandwidth allocation and pricing in broadband networks,” IEEE/ACM Trans. Netw., vol. 8, no. 5, pp. 667–678, Oct. 2000.

[3] S. H. Low and D. E. Lapsley, “Optimization flow control-I: Basic algorithm and convergence,” IEEE/ACM Trans. Netw., vol. 7, no. 6, pp. 861–874, Dec. 1999.

[4] S. Kunniyur and R. Srikant, “End-to-end congestion control schemes: Utility functions, random losses and ECN marks,” in Proc. IEEE INFOCOM, Tel-Aviv, Israel, Mar. 2000, pp. 1323–1332.

[5] S. H. Low and R. Srikant, “A mathematical framework for designing a low-loss low-delay Internet,” Netw. Spatial Econom., vol. 4, no. 1, pp. 75–102, Mar. 2004.

[6] R. Srikant, The Mathematics of Internet Congestion Control. Cambridge, MA: Birkhauser, 2004.

[7] M. Chiang, S. H. Low, R. A. Calderbank, and J. C. Doyle, “Layering as optimization decomposition,” Proc. IEEE, Dec. 2006, to be published.

[8] R. Knopp and P. Humblet, “Information capacity and power control in single-cell multiuser communications,” in Proc. ICC, 1995, pp. 331–335.

[9] P. Bender, P. Black, M. Grob, R. Padovani, N. Sindhushayana, and A. Viterbi, “CDMA/HDR: A bandwidth-efficient high-speed wireless data service for nomadic users,” IEEE Commun. Mag., pp. 70–77, Jul. 2000.

[10] S. Borst and P. Whiting, “Dynamic rate control algorithms for HDR throughput optimization,” in Proc. IEEE INFOCOM, Alaska, Apr. 2001, pp. 976–985.

[11] ——, “The use of diversity antennas in high-speed wireless systems: Capacity gains, fairness issues, multi-user scheduling,” Bell Laboratories Technical Memorandum, 2001.

[12] X. Liu, E. K. P. Chong, and N. B. Shroff, “Opportunistic transmission scheduling with resource-sharing constraints in wireless networks,” IEEE J. Sel. Areas Commun., vol. 19, no. 10, pp. 2053–2064, Oct. 2001.

[13] ——, “A framework for opportunistic scheduling in wireless networks,” Comput. Netw., vol. 41, no. 4, pp. 451–474, Mar. 2003.

[14] A. Jalali, R. Padovani, and R. Pankaj, “Data throughput of CDMA-HDR a high efficiency-high data rate personal communication wireless system,” in Proc. IEEE Veh. Technol. Conf., 2000, pp. 1854–1858.

[15] L. Tassiulas and A. Ephremides, “Stability properties of constrained queueing systems and scheduling policies for maximum throughput in multihop radio networks,” IEEE Trans. Autom. Control, vol. 37, no. 12, pp. 1936–1948, Dec. 1992.

[16] M. Andrews, K. Kumaran, K. Ramanan, A. Stolyar, P. Whiting, and R. Vijayakumar, “Providing quality of service over a shared wireless link,” IEEE Commun. Mag., vol. 39, pp. 150–153, Feb. 2001.

[17] S. Shakkottai and A. Stolyar, “Scheduling for multiple flows sharing a time-varying channel: The exponential rule,” Translations of the AMS, 2001, a volume in memory of F. Karpelevich.

[18] ——, “Scheduling of a shared a time-varying channel: The exponential rule stability,” in Proc. INFORMS Appl. Prob. Conf., New York, Jul. 2001.

[19] R. Buche and H. J. Kushner, “Control of mobile communication systems with time-varying channels via stability methods,” IEEE Trans. Autom. Control, vol. 49, no. 11, pp. 1954–1962, Nov. 2004.

[20] A. L. Stolyar, “Maximizing queueing network utility subject to stability: Greedy primal-dual algorithm,” Queueing Syst., vol. 50, no. 4, pp. 401–457, 2005.

[21] S. Borst, “User-level performance of channel-aware scheduling algorithms in wireless data networks,” IEEE/ACM Trans. Netw., vol. 13, no. 3, pp. 636–647, Jun. 2005.

[22] S. Shakkottai, “Effective capacity and QoS for wireless scheduling,” preprint, 2004.

[23] L. Ying, R. Srikant, A. Eryilmaz, and G. Dullerud, “A large deviations analysis of scheduling in wireless networks,” Trans. Inf. Theory, 2005, Earlier versions of the paper appeared in the IEEE CDC 2004, IEEE

CDC 2005 and IEEE ISIT 2006, submitted for publication.

[24] S. Sarkar and L. Tassiulas, “End-to-end bandwidth guarantees through fair local spectrum share in wireless ad-hoc networks,” in Proc. IEEE Conf. Decision and Control, Maui, HI, Dec. 2003, pp. 564–569.

[25] Y. Yi and S. Shakkottai, “Hop-by-hop congestion control over a wireless multi-hop network,” in Proc. IEEE INFOCOM, Hong Kong, Mar. 2004, pp. 2548–2558.

[26] Y. Xue, B. Li, and K. Nahrstedt, “Price-based resource allocation in wireless ad hoc networks,” in Proc. 11th Int. Workshop on Quality of Service, also Lecture Notes in Computer Science. New York: Springer-Verlag, vol. 2707, Monterey, CA, Jun. 2003, pp. 79–96.

[27] L. Chen, S. H. Low, and J. C. Doyle, “Joint congestion control and media access control design for wireless ad hoc networks,” in Proc. IEEE INFOCOM, Miami, FL, Mar. 2005, pp. 2212–2222.

[28] X. Lin and N. B. Shroff, “Joint rate control and scheduling in multihop wireless networks,” in Proc. IEEE Conf. Decision and Control, Paradise Island, Bahamas, Dec. 2004, pp. 1484–1489.

[29] ——, “The impact of imperfect scheduling on cross-layer rate control in multihop wireless networks,” in Proc. INFOCOM, Miami, FL, Mar. 2005, pp. 1804–1814.

[30] A. Eryilmaz and R. Srikant, “Fair resource allocation in wireless networks using queue-length-based scheduling and congestion control,” in Proc. IEEE INFOCOM, Miami, FL, Mar. 2005, pp. 1794–1803.

[31] A. Eryilmaz and R. Srikant, “Joint congestion control, routing and MACfor stability and fairness in wireless networks,” IEEE J. Sel. Areas Commun., vol. 24, no. 8, pp. 1514–1524, Aug. 2006.

[32] I. Paschalidis, W. Lai, and D. Starobinski, “Asymptotically optimal transmission policies for low-power wireless sensor networks,” in Proc. IEEE INFOCOM, Miami, FL, Mar. 2005, pp. 2458–2469.

[33] M. J. Neely, E. Modiano, and C. Li, “Fairness and optimal stochastic control for heterogeneous networks,” in Proc. IEEE INFOCOM, Miami, FL, Mar. 2005, pp. 1723–1734.

[34] M. Johansson and L. Xiao, “Scheduling, routing and power allocation for fairness in wireless networks,” in Proc. IEEE Veh. Technol. Conf.–Spring, Milan, Italy, May 2004, pp. 1355–1360.

[35] T. Bonald and L. Massoulie, “Impact of fairness on Internet performance,” in Proc. ACM Sigmetrics, Cambridge, MA, Jun. 2001, pp. 82–91.

[36] J. Mo and J.Walrand, “Fair end-to-end window-based congestion control,” IEEE/ACM Trans. Netw., vol. 8, no. 5, pp. 556–567, Oct. 2000.

[37] M. J. Neely, E. Modiano, and C. E. Rohrs, “Dynamic power allocation and routing for time varying wireless networks,” in Proc. IEEE INFOCOM, San Francisco, CA, Apr. 2003, pp. 745–755.

[38] R. L. Cruz and A. V. Santhanam, “Optimal routing, link scheduling and power control in multi-hop wireless networks,” in Proc. IEEE INFOCOM, San Francisco, CA, Apr. 2003, pp. 702–711.

[39] S. Toumpis and A. J. Goldsmith, “Capacity regions for wireless ad hoc networks,” IEEE Trans. Wireless Commun., vol. 2, no. 4, pp. 736–748, Jul. 2003.

[40] X. Lin and N. B. Shroff, “The impact of imperfect scheduling on cross-layer congestion control in wireless networks,” IEEE/ACM Trans. Netw., vol. 14, no. 2, pp. 302–315, Apr. 2006.

[41] G. Sharma, R. R. Mazumdar, and N. B. Shroff, “Maximum weighted matching with interference constraints,” in Proc. IEEE Int. Workshop Foundations and Algorithms ForWireless Networking, Pisa, Italy,Mar. 2006, pp. 70–74.

[42] C. H. Papadimitriou and K. Steiglitz, Combinatorial Optimization: Algorithms and Complexity. Englewood Cliffs, NJ: Prentice-Hall, 1982. LIN et al.: A TUTORIAL ON CROSS-LAYER OPTIMIZATION IN WIRELESS NETWORKS 1463

[43] L. Xiao, M. Johansson, and S. Boyd, “Simultaneous routing and resource allocation via dual decomposition,” in Proc. 4th Asian Control Conf., Singapore, Sep. 2002, pp. 29–34.

[44] M. Chiang, “Balancing transport and physical layer in multihop wireless networks: Jointly optimal congestion and power control,” IEEE J. Sel. Areas Commun., vol. 23, no. 1, pp. 104–116, Jan. 2005.

[45] ——, “Geometric programming for communication systems,” Foundations and Trends in Communications and Information Theory, vol. 2, no. 1–2, pp. 1–154, Jul. 2005.

[46] M. Arisoylu, T. Javidi, and R. L. Cruz, “End-to-end and MAC-layer fair rate assignment in interference limited wireless access networks,” in Proc. IEEE ICC , Istanbul, Turkey, Jun. 2006, to be published.

[47] X. Wang and K. Kar, “Cross-layer rate control for end-to-end proportional fairness in wireless networks with random access,” in Proc. ACM Mobihoc, Urbana-Champaign, IL, May 2005, pp. 157–168.

[48] J. W. Lee, M. Chiang, and R. A. Calderbank, “Jointly optimal congestion and contention control in wireless ad hoc networks,” IEEE Commun. Lett., vol. 10, no. 3, pp. 216–218, Mar. 2006.

[49] J. Zhang and D. Zheng, “A stochastic primal-dual algorithm for joint flow control andMAC design in multi-hop wireless networks,” in Proc. Conf. Inf. Sci. Syst., Princeton, NJ, Mar. 2006.

[50] L. Bui, A. Eryilmaz, R. Srikant, and X. Wu, “Joint congestion control and distributed scheduling in multihop wireless networks with a nodeexclusive interference model,” in Proc. IEEE INFOCOM, 2006.

[51] E. Leonardi, M. Mellia, F. Neri, and M. A. Marsan, “On the stability of input-queued switches with speed-up,” IEEE/ACM Trans. Netw., vol. 9, no. 1, pp. 104–118, Feb. 2001.

[52] X. Wu and R. Srikant, “Regulated maximal matching: A distributed scheduling algorithm for multi-hop wireless networks with node-exclusive spectrum sharing,” in Proc. IEEE Conf. Decision Control, 2005, pp. 5342–5347.

[53] T. Weller and B. Hajek, “Scheduling non-uniform traffic in a packetswitching system with small propagation delay,” IEEE/ACM Trans. Netw., pp. 813–823, Dec. 1997.

[54] J. Dai and B. Prabhakar, “The throughput of data switches with and without speedup,” in Proc. IEEE INFOCOM, 2000, pp. 556–564.

[55] X. Wu, R. Srikant, and J. R. Perkins, “Queue-length stability of maximal greedy schedules in wireless network,” in Proc. Inf. Theory Appl. Inaugural Workshop, Feb. 2006, Univ. California, San Diego. 

[56] P. Chaporkar, K. Kar, and S. Sarkar, “Achieving queue length stability through maximal scheduling in wireless networks,” in Proc. Inf. Theory Appl. Inaugural Workshop, Feb. 2006, Univ. California,

San Diego.

[57] ——, “Throughput guarantees in maximal scheduling in wireless networks,” in Proc. 43rd Annu. Allerton Conf. Commun., Control, Comput., Monticello, IL, Sep. 2005.

[58] X. Lin and S. Rasool, “Constant-time distributed scheduling policies for ad hoc wireless networks,” IEEE CDC 2006. [Online]. Available: http://min.ecn.purdue.edu/~linx/papers.html, submitted for publication

[59] X. Lin, N. Shroff, and R. Srikant, “On the connection-level stability of congestion-controlled communication networks,” IEEE Trans. Inf. Theory, 2006, submitted for publication.

[60] P. R. Kumar and T. I. Seidman, “Dynamic instabilities and stabilization methods in distributed real-time scheduling of manufacturing systems,” IEEE Trans. Autom. Control, pp. 289–298, Mar. 1990.

[61] A. Rybko and A. Stolyar, “Ergodicity of stochastic processes describing the operation of open queueing networks,” Problems of Information Transmission, vol. 28, pp. 199–220, 1992, translated from

Problemy Peredachi Informatsii, vol. 28, no. 3, pp. 3–26, 1992.

[62] A. Eryilmaz, E. Modiano, and A. Ozdaglar, “Distributed control for throughput-optimality and fairness in wireless networks,” preprint, 2006.

[63] Y. Yi, G. de Veciana, and S. Shakkottai, “Learning contention patterns and adapting to load/topology changes in a MAC scheduling algorithm,” preprint, 2006.

[64] J.-W. Lee, R. R. Mazumdar, and N. B. Shroff, “Downlink power allocation for multi-class CDMA wireless networks,” in Proc. IEEE INFOCOM, 2002, vol. 3, pp. 1480–1489.

[65] ——, “Opportunistic power scheduling for multi-server wireless systems with minimum performance constraints,” in Proc. IEEE INFOCOM, Hong Kong, China, 2004, pp. 1067–1077.

[66] M. Chiang, S. Zhang, and P. Hande, “Distributed rate allocation for inelastic flows: Optimization frameworks, optimality conditions, and optimal algorithms,” in Proc. IEEE INFOCOM,Miami, FL, Mar. 2005,

pp. 2679–2690.

'N.&C. > Optimization' 카테고리의 다른 글

[Lagrangian] 라그랑지언  (0) 2013.07.09
LMS 알고리즘  (1) 2013.06.10

+ Recent posts