KR20030063376A - 연결코드 디코딩을 위한 고속 모듈, 장치 및 방법 - Google Patents
연결코드 디코딩을 위한 고속 모듈, 장치 및 방법 Download PDFInfo
- Publication number
- KR20030063376A KR20030063376A KR10-2003-7006392A KR20037006392A KR20030063376A KR 20030063376 A KR20030063376 A KR 20030063376A KR 20037006392 A KR20037006392 A KR 20037006392A KR 20030063376 A KR20030063376 A KR 20030063376A
- Authority
- KR
- South Korea
- Prior art keywords
- basic
- code
- decoding
- data
- storage means
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2963—Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6566—Implementations concerning memory access contentions
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 디코드될 데이터 샘플이 저장되는 저장수단을 이용하여 적어도 2개의 기본 코드 C1및 C2에 상응하는 연결코드의 디코딩 모듈에 있어서, 상기 기본코드 중 적어도 하나에 대한 적어도 2개의 기본 디코더를 포함하며, 상기 기본코드 중 하나와 관련된 상기 기본 디코더는 저장수단에 저장된 다른 코드 워드를 병렬로 동시에 처리하는 디코딩 모듈을 제공한다.
Description
정보(데이터, 이미지, 음성 등)의 전송은 점점 디지털 전송 기술에 의존되고 있다. 소스 인코딩에서 디지털 비트속도를 감소시키는 동시에 고성능을 유지하기 위한 많은 노력이 있어 왔다. 상기 기술들에서는 특성상 전송과 관련된 외란으로부터 향상된 비트의 보호 기술이 요구된다. 이러한 전송 시스템에서는 강력한 에러 교정 코드의 사용이 필수 불가결하다는 것이 증명되었다. 이러한 목적으로 인해 특히 "터보 코드" 기술이 제안되었다.
"터보 코드(Turbo-codes)"의 일반적인 원리는 특히 프랑스 특허번호 FR-9105280호, "Method of error correction encoding with at least two parallel systematic convolutive encoding operations" 및 참조문헌(C.Berrou, A.Glavieux, P.Thitimajshima, "Near Shannon limit error-correcting coding and decoding: Turbo-codes" IEEE International Conference on Communication, ICC'93, vol. 2/3, pages 1064-1071, May 1993)에 개시되어 있다. 이에 대한 종래의 기술은 다른 참조문헌(C.Berrou, A.Glavieuxh, "Near Optimum Error Correcting Coding and Decoding: Turbo-Codes" IEEE Transactions on Communications, Vol.44, No.10, pages 1261-1271, October 1996)에 기재되어 있다.
이러한 종래기술은 "병렬 연결(parallel concatenation)" 인코딩의 수행을 제안하고 있는데, 상기 인코딩 수행은 적어도 2개의 기본 디코더(elementary decoder)의 사용에 의존한다. 이러한 인코딩 실행은 다른 두 인코더로부터 전달되는 유용한 2개의 여분 심볼(redundancy symbols)을 생성한다. 상기 2개의 기본 디코더 사이에는, 매 시각 서로 다른 순서를 갖지만 동일한 데이터인 소스 디지털 데이터가 상기 각 기본 디코더에 인가되도록 치환수단이 수행된다.
상기 기술을 보완함으로써 "블럭 터보 코드(block turbo-codes)" 또는 BTCs로 알려진 코드를 얻을 수 있다. 이러한 보완 기술은 블럭 인코딩(연결 코드)을 위해 설계된다. 이와 같이 향상된 기술은 R.Pyndiah, A.Glaviex, A.Picart, S.Jacq, "Near optimum decoding of product code", IEEE Transactions on Communications, volume 46, No 8, pages 1003-1010, Aug 1998와, 프랑스 특허 FR-93 13858호, "Method for the Transmission of Information Bits by the Application ofConcatenated Block Codes" 및 O.Aitsab, R.Pyndiah, "Performance of Reed Solomon Block Turbo-Code", IEEE Globecom'96 Conference, Vol. 1/3, pages 121-125, London, November 1996에 기재되어 있다.
특히, 이러한 기술은 P.Elias가 도입한 곱 코드(product code)의 사용에 의존하며, 그의 논문 "Error-Free Coding", IRE Transaction on Information Theory, Vol. IT4, pages 29-27, September 1954에 기재되어 있다. 상기 곱 코드는 블럭 코드의 직렬 연결을 기반으로 한다. 상기 곱 코드는, 기본 블럭 코드 디코더가 입력단에서 비트를 수신하여 출력단에서 상기 비트를 전송하는 하드 입력(hard-input) 및 하드 출력(hard-output) 알고리즘에 따라 오랜동안 디코딩되어 오고 있다.
블럭 "터보 코드"를 디코드하기 위하여, 기본 블럭 코드 디코더가 출력단에서 비트 가능성의 함수으로서 가중치가 부여된 비트를 수신하여 출력단에서 상기 비트를 전송하는 소프트 입력(soft-input) 및 소프트 출력(soft-output) 디코딩 수단의 사용이 구현된다.
블럭 "터보 코드"는 데이터 인코딩이 작은 크기의 블럭(예를 들어, 100 비트보다 작은 블럭)에 적용되는 경우 또는 상기 코드의 효율(즉, 유용한 데이터 비트의 개수를 인코드된 데이터 비트의 개수로 나눈 값, 예를 들어, 0.95)이 높고 원하는 에러율이 낮은 경우에 특히 유용하다. 사실, 주어진 신호 대 잡음비의 함수로서 잔류 에러율(residual error rate) 측면에서 측정된 상기 코드의 실행 레벨은, 일반적으로 블럭 "터보 코드"의 경우에 매우 큰 값(9, 16, 24, 36 또는 그 이상)을 갖는 상기 코드의 최대 해밍 거리(Hamming distance)의 함수로서 변화하게 된다.
"터보 디코딩"에 관한 다른 기술은 높은 신뢰성을 요구하는 디지털 통신 시스템에 점점 유용해지고 있다. 또한, 전송율은 점차 높아지고 있다. 광 섬유에서의 전송 채널을 사용함으로써 특히 기가비트 및 심지어 테라비트 범위의 비트속도를 얻을 수 있게 되었다.
종래기술에서는, 아래 두 구조에 기반한 블럭 "터보 코드"에 대한 공지된 2 개의 서로 다른 형태가 있다.
- 모듈 구조(modular structure), 또는
- 폰 노이만 구조(Von Neumann structure)
상기 모듈 구조에서, 모듈 또는 기본 디코더는 연속적으로 구현되며, 상기 각 모듈은 반의 반복과정(half-iteration)을 수행한다. 가중 입력(weighted-input) 및 가중 출력(weighted-output) 알고리즘에서 많은 함수가 전형적으로 시퀀스에서 실행되고 주입하기 쉽기 때문에 상기 과정은 상기 알고리즘을 디코딩하는데 매우 적합하다.
상기 기술의 주요 문제점은 큰 레이턴시(high latency)를 데이터 처리에 적용시킨다는 것이다. 여기서, 상기 레이턴시는 입력단에 존재하는 한 조각(piece)의 데이터, 다음 차례에는 출력단에 존재하는 한 조각의 데이터가 위치되기 전에 상기 디코더로부터 입력되는 샘플의 개수를 말한다. 상기 레이턴시는 모듈의 개수에 따라 증가한다. 나아가, 그 회로에 필요한 공간 또한 상대적으로 크며, 역시 모듈의 개수에 따라 증가한다. 상기 레이턴시 및 상기 회로의 공간 요구 파라미터는 반복 횟수 및/또는 상기 코드 길이가 증가할 때 근본적인 결함을 갖게 된다.
폰 노이만 구조에서, 상기 회로는 상기 모든 반복에 대하여 하나의 저장 유닛 및 하나의 프로세싱 유닛을 사용함으로써 많은 횟수의 반복을 수행한다. 기본 디코딩 모듈은 자체상에서 역순환된다. 저장 표면은 반복 횟수에 독립적이기 때문에 저장 회로 표면적에서 게인이 고려될 수 있다. 그럼에도 불구하고, 상기 구조의 주요 단점은 데이터 처리율의 감소를 초래한다는 것이다.
본 발명은 전송 또는 전파되는 하나 이상의 소스 데이터 시퀀스에 해당하는 디지털 데이터의 인코딩에 관한 것으로서 특히, 여러 소스의 잡음 및 인코딩되어 전송된 데이터의 디코딩 잡음에도 불구하고 디지털 데이터를 인코딩하는 기술에 관한 것이다.
보다 상세하게는, 본 발명은 특히 "터보 코드(turbo-codes)"(등록상표)로 알려진 코드의 디코딩 기술에 관한 것으로, 특히 연결 코드(concatenated codes)의 반복적인 디코딩 기능에 관한 것이다.
도 1은 본 발명의 일 실시예에 따른 곱 코드 워드 또는 블럭 "터보 코드"를 나타내는 매트릭스의 구조도이다.
도 2는 공지의 블럭 "터보 코드"의 디코딩에 대한 블럭도이다.
도 3은 공지의 "터보 디코딩"의 반의 반복(half-iternation)을 수행하는 프로세싱 유닛의 블럭도이다.
도 4는 역시 공지의 "터보 디코딩"의 반의 반복을 수행하는 프로세싱 유닛의 블럭도이다.
도 5는 종래의 모듈 구조에서 터보 디코더 모듈의 블럭도이다.
도 6은 종래의 메모리의 구조가 드러난 모듈 주조에서 터보 디코더 모듈의 블럭도이다.
도 7은 종래의 메모리의 구조가 숨겨진 폰 노이만 구조에서 터보 디코더 모듈의 블럭도이다.
도 8은 본 발명의 제1 실시예에 따른, 디코더가 병렬로 된 높은 처리속도에 적합한 디코더의 블럭도이다.
도 9는 본 발명의 제2 실시예에 따른 메모리 컴파트먼트의 개략 단면도이다.
도 10은 본 발명의 특정 실시예의 변형예에 따른 프로세싱 유닛에 할당된 메모리 컴파트먼트의 개략 단면도이다.
도 11은 본 발명의 선택적인 특정 실시예에 따른 터보 디코더의 블럭도이다.
본 발명은 다른 관점에 따라 특히 상기한 종래기술의 단점들을 극복하기 위해 고안되었다.
보다 상세하게는, 본 발명의 목적은 처리 동작(기본 디코딩) 및 메모리에 필요한 회로의 표면적을 줄이면서 동시에, 에러율의 관점에서 고성능을 제공하는데 적합한 디코딩 모듈, 방법 및 장치를 제공하는데 있다.
본 발명의 다른 목적은 주어진 동작의 클럭 주파수 동안에 높은 처리율을 수행할 수 있는 디코딩 모듈, 방법 및 장치를 제공하는데 있다.
본 발명의 또 다른 목적은 상기와 같은 디코딩 모듈, 방법 및 장치에서 디코딩 레이턴시를 감소시키는데 있다.
상기한 목적들 및 하기에 기술되는 다른 목적들은, 디코딩되는 데이터 샘플이 저장되는 저장수단을 구현하는 형태의, 연결 코드(concatenated code)를 디코딩하는 적어도 하나의 모듈에 의해 달성된다. 여기서, 상기 모듈은 적어도 2개의 기본 코드(elementary codes)에 상응한다.
본 발명에 따르면, 상기 모듈은 상기 적어도 하나의 기본 코드에 대한 적어도 2개의 기본 디코더를 포함하며, 상기 기본 코드 중 하나와 연관된 상기 기본 디코더는 상기 저장수단에 포함된 별도의 코드 워드를 병렬로 동시에 처리한다.
따라서, 본 발명은, 모듈에서 저장수단의 개수를 2배로 하지 않고 디코더의 개수를 2배로 함으로써 디코딩에 대한 완전히 신규하고 독창적인 방법을 따른다. 이는 디코딩 회로에서의 공간의 최대 합을 차지하는 것이 메모리(예를 들어, 메모리는 상기 회로의 전체 표면적의 80%를 차지할 수 있다)이며, 종래기술의 당업자가 원래 메모리 및 디코더의 개수를 2배로 하여 처리율을 증가시키는 종래기술에 비하여 장점이 된다.
바람직하게는, 본 발명은 반복 디코더에 적용될 수 있으며, 특히 "터보 디코더"에 적용될 수 있다. 본 발명은 디코더의 다른 구조에 적용될 수 있으며, 특히 폰 노이만 구조(수신 및/또는 데이터 프로세싱 메모리 뿐만 아니라 그 프로세싱 유닛이 몇회 반복 동안 사용되어, 주어진 동작 속도동안 디코딩 속도는 제한되지만, 회로의 표면적 측면에서 경제적인 효과를 제공하는) 및 모듈 구조(수신 및/또는 데이터 프로세싱 메모리 뿐만 아니라 그 프로세싱 유닛이 반의 반복과정(half-iteraion)이 한번 실행되는 동안 사용되어, 실질적으로 디코딩 레이턴시는 유지되지만, 디코딩 속도에서 게인을 제공하는)에 적용될 수 있다. 여기서, 상기 구조들은 하기에서 더욱 상세하게 설명된다.
일반적으로, 본 발명은 상대적으로 적은 회로 표면적을 유지하면서 동시에, 디코딩 속도의 게인(이는 특히, 본 발명이 속도가 가장 큰 문제인 폰 노이만 구조에 적용되는 경우이다) 및 디코딩 레이턴시의 게인(이는 특히, 본 발명이 모듈 구조에 적용되는 경우이다)을 제공하는 중요성을 갖는다.
따라서, 본 발명은 높은 데이터 전송속도를 얻기 우해 적용될 수 있다.
본 발명의 장점에 따르면, 디코딩되는 상기 데이터를 저장하는 저장수단은, 각각의 행이 기본 코드 워드를 포함하는 n1행 및 각각의 열이 기본 코드 워드를 포함하는 n2열의 매트릭스 형태로 조직화되며, 상기 디코딩 모듈은 상기 매트릭스의 행 (및 각각 열) 중의 하나에 의해 각각이 제공되는 n1(및 각각 n2) 기본 디코더를 포함한다.
다시 말하면, 본 발명은 바람직하게는 직렬 연결 코드에 적용될 수 있다.
본 발명의 일 특징에 따르면, 상기 저장수단은, 각각의 행이 기본 코드 워드를 포함하며 k1행을 갖는 n1행 및 각각의 열이 기본 코드 워드를 포함하며 k2열을 갖는 n2열의 매트릭스 형태로 구성되며, 상기 디코딩 모듈은 상기 매트릭스의 행(및 각각 열) 중의 하나에 의해 각각이 제공되는 k1(및 각각 k2) 기본 디코더를 포함한다는 것을 주의해야 한다.
또한, 본 발명은 바람직하게는 병렬 연결 코드에 적용될 수 있다.
본 발명은 또한 사용된 코드에 상응하는 매트릭스의 행(및 각각 열)의 병렬 디코딩을 가능하게 함으로써 회로의 표면적을 상대적으로 적게 유지하면서 동시에, 디코딩 속도를 향상하거나 또는 레이턴시의 감소시킨다. 일반적으로, 상기 기본 디코더는 데이터 수신 및 프로세싱 메모리에 필요한 표면적과 비교하여 적은 회로 표면적(또는 일반적으로 적은 개수의 트랜지스터)을 요구한다.
본 발명의 바람직한 특징에 따르면, 상기 저장수단은 적어도 두 개의 기본 코드 워드에 동시 액세스 가능하도록 구성된다.
또한, 적어도 두 개의 코드 워드에 상응하는 데이터는 기본 디코딩이 수행되는 동안 병렬로 처리되어 속도측면에서 게인을 얻으며 레이턴시를 감소시킬 수 있다.
바람직하게는, 상기 저장수단은 싱글 포트 RAM형태이다.
또한, 본 발명은 별개의 두 어드레스에 저장된 데이터에 대한 액세스를 제공하지 않는 현재 메모리의 사용을 가능하게 하여, 멀티 포트 메모리(그러한 사용을 금지하지 않더라도)를 사용할 필요가 없다.
상기 저장수단은 바람직하게는 컴파트먼트(compartments)내에 구성되고, 상기 각각의 컴파트먼트는 단일 어드레스를 가지며, 기본 코드의 적어도 두 조각의 기본 데이터를 포함한다.
또한, 본 발명은 적어도 두 조각의 기본 데이터(일반적으로 가중치가 부여될 수도 안될 수도 있는 이진 데이터)를 포함하는 단일 메모리 컴파트먼트에 액세스가 가능하도록 하며, 상기 데이터는 적어도 2개의 기본 디코더에 의해 가능한 동시에 사용된다. 본 발명은, 그 내용이 독립적인 데이터에 동시 액세스를 제공하여, 상대적으로 높은 전체 디코딩 속도를 가지면서 상기 저장 회로의 동작 주파수(및 이로써 소소량)를 제한한다.
본 발명의 특징에 따르면, 상기 디코딩 모듈은 m 기본 코드 워드 및 l 기본코드 워드에 동시에 액세스할 수 있도록 하여, m>1 및 l>1이 적오도 두 개의 기본 디코더에 동시에 제공할 수 있도록 한다.
또한, 본 발명은 각 기본 코드와 관련된 기본 디코더를 제공함과 동시에, 상기 기본 코드로 재차 구분함으로써 최대의 장점을 얻을 수 있도록 한다.
본 발명의 특징에 따르면, 동시에 액세스가능한 워드는 n1행 및 n2열을 갖는 초기 매트릭스의 인접 행 및/또는 인접 열에 상응하고, 상기 각 인접 행 및/또는 열은 기본 코드 워드를 포함한다.
본 발명의 특징에 따르면, 상기 기본 코드는 동일 C 코드이다.
또한, 본 발명은 상기 기본 코드가 동일할 경우 상기 디코딩 속도 및/또는 상기 레이턴시를 최적화한다.
바람직하게는, 상기 디코딩 모듈은 적어도 두 개의 기본 디코딩 동작을 구현하도록 설계되어 있다.
제1 실시예에 따르면, 상기 연결 코드(concatenated code)는 직렬 연결 코드이다.
제2 실시예에 따르면, 상기 연결 코드는 병렬 연결 코드이다.
또한, 본 발명은 상기 연결 코드의 주요한 두 가지 타입에 동등하게 잘 적용될 수 있다.
본 발명은 또한 상기에서 기술한 적어도 두 종류의 모듈을 수행하며, 각 모듈은 기본 디코딩 동작을 수행하는 연결 코드의 디코딩 장치에 관한 것이다.
본 발명은 또한 두 개의 기본 코드에 상응하고, 동일한 저장수단에 의해 제공된 상기 기본 코드 중 적어도 하나의 기본 디코딩에 대한 적어도 2개의 동시 수행과정을 포함하는 연결 코드의 디코딩 방법에 관한 것이다.
본 발명의 특징에 따르면, 상기 디코딩 방법은, 상기 저장수단이 상기 저장수단의 주소에 단일 액세스가 적어도 두 개의 기본 코드 워드에 액세스를 제공하여 적어도 두 개의 기본 디코딩 수행과정을 동시에 제공하도록 구성된다는 것에 주의해야 한다.
특정 실시예에 따르면, 상기 디코딩 방법은 반복적으로 수행된다.
바람직하게는, 상기 처리된 데이터의 적어도 일부는 가중치가 부여된다.
또한, 본 발명은 바람직하게는 디코딩 후에 잔류 에러율의 관점에서 특히 고성능을 제공하는 "터보 코드" 환경에서 사용된다.
상기 디코딩 장치 및 방법의 장점은 디코딩 모듈의 장점과 동일하며, 따라서 이에 대해 더 구체적으로 기술하지는 않는다.
본 발명의 다른 특징 및 장점은 하기의 간단하고 제한적이지 않는 바람직한 실시예에 대한 설명 및 첨부된 도면으로부터 명백하게 드러날 것이다.
본 발명의 일반적인 원리는 일련의 연결코드(concatenated code) 디코딩 작동에 사용되는 메모리의 특정구조, 특히 상기 코드 디코딩에 의존한다.
우선, 일반적으로 일련의 연결코드가 도1에 도시된 2차원 이진 매트릭스[C]의 형태로 나타낼 수 있다는 것을 상기한다. 이 매트릭스[C]는 n1행과 n2열을 포함하며,
- 상기 이진정보샘플은 k1행과 k2열을 갖는 서브 매트릭스[M](10)으로 표시되고,
- 상기 서브매트릭스[M]의 k1행 각각은 기본코드 C2(n2, k2, δ2)로 인코딩되며(상기 여분(redundancy)은 행여분 서브매트릭스(11)로 표시됨),
- 상기 매트릭스[M]의 n2열과 행여분 각각은 기본코드 C1(n1, k1, δ1)로 인코딩된다(상기 이진정보샘플에 상응하는 여분은 열여분 서브매트릭스(12)로 표시됨; 상기 서브매트릭스(11)의 행여분에 상응하는 여분은 여분 서브매트릭스(13)의 여분으로 표시됨).
상기 코드 C1이 선형이라면, C1에 의해 형성된 (n1-k1)행은 코드 C2의 워드이며, 따라서 k1제1 행으로서 디코딩될 수 있다. 일련의 연결코드는 그 행을 따라서는 C2의 n1코드 워드에 의해 특징되며, 그 열을 따라서는 C1의 n2코드 워드에 의해 특징될 수 있다. 상기 코드 C1와 C2는 블럭코드(block codes) 또는 선형블럭코드로 사용되는 돌림형 기본코드(convolutional elementary codes)로부터 얻을 수 있다.
우선, 행을 따라 상기 각 기본코드를 디코딩하고, 이어 열을 따라 상기 각 기본코드를 디코딩함으로써, 상기 연결코드를 반복적으로 디코딩한다.
본 발명에 따르면, 비트 디코딩 속도를 향상시키기 위해,
- 상기 코드 C2의 m1(2≤m1≤n1)의 기본 디코더를 이용하여, n1행이 디코디되고(또는),
- 상기 코드 C2의 m1(2≤m1≤n1)의 기본 디코더를 이용하여, n1행이 디코디되도록,
상기 기본 디코더를 병렬화한다.
각 기본디코더는 수신 및/또는 프로세스 메모리로부터 들어오는 입력데이터를 가지며, 수신 및/또는 프로세스 메모리에 보존될 출력데이터를 제공한다. 합리적으로 진행되는 회로 클럭 속도를 유지하면서 디코딩 통과 속도(decoding throughtout rate)를 보다 향상시키기 위해, 디코더 입력 및 출력시 여러 조각의 데이터를 단일 메모리장치에서 조합한다. 이와 같이, 예를 들어, 단일 메모리장치에서 4조각의 기본 데이터(각각의 기본데이터조각은 가중되거나 그렇지 않을 수 있는 2진 데이터 조각임)를 그룹화하고, 디코더 입력시(각 출력시) 또는 메모리 출력시(각 입력시)에 상기 데이터 조각들을 디멀티플렉싱함(각각 멀티프레싱함)으로써, 메모리입력 및 출력시에 데이터 비트 속도는 주어진 회로클럭속도의 4배가 된다. 이와 같이, 디코딩 속도를 전체적으로 증가시키고(또는) 레이턴시를 감소시킬 수 있다.
본 발명은 동일한 방식으로 병렬 연결코드에 적용될 수 있다. 일반적으로 병렬 연결코드는 도1에 도시된 바와 같이 2차원인 2진 매트릭스[C]의 형태로 나타낼 수 있다. 이 매트릭스[C]는 n1행과 n2열을 포함하며,
- 상기 이진정보샘플은 k1행과 k2열을 갖는 서브 매트릭스[M](10)으로 표시되고,
- 상기 서브매트릭스[M]의 k1행 각각은 기본코드 C2(n2, k2, δ2)로 인코딩되며(상기 여분은 행여분 서브매트릭스(11)로 표시됨),
- 상기 매트릭스[M]의 n2열과 행여분 각각은 기본코드 C1(n1, k1, δ1)로 인코딩된다(상기 이진정보샘플에 상응하는 여분은 열여분 서브매트릭스(12)로 표시됨; 상기 서브매트릭스(11)의 행여분에 상응하는 여분은 여분 서브매트릭스(13)의 여분으로 표시됨).
도2에 도시된 반복과정에 따라서, 도1의 상기 매트릭스[C]에 상응하는 코드의 "터보 디코딩(turbo-decoding)"은 상기 매트릭스[C]의 모든 행과 이어 모든 열에서 가중 입력 및 가중 출력 디코딩을 실행하는데 배치된다.
처리될 데이터를 수신하는 단계(21) 후에, 소정의 횟수(Nb_Iter_Max)로,
- 상기 열의 디코딩단계(22)(반의 반복과정(one-half iteration));
- 상기 매트릭스의 재구성단계(23);
- 상기 행의 디코딩단계(24)(반의 반복과정); 및
- 상기 매트릭스의 재구성단계(25)를 수행한다.
따라서, 상기 작동은 각 반복마다 증분되는 반복횟수 i가 Nb_Iter_Max(27)보다 작은 범위에서 반복된다. 여기서, 상기 횟수 i는 미리 0으로 초기화된다(28).
이어, 상기 디코드된 데이터, 참조 Dk를 처리한다(29).
일반적으로, 반의 반복과정(22,25)에서 다른 단계로 교환된 정보는 도3에 의해 정의된다.
Rk는 그 채널로부터 수신된 정보에 일치하고, R'k는 선행된 반의 반복과정으로부터 들어온 정보에 일치하며, R'k +는 다음 반의 반복과정에 전송된 정보에 일치한다. 따라서, 각각의 반의 반복과정에 대한 출력은, 피드백 또는 수렴계수 알파로 승산된 외부정보Wk(31)와 Rk의 합(36)이다. 상기 외부정보는 상기 디코더(32)의 기여(contribution)에 일치하며, 상기 가중 출력 Fk와 그 동일 디코더의 가중입력의 차(33)를 구하여 얻을 수 있다.
타임리미트(34,35)는 상기 디코더(32)의 레이턴시를 보상하도록 설계된다.
이하, 상기 가중입력 및 가중출력 디코더가 입력으로서 Rk및 R'k(q개의 비트로 샘플됨)를 가지며 특정 레이턴시 L(디코딩알고리즘을 실행하는데 필요한 지연)을 갖는 출력시에 Rk +및 R'k +(q개의 비트로 샘플됨)를 인도하는 블럭인 경우를 고려할 것이다. 이를 프로세싱 유닛(PU: 30)이라 한다.
나아가, 상기 디코더(32)는 《터보 디코딩》작동의 최근 반의 반복과정에 사용되는 이진 결정 Dk를 제공하며, 이는 도2에 도시된 작동(29)동안에 전송된 디코드된 데이터요소와 일치한다.
도3의 블럭도로 도시된 다른 하위부분을 고려하면, R'k는 외부 정보 Wk로 대체되어 상기 프로세싱 유닛(40)의 입력-출력이 될 수 있으며, 여전히 디코더(32)의 입력으로 사용되는 R'k는 내부변수가 된다. 이러한 변형예는 도4에 도시되어 있다.
이미 언급한 바와 같이, 《터보 디코딩》회로를 위한 2가지 가능한 구조(일 구조는 모듈러이며, 다른 구조는 폰노이만머신으로 알려진 머신과 유사한 구조임)가 식별되도록《터보 디코딩》알고리즘의 기능적 분석이 사용되어 있다. 이하, 상기 2가지 구조를 보다 상세하게 설명한다.
a) 모듈 구조(modular structure)
상기 알고리즘의 작동방법으로부터, 각 서브 회로가 반의 디코딩 반복과정(즉, 데이터[R] 및 [W] 또는 [R']의 향과 열의 디코딩)을 실행하는 《터보 디코딩》에 적합하게 모듈구조를 고안할 수 있다. [R]과 [W](또는 선택된 프로세싱 유닛(30 또는 40)의 블럭도에 따라서 [R']일 수 있음)을 기록하는 것이 요구된다.
이어, 완전회로는 도5에 도시된 캐스케이드식 동일 모듈(cascaded identical modules)로 구성된다. 예를 들어, 4회 반복하는 동안에, 상기 회로는 8개의 모듈 또는 8개의 기본 디코더를 이용한다.
모듈 구조을 구비하면, 상기 데이터는 순차적으로(샘플 순서대로) 처리된다. 이러한 처리과정은 그 알고리즘의 많은 기능이 전통적으로 시퀀스로 실행되어 간단히 임플란트(implant)되므로 가중 입력 및 가중 출력에 매우 적합하다.
각각의 모듈은 (n1n2+L)의 레이턴시를 도입한다. 상기 레이턴시는 입력에 존재하는 일 데이터가 차례로 출력에 배치되기 전에 상기 디코더로부터 나오는 샘플의 수이다. 이와 같은 표현에서, 상기 제1 n1n2샘플들은 데이터 매트릭스의 필링(filling)에 상응하며, 그 다음 샘플의 L은 상기 매트릭스의 행(또는 열)의 정확한 디코딩에 상응한다.
b) 폰 노이만 구조
제2 구조는 폰 노이만 순차 머신과 유사할 수 있다. 하나의 프로세싱 유닛과 그와 동일한 프로세싱 유닛을 이용하여 여러 반복과정을 실행한다. 앞선 해법과 비교하여, 본 실시형태는《터보 디코딩》의 공간요구를 감소시키는 것을 주요 목적으로 하며, 나아가, 실행되는 반복과정의 수와 무관하게 상기 회로에서 도입된 전체 레이턴시를 최대 2n1n2샘플(매트릭스를 채우는 n1n2와디코딩을 위한 추가적인 샘플 n1n2)로 제한한다는 잇점이 있다.
각 샘플을 순차적으로 처리하고, 실행될 반의 반복과정의 횟수와 데이터통과속도의 곱의 역수를 초과하지 않는 시간 내에 디코딩되어야 한다. 이와 같이, 4회 반복하는 동안에, 상기 데이터 통과속도(data throughout rate)는 데이터 처리속도(data processing rate)보다 적어도 8배 작을 수 있다. 이는 상기 모듈구조와 폰노이만구조 사이에서 최대 데이터 통과속도가 적어도 사용된 반의 반복과정의 수에 일치하는 인수로 나눠질 수 있다는 것을 의미한다. 상기 레이턴시는 폰노이만구조(it이 반의 반복과정의 횟수인 경우에, 다른데서 (n1n2+L)ㆍit에 비해 최대값이 2n1n2샘플임)에 비해 낮지만, 상기 데이터통과속도는 동일한 데이터 처리속도에 비해 낮다.
상기 회로에 통합될 수 있는 반복과정의 최대수는 사용되는 기술에서 허용되는 동작의 최대주파수와 그로부터 얻어지는 비트속도에 의해 한정된다.
이하, 이러한 2가지 구조와 관련하여 상기 메모리에 대해 설명하기로 한다. 어떤 경우에는, 회로의 공간요구는 사용되는 메모리의 수와 크기가 초과할 때에 제기된다. 일반적으로 선택되는 구조와는 별개로, 반의 반복과정이 진행되는 동안에 매트릭스[R]과 [W](또는 [R'])를 기록하는 것을 반드시 요구된다(반의 반복과정은 데이터 매트릭스의 행 또는 열의 디코딩과정임). 상기 데이터의 행, 이어 열을 처리하는 과정은 그 데이터를 수신하는 제1 메모리와 그 데이터를 처리하는 제2 메모리를 제공하는 것이 요구된다. 이러한 2가지 메모리는 그 시퀀싱을 자동 관리하기 위해, 교대로 기록 및 판독 모드로 작동한다. 각각의 메모리는 매트릭스로 구성되며, 코드를 길이 n1n2로 하고 데이터를 q개의 비트로 수량화하는 경우에 각각 qㆍn1n2개의 비트로 된 메모리 어레이로 형성된다.
a) 모듈구조
모듈 구조의 경우에는, 반의 반복과정에 대한 상기 회로의 일반적 구성은 도5와 도6에 도시되어 있다.
도5에 도시된 모듈(50)은 프로세싱 유닛(40: 도4에서도 동일하게 도시됨)과,4개의 메모리, 즉
- 데이터[R]을 포함한 저장 메모리(51);
- 데이터[R]을 포함한 프로세싱 메모리(52);
- 데이터[W](또는, 상기 프로세싱 장치에 따라 [R']일 수 있음)을 포함한 저장 메모리(53); 및
- 데이터[R](또는 [R'])을 포함한 프로세싱 메모리(54)를 포함한다.
저장모듈(50)에 도달한 q개 비트로 인코드된 데이터[R](571)(및 [W]572의 각각)은 기록모드로 작동하는 수신메모리(51)(및 53 각각)의 행을 따라 배열되며, 이어 메모리(51)(및 53각각)의 입력시에 로직 스위치(551)(및 553각각)(예를 들어 기록작업 동안에 메모리(51)(및 53 각각)을 선택할 수 있는 어드레싱 비트의 형태로 구현됨)는 폐쇄되고, 메모리(52)(및 54 각각)의 입력시에 스위치(561)(및, 563각각)은 개방된다. 상기 제1 모듈의 입력시에 상기 데이터[R]은 다음 모듈 각각의 그 데이터[R]이 이전 모듈의 출력[R](591)로부터 나오는 동안에 전송채널로부터 직접 나온다. 상기 제1 모듈의 입력시에 상기 데이터[W]는 다음 모듈 각각의 그 데이터[W]가 이전 모듈의 출력[W](591)로부터 나오는 동안에 0이 된다.
이와 병렬로, 앞서 수신된 매트릭스의 데이터는 자체적으로 판독모드로 작동하는 프로세싱 메모리(52,54)의 열을 따라 선택되고, 이어 메모리(52)(및 54각각)의 출력시에 로직 스위치(561)(및 554각각)(예를 들어 판독작업 동안에메모리(52)(및 54 각각)을 선택할 수 있는 어드레싱 비트의 형태로 구현됨)는 폐쇄되고, 메모리(51)(및 53 각각)의 출력시에 스위치(562)(및, 564각각)은 개방된다.
상기 수신 메모리가 가득차면, 상기 프로세싱 메모리는 다음 코드 워드에 상응하는 데이터를 저장하기 위해 기록모드로 변환된다(즉, 상기 메모리(51)(및 53 각각)의 역할과 상기 메모리(52)(및 54각각)의 역할이 바뀌고, 상기 로직 스위치(551,552,561과 562)(및, 553,554,563과 564각각)의 위치가 변경된다). 2개의 모듈, 즉 인코드된 매트릭스의 열을 디코딩하기 위한 모듈과 그 행을 디코딩하기 위한 모듈을 캐스케이딩(cascading)함으로써, 완전한 반복이 실행된다.
상기 사용되는 메모리(51,52,53 및 54)는 통상적인 행-어드레스서블(row-addressable) 및 열-어드레서블 램(column-addressable Random Access Memory), 싱글 포트 램로 어려움없이 설계될 수 있다. 다른 방법(예를 들어, 시프트 레지스터(shift register)를 이용하는 방법)도 고려할 수 있으나 보다 많은 공간을 점하게 된다.
도6에 도시된 모듈(60)은 반의 반복 디코딩과정을 실행하는 것을 가능하게 하며, 프로세싱 유닛(40)과 2개의 메모리, 즉
- 상기 데이터 [R] 및 [W](또는 상기 프로세싱 유닛이 도3에 도시된 장치(30)라면 [R'])를 포함한 저장 또는 수신 메모리(60)(또는 상기 프로세싱 유닛이 도3에 도시된 장치(30)라면 [R']); 및
- 상기 데이터 [R] 및 [W](또는 [R']임)를 포함한 프로세싱 유닛(63)을 포함한다.
싱기 디코딩모듈에 도달한 2ㆍq개 비트로 인코드된 데이터(61)은 기록모드로 작동하는 수신메모리(62)의 행을 따라서 순차적으로 배열된다. 이와 병렬로, 이전에 수신된 매트릭스의 데이터는 자체적으로 판독모드로 작동하는 프로세싱 메모리(62)의 열을 따라 선택된다. 상기 수신 메모리(62)가 가득차면, 상기 프로세싱 메모리는 다음 코드 워드에 상응하는 데이터를 저장하기 위해 기록모드로 변환된다. 인코드된 매트릭스의 열을 디코딩하기 위한 모듈과 그 행을 디코딩하기 위한 모듈을 캐스케이딩(cascading)함으로써, 완전한 반복이 실행된다.
상기 사용되는 메모리(51,52,53 및 54)는 통상적인 행-어드레스서블 및 열-어드레서블 램과 싱글 포트 램로 어려움없이 설계될 수 있다. 다른 방법(예를 들어, 시프트 레지스터를 이용하는 방법)도 고려할 수 있으나, 보다 많은 공간을 점하게 된다.
실용적인 관점에서, 상기 모듈 방안은 높은 작동주파수가 가능하고 사용시에 매우 유연성이 있다는 잇점이 있다. 현재 상용화되는 바로는, 여러 모듈의 케스케이드 연결은 레이턴시와 회로로 점유되는 공간의 양을 증가시킨다. 이러한 파라미터로 인해 반복의 수 및/또는 코드의 길이가 증가될 때에는 필연적인 결함이 발생한다.
b) 폰 노이만 구조
도7의 회로는 4개의 저장 유닛(70, 71, 72, 73)을 사용하여 여러반복(iteration)을 수행하는 회로이다. 디코딩 모듈은 자체에서 루우프 백(loop-back)된다. 이 구조에서는, 전체 회로는 수행되는 반복과정의 수에 상관없이 4개의 저장 유닛(70, 71, 72, 73)만을 갖는다. 그러나, 이 저장 유닛(70, 71, 72, 73)은 열 및 행으로 판독 및 기록가능하여야 한다.
저장 유닛(70, 71, 72, 73)은 어드레스에 의해서 식별되는 데이터를 판독 및 기록할 수 있는 클래식한 싱글-포트 RAM이다. 각각의 샘플이 직접적으로 엑세스되기 때문에, 매트릭스는 그것의 열 또는 행을 따라서 디코드될 수 있다. 저장 유닛은 모듈 해법(modular solution)에 대해서 선택된 것과 유사하다. 그러나, 전체 회로가 단지 4개의 저장 유닛만을 갖기때문에, 표면적에서의 게인은 상당하다. (4개의 반복에 대해서 80%). 그러나, 회로의 동작 속도가 동일하고 데이터 처리 속도가 감소되면서(it/2 반복 동안에 적어도 it에 의해서 분할됨: 이러한 레이턴시(latency) 계산에서, 각각의 기본 디코딩을 고려하는 것이 요구된다) 표 면적이 감소된다.
q비트로 인코드되는 데이터 [R] (76 및 [W] 75 각각)은 기록모드에서 동작하는 수신 메모리(70 및 72 각각)의 열을 따라서 순서대로 배열되고, 논리 라우터 (771및 781각각)은 메모리 (70 및 72 각각)(예를들어, 기록 동작시에 메모리 (70 및 72 각각)을 향하여 데이터를 라우팅한다. 입력의 데이터 [R] (76)은 전송 채널로 부터 직접 입력된다. 입력의 데이터[W]는 첫번째 반의 반복과정 동안에 0이고, 후속하는 반의 반복과정의 각각의 데이터[W]는 선행하는 반의 반복과정의출력[W](75)로부터 출력된다.
병렬로, 이미 수신된 데이터[R]는, 판독 모드에서 동작하는 프로세싱 메모리(71)의 행을 따라서 선택된다. 메모리(71 및 70)(예를들어, 어드레싱 비트의 형태로 구현됨)의 출력의 논리 라우터(772)는 판독 동작 동안에 메모리의 선택을 가능하게 한다. 병렬로, 선행된 반의 반복과정으로부터의 데이터[W]는, 판독 모드에서 동작하는 프로세서 메모리(73)의 행을 따라서 선택된다. 메모리(72 및 73)의 메모리의 출력은 판독 동작 동안에 메모리(72)의 선택을 가능하게 한다.
일단, [W]의 수신 메모리가 가득차면(즉, 데이터가 연속적으로 전송되는 것으로 가정하면 블록의 터보-디코딩의 각각의 동작의 끝에서), 프로세싱 및 수신 메모리의 역할은 서로 변경된다: 즉, [W]의 프로세싱 메모리는 기록 모드로 되고 수신 메모리가 된다 (달리 말하면, 논리 라우터(781및 782)가 '위치를 변경'하고 후속하는 코드 워드에 해당하는 데이터를 저장하고, [W]의 수신 메모리는 판독 모드로 되고 프로세싱 메모리가 된다.
일단 [R]의 수신 메모리가 가득차면(즉, 데이터가 연속적으로 전송되는 것으로 가정하면 블록의 터보-디코딩의 각각의 동작의 끝에서), [R]의 프로세싱 및 수신 메모리역할은 상호 변경된다: [R]의 프로세싱 메모리는 기록 모드로 되고, 수신 메모리가 된다 (달리 말하면, 논리 라우터(771및 772)가 '위치를 변경'하고 후속하는 코드 워드에 해당하는 데이터를 저장하고, [W]의 수신 메모리는 판독 모드로 되고 프로세싱 메모리가 된다.
일 변형예로서, 데이터가 패킷 모드(또는 버스트 모드)로 전송되고, 또한, 각각의 패킷이 한번만 디코드되는 것으로 가정하면, 디코딩은 새로운 패킷이 도착하기 전에 종료한다. 폰 노이만 구조에 있어서는 그 데이터에 대해서 2개의 프로세싱 및 수신 메모리를 각각 갖는 것이 필요하지 않다.
사용된 메모리(70, 71, 72, 및 73)는 통상적이고, 열-어드레스서블 또한 행-어드레스서블, 싱글-포트 RAMs로부터 용이하게 디자인될 수 있다. 다른 구현(예를들어, 시프트 레지스터를 이용한 방법)도 가능하나, 그 경우 더 많은 공간이 소요된다. 데이터 버스에서 교환되는 데이터는, 도 7에 도시된 바와 같이, q 비트로 인코드된다.
도5, 6 및 7에 설명되는 실시예의 변형예로서, 도 3에 도시된 프로세싱 유닛(30)은 프로세싱 유닛(40)을 대신한다. [W]형태의 데이터는 메모리의 [R']형태의 데이터에 의해서 교체된다.
종래의 기술에 의하면, 높은 처리속도 구조는 도6 또는 7에 설명된 여러개의 모듈를 증대되어야 한다.
본 발명은 연결 코드의 '터보-디코더'의 높은 처리속도 구조에 특별히 적합한 신규한 해결수단을 제시한다.
연결 코드는 초기 매트릭스 C의 모든 열(또는 행)에 코드 워드를 갖는 특성을 갖는다.
본 발명에 따르면, 디코딩은, 모듈(80)은 캐스케이드(cascade)되어 모듈 터보-디코딩 구조를 형성하는, 반의 반복과정을 수행할 수 있는 모듈(80)을 설명하는, 도 8에 기재된 원칙에 따라서 병렬화된다. 매트릭스(81)(데이터[R] 및 [W]을 포함하는 2q 비트의 n1·n2샘플의 프로세싱 메모리 어레이)는 복수개의 기본 디코더(821에서 82m)(또는 도3 및 4를 참조하여 설명된 프로세싱 유닛(30) 또는 (40))을 제공한다.
실제로, 복수개의 코드 C1(또는 C2) 의 기본 디코드는 m 개의 기본 디코더 (821에서 82m)로 증대되었다. 따라서, 판독 또는 기록 메모리 엑세스 동작이 상이한 순간에 발생한다고 가정하면, 최대수의 n1(또는 n2) 코드 워드를 처리하는 것이 가능하다. ('멀티 포트 RAM이 사용되지 않는 경우에는 여러개의 매트릭스 메모리 셀을 동시에 판독하는 것이 가능하지 않다.) 이러한 제약이 만족되면, 주어진 특정 시간에서 처리되는 n2(또는 n1)샘플이 있기 때문에, F처리속도/FPUmax(F처리속도는 터보 디코더의 출력에서 유용한 처리속도이고, FPUmax는 프로세싱 유닛의 동작속도를 나타낸다)에서 하나의 팩터 n2(또는 n1)을 구하는 것이 가능하다.
매트릭스(83)(2q 비트의 n1·n2샘플의 수신 메모리 어레이)는 이전 모듈(80)의 복수개의 기본 디코더(821에서 82m)에 의해서 제공된다.
제 1 모듈에서, 데이터[R]은, 데이터[W]이 0인 시간에 채널로부터 직접 출력된다(또는, 변형예로서, 본 발명은 제 1 모듈의 기본 디코더의 입력에서, 데이터 [R]에 해당하는 반의 버스(hflf-bus) 만을 사용함).
각각의 반의 반복과정에서, 메모리(81, 83)의 각각의 역할은 서로 교환되고, 이 메모리는 프로세싱 메모리 또는 수신 메모리로 교체된다.
데이터는 수신 메모리 어레이의 행을 따라서 기록되고, 반면에 그 데이터는 프로세싱 메모리 어레이에서 열을 따라서 판독된다. 따라서, 바람직하게는, 인터리빙(interleaving) 및 디-인터리빙(de-interleaving) 수단이 얻어진다. 이러한 수단은 모듈을 캐스케이딩식으로 배열하고, 모듈의 기본 디코더의 출력은 후속하는 모듈의 수신 메모리 어레이에 결합되어 용이하게 구현된다(만약, 터보-코더의 인터리버가 일정하다면, 예를들어, 인터리버에서, 데이터는 열에서 열로 기록되고, 행에서 행으로 판독됨).
본 발명의 구조의 주요 단점은, 메모리(81 및 83)는, m 개의 기본 디코더를 병렬로 갖는다면, 주파수 m FPUmax에서 반드시 동작하여야 한다는 것이다.
모듈 구조의 제1 변형예에 따르면, 매트릭스 (81)은 q 비트의 n1·n2샘플의 두 개의 프로세싱 메모리 어레이로 분할되고, 두 개의 어레이는 데이터 [R] 또는 [W](또는 프로세싱 유닛의 타입에 따르면 [R']). 또한, 매트릭스(83)은 데이터 [R] 또는 [W]을 각각 포함하는 q 비트의 n1·n2샘플의 2개 수신 메모리 어레이로 분할된다.
하나의 변형예로서, 《터보-디코더》는 폰 노이만 구조에 따라서 제작된다. 이러한 변형예에 따르면, 프로세싱 메모리 어레이는 데이터 [R]에 연관된 프로세싱 메모리 어레이 및 데이터 [W](또는 프로세싱 유닛의 실시예에 따르면 [R'])에 연관된 프로세싱 메모리 어레이로 분할된다.
유사하게, 프로세싱 메모리 어레이는 데이터 [R]에 연관된 수신 메모리 어레이 및 데이터 [W]에 연관된 수신 메모리 어레이로 분할된다. 도7에 설명된 구조와 같이, 데이터[R] 프로세싱 및 수신 메모리의 역할은 각각의 반의-반복과정에서 상호 교환되고, 데이터[W] 프로세싱 및 접수 메모리의 역할은 각각의 블록 터보-디코딩 동작에서 상호 교환된다. 그러나, 본 발명에 따르면, 폰 노이만 구조에 의하면, 데이터[R] 및 [W] 프로세싱 메모리는 m 개의 기본 디코더를 제공하고, 이러한 디코더의 출력 [W]은 데이터 [W]의 수신 메모리에 루우프 백된다.
본 발명의 다른 실시예에 따르면, 데이터가 패킷 모드(또는 버스트 모드)로 전송되면, 또는 각각의 패킷이 단지 하나의 동작으로 디코드되어야 한다면, 디코딩은 새로운 패킷이 도착하기 전에 완료되고, 2개의 프로세싱 및 수신 메모리 각각을 데이터 [R]에 대해서 갖을 필요가 없고, 단지 하나의 메모리가 있으면 충분하다.
본 발명의 유용한 한 측면에 의하면, 도10에 설명된 원칙에 따르면 동일한 어드레스에서 여러개의 데이터를 저장하면서, 메모리의 동작 속도를 유지하고 처리 속도를 증가시키는 것이 가능하다. 그러나, 이러한 데이터를 열뿐만 아니라 행으로 사용할 수 있는 것이 필요하다. 이 결과 다음의 구성을 갖게 된다: 이 어드레스는 열 및 행으로 판독 (또는 기록)에 있어서 인접 데이터를 갖는다.
도 9에 도시된 바와 같이, 초기 매트릭스(90)의 두 개의 인접 열 i 및 i+1 및 두 개의 인접 행 j 및 j+1 을 고려하자.
4개의 샘플 (i,j),(i,j+1),(i+1, j) 및 (i+1, j+1)은 도 10에 도시된 바와같이, 4배 적은 어드레스(I,J), 하지만, 4배 많은 워드를 갖는, 새로운 매트릭스(100)의 워드(105)를 구성한다.n 1 및n 2 가 짝수 패리티 값을 갖는 경우에,
1 ≤I ≤n1/2 이면, i=2*I-1
유사하게, 1 ≤J ≤n2/2 이면, j=2*J-1
를 각각 포함한다.
상기 행 디코딩과정에서, 상기 샘플(i,j),(i,j+1)(101)은 프로세싱 유닛(PU1)에 할당되고, 상기 샘플(i+1,j),(i+1,j+1)(102)은 프로세싱 유닛(PU2)에 할당된다. 상기 열 디코딩과정에서, 상기 샘플(i,j),(i+1,j)(103)은 프로세싱 유닛(PU1)에 할당되고, 상기 샘플(i,j+1),(i+1,j+1)(102)은 프로세싱 유닛(PU2)에 할당된다. 상기 프로세싱 유닛이 동일한 시간 1/FPUmax에 입력(RAM의 판독)과 출력(RAM의 기록)시에 이 쌍의 샘플을 처리할 수 있다면, 상기 매트릭스의 처리시간은 초기 매트릭스(도10)에 대한 처리시간보다 4배 증가한다.
도10의 과정은 단지 예시적으로 메모리를 4부분으로 《세분화(subdivision)》하는 것을 나타낸다.
이러한 사항을 일반화하기 위해서, 새로운 매트릭스(100)의 워드(105)가 행의 m개 샘플과 열의 l개 샘플을 포함한다면, 상기 매트릭스의 처리시간은 "행"디코딩의 m개 프로세싱 유닛과 "열"디코딩의 l개 프로세싱 유닛만으로 할 때보다 mㆍl 배가 빨라진다.
코드C1및 C2가 동일하면, 도11에 도시된 봐아 같이 상기 《행》PU들과 《열》PU들도 역시 동일하다. 다음으로, m=l이며, m개의 프로세싱 유닛(1121내지 112m)(예를 들어, 도3 및 도4에 도시된 프로세싱 유닛 30과 40)이 필요하다. 디멀티플렉서(114)는 상기 매트릭스의 데이터(2qㆍm2의 nln2/m2워드를 갖는 프로세싱 메모리 유닛)를 m개의 기본 프로세싱 유닛(PU)(1121내지 112m)으로 전송하여, 각각의 프로세싱 유닛은 동시에 2qm 비트 샘플을 수신한다.
멀티플렉서(115)는 상기 기본 디코더(1121내지 112m)에 의해 2qm개 비트의 샘플을 제공받는다. 이어, 상기 멀티플렉서(115)는 2qm2개 비트의 샘플을 다음 반의 반복과정에 상응하는 모듈의 수신메모리 어레이(13)에 제공한다.
이러한 데이터 매트릭스의 구성은 특정 메모리구조 또는 높은 속도를 요구하지 않는다. 나아가, PU의 복잡성은 선행 PU의 m배 복잡성보다 작다면, 그 전체 복잡성은 m2배 빠른 속도에 대해서 보다 작을 수 있다. 이 결과는 도8에 제안된 바와 같이, m2개의 PU를 이용함으로써 얻을 수 있다.
상기 메모리는 초기 매트릭스 C보다 m2배 적은 워드를 갖는다. 따라서, 동일한 방식인 경우에, 그 액세스시간은 짧아질 수 있다.
따라서, 본 발명은 보다 높은 처리속도로 작동하는, 연결코드의 디코딩을 위한 구조를 제공한다. 이러한 코드는 돌림형 코드 도는 선형 블럭 코드로부터 얻을 수 있다. 본 발명은 필수적으로 디코딩 속도를 가속화시키기 위해 메모리 C의 초기구성을 개조한다. 1/FPUmax시간동안에, m개의 샘플을 m개의 기본디코더 각각에서 처리한다. 이로써 처리속도측면에서 m2의 게인을 얻을 수 있다. 만약 m개의 샘플의 처리과정이 기본 디코더의 표면적을 상당히 증가시키지 않으면, 이러한 해결방안을 m2개의 디코더가 요구되는 방안과 비교할 때에 표면적의 게인은 m에 가까워진다.
변형예에 따르면, 상기 디멀티플렉서(114)는 메모리 어레이(111)로부터 수신된 2qㆍm2개 비트의 샘플 각각을 디멀티플렉싱하며, 이들을 2q개 비트의 m개 샘플을 갖는 m개 시퀀스를 얻기 위하여 차례로 나열한다. 상기 시퀀스 각각은 기본 프로세싱 유닛(1121내지 112m) 중 하나로 전송된다. 이어, 상기 프로세싱 유닛(1121내지 112m) 각각은 상기 멀티플렉서(115)에 2q개 비트의 샘플로 된 시퀀스를 제공한다. 상기 멀티플렉서는 상기 프로세싱 유닛(1121내지 112m)으로부터 동시에 나온 m개의 시퀀스를 처리하여 2qㆍm2개 비트의 샘플을 그 다음 반의 반복과정에 상응하는 모듈의 수신 메모리 어레이(113)에 공급한다. 본 실시형태는 동일한 클럭속도에 대해 각 모듈에서 하나의 메모리 유닛만을 갖는 종래 기술로 얻어진 속도보다 m배 빠른 디코딩속도를 제공한다.
도11을 참조하여 설명된 실시형태에 따르면, 상기 메모리 어레이(111,113)가2qㆍm2개 비트로 인코딩된 데이터를 갖는다면, 상기 수신 및 프로세싱 메모리의 워드 수는 작아지고, 그 메모리에 대한 액세스시간은 감소된다.
물론, 본 발명은 상술된 예시적인 실시형태에 한정되지 않는다. 특히, 당업자는 사용되는 메모리형태를 개선한 소정의 변형형태를 제공할 수 잇다. 예를 들어, 상기 변형형태는 싱글포트 램이 아니라, 멀티 포트 램을 사용할 수 있다. 나아가, 본 발명은 상기 데이터를 패킷(또는 버스트)모드로 또는 연속적으로 전송하는 경우에도 훌륭하게 적용할 수 있다. 또한, 본 발명은 직렬 또는 병렬 연결코드에 관한 것이다. 본 발명의 코드는 연결코드 또는 블럭코드형태일 수 있다.
본 발명은 2개의 연결코드로 형성된 코드뿐만 아니라, 2개 이상의 연결코드로 형성된 연결코드에 관한 것이다.
일반적으로, 본 발명은 블럭코드여부와 관계없이 정보시퀀스(연속여부와 관계없음)로 작용하는 기본코드에 의해 형성된 모든 "터보 코드"에 관한 것이며, 상기 적어도 하나의 기본코드 워드는 적어도 2개의 코드워드에 의해 구성된다.
Claims (15)
- 디코드될 데이터 샘플이 저장되는 저장수단을 구현하는 형태를 갖는, 적어도 2 개의 기본 코드에 상응하는 연결 코드를 디코딩하기 위한 모듈에 있어서,상기 기본 코드 중 적어도 하나에 대한 적어도 2개의 기본 디코더(821내지 82m, 1121내지 112m)를 포함하고, 상기 기본 코드 중 하나에 관련된 기본 디코더(821내지 82m, 1121내지 112m)는 상기 저장수단(81,83,90,111,113)에 포함된 다른 코드 워드의 프로세싱을 병렬로 동시에 수행하며,상기 저장수단(81,83,90,111,113)은 컴파트먼트(105)내에 구성되고, 각각 단일 어드레스를 가지며 하나의 기본 코드 워드에 해당하는 적어도 두 조각(piece)의 기본 코드(101,102,103,104)를 포함하는 것을 특징으로 하는 디코딩 모듈.
- 제1항에 있어서, 상기 디코드될 데이터를 저장하는 상기 저장수단은, 각각의 행이 상기 기본 코드의 코드 워드를 포함하는 n1행 및 각각의 열이 상기 기본 코드의 코드 워드를 포함하는 n2열로 이루어진 매트릭스 형태로 구성되고,상기 디코딩 모듈은 그 각각이 상기 매트릭스(10)의 상기 행 중 하나(와 상기 열 중 하나 각각)에 의해 제공된 n1기본디코더(및 n2기본디코더 각각)(821내지 82m, 1121내지 112m)를 포함하는 것을 특징으로 하는 디코딩 모듈.
- 제1항에 있어서, 상기 데이터를 저장하는 상기 저장수단은, 각각의 행이 상기 기본 코드의 코드 워드를 포함하며 k1행을 갖는 n1행와 각각의 열이 상기 기본 코드의 코드 워드를 포함하며 k2열을 갖는 n2열의 매트릭스 형태로 구성되고,상기 디코딩 모듈은 그 각각이 상기 매트릭스(10)의 상기 행 중 하나(와 상기 열 중 하나 각각)에 의해 제공된 n1기본디코더(및 n2기본디코더 각각)(821내지 82m, 1121내지 112m)를 포함하는 것을 특징으로 하는 디코딩 모듈.
- 제1항 내지 제3항 중 어느 항에 있어서,상기 저장수단(81,83,90,111,113)은 적어도 2개의 기본 코드 워드에 동시 액세스가 가능하도록 구성된 것을 특징으로 하는 디코딩 모듈.
- 제4항에 있어서,상기 저장수단(81,83,90,111,113)은 싱글 포트 RAM형태인 것을 특징으로 하는 디코딩 모듈.
- 제4항 및 제5항 중 어느 항에 있어서,각각 단일 어드레스를 처리하는 상기 저장수단(81,83,90,111,113)의 상기 각 컴파트먼트(105)는,- 상기 제2항 또는 제3항의 상기 행에 따른 m 기본 디코더 및/또는- 상기 제2항 또는 제3항의 상기 열에 따른 l 기본 디코더가 되도록 동시에 제공할 수 있는 mㆍl 기본 데이터(101,102,103,104)를 포함하며, 여기서 m과 l은 1보다 큰 정수인 것을 특징으로 하는 디코딩 모듈.
- 제4항 내지 제6항 중 어느 항에 있어서,상기 동시 액세스가 가능한 워드는 n1행 및 n2열을 갖는 초기 매트릭스(10)의 인접 행 및/또는 인접 열에 상응하고, 상기 각각의 인접 행 및/또는 열은 기본 코드 워드를 포함하는 것을 특징으로 하는 디코딩 모듈.
- 제1항 내지 제7항 중 어느 항에 있어서,상기 기본 코드는 동일한 C 코드인 것을 특징으로 하는 디코딩 모듈.
- 제1항 내지 제8항 중 어느 항에 있어서,적어도 2개의 기본 디코딩 동작을 수행하는 것을 특징으로 하는 디코딩 모듈.
- 제1항 내지 제9항 중 어느 항에 있어서,상기 연결 코드는 직렬 연결 코드인 것을 특징으로 하는 디코딩 모듈.
- 제1항 내지 제10항 중 어느 항에 있어서,상기 연결 코드는 병렬 연결 코드인 것을 특징으로 하는 디코딩 모듈.
- 제1항 내지 제11항 중 한 항에 따른, 캐스케이드식으로 실장된(cascade-mounted) 적어도 2개의 모듈을 구현하고, 상기 각각의 모듈은 기본 디코딩 동작을 수행하는 것을 특징으로 하는 연결 코드의 디코딩 장치.
- 2개의 기본 코드에 상응하는 연결 코드의 디코딩 방법에 있어서,동일한 저장수단(81,83,90,111,113)에 의해 제공된 상기 기본 코드 중 적어도 하나에 대한 기본 디코딩을 위한 적어도 2개의 동시 실행단계를 포함하며,상기 저장수단은, 상기 저장수단(81,83,90,111,113)의 어드레스에 대한 하나의 액세스가 적어도 2개의 기본 코드 워드에 액세스하도록 구성되어, 상기 적어도 2개의 기본 디코딩 단계를 동시에 제공하는 것을 특징으로 하는 연결 코드의 디코딩 방법.
- 제13항에 있어서,상기 디코딩 방법은 반복되는 것을 특징으로 하는 디코딩 방법.
- 제13항 및 제14항 중 어느 항에 있어서,상기 프로세싱된 데이터의 적어도 일부에 가중치가 부여된 것을 특징으로 하는 디코딩 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0014521A FR2816773B1 (fr) | 2000-11-10 | 2000-11-10 | Module, dispositif et procede de decodage a haut debit, d'un code concatene |
FR00/14521 | 2000-11-10 | ||
PCT/FR2001/003509 WO2002039587A2 (fr) | 2000-11-10 | 2001-11-09 | Module, dispositif et procede de decodage a haut debit, d'un code concatene |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030063376A true KR20030063376A (ko) | 2003-07-28 |
KR100822463B1 KR100822463B1 (ko) | 2008-04-16 |
Family
ID=8856342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037006392A KR100822463B1 (ko) | 2000-11-10 | 2001-11-09 | 연결코드 디코딩을 위한 고속 모듈, 장치 및 방법 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7219291B2 (ko) |
EP (1) | EP1332557B1 (ko) |
JP (1) | JP3898129B2 (ko) |
KR (1) | KR100822463B1 (ko) |
CN (1) | CN1320771C (ko) |
DE (1) | DE60108892T2 (ko) |
ES (1) | ES2236354T3 (ko) |
FR (1) | FR2816773B1 (ko) |
HK (1) | HK1061937A1 (ko) |
WO (1) | WO2002039587A2 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100594043B1 (ko) * | 2004-11-08 | 2006-06-30 | 삼성전자주식회사 | 고속 터보 디코더에서 병행방식의 디 래이트 매칭을수행하는 입력 버퍼 장치 |
KR20150061730A (ko) | 2013-11-27 | 2015-06-05 | 전자빔기술센터 주식회사 | 피에조를 이용한 마이크로 스테이지 |
US9837245B2 (en) | 2015-03-13 | 2017-12-05 | Cebt Co., Ltd. | Micro stage for particle beam column using piezo elements as actuator |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9100457B2 (en) | 2001-03-28 | 2015-08-04 | Qualcomm Incorporated | Method and apparatus for transmission framing in a wireless communication system |
US7352868B2 (en) | 2001-10-09 | 2008-04-01 | Philip Hawkes | Method and apparatus for security in a data processing system |
US7649829B2 (en) | 2001-10-12 | 2010-01-19 | Qualcomm Incorporated | Method and system for reduction of decoding complexity in a communication system |
US7587659B2 (en) | 2002-05-31 | 2009-09-08 | Broadcom Corporation | Efficient front end memory arrangement to support parallel bit node and check node processing in LDPC (Low Density Parity Check) decoders |
US7409628B2 (en) * | 2002-08-15 | 2008-08-05 | Broadcom Corporation | Efficient design to implement LDPC (Low Density Parity Check) decoder |
US7395487B2 (en) | 2002-08-15 | 2008-07-01 | Broadcom Corporation | Common circuitry supporting both bit node and check node processing in LDPC (Low Density Parity Check) decoder |
US7599655B2 (en) | 2003-01-02 | 2009-10-06 | Qualcomm Incorporated | Method and apparatus for broadcast services in a communication system |
FR2853164A1 (fr) * | 2003-03-31 | 2004-10-01 | France Telecom | Procede de codage correcteur d'erreur utilisant au moins deux fois un meme code elementaire, procede de codage, dispositifs de codage et de decodage correspondants |
US8718279B2 (en) | 2003-07-08 | 2014-05-06 | Qualcomm Incorporated | Apparatus and method for a secure broadcast system |
US8724803B2 (en) | 2003-09-02 | 2014-05-13 | Qualcomm Incorporated | Method and apparatus for providing authenticated challenges for broadcast-multicast communications in a communication system |
US20050180332A1 (en) * | 2004-02-13 | 2005-08-18 | Broadcom Corporation | Low latency interleaving and deinterleaving |
CN1822509B (zh) * | 2004-10-04 | 2011-06-08 | 美国博通公司 | 低密度奇偶校验解码器及其解码方法 |
US20070194945A1 (en) * | 2004-12-07 | 2007-08-23 | Paul Atkinson | Mobile Device for Selectively Activating a Target and Method of Using Same |
FR2888062A1 (fr) * | 2005-07-04 | 2007-01-05 | Groupe Ecoles Telecomm | Codeur et turbo decodeur de code produit |
US20070266293A1 (en) * | 2006-05-10 | 2007-11-15 | Samsung Electronics Co., Ltd. | Apparatus and method for high speed data transceiving, and apparatus and method for error-correction processing for the same |
US8719670B1 (en) * | 2008-05-07 | 2014-05-06 | Sk Hynix Memory Solutions Inc. | Coding architecture for multi-level NAND flash memory with stuck cells |
FR2955001A1 (fr) * | 2010-01-06 | 2011-07-08 | St Microelectronics Grenoble 2 | Procede et dispositif d'entrelacement en ligne et en colonne pour blocs de taille variable |
US20110202819A1 (en) * | 2010-02-12 | 2011-08-18 | Yuan Lin | Configurable Error Correction Encoding and Decoding |
US9065483B2 (en) * | 2013-01-21 | 2015-06-23 | Micron Technology, Inc. | Determining soft data using a classification code |
KR20240114298A (ko) | 2023-01-12 | 2024-07-23 | 에스엔제이 파마 인크 | 감염 저항성 장내 균주 및 그 용도 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5857781B2 (ja) * | 1978-01-17 | 1983-12-21 | 三菱電機株式会社 | 符号化復号化方式 |
US4453251A (en) * | 1981-10-13 | 1984-06-05 | Burroughs Corporation | Error-correcting memory with low storage overhead and fast correction mechanism |
US4547882A (en) * | 1983-03-01 | 1985-10-15 | The Board Of Trustees Of The Leland Stanford Jr. University | Error detecting and correcting memories |
US5559506A (en) * | 1994-05-04 | 1996-09-24 | Motorola, Inc. | Method and apparatus for encoding and decoding a digital radio signal |
FR2753025B1 (fr) * | 1996-08-28 | 1998-11-13 | Pyndiah Ramesh | Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede |
FR2778040B1 (fr) * | 1998-04-28 | 2000-05-26 | Alsthom Cge Alcatel | Procede et dispositif de codage correcteur d'erreur pour des transmissions de donnees numeriques a debit eleve, et procede et dispositif de decodage correspondant |
US6252917B1 (en) * | 1998-07-17 | 2001-06-26 | Nortel Networks Limited | Statistically multiplexed turbo code decoder |
US6434203B1 (en) * | 1999-02-26 | 2002-08-13 | Qualcomm, Incorporated | Memory architecture for map decoder |
EP1118159B1 (en) * | 1998-09-28 | 2004-07-07 | Comtech Telecommunications Corp. | Turbo product code decoder |
US6292918B1 (en) * | 1998-11-05 | 2001-09-18 | Qualcomm Incorporated | Efficient iterative decoding |
US6304995B1 (en) * | 1999-01-26 | 2001-10-16 | Trw Inc. | Pipelined architecture to decode parallel and serial concatenated codes |
US6678843B2 (en) * | 1999-02-18 | 2004-01-13 | Interuniversitair Microelektronics Centrum (Imec) | Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving |
EP1030457B1 (en) * | 1999-02-18 | 2012-08-08 | Imec | Methods and system architectures for turbo decoding |
US6754290B1 (en) * | 1999-03-31 | 2004-06-22 | Qualcomm Incorporated | Highly parallel map decoder |
US6715120B1 (en) * | 1999-04-30 | 2004-03-30 | General Electric Company | Turbo decoder with modified input for increased code word length and data rate |
JP3549788B2 (ja) * | 1999-11-05 | 2004-08-04 | 三菱電機株式会社 | 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム |
US6775800B2 (en) * | 2000-01-03 | 2004-08-10 | Icoding Technology, Inc. | System and method for high speed processing of turbo codes |
MXPA01010239A (es) * | 2000-02-10 | 2002-07-30 | Hughes Electronics Corp | Sistema y metodo que emplean un decodificador modular para decodificar codigos turbo y similares al turbo en una red de comunicaciones. |
US6738942B1 (en) * | 2000-06-02 | 2004-05-18 | Vitesse Semiconductor Corporation | Product code based forward error correction system |
-
2000
- 2000-11-10 FR FR0014521A patent/FR2816773B1/fr not_active Expired - Fee Related
-
2001
- 2001-11-09 DE DE60108892T patent/DE60108892T2/de not_active Expired - Lifetime
- 2001-11-09 JP JP2002541794A patent/JP3898129B2/ja not_active Expired - Lifetime
- 2001-11-09 ES ES01993977T patent/ES2236354T3/es not_active Expired - Lifetime
- 2001-11-09 US US10/416,484 patent/US7219291B2/en not_active Expired - Lifetime
- 2001-11-09 EP EP01993977A patent/EP1332557B1/fr not_active Expired - Lifetime
- 2001-11-09 WO PCT/FR2001/003509 patent/WO2002039587A2/fr active IP Right Grant
- 2001-11-09 KR KR1020037006392A patent/KR100822463B1/ko active IP Right Grant
- 2001-11-09 CN CNB018204104A patent/CN1320771C/zh not_active Expired - Lifetime
-
2004
- 2004-07-06 HK HK04104852A patent/HK1061937A1/xx not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100594043B1 (ko) * | 2004-11-08 | 2006-06-30 | 삼성전자주식회사 | 고속 터보 디코더에서 병행방식의 디 래이트 매칭을수행하는 입력 버퍼 장치 |
KR20150061730A (ko) | 2013-11-27 | 2015-06-05 | 전자빔기술센터 주식회사 | 피에조를 이용한 마이크로 스테이지 |
US9837245B2 (en) | 2015-03-13 | 2017-12-05 | Cebt Co., Ltd. | Micro stage for particle beam column using piezo elements as actuator |
Also Published As
Publication number | Publication date |
---|---|
DE60108892T2 (de) | 2006-04-06 |
CN1479975A (zh) | 2004-03-03 |
JP3898129B2 (ja) | 2007-03-28 |
ES2236354T3 (es) | 2005-07-16 |
EP1332557A2 (fr) | 2003-08-06 |
US20040054954A1 (en) | 2004-03-18 |
CN1320771C (zh) | 2007-06-06 |
FR2816773B1 (fr) | 2004-11-26 |
WO2002039587A3 (fr) | 2002-07-25 |
JP2004523936A (ja) | 2004-08-05 |
DE60108892D1 (de) | 2005-03-17 |
EP1332557B1 (fr) | 2005-02-09 |
US7219291B2 (en) | 2007-05-15 |
WO2002039587A2 (fr) | 2002-05-16 |
FR2816773A1 (fr) | 2002-05-17 |
HK1061937A1 (en) | 2004-10-08 |
KR100822463B1 (ko) | 2008-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100822463B1 (ko) | 연결코드 디코딩을 위한 고속 모듈, 장치 및 방법 | |
Yeo et al. | VLSI architectures for iterative decoders in magnetic recording channels | |
US6563877B1 (en) | Simplified block sliding window implementation of a map decoder | |
US6304995B1 (en) | Pipelined architecture to decode parallel and serial concatenated codes | |
US7139862B2 (en) | Interleaving method and apparatus with parallel access in linear and interleaved order | |
US20040153942A1 (en) | Soft input soft output decoder for turbo codes | |
US7180968B2 (en) | Soft-output decoding | |
Dobkin et al. | Parallel interleaver design and VLSI architecture for low-latency MAP turbo decoders | |
US8250448B1 (en) | Method of and apparatus for implementing a decoder | |
EP1261139A2 (en) | Concurrent memory control for turbo decoders | |
US20130007568A1 (en) | Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program | |
US8024636B2 (en) | Serially concatenated convolutional code decoder with a constrained permutation table | |
US6570927B1 (en) | Method for tail-biting and decoding recursive systematic codes | |
US7236591B2 (en) | Method for performing turbo decoding in mobile communication system | |
Berrou et al. | An IC for turbo-codes encoding and decoding | |
KR100453605B1 (ko) | 터보 코드용 하이브리드 인터리버 | |
JP3888135B2 (ja) | 誤り訂正符号復号装置 | |
Dobkin et al. | Parallel VLSI architecture and parallel interleaver design for low-latency MAP turbo decoders | |
KR100762612B1 (ko) | 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법 | |
US7120851B2 (en) | Recursive decoder for switching between normalized and non-normalized probability estimates | |
Natarajan et al. | Lossless parallel implementation of a turbo decoder on GPU | |
KR101066287B1 (ko) | 이동통신시스템에서 맵 방식을 이용하여 디코딩을 수행하는 장치 및 방법 | |
KR101073636B1 (ko) | 저밀도 패리티 검사 부호를 이용한 복호화 장치 | |
Venkatesh et al. | High speed and low complexity XOR-free technique based data encoder architecture | |
Jego et al. | Row–column parallel turbo decoding of product codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment | ||
FPAY | Annual fee payment | ||
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 12 |