KR20000074862A - 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법 - Google Patents

이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법 Download PDF

Info

Publication number
KR20000074862A
KR20000074862A KR1019990019095A KR19990019095A KR20000074862A KR 20000074862 A KR20000074862 A KR 20000074862A KR 1019990019095 A KR1019990019095 A KR 1019990019095A KR 19990019095 A KR19990019095 A KR 19990019095A KR 20000074862 A KR20000074862 A KR 20000074862A
Authority
KR
South Korea
Prior art keywords
rows
address
columns
row
interleaving
Prior art date
Application number
KR1019990019095A
Other languages
English (en)
Other versions
KR100526512B1 (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
Priority to KR10-1999-0019095A priority Critical patent/KR100526512B1/ko
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to AU46218/00A priority patent/AU758085B2/en
Priority to PCT/KR2000/000509 priority patent/WO2000072448A1/en
Priority to BR0006138-7A priority patent/BR0006138A/pt
Priority to EP00927913A priority patent/EP1097517A4/en
Priority to CNB008009287A priority patent/CN1136660C/zh
Priority to CA002337161A priority patent/CA2337161C/en
Priority to JP2000620738A priority patent/JP3359913B1/ja
Priority to US09/576,374 priority patent/US6323788B1/en
Publication of KR20000074862A publication Critical patent/KR20000074862A/ko
Application granted granted Critical
Publication of KR100526512B1 publication Critical patent/KR100526512B1/ko

Links

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/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
    • H03M13/2771Internal interleaver for turbo 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/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory 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
    • H03M13/2703Coding, 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 the interleaver involving at least two directions
    • 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
    • H03M13/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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
    • H03M13/2742Irregular interleaver wherein the permutation pattern is not obtained by a computation rule, e.g. interleaver based on random generators
    • 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
    • H03M13/276Interleaving address generation
    • H03M13/2764Circuits therefore

Abstract

직렬 쇄상 컨볼루션 코드(SCCC)를 사용하는 부호화기를 위한 인터리빙/디인터리빙 장치 및 방법이 개시되어 있다. 본 발명에 따른 인터리빙 장치는 행 선택부화, 어드레스 생성부와, 어드레스 조합부를 포함한다. 상기 행 선택부는 미리 정해지는 인터리버 크기에 대응하여 설정된 수의 행들을 선택한다. 상기 어드레스 생성부는 상기 인터리버 크기에 대응하여 설정된 수의 열을 랜덤화하기 위한 어드레스를 생성한다. 상기 어드레스 조합부는 상기 행 선택부와 상기 어드레스 생성부의 출력을 조합하여 조합된 결과를 부호화된 데이터열을 인터리빙하기 위한 어드레스로서 발생한다.

Description

이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙 장치 및 방법 {INTERLEAVING APPARATUS AND METHOD FOR SERIALLY CONCATENATED CONVOLUTION CODE IN A MOBILE TELECOMMUNICATION SYSTEM}
본 발명은 이동 통신시스템의 부호화/복호화 장치에 관한 것으로, 특히 직렬 쇄상 컨볼루션 코드(SCCC)를 사용하는 부호화기를 위한 인터리빙/디인터리빙 장치 및 방법에 관한 것이다.
일반적으로 W-CDMA(Wide Code Division Multiple Access)방식이나 CDMA2000과 같은 방식의 통신시스템에서는 낮은 비트에러율(BER: Bit Error Rate)(예를 들어, BER이 10-4∼10-6정도)의 데이터 전송이 요구되며, 위성시스템에서의 데이터 전송 등과 같이 신호 대 잡음비(SNR: Signal to Noise Ratio)가 낮은 상황에서는 데이터의 높은 신뢰성이 요구된다. 이러한 요구를 만족시키기 위해 대부분의 이동 통신시스템에서는 순방향에러정정(FEC: Forward Error Correction) 방식의 병렬쇄상 컨볼루션코드(Parallel Concatenated Convolution Code: 이하 "PCCC"라 칭함) 또는 터보코드(turbo code)를 사용하여 유선 또는 무선상으로 전송될 디지털 정보를 부호화(coding) 및 복호화(decoding) 처리하게 된다. 상기 PCCC는 기존의 컨볼루션 부호에 비해 큰 성능의 개선, 특히 SNR이 낮은 곳에서의 성능은 월등함을 보인다. 따라서 이러한 PCCC는 현재 IMT2000 시스템의 데이터 통신을 위한 FEC방식으로 채택되어 활발히 연구되고 있는 추세에 있다.
상기 PCCC의 성능은 수신단에서 SISO(Soft-In-Soft-Out)를 이용한 반복적 복호에 의해 결정되는데, 상기 PCCC를 사용하는 부호화기(이하 "PCCC 부호화기"라 칭함)는 기본적으로 두 개의 병렬 구성 부호화기와(Component Coder)와, 이를 연결하는 터보 인터리버에 의해 그 특성이 결정된다. 상기 구성 부호화기에서는 통상 순환시스템부호(RSC: Recursive Systematic Code)를 사용한다. 이러한 PCCC는 기존의 컨볼루션 부호와 비교했을 때 PCCC의 자유 길이(dfree: distance of free)를 크게 개선시키는 효과가 있다.
한편, 2개 이상의 오류정정부호를 서로 직접 연결함으로써 얻어지는 오류정정부호는 주로 요구되는 BER이 매우 낮은 시스템에서 많이 사용되어 왔다. 예를 들어, 현재 진행중인 UMTS(Universal Mobile Telecommunication System) 표준안 후보들 중에 요구되는 BER이 10-7이하인 경우에는 직렬쇄상 컨볼루션코드(SCCC: Serially Concatenated Convolution Code)를 사용하도록 되어 있다.
도 1은 SCCC를 사용하는 부호화 장치의 구성을 보여주는 도면으로, 여기서는 구성 부호기(component encoder)의 스테이트(state)가 4인 SCCC 부호화기의 구성을 보여주고 있다.
상기 도 1을 참조하면, SCCC 부호화기는 2개의 구성 부호기 10,40과, 이들을 직렬로 연결하는 인터리버 30을 포함한다. 이러한 SCCC 부호화기의 성능은 구성 부호기 10,40의 성능과, 내부 인터리버 30의 특성에 의해 결정되게 된다. 만일, PCCC 부호화기의 경우와 마찬가지로 구성 부호기가 정해진다면, 전체 SCCC 부호화기의 dfree는 내부 인터리버 40의 특성에 의해 결정되며, 이는 SCCC 부호화기의 전체 성능을 결정한다. 즉, 구성 부호기 10,40이 주어진다면, 인터리버 40만이 전체 시스템의 성능을 결정하는 중요한 요소가 될 것이다.
상기 도 1에서 외부 부호기(Outer Encoder) 10으로 입력되는 정보 데이터 UO는 부호화된 후 멀티플렉서 50에서 두 개의 비트 스트림(bit stream)이 하나의 직렬 데이터(serial data) 형식으로 변환된 후 천공기 20을 거쳐 2/3인 외부 코드를 생성한다. 이렇게 생성된 외부 코드는 SCCC 인터리버 30을 거쳐 내부 부호기(Inner Encoder) 40으로 입력된다. 이를 Ui라고 하면, Ui는 레이트가 1/2인 내부 부호기 40에 의해 부호화되어 CI를 생성한 후 다시 멀티플렉서 60에서 두 개의 비트 스트림이 하나의 직렬 데이터 형식으로 변환된 후 채널로 전송된다.
그럼에도 불구하고, 기존에는 SCCC 부호화기의 인터리버로서 가장 단순한 형태인 블록 인터리버(Block Interleaver)나 PN(Pseudo Noise) 인터리버만을 사용하여 왔다. 이는 SCCC 부호화기의 성능이 인터리버의 성능에 크게 의존하지 않는다는 가정하에서 이루어진 것이다. 즉 후속하는 부호화기를 위해 선행하는 부호의 거리(distance)나 랜덤화(randomization)만 이루어진다면, 성능이 보장된다는 가정을 한 것이다. 따라서 연접하는 두 개의 부호기로 구성된 SCCC 부호화기의 성능을 최적화하기 위해서 랜덤화 특성과 함께 거리 특성을 동시에 고려하여야 했음에도 불구하고, 기존에는 이러한 점들을 간과하였던 것이다. 다시 말하면, 연속적으로 오류가 발생한 코드 심볼(code symbol)의 거리를 유지하며, 동시에 랜덤한 특성의 코드 심볼이 전달됨으로써 후속하는 복호화기에서 그러한 오류를 충분히 정정할 수 있도록 하는 특성을 간과한 것이다.
따라서 주어진 구성 부호기에서 SCCC의 성능을 최적화하기 위해서는 상술한 두가지의 특성, 즉 거리 특성과 랜덤 특성을 동시에 만족하는 SCCC 인터리버를 설계할 필요가 있을 것이다.
따라서 본 발명의 목적은 구성 부호기에서 SCCC의 성능을 최적화하는 SCCC 인터리빙 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 구성 부호기에서 거리 특성과 랜덤 특성을 동시에 만족시키는 SCCC 인터리빙 장치 및 방법을 제공함에 있다.
본 발명의 또다른 목적은 구성 부호기의 거리 특성과 랜덤 특성을 만족시키면서도, 저복잡도를 보장하는 SCCC 인터리빙 장치 및 방법을 제공함에 있다.
이러한 목적들을 달성하기 위한 본 발명은 행 선택부화, 어드레스 생성부와, 어드레스 조합부를 포함하는 SCCC 인터리빙 장치를 향한 것이다. 상기 행 선택부는 미리 정해지는 인터리버 크기에 대응하여 설정된 수의 행들을 선택한다. 상기 어드레스 생성부는 상기 인터리버 크기에 대응하여 설정된 수의 열을 랜덤화하기 위한 어드레스를 생성한다. 상기 어드레스 조합부는 상기 행 선택부와 상기 어드레스 생성부의 출력을 조합하여 조합된 결과를 부호화된 데이터열을 인터리빙하기 위한 어드레스로서 발생한다.
도 1은 본 발명이 적용되는 직렬 쇄상 컨볼루션 부호(SCCC)를 사용하는 부호화 장치의 구성도.
도 2는 본 발명에 따른 SCCC 인터리빙 장치의 구성도.
도 3은 본 발명에 따른 SCCC 인터리빙 장치가 2-D SCCC 인터리버로 구현됨을 설명하기 위한 도면.
도 4는 본 발명에 따른 2-D SCCC 인터리버에 의한 동작의 처리흐름도.
도 5a 및 도 5b는 본 발명의 실시예들에 따른 SCCC의 성능과 기존 방식과의 성능을 대비적으로 보여주는 도면.
도 6은 본 발명에 따른 SCCC 복호화기의 구성을 보여주는 도면.
도 7은 본 발명에 따른 0 추가 랜덤 어드레스 생성기의 구성을 보여주는 도면.
도 8은 본 발명의 실시예에 따른 SCCC 인터리빙 장치의 구성을 보여주는 도면.
도 9a 내지 도 9c는 본 발명의 각 실시예에 따른 SCCC 인터리빙 장치의 구성을 보여주는 도면.
도 10은 도 1에 나타난 구성부호기의 트랠리스(trellis) 구조를 보여주는 도면.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 하기에서 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
도 2는 본 발명에 따른 SCCC 인터리빙 장치의 구성을 보여주는 도면으로, 이 인터리빙 장치는 SCCC 부호화기 내부의 인터리버를 구성하는 것이다. 즉 상기 SCCC 인터리빙 장치는 도 1에 도시된 바와 같이 2개의 구성 부호기의 사이에 구비된 인터리버를 구현하는 것이다.
상기 도 2에서, 파라메터 설정부(parameter setup unit) 100은 주어진 인터리버 크기(interleaver size)로부터 2-디멘죤(dimension) 어레이(array)의 행과 열 (Row×Column) 및 기타 SCCC 인터리버 변수를 설정한다. 예를 들어, PN시프트 레지스터(PNSR)를 사용할 경우, 초기 시드(seed), 생성 다항식(generation polynomial)을 설정할 것이며, 선형순환방정식(linear recursive equation)을 사용할 경우에는 초기값, 곱해지는 소수(prime number)를 설정할 것이다. 이때 설정되는 구체적인 변수는 하기 6가지 실시예에서 보인다. 어드레스 생성기 110은 각 행에서의 인터리빙 규칙(rule) 또는 베이스 랜덤 어드레스(base random address) P(r,k)를 생성한다. 행 선택기(row selector) 120은 각각의 행(또는 그룹)을 멀티플렉싱한다. 어드레스 조합부 130은 어드레스 생성기 110과, 행 선택기 120의 출력을 조합하여 실제 인터리빙될 데이터의 어드레스를 발생한다. 어드레스 천공기(address puncturing unit) 140은 미리 설정된 인터리버 크기를 벗어나는 무효한 어드레스(invalid address)를 제거한다. 제어부 150은 상기와 같은 구성요소들을 전반적으로 제어하는 동작을 수행한다. 상기 어드레스 천공기 140을 거쳐 출력되는 어드레스는 도 1의 제1구성 부호기 10으로부터 출력되는 부호화 데이터열을 인터리빙시키기 위한 어드레스, 즉 저장된 부호화 데이터열을 리드하기 위한 어드레스로서 사용된다.
지금, 인터리버 크기 N이 결정되어 입력되었다면, 이에 따라 행(Row), 열(Col), 행 선택 규칙(row selecting rule)과, 어드레스 생성(address generation)을 위한 파라메터(parameter) 등을 파라메터 설정부 100이 결정한다. 다음에, 매 클럭(clock)마다 행 r이 행 선택기 120에 의해 선택되며, 그 행에서의 랜덤 어드레스(random address)인 P(r, k)가 어드레스 생성기 110에 의해 생성된다. 어드레스 조합부 130은 이들 r과 P(r, k)를 조합하여 실제 인터리빙 동작을 위한 어드레스를 발생한다. 이렇게 발생된 어드레스가 유효하지 않은(무효의) 어드레스(invalid address)인 경우, 어드레스 천공기 140은 상기 무효의 어드레스를 삭제 또는 천공(address deletion 또는 puncturing)한다. 이러한 과정은 전체 N개의 어드레스를 발생할 때까지 반복된다.
이하 본 발명에 따른 SCCC 인터리빙 장치를 구체적으로 설명한다. 우선 하기에서는 본 발명에 따른 SCCC 인터리빙 장치가 2-D SCCC 인터리버로 구현됨을 밝힐 것이다. 다음에, 2-D SCCC 인터리버의 구현이 6가지의 실시예로서 구현될 수 있음을 설명할 것이다. 그 다음에, 본 발명에 따른 2-D SCCC 인터리버가 기존의 블록 인터리버나 1-D(first dimension) 인터리버에 비해 비트에러율/프레임에러율(BER/FER: Bit Error Rate/Frame Error Rate) 성능을 크게 향상시킴을 설명할 것이다.
2-D SCCC 인터리버
본 발명에 따른 2-D SCCC 인터리버는 입력 데이터의 크기가 주어졌을 때 도 3에 도시된 바와 같은 매핑 동작을 행한다. 즉, 입력 데이터의 크기가 N으로 정해졌을 때, 도 3과 같이 [Row x Col]의 2-D 어레이에 왼쪽에서 오른쪽, 그리고 위에서 아래의 순서로 매핑(mapping)한다. 이때, Row x Col ?? N이 된다.
상기 도 3에서, 각각의 행에서는 해당하는 인터리빙 규칙(interleaving rule), 실시예와 같이 PNSR이나 선형순환방정식을 사용하는 P(r,k)에 의해 랜덤어드레스가 생성된다. 이때, r번째 행에서 k번째로 읽어지는 어드레스는 P(r,k)가 된다. 행의 선택 동작은 행 멀티플렉싱 규칙(row multiplexing rule) 또는 그룹 멀티플렉싱 규칙(group multiplexing rule)에 따른다. 이러한 규칙에 따르면, 매 행 클럭(Row clock)에 각각의 행은 반드시 한 번씩만 선택되게 된다. 이와 같이 각 행에 대해 랜덤 어드레스를 생성하고, 멀티플렉싱 규칙에 따라 행을 선택하는 것은 Row x Col > N인 경우, 두 개 이상의 무효한 어드레스가 연속적으로 천공(puncturing)되는 것을 막기 위한 것이다.
이와 같이 본 발명에 따른 2-D SCCC 인터리버는 크기가 N인 1-D 데이터를 크기가 [Row x Col]의 2-D 어레이에 매핑한 후, 매 클럭마다 행 선택의 규칙에 의해 하나의 행을 선택하고, 선택된 행에 대해서는 미리 주어진 인터리빙 규칙 P(r,k)에 의해 어드레스를 하나씩 생성함으로써 전체 어드레스를 생성하는 것이다.
본 발명에 따른 2-D SCCC 인터리버에서 수행되는 동작은 다음과 같다.
첫째 과정(step 1)에서는, 주어진 인터리버 크기 N에 해당하는 변수인 행(Row), 열(Col), 인터리빙 규칙 P(r,k) 및 상기에서 언급한 것과 같이 P(r,k)의 종류에 따른 파라메터를 설정(parameter setup)한다. 이러한 과정은 도 2의 파라메터 설정부 100에 의해 수행된다.
둘째 과정(step 2)에서는, 매 클럭마다 행을 선택하고, 선택된 행에서 P(r,k)를 이용하여 어드레스를 생성한다. 이러한 과정은 행 멀티플렉싱(row multiplexing), 어드레스 생성(address generation) 및 어드레스 조합(address combination)의 단계로 구분될 수 있다. 상기 행 멀티플렉싱의 동작은 도 2의 행 선택기 120에 의해 수행되며, 어드레스 생성 동작은 도 2의 어드레스 생성기 110에 의해 생성되며, 어드레스 조합의 동작은 어드레스 조합부 130에 의해 수행된다.
셋째 과정(step 3)에서는, 발생된 어드레스가 유효한 어드레스인지를 검사하고, 무효인 경우는 어드레스를 출력하지 않고, 그렇지 않으면 리드 어드레스(read address)를 출력한다. 이러한 과정은 어드레스 천공(address puncturing)으로 명명될 수 있으며, 도 2의 어드레스 천공기 140에 의해 수행된다. 리드 어드레스를 출력한 후에는 다음 클럭에서 상기 둘째 과정 및 셋째 과정을 수행한다. 참고적으로, 어드레스 천공에는 2가지 방법이 있는데, explicit 어드레스 천공과 같이 어드레스를 생성한 후 천공하는 방식과, implicit 천공과 같이 무효인 어드레스를 미리 검출(detection)하여 제거하는 방식이 있다. 위 2가지 방식의 차이점은 첫 번째 방식은 한 클럭을 사용하는 것이며, 두 번째 방식은 클럭의 사용없이 무효인 어드레스를 제거하는 것이다. 구체적인 implicit 어드레스 천공 방식은 본건 출원인에 의해 이미 출원된 대한민국 특허번호 제-호에 개시되어 있다. 개념적으로는 explicit, implicit 어드레스 천공은 동일하나, 구현상으로 차이가 발생할 수 있음을 밝힌다.
상기 첫째, 둘째 및 셋째 과정은 도 2의 제어부 150에 의해 제어되며, 이때의 처리수순은 도 4에 도시된 바와 같은 흐름에 따른다.
도 4는 본 발명에 따른 2-D SCCC 인터리버에 의해 수행되는 동작을 보여주는 플로우챠트(flow chart)이다.
상기 도 4의 410과정이 위에서 설명한 첫 번째 과정에 해당한다. 도 4의 420과정, 430과정, 440과정이 위에서 설명한 두 번째 과정에 해당한다. 도 4의 450과정, 460과정이 위에서 설명한 세 번째 과정에 해당한다. 도 4의 470과정은 전체 인터리버 크기 N개만큼 어드레스가 출력되었는지 여부를 판단하는 과정이고, 480과정은 N개의 어드레스가 출력되지 않은 경우에 또다른 어드레스를 발생시키기 위해 K를 증가시키는 과정이다.
2-D SCCC 인터리버의 특성
본 발명에 따른 인터리빙 장치는 전술한 바와 같이 2-D SCCC 인터리버로 구현되는 것이 바람직하다. 하기에서는 이러한 2-D RSCC 인터리버가 잡음에 의해 발생된 에러성분을 포함하는 데이터에 대해 에러 정정을 행하는 동작을 설명할 것이다. 즉, 본 발명에 따른 2-D SCCC 인터리버가 보다 효율적으로 에러 정정을 행할 수 있다는 사실이 설명될 것이다. 하기의 예에서는 설명의 편의상 [4 x 8] 크기, 즉 행이 4이고, 열이 8인 경우의 인터리버에 대해 설명한다. 따라서 무효 어드레스 천공은 존재하지 않는 것으로 가정한다. 또한 전송된 심볼(symbol)이 '0' 벡터(zero vector)인 것으로 가정한다. 따라서, 하기에서 '0'은 정상적으로 전송된 코드 심볼을 의미하며, '1'은 심볼에러(symbol error)가 발생한 것을 나타낸다.
도 6은 본 발명에 따른 SCCC 복호기의 구성을 보여주는 도면이다. 복호기는 내부 복호기(SISO Inner Decoder) 610과, 외부 복호기(SISO Outer Decoder) 640, 그리고 SCCC 인터리버 630, SCCC 디인터리버 620으로 구성되어 있다. 이때 복호는 내부/외부 순으로 반복적으로 이루어진다.
상기 도 6을 참조하면, SISO의 입력 포트와 출력 포트의 λ(',I)와 λ(',O)는 각각, I가 두 번째 변수인 경우는 수신된 제한되지 않은(unconstrained) LLR(Log Likelihood Ratio)을 나타내며, O가 두 번째 변수인 경우는 코드 제한을 가진(code constrained) LLR을 나타낸다. 또한 첫 번째 변수 U는 부호기의 정보 심볼을 나타내며, C는 코드 심볼을 나타낸다. 또한 위첨자 O는 외부 부호기에 의한 것임을 보이며, 위첨자 i는 내부 부호기에 의한 것임을 나타낸다.
첫 번째 내부 SISO 복호기 610은 복조기(soft demodulator)로부터 입력되는 소프트 입력과 이전 외부 복호기 640의 복호 과정에서 얻어진 Extrinsic 정보 λ(ui,I)를 입력받아 복호를 수행한 후 다음의 외부 복호기 640dml 복호를 위한 새로운 LLR을 생성하여 디인터리버 620으로 전달한다. 단 여기서 λ(ui,I)는 초기에 제로로 설정된다. 디인터리버에 의해 순서가 바뀌어진 λ(cO,I)는 SISO 외부 복호기 640에 의해 복호화되어 개선된 LLR인 λ(uo,O)와, λ(co,O)를 출력한다. λ(uo,O)는 정보 데이터를 결정하기 위한 출력으로 사용되며, λ(co,O)는 계속적인 반복 복호과정을 위해 SCCC 인터리버 630으로 전달되어 다시 원래의 순서로 배치된다.
하기 <표 1>에서의 예는 SCCC의 내부 복호화기(inner decoder)로 복호화(decoding)가 이루어진 후, '1'이 존재하는 곳은 에러를 정정하지 못한 위치이다. 바람직한 인터리빙 규칙은 하기의 <표 1>과 같이 연속적으로 발생한 에러를 인터리빙한 후, 후속하는 외부 복호화기(outer decoder)가 정정하기 쉽도록 dfree 이상으로 분산시키는 역할을 하는 것이다.
→ Write
Read↓ 0 0 0 0 0 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0
0 0 0 1 1 0 0 0 0 0
상기 <표 1>에서 왼쪽에서 오른쪽 방향은 데이터를 인터리빙 메모리에 라이트하는 방향을 나타내고, 위에서 아래 방향은 인터리빙 메모리에 저장된 데이터를 리드하는 방향을 나타낸다. 상기 <표 1>을 참조하면, 데이터열에는 "11111" "111" "11"과 같이 연속적으로 에러가 발생하였음을 알 수 있다. 이와 같이 데이터에 포함된 에러를 정정하기 위해 본 발명에 따른 2-D SCCC 인터리버는 하기의 <표 2>와 같이 각 행에 대해 인터리빙 규칙을 적용한다.
하기 <표 2>를 참조하면, 1번째 행에 대해서는 {0,5,7,6,8,4,3,1,3,9}의 인터리빙 규칙이 적용된다. 2번째 행에 대해서는 {1,9,3,6,5,2,7,4,0,8}의 인터리빙 규칙이 적용된다. 3번째 행에 대해서는 {7,6,0,5,2,9,4,1,8,3}의 인터리빙 규칙이 적용된다. 4번째 행에 대해서는 {4,8,1,5,7,0,6,3,9,2}의 인터리빙 규칙이 적용된다. 하기 <표 2>의 각 행에서 번호는 그 행에서 읽어지는 데이터의 순서를 나타낸다. 예를 들어, 첫 번째 행에서 처음 읽어지는 위치는 첫 번째 열의 데이터이며, 그 행에서 두 번째는 8번째 열의 데이터이다. 또한 각 행은 매 클럭당 한번씩 선택되므로, 실제 주어진 행에서의 데이터는 4클럭마다 그 행에서의 순서로 읽어진다.
0 5 7 6 8 4 2 1 3 9
1 9 3 6 5 2 7 4 0 8
7 6 0 5 2 9 4 1 8 3
4 8 1 5 7 0 6 3 9 2
또한 본 발명에 따른 2-D SCCC 인터리버는 행(또는 그룹) 멀티플렉싱 규칙을 적용한다. 이때 비트 반전 행 멀티플렉싱 규칙(bit reversal row multiplexing rule)={0,2,1,3}인 것으로 가정한다. 여기서 비트 반전 행 멀티플렉싱 규칙이란 각 행의 이진 비트값을 반전시키고, 그 비트 반전된 결과값의 순서대로 행을 선택하겠다는 것을 나타낸다. 즉, 행들의 이진 비트값은 {00,01,10,11}의 순서를 가지는데, 이 이진 비트값을 반전시키면 {00,10,01,11}={0,2,1,3}의 값이 구해진다. 이렇게 구해진 결과에 따르면, 각 행들은 {0,2,1,3}의 순서로 선택되게 된다.
위와 같은 비트 반전 행 멀티플렉싱 규칙에 따라 각 행들을 선택하고, 선택된 행들에 대해 고유의 인터리빙 규칙을 적용하면, 하기의 <표 3>과 같이 에러패턴(error pattern)이 변하게 된다. 즉, 에러가 정정됨을 알 수 있다.
0 1 0 0 1 0 0 0 1 0
0 0 1 0 0 0 1 0 0 0
0 0 0 1 0 1 0 0 0 1
0 1 0 0 0 0 1 0 0 0
상기에서 설명한 인터리빙 규칙을 적용하면, <표 3>에서, 첫 번째 행의 "100"은 상기 행 멀티플렉싱 규칙에 따라 각 행들을 선택하고, 그 선택된 행들내에서의 '0'의 값, 즉 어드레스에 해당하는 데이터를 출력함으로써 얻어진 값이다. 일예로, 상기 <표 2>에서 첫 번째 행(행 0)의 어드레스 '0'에 해당하는 데이터는 '0'이며, 세 번째 행(행 2)의 어드레스 '0'에 해당하는 데이터는 '1'이며, 두 번째 행(행 1)의 어드레스 '0'에 해당하는 데이터는 '0'이며, 세 번째 행(행 3)의 어드레스 '0'에 해당하는 데이터는 '0'이다. 상기 <표 3>에서 첫 번째 행의 나머지 값들 및 나머지 행의 값들은 위와 같은 동일한 원리가 적용되어 얻어지는 값이다.
상기 <표 3>에 나타난 바와 같은 에러패턴과, 상기 <표 1>에 나타낸 바와 같이 인터리빙 전의 에러패턴을 비교하면, 본 발명에 따른 2-D SCCC 인터리버에 의해 연속적으로 발생한 에러들이 상당히 분산되었음을 알 수 있다. 이는 행의 수를 4개로 유지함으로써 인터리빙된 후의 인접하는 비트 사이의 거리가 최소 4이상이 되도록 함에 있다. 이렇게 분산된 에러는 후속하는 복호화기에 의해 정정될 확률이 커지게 된다.
결론적으로, 본 발명에 따른 인터리빙 장치는 거리특성(distance property)를 얻기 위해서는 2-D SCCC 인터리버를 사용하고 있으며, 각각의 행에서의 랜덤특성(random property)를 유지하기 위해서는 각 행에서 랜덤어드레스를 생성하고 있다.
행 멀티플렉싱(row multiplexing)
이미 언급한 바와 같이 본 발명에 따른 2-D SCCC 인터리버는 다수개의 행들을 선택함에 있어서 인터리빙된 후 인접한 비트 사이의 거리를 유지하기 위해 행 멀티플렉싱 규칙(row multiplexing rule 또는 group multiplexing rule)에 따른다. 즉, 순차적으로 행을 선택하는 것 보다 일정한 거리(distance)를 유지하기 위한 규칙(rule)을 사용하여 행 멀티플렉싱을 수행하는 것이다. 이러한 행 멀티플렉싱 규칙은 행의 수가 2의 거듭제곱으로 표현되는 경우와, 표현되지 않는 경우로 구분되어 적용될 수 있다.
1. 행의 수가 2의 거듭제곱으로 표현되는 경우
행의 수가 2의 거듭제곱인 8(=23)인 경우에는 하기의 <표 4>와 같이 모든 행들의 이진 값을 비트 반전시키고, 그 비트 반전된 값의 순서대로 행을 선택한다. 즉, 0∼7의 행들의 이진 값 {000, 001,010,011,100,101,110,111}을 비트 반전시키면, {000,100,010,110,001,101,011,111}={0,4,2,6, 1,5,3,7}의 값이 구해진다. 따라서 하기 <표 4>에 나타난 바와 같이 {0,4,2,6,1,5,3,7}의 순서대로 행을 선택하면 된다.
Row index Binary Bit reversed binary Selected row index
0 0 0 0
1 1 100 4
2 10 10 2
3 11 110 6
4 100 1 1
5 101 101 5
6 110 11 3
7 111 111 7
2. 2의 거듭제곱이 아닌 경우
첫째, 행의 수가 2의 거듭제곱으로 표현되지 않는 경우에는 테이블 룩업(Table look up)에 의한 임의의 방식을 사용할 수 있다. 예를 들어, 행의 수가 7인 경우에는 {0,4,1,5,2,6,3}의 순서로 행을 선택하도록 룩업테이블을 구현할 수 있다.
둘째, 행의 수가 2의 거듭제곱으로 표현되지 않은 경우에는 행의 값보다 크거나 같은 2의 거듭제곱의 수중 최소인 값을 이용하여 비트반전(bit reversal) 방식을 사용하되 해당되지 않는 행은 삭제한다. 에를 들어, 행의 수가 7 인 경우, 행의 값보다 크거나 같은 2의 거듭제곱의 수중에서 최소인 값은 8이다. 그러므로, 행의 수가 8인 경우에 비트반전 방식을 사용하면, 상기 <표 4>에서 살펴본 바와 같이 {0,4,2,6,1,5,3,7}의 행 선택 순서가 결정된다. 이중에서 그룹 7을 삭제하면, {0,4,2,6,1,5,3}의 행 선택 순서가 결정되는데, 이 순서를 7개의 행들에 대한 선택 순서로 결정한다.
행의 수 선택
2-D SCCC 인터리버를 설계함에 있어서 행의 수를 적절하게 선택하느냐, 선택하지 않느냐에 따라 인터리버 전체의 성능에 큰 영향을 미칠 수 있다. 일반적으로 인터리버의 크기를 N이라 할 때, 행의 수가 sqrt(N)에 가까이 갈수록 거리 특성은 증가하지만, 각 행에서의 랜덤 특성은 감소하는 경향을 보인다. 예를 들어, 행을 지나치게 크게 가져갈 경우, 랜덤 어드레스 생성을 위해 PN 시프트 레지스터를 사용한다면, 프리미티브 다항식(primitive polynomial)의 차수(order)가 떨어질 수 있다. 다른 예로, 행을 '1'로 하는 경우는 랜덤 특성을 얻기 위해 거리 특성을 희생한 경우로, 1-D 랜덤 어드레스의 성능만을 보이게 된다. 즉, 행의 선택은 거리 특성과 랜덤 특성 사이의 트레이드오프(trade-off)를 가져오기 때문에, 이들의 특성이 적절하게 균형을 갖도록 행을 선택하여야만 SCCC 전체의 성능을 향상시킬 수 있다.
또한 SCCC를 사용할 경우, 수신단에서 내부 또는 외부 복호화기(inner or outer decoder)가 정정하지 못할 경우, 잔여 에러를 외부 또는 내부 복호화기가 얼마나 효율적으로 정정하느냐에 따라 성능이 결정된다. 앞서 상술한 바와 같이, 만약 에러가 연속적으로 발생한 패턴이 존재한다면, 이를 적절한 거리 이상으로 분산시킨다면, 후속하는 복호화기에 의해 에러가 정정될 확률은 커질 것이다. 그러므로, 두 개의 인접한 에러 비트 사이의 거리가 인터리빙/디인터리빙 후 구성 부호화기의 dfree이상이 된다면 그 뒤 에러비트는 대부분 정정될 수 있을 것이다.
따라서 도 1에 도시된 바와 같이 4 스테이트 SCCC 부호화기의 경우, 종단(termination)된 구성 부호화기의 dfree는 5정도이므로, 행의 수를 5보다 큰 값 중 2의 거듭제곱으로 표현되는 8(23)이나 16(24)으로 선택한다면, 거리 특성과 랜덤 특성의 최적의 균형을 유지하게 된다. 그러나 행의 수를 32로 증가시킨다면, 거리 특성은 증가할 것이나 랜덤 특성은 감소하게 될 것이다.
도 10은 도 1에 나타난 구성부호기의 트랠리스(trellis) 구조를 보인 것이다. 트랠리스상의 괄호 밖의 수는 정보비트이며 괄호안의 수는 코드워드가 된다. 구성부호기는 구조적 인코더이므로 정보비트와 첫번째 코드는 항상 동일하다. 최적의 행의 수를 결정하기 위해 도면10을 바탕으로 인코더의 특성을 살펴본다[따라서 도 1에 도시된 바와 같이 4 스테이트 SCCC 부호화기의 경우, 종단(termination)된 구성 부호화기의 dfree는 5정도이므로, 행의 수를 5보다 큰 값 중 2의 거듭제곱으로 표현되는 8(23)이나 16(24)으로 선택한다면, 거리 특성과 랜덤 특성의 최적의 균형을 유지하게 된다.] 그러나 행의 수를 32로 증가시킨다면, 거리 특성은 증가할 것이나 랜덤 특성은 감소하게 될 것이다.
도 1에서 Outer encoder가 RSC이므로, 최소의 outer code의 weight를 가지기 위한 input은 zero state에서시작하여 다시 zero state로 돌아가는 ...000|101|0000...와 같은 input sequence이다. 이러한 input의 outer code는 weight가 5인 ...000|11011|0000..인code인데, 이것이 다음 단의 inner encoder의 input sequence가 된다. 즉, inner encoder의 실제 dfree는 weight이 2인 input이 입력되는 5가 아니라, input pattern이 ...000|11011|000...이 다시 zero state로 복귀하는 ...000|1101101|000..이 inner encoder로 입력될 때이다. 여기서 마지막 01은 ...000|11011|000...이 zero state복귀하기 위안 error 발생이다. 이러한 input에 해당하는 code는 ...000|11|10|01|10|11|01|10|000...이 되며, 이 code의 weight는 9이다. 따라서, inner decoder의 effective dfree는 9가 되는 것이다. 이것은 간접적으로 interleaver의 행의 수가 9보다 커야함을 의미한다. 즉, Row > 9이며, bit reversal row multiplexing을 사용할 경우, 최적의 Row는 9보다 큰 2의 거듭제곱인 16임을 알 수 있다.
하기의 <표 5>는 SCCC의 인터리버 크기가 512부터 8192 사이의 값이고, PN 시프트 레지스터를 랜덤 어드레스를 발생하기 위해 사용할 경우에 결정될 수 있는 파라메터를 보인다.
N Row Column
513∼1024 8 16 32 128 64 32
1025∼2048 8 16 32 256 128 64
2049∼4096 8 16 32 512 256 128
4096∼8192 8 16 32 1024 512 256
랜덤 어드레스 생성 및 0 어드레스 추가
각 행에서의 랜덤 어드레스를 생성, 즉 랜덤 인터리빙 규칙인 P(r,k)를 결정하는 대표적인 방식으로는 PN시프트레지스터(SR: Shift Register)(이하 "PNSR"이라 칭함)를 사용하거나, 선형순환방정식(linear recursive equation)을 사용하는 방식이 적용될 수 있다.
PNSR을 사용하는 경우에는, 열(Column) 값이 주어지면 그에 해당하는 프리미티브 다항식(primitive polynomial)을 선택하고, PNSR에 초기 시드(initial seed)값을 설정한다. 이때 발생되는 어드레스는 PNSR의 스테이트를 이용한다. 이와 달리, 선형순환방정식을 사용하는 경우에는, 열 값이 정해지면 초기값을 설정한 후, 반복 수학식에 의해 어드레스를 발생한다. 이러한 두 가지의 실시 예의 구체적인 설명은 후술될 것이다. 이러한 두 가지 실시 예에 있어서, P(r, k)는 일반적으로 '0' 어드레스를 발생시키지 않으므로, 이를 해결하기 위해, '0' 어드레스를 주어진 랜덤시퀀스(random sequence)에 추가하여 '0' 추가된 랜덤 시퀀스(augmented random sequence)를 사용한다. 즉, 미리 정한 시점에, 예를 들어 각 행의 첫 번째 클럭에는 반드시 0번째 해당하는 어드레스를 선택하도록 한다. 그렇게 함으로써 각 행의 모든 어드레스를 억세스(access)할 수 있다.
도 7은 본 발명에 따른 0 추가 랜덤 어드레스 생성기(0 augmented random address generator)의 구성을 보여주는 도면이다.
상기 도 7에서, 0 어드레스는 선택신호(0/1)의 값에 따라 랜덤 어드레스 생성기 710과, 0 어드레스가 선택기(멀티플렉서) 720에 의해 선택된다. 그러므로 이때 선택되어 출력되는 어드레스는 0 어드레스도 포함된 랜덤 어드레스이다. 단 도 7에서 0 선택은 전체 클럭의 한번만이 선택되어야 한다.
1. PNSR을 사용하여 랜덤 어드레스를 생성하는 방식
PNSR은 1개, 2개 또는 행의 수만큼으로 사용할 수 있다. 즉, 하나의 PNSR이 각 행들에 대한 랜덤 어드레스를 생성하도록 하거나, 2개의 PNSR이 각 행들에 대한 랜덤 어드레스를 생성하도록 하거나, 행의 수만큼의 PNSR이 각 행들에 대한 랜덤 어드레스를 생성하도록 할 수 있다.
(실시예 1). 1개의 PNSR을 전체 행의 인터리빙을 위해 사용하는 경우
1개의 PNSR을 사용하여 전체 어드레스를 발생한다. 어드레스는 PNSR의 스테이트로 얻어진다. 이러한 경우 PNSR의 한 주기가 끝난 후, 어드레스의 발생 패턴이 동일해지나, 선택될 행이 달라짐으로써 절대적 어드레스는 달라지게 된다.
예를 들어, 인터리버 크기 N = 1024의 경우에 행, 열, PNSR의 크기 및 행 멀티플렉싱 규칙은 다음과 같이 결정될 수 있다.
Row = 16 [0,1,2, …,15], Col = 64,
MPNSR= 6(프리미티브 다항식의 차수),
행 멀티플렉싱 규칙 = {0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15}
(실시예 2). 2개의 서로 다른 PNSR을 사용하는 경우
짝수 번호의 행(0,2,4,6,8,10,12,14,…)의 경우 제1PNSR PNSRe을 사용하고, 홀수 번호의 행(1,3,5,7,9,11,13,15,…)의 경우 제2PNSR PNSRo를 사용한다. 이렇게 하는 이유는 두 개의 서로 다른 특성의 PN시퀀스를 사용함으로써 랜덤 특성을 향상시키자는데 있다.
예를 들어, 인터리버 크기 N = 1024의 경우에 행, 열, PNSR의 크기 및 행 멀티플렉싱 규칙은 다음과 같이 결정될 수 있다.
Row = 16 [0,1,2, …,15], Col = 64,
MPNSRe= 6 (짝수 행의 프리미티브 다항식의 차수),
MPNSRo= 6 (홀수 행의 프리미티브 다항식의 차수),
행 멀티플렉싱 규칙 = {0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15}
(실시예 3). 각 행에 대해 서로 다른 PNSR을 사용하는 경우
(실시예 2)를 일반화한 경우로, 각 행마다 서로 다른 PNSR을 사용함으로써 랜덤 특성을 보다 향상시키기 위한 것이다. 각 행마다 독립적인 PNSR을 가지고 있으므로, (실시예 1)에 비해서는 (행의 수 - 1)개만큼 더 많은 PSNR이 사용된다. 따라서 (실시예 1)에 비해 복잡도는 다소 증가한다.
도 8은 본 발명에 따른 실시예 1,2,3 의 일반화된 형태의 구조를 보인 것이다.
상기 도 8을 참조하면, R개의 랜덤 어드레스 생성기 800∼803과, 행 멀티플렉싱 어드레스 생성기810과, 제어블록 830과, 상기 제어 블록 830의 출력 신호에 따라 하나의 랜덤 어드레스 생성기를 선택하는 선택기 820과, 그리고 선택된 랜덤 어드레스 생성기에서의 어드레스와 행 멀티플렉싱 어드레스를 조합하여 데이터의 실제 어드레스를 조합하는 블록 840으로 구성된다.
상기 도 8에 도시된 바와 같은 구성을 인터리버의 동작은 다음과 같다.
매 클럭 하나의 행 어드레스 r을 생성하고 이에 따른 f(r)을 이용해서 R개의 랜덤 어드레스 생성기들중 하나를 선택하고, 상기 선택된 생성기에서 생성된 어드레스와, r값을 조합하여 데이터의 어드레스를 출력하게 된다.
실시예 1과 4의 경우, f(r)=constant가 되며, 이 실시예에 적용되는 인터리버는 도 9a와 같이 구성된다.
실시예 2와 5의 경우, f(r)=r%2가 되며, 이 실시예에 적용되는 인터리버는 도 9b와 같이 구성된다.
실시예 3과 6의 경우, f(r)=r이 되며, 이 실시예에 적용되는 인터리버는 도 9c와 같이 구성된다.
따라서 행 선택 제어함수 f(r)의 적절한 결정에 의해 다양한 종류의 인터리빙 방식을 구현할 수 있게 된다.
2. 선형순환방정식(Linear recursive equation)을 사용하여 랜덤 어드레스를 생성하는 방식
(실시예 4). (실시예 1)과 마찬가지로 1개의 선형순환방정식만을 사용하는 경우이다. c(j) = [c(j-1)*p] % Row와 같은 선형순환방정식이 사용될 수 있다. 이때 Row와 p는 프라임 숫자들(prime numbers)이다. 여기서, c(j)는 각 행에서 매 클럭당 생성되는 어드레스를 나타내며, c(0)의 값은 변수 초기화 과정에서 설정된다.
(실시예 5). (실시예 2)와 마찬가지로 2개의 서로 다른 선형순환방정식을 사용하는 경우이다. 즉, 짝수 번호의 행과 홀수 번호의 행에 따라 다음의 두 식 중 하나가 선택적으로 사용될 수 있다. 일예로 짝수 번호의 행에 대해서는 ce(j) = [c(j-1)*p] % Row가 사용될 수 있고, 홀수 번호의 행에 대해서는 co(j) = [c(j-1)*q] % Row가 사용될 수 있다. 이때 Row, p 및 q는 프라임 숫자들(prime numbers)이다. 상기 (실시예 4)과 같이 ce(0)와 ce(0)의 값은 변수 초기화 과정에서 설정된다.
(실시예 6). (실시예 3)과 마찬가지로 각 행마다 서로 다른 선형순환방정식을 사용하는 경우이다.
상기 실시예들에서 보인 방식들은 각각의 행에서의 어드레스 생성 방식만 다를 뿐, 기본적인 개념은 동일하다. 즉 2-D SCCC 인터리빙 방식에 의한 행 멀티플렉싱을 사용하여 거리 특성을 증가시키고, 각 행에서의 어드레스를 랜덤하게 생성하여 랜덤특성을 유지하기 위한 것이다. 하기의 <표 7a> 내지 <표 9b>는 상기 실시예들에 따라 생성되는 어드레스의 일예를 보여주고 있다. 어드레스 생성의 일예를 설명함에 있어서 행 멀티플렉싱은 이미 {0,2,1,3}의 순서로 이루어진 것으로 가정한다.
(실시예 1 & 실시예 4)
[Row x Col] = [4 x 8] 이고, P(r,k) address = {3,7,6,1,4,2,5} 라고 가정한다. 먼저, 하기의 <표 7a>에 나타난 바와 같이 첫 번째 열에 있는 데이터를 읽어들인다. 즉, 각각의 행에서의 '0' 어드레스가 억세스된다. 다음에, 하기의 <표 7b>에 나타난 바와 같이 어드레스를 억세스한다. 하기의 <표 7b>에서 ( ) 밖의 숫자는 각 행에서의 상대적 어드레스를 나타내며, ( ) 안의 숫자는 어드레스 억세스 순서를 나타낸다. 따라서, 하기의 <표 7a> 및 <표 7b>는 시간인덱스(time index)로 볼 수 있다.
0(0)
0(1)
0(2)
0(3)
0(0) 1(28) 2(16) 3(4) 4(8) 5(24) 6(20) 7(12)
0(1) 1(21) 2(9) 3(25) 4(29) 5(17) 6(13) 7(5)
0(2) 1(14) 2(30) 3(18) 4(22) 5(10) 6(6) 7(26)
0(3) 1(7) 2(23) 3(11) 4(15) 5(31) 6(27) 7(19)
(실시예 2 & 실시예 5)
[Row x Col] = [4 x 8] 이고, Pe(r,k) address = {3,7,6,1,4,2,5}, Po(r,k) address = {6,7,3,1,5,2,4}라고 가정한다. 먼저, 하기의 <표 8a>에 나타난 바와 같이 첫 번째 열에 있는 데이터를 읽어들인다. 즉, 각각의 행에서의 '0' 어드레스가 억세스된다. 하기의 <표 8a> 및 <표 8b>에서 1번째, 2번째 행은 짝수번째(even) 행을, 3번째, 4번째 행은 홀수번째(odd) 행을 나타낸다. 상기 상위 두 행은 Pe(r,k)에 의해 어드레스가 억세스 되며, 하위 두 행은 Po(r,k)에 의해 어드레스가 억세스 된다. 다음에, 하기의 <표 8b>에 나타난 바와 같이 어드레스를 억세스한다. 하기의 <표 8a> 및 <표 8b>에서, ( ) 밖의 숫자는 각 행에서의 상대적 어드레스를 나타내고, ( ) 안의 숫자는 어드레스 억세스 순서를 나타낸다. 따라서, 하기의 <표 8a> 및 <표 8b>는 시간인덱스(time index)로 볼 수 있다.
0(0)
0(1)
0(2)
0(3)
0(0) 1(24) 2(28) 3(4) 4(12) 5(16) 6(8) 7(20)
0(1) 1(9) 2(13) 3(17) 4(25) 5(29) 6(21) 7(5)
0(2) 1(26) 2(30) 3(10) 4(18) 5(14) 6(6) 7(22)
0(3) 1(11) 2(15) 3(23) 4(31) 5(27) 6(19) 7(7)
(실시예 3 & 실시예 6)
[Row x Col] = [4 x 8] 이고, P(0,k) address = {3,7,6,1,4,2,5}, P(1,k) address = {6,7, 3,1,5,2,4}, P(2,k) address = {1,7,3,6,4,5,2}, P(3,k) address = {7,3,6,1,2,5,4}라고 가정한다. 먼저, 하기의 <표 9a>에 나타난 바와 같이 첫 번째 열에 있는 데이터를 읽어들인다. 즉, 각각의 행에서의 '0' 어드레스가 억세스된다. 다음에, 하기의 <표 9b>에 나타난 바와 같이 어드레스를 억세스한다. 각각의 행에는 그 행에서의 P(r,k)가 따로 존재한다. ( ) 밖의 숫자는 각 행에서의 상대적 어드레스를 나타낸다. ( ) 안의 숫자는 어드레스 억세스 순서를 나타낸다. 따라서, 따라서, 하기의 <표 9a> 및 <표 9b>는 시간인덱스(time index)로 볼 수 있다.
0(0)
0(1)
0(2)
0(3)
0(0) 1(16) 2(24) 3(4) 4(20) 5(28) 6(12) 7(8)
0(1) 1(17) 2(25) 3(13) 4(29) 5(21) 6(5) 7(9)
0(2) 1(6) 2(30) 3(14) 4(22) 5(26) 6(18) 7(10)
0(3) 1(19) 2(23) 3(11) 4(31) 5(27) 6(15) 7(7)
2-D SCCC 인터리버의 성능 비교
본 발명의 실시 예에 따라 구현된 SCCC 인터리버의 성능과 기존의 SCCC 인터리버의 성능을 비교하면 도 5a 및 도 5b에 도시된 바와 같다. 이때 5가지 SCCC 인터리버의 성능을 비교하기 위해 설정한 시뮬레이션 파라메터(simulation parameter)는 다음과 같다.
- 부호기(Encoder) : 4 State SCCC 인터리버
- 정보크기(Information size) : 640
- 부호율(Code rate) : R = 1/3 (outer code rate = 2/3, inner code rate = 1/2)
- 인터리버크기(Interleaver size) : (640 + 2)* 3/2 = 963
여기서, 2는 외부 부호기를 제로 터미네이션(zero termination)하기 위한 테일 비트(tail bit)의 수이며, 3/2는 외부 부호율(outer code rate)의 역수이다.
- 채널(Channel) : AWGN
- 복호기(Decoder) : Log MAP SISO (soft-input-soft-output) decoding algorithm
- 인터리버(Interleaver)
- 기존 : 블록 인터리버(Block interleaver)
- 기존 : 1-D PN 인터리버
- 실시예 1 : 2-D PN 인터리버 with 1 PNSR
- 실시예 2 : 2-D PN 인터리버 with 2 PNSR
- 실시예 3 : 2-D PN 인터리버 with 16 PNSR
상기 도 5a 및 도 5b는 SNR(signal-to-noise ratio)에 따른 BER/FER의 성능을 보여주는 도면으로, 기존의 블록 인터리버 및 1-D PN 인터리버와, 본 발명의 각 실시예에 따른 2-D SCCC 인터리버들간의 성능이 나타나 있다. 상기 도 5a 및 도 5b로부터 알 수 있는 바와 같이 본 발명의 각 실시예에 따른 2-D SCCC 인터리버들은 블록 인터리버나 1-D PN 인터리버에 비해 BER/FER 성능이 크게 향상됨을 알 수 있다.
먼저, 도 5a를 참조하여 BER의 관점에서 보면, 실시예 1, 2, 3의 경우 서로 비슷한 성능을 보인다. 특히 요구되는 BER의 성능이 10-5에서는 3가지 실시 예가 거의 동일한 성능을 보이고 있다. 3가지 모든 경우에 있어서, 1-D PN 인터리버와 블록 인터리버에 비해 월등히 나은 BER 성능을 보인다. 도 5b에 도시된 바와 같이, FER의 관점에서도 동일하게 나타난다. 도 5b를 참조하면, 3가지 실시 예의 성능은 거의 동일한, 1-D PN 인터리버와 블록 인터리버의 성능은 1.5dB에서 각각 10배와 100배 정도 열화를 보임을 알 수 있다.
상술한 바와 같이 본 발명은 SCCC를 오류정정부호로 사용할 경우 SCCC의 내부 인터리버의 설계에 있어서 최적의 성능과 구현상의 저복잡도를 보장하는 이점이 있다. 또한 기존의 블록인터리버나 1-D PN 인터리버에 비해 BER/FER의 성능이 크게 향상시키는 이점이 있다.

Claims (36)

  1. 미리 정해지는 인터리버 크기에 대응하여 설정된 수의 행들을 선택하는 행 선택부와,
    상기 인터리버 크기에 대응하여 설정된 수의 열을 랜덤화하기 위한 어드레스를 생성하는 어드레스 생성부와,
    상기 행 선택부와 상기 어드레스 생성부의 출력을 조합하여 조합된 결과를 부호화된 데이터열을 인터리빙하기 위한 어드레스로서 발생하는 어드레스 조합부를 포함함을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  2. 제1항에 있어서, 상기 어드레스 생성부는, 상기 모든 행들의 열을 랜덤화시키기 위한 PN시퀀스를 발생하는 하나의 PN시프트 레지스터임을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  3. 제1항에 있어서, 상기 어드레스 생성부는,
    상기 행들중 홀수번째 행들의 열을 랜덤화시키기 위한 PN시퀀스를 발생하는 제1 PN시프트 레지스터와,
    상기 행들중 짝수번째 행들의 열을 랜덤화시키기 위한 상기 PN시퀀스와 다른 특성의 PN시퀀스를 발생하는 제2 PN시프트 레지스터를 포함함을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  4. 제1항에 있어서, 상기 어드레스 생성부는, 상기 모든 행들의 열을 각각 PN랜덤화시키기 위해 서로 다른 특성의 PN시퀀스를 발생하는 다수의 PN시프트 레지스터를 포함함을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  5. 제2항 내지 제4항중의 어느 한 항에 있어서, 상기 열들의 수는 2의 거듭제곱의 수로 설정됨을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  6. 제5항에 있어서, 상기 열들의 수를 2의 거듭제곱의 수로 설정하기 위해 하나의 어드레스를 추가하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  7. 제1항에 있어서, 상기 어드레스 생성부는, 상기 모든 행들의 열을 랜덤화시키기 위해 하나의 선형순환방정식을 사용하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  8. 제1항에 있어서, 상기 어드레스 생성부는, 상기 행들중 홀수번째 행들의 열과 짝수번째 행들의 열을 각각 랜덤화시키기 위해 서로 다른 2개의 선형순환방정식을 사용하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  9. 제1항에 있어서, 상기 어드레스 생성부는, 상기 모든 행들의 열을 각각 PN랜덤화시키기 위해 서로 다른 특성의 선형순환방정식을 사용하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  10. 제7항 내지 제9항중의 어느 한 항에 있어서, 상기 열들의 수는 2의 거듭제곱의 수로 설정됨을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  11. 제10항에 있어서, 상기 열들의 수를 2의 거듭제곱의 수로 설정하기 위해 하나의 어드레스를 추가하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  12. 제1항에 있어서, 상기 행들의 수는 2의 거듭제곱으로 설정되는 것을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  13. 제12항에 있어서, 상기 행들의 수는 8, 16 또는 32임을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  14. 제1항에 있어서, 상기 행들의 수는 구성 부호기의 자유 거리보다 큰 정수로 설정되는 것을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  15. 제1항에 있어서, 상기 행들의 수는 구성 부호기의 자유 거리보다 큰 정수중에서 2의 거듭제곱에 해당하는 수로 설정되는 것을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  16. 제1항에 있어서, 상기 각 행을 나타내는 각 비트값을 비트반전시키고 그 비트반전된 값의 순서에 따라 행들을 선택하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 장치.
  17. 미리 정해지는 인터리버 크기에 대응하여 설정된 수의 행들을 선택하는 과정과,
    상기 인터리버 크기에 대응하여 설정된 수의 열을 랜덤화하기 위한 어드레스를 생성하는 과정과,
    상기 선택된 행과 상기 생성된 어드레스를 조합하여 조합된 결과를 부호화된 데이터열을 인터리빙하기 위한 어드레스로서 발생하는 과정을 포함함을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  18. 제17항에 있어서, 상기 모든 행들의 열을 하나의 PN시퀀스에 의해 랜덤화함을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  19. 제17항에 있어서, 상기 행들중 홀수번째 행들의 열을 하나의 PN시퀀스를 이용하여 랜덤화시키고, 상기 행들중 짝수번째 행들의 열을 상기 PN시퀀스와 다른 특성의 PN시퀀스를 이용하여 랜덤화시키는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  20. 제17항에 있어서, 상기 모든 행들의 열을 서로 다른 특성의 PN시퀀스를 발생하여 각각 PN랜덤화시키는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  21. 제18항 내지 제20항중의 어느 한 항에 있어서, 상기 열들의 수는 2의 거듭제곱의 수로 설정됨을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  22. 제21항에 있어서, 상기 열들의 수를 2의 거듭제곱의 수로 설정하기 위해 하나의 어드레스를 추가하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  23. 제17항에 있어서, 상기 모든 행들의 열을 하나의 선형순환방정식을 사용하는 랜덤화시키는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  24. 제17항에 있어서, 상기 행들중 홀수번째 행들의 열과 짝수번째 행들의 열을 각각 랜덤화시키기 위해 서로 다른 2개의 선형순환방정식을 사용하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  25. 제17항에 있어서, 상기 모든 행들의 열을 각각 PN랜덤화시키기 위해 서로 다른 특성의 선형순환방정식을 사용하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  26. 제23항 내지 제25항중의 어느 한 항에 있어서, 상기 열들의 수는 2의 거듭제곱의 수로 설정됨을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  27. 제26항에 있어서, 상기 열들의 수를 2의 거듭제곱의 수로 설정하기 위해 하나의 어드레스를 추가하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  28. 제17항에 있어서, 상기 행들의 수는 2의 거듭제곱으로 설정되는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  29. 제28항에 있어서, 상기 행들의 수는 8, 16 또는 32임을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  30. 제17항에 있어서, 상기 행들의 수는 구성 부호기의 자유 거리보다 큰 정수로 설정되는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  31. 제17항에 있어서, 상기 행들의 수는 구성 부호기의 자유 거리보다 큰 정수중에서 2의 거듭제곱에 해당하는 수로 설정되는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  32. 제17항에 있어서, 상기 각 행을 나타내는 각 비트값을 비트반전시키고 그 비트반전된 값의 순서에 따라 행들을 선택하는 것을 특징으로 하는 이동 통신시스템의 인터리빙 방법.
  33. 미리 정해진 크기의 입력 정보를 부호화하는 제1부호화기와,
    상기 부호화기에 의해 부호화된 제1심볼열을 인터리빙하는 인터리버와,
    상기 인터리버에 의해 인터리빙된 심볼열을 부호화하는 제2부호화기와,
    상기 인터리버가 2차원 인터리버를 포함함을 특징으로 하는 직렬쇄상 컨볼루션 부호화기.
  34. 제33항에 있어서, 상기 2차원 인터리버가 인터리빙할 크기가 N인 입력을 일정 행과 열에 매핑한후 매 클럭마다 행 선택의 룰에 의해 하나의 행을 선택하며, 선택된 행에서는 주어진 인터리빙 룰에 의해 어드레스를 하나씩 생성하고, 상기 행선택 룰은 모든 행들이 한번 선택된후 다시 행을 선택 함으로써 전체 어드레스를 생성함을 특징으로 하는 직렬쇄상 컨볼루션 부호화기. .
  35. 제33항에 있어서, 상기 행의 수는 상기 직렬쇄상 컨볼루션 부호기 전체의 자유도보다 큰 수임을 특징으로 하는 직렬쇄상 컨볼루션 부호화기.
  36. 제35항에 있어서, 상기 행의 수가 2의 거듭제곱인 경우에는 16임을 특징으로 하는 직렬쇄상 컨볼루션 부호화기.
KR10-1999-0019095A 1999-05-20 1999-05-20 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법 KR100526512B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR10-1999-0019095A KR100526512B1 (ko) 1999-05-20 1999-05-20 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
PCT/KR2000/000509 WO2000072448A1 (en) 1999-05-20 2000-05-20 Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system
BR0006138-7A BR0006138A (pt) 1999-05-20 2000-05-20 Método e aparelho de intercalação para uso em codificador de código convolucional concatenado em série em um sistema de comunicação móvel
EP00927913A EP1097517A4 (en) 1999-05-20 2000-05-20 NESTING METHOD AND DEVICE FOR SERIAL CONCATENEATED CONVOLUTIONAL CODE ENCODER IN MOBILE COMMUNICATIONS SYSTEM
AU46218/00A AU758085B2 (en) 1999-05-20 2000-05-20 Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system
CNB008009287A CN1136660C (zh) 1999-05-20 2000-05-20 串行链接卷积码编码器及其中的交错器和交错方法
CA002337161A CA2337161C (en) 1999-05-20 2000-05-20 Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system
JP2000620738A JP3359913B1 (ja) 1999-05-20 2000-05-20 移動通信システムの直列鎖状コンボルーション符号化器に使用するためのインタリーバ及びそのインタリービング方法
US09/576,374 US6323788B1 (en) 1999-05-20 2000-05-22 Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0019095A KR100526512B1 (ko) 1999-05-20 1999-05-20 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법

Publications (2)

Publication Number Publication Date
KR20000074862A true KR20000074862A (ko) 2000-12-15
KR100526512B1 KR100526512B1 (ko) 2005-11-08

Family

ID=19587943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0019095A KR100526512B1 (ko) 1999-05-20 1999-05-20 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법

Country Status (9)

Country Link
US (1) US6323788B1 (ko)
EP (1) EP1097517A4 (ko)
JP (1) JP3359913B1 (ko)
KR (1) KR100526512B1 (ko)
CN (1) CN1136660C (ko)
AU (1) AU758085B2 (ko)
BR (1) BR0006138A (ko)
CA (1) CA2337161C (ko)
WO (1) WO2000072448A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009061048A1 (en) * 2007-11-06 2009-05-14 Samsung Electronics Co., Ltd. Encoding system and method for encoding error control codes within bit streams
KR20160034031A (ko) * 2014-09-19 2016-03-29 삼성전자주식회사 반복 복호를 사용하는 비트 인터리빙 부호화 변조 방식을 지원하는 통신 시스템에서 신호 송/수신 장치 및 방법

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570927B1 (en) * 1998-09-24 2003-05-27 Lockheed Martin Corporation Method for tail-biting and decoding recursive systematic codes
US6871303B2 (en) * 1998-12-04 2005-03-22 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
US6829305B2 (en) * 1999-12-08 2004-12-07 Lg Electronics Inc. Concatenated convolutional encoder and decoder of mobile communication system
US7302621B2 (en) * 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US6789218B1 (en) * 2000-01-03 2004-09-07 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US7549107B1 (en) 2000-05-18 2009-06-16 Broadcom Corporation Interleaved reed solomon coding for home networking
US7184101B2 (en) * 2001-07-31 2007-02-27 Micronas Usa, Inc. Address generation for video processing
US6701482B2 (en) * 2001-09-20 2004-03-02 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
US6954885B2 (en) * 2001-12-14 2005-10-11 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
AU2002257504A1 (en) * 2002-05-10 2003-11-11 Linkair Communications, Inc. A method and device for inner interleave in serial concatenated convolutional code
EP1537672A1 (en) * 2002-09-09 2005-06-08 Telefonaktiebolaget LM Ericsson (publ) Speed and memory optimised interleaving
US7216282B2 (en) * 2003-02-19 2007-05-08 Harris Corporation Mobile ad-hoc network (MANET) including forward error correction (FEC), interleaving, and multi-route communication features and related methods
US6759974B1 (en) * 2003-05-20 2004-07-06 Northrop Grumman Corporation Encoder and decoder for data transfer in superconductor circuits
CN100367676C (zh) * 2004-05-27 2008-02-06 中国科学院计算技术研究所 一种卷积码的编码方法
US7437650B2 (en) * 2005-04-12 2008-10-14 Agere Systems Inc. Pre-emptive interleaver address generator for turbo decoders
JP2008160169A (ja) * 2006-11-29 2008-07-10 Mitsubishi Electric Corp 通信装置、ターボ符号器および通信方法
US7904784B2 (en) * 2007-03-14 2011-03-08 Harris Corporation Serial concatenated convolutional code decoder
US7870458B2 (en) * 2007-03-14 2011-01-11 Harris Corporation Parallel arrangement of serial concatenated convolutional code decoders with optimized organization of data for efficient use of memory resources
US8024636B2 (en) * 2007-05-04 2011-09-20 Harris Corporation Serially concatenated convolutional code decoder with a constrained permutation table
US8205132B2 (en) 2007-05-07 2012-06-19 Lingna Holdings Pte., Llc Cooperative concatenated coding for wireless systems
US7991082B2 (en) * 2007-10-31 2011-08-02 Harris Corporation Maximum a posteriori probability decoder
KR101648448B1 (ko) * 2008-04-29 2016-08-16 엘지전자 주식회사 송/수신 시스템 및 데이터 처리 방법
US7667628B2 (en) * 2008-06-23 2010-02-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Interleaver for scrambling and information word
US8429510B2 (en) * 2010-10-26 2013-04-23 Lsi Corporation Simplified parallel address-generation for interleaver
IN2012DE00954A (ko) * 2012-03-29 2015-09-11 Samsung India Electronics Pvt Ltd
KR101558172B1 (ko) * 2014-10-14 2015-10-08 숭실대학교산학협력단 오류 분산을 위한 인터리빙 방법 및 장치, 이를 수행하기 위한 기록매체
WO2018187902A1 (en) 2017-04-10 2018-10-18 Qualcomm Incorporated An efficient interleaver design for polar codes
US11586418B2 (en) * 2020-01-17 2023-02-21 Macronix International Co., Ltd. Random number generator, random number generating circuit, and random number generating method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5042033A (en) * 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
JPH06216882A (ja) * 1993-01-19 1994-08-05 Matsushita Electric Ind Co Ltd 誤り訂正送信装置及び受信装置
KR100411165B1 (ko) * 1995-02-01 2004-04-28 코닌클리케 필립스 일렉트로닉스 엔.브이. 데이터의에러방지전송방법,데이터의에러방지수신방법및데이터의전송을위한전송시스템
FR2737363B1 (fr) * 1995-07-27 1997-09-05 France Telecom Entrelacement/desentrelacement d'elements de donnees
ES2236784T3 (es) * 1997-01-31 2005-07-16 Alcatel Metodo y dispositivo para intercalar y desintercalar datos digitales y sistema de comunicacion.
KR100219842B1 (ko) * 1997-03-12 1999-09-01 서평원 이동 전화시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009061048A1 (en) * 2007-11-06 2009-05-14 Samsung Electronics Co., Ltd. Encoding system and method for encoding error control codes within bit streams
US8171382B2 (en) 2007-11-06 2012-05-01 Samsung Electronics Co., Ltd. Encoding system and method for encoding error control codes within bit streams
KR20160034031A (ko) * 2014-09-19 2016-03-29 삼성전자주식회사 반복 복호를 사용하는 비트 인터리빙 부호화 변조 방식을 지원하는 통신 시스템에서 신호 송/수신 장치 및 방법

Also Published As

Publication number Publication date
AU758085B2 (en) 2003-03-13
US6323788B1 (en) 2001-11-27
BR0006138A (pt) 2001-04-03
CA2337161C (en) 2006-02-07
KR100526512B1 (ko) 2005-11-08
CN1136660C (zh) 2004-01-28
CA2337161A1 (en) 2000-11-30
JP2003500971A (ja) 2003-01-07
EP1097517A4 (en) 2002-06-12
AU4621800A (en) 2000-12-12
EP1097517A1 (en) 2001-05-09
JP3359913B1 (ja) 2002-12-24
CN1306698A (zh) 2001-08-01
WO2000072448A1 (en) 2000-11-30

Similar Documents

Publication Publication Date Title
KR100526512B1 (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
KR100711326B1 (ko) 선형 합동 시퀀스들을 이용한 터보 코드 인터리버
US8520496B2 (en) Method and apparatus for rate matching within a communication system
EP1030455B1 (en) Interleaving method, interleaving apparatus, turbo encoding method, and turbo encoder
US8239711B2 (en) QPP interleaver/de-interleaver for turbo codes
ES2344299T3 (es) Metodo y dispositivo para codificacion de canal adaptativo.
US20130318416A1 (en) Rate Matching And Channel Interleaving For A Communications System
WO2000019618A1 (en) Interleaver using co-set partitioning
US20100031122A1 (en) Serially Concatenated Convolutional Code Decoder with a Constrained Permutation Table
US7013412B2 (en) Method for segmentally deinterleaving a data signal
US9374109B2 (en) QPP interleaver/DE-interleaver for turbo codes
KR20040037624A (ko) 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
KR19990013245A (ko) 적응형 채널 부호화 방법 및 장치
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법
JP4580421B2 (ja) 改善されたインターリービングを用いるジグザグ符号のための符号器および復号器
Encoder 3.1 Recursive Systematic Convolutional (RSC) Encoder
KR20030082699A (ko) 골든 시퀀스를 이용한 터보 내부 인터리빙 방법 및 그 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080903

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee