• Tidak ada hasil yang ditemukan

3.1 기존 고전송 효율 알고리즘

3.1.1 Punctured 알고리즘

부호화율 1/2인 LDPC 부호화기를 거친 부호어는 송신단의 LDPC 복호기로 입력되어진다. 송신단의 LDPC 복호기는 수신단의 LDPC 복호기와 동일하며 복호 과정에서 Puncturing 할 위치를 선정하는 과정은 6개의 단계로 구분 지을 수 있으며 각 단계는 아래와 같다.

단계 1. puncturing할 비트 수 결정

- 원하는 부호율에 따라 puncturing할 비트 수를 결정한다. 이때 결정되는 puncturing 비트 수는 부호화 되어진 비트의 수에 1/2를 초과할 수 없다.

단계 2. 각 체크 노드에 카운터(counter) 설정

- 각 체크 노드에 일정한 숫자의 카운터를 설정한다. 이때 카운터의 수는 패리티 비트의 수로 초기화한다.

단계 3. 가장 큰 카운트를 가진 체크 노드 선택

- 앞부분에 있는 체크 노드를 우선순위로 하여 단계 1~6을 카운터가 0이 될 때까지 반복하며 가장 큰 카운터를 가진 체크 노드부터 선택한다. 선택된 체크 노드의 카운터에 -1을 더한다.

단계 4. 단계 3에서 선택된 체크 노드에 연결되어있는 비트 노드 중 가장 작 은 node degree를 가진 비트 노드 선택

단계 5. 단계 4에서 선택된 비트 노드에 연결된 체크 노드 중 작은 node degree를 가지는 체크 노드 선택

단계 6. 단계 5에서 체크 노드에 연결된 node degree가 최소가 되는 비트

노드를 puncturing 위치로 결정한다.

- puncturing 위치로 결정되어진 비트를 “0”으로 puncturing한다. 그리고 단계 1에서 결정한 puncturing 비트수를 만족할 때까지 단계 1~6을 반복한다.

“0”으로 puncturing 한 비트는 신호를 전송할 때 해당 데이터는 전송하지 않게 된다. 송신단에서 개의 비트가 부호기에 입력 될 때, 부호화율 1/2인 LDPC 부호기를 통과한 비트열의 개수는 다음 식 (3.1)과 같다.

  (3.1)

 개의 비트열  가 puncturing 알고리즘에 의해 개 만큼 puncturing 되어 진다고 할 때 puncturing 후의 비트열의 개수는 다음 식 (3.2)와 같다.

       (3.2)

부호화율 1/2을 적용하였을 때 전송되는 데이터의 개수는  개 이지만 puncturing 알고리즘을 적용하였을 경우     개의 데이터가 전송되어 진다. 즉 puncturing 할 비트의 수 에 따라 고 부호화율을 적용시킨 것과 동일한 전송률 향상을 얻을 수 있다. LDPC 부호의 부호화율에 따른 부호어의 개수와 puncturing 알고리즘을 적용시켜 동일한 부호화율을 얻기 위한 의 개수는 다음 식 (3.3)과 같다.

    · (3.3)

예를 들어 부호기의 입력되는 비트   개 인 경우 부호화율 1/2을 기준

으로 LDPC 부호기를 통과한 부호어는 식 (3.1)에 의해  개의 부호 어가 생성된다. LDPC 부호의 부호화율 4/5의 전송률과 동일한 전송률을 달성하기 위한 의 갯수는 식 (3.2)에 의해    



×   

×를 구할 수 있다. 즉, 1/2 부호화율 LDPC 부호기를 거친 후 puncturing 알고리즘을 통해 24,300개의 부호어를 puncturing 시키면 LDPC 부호의 부호화율 4/5를 적용시킨 것과 동일한 전송효율을 얻을 수 있다.

Puncturing 알고리즘이 적용 된 수신 데이터는 LDPC 복호기에서 puncturing 된 비트 노드의 초기값을 “0”으로 설정하고 BNU와 CNU의 과정을 반복하여 복호한다.