KR20070065402A - 압축된 차 펑처링 패턴을 이용한 펑처링/디펑처링 - Google Patents

압축된 차 펑처링 패턴을 이용한 펑처링/디펑처링 Download PDF

Info

Publication number
KR20070065402A
KR20070065402A KR1020077009188A KR20077009188A KR20070065402A KR 20070065402 A KR20070065402 A KR 20070065402A KR 1020077009188 A KR1020077009188 A KR 1020077009188A KR 20077009188 A KR20077009188 A KR 20077009188A KR 20070065402 A KR20070065402 A KR 20070065402A
Authority
KR
South Korea
Prior art keywords
difference
pattern
bit
puncturing
puncture
Prior art date
Application number
KR1020077009188A
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 KR20070065402A publication Critical patent/KR20070065402A/ko

Links

Images

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/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns

Abstract

차 펑처 패턴은 통신 채널을 통해 송신되는 코드워드를 펑처링하고 디펑처링하는 데 이용된다. 펑처 패턴은, 일련의 연속되는 차 인덱스, 또는 절대 비트 인덱스 시퀀스에서 연속되는 비트 인덱스 간의 차이에 대응하는 오프셋을 포함한다. 송신기에서는 차 펑처 패턴을 이용하여 코드워드의 비트를 선택하여 통신 채널을 통해 송신한다. 수신기에서는, 차 펑처 패턴을 이용하여 디펑처링된 코드워드에서 수신된 비트의 비트 위치를 결정한다.
펑처링, 코드워드, 차 펑처 패턴, 채널 코딩/디코딩 장치

Description

