KR20000042786A - 통신시스템의인터리빙/디인터리빙장치및방법 - Google Patents

통신시스템의인터리빙/디인터리빙장치및방법 Download PDF

Info

Publication number
KR20000042786A
KR20000042786A KR1019980059068A KR19980059068A KR20000042786A KR 20000042786 A KR20000042786 A KR 20000042786A KR 1019980059068 A KR1019980059068 A KR 1019980059068A KR 19980059068 A KR19980059068 A KR 19980059068A KR 20000042786 A KR20000042786 A KR 20000042786A
Authority
KR
South Korea
Prior art keywords
address
interleaving
bit
order
interleaver
Prior art date
Application number
KR1019980059068A
Other languages
English (en)
Other versions
KR100350459B1 (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 KR1019980059068A priority Critical patent/KR100350459B1/ko
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to CNB2003101204864A priority patent/CN100536359C/zh
Priority to CNB998150363A priority patent/CN1138352C/zh
Priority to CA 2353878 priority patent/CA2353878C/en
Priority to EP17157428.8A priority patent/EP3226423A1/en
Priority to AU18946/00A priority patent/AU761546B2/en
Priority to PCT/KR1999/000820 priority patent/WO2000039941A1/en
Priority to US09/472,453 priority patent/US6493815B1/en
Priority to EP99962527A priority patent/EP1142148A4/en
Priority to JP2000591739A priority patent/JP3814146B2/ja
Publication of KR20000042786A publication Critical patent/KR20000042786A/ko
Application granted granted Critical
Publication of KR100350459B1 publication Critical patent/KR100350459B1/ko

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • 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/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/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/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/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

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)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 통신시스템에서 사용되는 인터리빙 방식에 관한 것이다. 본 발명에 따른 통신시스템의 인터리빙 장치가, 입력 프레임 데이터를 저장하는 메모리와, 상기 입력 데이터의 크기에 오프셋값을 더한 2의 거듭제곱으로 나누어 떨어지는 어드레스 영역을 가지며, 부분비트 역상순에 의해 초기 읽기 어드레스를 생성하고, 상기 생성된 어드레스에서 그룹기준값에 해당하는 어드레스를 제외한 어드레스들를 연접시켜 인터리빙 어드레스를 발생하는 어드레스 생성부로 구성되어, 상기 메모리에 저장되어 있는 데이터를 상기 발생된 어드레스에 의해 인터리빙함을 특징으로 한다.

Description

