이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 예를 들어, 이하의 설명은 이해를 돕기 위해 상술한 3GPP LTE (3rd Generation Partnership Project Long Term Evolution) 시스템에 적용되는 구체적인 예를 들어 설명하나, 본 발명은 3GPP LTE 시스템뿐만 아니라 일반적으로 다양한 길이를 가지는 제어 정보를 블록 코드를 이용하여 채널 코딩을 수행할 필요가 있는 임의의 통신 시스템에 적용될 수 있다.
이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다. 몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시된다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.
상술한 바와 같이 본 발명의 일 측면에서는 다양한 길이를 갖는 정보에 효율적으로 (20, A) 블록 부호화를 수행하는 방법을 제안하고자 한다. 이를 위한 본 발명의 일 실시형태에서는 기존 시스템에서 사용되던 블록 부호의 생성행렬을 바탕으로 부호를 구성하여, 부호화 및 복호화를 줄이는 방법을 제안한다. 구체적으로, 본 실시형태에서는 큰 길이의 정보를 부호화하기 위한 생성행렬을 찾는 과정에서, 특정 조건을 첨가하여 찾음으로써, 좀더 효율적이고 빠르게 큰 생성행렬을 찾는 방법을 제안한다.
한편, 상술한 바와 같이 본 발명의 다른 일 측면에서는 큰 길이의 정보 비트/부호화 비트 수에 대해 제안된 블록 부호에서 필요한 만큼 일부분만을 효율적으로 사용하는 방법을 제안하고자 한다. 이를 위해 본 발명의 일 실시형태에서는 다양한 길이를 가지는 정보를 블록 부호화하는데 있어서, 각각의 길이에 해당하는 생성행렬을 최대한 공통으로 구현함으로써, 효율적인 부호화를 수행하는 것을 제안한다. 즉, 본 실시형태에서는 최대 정보양의 길이에 맞추어서 생성된 큰 생성행렬을 바탕으로 하여서, 상기 최대 길이보다 작거나 같은 길이의 정보를 부호화하기 위한 생성행렬을 구성함으로써, 각각의 정보 길이를 위한 생성행렬들 간의 공통점을 최대한으로 유지하는 방법을 제안한다.
이를 위해 좀더 구체적인 첫 번째 방법으로는, 상기 최대 길이보다 작거나 같은 각각의 정보 양에 맞추어서, 개별적으로 최적화하여 생성행렬을 구성하는 것도 가능하다. 또 다른 두 번째 방법으로는, 상기 최대 길이보다 작거나 같은 정보 길이를 부호화하기 위한 생성행렬을 구성하는데 있어서, 큰 길이의 정보를 위한 생 성행렬은 작은 길이의 정보를 위한 생성행렬을 반드시 포함하도록 하는 포함 구조(nested structure)로 생성행렬을 구성하는 것도 가능하다. 세 번째로는, 정보 길이 각각에 대하여 최적화된 생성행렬 구성 시에도 최대한 포함구조가 되도록 변형하는 방법을 포함하는 복합구조(Hybrid structure)로 구성하는 것이 가능하다.
이하에서는 상술한 바와 같은 본 발명의 일 측면을 다음과 같은 과정에 따라 (20, A) 블록 부호를 최종적으로 (20, 14) 블록 부호까지 마련하고, 이를 이용하여 A길이를 가지는 정보에 대해 채널 코딩을 수행하는 방법을 설명하기로 한다.
첫 번째 과정으로서는 기존의 3GPP에서 사용되던 TFCI (Transport Format Combination Indicator) 정보의 코딩에 사용된 (32,10) 부호로부터 (20,10) 부호를 생성하는 방법을 살펴본다.
두 번째 과정으로서는 정보 비트의 길이가 10 비트 이상인 경우에 대비하여 상술한 바와 같은 (20, 10) 부호에 정보 비트 수에 따라 기본 시퀀스(Basis Sequence)를 추가하여 최대 (20,14) 부호까지 생성하는 경우를 살펴본다.
세 번째 과정으로서는 상술한 바와 같은 (20,14) 부호를 수정하여 성능을 개선하는 방법에 대해 살펴본다.
한편, 상술한 과정에 따라 생성된 (20, 14) 부호를 기반하여 18 비트, 16 비트 길이의 부호어를 생성할 수 있는 블록 부호화 방법에 대해 본 발명의 다른 일 측면으로서 후술한다.
본 발명은 3GPP LTE 시스템에서 채널품질지자(CQI) 정보를 물리상향링크 제어 채널(PUCCH)을 통해 전송하는 경우에 수행되는 채널 코딩에 적용되기에 적합하 다. 다만, 본 발명의 적용 범위를 이에 한정할 필요는 없으며, 다양한 길이를 가지는 제어 정보의 채널 코딩이 필요한 다양한 시스템에 적용될 수 있다.
1. 제 1 측면 - (20, A) 블록 코딩
(1) 제 1 단계 - (20, 10) 블록 코드 생성
본 실시형태에서는 차세대 이동통신 시스템에서 사용되는 PRM(Punctured Reed-Muller 부호) 부호의 생성행렬을 제안한다. 본 부호에 사용되는 생성행렬은 3GPP Rel' 99에서 TFCI(Transport Format Combination Indicator) 정보의 채널코딩에 사용되었던 (32,10) 부호의 생성행렬을 기반으로 하여, 부호화되는 부호어의 길이에 따라 천공(Puncturing)이 된 형태를 가지도록 설계하는 것을 제안한다.
이러한 (32,10) TFCI 정보 코드의 재사용은 여러 가지 장점을 갖는다. 첫째로, TFCI 정보 코드 자체가 Reed-Muller 부호를 기초로 하여 설계 되었으므로, 천공된 TFCI 부호도 변형된 Reed-Muller부호 구조를 갖는다. 이러한 Reed-Muller 기반의 부호는 복호과정에서 빠른 하다마드 변환(Fast Hadamard Transform)과 같은 방법을 사용하여 빠른 복호가 가능한 장점이 있다. 두 번째로, TFCI 부호화 방식은 다양한 길이의 정보비트와 부호화 비트를 지원한다. 이렇게 정보 비트의 길이나 부호화 비트의 길이가 다양하게 변화 가능하므로, 현재 3GPP LTE의 CQI 전송을 위한 요구사항을 잘 만족하게 된다.
아래 표 1은 3GPP Rel' 99에서 TFCI 정보 채널코딩에 사용되었던 길이가 32 비트이고 d min=12인 부호어를 생성하는 (32,10) 부호의 생성행렬을 나타낸다.
[표 1]
이하에서는 상기 표 1과 같은 (32, 10) 블록 코드를 TFCI 정보 코드 또는 TFCI 정보 코딩용 블록 코드로 지칭한다.
일반적으로 블록 코드에 있어서 행 서로간 또는 열 서로간에 위치를 교환하더라도 생성되는 부호어에 성능 차이가 없는 것으로 알려져 있다. 이와 같은 점을 이용하여 이하 표 2는 상술한 TFCI 정보 코딩에 이용된 (32, 10) 블록 코드와 등가인 블록 코드를 나타낸다.
[표 2]
상기 표 2에 표시된 블록 코드는 상기 TFCI 코딩에 이용된 (32, 10) 코드의 행과 열의 위치가 변경되었으며, 몇몇 개의 열(표 1의 TFCI 정보 코드를 기준으로는 행)간에 서로 위치가 바뀌어 있는 형태를 나타내고 있다.
즉, 본 실시형태에서는 상술한 바와 같이 (32, 10)의 형태를 가지는 TFCI 정보코드(표 1) 또는 이의 등가 형태 행렬(표 2) 중 12개의 행(표 2의 블록 코드 관점에서는 열)을 천공하거나, 20개의 행(표 2의 블록 코드 관점에서는 열)을 선택하 여 (20, 10) 블록 코드를 구성하는 것을 제안한다. 상기 표 1을 이용하는 경우와 상기 표 2를 이용하는 경우 모드 성능에 차이가 없는 바, 이하에서는 설명의 편의를 위해 특별한 표기가 없는 한 상기 표 2와 같은 TFCI 정보 코드의 등가 형태를 이용하는 것을 가정한다.
한편, 상기 TFCI 정보 부호화에 사용된 (32,10) 부호는 Reed-Muller(RM) 부호를 기반으로 생성되었다. 이 때, 오류 정정 성능을 위해 부호어의 최소거리( d min )가 최대가 되는 천공 패턴을 찾는 것이 중요하다.
우선 본 실시형태와의 대비를 위해, TFCI 부호화에 사용된 (32,10) 부호의 생성행렬에 대해 최적의 천공패턴을 찾는 전수탐색(全數 探索; 전수탐색)을 수행하는 경우에 대해 알아보자. 32*10 행렬에서 천공되어야 할 생성행렬의 열(Column)의 개수를
p이라고 할 때, 모든 가능한 천공 패턴의 가지 수는
이다.
여기서
는 32개 중 p개를 선택하는 경우의 수를 나타낸다.
일례로
p = 12인 경우,
=225,792,840 개의 서로 다른 10*20 생성행렬이 존재하며, 상기 각각의 생성행렬당 이용하여 10 비트로 구성 가능한 2
10=1,024개의 정보가 20 비트의 부호어로 부호화한다. 상기 각각의 생성행렬로부터 생성되는 부호어들 간의 최소 해밍거리(
d min )을 계산하여, 상기 최소 해밍거리 중에서 가장 큰 값을 가지는 생성행렬을 찾는다. 상기 최대
d min 을 갖는 생성행렬을 만들기 위 해 사용된 천공 패턴이 최종적으로 찾고자 하는 패턴이다. 이를 단계별로 자세히 정리하면 다음과 같다.
단계 1(Step1): 32*10 행렬에서 임의의 12개의 열을 천공한
=225,792,840개의 20*10 생성행렬을 구성한다.
단계 2(Step2): 상술한 225,792,840개의 생성행렬 각각으로부터 각각 210=1,024개의 정보를 입력한 1,024개의 부호어를 생성하고, 상기 부호어들 간의 최소 해밍거리를 계산한다.
단계 3(Step3): 상술한 바와 같은 부호어들간의 최소 해밍거리 중에서 최대값을 보이는 생성행렬을 통해 원하는 천공패턴을 찾는다.
다만, 상술한 바와 같은 과정을 통한 최적의 (20, 10) 블록 코드의 생성은 너무나 많은 연산이 필요하여 바람직하지 않다.
따라서, 본 실시형태에서는 상술한 바와 같은 천공 패턴을 정하는데 있어서 특정 제약 조건을 가하여, 최적의 d min 을 획득하기 위한 탐색 공간 (searching space)의 범위를 줄이는 방법을 제안하고자 한다.
이제 본 실시형태에 따라 d min =d 를 갖는 부호어를 생성하는 (20,10) 부호의 생성행렬을 보다 효율적으로 찾는 방식에 대해 생각해 보자. 목표(Target) d min 을 d라고 하면, (20,10)부호의 생성행렬의 각 행 벡터(row vector) g 10by20 [i](1≤ i ≤10)의 해밍 무게(Hamming weight) w(g 10by20[i])는 다음과 같은 필요조건을 갖는다.
[수학식 1]
일례로, d=6 인 경우, 상기 수학식 1은 다음과 같이 나타낼 수 있다.
[수학식 2]
따라서, 본 실시형태에서는 상술한 전수 탐색 과정의 단계 1에서 생성되는 10*20 행렬의 각 행 벡터 g 10by20 [i]들이 상기 수학식 2 의 제약을 갖도록 추가하면
d min = 6 인 부호어를 생성하는 생성행렬을 찾기 위한 탐색 공간의 수 (
N <<
)를 감소시킬 수 있다. 일반적으로 문헌에 의하면, (20,10) 부호의 최대
d min은 6임이 알려져 있다. 이에 대한 구체적인 사항은 "The Theory of Error-Correcting Codes (by F.J. MacWilliams and N.J.A. Sloane)를 참조할 수 있다. 따라서, 본 실시형태에서는 상기 수학식 1의 조건에
d min = 6의 조건을 적용하여 이에 기반하여 다음과 같은 방식으로 (20, 10) 코드를 생성하는 것을 제안한다.
도 1은 본 발명의 일 실시형태에 따라 (32, 10) TFCI 정보 코드로부터 효율적으로 (20, 10) 블록 코드를 생성하는 방법을 설명하기 위한 도면이다.
구체적으로 단계 S101에서는 (32, 10) 구조를 가지는 TFCI 정보 코드로부터 (20,10) 블록 코드를 임의로 생성한다. 그 후, 단계 S102에서는 바로 각 행에 대응 하는 기본 시퀀스의 가중치가 상기 수학식 2의 조건을 만족시키는지 여부를 판정한다. 이때, 상기 수학식 2의 조건을 만족하지 못한다면 바로 단계 S101로 복귀하며, 상기 수학식 2의 조건을 만족하는 경우에 한하여 단계 S103으로 진행한다. 단계 S103에서는 생성된 (20, 10) 코드를 이용하여 1,024개의 부호어를 생성한다. 이와 같이 생성된 1,024개의 부호어는 단계 S104에서 d min = 6 조건을 만족하는지 여부를 판정하게 된다. 이때, d min = 6 조건을 만족하지 못하는 경우 다시 단계 S101로 복귀하며, d min = 6 조건을 만족하는 경우 단계 S105로 진행하여 가중치 분포(Weight Distribution)을 계산한다. 그 후, 단계 S106에서 최적의 가중치 분포가 아닌 것으로 판정되는 경우에는 다시 단계 S101로 복귀하며, 최적의 가중치 분포로 판정되는 경우에는 단계 S107로 진행하여 최적의 행렬 패턴의 하나로서 선택된다.
상기 도 1에 도시된 바와 같은 과정을 통해 얻어진 결과 d min = 6이 최대로 얻을 수 있는 최소 거리이고, 이때 최소거리가 6인 부호어를 생성하는 생성행렬의 개수는 총 360개이다. (20,10) 부호가 최대로 가능한 d min 은 6이고, 도 1과 같이 본 실시형태에서 제안된 방법으로도 최대 d min 이 6인 부호의 생성이 가능하므로, 본 실시형태에서 이용한 방법을 통해 최적의 부호어를 생성하는 (20, 10) 부호의 생성행렬을 보다 효율적으로 찾을 수 있음을 알 수 있다.
또한, 여기서 최적의 부호란 최소거리의 특성에 의해서 결정된다. 즉, 일반적으로 부호의 성능은 최소거리가 크면 클수록 좋아지며, 최소거리에 해당하는 부 호어의 수가 적으면 적을수록 성능이 좋아진다. 따라서, 최적의 부호란, 최소거리가 최대이며, 상기 최소거리를 나타내는 부호어의 수가 최소인 경우를 나타낸다. 좀더 엄밀히 말하면, 해밍무게분포(Hamming weight distribution)를 다항식으로 표현하는 경우에, 상수항이 아닌 가장 낮은 차수가 최대 이면서, 해당 차수의 계수가 최소인 경우를 의미한다. 만약, 두 개의 부호가 존재하고 두 개의 부호어의 해밍무게분포를 다항식으로 나타내었을 때, 두 개의 부호들간의 성능 우열은 차수와 계수로 비교 가능하다. 즉, 두 부호들의 해밍무게분포들 간의 최소 차수가 큰 쪽의 성능이 더 좋게 된다. 만일, 최소 차수가 동일하다면, 해당 최소 차수의 계수(즉, 상기 최소 차수에 해당하는 해밍무게를 갖는 부호어의 개수)가 작은 쪽의 성능이 좋게 된다. 한편, 두 부호들간의 해밍무게분포 다항식 비교 시에, 최소 차수와 최소 차수의 계수마저도 동일하다면, 그 다음차수를 비교하여 성능을 비교할 수 있다.
도 1과 관련하여 상술한 방법을 사용하면 (32,10) TFCI 정보 부호로부터 천공과정을 통해서 d min = 6 인 360개의 10*20 행렬들을 얻을 수 있다. 한편, 상기 생성행렬들의 해밍무게분포를 계산하여 분류하면, 다음과 같이 3가지 경우로 나눌 수 있고, 이를 아래 수학식 3 내지 5에 다항식 형태로 표현하면 다음과 같다.
[수학식 3]
[수학식 4]
[수학식 5]
아래 표 3은 상기 수학식 3의 해밍무게분포를 따르는 생성행렬의 예( A A 1,20(x) )를, 표 4는 상기 수학식 4의 해밍무게분포를 따르는 생성행렬의 예(A A 2,20(x))를, 표 5는 상기 수학식 5의 해밍무게분포를 따르는 10*20 생성행렬의 한 예(A A 3,20(x))이다. 상기 수학식 3 내지 5 와 같은 해밍무게분포의 특성을 갖는 모든 천공 패턴에 의해 생성된 10*20 행렬들은 최소거리 측면에서 오류 정정 능력이 모두 동일한 특성을 갖는다.
[표 3]
[표 4]
[표 5]
실제로 동일한 해밍무게분포를 보이는 생성행렬의 개수는 다수개가 존재하며, 전수검사에 의해 모든 경우를 다 찾으면 총 360개가 존재한다. 이와 같은 360개의 천공 패턴은 본 발명자에 의해 발명되어 출원되었으며, 본 출원의 우선권 주장의 기초가 되는 미국 가출원 제 61/016,492 호 (GENERATION METHOD OF VARIOUS SHORT LENGTH BLOCK CODES WITH NESTED STRUCTURE BY PUNCTURING A BASE CODE)의 Appendix A에 상기 표 2를 기반으로 하여 천공되는 열의 인덱스가 일일이 개시되어 있으며, 본원 명세서에서는 지면 관계상 이를 생략한다.
상기 360개의 천공 패턴을 더욱 자세히 해밍무게분포 별로 분류하면 다음과 같다. 상기 수학식 3에 해당하는 해밍무게분포를 나타내는 (20,10)부호의 생성행렬을 위한 천공패턴은 총 290개가 존재한다. 또한, 상기 수학식 4에 해당하는 해밍무게분포를 나타내는 (20,10)부호의 생성행렬을 위한 천공패턴은 총 60개가 존재한다. 한편, 상기 수학식 5에 해당하는 해밍무게분포를 나타내는 (20,10)부호의 생성행렬을 위한 천공패턴은 총 10개가 존재한다.
본 발명에 대한 설명에 있어서는 상기 360개의 천공 패턴 중 다음과 같은 패턴을 예로 들어 설명한다.
아래 표 6은 상기 수학식 4의 해밍무게분포를 나타내는 60개의 천공 패턴 중 하나를 나타낸다.
[표 6]
상기 표 6의 천공 패턴은 상술한 본 출원의 우선권 주장의 기초가 되는 미국 가출원 제 61/016,492 호의 Appendix A, 표 A.2의 6번째 인덱스에 대응하는 천공 패턴이다. 이때, 상기 표 6에 있어서 "0"은 해당 열을 천공하는 것을 나타내며, "1" 은 해당 열을 천공하지 않고 (20, 10) 블록 코드에 선택하는 것을 의미한다.
상기 표 6의 천공 패턴을 상기 표 2에 적용한 예는 다음과 같이 나타낼 수 있다.
[표 7]
이때, 상기 표 7은 상기 표 2와 대비하여 행과 열의 방향이 변경되어 표현되었으나, 동일한 의미를 가지며, 우측에는 각각의 행 방향 시퀀스 중 천공되는 12개의 행을 표시하고 있다. 이에 따라 생성되는 (20, 10) 블록 코드는 다음과 같다.
[표 8]
한편, 상기 표 7 또는 표 8의 행의 순서는 3GPP에서 사용되는 TFCI 부호화를 위한 행렬 순서와는 약간의 차이가 있다. 상술한 바와 같이 코딩 이론에 있어서 각 행들의 위치를 변경하는 경우에도 생성된 부호어들의 성능에는 차이가 없는바, 상기 표 7 또는 표 8의 행의 순서를 TFCI 부호 행렬과 같이 맞추면 다음 표 9와 같이 나타낼 수 있다.
[표 9]
상술한 바와 같이 상기 표 9는 상기 표 7과 행의 순서만 변화가 있으며, 다른 사항은 완전히 동일하다. 이런 경우는 부화 이론에 의해서 부호특성은 완전히 동일한 특성을 갖게 된다. 상기 표 9와 같은 표현 방법의 이점은 (20,10)부호에서 (18,10)부호로 천공 시에 마지막 2비트를 천공하여 생성 가능한 이점이 있으며, 자세한 사항에 대해서는 후술하기로 한다.
(2) 제 2 단계 - (20, 14) 블록 코드 생성
상술한 바와 같이 본 발명의 일 실시형태에 따라 생성되는 (20, A) 블록 코드는 3GPP LTE 시스템에서 채널 품질 정보를 나타내는 CQI가 PUCCH를 통해 전송되기 위한 채널 코딩 방법에 이용되는 것을 가정한다. 또한, 상기 제 1 단계에서는 상기 3GPP LTE 시스템에서 CQI 정보의 비트 수는 4비트부터 10비트까지 다양할 수 있다는 점을 감안하여, 최대 (20, 10) 블록 부호까지 제안한 것이다. 다만, MIMO의 경우에는 CQI의 정보 비트수가 10비트보다 더 커질 수도 있다. 하지만, 실제 CQI 전송량은 CQI의 생성 방식에 따라 결정되므로, 부호화 과정을 위해서는 대략 적으 로 4부터 14비트정도까지의 여러 정보 비트 수를 모두다 지원하는 방식을 고려해 보도록 한다.
따라서, 본 단계에서는 제 1 단계에서 고려한 (20, 10) 블록 코드에 정보 비트 수에 따라 열을 추가하여 최대 14비트까지 지원할 수 있는 (20, 14) 블록 코딩 방법에 대해 살펴본다.
이와 같이 추가되는 열을 전수탐색을 통해 찾기 위해서는 대단히 많은 연산을 수행하여야 한다. 예를 들어 상기 표 9에 나타낸 (20, 10) 블록 코드에 하나의 열을 추가하기 위해서도 2
20 10
24개의 천문학적인 경우의 탐색이 필요하다. 따라서, 모든 경우에 대해 전수 탐색을 수행하는 것은 효율적이지 못하다.
본 단계에서는 상기 표 9의 6번째 열이 모두 1로 구성된 기본 시퀀스(Basis Sequence)임에 주목한다. 따라서, 추가되는 열이 최소거리 d를 만족해야 한다면, 최소한의 "0" 의 개수는 d보다 크거나 같아야 한다. 본 예에서는 "0" 의 개수가 부호어들 간의 최소거리가 되기 때문이다.
자세히 설명하면, 추가되는 열과 모두 1로 구성된 기존 6번째 열과의 차이가 곧 두 부호어간의 거리이고, 따라서 추가되는 열의 "0" 의 개수가 곧 부호어간의 거리와 일치하게 된다.
일반적으로 (20, 10) 코드에서 가능한 최대 최소거리가 6인 반면, 본 특허의 방법으로 구성된 (20, 11) 코드에서 가능한 최소한의 최대 거리는 4이다. 구체적으로 20 비트 부호어에서 다양한 정보 비트 수에 따른 최대 최소거리 특성은 다음과 같다.
[표 10]
따라서, 본 발명의 일 실시형태에서는 추가되는 열의 최대 최소거리가 "4" 인 것을 목표로 하여 열을 추가하는 방법을 제안한다. 이는 곧 추가되는 열에 "0" 의 개수가 4 이상인 열을 추가하는 것을 의미한다.
우선 탐색 개수를 최소화하기 위해 본 실시형태에서는 추가되는 열은 "0" 을 4개 포함하는 열로 한정하여 본다. 이와 같이 "0" 을 4개 포함하고, "1" 을 16개 포함하는 추가열은 여러 가지가 가능하며 다음 표 11은 그 중 일례로서 상기 표9의 (20, 10) 코드를 (20, 14) 코드까지 확장한 형태를 나타내고 있다.
[표 11]
상기 표 11에 있어서 추가되는 4개 열은 우측 4개 열이며, 추가되는 열에 있어서 "0" 은 굵은 글씨체로 나타내었다.
(3) 제 3 단계 - 블록 코드의 변형/최적화
본 발명의 일 실시형태에서는 최대 정보양의 길이에 맞추어서 생성된 큰 생성행렬을 바탕으로 하여서, 상기 최대 길이보다 작거나 같은 정보길이를 부호화 하기 위한 생성행렬을 구성함으로써, 각각의 정보 길이를 위한 생성행렬들간의 공통 점을 최대한으로 유지하는 방법을 제안한다. 좀더 구체적인 첫 번째 방법으로는, 상기 최대 길이보다 작거나 같은 각각의 정보양에 맞추어서, 개별적으로 최적와하여 생성행렬을 구성하는 것도 가능하다. 두 번째 방법으로는, 상기 최대 길이보다 작거나 같은 정보 길이를 부호화 하기 위한 생성행렬을 구성하는데 있어서, 큰 길이의 정보를 위한 생성행렬은 작은 길이의 정보를 위한 생성행렬을 반드시 포함하도록 하는 포함구조(nested structure)로 생성행렬을 구성하는 것도 가능하다. 세 번째로는, 정보 길이 각각에 대하여 최적화된 생성행렬 구성 시에도 최대한 포함구조가 되도록 변형하는 방법을 포함하는 복합구조(Hybrid structure)로도 구성하는 것이 가능하다.
우선, 앞서 살펴본 상기 표 11의 정보 비트 길이에 따른 해밍무게분포를 살펴보면 다음 표 12와 같다.
[표 12]
상기 표 12 에서 최소해밍거리는 음영으로 표시되었다. 우리의 관심사는 최소한 정보 비트수 k가 4이상이 경우이므로, 표 12 에 있어서 정보 비트의 길이 k가 3보다 작은 경우는 편의상 생략하였다. 또한, 각각의 k값들을 최소거리에 따라서 그룹지을 수 있다. 즉, k=4∼6은 최소거리가 8인 그룹이며, k=7∼10은 최소거리 6인 그룹, 그리고 k=11∼14는 최소거리가 4인 그룹으로 분류가 가능하며, 이는 상기 표 10과 대응됨을 알 수 있다.
본 단계에서는 작은 부호율을 갖는 부호를 생성하는데 있어서, 부호어들간의 최소거리가 최대가 되도록 부호를 구성하며, 부호의 구성 또한 간단한 방법으로 생성하는 방법을 제안한다.
예를 들어 상기 표 11 에서 정보 비트의 길이가 4인 경우, 지금까지는 앞에서 4개의 열을 선택하여 정보 비트의 순서대로 왼쪽 열에 대응시키는 방법으 고려해왔지만, 실제로는 14개의 열중에서 아무거나 4개를 선택하여도 부호구성이 가능하다. 하지만, 이때 최소거리가 최대화되도록 구성하는 것이 바람직하다. 만일 14개의 열중에서 4개를 선택하는 데 있어서, 7번 열부터 14번 열중에서 아무거나 하나만 포함되더라도 원래 앞에서부터 처음 4개의 열을 선택할 때 얻을 수 있는 최소거리 8이 유지가 안 되는 경우가 생기게 된다. 하지만, 상기 표 12 및 표 10을 참조하면 열 5와 열 6은 최소거리가 8인 그룹이므로, 4개의 열을 선택하는 데 있어서 6번까지의 열중에서 임의의 4개를 선택하는 것이 고려 가능하다.
따라서, 각각의 정보 비트에 따른 열 선택에 있어서, 원래 해당 정보 비트 수에 따라 얻을 수 있는 최소거리보다 크거나 같은 최소거리를 나타내는 열들 중에서 가장 특성이 좋은 열을 선택하는 것이 가능하다.
일례로, 정보 비트수가 11개부터 14개 사이만을 최적화 하기 위해서, 일단 1번부터 10번까지의 열은 고정시킨 상태에서, 정보 비트 수에 따라서 해밍무게 분포를 살펴보면 다음 표 13 내지 15와 같다.
[표 13]
[표 14]
[표 15]
상기 표 13 내지 표 15에 있어서 각각의 경우 가장 좋은 무게분포를 보이는 경우를 음영으로 표시하였다. 좋은 성능을 갖는 부호란 무게분포에서 "0" 이 아닌 무게의 값, 즉 최소거리를 갖는 무게 값이 큰 경우를 의미한다. 또한 상기 무게 값에 해당하는 부호어의 개수가 적을수록 좋은 성능을 나타낸다. 만일 최소무게의 성 능이 두 부호들간에 동일하다면, 그 다음으로 최소인 무게에서의 특성에 의해 부호의 성능이 결정된다. 즉, 두 번째로 작은 무게 값이 될 수 있는 한 클수록 성능이 좋으며, 상기 두 번째로 작은 무게 값이 동일하다면 해당 무게 값을 구성하는 부호어의 개수가 작을수록 좋은 성능을 나타낸다.
상기 표 13 내지 표 15와 같은 과정을 반복하여 각 정보 비트 길이 별로 최적의 성능을 나타내도록 열을 할당하면 다음 표 16과 같다. 여기서는 우리의 주된 관심사는 정보 비트 길이 k가 4이상이므로, 3비트까지는 원래대로 고정하여 사용하고, 4비트 이상에서만 최적의 열을 찾아서 아래 표 16에 표시하였다.
[표 16]
만일 k가 3 이하인 경우에도 열 간 위치 교환을 고려해야 한다면, 좀더 많은 과정을 거칠 뿐 동일한 논리적 과정을 거쳐서 최적 열 할당을 찾으면 된다
우리의 관심사가 정보 비트 수 k가 4이상인 경우라면, 각각의 정보 비트 별로 최적의 열 할당을 한 경우는 앞서 살펴본 상기 표 16과 같다. 한편 상기 표 16을 살펴보면 정보비트수가 커질 때 이용되는 열들에 작은 정보 비트에 할당되었던 열이 항상 포함되지는 않는다. 즉, 큰 정보비트의 할당 열이 작은 정보비트의 할당 열을 포함하는 포함구조(nested structure)를 유지 하지 않게 된다.
포함구조가 아니면, 각각의 정보 비트마다 할당되는 열을 따로 표시해야 되는 번거로움이 생기게 된다. 따라서, 최적의 할당을 유지한 채로 최대한 포함구조를 형성하는 방법을 살펴보자.
우선 최소거리가 같은 그룹 내에서 열간 순서 변화를 위한 위치교환(permutation)을 고려해보자. 일례로 최소 거리가 4인 그룹인 열 11, 12, 13, 14에서 열의 순서를 바꾸어 11, 13, 14, 12로 위치 이동을 해본다. 그러면 최적 매핑 패턴은 k=11에서는 [1∼10]+[11]이 되고, k=12에서는 [1∼10]+[11,13], k=13에서는 [1∼10]+[11,13,14] 이고, k=14에서는 [1∼10]+[11,12,13,14]가 된다. 즉, 열의 순서를 바꾼 상태에서는 k 값에 따라 순차적으로 열을 할당하면 된다.
위에서 살펴본 바와 같이 k값이 증가함에 따라 순차적으로 열을 할당하면 최적의 할당 패턴이 되도록 열의 순서를 바꾸는 것이 고려 가능하며, 이를 아래 표17에 나타내었다.
[표 17]
물론 상기 표 16과 같은 최적 할당 패턴을 만족하면서 열의 순서를 바꾸는 방법은 상기 표 17이외에도 여러 가지가 존재할 수 있으며, 또 다른 하나의 예를 아래 표 18에 나타내었다.
[표 18]
상기 표 17 또는 표 18과 같이 생성행렬을 구성하면, 정보 비트 수 k가 증가함에 따라 순차적으로 열을 할당하여도, 왼쪽 열부터 차례대로 할당하여도 최적의 할당이 되는 장점이 생기게 된다.
아울러, 본 발명의 또 다른 일 실시형태로서 정보 비트 수가 4이하인 경우에 대한 열 방향 시퀀스(기본 시퀀스) 위치에 변경을 줄 수 있다. 구체적으로 상기 표 11를 살펴보면 6번째 열, 즉 Mi,5의 모든 비트가 "1" 인 기본 시퀀스(basis sequence)임을 알 수 있다. 이러한 기본 시퀀스는 해당 비트의 전체 부호어에 대한 기여도를 높이게 된다. 따라서 해당비트 관점으로 보면 이렇게 가중치(weight)가 많은 기본 시퀀스가 바람직할 수 있다.
하지만, 전체 부호어는 여러 비트가 "exclusive or" 로 연산되므로, 복합된 결과를 고려해야 한다. 따라서, 서로 결합되는 경우의 수를 줄이기 위해서, 상술한 바와 같이 모든 비트가 "1" 인 기본 시퀀스를 제일 앞으로 옮겨서 기여도를 높이는 방법이 고려가 가능하다. 이와 같은 방법으로, 비트수가 적은 경우의 부호화의 경우에 모든 비트가 1인 기본 시퀀스를 제일 앞으로 옮기는 방법이 고려가능하며, 아래 표 19에 나타내었다.
[표 19]
상기 표 19는 원래 열 방향 기본 시퀀스 중 6번째 시퀀스, 즉 모두 "1" 을 포함하는 시퀀스 인덱스를 가장 첫 번째 기본 시퀀스로 위치를 변경하고, 다른 기본 시퀀스들의 순서는 변경하지 않은 경우에 해당한다.
아울러, 아래 표 20은 상기 표 19에 따를 경우 최소 거리 성능을 나타내고 있다.
[표 20]
상기 표 20을 통해 본 실시형태에 따를 경우, 정보비트수가 1 또는 2일 때 성능이 좋아짐을 알 수 있다.
부호 이론에 따르면, 기본적으로 생성행렬의 행들의 위치를 서로 교환 하거나, 열들의 위치를 교환하여도 부호의 특성은 동일하므로, 그러한 변형은 본 발명에 대한 설명에서는 특별히 언급하지 않았다.
하지만, 가변 길이의 정보 비트를 지원하는 생성행렬에서 정보 비트의 부호화에 기본 시퀀스를 순차적으로 할당하는 경우는, 열들의 위치를 교환이 해당 가변 길이의 정보 비트의 생성행렬을 변경시킬 수 있으므로 조심하여야 한다.
또한, 부호이론에 따르면, 부호어에서 "0" 과 "1" 의 값을 반전하는 경우도 같은 부호이므로, 그러한 변형은 본 발명에 대한 설명에서는 특별히 언급하지 않는다.
이하 상술한 본 발명의 각 실시형태들에서 공통으로 고려해야 할 점에 대해서 간단히 언급하고자 한다.
[n, k]부호는 부호화 비트수가 n 이고 정보비트수가 k 인 부호를 의미한다. 상술한 설명에서 특별한 언급이 없는 한 부호의 생성 행렬은 기본 시퀀스 형태의 표로 표시하고 있다.
상술한 바와 같이 제안된 블록 코드를 이용한 실제 부호화 방법은 3GPP relase 99 의 TFCI 부호 등과 비슷한 방법을 사용한다. 즉, 정보 비트를 왼쪽 기본 시퀀스로부터 차례대로 할당하고, 상기 기본 시퀀스와 상기 정보비트를 곱하고, 이와 같이 곱해진 시퀀스를 정보 비트 수만큼 2 진 연산으로 더하여(Exclusive OR sum) 부호화 비트를 생성하는 방법을 취한다.
위와 같은 방법으로 부호를 나타내면 정보비트의 수가 가변일 때에도 하나의 기본 시퀀스 표를 사용하여 부호화가 가능한 장점이 있다. 이러한 장점을 사용하여 다양한 정보 비트수의 지원이 가능하다. 따라서, 상술한 실시형태에 있어서 기본 시퀀스 표는 최대 크기의 정보 비트 수를 고려하여 표시되었다. 만일, 실제 응용에서 필요한 최대 정보 비트수가 여기에서 제시한 크기보다 작다면, 해당 최대 비트 수 이상을 위한 기본 시퀀스를 삭제한 표를 사용하는 것이 바람직하다.
상술한 바와 같은 본 발명의 각 실시형태에서 제시한 기본 시퀀스는 정보비트의 수를 가변으로 하도록 설계되었을 뿐만 아니라, 부호화 비트수도 가변으로 할 수 있도록 설계하였다. 따라서 특정 기본 시퀀스 표에서 특정 열을 삭제한 부호도 본 실시형태의 설계 시 이미 고려된 부호이다. 즉, 간단한 일례로, 기본 시퀀스 표가 (32,15)라면, 아래부터 연속적인 12개의 행을 삭제하고, 오른쪽부터 1개의 열을 삭제한 기본 시퀀스 표 역시 상기 (32,15) 기본 시퀀스 표의 한 가지 적용 예에 해당한다.
정리하면, 본 발명의 실시형태에서는 기본 시퀀스 표의 행과 열이 가장 큰 크기를 기준으로 이루어졌으며, 작은 크기의 행과 열은 상기 큰 크기의 기본 시퀀스 표의 행과 열을 차례대로 삭제하여 사용할 수 있다. 물론 앞서 설명한 바와 같 이, 줄어든 크기의 기본 시퀀스 표에서 행과 열의 위치를 바꾸거나, "0" 과 "1" 을 교환한 표도 동일한 부호임에 유의해야 한다.
참고로, 본 발명의 각 실시형태의 표기는, 상기 기본 시퀀스 표의 표현에서 정보 비트는 왼쪽 열부터 정보 비트에 대응되기 시작하여 오른쪽 열에서 끝나며, 부호화 비트는 맨 위쪽 행부터 생성되기 시작하여 제일 아래쪽 행으로 끝나도록 설정 하기로 한다. 이에 따라 아래 표 21은 정보 비트의 길이가 최대 13비트인 경우를 가정하여, 상기 표 19와 같은 기본 시퀀스 표에서 가장 우측에 위치한 하나의 기본 시퀀스를 삭제한 예를 나타내고 있다.
[표 21]
한편, 특정 채널 추정 방법 등에서 특정한 패턴의 기본 시퀀스는 사용하지 않는 것이 바람직할수도 있다. 이러한 경우에는 본 발명의 각 실시형태에 따라 제안된 표들 중에서, 시스템에 따라서 특정 기본 시퀀스를 제거한 표도 고려 가능하다. 이러한 경우는 부호화 관점에서 해당 기본 시퀀스는 언제나 0인 경우로 고려 가능하므로, 부호 성능은 동일하고, 정보비트 수만 줄어든 형태를 의미한다. 따라서, 본 발명의 각 실시형태에 따라 제안된 기본 시퀀스 표에서 특정 기본 시퀀스를 제거한 기본 시퀀스 표도 본 발명의 범위에 속한다.
이하에서는 상술한 바와 같이 제안된 (20, A) 블록 코드에 기반하여, 부호어의 길이가 18비트 또는 16비트에 해당하는 (18, A) 또는 (16, A) 블록 코드에 대해 본 발명의 다른 일 측면으로서 설명한다.
2. 제 2 측면 - (18, A) 및 (16, A) 블록 코딩
상술한 바와 같이 (18, A) 및 (16, A) 블록 코드로는 (20, A) 블록 코드와 마찬가지로 기존 (32, 10) 구조를 가지는 TFCI 정보 코드를 이용할 수 있다. 따라서, 이하 (18, A) 및 (16, A) 블록 코드에 대한 설명에 있어서도 우선, (18, 10) 및 (16, 10) 블록 코드 생성에 대해 살펴보고, 이에 대한 변경을 통해 임의의 (18, A) 및 (16, A) 블록 코드에 대해 설명한다.
본 실시형태에서는 다음 세 가지 방법을 통해 천공패턴을 찾아 최적의 (18, 10) 부호 및 (16, 10) 부호의 생성행렬을 제시한다. 이하의 설명은 특별히 다른 언급이 없는 한, 우선 상기 표 2에 나타낸 바와 같이 TFCI 정보 코드의 등가 형태를 기준(32, 10) 코드로서 가정하고 설명하기로 한다.
첫째로는 모든 부호의 생성행렬을 (32,10) 부호의 생성행렬로부터 천공하여 생성하는 것이 가능하다(이하 "방법 1" 이라 함). 즉, 자세히 설명하면, (20,10) 부호의 생성행렬을 (32,10) 부호의 생성행렬을 천공하여 찾을 뿐만 아니라, (18,10) 부호의 생성행렬도 (32,10) 부호의 생성행렬을 천공하여 생성한다. 또한, (16,10) 부호의 생성행렬도 (32,10) 부호의 생성행렬로부터 천공하여 구성한다. 상기와 같은 방법으로 (20,10) 부호, (18,10) 부호 및 (16,10) 부호를 생성하게 되면, 각각의 부호가 최적의 천공패턴을 고려하여 생성되게 되는 장점이 있게 된다.
이와 같은 방법 1은 도 2에 도시된 바와 같다.
도 2는 본 발명의 일 실시형태에 따라 (20, 10), (18, 10) 및 (16, 10) 형태의 코드 생성 행렬을 각각 (32, 10) 형태를 가지는 기본 코드로부터 생성하는 방식을 설명하기 위한 도면이다.
하지만, 도 2에 도시된 바와 같이 각각의 블록 코드를 생성할 경우, 실제 고려해야 할 천공패턴의 수가 기하 급수적으로 증가하게 되는 단점이 발생된다. 즉, (20,10) 부호에서는 원래 (32,10) 부호의 생성행렬의 32개 열에서 12개의 열을 제거해야 하므로, 전체 고려해야 할 패턴의 개수는
=225,792,840개 가 된다. 또한, (18,10) 부호는 고려 해야 할 천공 패턴의 개수가 더욱 증가하여
=471,435,600 개가 되며, (16,10) 부호는 총
=601,080,390 개의 천공패턴을 고려해야 한다. 이러한 모든 천공 패턴의 경우를 고려하는 것은 계산에 상당히 부담이 되므로, 효과적으로 천공패턴을 찾는 방법을 고려해 보도록 한다.
본 발명의 다른 일 실시형태에서는 모든 부호의 생성행렬을 (32,10) 부호의 생성행렬로부터 천공하여 생성하는 것이 아니라, 우선적으로 (20,10) 부호의 생성행렬을 찾은 후에, 상기 (20,10) 부호의 생성행렬을 기본으로 하여, (18,10) 부호 및 (16,10) 부호의 생성행렬을 구성하는 것이 가능하다(이하 "방법 2" 라 함). 이때, (18,10) 부호와 (16,10) 부호 모두 (20,10) 부호를 기본으로 하여 생성되었음에 유의해야 한다. 이와 같은 방법 2는 도 3에 도시된 바와 같다.
도 3은 본 발명의 다른 일 실시형태에 따라 (32, 10) 형태를 가지는 기본 코드로부터 (20, 10) 코드를 생성한 후, 이를 이용하여 (18, 10) 코드 및 (16, 10) 코드를 각각 생성하는 방식을 설명하기 위한 도면이다.
상술한 본 발명의 제 1 측면에서 설명한 바와 같이 기존 (32,10) 부호의 생 성행렬로부터 천공을 통해 (20,10) 부호의 생성행렬을 구성하는 방법에 의하면, 최대 d min = 6인 360개의 (20, 10) 부호의 생성행렬이 존재한다. 여기서는 (20,10) 부호의 생성행렬에서 두 개의 열을 추가적으로 천공하여 (18,10) 부호의 생성행렬을 구성하고, 또한 앞서 찾은 (18,10) 부호와 독립적으로 (20,10) 부호의 생성행렬로부터 네 개의 열을 추가적으로 천공하여 (16,10) 부호의 생성행렬 구성하는 방법을 고려해 본다. 이와 같은 방법에서는 모든 가능한 패턴을 전수 탐색하여 이들 중 최대 dmin을 갖는 10*18, 10*16 생성행렬을 10*20 생성행렬로부터 찾을 수 있다.
또한, 본 발명의 또 다른 일 실시형태에서는 (32, 10) 기본 부호 생성 행렬의 열을 순차적으로 천공하여 (20,10) 부호, (18,10) 부호, 그리고 (16,10) 부호의 생성행렬을 찾는 방법(이하 "방법 3" 이라 함)을 고려해본다. 자세히 설명하면 다음과 같다.
우선, (32,10) 부호의 생성행렬을 천공하여 최적의, 즉 최대 d min 을 갖고 최적의 해밍무게분포 특성을 갖는 (20,10) 부호의 생성행렬을 얻는다. 상기 얻어진 최적의 (20,10) 부호의 생성행렬로부터 천공과정을 통하여 최적의, 즉 최대 d min 을 갖고 최적의 해밍무게분포 특성을 갖는 (18,10)부호의 생성행렬을 구한다. 같은 방법을 적용하여, 상기 (18,10)부호의 생성행렬을 천공하여 최적의, 즉 최대 d min 을 갖고 최적의 해밍무게분포 특성을 갖는 (16,10)부호의 생성행렬을 얻게 된다. 이와 같은 과정은 도 4에 도시하고 있다.
도 4는 본 발명의 또 다른 일 실시형태에 따라 (32, 10) 형태를 가지는 기본 코드 생성 행렬로부터 (20, 10) 코드 생성 행렬을 생성하고, 생성된 (20, 10) 코드 생성 행렬을 이용하여 (18, 10) 코드 생성 행렬을, 그리고 생성된 (18, 10) 코드 생성 행렬을 이용하여 (16, 10) 코드 생성 행렬을 각각 생성하는 방식을 설명하기 위한 도면이다.
좀더 자세히 설명하면 다음과 같다. (32,10)부호의 생성행렬을 천공하여, (20, 10)부호의 생성행렬을 얻고, 상기 (20,10) 부호의 생성행렬에서 2개의 열을 천공하여 최대 d min 을 갖는 (18,10)부호의 생성행렬인 10*18 행렬을 얻고, 여기서 추가로 2개의 열을 천공하여 역시 최대 d min 을 갖는 (16,10) 부호의 생성행렬 10*16 생성행렬을 얻는다.
위와 같은 방법을 통해 구성된 생성행렬은 최대한 같은 부분을 공유하므로, 생성행렬에서 공통인 부분이 많은 특징을 가지는 장점이 있다. 한편, (16,10)부호의 최대 d min 은 4로 알려져 있는데, 상기 방법 3을 통해서 생성 가능한 부호의 최대 d min 은 3이다. 따라서, 상기 방법 3으로 생성행렬을 구성하면 (16,10) 부호의 성능이 나빠지게 되는 단점이 생긴다.
한편, 이러한 단점을 개선하기 위해서, 우선 (18,10) 부호와 (16,10) 부호의 생성순서를 바꾸어 보는 것을 제안한다 (이하 "방법 4" 라 함). 즉, 우선 (32,10) 부호의 생성행렬을 천공하여 최적의, 즉 최대 d min 을 갖고 최적의 해밍무게분포 특 성을 갖는 (20,10) 부호의 생성행렬을 얻는다. 상기 얻어진 최적의 (20,10) 부호의 생성행렬로부터 천공과정을 통하여 최적의, 즉 최대 d min 을 갖고 최적의 해밍무게분포 특성을 갖는 (16,10) 부호의 생성행렬을 구한다. 상기 (16,10)부호의 생성행렬을 구하기 위해 천공된 4개의 열중에서 2개의 열을 추가하여 (18,10)부호의 생성행렬을 구한다. 이와 같은 과정은 도 5에 도시된 바와 같다.
도 5는 본 발명의 또 다른 일 실시형태에 따라 (32, 10) 형태를 가지는 기본 코드 생성 행렬로부터 (20, 10) 코드 생성 행렬을 생성하고, 생성된 (20, 10) 코드 생성 행렬을 이용하여 (16, 10) 코드 생성 행렬을, 그리고 생성된 (16, 10) 코드 생성 행렬을 이용하여 (18, 10) 코드 생성 행렬을 각각 생성하는 방식을 설명하기 위한 도면이다.
좀더 자세히 설명해 보도록 한다. (32,10)부호의 생성행렬을 천공하여 (20,10) 부호의 생성행렬을 얻는다. 상기 (20,10) 부호의 생성행렬에서 먼저 4개의 열을 천공하여 최대 d min 을 갖는 (16, 10) 부호의 10*16 생성행렬을 얻는다. (18,10) 부호의 10*18 생성행렬은 (20, 10) 부호의 10*20 생성행렬에서 10*16 행렬을 만들기 위해 천공된 4개의 열 중 2개의 열을 10*16 행렬에 추가하여 생성하게 된다.
여기서 추가되는 위치는 어디든지 성능에는 상관없으므로, 편의상 10*16 행렬의 제일 오른쪽에 추가하기로 한다. 또한, 여기서 (18, 10) 부호의 해밍무게분포 특성이 가장 최적인, 즉, d min 과 동일한 해밍무게값을 가지는 부호어의 수를 가장 적게 생성하는 10*18 행렬이 되도록 두 개의 열을 추가하는 것을 제안한다.
이하 상술한 각각의 방법에 따른 구체적인 생성행렬에 대해 살펴본다.
여기서는 앞서 설명한 방법 1과 같이 (20,10) 부호, (18,10) 부호, 그리고 (16,10) 부호 각각의 생성행렬 모두 다 각각 독립적으로 (32,10) 부호의 생성행렬을 천공하여 생성하는 경우는 고려하지 않기로 한다. 왜냐하면, 상기의 부호 생성방법은 너무 많은 경우의 수가 존재하여서, 현실적으로 효과적인 부호 구성이 어렵기 때문이다. 따라서, 아래의 예들은 우선 (32,10) 부호의 생성행렬로부터 천공을 통해 최적의 (20,10) 부호의 생성행렬을 구성하고, 상기 (20,10)부호의 생성행렬을 바탕으로 하여 (18,10)부호와 (16,10)부호의 생성행렬을 구성하는 경우(즉, 방법 2 내지 방법 4)만을 고려한다.
우선, (18,10)부호, (16,10)부호의 생성행렬 모두 독립적으로 (20,10)부호의 생성행렬로부터 천공하여 구성하는 상기 방법 2에 대해 살펴본다.
우선 (20,10) 부호의 생성행렬은 (32,10) 부호의 생성행렬을 천공하여 구성한다. 상기 최적의 (20,10)부호의 생성행렬은 본 발명의 제 1 측면에 따라 상기 도 1에 도시된 바와 같은 방법으로 얻게 되며, 총 360개의 최대 d min = 6인 (20,10) 부호의 생성행렬이 존재한다. (18,10) 부호의 생성행렬은 상기 최적의 (20,10) 부호의 생성행렬에서 2개의 열을 천공하여 생성되며, (16,10) 부호의 생성행렬도 상기 (20,10)부호의 생성행렬에서 4개의 열을 천공하여 생성된다. (18,10)부호와 (16,10)부호의 생성행렬 모두 다 각각 독립적으로 (20,10) 부호의 생성행렬로부터 천공되어 구성되었으므로, 두 부호간의 공통 천공 패턴의 개수는 매번 달라질 수 있다.
더욱 자세히 살펴보면 다음과 같다. (18,10) 부호의 생성행렬을 위해 (20,10) 부호로부터의 천공패턴은 총 360×
=68,400 개 가 존재하며, 이 중 최대
d min 은 4이다. 상기 최대
d min = 4를 갖고 해밍무게분포 특성이 최적인, 즉
d min 과 동일한 해밍무게 값을 가지는 부호어의 수를 가장 적게 생성하는 최적의 (18,10) 부호의 생성행렬은 총 700개가 존재한다. 이 같은 최적의 (18,10)부호의 생성행렬의 해밍무게분포는 다음과 같다.
[수학식 6]
이 때, 상기 수학식 6의 해밍무게분포를 갖는 10*18 생성행렬 구성을 위해 이용되는 10*20 생성행렬은 다음 두 가지의 해밍무게분포를 갖는다.
[수학식 7]
[수학식 8]
(16,10) 부호의 생성행렬의 경우에는 (20,10) 부호로부터의 천공패턴은 총 360×
=1,744,200 개가 존재하며, 이 중 최대
d min 은 4이다. 상기 최대
d min =4 이고, 해밍무게분포 특성이 최적인, 즉
d min 과 동일한 해밍무게 값을 가지는 부호어의 수를 가장 적게 생성하는 최적의 (16,10) 부호의 생성행렬은 총 40개가 존재한다. 이 같은 최적의 (16, 10)부호의 생성행렬의 해밍무게분포는 다음과 같다.
[수학식 9]
상기 수학식 9의 해밍무게분포를 갖는 (16,10) 부호의 생성행렬 구성을 위해 이용되는 10*20 생성행렬은 다음과 같은 해밍무게분포를 갖는다.
[수학식 10]
아래 표 22는 상기 수학식 6의 10*18 생성행렬의 예, 표 23은 상기 수학식 9의 해밍무게분포를 따르는 10*16 생성행렬의 한 예이다.
[표 22]
[표 23]
상기 수학식 6 또는 수학식 9와 같은 해밍무게분포의 특성을 갖는 모든 천공 패턴에 의해 생성된 생성행렬들은 최소거리 측면에서 각각 오류 정정 능력이 모두 동일한 특성을 갖는다. 더욱 자세히 설명하면 다음과 같다. 상기 수학식 6의 해밍무게분포의 특성을 갖는 모든 천공 패턴에 의해 생성된 10*18 행렬들은 오류 정정 능력이 모두 동일하므로, 어떤 행렬을 사용하더라도 무관하다. 그리고, 상기
수학식 9의 무게 분포의 특성을 갖는 모든 천공 패턴에 의해 생성된 10*16 행렬들 역시 오류 정정 능력이 모두 동일하므로, 이들 중 아무 행렬을 사용하더라도 무관하다.
지금까지 살펴본 (18,10)부호와 (16,10)부호의 해밍무게분포 특성을 보이는 생성행렬과 상기 생성행렬을 나타내기 위한 천공패턴을 자세히 살펴보자. 더욱 자세하게는 해밍무게분포 별로 살펴보도록 한다. 전수조사 방식에 의해 찾은 천공패턴은 다음과 같다.
(18,10) 부호의 생성행렬 중에서 상기 수학식 6의 해밍무게분포를 나타내는 천공패턴은 700개가 존재하며, 각각은 상술한 본 출원의 우선권 주장의 기초가 되는 미국 가출원 제 61/016,492 호의 Appendix에 개시되어 있다.
여기서 (18,10) 부호의 생성행렬은 (20,10) 부호의 생성행렬을 천공하여 만들어졌고, (20,10) 부호의 생성행렬은 우선 (32,10) 부호의 생성행렬을 천공하여 만들어졌음에 유의해야 한다. 따라서 우선 (32,10) 부호의 생성행렬에서 (20,10) 부호의 생성행렬 구성을 위한 천공을 한 후에, (20,10)부호의 생성행렬에서 (18,10)부호의 생성행렬 구성을 위한 천공을 수행하게 된다.
한편 (16,10) 부호의 생성행렬 중에서 상기 수학식 9의 해밍무게분포를 나타내는 천공패턴은 40개가 존재한다. 이 40개의 패턴 역시 상기 미국 가출원 제61/016,492 호의 Appendix에 개시되어 있다. 여기서 (16,10)부호의 생성행렬은 (20,10)부호의 생성행렬을 천공하여 만들어 졌고, (20,10)부호의 생성행렬은 우선 (32,10)부호의 생성행렬을 천공하여 만들어 졌음에 유의해야 한다. 따라서 우선 (32,10)부호의 생성행렬에서 (20,10)부호의 생성행렬 구성을 위한 천공을 한 후에, 또한 (20,10)부호의 생성행렬에서 (16,10)부호의 생성행렬을 구성하게 된다
다음으로, (20,10) 부호의 생성행렬을 천공하여 (16,10) 부호의 생성행렬을 생성하고, 상기 (16,10) 부호의 생성행렬을 위해 천공된 4개의 열에서 2개의 열을 선택하여 (16,10) 부호의 생성행렬에 첨가하여 (18,10)부호의 생성행렬을 생성하는 상기 방법 4에 대해 살펴본다.
우선 (20,10) 부호의 생성행렬은 (32,10) 부호의 생성행렬을 천공하여 생성한다. 상기 최적의 (20,10) 부호의 생성행렬은 본 발명의 제 1 측면에서 설명한 도 1의 방법으로 얻게 되며, 총 360개의 최대 d min =6인 (20,10)부호의 생성행렬이 존재한다. (16,10) 부호의 생성행렬은 상기 최적의 (20,10)부호의 생성행렬에서 4개의 열을 천공하여 생성된다. 상기 천공된 4개의 열중에서 2개의 열을 선택하여 (16,10) 부호의 생성행렬에 추가하여 (18,10)부호의 생성행렬을 생성한다.
더욱 자세히 살펴보면 다음과 같다. (16,10)부호는 본 발명의 제 1 측면에서 설명한 방법으로 얻은 360개의 최대 d min =6인 10*20 행렬에서 상술한 방법을 통해, 최대 d min =4이고 최적의 해밍무게분포 특성인 상기 수학식 9를 따르는, 즉 d min 과 동일한 해밍 무게값을 가지는 부호어의 수를 가장 적게 생성하는 최적의 (16,10) 부호의 생성행렬 총 40개를 생성할 수 있다.
상기 생성된 40개의 10*16 행렬로부터 최적의 (18,10)부호의 생성행렬을 생성하게 되게 된다. 좀더 상세히 설명하면, 최적의 (18,10) 부호의 생성행렬은 (20,10) 부호의 생성행렬에서 10*16 행렬을 생성하기 위해 천공된 4개의 열 중에서 2개의 열을 선택하여 (16,10)부호의 생성행렬의 오른쪽에 추가함으로써 생성할 수 있다. 참고로, 여기서는 편의를 위해 (16,10)부호의 생성행렬의 제일 오른쪽에 추가하였으나, 실제로는 어느 부분에 추가하더라도 성능에는 영향이 없게 된다.
따라서, 추가하는 부분에 따라서 다양한 변형이 가능하다. 한편, 추가하는
개의 조합 중, (18,10)부호의 해밍무게분포 특성이 최적(
d min 과 동일한 해밍 무게값을 가지는 부호어의 수가 가장 적은)인 10*18 행렬을 생성할 수 있는 두 개의 열을 선택한다. 이 같은 방법으로 최대
d min =4 인 총 40×
=240 개의 생성행렬 중에서, 해밍무게분포 특성이 최적인 행렬은 160개가 존재하며, 상기 최적의 생성행렬로부터 얻어지는 해밍무게분포는 다음 수학식 11과 같다.
[수학식 11]
이 경우, 상기 수학식 11의 해밍무게분포를 갖는 (18, 10) 부호의 생성행렬 구성을 위해 이용되는 상위 10*20 생성행렬은 다음과 같은 해밍무게분포를 갖는다.
[수학식 12]
상기 수학식 11의 해밍무게분포 특성을 갖는 (18, 10)부호의 생성행렬 160개가 존재하는데, 아래 표 24는 그 중 한 예이다.
[표 24]
상기 수학식 11과 같은 해밍무게분포의 특성을 갖는 모든 천공 패턴에 의해 생성된 생성행렬들은 최소거리 측면에서 각각 오류 정정 능력이 모두 동일한 특성을 갖는다. 따라서, 상기 수학식 11의 해밍무게분포의 특성을 갖는 모든 천공 패턴에 의해 생성된 10*18 행렬들은 오류 정정 능력이 모두 동일하므로, 어떤 행렬을 사용하더라도 무관하다.
실제로 동일한 해밍무게분포를 보이는 생성행렬의 개수는 다수개가 존재한다. 최적의 (16,10) 부호를 위한 생성행렬을 나타내기 위해서 필요한 천공패턴의 총수는 40개이며, 상기 천공패턴은 상술한 방법 2에 따른 예와 동일하다.
한편, 본 방법에 따른 예 에서, 즉 생성행렬의 열의 천공과 추가(adding) 두 가지의 과정을 거치는 방법을 고려한 이유는 최대 d min =4 를 갖는 (16,10)부호의 생성이 우선 고려되어야 하기 때문이다.
만일 상기 방법 3 과 같이, 우선 360개의 최대 d min =6 인 10*20 행렬에서 2개의 열을 먼저 천공하여 최대 d min =4이고 최적의 해밍무게분포 특성인 상기 수학식 6을 따르는, 즉 d min 과 동일한 해밍무게 값을 가지는 부호어의 수를 가장 적게 생성하는 최적의 (18,10)부호의 생성행렬 700개에서 다시 2개의 열을 추가로 천공하여 (16,10) 부호의 생성행렬을 생성하는 경우를 고려해보자. 이 경우에는 (16,10) 부호의 최대 d min 은 3이 된다. 이와 같은 방법을 통해 생성된 최대 d min =3 인 (16,10)부호의 생성행렬 중, 해밍무게분포 특성이 최적인, 즉 d min 과 동일한 해밍무게 값을 가지는 부호어의 수를 가장 적게 생성하는 (16,10)부호의 생성행렬은 총 2,180개가 존재하며, 이 때 해밍무게분포는 다음과 같다.
[수학식 13]
상술한 바와 같이 방법 3을 통해 생성된 (16,10) 부호는 최대 d min 이 3이다. 상기 최대 d min 을 늘여서, 최대 d min =4 인 (16,10)부호의 생성행렬을 생성하기 위해서는, 우선 상기 수학식 11의 해밍무게분포 특성을 갖는 160개의 (18,10) 부호의 생성행렬에서 가장 오른 쪽에 추가된 2개의 열을 천공 하면 된다. 이러한 방법을 구조적으로 나타낸 것이 방법 4이다.
즉 정리하면 다음과 같다. 방법 2는 (20,10)부호, (18,10)부호, (16,10)부호 각각의 경우에 대해 독립적인 생성행렬이 필요한 반면에, 방법 4는 10*16, 10*18 행렬이 하나의 10*20 행렬로부터 파생될 수 있는 장점이 있다.
이하에서는 상술한 내용을 바탕으로 본 발명의 제 1 측면에서 설명한 (20, A) 코드 생성 행렬에서와 같이 설명하기로 한다.
우선 설명의 편의를 위하여 상술한 설명에서 (32, 10) 구조의 기본 생성행렬로 이용하였던 상기 표 2의 생성 행렬은 다음 표 25와 같이 나타내는 것이 가능함은 상술한 바와 같다. 즉, 표 25는 상기 표 2를 세워서 표시한 것뿐이고 동일하다.
[표 25]
이를 이용한 실제 부호화 과정을 좀더 자세히 나타내 보자. 우선 k개의 정보 비트가 a0, a1 , a2 , a3 , a4 , … , ak-1 이라고 하면, 상기 정보 비트는 본 발명의 각 실시형태에 따른 코드 생성행렬을 사용하여 부호화 되어 비트 bi들이 출력되고, 상기 출력 비트들은 부호어를 구성한다. 이때 부호화된 비트 bi들을 수식적으로 표현하면 다음과 같다.
[수학식 14]
이제, 부화비트의 수가 20비트인 경우와 18비트인 경우 모두에 최적인 부호의 생성 행렬을 고려해보자. 이러한 경우는 부호화 비트의 수가 가변적인 경우를 위한 부호설계이다. 즉, 앞서 언급된 방법들을 통해 찾은 10*20, 10*18 행렬들 중 각각 d min 이 최대이고, 해밍무게분포 특성이 가장 최적인, 즉 동일한 해밍무게 값을 가지는 부호어의 수를 가장 적게 생성하는 (20, 10), (18, 10) 부호의 생성행렬들을 찾아 보자. 이렇게 찾는 방법은 앞서 살펴본 방법 4를 기반으로 하기로 한다. 이때 생성된 (20,10) 부호의 최소거리는 6이며 해밍무게 분포는 아래 수학식 15와 같다. 또한, 생성된 (18,10)부호의 최소거리는 4이며 해밍무게 분포는 아래 수학식 16과 같다.
[수학식 15]
[수학식 16]
상기 해밍무게 분포를 만족하는 최적 부호의 예로는 아래 표와 같다. (20,10) 부호를 위한 천공패턴은 상기 표 6에 나타낸 바와 같으며, 설명의 편의를 위해 아래 표 26으로서 다시 나타내었다.
[표 26]
즉, 상기 표 26은 상기 표 25의 총 32개의 행 중에서 12개의 행을 천공하여 (20,10) 부호를 만드는 천공패턴을 나타낸다. 상기 표 26에서 0은 천공된 행을 의미하며, 1은 사용되는 행을 의미한다. 한편 (18,10) 부호를 위한 천공패턴은 아래 표 27에 나타내어 있다.
[표 27]
즉, 상기 표 27은 상기 표 26의 총 20개의 행 중에서 2개의 행을 더 천공하여 (18,10)부호를 만드는 천공패턴을 나타낸다. 따라서, 표 26의 생성행렬은 표 27의 생성행렬을 포함하는 구조를 갖게 된다. 상기 표 27에서 역시 0은 천공된 행을 의미하며, 1은 사용되는 행을 의미한다.
상기 표 26은 상기 표 27을 포함하는 구조를 가지므로 다음과 같이 통합하여 나타낼 수 있다.
[표 28]
한편, 표 28의 행의 순서는 3GPP에서 사용되는 TFCI 부호화를 위한 행렬 순서와는 약간의 차이가 있다. 따라서, 표 28의 행의 순서를 TFCI 부호 행렬과 같이 맞추면 다음 표 29와 같다.
[표 29]
상기 표 29는 상기 표 28과 행의 순서만 변화가 있으며, 다른 사항은 완전히 동일하다. 이런 경우는 부호화 이론에 의해서 부호특성은 완전히 동일한 특성을 갖게 된다. 다만, 상기 표 29와 같은 표현방법의 이점은 (20,10)부호에서 (18,10) 부호로 천공 시에 마지막 2비트를 천공하여 생성 가능한 이점이 있다. 자세히 설명하면, 일단 (20,10)부호를 만든 후에, 부호화 비트 20개 중에서 맨 마지막 2개를 천공하면 바로 (18,10)부호가 생성되게 된다. 즉, (20,10)부호가 (18,10)부호를 포함하는 구조의 특성을 이용하여 부호생성시에 편리한 점이 있게 된다.
한편, 본 발명의 제 1 측면의 제 2 단계에서는 (20, 10) 코드 생성행렬로부터 4개의 열을 추가하여 (20, 14) 코드 생성행렬로 확장하는 내용을 다루고 있다. 이에 따르면, (20, 14) 코드 생성행렬로서 상기 표 11와 같은 생성행렬 형태를 제안하고 있다. 또한, 각 정보 비트 길이에 따라 최대 최소거리 특성은 상기 표 10과 같음은 상술한 바와 같다. 추가적으로 20비트 부호화 길이뿐만 아니라 18비트 부호화 길이에 대해서도 상기 표 11의 구조를 이용하는 경우 최대 최소거리 특성을 나 타내면 다음과 같다.
[표 30]
한편, 상기 표 11을 기반으로 한 부호의 실제 채널에서의 성능은 다음과 같다.
도 6 및 도 7은 본 발명의 일 실시형태에 따라 제안된 (20, A), (18, A) 부호화 성능을 도시한 도면이다.
구체적으로, (20,10) 부호와 (18,10)부호의 AWGN에서의 성능은 도 6에 나타낸 바와 같으며, 다양한 정보 비트 길이를 갖는 (20,k) 부호의 성능은 도 7에 나타내고 있다.
한편, 본 발명의 제 1 측면의 제 3 단계에서 상기 표 19는 모든 성분이 "1"인 기본 시퀀스가 가장 왼쪽에 위치하도록 열의 위치가 변경된 형태의 생성행렬을 제안하고 있다. 따라서, (18, 14) 구조의 생성 행렬 역시 이 구조에 따라 다음과 같이 변형될 수도 있다.
[표 31]
즉, (18, 14) 코드 생성행렬은 상기 표 19의 생성행렬에서 마지막 2개 행을 천공한 형태를 가질 수 있다.
(20, 14) 생성행렬 및 (18, 14) 생성행렬을 상기 표 19 및 표 31과 같이 이용할 경우 정보 비트 수에 따른 최소거리 특성은 다음과 같다.
[표 32]
원래 (32,10) 부호로부터 천공 하여 (20,10)부호를 만드는데 있어서, (20,10) 부호뿐만이 아니라, (18,10) 부호 및 (16,10) 부호에서도 좋은 성능을 보이도록 설계하였다. 표 28에서 나타내는 (32,10) 부호는 원래 사용되는 표 29의 3GPP release99 (32,10) TFCI 부호에서 행들만 서로 교환된 부호이므로 부호이론 관점에서 동일한 부호이다. 다만, 천공 관점에서 인덱스가 서로 달라질 수 있어서 이를 다음 표들과 같이 표시할 수 있다.
[표 33]
[표 34]
[표 35]
상기 표 33은 3GPP release 99의 (32,10) TFCI 부호의 행 인덱스 기준으로 좋은 성능을 보이는 (20,10), (18,10) 및 (16,10) 부호의 펑처링위치를 표시하였다. 또한, 상기 표 34는 생성된 (20, 10) 부호의 인덱스를 기준으로 (18, 10) 및 (16, 10) 부로의 천공 위치를 나타내고 있다. 또한, 상기 표 35는 (32, 10) 형태를 가지는 상기 표 28의 인덱스를 기준으로 천공 패턴을 나타낸 것이다.
한편, 아래 표 36은 최적의 전공 위치를 함께 표시한 기존 시퀀스 표이다.
[표 36]
상기 표 36에서 (18,10)과 (16,10)의 천공 위치가 최대한 중첩되어 있음을 알 수 있다. 또한, 이때 최소거리 성능을 아래 표 37에 나타내었다.
[표 37]
상기 표 37에서 "20" 은 (20,k) 부호를 의미하고, "18 last two" 는 (20,k) 부호에서 맨 마지막 2행이 천공된 (18,k)부호를, "18 intermediate" 는 상기 표 36의 (20, k) 부호를 바탕으로 5번째와 18번째 행이 천공된 (18,k)부호를 의미한다. 또한 "16 last four" 는 (20,k) 부호에서 맨 마지막 4행이 천공된 (16,k) 부호를, "16 intermediate" 는 상기 표 36의 (20, k) 부호를 바탕으로 5번째, 7번째, 14번째와 18번째 행이 천공된 (16,k) 부호를 의미하고, "16 (first2+last2)" 는 매 처음 2행과 맨 마지막 2행이 천공된 (16,k)부호를 의미한다.
한편, (18, k) 부호와 (16, k) 부호를 위해 열의 순서를 바꾼 (n,k) 부호(n=20,18,16, k ≤ 14)에 대해 살펴본다.
아래 표 38은 (16,11)에서 부호의 성능을 끌어 올리기 위해서 10번째 기본 시퀀스 Mi,10와 11번째 기본 시퀀스 Mi,11를 서로 바꾼 경우의 기본 시퀀스 표이다.
[표 38]
상기 표 38에 따를 경우 최소거리 성능은 아래 표 39에 나타내었다.
[표 39]
상기 표 39에서 (16,11)의 최소거리가 1에서 2로 늘어남을 알 수 있다.
이하에서는 (18, k) 부호와 (16, k) 부호를 위해 열의 순서를 바꾼 (n,k) 부호로서 n=20,18,16, k ≤ 15를 만족하는 경우에 대해 살펴본다.
아래 표 40은 15개의 정보비트를 지원하기 위해 한 개의 기본 시퀀스가 추가된 (20,15) 생성행렬을 나타내고 있다.
[표 40]
상기 표 40에서는 편의상 상기 표 38에 15번째 기본 시퀀스를 추가하였으나, 다른 (20, 14) 생성행렬을 나타내는 표에 추가되더라도 같은 성능을 보인다. 또한, 부호화된 비트를 천공하는 방법은 앞에서 소개된 다양한 방법 중 어느 것도 사용 가능 하며, 여기서는 그 중 일부를 사용한 경우의 예를 나타내었다.
상기 표 40의 예에서의 최소거리 특성을 아래 표 41에 나타내었다.
[표 41]
상술한 바와 같이 개시된 본 발명의 바람직한 실시형태에 대한 상세한 설명은 당업자가 본 발명을 구현하고 실시할 수 있도록 제공되었다. 상기에서는 본 발명의 바람직한 실시 형태를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
따라서, 본 발명은 여기에 나타난 실시형태들에 제한되려는 것이 아니라, 여기서 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다.