압축된 차 펑처링 패턴을 이용한 펑처링/디펑처링{PUNCTURING/DEPUNCTURING USING COMPRESSED DIFFERENTIAL PUNCTURING PATTERN}
본 발명은 일반적으로 포워드 에러 정정 코드를 위한 펑처 패턴에 관한 것으로서, 보다 상세하게는, 압축된 차 펑처링 패턴을 이용하여 돌림형 코드를 펑처링 및 디펑처링하는 방법에 관한 것이다.
디지털 통신 시스템의 궁극적인 목적은 통신 채널을 통해 정보원으로부터 목적지로 정보를 송신하는 것이다. 무선 채널들처럼 많은 유형의 통신 채널에 있어서, 고유 잡음으로 인해 송신동안 비트 에러가 발생한다. 비트 에러를 줄이기 위해, 디지털 통신 시스템은 전형적으로 에러 검출 코드 및 에러 정정 코드 모두를 채용한다. 이러한 에러 제어 코드들은 통신 채널을 통해 송신되는 정보 내에 제어되는 리던던시를 도입하며, 이것은 목적지에서 이용되어 수신 신호에서의 에러를 검출 및/또는 정정할 수 있다.
돌림형 코드는 디지털 통신 시스템에서 이용되는 포워드 에러 정정 코드들 중 한 종류이다. 돌림형 코드의 코드율(k/n)은 각 k개의 입력 비트들에 대하여 인코더에 의해 생성된 출력 비트들의 개수(n)를 가리킨다. 일반적으로, 입력 비트들(k)의 개수가 증가함에 따라 인코더 및 디코더의 복잡성이 증가하게 된다. 결 국, 복잡성의 관점에서 볼 때 코드율(1/n)을 갖는 돌림형 코더가 바람직하다. 그러나, k가 "1"로 제한된다면, 얻을 수 있는 최고 코드율은 1/2이다.
펑처링은 원래의 저율(lower rate) 돌림형 코드로부터 새로운 고율(higher rate) 돌림형 코드를 구성하는 기술이다. 주어진 저율 돌림형 코드에 대해서는, 인코더로부터 출력된 코딩된 비트들을 선택적으로 펑처링함으로써 복수의 고율 코드를 얻을 수 있다. 펑처링된 비트들은 송신되지 않는다. 펑처링에 의해 생성된 고율 돌림형 코드들은, 본질적으로 펑처링된 코드가 도출되는 원래의 코드와 동일한 격자(trellis)를 이용하여 디코딩될 수 있다. 게다가, 단일 인코더/디코더는 채널 상태 및 다른 요인들에 따라 코드율 사용이 가변될 수 있는 코드율들의 범위를 제공하는 데 이용될 수 있다.
펑처링을 구현하기 위해, 펑처링 패턴이 메모리에 저장되며 인코더에 의해 출력되는 코딩된 비트들을 출력하는 데 이용된다. 종래 기술에서 이용되는 한 기술은 송신될 각 비트에 대한 인덱스를 저장하는 것이다. 이 인덱스는 송신되는 각 비트에 대한 비트 위치를 식별하는 수치이다. 송신되는 코드워드의 길이에 따라, 이 기술에서는 펑처링 패턴들을 위한 매우 많은 양의 저장 공간을 필요로 한다. 예를 들어, 적응적인 전체 율(full rate) 8-PSK 와이드밴드 음성 프레임은 코딩 후 펑처렁 전에 1,467개의 비트들을 포함한다. GSM 명세에 따르면, 원래의 1,467개의 코딩된 비트들 중 1,344개의 비트들이 송신된다. 송신되는 각 비트에 대한 16비트 인덱스를 저장하려면 21,504개의 비트들의 저장 공간이 필요하다.
펑처링 패턴을 저장하는 다른 기술은 인코더로부터 출력된 코딩된 각 비트에 대하여 1비트를 포함하는 비트 맵을 저장하는 것이다. 비트 맵에서의 각 비트는 단일 코딩된 출력 비트에 대응한다. 비트 맵에서 비트값 "0"은 인코더에 의해 출력되는 대응 비트가 펑처링되어 있음을 가리키는 한편, 비트값 "1"은 대응 비트가 송신될 것임을 가리키며, 그 반대의 경우도 가능하다. 이러한 비교를 수행하는 데 필요한 코드에는 단일 프로세서에 대한 요구를 증가시키는 프로세서 사이클들이 소모된다. 일부 셀룰러 통신 시스템에서는 상이한 펑처링 패턴들을 갖는 100개의 논리 채널보다 많은 채널을 이용할 수 있기 때문에, 펑처링 패턴들을 저장하기 위한 메모리 요구 사항들을 더 줄이고 펑처링/디펑처링 동작들을 실행하는 데 필요한 프로세서 사이클들을 줄이는 기술들이 필요하다.
본 발명은 포워드 에러 정정 코드들의 펑처링/디펑처링을 수행하는 채널 코더/디코더에 관한 것이다. 이 채널 코더/디코더는 압축될 수 있으며 메모리에 저장될 수 있는 차(differential) 펑처 패턴들을 이용한다. 차 펑처 패턴들에 의해 프로세싱 파워를 절약하는 상대적으로 저 복잡성 펑처링 및 디펑처링 알고리즘이 발생한다.
차 펑처 패턴들은, 송신기로부터 수신기로 통신 채널을 통해 송신되는 코드워드의 비트들을 가리키는 절대 비트 인덱스 시퀀스로부터 도출된다. 송신기에서는, 차 펑처 패턴을 이용하여 송신될 코드워드의 비트들을 선택한다. 수신기에서는, 차 펑처 패턴을 이용하여 수신 비트들을 디펑처링된 코드워드의 정확한 비트 위치들 내에 삽입한다. 차 펑처 패턴은 비트 인덱스 시퀀스에서 연속되는 비트 인덱스들 간의 차이들에 대응하는 오프셋들 또는 연속되는 차 인덱스들의 시퀀스를 포함한다. 차 펑처 패턴을 압축하여 차 펑처 패턴의 저장 공간을 위한 메모리 요구 사항들을 줄일 수 있다. 차 펑처 패턴들을 압축하려면, 차 펑처 패턴에서의 서브 패턴들의 반복을 식별하여, 서브 패턴들의 개수, 서브 패턴들의 길이, 서브 패턴들의 반복 횟수, 및 시작 인덱스와 함께 저장한다.
도 1은 본 발명의 채널 코더/디코더가 사용될 수 있는 이동 통신 장치의 블록도.
도 2는 본 발명에 따른 예시적인 채널 코더의 블록도.
도 3은 본 발명에 따른 예시적인 채널 디코더의 블록도.
도 4는 본 발명의 일실시예에 따른 압축된 차 펑처 패턴들을 생성하는 장치의 블록도.
도 5는 본 발명의 일실시예에 따른 압축된 차 펑처 패턴들을 생성하는 방법을 도시하는 흐름도.
도 6은 본 발명의 일실시예에 따른 채널 디코더를 위한 예시적인 펑처러의 블록도.
도 7은 본 발명의 일실시예에 따른 차 펑처 패턴들을 이용하는 예시적인 펑처링 방법의 흐름도.
도 8은 본 발명의 일실시예에 따른 채널 디코더를 위한 예시적인 디펑처러의 블록도.
도 9는 본 발명의 일실시예에 따른 차 펑처 패턴들을 이용하는 예시적인 디펑처링 방법의 흐름도.
도 1은 일반적으로 참조 번호 10으로 참조되는 이동 통신 장치를 도시한다. 이동 통신 장치(10)는 이동 통신 장치(10)의 전체 동작을 제어하는 시스템 컨트롤러(12)와, 동작에 필요한 데이터 및 프로그램들을 저장하는 메모리(14)와, 신호들을 송신하는 송신기(20)와, 신호들을 수신하는 수신기(30)를 포함한다. 송신기(20) 및 수신기(30)는 풀 듀플렉스 동작을 허용하는 듀플렉서(16)에 의해 공통 안테나(18)에 결합된다.
송신기(20)는 정보원으로부터 소스 데이터 스트림을 수신하고, 소스 데이터 스트림을 처리하여 무선 채널을 통한 송신용으로 적합한 송신 신호를 생성하며, RF 캐리어 상으로 송신 신호를 송신한다. 송신기(20)는 소스 인코더(22)와, 채널 코더(24)와, 변조기(26)를 포함한다. 소스 인코더(22)는 리던던시를 제거하거나 소스 데이터 스트림을 랜덤화하여 최대 정보 콘텐츠용으로 최적화된 정보 시퀀스를 생성한다. 소스 인코더(22)로부터의 정보 시퀀스는 채널 코더(24)에게 전달된다. 채널 코더(24)는 리던던시의 엘리먼트를 소스 인코더(22)에 의해 공급되는 정보 시퀀스 내에 도입하여 코딩된 출력을 생성한다. 채널 코더(24)에 의해 부가된 리던던시는 통신 시스템의 에러 정정 능력을 향상시키도록 기능한다. 리던던시 정보를 활용함으로써, 수신기(30)는 송신동안 발생할 수 있는 비트 에러들을 검출하고 정정할 수 있다. 채널 코더(24)의 출력은 송신 비트 시퀀스이다. 변조기(26)는, 채 널 코더(24)로부터 송신 비트 시퀀스를 수신하고, 통신 채널의 물리적 특성을 만족하면서 통신 채널을 통해 효율적으로 송신될 수 있는 파형을 생성한다. 이동 통신 장치(10)에서 이용되는 전형적인 변조 방식에는 16QAM, 8-PSK, 4-PSK, 등이 포함된다.
수신기(30)는 통신 채널을 통한 전달로 인해 손상된 원단 장치로부터의 신호들을 수신한다. 수신기의 기능은 수신한 신호로부터 원래의 소스 데이터 스트림을 복원하는 것이다. 수신기(30)는 복조기(32), 채널 디코더(34), 및 소스 디코더(36)를 포함한다. 복조기(32)는 수신한 신호를 처리하여 수신 비트 시퀀스를 생성하며, 이것은 각 수신 비트에 대하여 하드 값 또는 소프트 값을 포함할 수 있다. 수신 신호가 통신 채널을 통해 에러 없이 송신되면, 수신 비트 시퀀스는 송신기에서 송신 비트 시퀀스가 동일할 것이다. 실제의 경우, 통신 채널을 통한 수신 신호의 전달에서는 수신 신호 내에 비트 에러가 발생한다. 채널 디코더(34)는 송신기(20)에서 채널 코더(24)에 의해 부가된 리던던시를 이용하여 비트 에러들을 검출 및 정정한다. 복조기(32) 및 디코더(34)가 얼마만큼 잘 기능하는지의 척도는 디코딩된 시퀀스에서 비트 에러들이 발생하는 주파수에 있다. 최종 단계로서, 소스 디코더(36)는 정보원으로부터 원래의 신호를 복원한다. 복원된 정보 신호와 원래의 정보 신호 간의 차이가 통신 시스템에 의해 발생한 왜곡 측정값이다.
도 2 및 도 3은 예시적인 채널 코더(24) 및 디코더(34)를 각각 예시한다. 채널 코더(24)(도 2 참조)는, 소스 인코더(22)로부터 정보 시퀀스를 인코딩하는 인코더(40)와, 인코더(40)에 의해 출력된 코딩된 비트들을 펑처링하는 펑처러(42)를 포함한다. 인코더(40)는, 예를 들어, 각 입력 비트에 대하여 2개의 코딩된 비트들을 발생하는 1/2율 돌림형 인코더를 포함할 수 있다. 인코더(40)에 의해 출력된 코드 비트들은 펑처러(42)에 입력되는 코드워드를 형성한다. 펑처러(42)는 메모리(14)에 저장된 펑처러 패턴에 기초하여 송신할 코딩된 비트들을 선택한다.
채널 디코더(34)(도 3 참조)는, 디코더(62)가 뒤따르는 디펑처러(60)를 포함한다. 디펑처러(60)는 수신 비트들에 대한 정정 비트 위치들을 결정하고 디펑처링된 코드워드를 디코더(62)에 출력한다. 상세히 후술하는 바와 같이, 디펑처링된 코드워드는 원래의 코드워드와 동일하지 않으며 그 이유는 펑처링된 비트들이 디펑처링된 코드워드에서 중립값들로 대체되기 때문이다. 중립값들은, 수신 비트들이 +/-1로 표현된다면 "0"일 수 있으며, 또는 "0" 근처에 대칭 분포된 소프트 값들일 수 있다. 디코더(62)는 MLSE 디코더(즉, 비터비 디코더), MAP 디코더, 또는 다른 임의의 알려져 있는 유형의 디코더를 포함할 수 있다.
본 발명에 따르면, 펑처 패턴이 압축되어 저장 공간 요구 사항을 줄이게 되며 압축 해제되어 펑처링 및 디펑처링을 수행하게 된다. 압축 기술은 송신기(20)에서의 송신 비트들을 직접적으로 선택하고 수신기에서(30)에서의 디펑처링된 코드워드에서 수신 비트들의 정정 비트 위치들을 결정하는 데 사용되는 차 펑처 패턴을 생성한다. 송신기(20)에서, 펑처러(42)는 펑처링 비트들에 대하여 연산을 수행하지 않고서 송신될 비트들을 직접 선택한다. 송신된 비트들을 직접 선택함으로써 펑처러(42)에 의해 실행되어야 하는 명령어들의 개수를 상당히 줄이게 된다. 수신기(30)에서, 디펑처러(60)는 디펑처링된 코드워드에서 수신 비트들의 비트 위치들 을 결정하고 수신 비트들을 결정된 위치들에 삽입한다.
본 발명에서 채용하는 채널 코딩/디코딩 방법은 일예로 와이드밴드 전체 율 음성 채널(O-TCH/WFS23.85)을 이용하여 후술된다. 이 채널용으로 필요한 채널 코딩은 GSM 명세 45.003, Release 5에 기재되어 있다. GSM 명세에 따르면, 인코더(40)에 의해 출력된 코드워드는 펑처링 전에 1,467개의 비트를 갖는다. 코드워드는 Pg 블록 및 Pb 블록이라 칭하는 2개의 블록으로 분리된다. Pg 블록은 원래의 1,467개 비트 중 896개 비트를 갖는다. Pb 블록은 원래의 1,467개의 비트 중 448개 비트를 갖는다. 전체 1,344개의 비트가 Pg 및 Pb 블록에 송신되어 146개의 비트가 펑처링된다. Pg 블록의 비트들은 비트 인덱스 시퀀스에 의해 주어진다.
2,3,5,6,8,9,11,12,14,15,17,18,20...1343,1346,1347,
1349,1350,1352,1353,1355,1358,1359,1361,1362,1364,
1365,1367...
인덱스 시퀀스에서의 각 비트 인덱스는 하나의 송신된 비트에 대응한다. 예를 들어, 비트 인덱스 값 "2"는 원래의 코드워드에서의 제2 비트가 송신된다는 것을 가리킨다. 비트 인덱스 시퀀스는 송신된 비트 각각에 대하여 절대 비트 인덱스들로 이루어지기 때문에 절대 펑처 패턴이다.
본 발명에 따르면, 비트 인덱스 시퀀스에 기초하여 차 펑처 패턴이 계산된 후 압축되어 메모리 요구 사항을 줄이게 된다. 차 펑처 패턴은 원래의 비트 인덱스 시퀀스에서 연속되는 비트 인덱스들 간의 차이들을 계산함으로써 계산된다. 위에 주어진 비트 인덱스 시퀀스에 대하여, 대응하는 차 펑처 패턴은 아래와 같다.
1,2,1,2,1,2...3,1,2,1,2,1,2,3,1,2,1,2,1,2...
차 펑처 패턴의 각 엘리먼트는 상대 비트 인덱스로서 기능하는 차 인덱스 또는 오프셋이다. 오프셋은 2개의 연속 송신 비트들의 절대 인덱스들 간의 차이를 나타낸다. 차 펑처 패턴은 코드워드에서 제1 송신 비트의 비트 위치를 가리키는 시작 인덱스와 관련된다. 위에 주어진 예에서, 시작 인덱스는 "2"이다. 시작 인덱스와 차 펑처 패턴을 안다면, 코드워드에서 송신 비트 각각에 대한 절대 비트 인덱스를 결정할 수 있다.
Pg 블록에 대한 펑처 패턴의 강력한 규칙성으로 인해, Pg 블록에 대한 전체 차 펑처 패턴은 3개의 차 서브 패턴들로 표현될 수 있다.
P1 = [1,2] 171번 반복
P2 = [3,1,2,1,2,1,2] 78번 반복
P3 = [3,1,2,1,2,3,3] 한번 반복
차 펑처 패턴을 계산한 후, 차 펑처 패턴은 서브 패턴들을 식별함으로써 압축될 수 있다. 차 펑처 패턴의 압축된 버전은 다음의 정보를 저장함으로써 생성될 수 있다.
a0 송신될 제1 코드 비트의 절대 비트 인덱스 값
SN 차 펑처 패턴에서의 서브 패턴들의 개수
rep[] 각 서브 패턴에 대한 반복 횟수를 포함하는 어레이
len[] 각 서브 패턴의 길이를 포함하는 어레이
pat[] 서브 패턴들을 포함하는 어레이
압축된 차 펑처 패턴에는 메모리(14)에 저장할 37개의 16비트 워드들이 필요하다. 비교를 위해서는, 비트 맵 저장에 184개의 16비트 워드들이 필요하다. 일부 이동 통신 장치들(10)이 100개 초과의 펑처 패턴들을 이용할 수 있다는 점을 고려한다면, 본 발명은 펑처 패턴들을 저장하는 데 필요한 메모리(14)를 상당히 줄인다.
도 4는, 압축된 차 펑처 패턴들을 생성하도록 일반적으로 부재 번호 80으로 참조되는, 본 발명의 일실시예에 따른 예시적인 장치를 도시한다. 도 4에 도시한 장치는, 컴퓨터 판독가능 매체에 저장되고 프로세서에 의해 실행되는 소프트웨어에 의해 구현될 수 있다. 장치(80)는 패턴 생성기(82) 및 압축 모듈(88)을 포함한다. 패턴 생성기(82)는 지연 엘리먼트(84) 및 감산기(86)를 포함한다. 코드워드에서 송신 비트들에 대한 절대 비트 인덱스들을 가리키는 절대 비트 인덱스 시퀀스는 패턴 생성기(82)에 한번에 1비트 인덱스씩 입력된다. 지연 엘리먼트(84)는 비트 인덱스 시퀀스에서 하나의 엘리먼트 지연을 도입한다. 감산기(86)는 현재의 비트 인덱스(bn)로부터 시간대(n-1)에서 전(previous) 비트 인덱스(bn -1)를 감산하여 차 인덱스 또는 오프셋을 계산한다. 감산기(86)로부터 출력되는 차 인덱스들 또는 오프셋들의 시퀀스는 차 펑처 패턴을 포함한다. 차 펑처 패턴은 압축 모듈(88)에 입력되고, 이 모듈은 차 펑처 패턴을 압축한다.
도 5는 일반적으로 참조 번호 100으로 표시되는 본 발명의 일부 실시예에 따른 압축된 차 펑처 패턴들을 생성하는 방법을 예시하는 흐름도이다. 압축된 차 펑 처 패펀을 생성하기 시작하려면, 펑처 패턴에 대한 절대 비트 인덱스 시퀀스가 패턴 생성기(82)에 입력된다(블록 102). 패턴 생성기(82)는 전술한 바와 같이 차 펑처 패턴을 계산한다(블록 104). 이후, 압축 모듈(88)은 차 펑처 패턴을 처리하여 반복되는 서브 패턴들을 식별한다(블록 106). 압축 모듈(88)은, 차 펑처 패턴에 대한 시작 인덱스를 결정하고(블록 108), 서브 패턴들의 개수를 결정하며(블록 110), 서브 패턴들의 길이를 결정하고(블록 112), 각 서브 패턴의 반복 횟수를 결정한다(블록 114). 이후, 압축된 차 펑처 패턴이 메모리(14)에 저장된다(블록 116).
본 발명의 압축된 차 펑처 패턴은, 메모리를 절용할 뿐만 아니라 실행되어야 하는 명령어들 또는 연산들의 개수를 상당히 줄이는 효율적인 펑처링 및 디펑처링 기술들에 적합하다. 펑처링에 대해서는, 차 펑처 패턴이 압축 해제되고 압축 해제된 차 펑처 패턴은 송신용 코딩된 비트들을 선택하는 데 이용된다. 디펑처링에 대해서는, 차 펑처 패턴이 디펑처링된 코드워드에서 정확한 위치에 수신 비트들을 삽입하는 데 이용된다.
도 6은 예시적인 펑처러(42)를 블록도 형태로 도시하고 있다. 펑처러(42)는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 예시적인 일실시예에서, 펑처러(42)는 컴퓨터 판독가능 매체에 저장되고 프로세서에 의해 실행되는 소프트웨어에 의해 구현된다. 도 6에 도시한 바와 같이, 펑처러(42)는 컨트롤러(44), 누산기(46), 선택기(48), 및 출력 버퍼(50)를 포함한다. 제1 출력 비트용으로 절대 비트 인덱스(a0)를 이용하여 누산기(46)를 초기화한다. 절대 비트 인덱스는 또한 선택기(48)에 공급되고, 이 선택기는 송신될 제1 코딩된 비트를 선택하여 출력 버퍼(50)에서의 제1 위치에 기입하며, 이 버퍼는 송신 비트 시퀀스를 포함한다. 차 펑처 패턴의 차 인덱스들 또는 오프셋들은 한번에 하나씩 처리되고 누산값 및 선택 기술을 이용하여 송신될 코딩된 비트들(즉, 송신 비트들)을 선택하는 데 이용된다. 차 인덱스들 또는 오프셋들은 누산기(46)에 입력되고, 이 누산기는 누산된 비트 인덱스를 유지한다. 오프셋은 누산된 비트 인덱스에 가산되어 새롭게 누산된 비트 인덱스를 얻게 되며 이 새롭게 누산된 비트 인덱스는 선택기(48)에 출력된다. 선택기(48)는 누산기(46)에 의해 출력된 누산된 비트 인덱스를 이용하여 송신될 코딩된 비트들을 선택한다. 예를 들어, 시간대(t)에서 누산된 비트 인덱스가 "64"이면, 선택기(48)는 64번째 코딩된 비트를 선택하여 출력 버퍼에서의 다음 위치에 기입한다. 모든 송신 비트 시퀀스가 완료될 때까지 송신될 코딩된 비트들을 한번에 하나씩 선택하는 프로세스를 반복한다.
도 7은 일반적으로 참조 번호 200으로 표시되는 펑처링 동작을 예시하는 흐름도이다. 펑처링 동작의 시작시, 컨트롤러(44)는 메모리(14)로부터 적절한 압축된 차 펑처 패턴을 선택하고(블록 202) 제1 송신 비트에 대한 절대 비트 인덱스를 이용하여 누산기(46)를 초기화하며(블록 204) 제1 출력 비트를 선택한다(블록 206). 제1 출력 비트를 출력 버퍼(50)에 기입한 후, 컨트롤러(44)는 압축된 차 펑처 패턴에서 제1 서브 패턴을 선택한 후(블록 208) 제1 서브 패턴의 제1 엘리먼트를 선택한다(블록 210). 당업자라면 서브 패턴 엘리먼트들이 차 펑처 패턴을 포함하는 차 인덱스들 또는 오프셋들임을 인식할 것이다. 컨트롤러(44)는 서브 패턴 엘리먼트들을 누산기(46)에 차례대로 입력하고, 이 누산기는 누산된 비트 인덱스를 계산한다(블록 212). 선택기(48)는 누산기(46)에 의해 출력된 누산된 비트 인덱스를 이용하여 송신될 다음 코딩 비트를 선택한다(블록 214). 차 펑처 패턴에서의 각 엘리먼트가 처리된 후, 컨트롤러(44)는 그 엘리먼트가 서브 패턴에서의 최종 엘리먼트였는지 여부를 결정한다(블록 216). 최종 엘리먼트가 아닌 경우, 컨트롤러(44)는 다음 서브 패턴 엘리먼트를 선택하고(블록 218) 누산 및 선택 프로세스(블록 212, 214)를 반복한다. 서브 패턴의 최종 엘리먼트에 도달하게 되면, 컨트롤러(44)는 서브 패턴 처리를 반복할지 여부를 결정한다(블록 220). 필요로 하는 반복 횟수만큼 수행되지 않았다면, 컨트롤러(44)는 최종 반복이 완료될 때까지 반복 카운트를 증분하고(블록 222) 서브 패턴을 반복 처리한다(블록 210 내지 218). 서브 패턴의 최종 반복이 완료되면, 컨트롤러(44)는 모든 서브 패턴들이 처리되었는지 여부를 결정한다(블록 224). 모든 서브 패턴들이 처리되지 않았다면, 컨트롤러(44)는 상술한 바와 같이 처리하도록(블록 210 내지 212) 다음 서브 패턴을 선택한다(블록 226). 차 펑처 패턴의 처리는 최종 서브 패턴이 처리될 때 종료된다(블록 228).
도 8은 본 발명의 일부 실시예에 따라 디펑처러(60)를 블록도 형태로 도시하고 있다. 디펑처러(60)는 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 예시적인 일실시예에서, 디펑처러(60)는, 컴퓨터 판독가능 매체에 저장되며 프로세서에 의해 실행되는 소프트웨어에 의해 구현된다. 도 8에 도시한 바와 같이, 디펑처러(60)는 컨트롤러(64), 누산기(66), 삽입기(68), 및 출력 버 퍼(70)를 포함한다. 출력 버퍼(70)의 길이는 펑처링 전 원래의 코드워드의 길이와 동일하다. 출력 버퍼(70)의 엘리먼트들은, 수신된 비트들이 +/-1의 값을 갖는 경우 "0"과 같은 중립값들, 또는 "0" 근처에 분포된 소프트 값들로 초기화된다. 제1 출력 비트를 위한 절대 비트 인덱스(a0)는 누산기(66)를 초기화하는 데 이용된다. 절대 비트 인덱스는 또한 삽입기(68)에 공급되며, 이 삽입기는 제1 수신 비트를 시작 인덱스가 가리키는 비트 위치에서 출력 버퍼(70)에 삽입한다. 예를 들어, 시작 인덱스가 "2"이면, 삽입기(68)는 제1 수신 비트를 출력 버퍼(70)의 제2 비트 위치에 삽입한다. 제1 수신 비트가 출력 버퍼(70)에 기입된 후, 차 펑처 패턴의 차 인덱스들 또는 오프셋들은 한번에 하나씩 처리되고 출력 버퍼(70)에 수신 비트들을 삽입하는 데 이용된다. 차 펑처 패턴을 포함하는 차 인덱스들 또는 오프셋들은 누산기(66)에 입력되고, 누산기는 누산된 비트 인덱스를 유지한다. 각 오프셋은 누산된 비트 인덱스에 가산되어 새롭게 누산된 비트 인덱스를 얻게 되며 새롭게 누산된 비트 인덱스는 삽입기(68)에 출력된다. 삽입기(68)는 누산기(66)에 의해 출력된 누산된 비트 인덱스를 이용하여 다음 수신 비트를 위해 출력 버퍼에서의 비트 위치를 결정한다. 예를 들어, 시간대(t)에서 출력된 누산된 비트 인덱스가 "64"이면, 삽입기(68)는 다음 수신 비트를 출력 버퍼(70)의 64번째 비트 위치에 삽입한다. 모든 수신 비트가 처리될 때까지 수신 비트들을 한번에 하나씩 출력 버퍼(70)에 삽입하는 처리를 반복한다. 출력 버퍼(70)의 콘텐츠는, 펑처링 전 원래의 코드워드에 대응하는 디펑처링된 코드워드를 포함한다. 디펑처링된 코드워드는, 그러나, 원래의 코드워드와 동일하지 않으며 그 이유는 원래의 코드워드에서 펑처링된 비트들 모두가 중립 소프트 값들로 대체되어 있기 때문이다.
도 9는 일반적으로 300으로 참조되는 디펑처링 동작을 예시하는 흐름도이다. 디펑처링 동작의 시작시, 컨트롤러(64)는 메모리(14)로부터 적절하게 압축된 차 펑처 패턴을 선택하고(블록 302) 제1 송신 비트를 위한 절대 비트 인덱스를 이용하여 누산기(66)를 초기화한다(블록 304). 절대 비트 인덱스는 또한 삽입기(68)에 입력되고, 삽입기는 절대 비트 인덱스가 가리키는 비트 위치에서 출력 버퍼(70)에 제1 수신 비트를 삽입한다(블록 306). 제1 수신 비트를 출력 버퍼(70)에 기입한 후, 컨트롤러(64)는 압축된 차 펑처 패턴에서의 제1 서브 패턴을 선택한 후(블록 308) 제1 서브 패턴의 제1 엘리먼트를 선택한다(블록 310). 컨트롤러(64)는 서브 패턴 엘리먼트들을 누산기(66)에 순차적으로 입력하고, 누산기는 누산된 비트 인덱스를 계산한다(블록 312). 삽입기(68)는 누산기(66)에 의해 출력된 누산된 비트 인덱스를 이용하여 누산된 비트 인덱스가 가리키는 비트 위치에서 다음 수신 비트를 출력 버퍼(70)에 삽입한다(블록 314). 차 펑처 패턴에서의 각 엘리먼트가 처리된 후, 컨트롤러(64)는 그 엘리먼트가 서브 패턴에서의 최종 엘리먼트였는지 여부를 결정한다(블록 316). 최종 엘리먼트가 아니라면, 컨트롤러(64)는 다음 서브 패턴 엘리먼트를 선택하고(블록 318) 누산 및 삽입 프로세스를 반복한다(블록 312, 314). 서브 패턴의 최종 엘리먼트에 도달하면, 컨트롤러(64)는 서브 패턴의 처리 반복 여부를 결정한다(블록 320). 필요로 하는 반복 횟수만큼 수행되지 않았다면, 컨트롤러(64)는 반복 카운트를 증분하고(블록 322) 서브 패턴을 다시 처리한다(블록 310 내지 318). 서브 패턴의 최종 반복이 완료되면, 컨트롤러(64)는 모든 서브 패턴들 이 처리되었는지 여부를 결정한다(블록 324). 모든 서브 패턴들이 처리되지 않았다면, 컨트롤러(64)는 상술한 바와 같은 처리(블록 310 내지 322)를 위해 다음 서브 패턴을 선택한다(블록 326). 차 펑처 패턴의 처리는 최종 서브 패턴이 처리되면 종료된다(블록 328).
본 발명은, 물론, 본 발명의 사상 및 특징으로부터 벗어나지 않고서 본 명세서에 기재된 바와 다르게 특정한 방식들로 실시될 수 있다. 따라서, 본 실시예들은 모든 면에서 단지 예시적일 뿐이며 제한적이지 않으며, 청구범위의 의미 및 동등 범위 내에서의 모든 변경들은 청구범위에 포함되는 것이다.