통신시스템의 인터리빙/디인터리빙 장치 및 방법
본 발명은 인터리빙/디인터리빙 장치 및 방법에 관한 것으로, 특히 무선통신시스템(위성시스템, ISDN, Digital cellular, W-CDMA, IMT-2000)에서 사용되는 터보코더를 위한 인터리빙/디인터리빙 장치 및 방법에 관한 것이다.
상기 터보코더(TURBO code encoder)에서 인터리빙은 인코더에 입력되는 정보어를 랜덤화(randomization)하고, 코드워드(Code word)의 디스턴스 성질(distance property)를 개선하고자 사용된다. 특히, 최근에 매우 많은 관심을 모으고 있는 IMT-2000(CDMA2000)의 에어 인터페이스(Air interface)에서 데이터 전송 채널로서 사용되는 부가채널(Supplemental channel)과 ETSI()에서 추진 중인 UMTS의 데이터 채널에서 터보코더가 사용될 것이 유력시 되고 있으며, 이를 위한 인터리버의 구체적 구현방식이 절실히 요구되고 있다. 또한 이 분야는 디지털 통신 시스템의 신뢰도 향상에 광범위하게 관련된 오류정정부호와 연관된 분야로서 기존의 디지털 통신시스템의 성능개선 분야와 향후 결정되는 차세대 통신시스템의 성능을 개선시키는 방식에 관한 기술분야이다.
상기 터보코더(Turbo encoder)는 L 정보 비트의 프레임(frame)으로 이루어진 입력을 두 개의 간단한 병렬 쇄상 부호를 이용하여 패리티 심볼(parity symbol)을 만드는 시스템으로서 구성 부호(component code)로는 RSC(Recursive Systematic Convolutional) 부호를 이용한다.
도 7는 일반적인 터보 부호기 구조를 도시한 도면으로, 터보부호에 대한 특허인 1995년 8월 29일 등록된 미합중국 특허(Patent Number: 5,446,747)에 자세히 개시되어 있다.
상기 도 7과 같은 구성을 갖는 터보코더는 입력 프레임 데이터를 부호화 하지 않고 출력하고, 상기 입력프레임을 부호화하여 출력하는 제1구성 부호기11와, 상기 입력 프레임 데이터를 인터리빙하여 제2구성 부호기 13로 출력하는 인터리버(interleaver) 12 및 상기 인터리버의 출력을 입력하여 부호화하는 제2구성 부호기 13으로 구성된다. 상기 제1, 제2구성 부호기 12 및 13은 이미 기술 분야에서 잘 알려진 RSC(Recursive Systematic Convolutional)부호기를 사용할 수 있다. 그리고 상기 인터리버 13은 입력되는 정보 비트의 프레임 길이와 동일한 크기를 가지며, 상기 제2구성 부호기 13에 입력되는 정보 비트 순서를 바꿈으로써 정보 비트들 사이의 상관(correlation)을 줄여주게 된다.
종래에는 상기 터보코더의 내부 인터리버(internal interleaver) 13로서, PN 랜덤 인터리버(random interleaver), 랜덤 인터리버, 블록 인터리버(Block interleaver), 비선형 인터리버(Non linear interleaver), S-Random interleaver 등 다양한 방식이 제안되었다. 그러나 이러한 인터리버들은 아직까지 구현의 관점보다는 학문적인 연구분야로서 성능개선에 주안점을 두고 설계된 알고리즘들로 볼수 있다. 따라서 실제 시스템의 구현을 고려할 때 하드웨어 구현 복잡도라는 측면에서 재고가 필요한 방식들이라 할수 있다. 이하 종래 터보코더 인터리버에 대한 기술과 성질 그리고 문제점을 설명한다.
터보코더는 기본적으로 내부 인터리버의 역할을 의해서 성능이 좌우된다. 일반적으로 주어진 설계 스팩()하에서 최적의 성능을 보장하는 인터리버의 설계는 인터리버 크기(size)의 증가에 따라 요구되는 계산량이 기하급수적으로 증가하기 때문에 실제 구현 불가능하다. 따라서 실제 구현을 위한 방법은 일반적으로 몇 가지 기준을 마련하고 그 기준을 최대한 만족시키는 실험방식으로 인터리버을 구현한다. 이러한 기준들이 되는 특성들은 하기와 같다.
거리 성질(Distance Properity) : 인접한 코드워드 심볼들간의 거리를 어느 정도 이상 유지해야 한다. 이것은 길쌈부호(Convolutional code)의 코드워드 디스턴스 거리 성질과 동일한 역할을 하므로 동일한 조건에서 가급적 크도록 설계하는 것이 바람직하다.
가중치 성질(Weight Properity) : 제로가 아닌 정보어(Non-zero information word)에 대응되는 코드워드의 가중치가 어느정도 이상 되어야 한다. 이것은 길쌈부호의 최소거리(minimum distance) 성질과 동일한 역할을 하므로 동일한 조건에서 크도록 설계하는 것이 바람직하다.
랜덤 성질(Random Properity) : 인터리빙 이전의 원래 입력 워드 심볼(original input word symbol)들간의 상관 계수(correlation factor)에 비하여 인터리빙 이후의 출력 워드 심볼들간의 상관 계수가 매우 낮아야 한다. 즉, 출력 워드 심볼들간에 랜덤화가 충실히 이루어져야 한다. 이는 연속 디코딩에서 발생되는 외부정보 성질(Extrinction information quality)에 직접적인 영향을 주는 요인이다.
상술한 세가지 설계 기준은 일반적으로 생각되는 터보 인터리버의 역할이지만, 이 또한 명확하게 분석되지는 않는다. 터보 인터리버를 설계할 때 발생되는 또 다른 문제점의 하나는 프레임 크기가 다양하고 커질수록 인터리버의 인덱스(mapping rule, 또는 address)를 저장하기 위한 메모리의 크기가 너무 커진다는 것이다. 즉, 어드레싱을 위한 메모리 공간이 매우 증가하게 된다. 따라서, 하드웨어의 크기가 문제된다면, 인터리버의 인덱스를 저장하는 룩업 테이블(Look-Up Table)방식보다는 인덱스를 발생시키는 규칙(rule)을 사용하여 매 심볼 클럭마다 어드레스를 발생시켜 해당되는 어드레스에 저장된 데이터를 읽어내는 어드레스 열거(enumeration)방식이 바람직하다.
이를 종합해 볼 때, IMT-2000용이나 UTMS(Universal Mobile Telecommunication System)와 같이 다양한 인터리버 크기가 요구되고 하드웨어 구현의 복잡성이 제한받는 경우의 터보 인터리버를 구현하기 위해서는 이러한 제한적 여건들을 고려한 상태에서 최적의 인터리버 성능이 보장되도록 설계되어야 한다. 즉, 요구되는 인터리버는 어드레스를 발생시키는 규칙을 고안한 후 이를 바탕으로 인터리빙/디인터리빙이 이루어지도록 하여야 한다. 물론, 앞서 언급한 터보 내부 인터리버의 성질이 충실히 반영되도록 설계되어야 한다.
IMT-2000 스팩(specification) 또는 UMTS(Universal Mobile Telecommunication) 스팩에서는 터보 인터리버로 아직 아무런 방식도 구체적으로 정의하고 있지 않다. IMT-2000 스팩에 주어진 순방향 링크(forward link)와 역방향 링크(reverse link)의 경우 논리채널(logical channel)의 종류가 매우 다양하며, 인터리버 크기 또한 여러 종류로 구성되어 이를 충실히 반영하기 위해서는 많은 양의 메모리가 요구된다. 예로서, 순방향 링크 N=3인 전송모드의 경우 최소 144bits/frame부터 최대 36864bits/frame까지 매우 다양한 크기의 인터리버가 사용된다. 따라서 본 발명에서는 구체적인 예로서 IMT-2000의 순방향 링크상의 터보코더에 대한 인터리버를 설계한다.
상술한 바와 같이 종래기술의 문제점은 다음과 같이 요약된다.
첫째, 기존의 터보코드를 위한 내부 인터리버로서 PN 랜덤 인터리버, 랜덤 인터리버, 블록 인터리버, 비선형 인터리버, S-R 랜덤 인터리버 등 다양한 방식이 제안되었다. 그러나 이러한 인터리버들은 아직까지 구현의 관점보다는 학문적인 연구분야로서 성능개선에 주안점을 두고 설계된 알고리즘들로 볼수 있다. 따라서 실제 시스템의 구현을 고려할 때 상기 명시한 조건과 더불어 하드웨어 구현 복잡도를 반드시 고려해야 하는데 이 부분이 구체적으로 제시되지 않았다.
둘째, 기존의 인터리빙 방식의 대부분이 룩업 테이블 방식으로 각가의 인터리버 크기에 따른 인터리빙 규칙을 송수신기의 제어부(CPU, HOST)가 저장해 두어야 하므로 인터리버 버퍼 이외에 별도의 저장공간이 호스트 메모리 쪽에 필요하다. 즉, 설계 상의 문제점 중 하나는 프레임 사이즈가 다양하고 커질수록 인터리버의 인덱스(매핑 규칙 또는 어드레스)를 저장하기 위한 메모리의 크기가 너무 커진다는 것이다. 즉, 어드레싱을 위한 메모리 공간이 매우 증가하게 된다.
셋째, 거리 성질과 랜덤 성질을 동시에 만족하는 인터리버의 구현이 쉽지 않았다.
넷째, cdma2000 순방향 링크의 터보코더를 위한 구체적인 터보 인터리버 설계 스팩이 제시되지 않았다.
따라서 본 발명의 목적은 통신시스템에서 다양한 크기의 인터리버를 구현할수 있는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 통신시스템에서 터보코더의 특성인 거리특성, 가중치특성, 랜덤특성을 동시에 만족하는 인터리빙/디인터리빙 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 통신시스템에서 오프셋 제어방식의 인터리빙/디인터리빙 장치 및 방법을 제공함에 있다.
상기 목적들을 달성하기 위한 통신시스템의 인터리빙 장치가, 입력 프레임 데이터를 저장하는 메모리와, 상기 입력 데이터의 크기에 오프셋값을 더한 2의 거듭제곱으로 나누어 떨어지는 어드레스 영역을 가지며, 부분비트 역상순에 의해 초기 읽기 어드레스를 생성하고, 상기 생성된 어드레스에서 그룹기준값에 해당하는 어드레스를 제외한 어드레스들를 연접시켜 인터리빙 어드레스를 발생하는 어드레스 생성부로 구성되어, 상기 메모리에 저장되어 있는 데이터를 상기 발생된 어드레스에 의해 인터리빙함을 특징으로 한다.
도 1은 본 발명에 따른 통신시스템의 인터리빙 장치의 블록 구성을 도시한 도면.
도 2는 본 발명에 따른 통신시스템의 디인터리빙 장치의 블록 구성을 도시한 도면.
도 3은 부분비트 역상순 인터리빙을 사용하는 경우, 오프셋값에 해당하는 심볼들이 인터리빙되어 인터리빙된 심볼 사이 사이에 존재하는 모습을 보여주는 도면.
도 4는 부분비트 역상순 알고리즘에 의해 생성된 어드레스 번지에서 오프셋값에 의해 추가된 어드레스를 새로운 어드레스 번지에 매핑시킨 모습을 보여주는 도면.
도 5는 본 발명의 실시 예에 따라 상기 도 1를 구체화한 도면.
도 6은 본 발명의 실시 예에 따른 인터리빙 절차를 도시한 도면.
도 7은 일반적인 터보부호기 구조를 도시한 도면.
이하 본 발명의 바람직한 실시예를 첨부된 도면의 참조와 함께 상세히 설명한다.
우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 동일 부호를 가지도록 하였다. 또한 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
본 발명에서 사용하는 인터리버/디인터리버는 인터리빙/디인터리빙을 사용하여 입력으로 들어오는 심볼들의 순서를 치환(permutation)한 뒤 출력 버퍼에 새로운 순서에 따라 저장한다. 따라서 본 발명에서 제안하는 인터리버/디인터리버는 기본적으로, 인터리버 메모리(Input data buffer/Output data buffer), 오프셋 제어 인터리빙 블록(Partial Reversal Interleaver + Comparator), 업-다운 카운터(Up-Down Counter)가 필요하다.
도 1 및 도 2는 본 발명에 따른 인터리버 및 디인터리버의 블록 구성을 보여준다.
상기 도 1를 참조하여 인터리버의 구성을 살펴보면, 어드레스 생성부(111)는 인터리버 크기N, BIT_SHIFT, UP_LIMIT 값 및 클럭(clock)을 입력하여 읽기모드를 수행하기 위한 인터리버 메모리 어드레스를 생성하여 디인터리버 메모리(112)로 출력한다. 상기 인터리버 메모리(112)는 쓰기모드시 입력데이타를 순서대로 저장하고, 읽기모드시 상기 어드레스 생성부(111)에서 제공되는 어드레스에 따라 데이터를 출력한다. 카운터(113)는 클럭(Clock)을 입력하며, 상기 클럭을 카운터한 값을 상기 인터리버 메모리(112)의 쓰기 어드레스(Write) 값으로 출력한다. 상기한 바와 같이 상기 인터리버는 쓰기모드시 입력데이타를 인터리버 메모리(112)에 순서대로 저장하고, 읽기모드시 상기 어드레스 생성부(111)에서 발생된 읽기 어드레스에 따라 상기 인터리버 메모리(112)에 저장되어 있는 데이터를 출력한다.
상기 도 2를 참조하여 디인터리버의 구성을 살펴보면, 어드레스 생성부(211)는 인터리버 크기N, BIT_SHIFT, UP_LIMIT 및 클럭을 입력하여 쓰기모드를 수행하기 위한 인터리버 메모리 어드레스를 생성하여 디인터리버 메모리(212)로 출력한다. 상기 디인터리버 메모리(212)는 쓰기모드시 상기 어드레스 생성부(211)에서 제공되는 쓰기 어드레스(write ADDR)에 따라 입력데이타를 저장하고, 읽기모드시 저장 데이터를 순서대로 출력한다. 카운터(213)는 클럭(Clock)을 입력하며, 상기 클럭을 카운터한 값을 상기 디인터리버 메모리(212)의 읽기 어드레스(Read ADDR) 값으로 출력한다.
상술한 바와 같이, 상기 디인터리버는 인터리버의 역과정으로 구조상 모든 부분이 완전히 동일하며, 단지 읽기/쓰기 모드에서 입력되는 데이터의 순서가 다를 뿐이다. 따라서 이하 설명은 인터리버를 위주로 설명할 것이다.
터보코더로 사용되는 오프셋 제어 인터리버(OCI;Offset Controlled Interleaver)는 부분비트 역상순 인터리버(PBRI;Partial Bit Reversal Interleaver)와 유사한 구조를 가진다. 상기 부분비트 역상순 인터리버에 대한 내용은 기출원된 특허출원 제98-54131호에 상세히 개시되어 있다. 입력되는 프레임(information symbol + CRC symbol)의 크기를 L이라 할 때, 상기 OCI는 상기 L보다 큰 부분비트 역상순 인터리버 크기 N 중에서 (N-L)을 최소로 하는 오프셋값 OSV(Offset value)를 구한다. 이때 구해진 N을 인터리버의 크기로 사용하며, 하기 수학식 1과 같이 주어진 부분비트 역상순 인터리빙 알고리즘에 의해 동일하게 인터리빙을 수행한다.
For a given k .....(0 < k < N-1)
PLC = k mod UP_LIMIT;
PUC = k div UP_LIMIT;
AUC = PLC;
ALC = REVERSE_ORDER (PUC);
ADDRESS_READ = AUC×2BIT_SHIFT+ALC
"Interleaving mapping : k+1↔ADDRESS_READ+1"
상기 수학식 1에서 k(k=0,1.2....N-1)는 입력 데이터의 시간인덱스(time index)를 나타내며, PLC, PUC, ALC 및 AUC는 임의의 변수를 나타낸다. "mod"와 "div"는 각각 나머지와 몫을 구하는 모듈로 오퍼레이션(Modulo operation)과 디바이더 오퍼레이션(Divider operation)을 나타낸다. 또한, REVERSE_ORDER(H)는 H를 이진 포맷(binary format)으로 전환한 뒤, MSB로부터 LSB의 순서를 내림차순(reverse ordering)으로 하는 bit-wise location-reversal operation을 나타내는 함수이다. 따라서 상기한 수학식 1을 이용하여 입력 데이터 시퀀스의 시간인덱스 k에 해당되는 데이터의 읽기 시퀀스 인덱스인 ADDRESS_READ를 구한다.
상기 수학식 1를 참조하여 인터리버 크기 N이 576인 경우 인터리빙 어드레스값(ADDRESS_READ)을 구하는 방법을 설명하면, 우선 상기 576을 이진형태로 나타내면 N=[10 0100 0000]이다. 여기서 LSB로부터 MSB방향으로 연속되는 '0'의 최대수를 구하고, 이를 BIT_SHIFT로 정의한다. 또한 이때의 위치를 j라고 한다. 따라서 상기 BIT_SHIFT는 6이 되고, 상기 j 값 또한 6이 된다. 그리고 상기 MSB로부터 j+1번째까지의 비트들을 모아서 이를 십진수(1001=9(10))를 전환하여 UP_LIMIT(9)를 구한다. 따라서, PLC = 2 mod 9 = 2이고, PUC = 2 div 9 = 0이다. 여기서 상기 PLC 값은 AUC 값으로 대치된다. 또한, ALC = REVERSE_ORDER(2) = 1이다. 따라서 최종적으로 구해지는 인터리빙 어드레스 번지값 ADDRESS_READ = 2×26+ 1 = 129이다.
그러나, 상기 수학식 1에 의해 생성된 ADDRESS_READ에 의해 인터리버 메모리의 해당번지를 어드레싱하여 "DATA READ"하는 경우 결국 OSV 수 만큼의 무효한 데이터가 읽어지게 된다. 즉, [0..L-1]의 입력데이타들에 해당되는 ADDRESS_READ 이외에 [L..N-1]에 해당되는 최종 8심볼에 해당되는 ADDRESS_READ가 인터리빙 시퀀스 사이 사이에 존재하게 된다. 이에 대한 설명이 도 3에 도시되어 있다. 또한 이것을 그대로 읽을 경우, 실제 전송해야 할 L심볼보다 OSV(=8)개 많은 N개의 심볼들이 전송되므로 사이에 존재하는 어드레스를 빼고 후속하는 어드레스를 연접시켜야 한다.
상기 도 3에 도시된 바와 같이, N-부분비트 역상순 인터리빙을 사용하는 경우, L에서 N-1까지의 심볼들이 사이 사이에 존재하게 된다. 따라서 이 부분을 제외하고 차례로 인터리빙된 심볼들을 출력해야 한다. 이를 위한 방법으로 오프셋 제어방식을 사용한다. 즉, [L..N-1]에서 최종 8 심볼에 해당되는 ADDRESS_READ는 항상 부분비트 역상순 인터리빙에 의하여 일정하게 결정된다. 우선, 테일(tail)의 8심볼들의 어드레스를 D1, D2, D3,...,D8(즉,L..N-1)이라 하자. 그리고 각각의 Di(i=1..8)에 해당되는 부분비트 역상순 인터리빙에 의해 생성되는 어드레스를 Tk=PIRB(Di), k=1..8,라 하자. 물론 D1<D2라 해서 반드시 T1<T2는 아니며 임의의 순서에 의해 배치된다. 따라서, 편의상 T1<T2<..<T8의 순서로 배치되도록 조정한 인덱스를 j라 하고, 이를 사용한 어드레스를 Tj(j=1..8)로 정의하자. 그러면 상기 어드레스를 기준으로 N개의 인터리버 공간은 8개의 그룹으로 분할되며, 각각의 Ti가 그 경계를 구분하는 기준값(Threshold)이 된다. 따라서 Ti를 삭제하기 위해서 Group0..Group7에 해당되는 어드레스에 해당 그룹의 오프셋값을 빼주면 된다. 즉, G0의 경우에는 ADDRESS_READ - 0, G1의 경우에는 ADDERSS_READ - 1,..., G7의 경우에는 ADDRESS_READ - 7을 해주면 발생되는 모든 어드레스는 [0..L-1] 사이의 값을 가지게 된다.
도 4는 상기 부분비트 역상순 알고리즘에 의해 생성된 어드레스 번지에서 오프셋값에 의해 추가된 어드레스를 제거하여 새로운 어드레스 번지에 매핑시킨 모습을 보여준다. 이럴 경우, 불필요하게 인터리빙되어 출력되는 심볼들을 제거할수 있다.
따라서, 본 발명에 따라 최종적으로 구현되는 알고리즘은 하기 수학식 2와 같다.
For a given k .....(0 < k < N-1)
PLC = k mod UP_LIMIT;
PUC = k div UP_LIMIT;
AUC = PLC;
ALC = REVERSE_ORDER (PUC);
ADDRESS_READ = AUC×2BIT_SHIFT+ALC
if(0≤ADDRESS_READ<GTH0) {ADDRESS_READ-0;}
if(GTH0<ADDRESS_READ<GTH1) {ADDRESS_READ-1;}
if{GTH1<ADDRESS_RESD<GTH2) {ADDRESS_READ-2;}
if(GTH2<ADDRESS_READ<GTH3) {ADDRESS_READ-3;}
if(GTH3<ADDRESS_READ<GTH4) {ADDRESS_READ-4;}
if(GTH4<ADDRESS_READ<GTH5) {ADDRESS_READ-5;}
if(GTH5<ADDRESS_READ<GTH6) {ADDRESS_READ-6;}
if(GTH6<ADDRESS_READ<N-1) {ADDRESS_READ-7;}
여기서 상기 수학식 2의 알고리즘을 구체적인 하드웨어 구성으로 나타내면 도 5와 같다. 상기 도 5는 상기한 도 1의 구성을 기본으로 하며, 단지 어드레스 생성부의 상세 구성을 보여준다.
상기 어드레스 생성부(111)의 구성을 살펴본면, 부분비트역상순부121은 상기 수학식 1과 같은 부분비트 역상순 인터리빙 알고리즘에 따라 초기 읽기 어드레스를 생성한다. 비교부122는 상기 부분비트역상순부121에서 출력되는 어드레스를 각 그룹의 그룹기준값들과 비교하여 어느 그룹에 속하는지 판단하고, 그 결과로서 해당 그룹의 오프셋값을 선택하기 위한 선택신호를 출력한다. 오프셋값 선택부123은 상기 선택신호에 따라 해당 그룹의 오프셋값을 선택 출력한다. 감산기124는 상기 부분비트역상순부121에서 출력되는 어드레스 값에서 상기 선택된 오프셋값을 감하여 최종 읽기 어드레스를 출력한다.
상술한 바와 같이, 상기 어드레스 생성부(111)은 부분비트역상순부(121)에서 일차적으로 부분비트 역상순 인터리빙 알고리즘에 의해 초기 읽기 어드레스를 산출하고, 비교부(122)에서 상기 산출된 어드레스가 어느 그룹에 속하는지 판단한다. 그리고 상기 감산부(124)에서 상기 산출된 어드레스 값에서 해당 그룹의 오프셋값을 감하여 최종 인터리빙 어드레스를 산출한다.
이하 본 발명에 따른 전체적인 동작 흐름을 도 6을 참조하여 살펴본다.
우선, 상기 어드레스 생성부(111)는 611단계에서 시간인덱스 k를 초기화한다. 그리고 613단계어서 부분비트 역상순 인터리빙 알고리즘을 이용하여 상기 시간인덱스 값에서 출력되어야 하는 데이터의 어드레스 번지값을 산출한다. 이후, 상기 어드레스 생성부(111)는 615단계에서 상기 산출된 어드레스 번지값이 어느 그룹에 속하는지 검사한다. 물론, 각 그룹에 대한 정보는 미리 테이블화 되어 저장되어 있는 상태다. IMT-2000 시스템을 예로 들 경우, 하기 표 3와 같은 테이블을 저장하게 된다. 또한, 상기 그룹기준값들은 상기 부분비트 역상순 인터리빙 알고리즘을 통해 미리 얻어진다. 만일, 입력데이타 크기가 568라 가정할 경우, 산출된 어드레스 번지값이 127 미만일 경우 그룹0(GTH0)에 속하게 되고, 127초과 191미만일 경우 그룹1(GTH1)에 속하며, 191초과 255미만일 경우 그룹2(GTH2)에 속하고, 255초과 319미만일 경우 그룹3(GTH3) 등등 속하게 된다. 이후, 상기 어드레스 생성부(111)는 617단계에서 상기 산출된 어드레스 번지값에서 해당 그룹의 오프셋값을 감하여 최종 인터리빙 어드레스를 산출한다. 즉, 상기 어드레스 번지값이 그룹0에 해당할 경우 그룹의 오프셋값인 0을 감하고, 어드레스 값이 그룹5에 속할 경우 그룹의 오프셋값 5를 감하여 최종 인터리빙 어드레스 번지를 산출한다. 그리고 상기 어드레스 생성부(111)는 619단계에서 이렇게 생성된 어드레스 번지를 인터리버 메모리로 출력하여 해당 번지에 저장되어 있는 심볼 데이터가 출력되도록 한다. 그리고 521단계에서 상기 시간인덱스를 1만큼 증가한 후 다시 인터리빙 어드레스를 산출하기 위해 상기 619단계로 되돌아간다.
이하 본 발명에 따른 오프셋 제어 인터리빙 방식을 IMT-2000 시스템에 적용할 경우 각 입력 데이터 크기에 따른 파라미터 값들을 나타내면 하기 표 1 내지 표 3와 같다. 여기서 상기 표 1은 각 입력 데이터 크기에 따른 오프셋값, 비트부분 역상순 알고리즘을 수행할 경우 발생되는 인터리버 크기, 상기 비트부분 역상순 알고리즘에 의해 산출되는 UP_LIMIT/BIT_SHIFT 및 데이터 레이트를 보여준다.
L(Inf+CRC) L(Binary) 오프셋값 인터리버크기 (N) N(Binary) UP_LIMIT BIT_SHIFT 레이트 셋
레이트 셋 1
376 101111000 8 384 110000000 3(11) 7 @19.2kbps
760 1011111000 8 768 1100000000 3(11) 8 @38.4kbps
1528 10111111000 8 1536 11000000000 3(11) 9 @76.8kbps
3064 101111111000 8 3072 110000000000 3(11) 10 @153.6kbps
6136 1011111111000 8 6144 1100000000000 3(11) 11 @307.2kbps
레이트 셋 2
568 1000111000 8 576 1001000000 9(1001) 6 @28.2kbps
1144 10001111000 8 1152 10010000000 9(1001) 7 @57.6kbps
2296 100011111000 8 2304 100100000000 9(1001) 8 @115.2kbps
4600 1000111111000 8 4608 1001000000000 9(1001) 9 @230.4kbps
9208 10001111111000 8 9216 10010000000000 9(1001) 10 @460.8kbps
N(이진형태) N-1(이진형태) 상한 카운터UP_LIMT-1 하한 카운터 최대 거리
레이트 셋 1
384 110000000 101111111 10 b[6:0] 128
768 1100000000 1011111111 10 b[7:0] 256
1536 11000000000 10111111111 10 b[8:0] 512
3072 110000000000 101111111111 10 b[9:0] 1024
6144 1100000000000 1011111111111 10 b[10:0] 2048
레이트 셋 2
576 1001000000 1000111111 1000 b[5:0] 64
1152 10010000000 10001111111 1000 b[6:0] 128
2304 100100000000 100011111111 1000 b[7:0] 256
4608 1001000000000 1000111111111 1000 b[8:0] 512
9216 1001000000000 10001111111111 1000 b[9:0] 1024
하기 표 3은 각 레이트 셋에 따른 그룹기준값(Group Threashold;GTHi)을 보여준다.
레이트 셋 1(Rate Set1) 레이트 셋 2(Rate Set 2)
L=376 760 1528 3064 6136 L=568 1144 2296 4600 9208 오프셋값
GTH0 63 127 255 511 1023 127 255 511 1023 2047 0
GTH1 127 255 511 1023 2047 191 383 767 1535 3071 -1
GTH2 191 383 767 1535 3071 255 511 1023 2047 4095 -2
GTH3 223 447 895 1791 3583 319 639 1279 2559 5119 -3
GTH4 255 511 1023 2047 4095 383 767 1535 3071 6143 -4
GTH5 319 639 1279 2559 5119 447 895 1791 3583 7167 -5
GTH6 351 703 1407 2815 5631 511 1023 2047 4095 8191 -6
GTH7 383 767 1535 3071 6143 575 1151 2303 4607 9215 -7
상술한 바와 같이 본 발명에 따른 오프셋 제어 인터리빙 방식은 인터리버 크기가 2의 거듭제곱으로 표현되지 않아도 인터리빙이 가능하다. 인터리빙을 위한 별도의 어드레스가 필요하지 않아 하드웨어 디바이스를 줄일수 있다. 송수신을 위한 인터리버/디인터리버 전송방식이 간결하고, 프레임 크기인 L비트 만큼의 인터리버 메모리가 필요하므로 메모리 활용면에서 효율적이다. 터보 인터리버의 특성(property) 중의 하나인 거리특성(distance property) 면에서 우수한 성질을 갖는다.

