KR20010080157A - 스테이트 머신 기반 인터리버를 가지는 코딩 시스템 - Google Patents

스테이트 머신 기반 인터리버를 가지는 코딩 시스템 Download PDF

Info

Publication number
KR20010080157A
KR20010080157A KR1020017004714A KR20017004714A KR20010080157A KR 20010080157 A KR20010080157 A KR 20010080157A KR 1020017004714 A KR1020017004714 A KR 1020017004714A KR 20017004714 A KR20017004714 A KR 20017004714A KR 20010080157 A KR20010080157 A KR 20010080157A
Authority
KR
South Korea
Prior art keywords
address
memory
data
equal
less
Prior art date
Application number
KR1020017004714A
Other languages
English (en)
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 밀러 럿셀 비
Publication of KR20010080157A publication Critical patent/KR20010080157A/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
    • H03M13/29Coding, 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
    • 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/29Coding, 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/2957Turbo codes and decoding
    • 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/2757Interleaver with an interleaving rule not provided for in the subgroups H03M13/2703 - H03M13/2753
    • 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
    • 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/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/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 터보 또는 반복적 코딩 기술에 특별한 응용이 있는 코딩을 수행하는 신규하고 개선된 기술이다. 본 발명의 일 실시예에 따라, PN 스테이트 발생기를 사용하여 메모리 어드레스를 생성하여 인터리빙을 수행할 수 있다. 데이터는 연속적 순서로 메모리에 기록된 후, PN 스테이트 발생기에 의해 지정된 어드레스를 사용하여 판독한다. 디인터리브하기 위해서, 인터리브된 데이터가 PN 스테이트 발생기에 의해 지정된 어드레스를 사용하여 메모리에 기록된 후, 연속적으로 판독한다. 현저한 코딩 수행을 제공하는 PN 스테이트 발생기의 세트가 제공된다.

Description