Claims (38)

  1. 코딩된 비트 시퀀스를 펑처링하고 디펑처링하기 위해 펑처 패턴을 생성하는 방법으로서,
    코딩된 비트 시퀀스에서 선택된 비트들을 식별하는 비트 인덱스 시퀀스에 기초하여 시작 인덱스에 관련된 차 펑처 패턴(differential puncture pattern)을 결정하는 단계를 포함하고,
    상기 차 펑처 패턴은 상기 비트 인덱스 시퀀스에서 연속되는 비트 인덱스들 간의 차이들에 대응하는 복수의 연속되는 오프셋을 포함하는 펑처 패턴 생성 방법.
  2. 제1항에 있어서,
    상기 차 펑처 패턴에서의 반복되는 서브 패턴들에 기초하여 상기 차 펑처 패턴을 압축하는 단계를 더 포함하는 펑처 패턴 생성 방법.
  3. 제2항에 있어서,
    상기 차 펑처 패턴을 압축하는 단계는,
    상기 차 펑처 패턴에서 상기 반복되는 서브 패턴들을 식별하는 단계와,
    각 서브 패턴의 길이를 결정하는 단계와,
    각 서브 패턴의 반복 횟수를 결정하는 단계
    를 포함하는 펑처 패턴 생성 방법.
  4. 제3항에 있어서,
    압축된 차 펑처 패턴을 메모리에 저장하는 단계를 더 포함하는 펑처 패턴 생성 방법.
  5. 제4항에 있어서,
    상기 압축된 차 펑처 패턴을 메모리에 저장하는 단계는, 상기 차 펑처 패턴에 대한 시작 인덱스, 상기 차 펑처 패턴에서의 서브 패턴들의 개수, 상기 서브 패턴들의 길이, 상기 서브 패턴들의 반복 횟수, 및 상기 서브 패턴들을 메모리에 저장하는 단계를 포함하는 펑처 패턴 생성 방법.
  6. 채널 코딩 및 디코딩 방법으로서,
    송신될 비트들을 식별하는 비트 인덱스 시퀀스에서 연속되는 비트 인덱스들 간의 차이들에 대응하는 연속되는 오프셋들의 시퀀스를 포함하는 차 펑처 패턴을 얻는 단계와,
    상기 차 펑처 패턴에 기초하여 코드워드를 펑처링하거나 디펑처링하는 단계
    를 포함하는 채널 코딩 및 디코딩 방법.
  7. 제6항에 있어서,
    상기 코드워드를 펑처링하는 단계는, 상기 차 펑처 패턴에 기초한 송신을 위 해 언펑처링된 코드워드로부터 코딩된 비트들을 선택하는 단계를 포함하는 채널 코딩 및 디코딩 방법.
  8. 제7항에 있어서,
    상기 언펑처링된 코드워드로부터 코딩된 비트들을 선택하는 단계는,
    상기 차 펑처 패턴에서 상기 연속되는 오프셋들을 반복 누산하여 각 반복동안 누산된 비트 인덱스를 얻는 단계와,
    각 반복동안, 상기 누산된 비트 인덱스에 기초하여 상기 언펑처링된 코드워드로부터 코딩된 비트를 선택하는 단계
    를 포함하는 채널 코딩 및 디코딩 방법.
  9. 제6항에 있어서,
    상기 코드워드를 디펑처링하는 단계는, 디펑처링된 출력 시퀀스에서 펑처링된 코드워드의 수신된 비트들의 비트 위치들을 결정하는 단계를 포함하는 채널 코딩 및 디코딩 방법.
  10. 제9항에 있어서,
    상기 디펑처링된 출력 시퀀스에서 수신된 비트들의 비트 위치들을 결정하는 단계는,
    상기 차 펑처 패턴에서 상기 연속되는 오프셋들을 반복 누산하여 각 반복동 안 누산된 비트 인덱스를 얻는 단계와,
    각 반복동안, 상기 누산된 비트 인덱스에 기초하여 상기 펑처링된 코드워드의 수신된 비트의 비트 위치를 결정하는 단계
    를 포함하는 채널 코딩 및 디코딩 방법.
  11. 제6항에 있어서,
    상기 차 펑처 패턴을 압축하는 단계를 더 포함하는 채널 코딩 및 디코딩 방법.
  12. 제11항에 있어서,
    상기 차 펑처 패턴을 압축하는 단계는,
    상기 차 펑처 패턴에서 반복되는 서브 패턴들을 식별하는 단계와,
    각 서브 패턴의 길이를 결정하는 단계와,
    각 서브 패턴의 반복 횟수를 결정하는 단계
    를 포함하는 채널 코딩 및 디코딩 방법.
  13. 제12항에 있어서,
    압축된 차 펑처 패턴을 메모리에 저장하는 단계를 더 포함하는 채널 코딩 및 디코딩 방법.
  14. 제13항에 있어서,
    상기 압축된 차 펑처 패턴을 메모리에 저장하는 단계는, 상기 차 펑처 패턴에 대한 시작 인덱스, 상기 차 펑처 패턴에서의 서브 패턴들의 개수, 상기 서브 패턴들의 길이, 상기 서브 패턴들의 반복 횟수, 및 상기 서브 패턴들을 메모리에 저장하는 단계를 포함하는 채널 코딩 및 디코딩 방법.
  15. 펑처링 동작 및 디펑처링 동작을 위한 펑처 패턴들을 생성하는 장치로서,
    코딩된 비트 시퀀스에서 선택된 비트들을 식별하는 비트 인덱스 시퀀스에 기초하여 시작 인덱스에 관련된 차 펑처 패턴을 계산하는 패턴 생성기를 포함하고,
    상기 차 펑처 패턴은 상기 비트 인덱스 시퀀스에서 연속되는 비트 인덱스들 간의 차이들에 대응하는 연속되는 오프셋들의 시퀀스를 포함하는 펑처 패턴 생성 장치.
  16. 제15항에 있어서,
    상기 패턴 생성기는 프로세서를 포함하는 펑처 패턴 생성 장치.
  17. 제15항에 있어서,
    상기 차 펑처 패턴에서 반복되는 서브 패턴들에 기초하여 상기 차 펑처 패턴을 압축하는 패턴 압축기를 더 포함하는 펑처 패턴 생성 장치.
  18. 제17항에 있어서,
    상기 패턴 압축기는, 상기 차 펑처 패턴에서 반복되는 서브 패턴들을 식별하고, 각 서브 패턴의 길이를 결정하고, 각 서브 패턴의 반복 횟수를 결정함으로써, 상기 차 펑처 패턴을 압축하는 펑처 패턴 생성 장치.
  19. 제17항에 있어서,
    상기 패턴 생성기 및 상기 패턴 압축기는 프로세서를 포함하는 펑처 패턴 생성 장치.
  20. 제17항에 있어서,
    압축된 펑처 패턴을 저장하는 메모리를 더 포함하는 펑처 패턴 생성 장치.
  21. 채널 코딩/디코딩 장치로서,
    송신될 비트들을 식별하는 비트 인덱스 시퀀스에서 연속되는 비트 인덱스들 간의 차이들에 대응하는 연속되는 오프셋들의 시퀀스를 포함하는 차 펑처 패턴을 저장하는 메모리와,
    상기 메모리에 저장된 차 펑처 패턴에 기초하여 코드워드를 펑처링하거나 디펑처링하는 채널 코더/디코더
    를 포함하는 채널 코딩/디코딩 장치.
  22. 제21항에 있어서,
    상기 채널 코더/디코더는, 상기 차 펑처 패턴에 기초하여 언펑처링된 코드워드로부터 코딩된 비트들을 선택함으로써, 송신될 펑처링된 코드워드를 생성하는 채널 코딩/디코딩 장치.
  23. 제22항에 있어서,
    상기 채널 코더/디코더는,
    상기 차 펑처 패턴에서 상기 연속되는 오프셋들을 반복 누산하여 각 반복동안 누산된 비트 인덱스를 얻는 누산기와,
    각 반복동안 상기 누산된 비트 인덱스에 기초하여 언펑처링된 코드워드로부터 코딩된 비트를 선택하는 선택기
    를 포함하는 채널 코딩/디코딩 장치.
  24. 제23항에 있어서,
    상기 채널 코더/디코더는 상기 차 펑처 패턴을 저장하는 메모리를 더 포함하는 채널 코딩/디코딩 장치.
  25. 제24항에 있어서,
    상기 메모리에 저장된 차 펑처 패턴은 압축된 차 펑처 패턴인 채널 코딩/디코딩 장치.
  26. 제25항에 있어서,
    상기 채널 코더/디코더는, 상기 누산기를 초기화하고 상기 압축된 차 펑처 패턴을 압축 해제하는 컨트롤러를 더 포함하는 채널 코딩/디코딩 장치.
  27. 제26항에 있어서,
    상기 채널 코더/디코더는, 펑처링된 코드워드를 저장하도록 상기 선택기에 결합된 출력 버퍼를 더 포함하는 채널 코딩/디코딩 장치.
  28. 제21항에 있어서,
    상기 채널 코더/디코더는, 디펑처링된 출력 시퀀스에서 상기 펑처링된 코드워드의 수신된 비트들의 비트 위치들을 결정함으로써, 수신된 펑처링된 코드워드를 디펑처링하는 채널 코딩/디코딩 장치.
  29. 제28항에 있어서,
    상기 채널 코더/디코더는,
    상기 차 펑처 패턴에서 상기 연속되는 오프셋들을 반복 누산하여 각 반복동안 누산된 비트 인덱스를 얻는 누산기와,
    각 반복동안, 상기 펑처링된 코드워드의 수신된 비트를, 상기 누산된 비트 인덱스에 기초하여 디펑처링된 코드워드에서의 대응 비트 위치에 삽입하는 삽입기
    를 포함하는 채널 코딩/디코딩 장치.
  30. 제29항에 있어서,
    상기 채널 코더/디코더는 상기 차 펑처 패턴을 저장하는 메모리를 더 포함하는 채널 코딩/디코딩 장치.
  31. 제30항에 있어서,
    상기 메모리에 저장된 차 펑처 패턴은 압축된 차 펑처 패턴인 채널 코딩/디코딩 장치.
  32. 제31항에 있어서,
    상기 채널 코더/디코더는, 상기 누산기를 초기화하고 압축된 차 펑처 패턴을 압축 해제하는 컨트롤러를 더 포함하는 채널 코딩/디코딩 장치.
  33. 제32항에 있어서,
    상기 채널 코더/디코더는, 디펑처링된 코드워드를 저장하도록 상기 선택기에 결합된 출력 버퍼를 더 포함하는 채널 코딩/디코딩 장치.
  34. 제33항에 있어서,
    상기 컨트롤러는 상기 출력 버퍼를 중립값들로 초기화하고, 상기 삽입기는 수신된 비트들을 상기 출력 버퍼에서의 대응 비트 위치들에 삽입하는 채널 코딩/디코딩 장치.
  35. 내부에 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 프로그램은, 코딩된 비트 시퀀스에서 선택된 비트들을 식별하는 비트 인덱스 시퀀스에 기초하여 시작 인덱스와 관련된 차 펑처 패턴을 결정하는 코드를 포함하고,
    상기 차 펑처 패턴은, 상기 비트 인덱스 시퀀스에서 연속되는 비트 인덱스들 간의 차이들에 대응하는 복수의 연속되는 오프셋을 포함하는 컴퓨터 판독가능 매체.
  36. 제35항에 있어서,
    상기 컴퓨터 프로그램은, 상기 차 펑처 패턴에서 반복되는 서브 패턴들에 기초하여 상기 차 펑처 패턴을 압축하는 코드를 더 포함하는 컴퓨터 판독가능 매체.
  37. 제36항에 있어서,
    상기 차 펑처 패턴을 압축하는 코드는,
    상기 차 펑처 패턴에서 반복되는 서브 패턴들을 식별하는 코드와,
    각 서브 패턴의 길이를 결정하는 코드와,
    각 서브 패턴의 반복 횟수를 결정하는 코드
    를 포함하는 컴퓨터 판독가능 매체.
  38. 내부에 컴퓨터 프로그램이 저장된 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 프로그램은,
    송신될 비트들을 식별하는 비트 인덱스 시퀀스에서 연속되는 비트 인덱스들 간의 차이들에 대응하는 연속되는 오프셋들의 시퀀스를 포함하는 차 펑처 패턴을 얻는 코드와,
    상기 차 펑처 패턴에 기초하여 코드워드를 펑처링하거나 디펑처링하는 코드
    를 포함하는 컴퓨터 판독가능 매체.