Claims (8)

  1. 이동통신 시스템의 인터리버 장치에 있어서,
    입력 프레임 데이터를 저장하는 메모리와,
    상기 입력 데이터의 크기에 오프셋값을 더한 2의 거듭제곱으로 나누어 떨어지는 어드레스 영역을 가지며, 부분비트 역상순에 의해 초기 읽기 어드레스를 생성하고, 상기 생성된 어드레스에서 그룹기준값에 해당하는 어드레스를 제외한 어드레스들를 연접시켜 인터리빙 어드레스를 발생하는 어드레스 생성부로 구성되어,
    상기 메모리에 저장되어 있는 데이터를 상기 발생된 어드레스에 의해 인터리빙함을 특징으로 하는 인터리버 장치.
  2. 제1항에 있어서, 상기 어드레스 생성부가,
    상기 부분비트 역상순에 의해 초기 어드레스를 생성하는 부분비트역상순부와,
    그룹기준값들을 가지고, 상기 초기 어드레스가 어느 그룹에 속하는지 판단하며, 상기 어드레스에서 해당 그룹의 오프셋값을 감하여 최종 인터리빙 어드레스를 생성하는 오프셋제어부로 구성됨을 특징으로 하는 인터리빙 장치.
  3. 제2항에 있어서, 상기 부분비트역상순부가 하기 수학식 3에 의해 어드레스를 생성함을 특징으로 하는 인터리빙 장치.
    For a given k .....(0 < k < N-1)
    PLC = k mod UP_LIMIT;
    PUC = k div UP_LIMIT;
    AUC = PLC;
    ALC = REVERSE_ORDER (PUC);
    ADDRESS_READ=AUC×2BIT_SHIFT+ALC;
    여기서 상기 k는 출력되는 데이터의 순서를 나타내는 것으로 시간카운트 이고, 상기 BIT_SHIFT는 상기 메모리 크기를 2진형태로 나타내었을 때 LSB로부터 MSB방향으로 연속되는 '0'의 비트 개수이며, 상기 UP_LIMIT는 상기 연속되는 0를 제외한 비트들의 십진수에 해당하는 값이고, 상기 PLC, PUC, ALC 및 AUC는 임의의 변수이며, 상기 REVERCE_ORDER(PUC)는 PUC를 이진 형태로 변환한 후 최상위 비트로부터 최하위 비트의 순서를 내림차순으로 정열하여 십진형태로 변환하는 비트역상순 함수이고, 상기 ADDRESS_READ는 출력되는 데이터의 어드레스 번지값임.
  4. 제1항에 있어서,
    상기 오프셋값이 8임을 특징으로 하는 인터리빙 장치.
  5. 통신시스템의 인터리빙 방법에 있어서,
    입력 프레임 데이터를 저장하는 과정과,
    상기 입력 데이터의 크기에 오프셋값을 더한 2의 거듭제곱으로 나누어 떨어지는 어드레스 영역을 가지며, 부분비트 역상순에 의해 초기 읽기 어드레스를 생성하고, 상기 생성된 어드레스에서 그룹기준값에 해당하는 어드레스를 제외한 어드레스들를 연접시켜 인터리빙하는 과정으로 이루어짐을 특징으로 하는 인터리빙 방법.
  6. 제5항에 있어서, 상기 인터리빙 과정이,
    상기 부분비트 역상순에 의해 초기 어드레스를 생성하는 단계와,
    그룹기준값들을 가지고, 상기 초기 어드레스가 어느 그룹에 속하는지 판단하며, 상기 어드레스에서 해당 그룹의 오프셋값을 감하여 최종 인터리빙 어드레스를 생성하는 오프셋제어단계로 이루어짐을 특징으로 하는 인터리빙 방법.
  7. 제6항에 있어서, 상기 부분비트역상순부가 하기 수학식 4에 의해 어드레스를 생성함을 특징으로 하는 인터리빙 장치.
    For a given k .....(0 < k < N-1)
    PLC = k mod UP_LIMIT;
    PUC = k div UP_LIMIT;
    AUC = PLC;
    ALC = REVERSE_ORDER (PUC);
    ADDRESS_READ=AUC×2BIT_SHIFT+ALC;
    여기서 상기 k는 출력되는 데이터의 순서를 나타내는 것으로 시간카운트 이고, 상기 BIT_SHIFT는 상기 메모리 크기를 2진형태로 나타내었을 때 LSB로부터 MSB방향으로 연속되는 '0'의 비트 개수이며, 상기 UP_LIMIT는 상기 연속되는 0를 제외한 비트들의 십진수에 해당하는 값이고, 상기 PLC, PUC, ALC 및 AUC는 임의의 변수이며, 상기 REVERCE_ORDER(PUC)는 PUC를 이진 형태로 변환한 후 최상위 비트로부터 최하위 비트의 순서를 내림차순으로 정열하여 십진형태로 변환하는 비트역상순 함수이고, 상기 ADDRESS_READ는 출력되는 데이터의 어드레스 번지값임.
  8. 제5항에 있어서,
    상기 오프셋값이 8임을 특징으로 하는 인터리빙 방법.