스테이트 머신 기반 인터리버를 가지는 코딩 시스템 {CODING SYSTEM HAVING STATE MACHINE BASED INTERLEAVER}
"터보 코딩 (turbo coding)" 은 FEC (forward error correction) 의 영역에서 중요한 진보를 나타낸다. 터보 코딩에는 많은 변수가 있지만, 많은 유형의 터보 코딩이 인터리빙 (interleaving) 단계에 의해 분리되어 유즈 상호 디코딩 (use interactive decoding) 과 결합된 다중 인코딩 단계 (multiple encoding steps) 를 사용한다. 이 결합은 통신 시스템에서 노이즈 허용 (noise tolerence) 에 관한 측면에서 이전에는 제공할 수 없었던 성능을 제공한다. 즉, 터보 코딩은 기존의 FEC 기술을 사용하여서 종래에는 수용할 수 없었던 Eb/N0레벨에서의 통신을 가능하게 한다.
많은 시스템이 FEC 기술을 사용하고 있기 때문에, 터보 코딩의 사용은 이점이 있을 것이다. 예를 들어, 터보 코드 (turbo codes) 는 위성의 제한된 다운링크 전송력 (downlink transmit power) 으로 인해 낮은 Eb / N0레벨에서 동작할 수있는 수신기 시스템을 필요로 하는 무선 위성 링크의 수행을 개선할 수 있을 것이다.
디지털 셀룰라 및 PCS 전화 시스템과 같은 디지털 무선 통신 시스템에서 역시 FEC 를 사용한다. 예를 들어, 에어 인터페이스 표준 IS-95, 및 IS-95B 와 같은 파생된 표준 (derivatives) 은 컨벌루션 인코딩 (convolutional encoding) 을 사용하여 시스템의 용량을 증가시키기 위해 코딩 이득 (coding gain) 을 제공하는 디지털 무선 통신 시스템을 정의한다. 거의 IS-95 표준에 따라 RF 신호를 처리하는 시스템 및 방법은 본 발명의 양수인에 양도되고 여기에 참조 ('459 특허) 로 기재된 명칭이 "System and Method for General Signal Waveforms in a CDMA Cellular System" 인 미국 특허 제 5,103,459 호에 기술되어 있다.
IS-95 같은 디지털 무선 통신 시스템은 기본적으로 이동 통신용이므로, 전력 소모를 최소화하고 작고 가벼운 장치를 가지는 것이 중요하다. 통상적으로, 이러한 것은 대부분의 또는 모든 필요한 프로세싱을 수행할 수 있는 반도체 집적 회로 (칩) 의 발전을 필요로 한다. 컨벌루션 인코딩이 비교적 복잡하지만, 컨벌루션 인코딩 및 디코딩을 수행하는 데 필요한 회로는 다른 필요한 회로와 함께 단일 칩으로 구성될 수 있다.
터보 코딩 (특히 디코딩 동작) 이 컨벌루션 인코딩보다 훨씬 더 복잡하다. 그럼에도 불구하고, 이동 디지털 통신 시스템을 포함하여 디지털 무선 통신 시스템에서 터보 코딩을 포함하는 것은 매우 바람직할 것이다. 따라서, 본 발명은 터보 코딩에 관련된 복잡성을 줄여서, 이동성이 요구되고 전력 소모와 회로 사이즈가관심사인 시스템에서 터보 코딩의 사용을 촉진하고자 하는 것이다.
본 발명은 코딩에 관한 것이다. 특히, 본 발명은 반복적 코딩 및 디코딩을 수행하는 신규하고 개선된 기술에 관한 것이다.
도 1a 및 도 1b 은 본 발명의 일 실시예에 따라서 구성된 터보 코더의 블록 다이어그램;
도 2 는 본 발명의 일 실시예에 따라서 구성된 인터리버의 블록 다이어그램;
도 3a 및 도 3b 은 본 발명의 일 실시예에 따라서 구성된 PN 코드 발생기의 다이어그램;
도 5a 및 도 5b 는 본 발명의 일 실시예에 따라서 구성된 디코더의 블록 다이어그램;
도 6 은 본 발명의 일 실시예의 수행을 나타내는 그래프;
도 7 은 본 발명의 다른 실시예의 수행을 나타내는 그래프.
본 발명은 터보 또는 반복적 코딩 기술에 특별한 응용이 있는 코딩을 수행하는 신규하고 개선된 기술이다. 본 발명의 일 실시예에 따라, PN 스테이트 발생기 (PN state generator) 를 사용하여 메모리 어드레스를 생성하여 인터리빙 (interleaving) 을 수행할 수 있다. 데이터는 연속적 순서로 메모리에 기록된 후, PN 스테이트 발생기에 의해 지정된 어드레스를 사용하여 판독한다. 디인터리브 (deinterleave) 하기 위해서, 인터리브된 데이터가 PN 스테이트 발생기에 의해 지정된 어드레스를 사용하여 메모리에 기록된 후, 연속적으로 판독한다. 현저한 코딩 수행을 제공하는 PN 스테이트 발생기의 세트가 제공된다.
본 발명의 특징, 목적, 및 장점은 동일한 문자가 전체적으로 일치하는 도면들과 연결하여 볼 때 다음의 상세한 설명으로부터 명백해질 것이다.
본 발명은 터보 코딩을 수행하는 신규하고 개선된 기술이다. 디지털 셀룰라 전화 시스템의 배경에서 바람직한 실시예를 기술하기로 한다. 이 배경내에서의 사용이 이점이 있지만, 본 발명의 다른 실시예는 다른 환경과 구성에서 실현될 수 있다. 일반적으로, 여기에서 기술되는 다양한 시스템은 소프트웨어-제어 프로세서, 집적 회로, 이산 로직 (discrete logic) 을 사용하여 구성될 수 있지만, 집적 회로로의 구현이 바람직하다. 본 출원을 통해 언급될 수 있는 데이터, 명령어(instructions), 커맨드, 정보, 신호, 심볼 및 칩은 전압, 전류, 전자기파, 자기장 및 입자, 옵티컬 필드(optical field) 또는 입자, 또는 이들의 결합에 의해 편리하게 표시될 수 있다. 게다가, 각 블록 다이어그램에서 도시된 블록들은 하드웨어 또는 방법 단계를 표시할 수 있다.
도 1a 및 도 1b 는 매우 단순화된 두 유형의 터보 코더를 나타내고 있다. 도 1a 는 병렬로 연결된 터보 인코더를 나타낸다. 코더 (coder; 1) 및 인터리버 (interleaver; 2) 는 통상적으로 유저 정보이거나 제어 데이터인 인코더 입력 데이터 (4) 를 수신한다. 코더 (1) 는 시스템 심볼 (systematic symbols; 5) (통상적으로 오리지널 입력 비트의 카피 (copy)) 및 패러티 심볼 (parity symbols; 3) 을 출력한다. 코더 (6) 는 인터리버 (2) 의 인터리브된 출력을 수신하고 제 2 패러티 심볼 세트 (7) 를 출력한다. 코더 (1) 및 코더 (6) 의 출력은 전체 코딩율 R이 1/3 인 출력 데이터 스트림으로 먹스된다 (muxed). 추가의 코더 및 인터리버 쌍은 증가된 FEC 의 코딩율 (coding rate) 을 줄이기 위해 첨가될 수 있다.
코더 (1) 및 코더 (6) 는 블록 코더나 컨벌루션 코더를 포함하는 다양한 유형의 코더일 수 있다. 컨벌루션 코더로서, 코더 (1) 및 코더 (6) 는 통상적으로 복잡성을 줄이기 위해 4 정도의 작은 제약 길이를 가질 수 있고, RSC (recursive systematic convolutional) 인코더이다. 낮은 제약 길이는 대응하는 디코더의 복잡성을 줄인다. 통상적으로, 상기 두 코더는 각 비트가 코딩율 R = 1/2 로 수신되는 패러티 심볼을 출력한다. 그러나, 도 1a 의 터보 코더의 전체 코딩율은 코더 (6) 로부터의 시스템 비트가 못쓰게되기 때문에, R = 1/3 이 된다. 추가의 인터리버나 코더 쌍은 역시 병렬로 추가되어 코딩율을 줄일 수 있고, 따라서 더 높은 에러 정정을 제공할 수 있다.
도 1b 는 직렬 연결 터보 코더를 나타낸다. 입력 데이터 (13) 는 코더 (10) 에 의해 코드되고 패러티 심볼은 인터리버 (12) 에 인가된다. 결과적으로 인터리브된 패러티 심볼은 패러티 심볼 (15) 을 생성하기 위해 추가의 인코딩을 수행하는 코더 (14) 에 공급된다. 통상적으로, 코더 (10) 외부 코더는 블록 인코더나 컨벌루션 인코더를 포함한 다양한 유형의 인코더일 수 있지만, 코더 (14) 내부 코더는 리커시브 코더 (recursive coder) 이어야만 하고 통상적으로 리커시브 시스템 인코더이다.
RSC (recursive systematic convolutional) 인코더로서, 코더 (10) 및 코더 (14) 는 코딩율 R < 1 에서 심볼을 생성한다. 즉, 일정한 수의 입력 비트 N 에있어서, M 출력 심볼은 M > N 인 곳에서 생성된다. 도 1b 의 직렬 연결 터보 코더의 전체 코딩율은 코더 (10) 의 코딩율과 코더 (14) 의 코딩율을 곱한 값이다. 추가의 인터리버 및 코더 쌍은 역시 코딩율을 감소시키기 위해 직렬로 연결되어 추가의 에러 검출을 제공할 수 있다.
도 2 는 본 발명의 일 실시예에 따라서 구성된 인터리버의 블록 다이어그램이다. 인터리버는 가령, 도 1a 및 도 1b 의 회로내에서 인터리버 (2) 또는 (12) 로 사용될 수 있다. 인터리버 내에서, 메모리 (26) 는 MUX (20) 로부터 어드레스 데이터 (21) 뿐만 아니라 인코더 입력 데이터 (19) 를 수신한다. MUX (20) 는 카운터 (18) 또는 PN 스테이트 머신 (PN state machine) 과 어드레스 필터 (24) 로부터 어드레스 데이터 (21) 를 인가한다. 제어 시스템 (도면에는 편의상 도시되지 않음) 은 MUX (20), 카운터 (18), PN 스테이트 머신, 및 어드레스 필터 (24) 를 제어한다. 제어 시스템은 메모리에 기억된 소프트웨어 명령을 구동하는 마이크로프로세서나 DSP 로 구성된다.
동작 동안에, 인코더 입력 데이터 (19) 는 MUX (20) 를 사용하여 카운터 (18) 을 어드레스 입력에 적용함으로써 지정된 어드레스에 따라 메모리 (26) 에 기록된다. 일단 인코더 입력 데이터 (19) 의 블록이 메모리 (26) 에 기록되면, 데이터는 PN 스테이트 머신 (22) 을 적용하여, 어드레스 필터 (24) 로 필터링한 후, MUX (20) 을 통해 메모리 (26) 의 어드레스 입력에 코더 (14) 에 판독된다. 따라서, 데이터는 코더 (10) 에 의해 수신된 인코더 데이터에 관해서는 코더 (14) 에 교대로 판독된다. 디인터리빙 (deinterleaving) 을 수행하기 위해서는, PN 스테이트 머신은 데이터가 기록될 때 메모리의 어드레스 입력에 인가되고, 카운터는 데이터가 판독될 때 메모리의 어드레스 입력에 인가된다. 본 출원을 통해 기술되었듯이, 코딩을 위해 도 2 의 인터리버를 사용하여 얻은 이점은 디코딩에서 사용될 때에도 역시 실현될 수 있다.
어드레스 필터 (24) 는 PN 스테이트 머신 (22) 으로부터 메모리 (26) 의 지정가능한 메모리 공간보다 큰 어드레스를 제거한다. 동작 동안에, 어드레스 필터 (24) 는 PN 스테이트 머신 (22) 으로부터 어드레스를 수신한다. 길이 L 인 PN 발생기의 가능한 어드레스 세트는 2L- 1 과 일치하는 데, 여기서 L 은 PN 스테이트에서의 비트 수이다. 메모리 (26) 의 사이즈가 2L- 1 보다 작은 수일경우, 어드레스 필터 (24) 는 언제 PN 스테이트 머신 (22) 으로부터의 어드레스가 메모리 사이즈 N 보다 큰가를 결정한다. 그러하다면, 어드레스 필터는 PN 스테이트 머신 (22) 이 다음 상태로 스위치하도록 신호를 보내고, 다시 비교를 수행한다. PN 스테이트 머신 (22) 으로부터의 어드레스가 N 을 초과하면, 어드레스 필터 (24) 는 N 보다 적은 어드레스가 생성될 때까지 PN 스테이트 머신 (22) 의 상태를 계속 진행할 것이다. 따라서, N 을 조정하고 PN 스테이트 머신 (22) 에 의해 생성된 비트수를 증가시키거나 감소시켜, 다른 사이즈의 메모리가 N 값을 변경함으로써 수용될 수 있다.
스테이트 발생기는 가능한 모든 상태를 커버하기 (cover) 전에, PN 스테이트 머신이 동일한 상태에 두번 들어가지 않도록 선택되어야 하는 것도 명백하다.이 조건은 PN 발생기가 최대 길이 시프트 시퀀스를 생성한다면 충족될 수 있다. PN 발생기를 Galois 필드 GF2에서 기본 다항식이 되도록 하는 것이 이러한 특성을 성취하는 한 방법이다. 또한, 스테이트 머신은 최상위 포지션(most significant position) 에서 논리값으로 초기화되고, 나머지 포지션에서 논리값이 제로가 된다. 다른 초기화값도 역시 사용될 수 있다.
전술한 바와 같이, 어드레스 필터는 메모리 (16) 의 사이즈 내에서 오직 어드레스가 인가되어야 하는 것을 보장한다. 분명하듯이, N 보다 큰 시퀀스의 어드레스를 생성하지 않는 PN 스테이트 발생기를 선택하는 것이 바람직하다. 즉, PN 발생기의 길이를 2L-1≤ 2L이 되도록 지정하는 것이 바람직하다. 또한, PN 발생기의 길이를 많이 앞으로 진행시키고, 메모리 (26) 의 프로세싱 사이클 동안 중간 상태의 리스트를 저장하여, 적절한 어드레스가 충분한 속도로 생성될 수 있는 능력을 가진 PN 스테이트 머신 (22) 을 구성하는 것이 바람직하다. 이것은 PN 클록율이 최대로 인터리버 비율의 두 배일 필요가 있다는 것을 보장한다.
본 발명의 다른 실시예에서, V 값은 PN 스테이트 머신에 의해 생성되는 어드레스로부터 감산될 수 있다. 이 결과는 단지 1 과 N 사이에 있을 때에만 보유되는 어드레스이다. 1 이나 64 의 V 값은 수용할만하다. 본 발명의 다른 실시예에서, 스테이트 머신의 제일 오른쪽 레지스터가 V 와 N - 1 + V 의 값을 가질 경우에는 V 값은 감산될 수 있고, 그렇지 않다면 V 의 감산 없이 사용될 수 있다.
공지되어 있듯이, 간단한 "블록" 인터리버의 사용이 터보 코딩의 최적의 수행을 제공하지는 않는다. 그러나, 블록 인터리빙을 사용하지 않거나 다른 어떤 인터리빙 계획을 사용하지 않는다면, 데이터가 판독될 어드레스 시퀀스를 지정하는 "look-up-table" 을 사용하는 것이 통상적으로 필요하다.
큰 블록 사이즈가 터보 코딩을 최적으로 수행하기 위해서 필요하기 때문에, 이러한 look-up-table 은 많은 양의 추가의 온칩 (on-chip) 의 메모리- 때로는 인터리버 자체의 순서를 필요로 한다. 이 메모리는 많은 양의 메모리 공간을 차지할 수 있지만, 대가로 칩의 비용과 전력 소모를 증가시킨다. 따라서, 본 발명의 이점은 높은 실행 코딩 및 디코딩에 최소한의 추과 복잡성을 제공하는 좀 더 효율적인 인터리빙이 수행될 수 있다는 것이다. 어드레스를 생성하기 위해 PN 스테이트 머신을 사용하여, 더 복잡한 인터리빙이 수행될 수 있고, 따라서 감소된 회로 공간과 전력 소모로 더 높은 수행 코딩 및 디코딩을 얻을 수 있다.
본 발명의 대안적 실시예에서, 카운터 (18) 는 다른 스테이트 머신으로 대체될 수 있다. 두 개의 PN 스테이트 머신이 다른 순서로 필요한 어드레스 공간을 커버한다면, 제 2 PN 스테이트 머신을 카운터 (18) 의 위치에 사용될 수 있을 것이다.(대안적으로 카운터는 단순히 2 진 카운팅 시퀀스와 동일한 PN 시퀀스를 가지는 PN 스테이트 머신으로 간주될 수 있다.
본 발명의 대안적 실시예에서, 생성된 PN 스테이트의 시퀀스는 거의 추가의 복잡성없이 수행을 증가시키도록 조절된다. PN 스테이트 S1, S2,S3, ...SN의 세트에서, 정수 k 는 비교적 PN 시퀀스 2N- 1 의 주기에 중요하다. 각 0 ≤ I < N에서, 인덱스 I 에 S(ki mod N) + 1으로 스테이트 시퀀스가 정의된다. N = 2L- 1 이면, 이것은 다음 PN 스테이트를 얻기 위해 PN 발생기를 k 번 클록하는 양이다. L 의 차수가 되는 k 를 선택하여 현저한 수행상 개선을 얻을 수 있다.
본 발명의 다른 실시예에서, 두개 이상의 인터리버가 큰 스팬의 단일 인터리버를 생성하도록 인터레이스될 수 있다. 두 인터리버는 모두 다항식 기반이 될 수 있고, 일반적으로 다른 다항식을 사용한다. 또한, 다항식 기반 및 다른 유형의 인터리버의 결합이 고려된다.
일 예에서, 동일한 길이의 두 인터리버는 병렬로 짝수 및 홀수 지수가 별도로 순열되는 단일 순열을 생성하도록 사용될 수 있다. 이것은 디코더가 인터리버 입/출력 두 인접 심볼을 동시에 이중 포트 메모리를 사용하지 않고 접근할 필요가 있다면 유용할 수 있다.
다른 예에서, 다른 사이즈의 두 인터리버는 정수 전력 2 가 아닌 더 큰 인터리버를 구성하기 위해 인터레이스 (interlace) 될 수 있다. 가령, 스팬 (span; 2047) 과 1023 의 인터리버는 스팬 3070 의 더 큰 인터리버를 구축하기 위해 인터레이스될 수 있다. 두 구성 인터리버는 차수 (degree) 10 및 11 의 기본 다항식으로부터 각각 얻을 수 있다.
도 3a 및 도 3b 는 본 발명의 일 실시예에 따라 구성될 때, 두 PN 시퀀스 발생기를 나타낸다. 도 3a 를 참조하면, 래치 50(1) - 50(L) 의 세트는 상태 변수 S1- SL를 저장한다. 다항식 계수 C1- CL-1는 역시 상태 변수 S1- SL-1를 수신하는 AND 게이트 52(1) - 52(L-1) 에 인가된다. 상태 변수 S1- SL-1는 역시 다음 래치의 입력에 인가된다.
XOR 게이트 54(1) - 54(L-1) 은 AND 게이트 52(1) - 52(L) 의 출력을 수신한다. XOR 게이트 54(1) - 54(L-2) 는 역시 인접한 XOR 게이트 54(2) - 54(L-1) 의 출력을 수신하고, XOR 게이트 54(L) 은 역시 래치 50(L) 의 출력을 수신한다. XOR 게이트 54(1) 의 출력은 역시 래치 50(1)에 입력이고, PN 스테이트 머신의 출력이다. 동작 동안에, 다항식 계수는 데이터로서 변하는 상태 변수가 클록되는 방법을 결정한다. 다른 다항식의 적용은 생성된 특정 PN 시퀀스를 변화시키고, 어떤 다항식의 선택은 거의 최적의 인터리빙이 수행되게 하는 어드레스 시퀀스를 생성한다. PN 생성 발생기를 사용하여, 도 3a 에 도시된 바와 같은 회로를 사용할 수 있다. 이러한 회로는 대응하는 look-up-table 보다 현저히 적은 회로 영역을 차지하기 때문에, 전체적으로 요구되는 칩 영역을 감소시켜 터보 코더를 개선한다.
도 3b 는 PN 스테이트를 생성하는 대안적인 방법을 제공한다. XOR 게이트 62(1) - 62(L-2) 는 래치 62(0) - 64(L-1) 사이에 결합되고, 래치 60(0) 의 출력은 래치 60(L-1) 뿐만 아니라 AND 게이트 64(1) - 64(L-1) 에 적용된다. AND 게이트 64(1) - 64(L-1) 은 역시 다항식 계수 C(1) - C(L-1) 를 수신한다. AND 게이트 64(1) - 64(L-1) 의 출력은 XOR 게이트 62(1) - 62(L-1) 에 적용된다. 도 2A 에서, 다른 다항식의 적용은 생성된 특정 PN 시퀀스를 변화시키고, 임의의 다항식의 선택은 거의 최적의 인터리빙이 수행되게하는 어드레스 시퀀스를 생성한다.
본 발명의 일 실시예에 따라서, 임의값 L, 따라서 다른 사이즈의 어드레스 공간에 있어서, PN 스테이트 머신에 사용되는 다항식은 표 1 에 나타나 있다.
통상적으로, 특정 차수 (order)의 요소가 다항식에 존재하면, 해당 계수 C 는 로직 1 로 설정된다; 그렇지 않다면, 계수는 로직 0 으로 설정된다. 해당 기술의 당업자는 특정 다항식이나 이것의 도함수를 사용하는 PN 스테이트 머신을 구현하는 다양한 방법을 인식할 수 있을 것이다. 또한, 어드레스의 비트 사이즈는 바람직하게 최대 어드레스를 부여하는 메모리 사이즈 N 이상인 최소의 수 L 이다.
표 2 는 본 발명의 대안적 실시예에서 사용될 수 있는 더 많은 다항식을 제공한다.
표 3 은 본 발명의 대안적 실시예에서 사용될 수 있는 어떤 다항식을 제공한다.
도 4 는 본 발명의 대안적이고 더 일반화된 실시예의 블록 다이어그램이다. 이러한 본 발명의 대안적 실시예에서, 인터리버 어드레스 발생은 로우 - 컬럼 (row-column) 어드레스 발생기를 하나 이상의 PN 어드레스 발생기와 결합시켜 수행될 수 있다. 설명되었듯이, 인터리버 메모리 (200) 은 데이터 입/출력 (I/O) 및 어드레스 입력 (204) 을 가진다. 어드레스 입력 (204) 은 로우 입력 (row input; 206) 및 컬럼 입력 (column input; 208) 으로 구성된다.
컬럼 MUX (210) 는 컬럼 카운터 (212) 의 출력이나 PN 어드레스 발생기를 컬럼 입력 (208) 에 제공한다. 로우 MUX (220) 은 로우 카운터 (222) 의 출력이나 로우 PN 어드레스 발생기로 로우 입력 (206) 에 제공한다. 컬럼 PN 어드레스 발생기 (214) 는 PN 다항식 뱅크 (216) 로부터 다항식 값을 수신하고 로우 PN 어드레스 발생기 (214) 는 PN 다항식 뱅크 (226) 로부터 다항식 값을 수신한다.
일 실시예에서, 각 로우 (row) 는 길이가 C 인 PN 어드레스 발생기, PN 다항식 뱅크 (226) 에 기억된 다른 다항식에 의해 정의되는 특정 발생기와 연관된다. 유사하게, 각 컬럼은 길이가 r 인 PN 인터리버, PN 다항식 뱅크 (226) 에 기억된 다른 다항식에 의해 정의되는 특정 발생기와 연관된다. 다른 로우 또는 컬럼에 연관된 인터리버는 동일하거나 별개일 수 있다. 추가로, 본 발명의 대안적 실시예에서, 컬럼 또는 로우 어드레스 발생기 중 하나는 비트 리버설 어드레스 발생기, 사이클릭 시프트 어드레스 발생기나 식별 (identity) 어드레스 발생기와 같은 PN 기반 어드레스 발생기이외의 것일 수 있다.
동작 동안에, 인터리브될 데이터는 로우 카운터 (222) 를 사용하여 로우 형식으로 로우로 인터리버 버퍼에 기록되고, 반면에 컬럼은 컬럼 PN 어드레스 발생기 (214) 를 사용하여 선택된다. 데이터가 판독될 때에는, 각 로우는 로우 PN 어드레스 발생기 (224) 를 사용하여 어드레스되고 컬럼은 컬럼 카운터 (212) 를 사용하여 어드레스된다. 명백하듯이, 차수 또는 판독과 기록은 교체될 수 있다.
바람직하게, PN 어드레스 발생기에 의해 사용되는 다항식은 PN 다항식 뱅크로부터 새로운 다항식을 로드하여 어드레스되는 각 로우나 컬럼에 대해 교환된다. 다른 다항식은 로직 1 이 로직 0 으로 설정되고 역으로도 설정되는 표 1 내지 표 3 에서 열거된 다항식의 "미러" 이미지를 사용하여 생성될 수 있다. 로우에서 로우로 (컬럼에서 컬럼으로) 어드레스 발생을 변화시키는 다른 방법이 사용될 수 있다. 가령, PN 스테이트 머신의 시작 상태는 로우에서 로우로 변화될 수 있다. PN 스테이트 머신은 각 로우에 대해 다른 회수로 클록될 수 있을 것이다. 또한, 도 3 의 두개의 스테이트 머신과 같은 다른 스테이트 머신이 다른 로우에 사용될 수 있다. 도 4 에 도시된 인터리버의 사용은 단지 최소의 복잡성으로 추가의 수행을 제공한다.
도 5a 는 본 발명의 일 실시예에 따라 구성될 때의 병렬 터보 코딩용 디코더의 블록 다이어그램이다. 수신 데이터는 입력 (40) 에서 수신되어 디코더 (44)및 인터리버 (46) 에 인가된다. 디인터리버 (deinterleaver; 46) 의 출력은 디코더 (48) 에 인가되고 디코더(44, 48) 의 출력은 합산기 (50) 에 인가된다. 합산기 (50) 의 출력은 디코더의 출력을 구성하지만, 역시 반복 디코딩을 위해 MUX (42) 를 통해 제 2 입력으로 인가된다. 추가적으로, 디코더 (48)과 디코더 (44)는 인터리버 (50) 및 인터리버 (52) 를 통해 결합된다.
전형적 동작 동안에, 디코더 (44) 및 디코더 (48) 에 의해 수신된 데이터는 반복해서 디코드되고 인터리버 (54) 및 디인터리버 (52) 에 의해 인터리브되고 디인터리브되어 교환된다. 바람직한 회수의 반복이 수행되거나 바람직한 에러 레벨를 얻으면, 출력을 합산기 (50) 로부터 취한다.
도 5b 는 본 발명의 일 실시예에 따라 구성된 직렬 터보 코딘용 디코더의 블록 다이어그램이다. 입력 데이터 (70) 는 디코더 (72) 에 의해 수신되고, 이것의 출력은 디인터리버 (74) 에 인가된다. 디인터리버 (74) 의 디인터리브된 출력은 디코더 (76) 에 인가된다. 디코더 (76) 의 출력은 디인터리버 (78) 에 인가되고, 이것의 출력은 디코더 (72) 에 인가된다. 디코더 (76) 의 출력은 역시 직렬 터보 디코더의 출력을 구성한다.
전형적 동작 동안에, 수신 심볼은 반복해서 디코더 (72 및 76) 에 의해 디코드된다. 바람직한 회수의 디코더 반복이 수행되거나, 바람직한 에러 레벨이 달성되면, 출력을 디코더 (76) 에서 취할 수 있다.
본 발명의 일 실시예에서, 전술한 바와 같이 PN 스테이트 머신이 기록하는 동안에 인가되고 카운터가 판독하는 동안에 인가되는 것을 제외하고는, 도 4A 및도 4B 의 디인터리버는 도 2 에 도시된 것과 유사한 방법으로 구성된다. 인터리버는 바람직하게 도 2 에 도시된 바와 같이 구성된다.
도 6 은 look-up-table 의 사용을 필요로하는 다른 인터리빙 계획에 비교될 때, 비율이 1/4 인 직렬 연결 터보 코드를 사용하는 특정 다항식의 수행을 나타내는 그래프이다. K 값은 처리되는 데이터 프레임의 사이즈이다. 프레임 에러율 (FER) 및 비트 에러율 (BER) 이 이상적인 인터리버 및 PN 기반 인터리버에 대해 도시되어 있다. 도시된 바와 같이, PN 기반 인터리빙 계획의 수행은 에러율 (에러 가능성) 이 1 × 10-3에서 look-up-table 계획의 수행과 거의 일치한다. 이 에러율은 많은 다른 디지털 무선 시스템뿐만 아니라, IS-95 기반 CDMA 무선 통신 시스템의 동작에 바람직한 레벨이다. 따라서, PN 기반 인터리빙 계획의 사용으로 회로 공간에서의 절약을 제공할 수 있다.
도 7 은 look-up-table 의 사용을 필요로 하는 다른 인터리빙 계획에 비교될 때, 비율이 1/2 인 직렬 연결 터보 코드를 사용하는 특정 다항식의 수행을 나타내는 그래프이다. 다시, 이상적인 인터리버와 PN 기반 인터리버사이의 차는 에러율이 1×10-3으로 작다. 따라서, PN 기반 인터리빙 계획의 사용으로 회로 공간에서의 절약을 제공할 수 있다.
따라서, 터보 코딩을 수행하는 신규하고 개선된 기술이 설명되었다. 바람직한 실시예에 대한 이상의 설명은 해당 분야의 당업자가 본 발명을 이용할 수 있도록 제공되었다. 해당 분야의 당업자는 본 실시예에 다양한 변형을 가할 수 있을 것이고, 여기에서 정의된 일반적 이론은 발명적 노력 없이도 다른 실시예에 적용될 수 있을 것이다. 따라서, 여기에서 기술된 실시예는 본 발명을 제한하고자 하는 것이 아니며, 본 발명은 여기에서 개시된 이론과 신규한 특징에 일치하는 가장 넓은 범위로 인정되어야 한다.

Claims (22)

  1. (a) 제 1 어드레스 발생 유닛을 사용하여 메모리에 부호화된 데이터를 기록하는 단계; 및
    (b) 제 2 어드레스 발생 유닛을 사용하여 상기 메모리로부터 부호화된 데이터를 판독하는 단계를 포함하는 부호화된 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 단계 (b) 는 PN 스테이트 머신을 증가시켜 어드레스 세트를 발생하는 단계를 포함하는 부호화된 데이터를 디코딩하는 방법.
  3. 제 2 항에 있어서,
    상기 어드레스가 인터리브될 부호화 데이터의 양인 N 보다 크면, 상기 어드레스 세트에서 어드레스를 제거하는 단계를 더 포함하는 부호화된 데이터를 디코딩하는 방법.
  4. 제 3 항에 있어서,
    상기 PN 스테이트 머신은 방정식 (N ≤ 2L- 1) 을 충족하는 최소의 수인 L 비트 상태를 가지는 부호화된 데이터를 디코딩하는 방법.
  5. 제 1 항에 있어서,
    상기 제 2 어드레스 유닛은 다음의 다항식;
    메모리 사이즈가 256 보다 크고 511 보다 작거나 같을 때, 1 + D^4 + D^9;
    메모리 사이즈가 511 보다 크고 1023 보다 작거나 같을 때, 1 + D^3 + D^10;
    메모리 사이즈가 1024 보다 크고 2047 보다 작거나 같을 때, 1 + D^2 + D^11;
    메모리 사이즈가 2047 보다 크고 4095 보다 작거나 같을 때, 1 + D + D^4 + D^6 + D^12;
    메모리 사이즈가 4095 보다 크고 8191 보다 작거나 같을 때, 1 + D + D^3 + D^4 + D^13;
    메모리 사이즈가 8191 보다 크고 16383 보다 작거나 같을 때, 1 + D + D^3 + D^5 + D^14;
    메모리 사이즈가 16383 보다 크고 32767 보다 작거나 같을 때, 1 + D + D^15;
    을 사용하는 스테이트 머신으로 구성된 부호화된 데이터 디코딩 방법.
  6. 어드레스 입력 및 데이터 입력을 갖는 사이즈가 N 인 메모리;
    데이터가 상기 메모리에 기록될 때 상기 어드레스 입력을 제어하는 카운터 수단; 및
    데이터를 상기 메모리에서 판독할 때 상기 어드레스 입력을 제어하는 PN 스테이트 머신을 포함하는 데이터 코딩 시스템.
  7. 제 5 항에 있어서,
    상기 PN 스테이트 머신에 의해 생성되는 N 보다 더 큰 값을 제거하는 어드레스 필터를 더 포함하는 데이터 코딩 시스템.
  8. 제 6 항에 있어서,
    상기 메모리에 결합되어, 입력 데이터에 응답하여 제 1 패러티 심볼을 생성하는 제 1 코더를 더 포함하는 코딩 데이터 시스템.
  9. 제 6 항에 있어서,
    상기 메모리로부터 수신되는 심볼을 코딩하기 위한 제 2 코더를 더 포함하는 코딩 데이터 시스템.
  10. PN 스테이트 머신에 의해 정의되는 제 1 어드레스 세트를 사용하여 상기 데이터를 기록하는 단계;
    카운터에 의해 정의되는 제 2 어드레스 세트를 사용하여 상기 데이터를 판독하는 단계를 포함하는 데이터 디코딩 방법.
  11. 제 10 항에 있어서,
    상기 어드레스가 인터리브될 부호화 데이터의 양인 N 보다 크면, 상기 제 1 어드레스 세트에서 어드레스를 제거하는 단계를 더 포함하는 데이터 디코딩 방법.
  12. 제 10 항에 있어서,
    PN 스테이트 머신이 다음의 다항식
    메모리 사이즈가 256 보다 크고 511 보다 작거나 같을 때, 1 + D^4 + D^9;
    메모리 사이즈가 511 보다 크고 1023 보다 작거나 같을 때, 1 + D^3 + D^10;
    메모리 사이즈가 1024 보다 크고 2047 보다 작거나 같을 때, 1 + D^2 + D^11;
    메모리 사이즈가 2047 보다 크고 4095 보다 작거나 같을 때, 1 + D + D^4 + D^6 + D^12;
    메모리 사이즈가 4095 보다 크고 8191 보다 작거나 같을 때, 1 + D + D^3 + D^4 + D^13;
    메모리 사이즈가 8191 보다 크고 16383 보다 작거나 같을 때, 1 + D + D^3 + D^5 + D^14;
    메모리 사이즈가 16383 보다 크고 32767 보다 작거나 같을 때, 1 + D + D^15;
    을 사용하는 데이터 디코딩 방법.
  13. 어드레스 입력 및 데이터 입력을 갖는 사이즈가 N 인 메모리;
    데이터가 상기 메모리에 기록될 때 상기 어드레스 입력을 제어하는 PN 스테이트 머신; 및
    데이터를 상기 메모리에서 판독할 때 상기 어드레스 입력을 제어하는 카운터 수단을 포함하는 디코더.
  14. 제 13 항에 있어서,
    상기 PN 스테이트 머신에 의해 생성되는 N 보다 더 큰 값을 제거하는 어드레스 필터를 더 포함하는 디코더.
  15. 제 14 항에 있어서,
    상기 메모리에 결합되고, 입력 데이터에 응답하여 제 1 패러티 심볼을 생성하는 제 1 코더를 더 포함하는 디코더.
  16. 제 15 항에 있어서,
    상기 메모리로부터 수신된 심볼을 코딩하기 위한 제 2 코더를 더 포함하는 시스템.
  17. (a) PN 기반 어드레스의 제 1 세트를 생성하는 단계;
    (b) 상기 PN 기반 어드레스의 제 1 세트를 로우 어드레스로 사용하여, 데이터를 메모리에 기록하는 단계;
    (c) 로우 어드레스 카운터를 사용하여, 상기 데이터를 판독하는 단계를 포함하는 터보 코더에서 인터리빙을 수행하는 방법.
  18. 제 17 항에 있어서,
    상기 기록 단계동안에 카운터를 사용하여, 컬럼 어드레스를 생성하는 단계;
    상기 판독 단계동안에 카운터를 사용하여, 로우 어드레스를 생성하는 단계를 더 포함하는 터보 코더에서의 인터리빙 수행 방법.
  19. 제 17 항에 있어서,
    상기 PN 기반 어드레스는 다음의 다항식 집합으로부터 선택된 다항식을 사용하여 생성되는 터보 코더에서의 인터리빙 수행 방법;
  20. (a) PN 기반 어드레스의 제 1 세트를 생성하는 단계;
    (b) 컬럼 어드레스로서 상기 PN 기반 어드레스의 제 1 세트를 사용하여, 데이터를 메모리에 기록하는 단계;
    (c) 컬럼 어드레스용 카운터를 사용하여, 상기 데이터를 판독하는 단계를 포함하는 터보 코더에서 인터리빙을 수행하는 방법.
  21. 제 17 항에 있어서,
    상기 기록 단계동안에 카운터를 사용하여, 컬럼 어드레스를 생성하는 단계;
    상기 판독 단계동안에 카운터를 사용하여, 로우 어드레스를 생성하는 단계를 더 포함하는 터보 코더에서의 인터리빙 수행 방법.
  22. 제 17 항에 있어서,
    상기 PN 기반 어드레스는 다음의 다항식 집합으로부터 선택된 다항식을 사용하여 생성되는 터보 코더에서의 인터리빙 수행 방법;
KR1020017004714A 1998-10-13 1999-10-12 스테이트 머신 기반 인터리버를 가지는 코딩 시스템 KR20010080157A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/172,069 1998-10-13
US09/172,069 US6353900B1 (en) 1998-09-22 1998-10-13 Coding system having state machine based interleaver
PCT/US1999/024061 WO2000022738A1 (en) 1998-10-13 1999-10-12 Coding system having state machine based interleaver

Publications (1)

Publication Number Publication Date
KR20010080157A true KR20010080157A (ko) 2001-08-22

Family

ID=22626248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017004714A KR20010080157A (ko) 1998-10-13 1999-10-12 스테이트 머신 기반 인터리버를 가지는 코딩 시스템

Country Status (15)

Country Link
US (1) US6353900B1 (ko)
EP (1) EP1121761A1 (ko)
JP (1) JP2002527980A (ko)
KR (1) KR20010080157A (ko)
CN (1) CN1186880C (ko)
AU (1) AU6517299A (ko)
BR (1) BR9914541A (ko)
CA (1) CA2347237A1 (ko)
HK (1) HK1040011B (ko)
ID (1) ID29939A (ko)
IL (1) IL142562A0 (ko)
MX (1) MXPA01003814A (ko)
NO (1) NO20011889L (ko)
RU (1) RU2001112766A (ko)
WO (1) WO2000022738A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100925429B1 (ko) * 2002-12-28 2009-11-06 엘지전자 주식회사 터보 코더

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625234B1 (en) * 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
DE69934606T2 (de) * 1999-02-26 2007-10-04 Fujitsu Ltd., Kawasaki Turbodekoder und verschachtel-/endschachtelapparat
CN1201494C (zh) * 1999-03-01 2005-05-11 富士通株式会社 最大后验概率译码方法和装置
US6480976B1 (en) * 1999-03-11 2002-11-12 Globespanvirata, Inc. System and method for resource optimized integrated forward error correction in a DMT communication system
US6536001B1 (en) * 1999-03-11 2003-03-18 Globespanvirata, Inc. Circuit and method for convolutional interleaving using a single modulo operation
DE20023252U1 (de) * 1999-04-02 2003-07-31 Samsung Electronics Co Ltd Vorrichtung zum Verschachteln/Entschachteln für ein Kommunikationssystem
KR100480286B1 (ko) * 1999-04-02 2005-04-06 삼성전자주식회사 터보 인터리빙 어드레스 발생 장치 및 방법
US6591391B1 (en) * 1999-09-08 2003-07-08 Sencore Inc. Method of generating an 8-VSB modulated signal
JP3973066B2 (ja) * 1999-09-10 2007-09-05 パイオニア株式会社 符号誤り訂正回路及び符号誤り訂正方法
US7302621B2 (en) * 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US6714606B1 (en) * 2000-01-04 2004-03-30 Lsi Logic Corporation Integrated services digital broadcasting deinterleaver architecture
JP4532637B2 (ja) * 2000-01-11 2010-08-25 キヤノン株式会社 データ順序変更装置
US6769093B1 (en) * 2000-12-15 2004-07-27 Conexant Systems, Inc. Synchronization of a communications system
DE10206727A1 (de) * 2002-02-18 2003-08-28 Infineon Technologies Ag Kombinierter Ver-und Entschachteler sowie Turbo-Decodierer mit kombiniertem Ver-und Entschachteler
US7051261B1 (en) * 2002-10-29 2006-05-23 Lattice Semiconductor Corporation Turbo encoder with reduced processing delay
KR100518295B1 (ko) * 2003-03-14 2005-10-04 삼성전자주식회사 디지털 통신 시스템의 디인터리빙장치 및 그의디인터리빙방법
US8179954B2 (en) 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
GB2454194A (en) * 2007-10-30 2009-05-06 Sony Corp Address generation polynomial and permutation matrix for DVB-T2 1k OFDM sub-carrier mode interleaver
EP1463255A1 (en) * 2003-03-25 2004-09-29 Sony United Kingdom Limited Interleaver for mapping symbols on the carriers of an OFDM system
US8885761B2 (en) 2003-03-25 2014-11-11 Sony Corporation Data processing apparatus and method
GB2454196B (en) 2007-10-30 2012-10-10 Sony Corp Data processsing apparatus and method
GB2454193B (en) * 2007-10-30 2012-07-18 Sony Corp Data processing apparatus and method
GB2454195A (en) * 2007-10-30 2009-05-06 Sony Corp Address generation polynomial and permutation matrix for DVB-T2 16k OFDM sub-carrier mode interleaver
US20040267968A1 (en) * 2003-06-25 2004-12-30 Agilent Technologies Belgium S.A./N.V Implementation of a column interleaving function with a limited amount of columns
US7509556B2 (en) * 2003-11-20 2009-03-24 Seagate Technology Llc Method and apparatus for combining output of different type interleavers based on an input data sequence to obtain a combined output
US7673213B2 (en) * 2004-02-19 2010-03-02 Trellisware Technologies, Inc. Method and apparatus for communications using improved turbo like codes
US7958425B2 (en) * 2004-02-19 2011-06-07 Trelliware Technologies, Inc. Method and apparatus for communications using turbo like codes
US7360147B2 (en) * 2005-05-18 2008-04-15 Seagate Technology Llc Second stage SOVA detector
US7502982B2 (en) * 2005-05-18 2009-03-10 Seagate Technology Llc Iterative detector with ECC in channel domain
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7843988B1 (en) * 2006-09-21 2010-11-30 Rockwell Collins, Inc. System and method for pre-processing transmission sequences in a jammed environment
EP2092652A4 (en) * 2006-11-10 2012-11-07 Ericsson Telefon Ab L M NAKED / DECORATED WITH QUADRIC PERMUTATION POLYNOME FOR TURBOCODES
US8959403B2 (en) 2006-11-10 2015-02-17 Optis Wireless Technology, Llc QPP interleaver/de-interleaver for turbo codes
US20080133997A1 (en) * 2006-12-01 2008-06-05 Broadcom Corporation, A California Corporation Turbo decoder employing ARP (almost regular permutation) interleave and inverse thereof as de-interleave
CN101217336B (zh) * 2007-01-04 2011-02-09 浙江华立通信集团有限公司 TD-SCDMA/3G硬核turbo译码器
PL2204002T3 (pl) * 2007-10-30 2013-08-30 Sony Corp Urządzenie i sposób przetwarzania danych
GB2454318B (en) * 2007-10-30 2012-10-17 Sony Corp Data processing apparatus and method
ES2562031T3 (es) * 2007-10-30 2016-03-02 Sony Corporation Aparato y método de procesamiento de datos
JP5273054B2 (ja) 2007-11-26 2013-08-28 ソニー株式会社 データ処理装置、及びデータ処理方法、並びに、符号化装置、及び符号化方法
TWI427937B (zh) * 2007-11-26 2014-02-21 Sony Corp Data processing device and data processing method
TWI410055B (zh) * 2007-11-26 2013-09-21 Sony Corp Data processing device, data processing method and program product for performing data processing method on computer
TWI497920B (zh) * 2007-11-26 2015-08-21 Sony Corp Data processing device and data processing method
TWI390856B (zh) * 2007-11-26 2013-03-21 Sony Corp Data processing device and data processing method
TWI459724B (zh) * 2007-11-26 2014-11-01 Sony Corp Data processing device and data processing method
KR101209824B1 (ko) 2011-10-12 2012-12-07 고려대학교 산학협력단 블록 인터리빙 장치
CN103166735B (zh) * 2011-12-15 2015-11-25 无锡中星微电子有限公司 一种交织器的读写方法
CN114978420B (zh) * 2022-05-05 2023-05-16 重庆邮电大学 一种基于有限状态机的数字分集拷贝编码器及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394642A (en) * 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
US4547887A (en) * 1983-11-30 1985-10-15 The United States Of America As Represented By The Secretary Of The Army Pseudo-random convolutional interleaving
FR2639781B1 (fr) * 1988-11-25 1991-01-04 Alcatel Thomson Faisceaux Procede d'entrelacement pour dispositif de transmission numerique
US5042033A (en) 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
US5241563A (en) * 1992-08-10 1993-08-31 General Instrument Corporation Method and apparatus for communicating interleaved data
JPH06216882A (ja) * 1993-01-19 1994-08-05 Matsushita Electric Ind Co Ltd 誤り訂正送信装置及び受信装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100925429B1 (ko) * 2002-12-28 2009-11-06 엘지전자 주식회사 터보 코더

Also Published As

Publication number Publication date
CN1186880C (zh) 2005-01-26
CN1329777A (zh) 2002-01-02
IL142562A0 (en) 2002-03-10
NO20011889D0 (no) 2001-04-17
ID29939A (id) 2001-10-25
JP2002527980A (ja) 2002-08-27
US6353900B1 (en) 2002-03-05
BR9914541A (pt) 2002-01-02
MXPA01003814A (es) 2003-07-21
AU6517299A (en) 2000-05-01
NO20011889L (no) 2001-06-05
HK1040011B (zh) 2005-09-02
CA2347237A1 (en) 2000-04-20
RU2001112766A (ru) 2003-06-10
EP1121761A1 (en) 2001-08-08
WO2000022738A1 (en) 2000-04-20
HK1040011A1 (en) 2002-05-17

Similar Documents

Publication Publication Date Title
KR20010080157A (ko) 스테이트 머신 기반 인터리버를 가지는 코딩 시스템
JP4955150B2 (ja) 高並列map復号器
RU2235424C2 (ru) Перемежитель турбокода, использующий линейные конгруэнтные последовательности
KR100526512B1 (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
US6854077B2 (en) Apparatus and method for providing turbo code interleaving in a communications system
FI109162B (fi) Menetelmä ja järjestely konvoluutiokoodatun koodisanan dekoodaamiseksi
KR20010072501A (ko) 맵 디코더용 메모리 구조
US6304985B1 (en) Coding system having state machine based interleaver
JP2003198386A (ja) インターリーブ装置及びインターリーブ方法、符号化装置及び符号化方法、並びに復号装置及び復号方法
KR100628201B1 (ko) 터보 디코딩 방법
EP2297859A1 (en) Reconfigurable turbo interleaver for multiple standards
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법
KR20030045954A (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
NORF Unpaid initial registration fee