KR1020077009188A 2004-10-08 2005-10-07 압축된 차 펑처링 패턴을 이용한 펑처링/디펑처링 KR20070065402A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/961,546 2004-10-08
US10/961,546 US7284185B2 (en) 2004-10-08 2004-10-08 Puncturing/depuncturing using compressed differential puncturing pattern

Publications (1)

Publication Number Publication Date
KR20070065402A true KR20070065402A (ko) 2007-06-22

Family

ID=34956316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077009188A KR20070065402A (ko) 2004-10-08 2005-10-07 압축된 차 펑처링 패턴을 이용한 펑처링/디펑처링

Country Status (6)

Country Link
US (1) US7284185B2 (ko)
EP (1) EP1805899B1 (ko)
JP (1) JP5058806B2 (ko)
KR (1) KR20070065402A (ko)
CN (1) CN101069355B (ko)
WO (1) WO2006037645A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018012841A1 (ko) * 2016-07-11 2018-01-18 삼성전자 주식회사 이종 서비스 간 공존을 위한 송수신 방법 및 장치

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101167225B1 (ko) * 2004-12-14 2012-07-24 실리콘 하이브 비.브이. 프로그램 가능한 신호 및 처리 회로 및 디펑쳐링 방법
US7613243B2 (en) * 2005-04-12 2009-11-03 Samsung Electronics Co., Ltd. Interleaver and parser for OFDM MIMO systems
US7397862B2 (en) * 2005-10-18 2008-07-08 Samsung Electronics Co., Ltd. Method of designing interleavers for multiple-encoder MIMO OFDM systems
US7729438B2 (en) * 2005-12-01 2010-06-01 Samsung Electronics Co., Ltd. Interleaver design for IEEE 802.11n standard
US7660232B2 (en) 2005-12-20 2010-02-09 Samsung Electronics Co., Ltd. Interleaver design with column skip for IEEE 802.11n standard
US7756004B2 (en) * 2005-12-20 2010-07-13 Samsung Electronics Co., Ltd. Interleaver design with column swap and bit circulation for multiple convolutional encoder MIMO OFDM system
US7859987B2 (en) 2005-12-20 2010-12-28 Samsung Electronic Co., Ltd. Interleaver for IEEE 802.11n standard
US7729447B2 (en) * 2005-12-22 2010-06-01 Samsung Electronics Co., Ltd. Interleaver design with multiple encoders for more than two transmit antennas in high throughput WLAN communication systems
US8171383B2 (en) * 2007-04-13 2012-05-01 Broadcom Corporation Method and system for data-rate control by randomized bit-puncturing in communication systems
JP2009200927A (ja) * 2008-02-22 2009-09-03 Mitsubishi Electric Corp 誤り訂正復号装置
KR101447651B1 (ko) * 2008-07-07 2014-10-13 삼성전자주식회사 이동통신 시스템의 유효 비트 연산 장치 및 방법
WO2012117263A1 (en) * 2011-03-02 2012-09-07 Sandisk Il Ltd. Method of data storage in non-volatile memory
US10644839B2 (en) * 2016-01-15 2020-05-05 Avago Technologies International Sales Pte. Limited Codeword puncturing for varying code rates

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4890326A (en) 1988-03-03 1989-12-26 Rubiyat Software, Inc. Method for compressing data
JPH026766A (ja) 1988-06-20 1990-01-10 Nippon Telegr & Teleph Corp <Ntt> テストパターン発生器
JP2591825B2 (ja) 1989-05-30 1997-03-19 富士通株式会社 圧縮データを用いた論理回路試験方法及びその装置
JPH0536213A (ja) 1991-01-08 1993-02-12 Nec Corp 符号変換方式
JPH0721356A (ja) 1992-12-31 1995-01-24 Eastman Kodak Co 画像処理装置
US5386211A (en) 1993-09-29 1995-01-31 Intel Corporation Method and apparatus for recording and reconstructing binary data in a compressed form
US5548688A (en) 1993-12-23 1996-08-20 Intermec Corporation Method of data handling and activating thermal print elements in a thermal printhead
US6370669B1 (en) 1998-01-23 2002-04-09 Hughes Electronics Corporation Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
DE19924211A1 (de) * 1999-05-27 2000-12-21 Siemens Ag Verfahren und Vorrichtung zur flexiblen Kanalkodierung
DE10038229B4 (de) * 1999-08-24 2011-06-09 LG Electronics Inc., Kangnam-gu Verfahren und Vorrichtung zur Ratenanpassung in einem Mobilkommunikationssystem
US6604216B1 (en) 1999-12-10 2003-08-05 Telefonaktiebolaget Lm Ericsson Telecommunications system and method for supporting an incremental redundancy error handling scheme using available gross rate channels
JP3450788B2 (ja) * 2000-03-06 2003-09-29 松下電器産業株式会社 復号化装置および復号化処理方法
US6675347B1 (en) * 2000-07-19 2004-01-06 Qualcomm, Incorporated Method and apparatus for combined puncturing and repeating of code symbols in a communications system
US7095808B1 (en) * 2000-08-16 2006-08-22 Broadcom Corporation Code puncturing method and apparatus
KR100464346B1 (ko) 2001-08-17 2005-01-03 삼성전자주식회사 부호분할다중접속 이동통신시스템에서 패킷 재전송을 위한 송/수신장치 및 방법
DE10219151A1 (de) * 2002-04-29 2003-11-13 Siemens Ag Verfahren und Kommunikationsvorrichtung zur Anpassung der Datenrate in einer Kommunikationsvorrichtung
JP2004096363A (ja) * 2002-08-30 2004-03-25 Matsushita Electric Ind Co Ltd ターボ符号のパンクチャリング方法及び符号化装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018012841A1 (ko) * 2016-07-11 2018-01-18 삼성전자 주식회사 이종 서비스 간 공존을 위한 송수신 방법 및 장치
US11178642B2 (en) 2016-07-11 2021-11-16 Samsung Electronics Co., Ltd. Transmitting and receiving method and apparatus for coexistence between heterogeneous services