KR1019980059068A 1998-12-26 1998-12-26 통신시스템의인터리빙/디인터리빙장치및방법 KR100350459B1 (ko)

Priority Applications (10)

Application Number Priority Date Filing Date Title
KR1019980059068A KR100350459B1 (ko) 1998-12-26 1998-12-26 통신시스템의인터리빙/디인터리빙장치및방법
CNB998150363A CN1138352C (zh) 1998-12-26 1999-12-27 通信系统的交织/解交织装置和方法
CA 2353878 CA2353878C (en) 1998-12-26 1999-12-27 Interleaving / deinterleaving device and method for communication system
EP17157428.8A EP3226423A1 (en) 1998-12-26 1999-12-27 Interleaving / deinterleaving device and method for communication system
CNB2003101204864A CN100536359C (zh) 1998-12-26 1999-12-27 通信系统的交织/解交织装置和方法
AU18946/00A AU761546B2 (en) 1998-12-26 1999-12-27 Interleaving / deinterleaving device and method for communication system
PCT/KR1999/000820 WO2000039941A1 (en) 1998-12-26 1999-12-27 Interleaving / deinterleaving device and method for communication system
US09/472,453 US6493815B1 (en) 1998-12-26 1999-12-27 Interleaving/deinterleaving device and method for communication system
EP99962527A EP1142148A4 (en) 1998-12-26 1999-12-27 NESTING AND DECORATING DEVICE AND METHOD FOR COMMUNICATION SYSTEM
JP2000591739A JP3814146B2 (ja) 1998-12-26 1999-12-27 通信システムのインターリービング/デインターリービング装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980059068A KR100350459B1 (ko) 1998-12-26 1998-12-26 통신시스템의인터리빙/디인터리빙장치및방법

