KR101493999B1 - 선형 부호 생성 장치 및 방법 - Google Patents

선형 부호 생성 장치 및 방법 Download PDF

Info

Publication number
KR101493999B1
KR101493999B1 KR20070090686A KR20070090686A KR101493999B1 KR 101493999 B1 KR101493999 B1 KR 101493999B1 KR 20070090686 A KR20070090686 A KR 20070090686A KR 20070090686 A KR20070090686 A KR 20070090686A KR 101493999 B1 KR101493999 B1 KR 101493999B1
Authority
KR
South Korea
Prior art keywords
bits
code
coding
matrix
encoding
Prior art date
Application number
KR20070090686A
Other languages
English (en)
Other versions
KR20090025671A (ko
Inventor
김재열
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR20070090686A priority Critical patent/KR101493999B1/ko
Priority to PCT/KR2008/005189 priority patent/WO2009031817A2/en
Priority to US12/205,009 priority patent/US8301962B2/en
Publication of KR20090025671A publication Critical patent/KR20090025671A/ko
Application granted granted Critical
Publication of KR101493999B1 publication Critical patent/KR101493999B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/136Reed-Muller [RM] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques

Abstract

본 발명은 다양한 부호화 방법에 적응적으로 적용하며, 복작도를 줄일 수 있는 부호화 장치 및 방법을 제공한다.
본 발명의 일 실시 예에 따른 장치는, 선형 부호 생성 장치로, 입력 부호들을 리드뮬러 부호화하는 리드뮬러 부호기와, 상기 리드뮬러 부호기의 입력을 수신하여 원하는 선형 부호로 생성하기 위한 재배치를 수행하는 재배치기를 포함한다.
선형 부호 생성, 리드뮬러, 터보 부호, 길쌈 부호, 재배치

Description

선형 부호 생성 장치 및 방법{APPRATUS AND METHOD FOR GERNERATING LINEAR CODE}
본 발명은 부호화 장치 및 방법에 관한 것으로, 특히 선형 부호(Linear code)화 장치 및 방법에 관한 것이다.
통상적으로 부호화 방법은 통신 시스템 및 각종 저장 매체 등 다양한 분야에서 사용되고 있다. 이러한 부호화 이론(Coding Theory)들을 이용하여 원래의 데이터를 부호화함으로써 데이터를 보다 안전하게 전송 또는 저장할 수 있게 된다.
상기 부호화 방법들은 여러 개의 부호어들로 구성되어 있는 부호어들의 집합을 사용할 때, 상기 부호어들의 집합에 선형성(Linearity)을 부가한 선형 부호들이 가장 많이 사용되어지고 있다.
부호 이론(Coding Theory)에서는, 부호 집합의 모든 부호어에 대해서 임의의 두 부호어의 합이 다시 상기 부호 집합의 부호어가 될 때, 상기 부호 집합을 선형 부호(Linear Code)라 칭한다. 즉, 부호 집합을 C라 하고, 임의의 두 개의 부호어 Ci와 Cj에 대해서, Ci+Cj는 다시 부호어 집합 C에 속하는 부호어가 된다. 상기와 같은 성질을 선형성(Linearity)이라 칭하고, 상기 선형성을 가지는 부호 집합을 선형 부호라 칭한다. 상기 선형 부호는 구현의 용이성 및 이론상의 구조에 대한 설계의 용이성으로 많은 분야에서 널리 사용되어지고 있다.
또한 부호 이론에서 대표적인 선형 부호들을 예를 들어 설명하면, 오류 정정 부호(error correcting code)로는 블록 부호(Block Code), 길쌈 부호(Convolutional code), 터보 부호(Turbo code) 등이 있다. 상기와 같은 오류 정정 부호들은 많은 통신 시스템 및 하드 디스크, CD 디스크, DVD 디스크와 같은 멀티미디어 시스템을 포함한 많은 분야에서 사용되고 있다. 또한, 수열 생성기(Sequence generator)로는 월시 부호(Walsh code) 생성기나 m-수열(m-sequence) 생성기 이외의 변형된 sequence 생성기들은 통신 시스템을 포함한 여러 시스템에서 사용되어지고 있다. 상기와 같은 수열 생성기라 함은 다수 개의 수열들의 집합 중 일부 수열들을 선택하여 생성하는 생성기를 의미한다.
상기와 같은 다양한 부호 생성기는 다양한 분야에서 널리 쓰이고 있다. 이와 같은 부호 생성기들을 사용함에 있어 부호 구성에 따른 성능 변화로 성능이 우수한 부호 집합을 설계하는 것도 중요하지만, 부호 집합의 원소인 부호를 생성함에 있어서 얼마나 간단하게 생성하는가 하는 문제도 중요하다. 성능측면의 이론적 분석의 용의성이나 생성기 복잡도를 최소화하기 위해서 대부분의 부호들은 선형성이 보장되어지는 부호 집합들이 사용되어지고 있다. 상기 언급되어진 대표적인 선형 부호화 방법들인 블록 부호(Block Code), 길쌈 부호(Convolutional code), 터보 부호(Turbo code), 월시 부호 및 m-수열(m-sequence)들은 낮은 생성 복잡도와 우수한 성능들을 보장한다.
이상에서 상술한 선형 부호화 방법들은 응용 분야에 따라서 생성 복잡도에 대한 최적화가 필요하고, 이에 대한 다양한 최적화된 선형 부호 생성 방법이 필요하다.
또한 선형 부호화 방법을 이용하는 시스템들에서 서로 다른 방식을 이용하여 선형 부호화를 처리해야 하는 경우가 발생할 수 있다. 이러한 경우 여러 가지 선형 부호 방법을 모두 수용하려면 선형 부호기의 복잡도가 증가하게 되는 문제가 있다.
본 발명에서는 효율적인 선형 부호화 생성 장치 및 방법을 제공한다.
본 발명에서는 부호 생성기의 복잡도를 줄일 수 있는 선형 부호화 생성 장치 및 방법을 제공한다.
본 발명의 일 실시 예에 따른 생성 장치는, 선형 부호 생성 장치로, 입력 부호들을 리드뮬러 부호화하는 리드뮬러 부호기와, 상기 리드뮬러 부호기의 입력을 수신하여 원하는 선형 부호로 생성하기 위한 재배치를 수행하는 재배치기를 포함한다.
본 발명의 일 실시 예에 따른 생성 방법은, 선형 부호 생성 방법으로, 입력 부호들을 리드뮬러 부호화하는 과정과, 상기 리드뮬러 부호화된 부호어를 원하는 선형 부호로 재배치하는 과정을 포함한다.
본 발명에 따른 부호 생성기는 간단한 구조를 사용하여 상당히 낮은 복잡도를 가지고, 다양한 선형 부호에 따른 부호들을 생성할 수 있다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 또한 본 발명에서 설명되는 각 실시 예는 본 발명의 이해를 돕기 위한 것으로 본 발명의 내용이 구체적인 실시 예에 제한되어서는 안된다.
부호 이론(Coding Theory)에서 일반적으로 선형부호(Linear code)는 생성 행렬에 의해 부호어 생성이 정의된다. 즉, 특정 선형 부호는 생성 행렬에 의해 정의되어지고, 선형 부호에 속한 부호어들은 생성 행렬에 의해 생성 가능하다. 이와 같은 표현은 선형 부호가 수학적 구조인 벡터 공간으로 표현이 가능함으로써 가능하다.
도 1a는 임의의 선형 부호를 생성하기 위한 생성 행렬들을 예시한 도면이다.
도 1a를 참조하여 생성 행렬을 설명하면, 우선 도 1a에서 생성 행렬(G)에 의해 정의되는 선형 부호는 부호 길이 7을 가진다. 상기 부호 길이란, 생성 행렬(G)에서 열의 길이를 의미한다. 또한 행렬의 행의 개수가 3이므로 정의되어지는 선형 부호에 속하는 부호어의 개수는 2행의개수 = 23 = 8개이다. 일반적으로 (n,k)인 선형 부호의 경우, 이에 따른 생성 행렬은 n개의 열과, k개의 행으로 구성되어지고, 부호어 생성 과정은 k비트의 입력 신호가 입력되어지면, k비트의 출력을 가지게 된다. 따라서 부호어 생성 과정을 수학식으로 표현하면, 하기 <수학식 1>과 같이 표현할 수 있다.
Figure 112007064980615-pat00001
상기 <수학식 1>에서 ci는 부호화 과정을 거쳐 생성된 부호어를 의미하고, ii는 k 비트의 입력 신호열을 의미한다. 상기 <수학식 1>을 참조하여 부호어 생성 과정을 설명하면, k비트의 입력 신호열 I가 입력되어지면, 상기 <수학식 1>와 같이 생성 다항식 G에 곱한다. 이와 같이 생성 다항식 G에 곱해진 결과로 n비트의 부호열 C를 생성하게 된다. 이때, 상기 부호어의 개수는 입력 신호의 가지 수만큼 되어지고, 상기 입력 신호의 가지 수는 각각의 부호어 비트가 이진수이면 2가지 가능한 한 값이 있다. 따라서 상기 <수학식 1>에 의해 2k 만큼의 부호어를 생성할 수 있다. 상기 <수학식 1>의 의미를 살펴보면, 부호어 생성 과정은 입력 신호에 따라서, 생성 행렬의 길이 n인 각 행의 비트열들의 선형 조합으로 부호어들이 생성됨을 알 수 있다.
도 1c는 선형 부호 중 (8,3) 리드뮬러(Reed-Muller) 부호의 생성 행렬을 도시한 도면이다.
리드뮬러 부호는 부호 이론에서 상당히 잘 알려진 부호로서 부호화 및 복호 화가 간단하고, 성능 측면에서도 상당히 우수한 부호이다. Reed-Muller 부호의 자세한 내용은 참고문헌[1]에서 개시하고 있는 바와 같다. 그러므로 본 명세서에서 Reed-Muller 부호에 대하여는 자세한 부분은 다루지 않기로 한다.
참조문헌[1] : The Theory of Error Correcting codes, MacWilliams, F.J. and Sloane, J.J. (1977). North Holland
본 발명의 이해를 돕기 위해 상기 도 1c를 참조하여 설명하면, (8,3) 리드뮬러(Reed-Muller) 부호의 생성 행렬은 상기 도 1c와 같다. 도 1d는 한 가지 리드뮬러 부호의 생성 행렬의 특성을 나타내기 위해서 상기 도 1c에 도시한 리드뮬러 부호의 생성 행렬을 사용하여 각 열의 특성을 도시하였다. 리드뮬러 부호의 생성 행렬의 특성을 도 1d를 참조하여 살펴보면, 행렬의 각 열들을 볼 때, 각 열들은 3비트로 구성된 열들로 구성되어져 있고, 각 열들을 십진화하여 표현할 수 있다. 첫 열의 비트열은 000이므로 십진화하면 0이고, 둘째 열은 001이므로 십진화하면 1이고, 셋째 열은 010이므로 십진화하면 2이고, 넷째 열은 011이므로 십진화하면 3이고, 다섯째 열은 100이므로 십진화하면 4이고, 여섯째 열은 101이므로 십진화하면 5이고, 일곱째 열은 110이므로 십진화하면 6이고, 여덟 번째 열은 111이므로 십진화하면 7이다. 이는 3비트열로 표현할 수 있는 가능한 모든 수들을 표현하고 있다.
이때, 상기 도 1a에 도시한 특정 부호의 생성 행렬을 상기 리드뮬러 부호의 특성과 똑같은 방법으로 표현하면 도 1b와 같이 표현되어진다. 즉, 첫 번째 열은 101이므로 5이고, 두 번째 열은 100이므로 4이고, 세 번째 열은 001이므로 1이고, 네 번째 열은 111이므로 7이고, 다섯 번째 열은 110이므로 6이고, 여섯 번째 열은 010이므로 2이고, 일곱 번째 열은 111이므로 7이다.
도 1e는 상기와 같은 방법을 이용하였을 때, 상기 도 1a에 도시한 생성 행렬과 도 1c에 도시한 생성 행렬과의 관계를 도시한 도면이다.
도 1e를 참조하여 설명하면 왼쪽에는 상기 도 1a에 도시한 선형 부호의 생성 행렬을 도시하였고, 오른쪽에는 도 1c의 리드뮬러 생성 행렬을 도시하였으며 각각의 행들간의 관계를 도시하였다. 즉, 오른쪽에 도시한 (8,3) 리드뮬러 생성 행렬의 각 열들을 재배치하면, 상기 도 1a에 도시한 선형 부호의 생성 행렬과 동일한 행렬을 생성할 수 있음을 알 수 있다.
이를 다시 살펴보면, 선형 부호의 생성 행렬의 첫 번째 열의 십진화 표현은 5이므로 오른쪽 (8,3) 리드뮬러 생성 행렬의 십진화 표현이 5인 여섯 번째 열이 배치되고, 두 번째 열의 십진화 표현은 4이므로 오른쪽 (8,3) 리드뮬러 생성 행렬의 십진화 표현이 4인 다섯 번째 열이 배치되고, 세 번째 열의 십진화 표현은 1이므로 오른쪽 (8,3) 리드뮬러 생성 행렬의 십진화 표현이 1인 두 번째 열이 배치되고, 네 번째 열의 십진화 표현은 7이므로 오른쪽 (8,3) 리드뮬러 생성 행렬의 십진화 표현이 7인 여덟 번째 열이 배치되고, 다섯 번째 열의 십진화 표현은 6이므로 오른쪽 (8,3) 리드뮬러 생성 행렬의 십진화 표현이 6인 일곱 번째 열이 배치되고, 여섯 번째 열의 십진화 표현은 2이므로 오른쪽 (8,3) 리드뮬러 생성 행렬의 십진화 표현이 2인 세 번째 열이 배치되고, 일곱 번째 열의 십진화 표현은 7이므로 오른쪽 (8,3) 리드뮬러 생성 행렬의 십진화 표현이 7인 일곱 번째 열이 배치된다.
상기와 같은 해석 방법은 선형 부호의 생성 행렬은 리드뮬러 부호의 생성 행 렬을 재배치함으로써 표현 가능함을 알 수 있다. 따라서, 임의의 선형 부호의 부호어들은 상기와 같은 재배치 방법을 리드뮬러 부호어에 똑같이 적용함으로써 생성 가능함을 알 수 있다.
도 2는 본 발명의 일 실시 예에 따른 부호어 생성기의 블록 구성도이다.
부호화기는 리드뮬러 부호기(200)와 재배치기(210)으로 구성된다. 본 발명에 따른 부호화기로 입력되는 입력 신호는 리드뮬러 부호기(200)에서 리드뮬러 방식으로 부호화 하여 입력 신호에 대응하는 리드뮬러 부호어를 출력한다. 이때, 리드뮬러 부호기(200)는 입력된 부호어를 리드뮬러 부호화함에 있어서, 특정 부호 방법으로 구현되어질 수도 있고, 가능한 모든 부호어를 테이블에 저장하여 대응되어지는 부호어를 출력할 수 있도록, 룩업(lookup) 테이블을 이용할 수도 있다. 그러면, 리드뮬러 부호기(200)로부터 출력되어진 리드뮬러 부호어는 재배치기(210)로 입력된다. 재배치기(210)로 입력된 부호어는 재배치기(210) 내의 메모리(211)에 저장된다. 그러면 재배치기(210)는 상기 선형 부호의 생성 행렬에 따른 재배치 정보를 입력받아, 상기 메모리(211)에 저장되어진 부호열 중 재배치 정보의 패턴에 대응하는 부호어 비트들을 순서대로 출력하여 최종적으로 상기 선형 부호의 생성 행렬에 따른 부호어 열들을 출력하게 된다. 상기 도 2의 부호기의 동작에 대한 이해를 돕기 위해 상기 도 1a의 선형 행렬에 대한 부호화 동작을 도 2를 통해 설명하기로 한다. 먼저, 동작 설명을 하기에 앞서 재배치 정보를 나타내면, 도 1b에 도시한 것처럼, 각 열들을 십진화하여 5,4,1,7,6,2,7이 재배치 정보로 사용되어진다. 이때, 리드뮬러 생성 행렬의 각 열의 십진화된 수들이 0부터 7까지 변하므로, 상기 재배치 정보 0은 첫 번째를, 1은 두 번째를, 2는 세 번째를 나타낸다. 이와 같은 방법으로 7은 여덟 번째를 의미한다.
상기 도 1a의 선형 행렬에 대한 부호화 동작을 도 2를 통해 설명하면, 먼저 3비트의 입력신호 011이 입력되었다고 가정하자. 이때, 입력신호 011은 상기 리드뮬러 부호기(200)으로 입력되어지면, 리드뮬러 부호기(200)은 상기 (8,3) 리드뮬러 부호 생성 행렬인 도 1c에 의해 리드뮬러 부호화하여 출력한다. 이때, 출력되어지는 부호어는 상기 <수학식 1>에 의해 8비트열의 01100110이 부호어로 출력되어진다. 그러면, 상기 출력되어진 부호어 열은 상기 재배치기(210) 내의 메모리(211)에 저장되어진다. 그러면, 상기 재비치기(210)은 상기 재배치 정보 5,4,1,7,6,2,7을 순차적으로 입력 받는다. 이때, 먼저 5가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어 열 중 6번째 신호인 1을 출력하고, 그 다음 4가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어 열 중 5번째 신호인 0을 출력하고, 그 다음 1이 입력이 되면, 상기 메모리(211)에 저장되어진 부호어 열 중 2번째 신호인 1을 출력하고, 그 다음 7이 입력이 되면, 상기 메모리(211)에 저장되어진 부호어 열 중 8번째 신호인 0을 출력하고, 그 다음 6가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어 열 중 7번째 신호인 1을 출력하고, 그 다음 2가 입력이 되면, 상기 메모리에(211) 저장되어진 부호어 열 중 3번째 신호인 1을 출력하고, 그 다음 7가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어 열 중 8번째 신호인 0을 출력한다. 따라서, 최종적으로 출력되어진 부호열들은 1010110이 출력되어지고, 상기 도 1a의 생성 행렬에 따른 부호어와 일치하게 된다.
상기의 예에서는 임의의 선형 부호에 대한 동작을 도시하였다. 하기에 나타나는 실시 예에서는 선형 부호 중 많은 분야에서 사용되어지고 있는 길쌈 부호(Convolutional code)를 본 발명에 따른 부호화기로 구현하는 경우를 실시 예를 통해서 본 발명의 부호기에 대한 동작을 살펴보기로 한다.
우선 실시 예를 통해 길쌈부호를 본 발명에 따른 부호화기로 부호화하는 실시 예를 설명하기 전에 길쌈부호에 대한 설명을 간단히 하기로 한다.
도 3은 부호율 1/2이고, 생성 다항식이 (7,5)인 길쌈 부호의 블록 구성도이다.
길쌈 부호의 구조에 대해서 간략히 설명하면, 상기 부호율의 역수만큼의 입력 비트당 부호 비트들이 생성되어지고 동수만큼의 생성 다항식을 구비하여야 한다. 따라서 상기 1/2 부호의 경우 2개의 생성 다항식이 필요하게 되고, 각각의 생성 다항식은 7과 5로 정의되어진다. 생성 다항식으로 7의 의미를 설명하면 먼저 7을 이진화 하면 111이 되고, 111이 의미하는 것은 하나의 부호비트를 출력할 때, 입력비트, 메모리1, 메모리2, 즉 3개의 값의 조합을 의미한다. 상기와 같이 111인 경우, 입력비트, 메모리1, 메모리2등 모든 값들이 배타적 가산되어 출력되어지는 것을 의미하고, 5의 경우, 이진화 하면 101이되며, 입력비트, 메모리1, 메모리2의 값 중, 상기 이진화값중 0에 대응하는 메모리 1인값을 제외한 입력비트와 메모리 2의 값들을 배타적 가산하여 출력함을 의미한다.
상술한 설명을 도 3을 통해 길쌈 부호기의 동작을 살펴보면, 먼저 입력 비트들이 길쌈 부호기에 입력되기 전 제1메모리(300)와 제2메모리(302)는 전부 0으로 초기화된다. 이때, 입력 비트들이 입력되면 상기 입력 비트와 상기 제1 및 제2메모리(300, 302)에 저장되어진 비트들이 제1배타적 가산기(310)로 입력되어져 배타적 가산되어진 후 출력되어지고, 상기 입력 비트와 제2메모리(302)에 저장되어진 비트는 배타적 가산기(312)로 입력되어져 배타적 가산되어진 후 출력되어진다.
상기과 같은 도 3의 길쌈 부호에 대한 생성 행렬을 살펴보면 도 4a와 같다. 도 4a를 참조하여 생성 행렬을 설명하면, 상기 길쌈 부호에서 사용되어진 생성 다항식은 이진 값들을 사용하여 표현되어진다. 즉, 상기 예에서 사용되어진 생성 다항식 7=111, 5=101의 이진 값들을 한 값씩 번갈아서 나열하면 111011이 된다. 상기 도 4a에서 참조부호 401로 도시한 점선들이 7을 의미하는 111의 배열이며, 참조부호 402로 도시한 실선들이 5를 의미하는 101의 배열이 된다.
그러면, 이와 같은 비트 열들을 생성 행렬에서 매 행마다 부호율의 역수만큼 오른쪽으로 나열하면 상기 길쌈 부호에 대한 생성 행렬이 표현되어진다. 이와 같이 생성된 행렬을 이용하여 앞에서 본 발명에 따른 개념을 적용하면 도 4b와 같이 구성되어진다.
도 4b는 길쌈 부호(Convolutional code)를 대체하는 본 발명에 따른 부호화기의 재배치 패턴을 도시한 도면이다.
여기서 입력 비트는 3비트라고 가정하기로 한다. 즉, 입력 비트의 크기에 대응하는 생성 행렬의 행의 개수는 3이고, 부호어의 길이, 즉, 열의 개수는 10이 된다.
도 4b를 참조하여 재배치 패턴을 설명하면, 생성 행렬 4b의 첫 번째 열의 비 트 열들이 001이므로 십진화하면, 1이 되고, 두 번째 열의 비트열들이 001이므로 십진화하면, 1이 되고, 세 번째 열의 비트열들이 011이므로 십진화하면, 3이 되고, 네 번째 열의 비트열들이 010이므로 십진화하면, 2가 되고, 다섯 번째 열의 비트열들이 111이므로 십진화하면, 7이 되고, 여섯 번째 열의 비트열들이 101이므로 십진화하면, 5가 되고, 일곱 번째 열의 비트열들이 110이므로 십진화하면, 6이 되고, 여덟 번째 열의 비트열들이 010이므로 십진화하면, 2가 되고, 아홉 번째 열의 비트열들이 100이므로 십진화하면, 4가 되고, 열 번째 열의 비트열들이 100이므로 십진화하면, 4가 된다. 따라서, 재배치 정보는 도 4b에 도시한 바와 같이 1,1,3,2,7,5,6,2,4,4가 된다.
하기의 제 1 실시 예에서는 길쌈 부호(Convolutional code)를 대체하는 본 발명에 따른 부호화 방법을 살펴보기로 한다.
< 제 1 실시 예 >
상기 도 4b의 선형 행렬에 대한 부호화 동작을 도 2를 통해 설명하면, 먼저 3비트의 입력신호 011이 입력되어진다고 가정하자. 이때, 상기 입력신호 011은 상기 리드 뮬러부호기(200)로 입력되어지고, 이때, 상기 리드뮬러 부호기(200)는 상기 (8,3) 리드뮬러 부호 생성 행렬인 도 1c에 의해 리드뮬러 부호화하여 출력한다. 이때, 출력되어지는 부호어는 상기 <수학식 1>에 의해 8비트 열의 01100110이 부호어로 출력되어진다. 그러면, 상기 출력되어진 부호어 열은 상기 재배치기(210) 내의 메모리(211)에 저장되어진다. 그러면, 상기 재비치기(210)은 상기 재배치 정보 1,1,3,2,7,5,6,2,4,4를 순차적으로 입받는다. 이때, 먼저 1이 입력이 되면, 상기 메모리(211)에 저장되어진 부호어열 중 2번째 신호인 1을 출력하고, 그 다음 1가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어열 중 2번째 신호인 1을 출력하고, 그 다음 3가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어열 중 4번째 신호인 0을 출력하고, 그 다음 2가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어열 중 3번째 신호인 1을 출력하고, 그 다음 7이 입력이 되면, 상기 메모리(211)에 저장되어진 부호어열 중 8번째 신호인 0을 출력하고, 그 다음 5가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어열 중 6번째 신호인 1을 출력하고, 그 다음 6이 입력이 되면, 상기 메모리(211)에 저장되어진 부호어열 중 7번째 신호인 1을 출력하고, 그 다음 2가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어열 중 3번째 신호인 1을 출력하고, 그 다음 4가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어열 중 5번째 신호인 0을 출력하고, 그 다음 4가 입력이 되면, 상기 메모리(211)에 저장되어진 부호어열 중 5번째 신호인 0을 출력한다. 따라서, 최종적으로 출력되어진 부호열들은 1101011100이 출력되어지고, 상기 도 4b의 생성행렬에 따른 부호어와 일치하게 된다.
상기 실시 예들에서는 입력 비트들을 3비트로 가정하였다. 이때, 사용되어지는 리드뮬러 부호는 (8,3) 부호들이 사용되어졌고, 재배치기(210) 내에 메모리(211)는 8비트를 저장하였다. 그러나, 예를 들어, 입력비트의 수가 6비트처럼 커질 경우 사용되어지는 리드뮬러 부호는 (64,6) 부호가 사용되어지고, 이때, 메모리(211)의 크기는 상당히 커져, 복잡도의 문제가 되어질 수 있다. 따라서, 상기와 같은 경우, 도 6a 및 도 6b에서는 입력 비트열들을 분할하여 부호화하고, 부호화 결과인 부호어들을 최종적으로 배타적 가산하여 출력하는 구조를 나타내기로 한다.
도 5는 선형 부호 중 길쌈 부호의 입력이 6비트인 경우의 생성 행렬을 나타낸 도면이다. 도 5를 참조하여 입력 비트를 분할하여 부호화하는 방법을 설명하기로 한다.
먼저 도 5의 생성 행렬을 보면 입력 비트 수에 따른 행의 개수가 6이고, 이때, 상기 행을 3부분으로 나눈다. 즉, 상위 2행을 제1부분 생성 행렬(510)로 보고, 그 다음의 중간의 2행을 제2부분 생성 행렬(520)로 보고, 마지막 2행을 또 제3부분 생성 행렬(530)로 두어 각각의 부분 생성 행렬들(510, 520, 530)에 의해 부호화 한 후 최종 출력되어진 부호화 심볼들을 배타적 가산하여 출력할 수 있다. 이때, 상기 생성 행렬에 대응되는 6비트의 입력 비트들은 부분 생성 행렬의 행의 개수인 2비트씩 나누어 각각에 대응되어지는 부분 생성 행렬에 의해 부호화된다. 상기와 같은 개념은 후술되는 도 6a 및 도 6b의 부호화기를 이용하여 구체적으로 설명할 것이다. 상기 도 5의 생성 행렬 및 부분 생성 행렬은 열의 개수가 총 16이다. 이때, 상기 부분 생성 행렬에 대한 재배치 정보는 16개의 정보를 가지게 된다.
도 6a 및 도 6b의 부호화기를 설명하기에 앞서 도 5의 생성 행렬에 따른 각각의 부분 생성 행렬의 재배치 정보를 앞에서 상술한 실시 예에 나타난 방법과 동일한 방법으로 나타내기로 한다.
우선 첫 번째 부분 생성 행렬의 재배치 정보는 1,1,3,2,3,1,2,2,0,0,0,0,0,0,0,0이고, 두 번째 부분 생성 행렬의 재배치 정보는 0,0,0,0,1,1,3,2,3,1,2,2,0,0,0,0이고, 세 번째 부분 생성 행렬의 재배치 정보는 1,1,3,2,3,1,2,2,0,0,0,0,0,0,0,0이 된다. 상기와 같은 재배치 정보를 적용하여 상기 도 5에 따른 생성 행렬에 따른 부호기의 동작을 본 발명의 제 2 실시 예에서 살펴보기로 한다.
< 제 2 실시 예 >
도 6a 및 도 6b는 본 발명에 따른 선형 부호기에서 입력 비트를 분할하여 부호화하는 부호기 블록 구성도이다. 먼저 도 6a을 설명하고, 도 6a와 도 6b의 차이점을 이용하여 도 6b를 살피기로 한다.
도 6a를 참조하여 설명하면, 6비트의 입력 비트가 부호기에 입력되어지면 상기 입력 비트들은 디멀티플렉서(600)로 입력된다. 그러면 상기 디멀티플렉서(600)는 6비트를 2비트씩 나누어 6비트 중 첫 2비트는 부호기1(610)로 출력하고, 그 다음 중간 2비트는 부호기2(612)로 출력하고, 마지막 2비트는 부호기3(614)로 출력한다. 그러면, 상기 부호기1(610은) 상기 도 5의 제1부분 생성 행렬(510)에 의해 부호화한 부호화 비트열들을 출력하고, 상기 부호기2(612)는 상기 도 5의 제2부분 생성 행렬(520)에 의해 부호화한 부호화 비트열들을 출력하고, 상기 부호기3(614)은 상기 도 5의 제3부분 생성 행렬(530)에 의해 부호화한 부호화 비트열들을 출력한다. 그러면, 상기 부호기1(610)에서 출력된 부호 비트들, 부호기2(612)에서 출력된 부호 비트들, 부호기3(614)에서 출력된 부호 비트들이 한 비트씩 배타적 가산기(630)로 입력되어 배타적 가산되어 출력된다. 즉, 상기 배타적 가산기(630)은 각각의 부호기로부터 출력되어진 부호화 비트들을 전부 더하여 도 5의 전체 생성 행 렬에 따른 부호어들을 생성하게 된다.
도 6a는 입력 부호 비트 수가 많을 경우에 입력 비트를 분할하여 부호화하는 일반화 구조를 도시하였다. 상기 도 6a의 부호기를 본 발명의 부호기, 즉 리드뮬러부호기로 부호화하는 좀 더 구체적인 구조를 도 7a를 사용하여 설명하기로 한다.
도 7a를 참조하여 설명하기 앞서, 상기 부분 생성 행렬의 행의 개수가 2이기 때문에 상기 부호기에서 사용되어지는 리드뮬러 부호기는 (4,2) 부호임을 가정한다.
먼저 6비트의 입력 비트가 상기 제 2 실시 예에 따른 부호기에 입력되어지면 먼저 디멀티플렉서(700)로 입력되어진다. 그러면 상기 디멀티플렉서(700)는 6비트를 2비트씩 나누어 6비트 중 첫 2비트는 리드뮬러 부호기1(710)로 출력하고, 그 다음 중간 2비트는 리드뮬러 부호기2(712)로 출력하고, 마지막 2비트는 리드뮬러 부호기3(714)로 출력한다. 그러면, 리드뮬러 부호기(710)은 상기 입력 신호를 리드뮬러 부호화하여 4비트의 부호 비트들을 출력하여 재배치기(720)내의 메모리(721)에 저장한다. 이와 동시에, 리드뮬러 부호기(712)는 상기 입력 신호를 리드뮬러 부호화하여 4비트의 부호 비트들을 출력하여 재배치기(722) 내의 메모리(723)에 저장되어지고, 리드뮬러 부호기(714)는 상기 입력 신호를 리드뮬러 부호화하여 4비트의 부호 비트들을 출력하여 재배치기(724) 내의 메모리(725)에 저장한다.
그러면, 상기 재배치기(720)은 상기 제1부분 생성 행렬에 따른 재배치 정보 1,1,3,2,3,1,2,2,0,0,0,0,0,0,0,0를 입력받아 재배치 정보에 따른 대응되어지는 부호 비트들을 메모리(721)에서 선택하여 출력하고, 두 번째 재배치기(722)는 상기 제2부분 생성 행렬에 따른 재배치 정보 0,0,0,0,1,1,3,2,3,1,2,2,0,0,0,0를 입력받아 재배치 정보에 따라 대응되어지는 부호 비트들을 메모리(723)에서 선택하여 출력하고, 마지막 재배치기(724)는 상기 제3부분 생성 행렬에 따른 재배치 정보 0,0,0,0,0,0,0,0,1,1,3,2,3,1,2,2를 입력받아 재배치 정보에 따른 대응되어지는 부호 비트들을 메모리(725)에서 선택하여 출력한다. 그러면, 상기 재배치기들(720, 722, 724)로부터 출력되어진 비트열들은 각각 한 비트씩 배타적 가산기(730)으로 입력되어지고, 배타적 가산기(730)은 재배치기들(720, 722, 724)로부터 입력되어진 부호 비트들을 배타적 가산하여 출력한다.
상기 도 5의 생성 행렬을 자세히 살펴보면, 길쌈 부호에 따른 생성 행렬의 성질에 따라서 상기 행렬의 각 행은 이전 행의 쉬프트 형태이다. 또한, 부분 생성 행렬들은 이전 부분 생성 행렬의 쉬프트 형태임을 알 수 있다. 그러므로 상기 도 6a의 경우 부호기1(610)과 부호기2(612)와의 동작상의 차이는 부분 생성 행렬에서의 차이에 의해 전체적인 동작상의 시간 지연과 동일하다. 상기와 같은 성질을 이용한 부호화 과정에 대해서 하기에서 도면을 참조하여 설명하기로 한다.
도 6b는 본 발명에 따라 시간지연을 사용하는 부호기의 내부 블록 구성도이다.
도 6b를 참조하여 설명하면, 먼저 6비트의 입력 비트가 부호기에 입력되어지면 상기 입력 비트들은 디멀티플렉서(650)로 입력되어진다. 그러면 상기 디멀티플렉서(650)는 6비트를 2비트씩 나누어 6비트 중 첫 2비트는 부호기1(670)로 출력하고, 그 다음 중간 2비트는 지연기2(660)로 출력하고, 마지막 2비트는 지연기3(662) 로 출력한다. 그러면, 상기 지연기1(660)은 상기 도 5의 제1부분 생성 행렬(510)과 제2부분 생성 행렬(520)과의 쉬프트 정도만큼 시간 지연한 후, 그 다음 중간 2비트는 부호기2(672)로 출력하고, 상기 지연기2(662)는 상기 도 5의 제1부분 생성 행렬(510)과 제3부분 생성 행렬(530)과의 쉬프트 정도만큼 시간 지연한 후, 마지막 2비트는 부호기3(674)로 출력한다. 그러면, 상기 부호기1(670)은 상기 도 5의 제1부분 생성 행렬(510)에 의해 부호화하여 부호화 비트열들을 출력하고, 상기 부호기2(672)는 상기 도 5의 제2부분 생성 행렬(520)에 의해 부호화하여 부호화 비트열들을 출력하고, 상기 부호기3(674)은 상기 도 5의 제1부분 생성 행렬(510)에 의해 부호화하여 부호화 비트열들을 출력한다. 그러면, 상기 부호기1(670)에서 출력된 부호 비트들, 부호기2(672)에서 출력된 부호비트들, 부호기3(674)에서 출력된 부호 비트들이 한 비트씩 배타적 가산기(680)로 입력되어 배타적 가산되어져 출력되어진다. 즉, 상기 배타적 가산기(680)는 각각의 부호기로부터 출력되어진 부호화 비트들을 전부 더하여 도 5의 전체 생성 행렬에 따른 부호어들을 생성하게 된다.
상기 도 6b는 지연기를 이용하여 부호기2(672)와 부호기3(674)의 출력값인 부호 비트들의 출력 시간을 지연시켜 동작하였다. 이때, 지연기가 부호기 동작 전에 동작하여 상기 출력 지연을 할 수도 있지만, 부호기 후에 지연기를 동작하여 출력시간 지연을 유도할 수도 있다.
도 6b는 입력 부호 비트 수가 많을 경우에 입력 비트를 분할하여 부호화하는 일반화 구조이다. 도 6b의 부호기를 본 발명의 부호기, 즉 리드뮬러 부호기로 부호화하는 좀 더 구체적인 구조를 도 7b를 사용하여 설명하기로 한다.
도 7b를 참조하여 설명하기 전에, 상기 부분 생성 행렬의 행의 개수가 2이기 때문에 상기 부호기에서 사용되어지는 리드뮬러 부호기는 (4,2) 부호임을 가정한다.
먼저 6비트의 입력 비트가 상기 제 2 실시 예에 따른 부호기로 입력되어지면 먼저 디멀티플렉서(750)로 입력되어진다. 그러면 상기 디멀티플렉서(750)는 6비트를 2비트씩 나누어 6비트 중 첫 2비트는 리드뮬러 부호기1(770)로 출력하고, 그 다음 중간 2비트는 지연기2(760)로 출력하고, 마지막 2비트는 지연기3(762)로 출력한다. 그러면, 상기 지연기1(760)은 상기 도 5의 제1부분 생성 행렬(510)과 제2부분 생성 행렬(520)과의 쉬프트 정도만큼 시간 지연한 후 그 다음 중간 2비트는 부호기2(772)로 출력하고, 상기 지연기2(762)는 상기 도 5의 제1부분 생성 행렬(510)과 제3부분 생성 행렬(530)과의 쉬프트 정도만큼 시간 지연한 후, 마지막 2비트는 부호기3(774)으로 출력한다. 그러면, 리드뮬러 부호기(770)는 상기 입력 신호를 리드뮬러 부호화하여 4비트의 부호 비트들을 출력하여 재배치기(780) 내의 메모리(781)에 저장한다. 이와 동시에, 리드뮬러 부호기(772)는 상기 입력 신호를 리드뮬러 부호화하여 4비트의 부호 비트들을 출력하여 재배치기(782) 내의 메모리(783)에 저장하며, 리드뮬러 부호기(774)는 상기 입력 신호를 리드뮬러 부호화하여 4비트의 부호 비트들을 출력하여 재배치기(784) 내의 메모리(785)에 저장한다.
그러면, 상기 재배치기(780)는 상기 제1부분 생성 행렬에 따른 재배치 정보 1,1,3,2,3,1,2,2,0,0,0,0,0,0,0,0를 입력받아 재배치 정보에 따른 대응되어지는 부호 비트들을 메모리(781)에서 선택하여 출력하고, 상기 재배치기(782)는 상기 재배 치기(780)에서 사용하였던 같은 재배치 정보 1,1,3,2,3,1,2,2,0,0,0,0,0,0,0,0를 입력받아 재배치 정보에 따른 대응되어지는 부호 비트들을 메모리(783)에서 선택하여 출력하고, 상기 재배치기(784)는 상기 재배치기(780)에서 사용하였던 같은 재배치 정보 1,1,3,2,3,1,2,2,0,0,0,0,0,0,0,0를 입력받아 재배치 정보에 따른 대응되어지는 부호 비트들을 메모리(785)에서 선택하여 출력한다. 그러면, 상기 부호기1(780)에서 출력된 부호 비트들, 부호기2(782)에서 출력된 부호 비트들, 부호기3(784)에서 출력된 부호 비트들이 한 비트씩 배타적 가산기(790)로 입력되어 배타적 가산되어져 출력된다. 즉, 상기 배타적 가산기(790)는 각각의 부호기로부터 출력되어진 부호화 비트들을 전부 더하여 도 5의 전체 생성 행렬에 따른 부호어들을 생성하게 된다.
상기 도 7b는 지연기를 이용하여 부호기2(772)와 부호기3(774)의 출력값인 부호 비트들의 출력 시간을 지연시켜 동작하였다. 이때, 지연기가 부호기 동작 전에 동작하여 상기 출력 지연을 할수도 있지만, 부호기 혹은 재배치기 후에 지연기를 동작하여 출력시간 지연을 유도할 수도 있다.
상술한 실시 예들을 통해서, 여러 가지 선형 부호에 대해서 본 발명에 따른 부호 생성기로 부호 생성이 가능함을 보였다. 하기의 또 다른 실시 예에서는 실제 통신 시스템에서 사용되어지는 선형 부호를 본 발명에 따른 선형 부호 생성기로 대체할 수 있음을 설명하기로 한다.
< 제 3 실시 예 >
본 발명의 제 3 실시 예에서는 실제 통신 시스템에서 사용되어지는 선형 부호를 본 발명에 따른 부호 생성기로 동작시키는 예를 설명한다. 통신 시스템 중 HSDPA 시스템에서는 UE ID를 부호화 하여 UE specific Scrambling 부호를 생성하는 부호 생성기가 존재한다. 상기와 같은 UE specific Scrambling 부호 생성기는 도 8a에서 도시하였다.
도 8a는 통신 시스템에서 사용되는 UE specific Scrambling 부호 생성기의 블록 구성도이다.
도 8a를 참조하여 상기 UE specific Scrambling 부호 생성기의 동작을 설명하면, 먼저 16비트의 UE ID가 부호 생성기에 입력된다. 그러면 길쌈 부호기(800)는 부호율 1/2이고, 구속장 9이고, 생성 다항식이 561,753인 부호로 부호화하여, 48비트의 부호 비트를 생성한다. 이와 같이 생성된 부호어는 천공기(810)로 입력된다. 그러면, 천공기(810)는 8비트를 천공하여, 40비트의 UE specific Scrambling 부호를 생성한다. 상기의 부호 생성기에서 길쌈 부호기(800)을 본 발명에 따른 부호 생성기로 동작시키기 위해서 상기 길쌈 부호기(800)에 따른 생성 행렬을 살펴보면, 도 8b와 같다. 도 8b의 생성 행렬을 살펴보면, 48열이고, 16개의 행으로 이루어져 있고, 생성 다항식 등에 따라서, 첫 행이 결정되어지고, 각 행은 이전 행을 부호율의 역수인 2만큼씩 쉬프트한 형태를 가진다. 본 발명의 제 3 실시 예에서는 상기 부호기의 입력 비트수가 16으로 4비트씩 나누어 부호화하기로 가정한다. 따라서, 상기 생성 행렬은 4행씩으로 나뉘어 4개의 부분 생성 행렬들(820, 830, 840, 850)로 나뉘어지고, 각각의 부분 생성 행렬에 따른 재배치 정보를 앞에서 상술한 다른 실시 예들에서처럼 구해보면, 첫 번째부터 네 번째까지의 부분 생성 행렬의 재배치 정보들은 각각 하기 <수학식 2> 내지 <수학식 5>와 같이 정리할 수 있다.
1,1,2,3,5,7,11,15,7,14,14,13,12,10,8,5,1,11,2,6,4,12,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,1,1,2,3,5,7,11,15,7,14,14,13,12,10,8,5,1,11,2,6,4,12,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,3,5,7,11,15,7,14,14,13,12,10,8,5,1,11,2,6,4,12,8,8,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,3,5,7,11,15,7,14,14,13,12,10,8,5,1,11,2,6,4,12,8,8
본 발명의 제 3 실시 예에 따른 UE Specific scrambling 부호 생성기의 동작을 도 9a를 참조하여 설명하기로 한다. 도 9a를 참조하여 설명하기에 앞서 상기 부분 생성 행렬의 행의 개수가 4이기 때문에 상기 부호기에서 사용되어지는 리드뮬러 부호기는 (16,4) 부호임을 가정한다.
도 9a는 본 발명에 따른 UE Specific scrambling 부호 생성기의 블록 구성도이다.
먼저 16비트의 입력 비트가 상기 제 3 실시 예에 따른 부호기에 입력되어지면 먼저 디멀티플렉서(900)로 입력되어진다. 그러면 상기 디멀티플렉서(900)는 16비트를 4비트씩 나누어 16비트 중 첫 4비트는 첫 번째 리드뮬러 부호기(910)로 출력하고, 그 다음 4비트는 두 번째 리드뮬러 부호기(912)로 출력하고, 그 다음 4비트는 세 번째 리드뮬러 부호기(914)로 출력하고, 마지막 4비트는 마지막 리드뮬러 부호기(916)로 출력한다. 그러면, 첫 번째 리드뮬러 부호기(910)는 상기 입력 신호를 리드뮬러 부호화하여 16비트의 부호 비트들을 출력하여 재배치기(920) 내의 메모리(921)에 저장한다. 이와 동시에, 두 번째 리드뮬러 부호기(912)는 상기 입력 신호를 리드뮬러 부호화하여 16비트의 부호 비트들을 출력하여 재배치기(922) 내의 메모리(923)에 저장된다. 세 번째 리드뮬러 부호기(914)는 상기 입력 신호를 리드뮬러 부호화하여 16비트의 부호 비트들을 출력하여 재배치기(924) 내의 메모리(925)에 저장하며, 마지막 리드뮬러 부호기(916)는 상기 입력 신호를 리드뮬러 부호화하여 16비트의 부호 비트들을 출력하여 재배치기(926) 내의 메모리(927)에 저장한다. 그러면, 상기 재배치기(920)는 상기 첫 번째 부분 생성 행렬에 따른 재배치 정보로 상기 <수학식 2>와 같은 값을 입력받는다. 그러면 상기 첫 번째 재배치기(920)는 상기 <수학식 2>와 같은 재배치 정보에 따라 대응되어지는 부호 비트들을 메모리(921)에서 선택하여 출력한다.
다음으로 두 번째 재배치기(922)는 상기 두 번째 부분 생성 행렬에 따른 재배치 정보로 상기 <수학식 3>과 같은 값을 입력받는다. 상기 두 번째 재배치기(922)는 상기 <수학식 3>과 같은 재배치 정보에 따라 대응되는 부호 비트들을 메 모리(923)에서 선택하여 출력한다.
그리고 세 번째 재배치기(924)는 상기 세 번째 부분 생성 행렬에 따른 재배치 정보로 상기 <수학식 4>와 같은 값을 입력 받는다. 상기 세 번째 재배치기(924)는 상기 <수학식 4>와 같은 재배치 정보에 따라 대응되는 부호 비트들을 메모리(925)에서 선택하여 출력한다.
마지막 재배치기(926)는 마지막 부분 생성 행렬에 따른 재배치 정보로 상기 <수학식 5>와 같은 값을 입력 받는다. 상기 마지막 재배치기(926)는 상기 <수학식 5>와 같은 재배치 정보에 따라 대응되는 부호 비트들을 메모리(927)에서 선택하여 출력한다. 그러면, 상기 각 재배치기들(920, 922, 924,926)로부터 출력되어진 비트들은 배타적가산기(930)로 입력되어 매 비트마다 배타적 가산된다. 이와 같이 매 비트마다 배타적 가산되면, 48비트의 부호 비트열인 UE specific scrambling 부호열이 출력된다.
상기 도 8b의 생성 행렬을 살펴보면, 길쌈 부호에 따른 생성 행렬의 성질에 따라서 상기 행렬의 각 행은 이전 행의 쉬프트 형태이다. 또한, 부분 생성 행렬들은 이전 부분 생성 행렬의 쉬프트 형태임을 알 수 있다. 상기의 도 9a의 경우 각각의 리드뮬러 부호기들(910, 912, 914, 916)의 동작상의 차이는 부분 생성 행렬에서의 차이에 의해 전체적인 동작상의 시간 지연과 동일하다. 상기와 같은 성질을 이용하면, 부호화 과정에 대해서 도 9b와 같이 구현할 수도 있다.
도 9b는 본 발명의 제 3 실시 예의 다른 방법에 따른 부호화기의 블록 구성도이다. 이하 도 9b를 참조하여 본 발명의 제 3 실시 예를 다른 방법으로 구현하는 경우에 대하여 살펴보기로 한다.
먼저 16비트의 입력 비트가 상기 제 3 실시 예에 따른 부호기에 입력되어지면 먼저 디멀티플렉서(950)로 입력되어진다. 그러면 상기 디멀티플렉서(950)는 16비트를 4비트씩 나누어 16비트 중 첫 4비트는 리드뮬러 부호기(970)로 출력하고, 그 다음 4비트는 지연기(960)으로 출력하고, 그 다음 4비트는 지연기(962)로 출력하고, 마지막 4비트는 지연기(964)로 출력한다. 그러면, 상기 지연기(960)는 입력된 4비트를 상기 도 8a의 첫 번째 부분 생성 행렬과 두 번째 부분 생성 행렬과의 쉬프트 정도만큼 시간 지연한 후, 리드뮬러 부호기(972)로 출력하고, 상기 지연기(962)는 그 다음 4비트를 상기 도 8b의 첫 부분 생성 행렬과 세 번째 부분 생성 행렬과의 쉬프트 정도만큼 시간 지연한 후, 리드뮬러 부호기(974)로 출력하고, 상기 지연기(964)는 마지막 4비트를 상기 도 8b의 첫 번째 부분 생성 행렬과 네 번째 부분 생성 행렬과의 쉬프트 정도만큼 시간 지연한 후, 부호기(976)로 출력한다. 그러면, 리드뮬러 부호기(970)는 상기 입력 신호를 리드뮬러 부호화하여 16비트의 부호 비트들을 출력하여 재배치기(980) 내의 메모리(981)에 저장한다. 이와 동시에, 리드뮬러 부호기(972)는 상기 입력 신호를 리드뮬러 부호화하여 16비트의 부호 비트들을 출력하여 재배치기(982) 내의 메모리(983)에 저장되하고, 리드뮬러 부호기(974)는 상기 입력 신호를 리드뮬러 부호화하여 16비트의 부호 비트들을 출력하여 재배치기(984) 내의 메모리(985)에 저장하며, 리드뮬러 부호기(976)는 상기 입력 신호를 리드뮬러 부호화하여 16비트의 부호 비트들을 출력하여 재배치기(986) 내의 메모리(987)에 저장한다. 그러면, 상기 재배치기(980)는 상기 첫 번째 부분 생성 행렬에 따른 재배치 정보인 1,1,3,2,3,1,2,2,0,0,0,0,0,0,0,0를 입력받아 재배치 정보에 따른 대응되어지는 부호 비트들을 메모리(981)에서 선택하여 출력하고, 상기 재배치기(982)는 상기 재배치기(980)에서 사용하였던 것과 같은 재배치 정보인 1,1,3,2,3,1,2,2,0,0,0,0,0,0,0,0를 입력받아 재배치 정보에 따른 대응되어지는 부호 비트들을 메모리(983)에서 선택하여 출력하고, 상기 재배치기(984)는 상기 재배치기(980)에서 사용하였던 것과 같은 재배치 정보인 1,1,3,2,3,1,2,2,0,0,0,0,0,0,0,0를 입력받아 재배치 정보에 따른 대응되어지는 부호 비트들을 메모리(985)에서 선택하여 출력하고, 상기 재배치기(986)는 상기 재배치기(980)에서 사용하였던 것과 같은 재배치 정보인 1,1,3,2,3,1,2,2,0,0,0,0,0,0,0,0를 입력받아 재배치 정보에 따른 대응되어지는 부호 비트들을 메모리(987)에서 선택하여 출력한다.
그러면, 상기 재배치기(980)에서 출력된 부호 비트들, 재배치기(982)에서 출력된 부호 비트들, 재배치기(984)에서 출력된 부호 비트들, 재배치기(986)에서 출력된 부호 비트들이 한 비트씩 배타적 가산기(990)로 입력되어 배타적 가산되어져 출력된다. 즉, 상기 배타적 가산기(990)는 각각의 부호기로부터 출력되어진 부호화 비트들을 전부 더하여 도 8b의 전체 생성 행렬에 따른 부호어들을 생성하게 된다.
상기 도 9b는 지연기를 이용하여 부호기들(972,974, 976)의 출력값인 부호 비트들의 출력 시간을 지연시켜 동작하였다. 이때, 지연기는 부호기 전에 구비하여 상기 출력지연을 할수도 있지만, 부호기 혹은 재배치기 후에 지연기를 동작하여 출력시간 지연을 유도할 수도 있다.
본 발명의 제 3 실시 예를 통하여 본 발명에 따른 부호 생성기는 기존의 UE specific scrambling 부호 생성을 위해서 사용되어지는 길쌈 부호기와 같은 입출력을 가지도록 동작함을 알 수 있다.
상기 대부분의 실시 예에서는 부호기로서 리드뮬러 부호를 사용하였다. 상기에서 언급한 바와 같이 리드뮬러 부호의 생성 행렬의 각 열을 보면 행의 개수만큼의 이진수로 표현 가능한 모든 수들을 나타내고 있기 때문이다. 그러나, 리드뮬러 부호 이외에 다른 부호를 사용하는것도 가능하다. 예를 들어, 상기 도 1a의 생성 행렬의 경우 각 열들을 십진화하였을 때, 1,2,4,5,6,7로 0,3의 경우는 나타나지 않는다. 따라서, 도 1a에 따른 부호 생성기로 도 2의 구조를 사용할 경우 리드뮬러 부호기(200) 대신 생성 행렬의 열들이 1,2,4,5,6,7만 갖는 부호를 사용하여도 상기 도 1a의 부호를 생성할수 있다. 따라서, 하기에서는 이에 대한 구조를 도면을 참조하여 설명한다.
도 10a는 상기와 같이 열들이 1,2,4,5,6,7만 갖는 부호의 생성 행렬을 도시한다. 따라서, 상기 도 10a를 생성 행렬로 가지는 선형 부호기를 사용하여 도 1a의 부호를 생성할수 있는 부호 생성기를 도 11a를 참조하여 설명하기로 한다. 이때, 먼저 상기와 같은 부호 생성기를 설명하기 위해서 생성 행렬에 따른 재배치 정보를 구해보면, 도 1b의 첫 열을 도 10a의 네 번째 열을 나타내므로 3이고, 도 1b의 두 번째 열을 도 10a의 세 번째 열을 나타내므로 2이고, 도 1b의 세 번째 열을 도 10a의 첫 번째 열을 나타내므로 0이고, 도 1b의 네 번째 열을 도 10a의 여섯 번째 열을 나타내므로 5이고, 도 1b의 다섯 번째 열을 도 10a의 다섯 번째 열을 나타내므 로 4이고, 도 1b의 여섯 번째 열을 도 10a의 두 번째 열을 나타내므로 1이고, 도 1b의 일곱 번째 열을 도 10a의 여섯 번째 열을 나타내므로 5이다. 따라서, 결과적인 재배치 정보는 3,2,0,5,4,1,5가 된다. 상기와 같은 재배치 정보를 사용하여 도 11a를 참조하여 부호 생성기의 동작을 설명하면, 먼저 3비트의 입력 비트가 부호 생성기로 입력되어지면, 상기 입력 신호는 부호기(1100)로 입력되어지고, 상기 부호기(1100)는 상기 도 10a의 생성 행렬에 따라 상기 입력 신호를 부호화하여 출력한다. 그러면, 상기 출력된 신호는 재배치기(1110)로 입력되어 재배치기(1110) 내의 메모리(1111)에 저장되어진다. 그러면, 상기 재배치기(1110)는 재배치 정보 3,2,0,5,4,1,5를 입력받아 상기 재배치 정보에 따른 부호 비트들을 순차적으로 출력하여 최종적인 부호 비트들을 생성한다.
상기의 부호 생성기는 리드뮬러 부호가 아닌 부호기를 사용하여 부호 생성하는 과정을 도시하였다. 또, 상기 도 1a의 생성 행렬에 따른 부호 생성 방법에 있어 다른 부호 생성기를 도 10b와 도 11b를 참조하여 설명하기로 한다.
상기 도 1a의 생성 행렬에 따른 부호를 생성함에 있어 도 10b의 생성 행렬을 사용하면, 십진화 값이 6과 7인 열은 도 10b에서는 나타나 있지 않는다. 그러나, 6의 값을 가지는 열, 즉 이진법으로 110을 가지는 열은 100, 즉 4인 열과, 010, 즉 2인 열을 배타적 가산함으로써 얻어질 수 있다. 즉, 재배치를 포함한 일부 열들의 배타적 가산 조합을 이용한 조합 정보를 이용함으로써 상기와 같은 도 10b의 생성 행렬을 이용한 부호 생성기로 도 1a의 생성 행렬에 따른 부호를 생성할 수 있다. 이때, 조합 정보를 살펴보면, 도 1b의 첫 열을 도 10b의 네 번째 열을 나타내므로 3이고, 도 1b의 두 번째 열을 도 10b의 세 번째 열을 나타내므로 2이고, 도 1b의 세 번째 열을 도 10b의 첫 번째 열을 나타내므로 0이고, 도 1b의 네 번째 열을 도10b의 두 번째 열과 네 번째열의 배타적 가산을 나타내므로 (1,3)이고, 도 1b의 다섯 번째 열은 도 10b의 두 번째 열과 세 번째열의 배타적 가산을 나타내므로 (1,2)이고, 도 1b의 여섯 번째 열을 도 10b의 두 번째 열을 나타내므로 1이고, 도 1b의 일곱 번째 열을 도 10b의 두 번째 열과 네 번째 열의 배타적 가산을 나타내므로 (1,3)이다.
따라서, 결과적인 조합 정보는 3,2,0,(1,3),(1,2),1,(1,3)이 된다. 상기와 같은 조합 정보를 사용하여 도 11b를 참조하여 부호 생성기의 동작을 설명하면, 먼저 3비트의 입력 비트가 부호 생성기에 입력되어지면, 상기 입력 신호는 부호기(1150)로 입력되어지고, 상기 부호기(1150)은 상기 도 10b의 생성 행렬에 따라 상기 입력 신호를 부호화하여 출력한다. 그러면, 상기 출력된 신호는 조합기(1160)으로 입력되어 조합기(1160) 내의 메모리(1161)에 저장된다. 그러면, 상기 조합기(1160)은 조합정보 3,2,0,(1,3),(1,2),1,(1,3)를 입력받아 상기 재배치 정보에 따른 부호 비트들을 순차적으로 출력한다. 즉, 조합 정보 3이 입력되면 메모리(1161)에 저장되어진 부호 비트 중 네 번째 부호 비트를 출력하고, 조합 정보 2가 입력되면 메모리(1160)에 저장되어진 부호 비트 중 세 번째 부호 비트를 출력하고, 조합정보 0이 입력되면 메모리(1160)에 저장되어진 부호 비트 중 첫 번째 부호 비트를 출력하고, 조합 정보 (1,3)이 입력되면 메모리(1160)에 저장되어진 부호 비트 중 두 번째 부호 비트와 네 번째 부호의 배타적 가산값을 출력하고, 조합정보 (1,2)가 입력되면 메모리(1160)에 저장되어진 부호 비트 중 두 번째 부호 비트와 세 번째 부호의 배타적 가산값을 출력하고, 조합 정보 1이 입력되면 메모리(1160)에 저장되어진 부호 비트 중 두 번째 부호비트를 출력하고, 조합 정보 (1,3)이 입력되면 메모리(1160)에 저장되어진 부호 비트 중 두 번째 부호비트와 네 번째 부호의 배타적 가산값을 출력하여 최종적인 부호 비트들을 생성한다.
상기와 같은 도 11a 및 도 11b의 두 가지 부호화기 구조는 상기 실시 예에서 사용한 리드뮬러 부호기 이외에 좀 더 다양한 부호를 사용하여 부호화 가능함을 도시했다.
도 12는 도 2 및 도 11a에 따른 재배치를 사용하는 부호 생성 과정의 흐름도이다.
도 12를 참조하여 설명하면, 먼저 1200단계에서는 입력 신호를 부호화한다. 즉, 1200단계에서 사용되어지는 부호는 도 2에서 도시했던 리드 뮬러부호를 사용할 수도 있고, 도 11a에서 나타낸 바와 같이 최종적인 부호의 생성 행렬들에 대한 열들을 포함하는 생성 행렬에 따른 부호기를 의미한다. 그러면, 상기 1210단계에서는 상기 1200에서의 부호화 비트들을 저장하고, 상기 부호 생성기에 따른 재배치 정보를 입력받고, 1220단계에서는 상기 재배치 정보에 따른 부호화 비트를 순차적으로 출력함으로써 최종 부호비트들을 출력한다.
도 13은 도 11b에 따른 재배치를 사용하는 부호 생성 과정의 흐름도이다.
도 13를 참조하여 설명하면, 먼저 1300단계에서는 입력 신호를 부호화한다. 즉, 1300단계에서 사용되어지는 부호는 도 11b에서 나타낸 바와 같이 최종적인 부 호의 생성 행렬들에 대한 열들을 조합하여 표현할 수 있는 열들로 구성된 생성 행렬에 따른 부호기를 의미한다. 그러면, 상기 1310단계에서는 상기 1300에서의 부호화 비트들을 저장하고, 상기 부호 생성기에 따른 조합 정보를 입력받고, 1320단계에서는 상기 조합 정보에 따른 부호화 비트를 순차적으로 출력함으로써 최종 부호비트들을 출력한다.
도 1a 내지 도 1e는 선형 부호를 생성하기 위한 생성 행렬들과 본 발명에 따른 선형 부호 행렬간의 관계를 설명하기 위한 예시도,
도 2는 본 발명의 일 실시 예에 따른 부호어 생성기의 블록 구성도,
도 3은 부호율 1/2이고, 생성 다항식이 (7,5)인 길쌈 부호의 블록 구성도,
도 4a 및 도 4b는 길쌈 부호어의 행렬을 본 발명에 따른 행렬로 표현하기 위한 예시도,
도 5는 선형 부호 중 길쌈 부호의 입력이 6비트인 경우의 생성 행렬을 나타낸 도면,
도 6a 및 도 6b는 본 발명에 따른 선형 부호기에서 입력 비트를 분할하여 부호화하는 부호기 블록 구성도,
도 7a 및 도 7b는 도 6a 및 도 6b의 부호기의 구체적인 예시도,
도 8a는 통신 시스템에서 사용되는 UE specific Scrambling 부호 생성기의 블록 구성도,
도 8b는 도 8a의 부호 생성기에 따른 생성 행렬을 도시한 도면,
도 9a 및 도 9b는 도 8b를 본 발명에 따른 부호기로 구현한 경우 부호 생성기의 블록 구성도,
도 10a 및 도 10b는 임의의 부호어 생성 행렬 예시도,
도 11a 및 도 11b는 도 10a 및 도 10b의 부호어를 본 발명에 따라 생성하기 위한 부호기의 블록 구성도,
도 12는 본 발명의 일 실시 예에 따라 재배치를 사용하는 부호 생성 과정의 흐름도,
도 13은 본 발명의 다른 실시 예에 따라 재배치를 사용하는 부호 생성 과정의 흐름도.

Claims (30)

  1. 선형 부호를 생성하는 방법에 있어서,
    제2 부호화 방식(coding scheme)으로 입력 비트들을 부호화하는 과정; 및
    상기 제2 부호화 방식으로 부호화된 비트들을 제1 생성 행렬에 따른 재배치 정보에 따라 재배치하여 상기 선형 부호를 생성하는 과정을 포함하며,
    상기 제2부호화 방식은 제1부호화 방식과 다르며,
    상기 제1부호화 방식은 상기 선형 부호를 생성하기 위해 사용되는 부호화 방식이며,
    상기 제1부호화 방식에 따른 부호화를 위한, 상기 제1 생성 행렬은 상기 제2부호화 방식에 따른 부호화를 위한 제2 생성 행렬과 다름을 특징으로 하는 선형 부호 생성 방법.
  2. 제 1 항에 있어서, 상기 제1 부호화 방식에 따른 부호화를 위한 제1 생성 행렬의 열들은 상기 제2 부호화 방식에 따른 부호화를 위한 제2 생성 행렬에서 선택된 열들을 재배치한 것과 동일한 선형 부호 생성 방법.
  3. 제 2 항에 있어서, 상기 제1 생성 행렬의 적어도 하나의 열은 상기 제2 생성 행렬에서 선택된 열들을 배타적 가산한 것과 동일한 선형 부호 생성 방법.
  4. 제 1 항에 있어서, 상기 부호화하는 과정은 상기 입력 비트들을 다수의 부분 비트들로 분할하여 각각 상기 제2 부호화 방식으로 부호화하는 과정을 포함하는 선형 부호 생성 방법.
  5. 제 4 항에 있어서, 상기 입력 비트들을 상기 다수의 부분 비트들로 분할한 경우 상기 제2 부호화 방식에 따른 부호화를 위한 생성 행렬은 상기 다수의 부분 비트들에 각각 대응되는 부분 생성 행렬들로 구분되는 선형 부호 생성 방법.
  6. 제 5 항에 있어서, 상기 부분 생성 행렬들의 각 행은 이전 행을 부호율의 역수만큼 쉬프트한 것과 동일한 선형 부호 생성 방법.
  7. 제 4 항에 있어서, 상기 생성하는 과정은 상기 제2 부호화 방식으로 부호화된 부분 비트들을 상기 재배치 정보에 따라 재배치하는 과정을 포함하는 선형 부호 생성 방법.
  8. 제 7 항에 있어서, 상기 재배치 정보는 상기 분할된 부분 비트들 마다 다른 선형 부호 생성 방법.
  9. 제 7 항에 있어서, 상기 재배치 정보는 상기 분할된 부분 비트들 마다 동일한 선형 부호 생성 방법.
  10. 제 9 항에 있어서, 상기 재배치 정보가 동일해지도록 상기 다수의 부분 비트들 중 적어도 하나를 시간 지연시키는 과정을 더 포함하는 선형 부호 생성 방법.
  11. 제 5 항에 있어서, 상기 생성하는 과정은 상기 제2 부호화 방식으로 부호화된 후 재배치된 부분 비트들을 비트 단위로 배타적 가산하여 상기 선형 부호를 생성하는 과정을 포함하는 선형 부호 생성 방법.
  12. 제 1 항에 있어서, 상기 제1 부호화 방식은 블록 부호화(block Coding), 길쌈 부호화(convolutional coding), 터보 부호화(turbo coding) 그리고 월시 부호 및 m-수열(m-sequence) 방식 중 하나인 선형 부호 생성 방법.
  13. 제 1 항에 있어서, 상기 제2 부호화 방식은 리드뮬러 부호화 방식인 선형 부호 생성 방법.
  14. 제 1 항에 있어서, 상기 생성된 선형 부호가 정해진 비트 수를 갖도록 천공하는 과정을 더 포함하는 선형 부호 생성 방법.
  15. 제 14 항에 있어서, 상기 입력 비트들은 단말기 식별자이고, 상기 천공된 선형 부호는 단말기 특정 스크램블링 부호인 선형 부호 생성 방법.
  16. 선형 부호를 생성하는 장치에 있어서,
    제2 부호화 방식(coding scheme)으로 입력 비트들을 부호화하는 부호화부; 및
    상기 제2 부호화 방식으로 부호화된 비트들을 제1 생성 행렬에 따른 재배치 정보에 따라 재배치하여 상기 선형 부호를 생성하는 재배치부를 포함하며,
    상기 제2부호화 방식은 제1부호화 방식과 다르며,
    상기 제1부호화 방식은 상기 선형 부호를 생성하기 위해 사용되는 부호화 방식이며,
    상기 제1부호화 방식에 따른 부호화를 위한, 상기 제1 생성 행렬은 상기 제2부호화 방식에 따른 부호화를 위한 제2 생성 행렬과 다름을 특징으로 하는 선형 부호 생성 장치.
  17. 제 16 항에 있어서, 상기 부호화부에서 상기 제1 부호화 방식에 따른 부호화를 위한 제1 생성 행렬의 열들은 상기 제2 부호화 방식에 따른 부호화를 위한 제2 생성 행렬에서 선택된 열들을 재배치한 것과 동일한 선형 부호 생성 장치.
  18. 제 17 항에 있어서, 상기 부호화부에서 상기 제1 생성 행렬의 적어도 하나의 열은 상기 제2 생성 행렬에서 선택된 열들을 배타적 가산한 것과 동일한 선형 부호 생성 장치.
  19. 제 16 항에 있어서, 상기 입력 비트들을 다수의 부분 비트들로 분할하는 디멀티플렉서를 더 포함하고, 상기 부호화부는 상기 다수의 부분 비트들을 각각 상기 제2 부호화 방식으로 부호화하는 다수의 부호화기들을 포함하는 선형 부호 생성 장치.
  20. 제 19 항에 있어서, 상기 디멀티플렉서에서 상기 입력 비트들을 상기 다수의 부분 비트들로 분할한 경우 상기 제2 부호화 방식에 따른 부호화를 위한 생성 행렬은 상기 다수의 부호화기들에서 상기 다수의 부분 비트들에 각각 대응되는 부분 생성 행렬들로 구분되는 선형 부호 생성 장치.
  21. 제 20 항에 있어서, 상기 다수의 부호화기들에서 상기 부분 생성 행렬들의 각 행은 이전 행을 부호율의 역수만큼 쉬프트한 것과 동일한 선형 부호 생성 장치.
  22. 제 19 항에 있어서, 상기 재배치부는 상기 제2 부호화 방식으로 부호화된 부분 비트들을 상기 재배치 정보에 따라 각각 재배치하는 다수의 재배치기를 포함하는 선형 부호 생성 장치.
  23. 제 22 항에 있어서, 상기 재배치 정보는 상기 분할된 부분 비트들 마다 다른 선형 부호 생성 장치.
  24. 제 22 항에 있어서, 상기 재배치 정보는 상기 분할된 부분 비트들 마다 동일한 선형 부호 생성 장치.
  25. 제 24 항에 있어서, 상기 재배치 정보가 동일해지도록 상기 다수의 부분 비트들 중 적어도 하나를 시간 지연시키는 적어도 하나의 지연기를 더 포함하는 선형 부호 생성 장치.
  26. 제 20 항에 있어서, 상기 제2 부호화 방식으로 부호화된 후 재배치된 부분 비트들을 비트 단위로 배타적 가산하여 상기 선형 부호를 생성하는 배타적 가산기를 더 포함하는 선형 부호 생성 장치.
  27. 제 16 항에 있어서, 상기 제1 부호화 방식은 블록 부호화(block Coding), 길쌈 부호화(convolutional coding), 터보 부호화(turbo coding) 그리고 월시 부호 및 m-수열(m-sequence) 방식 중 하나인 선형 부호 생성 장치.
  28. 제 16 항에 있어서, 상기 제2 부호화 방식은 리드뮬러 부호화 방식인 선형 부호 생성 장치.
  29. 제 16 항에 있어서, 상기 생성된 선형 부호가 정해진 비트 수를 갖도록 천공하는 천공기를 더 포함하는 선형 부호 생성 장치.
  30. 제 29 항에 있어서, 상기 입력 비트들은 단말기 식별자이고, 상기 천공된 선형 부호는 단말기 특정 스크램블링 부호인 선형 부호 생성 장치.
KR20070090686A 2007-09-06 2007-09-06 선형 부호 생성 장치 및 방법 KR101493999B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR20070090686A KR101493999B1 (ko) 2007-09-06 2007-09-06 선형 부호 생성 장치 및 방법
PCT/KR2008/005189 WO2009031817A2 (en) 2007-09-06 2008-09-03 Appratus and method for generating a linear code
US12/205,009 US8301962B2 (en) 2007-09-06 2008-09-05 Apparatus and method for generating a linear code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20070090686A KR101493999B1 (ko) 2007-09-06 2007-09-06 선형 부호 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090025671A KR20090025671A (ko) 2009-03-11
KR101493999B1 true KR101493999B1 (ko) 2015-02-17

Family

ID=40429539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20070090686A KR101493999B1 (ko) 2007-09-06 2007-09-06 선형 부호 생성 장치 및 방법

Country Status (3)

Country Link
US (1) US8301962B2 (ko)
KR (1) KR101493999B1 (ko)
WO (1) WO2009031817A2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549374B2 (en) * 2011-02-11 2013-10-01 Sharp Laboratories Of America, Inc. Dual Reed-Muller (RM) code segmentation for uplink control information (UCI)
US11356119B2 (en) * 2019-12-17 2022-06-07 Qualcomm Incorporated Noncoherent wireless communication using modified Reed Muller codes
US11641252B1 (en) 2022-03-04 2023-05-02 Qualcomm Incorporated Differential based decoding for a non-coherent signal

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050113441A (ko) * 2004-05-29 2005-12-02 삼성전자주식회사 이동통신시스템에서 셀 식별 코드 송수신 장치 및 방법
KR20060014020A (ko) * 2003-05-30 2006-02-14 소니 가부시끼 가이샤 복호 방법 및 복호 장치, 프로그램, 기록 재생 장치 및방법과, 재생 장치 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE272914T1 (de) * 1998-11-09 2004-08-15 Broadcom Corp Vorwärtsfehlerkorrektur
KR20020002729A (ko) * 2000-06-30 2002-01-10 박종섭 반도체 소자의 층간 절연막 형성 방법
AU766022B2 (en) 2000-10-06 2003-10-09 Samsung Electronics Co., Ltd. Apparatus and method for generating (n,3) code and (n,4) code using simplex codes
KR100421165B1 (ko) 2000-10-21 2004-03-04 삼성전자주식회사 통신시스템에서 블록부호 발생 장치 및 방법
US6907060B2 (en) * 2001-04-03 2005-06-14 Accton Technology Corporation Method for generating OVSF codes in CDMA multi-rate system
AU2002309310B9 (en) * 2001-06-09 2005-04-28 Samsung Electronics Co., Ltd. Method and apparatus for rearranging codeword sequence in a communication system
KR100418857B1 (ko) * 2001-11-10 2004-02-14 옥문수 코팅용액의 제조방법
KR100867859B1 (ko) * 2002-07-18 2008-11-07 엘지전자 주식회사 프로그램 가이드 제공 방법 및 장치
KR20040085545A (ko) 2003-03-31 2004-10-08 삼성전자주식회사 통신 시스템에서 오류 정정 부호의 복호 장치 및 방법
KR20050010084A (ko) * 2003-07-16 2005-01-27 김인덕 인터넷을 이용한 통합 원격 교육 시스템
KR20050100848A (ko) 2004-04-16 2005-10-20 삼성전자주식회사 초 광대역 통신시스템에서 헤더정보 전송장치 및 방법
US7549105B2 (en) * 2005-01-10 2009-06-16 Broadcom Corporation Construction of irregular LDPC (low density parity check) codes using RS (Reed-Solomon) codes or GRS (generalized Reed-Solomon) code
KR100966043B1 (ko) * 2005-10-31 2010-06-25 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060014020A (ko) * 2003-05-30 2006-02-14 소니 가부시끼 가이샤 복호 방법 및 복호 장치, 프로그램, 기록 재생 장치 및방법과, 재생 장치 및 방법
KR20050113441A (ko) * 2004-05-29 2005-12-02 삼성전자주식회사 이동통신시스템에서 셀 식별 코드 송수신 장치 및 방법

Also Published As

Publication number Publication date
US20090066545A1 (en) 2009-03-12
WO2009031817A2 (en) 2009-03-12
WO2009031817A3 (en) 2009-04-30
KR20090025671A (ko) 2009-03-11
US8301962B2 (en) 2012-10-30

Similar Documents

Publication Publication Date Title
US6553516B1 (en) Interleaving method, interleaving apparatus, turbo encoding method, and turbo encoder
KR100526512B1 (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
KR100949519B1 (ko) 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법
JP2824474B2 (ja) 誤り訂正方式及びこの誤り訂正方式を用いた復号器
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
JP4033245B2 (ja) ターボ符号化装置およびターボ符号化方法
JP4422906B2 (ja) コ・セット分割を用いたインタリーバ
JP2003324357A5 (ko)
JP2000156646A5 (ja) 符号化装置及び方法、復号装置及び方法、情報処理装置及び方法、並びに記憶媒体
JP4357561B2 (ja) 符号化装置及び符号化方法
KR100963463B1 (ko) 낮은 프레임 에러 레이트를 위한 개선된 터보 코드인터리버
KR100894234B1 (ko) 선형 블록 코드의 인코딩 방법 및 장치
KR101493999B1 (ko) 선형 부호 생성 장치 및 방법
WO2006063843A1 (en) Memory efficient interleaving / de-interleaving utilising the periodicity of the mapping function
KR101370903B1 (ko) Ldpc 코드를 이용한 부호화 및 복호화 방법
KR20040085545A (ko) 통신 시스템에서 오류 정정 부호의 복호 장치 및 방법
JP3515036B2 (ja) インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置
WO2018127206A1 (zh) 极性Polar码的速率匹配处理方法及装置
KR100304193B1 (ko) 리드솔로몬복호기의역수구현회로
EP1300954A1 (en) Encoding device and method, decoding device and method, providing medium, and method for generating data substitution position information
RU29816U1 (ru) Кодирующее устройство помехоустойчивого кода
KR101279204B1 (ko) 터보 부호기의 인터리빙 방법 및 장치
KR100192792B1 (ko) 리드 솔로몬 복호기의 다항식 평가 장치
KR101613984B1 (ko) 입력 데이터의 상대적 고밀도를 이용한 부호화 방법 및 장치
KR101391853B1 (ko) 저밀도 역 코드를 이용한 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
B701 Decision to grant
LAPS Lapse due to unpaid annual fee