Also Published As

Publication number Publication date
JP5058806B2 (ja) 2012-10-24
US20060090120A1 (en) 2006-04-27
WO2006037645A1 (en) 2006-04-13
JP2008516493A (ja) 2008-05-15
CN101069355B (zh) 2012-03-21
CN101069355A (zh) 2007-11-07
EP1805899A1 (en) 2007-07-11
EP1805899B1 (en) 2013-01-23
US7284185B2 (en) 2007-10-16

Similar Documents

Publication Publication Date Title
KR20070065402A (ko) 압축된 차 펑처링 패턴을 이용한 펑처링/디펑처링
RU2595542C2 (ru) Устройство и способ для передачи и приема данных в системе связи/широковещания
RU2598318C2 (ru) Устройство и способ для передачи и приема данных в системе связи/широковещания
US8443265B2 (en) Method and apparatus for map decoding and turbo decoder using the same
US5910182A (en) Data communications systems and methods using interspersed error detection bits
CN1102813C (zh) 用两个分组码纠错
KR101143768B1 (ko) 맵핑 펑크션의 주기성을 사용하여 메모리 효율적인 인터리빙/디-인터리빙
CN111106838B (zh) 一种通信同步方法、装置及系统
US6363513B1 (en) Transmission system with adaptive channel encoder and decoder
AU723989B2 (en) Method for decoding data signals using fixed-length decision window
CN113507289A (zh) 一种编码器、解码器及码字生成方法
KR100710743B1 (ko) 간이 채널 디코더를 구비하는 전송 시스템 및 이 시스템의 운영 방법
CN113541871B (zh) 一种生成码字的方法及编解码器
EP0981863B1 (en) Method and apparatus for enhanced performance in a system employing convolutional decoding
JP3445279B6 (ja) データ伝送方法,データ伝送システムおよび送信装置,受信装置
KR101353094B1 (ko) 오류정정부호에 대한 인터리빙 방법 및 이를 이용한 정보 송수신 시스템
KR20080035404A (ko) 블록 부호를 사용하는 통신 시스템에서 신호 송수신 장치및 방법
JP2012175565A (ja) 送信装置、送信方法

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application