Publications (2)

Publication Number Publication Date
KR20000042786A true KR20000042786A (ko) 2000-07-15
KR100350459B1 KR100350459B1 (ko) 2002-12-26

Family

ID=19566039

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980059068A KR100350459B1 (ko) 1998-12-26 1998-12-26 통신시스템의인터리빙/디인터리빙장치및방법

Country Status (8)

Country Link
US (1) US6493815B1 (ko)
EP (2) EP3226423A1 (ko)
JP (1) JP3814146B2 (ko)
KR (1) KR100350459B1 (ko)
CN (2) CN1138352C (ko)
AU (1) AU761546B2 (ko)
CA (1) CA2353878C (ko)
WO (1) WO2000039941A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100480286B1 (ko) * 1999-04-02 2005-04-06 삼성전자주식회사 터보 인터리빙 어드레스 발생 장치 및 방법
KR101131323B1 (ko) * 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
US8156390B2 (en) 2004-12-22 2012-04-10 Qualcomm Incorporated Pruned bit-reversal interleaver
US8484532B2 (en) 2001-02-23 2013-07-09 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
US9160418B2 (en) 2012-03-29 2015-10-13 Samsung Electronics Co., Ltd. Near field communication method and apparatus thereof

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100306282B1 (ko) * 1998-12-10 2001-11-02 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
US7302621B2 (en) * 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
US6947491B2 (en) * 2000-09-13 2005-09-20 Interdigital Technology Corporation Third generation FDD modem interleaver
DE10048872A1 (de) * 2000-10-02 2002-04-25 Infineon Technologies Ag Abschnittsweise Entschachtelung
US7187708B1 (en) * 2000-10-03 2007-03-06 Qualcomm Inc. Data buffer structure for physical and transport channels in a CDMA system
KR100724921B1 (ko) * 2001-02-16 2007-06-04 삼성전자주식회사 통신시스템에서 부호 생성 및 복호 장치 및 방법
EP1257064B1 (en) * 2001-05-10 2008-11-19 STMicroelectronics S.r.l. Prunable S-random block interleaver method and corresponding interleaver
JP4634672B2 (ja) * 2001-09-25 2011-02-16 三菱電機株式会社 サイトダイバーシチ送受信装置
KR100860660B1 (ko) * 2002-01-09 2008-09-26 삼성전자주식회사 통신시스템의 인터리빙 장치 및 방법
RU2261529C2 (ru) * 2002-02-06 2005-09-27 Самсунг Электроникс Ко.,Лтд Перемежитель и способ перемежения в системе связи
AU2003268814B2 (en) * 2002-02-06 2005-07-28 Samsung Electronics Co., Ltd. Interleaver and interleaving method in a communication system
US8077743B2 (en) * 2003-11-18 2011-12-13 Qualcomm Incorporated Method and apparatus for offset interleaving of vocoder frames
KR100520934B1 (ko) * 2003-12-30 2005-10-17 삼성전자주식회사 디인터리버 메모리의 크기가 절감된 디지털 방송 수신기의디인터리빙장치 및 그의 디인터리빙방법
WO2005099099A1 (en) * 2004-03-05 2005-10-20 Thomson Licensing Address generation apparatus for turbo interleaver and deinterleaver in w-cdma systems
US7684505B2 (en) * 2004-04-26 2010-03-23 Qualcomm Incorporated Method and apparatus for encoding interleaving and mapping data to facilitate GBPS data rates in wireless systems
US7437650B2 (en) * 2005-04-12 2008-10-14 Agere Systems Inc. Pre-emptive interleaver address generator for turbo decoders
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7793169B2 (en) * 2005-10-19 2010-09-07 Telefonaktiebolaget Lm Ericsson (Publ) Intelligent table-driven interleaving
KR20080092232A (ko) * 2007-04-11 2008-10-15 삼성전자주식회사 전송스트림 생성 장치 및 터보 패킷 디멀티플렉싱 장치그리고 그 방법
KR101435830B1 (ko) * 2007-06-20 2014-08-29 엘지전자 주식회사 인터리빙 수행 방법
WO2009038408A2 (en) * 2007-09-21 2009-03-26 Lg Electronics Inc. Digital broadcasting system and data processing method
CN101882970A (zh) * 2009-05-06 2010-11-10 中国科学院微电子研究所 多模式的交织与解交织地址生成方法及装置
CN104022785B (zh) * 2014-06-20 2017-01-18 成都德芯数字科技股份有限公司 Dvb‑t2标准中的比特交织方法
US10853168B2 (en) * 2018-03-28 2020-12-01 Samsung Electronics Co., Ltd. Apparatus to insert error-correcting coding (ECC) information as data within dynamic random access memory (DRAM)
WO2020170039A1 (en) * 2019-02-20 2020-08-27 Marvell Asia Pte, Ltd. High density fractional bit solid state drives using coded set partitions

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2592258B1 (fr) * 1985-12-23 1991-05-03 Thomson Csf Procede et dispositif de transmission radioelectrique d'informations codees, resistant au brouillage
FR2639781B1 (fr) * 1988-11-25 1991-01-04 Alcatel Thomson Faisceaux Procede d'entrelacement pour dispositif de transmission numerique
US5063533A (en) * 1989-04-10 1991-11-05 Motorola, Inc. Reconfigurable deinterleaver/interleaver for block oriented data
US5293607A (en) * 1991-04-03 1994-03-08 Hewlett-Packard Company Flexible N-way memory interleaving
EP0613088A1 (en) * 1993-02-24 1994-08-31 Digital Equipment Corporation Method of memory interleaving and memory systems interleaved thereby
JP2699824B2 (ja) * 1993-09-28 1998-01-19 日本電気株式会社 可変レート伝送における伝送誤り訂正符号付加装置
US5446474A (en) 1994-01-19 1995-08-29 Lockheed Missiles & Space Company, Inc. Redeployable furlable rib reflector
JPH07254862A (ja) * 1994-03-15 1995-10-03 Sony Corp インターリーブ回路およびディインターリーブ回路
US5592492A (en) * 1994-05-13 1997-01-07 Lsi Logic Corporation Convolutional interleaving/de-interleaving method and apparatus for data transmission
US5659580A (en) * 1994-11-29 1997-08-19 Lucent Technologies Inc. Data interleaver for use with mobile communication systems and having a contiguous counter and an address twister
EP0740437A1 (en) * 1995-04-28 1996-10-30 Koninklijke Philips Electronics N.V. Hardware-efficient frequency de-interleaving
US5636224A (en) * 1995-04-28 1997-06-03 Motorola Inc. Method and apparatus for interleave/de-interleave addressing in data communication circuits
JP3761635B2 (ja) * 1996-07-12 2006-03-29 株式会社ダックス メモリボード、メモリアクセス方法及びメモリアクセス装置
KR100306282B1 (ko) 1998-12-10 2001-11-02 윤종용 통신시스템의인터리빙/디인터리빙장치및방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100480286B1 (ko) * 1999-04-02 2005-04-06 삼성전자주식회사 터보 인터리빙 어드레스 발생 장치 및 방법
US8484532B2 (en) 2001-02-23 2013-07-09 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
KR101131323B1 (ko) * 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
US8156390B2 (en) 2004-12-22 2012-04-10 Qualcomm Incorporated Pruned bit-reversal interleaver
US8156389B2 (en) 2004-12-22 2012-04-10 Qualcomm Incorporated Pruned bit-reversal interleaver
US9160418B2 (en) 2012-03-29 2015-10-13 Samsung Electronics Co., Ltd. Near field communication method and apparatus thereof

Also Published As

Publication number Publication date
CN1354918A (zh) 2002-06-19
CN1138352C (zh) 2004-02-11
WO2000039941A1 (en) 2000-07-06
EP3226423A1 (en) 2017-10-04
CN100536359C (zh) 2009-09-02
KR100350459B1 (ko) 2002-12-26
EP1142148A4 (en) 2005-07-20
CA2353878C (en) 2008-02-05
AU761546B2 (en) 2003-06-05
JP2002534836A (ja) 2002-10-15
CA2353878A1 (en) 2000-07-06
JP3814146B2 (ja) 2006-08-23
EP1142148A1 (en) 2001-10-10
AU1894600A (en) 2000-07-31
CN1505273A (zh) 2004-06-16
US6493815B1 (en) 2002-12-10

Similar Documents

Publication Publication Date Title
KR20000042786A (ko) 통신시스템의인터리빙/디인터리빙장치및방법
EP1060564B1 (en) Interleaving/deinterleaving device and method for communication system
AU745959B2 (en) Interleaving / deinterleaving apparatus and method for a communication system
EP1330040B1 (en) Interleaving apparatus and method for a communication system
CA2390096C (en) High-performance low-memory interleaver banks for turbo-codes
EP1092270B1 (en) Address generator and address generating method for use in a turbo interleaver/deinterleaver
US6591381B1 (en) 2-dimensional interleaving apparatus and method
EP1121761A1 (en) Coding system having state machine based interleaver
KR100780995B1 (ko) 데이터를 인터리빙하는 인터리버 및 방법
KR20000071545A (ko) 통신시스템의 인터리빙/디인터리빙 장치 및 방법
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법
KR20010059446A (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: 20110728

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee