KR100724921B1 - 통신시스템에서 부호 생성 및 복호 장치 및 방법 - Google Patents

통신시스템에서 부호 생성 및 복호 장치 및 방법 Download PDF

Info

Publication number
KR100724921B1
KR100724921B1 KR1020010007916A KR20010007916A KR100724921B1 KR 100724921 B1 KR100724921 B1 KR 100724921B1 KR 1020010007916 A KR1020010007916 A KR 1020010007916A KR 20010007916 A KR20010007916 A KR 20010007916A KR 100724921 B1 KR100724921 B1 KR 100724921B1
Authority
KR
South Korea
Prior art keywords
symbols
columns
symbol
code
parity
Prior art date
Application number
KR1020010007916A
Other languages
English (en)
Other versions
KR20020067382A (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 KR1020010007916A priority Critical patent/KR100724921B1/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to BR0204147-2A priority patent/BR0204147A/pt
Priority to RU2002127723/09A priority patent/RU2236756C2/ru
Priority to CA002406043A priority patent/CA2406043C/en
Priority to CNB028005791A priority patent/CN1264280C/zh
Priority to AU2002233795A priority patent/AU2002233795B2/en
Priority to JP2002566845A priority patent/JP3636709B2/ja
Priority to PCT/KR2002/000240 priority patent/WO2002067434A1/en
Priority to DE20202467U priority patent/DE20202467U1/de
Priority to DE60231765T priority patent/DE60231765D1/de
Priority to GB0203771A priority patent/GB2377351B/en
Priority to EP02003682A priority patent/EP1233524B1/en
Priority to US10/080,262 priority patent/US7200181B2/en
Publication of KR20020067382A publication Critical patent/KR20020067382A/ko
Application granted granted Critical
Publication of KR100724921B1 publication Critical patent/KR100724921B1/ko

Links

Images

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/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
    • 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/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/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
    • 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/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
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6387Complementary punctured convolutional [CPC] codes

Abstract

본 발명에 따른, 통신시스템에서 준보완터보부호 생성장치는, 터보부호기와, 상기 터보부호기로부터의 심볼들을 주어진 규칙에 의해 인터리빙하여 출력하는 인터리버와, 상기 인터리버로부터의 상기 인터리빙된 심볼들을 천공 및 반복하여 상기 준보완터보부호를 생성하는 부호생성기를 포함하는 것을 특징으로 한다.
또한 본 발명에 따른 통신시스템에서 준 보완터보부호 복호장치는, 송신기로부터 송신된 준 보완터보부호의 서브부호들을 천공의 역과정 및 서브부호의 연성결합을 통해 송신된 부호율에 따른 부호심볼들을 생성하는 부호 복호기와, 상기 부호 복호기로부터의 심볼들을 주어진 규칙에 의해 디인터리빙하여 출력하는 디인터리버와,상기 디인터리버로부터의 출력을 복호화하는 터보 복호기를 포함하는 것을 특징으로 하는 상기 장치.
QUASI-COMPLEMENTARY TURBO CODES, HARQ, TUTBO CODES, PACKET COMBINING, SOFT COMBINING, THROUGHPUT, CODE COMBINING

Description

통신시스템에서 부호 생성 및 복호 장치 및 방법{CODE GENERATING AND DECODING APPARATUS AND METHOD IN COMMUNICATION SYSTEM}
도 1은 본 발명의 실시 예에 따른 준 보완터보부호를 위한 부호생성에 사용되는 심볼열 반복 및 천공이 채널인터리빙 이후에 수행되는 준 보완터보부호 생성장치를 도시하는 도면,
도 2는 본 발명의 실시 예에 따른 준 보안터보부호를 생성하기 위한 방법을 설명하기 위한 도면,
도 3은 본 발명의 실시 예에 따른 준 보완터보부호의 서브부호선택방식을 설명하기 위한 도면,
도 4는 본 발명의 실시 예에 따라 도 1에서 제시된 송신기의 전송방식에 따른 데이터를 수신하기 위한 수신기의 구성도,
도 5는 본 발명의 실시 예에 따른 수신기에서 수신된 신호를 처리하기 위한 과정의 기능 블록 구성도,
도 6은 본 발명의 실시 예에 따라 수신기에서 수신된 데이터가 처리되는 과정을 순차적으로 도시한 타이밍도,
도 7은 본 발명의 실시 예에 따라 수신기에서 수신된 데이터를 분할하여 저 장하며, 이를 복호하는 과정을 순차적으로 도시한 도면.
본 발명은 데이터 통신시스템의 부호생성에 관한 것으로, 특히 재전송방식을 사용하는 패킷통신시스템과 혹은 재전송을 사용하는 일반적인 통신시스템에서 터보부호의 특성을 고려한 터보 보완 부호(complementary codes) 생성장치 및 방법에 관한 것이다.
일반적으로 하이브리드 ARQ(Hybrid ARQ)방식을 사용하는 시스템에서 전송효율(throughput)을 개선하고자 연성 결합(Soft combining)을 사용하며 여기에는 두 가지 방식이 가능하다. 첫 번째 방식으로 packet diversity combining(패킷 다이버시티 결합)을 사용하는 구조이며, 두 번째 방식으로 packet code combining(패킷 부호 결합)을 사용하는 방식이다. 일반적으로 이 두 방식을 모두 Soft Packet Combining(연성 패킷 결합)이라고 말하며 이 중 상기 packet diversity combining 방식은 상기 packet code combining 방식에 비하여 성능 면에서 sub-optimal 방식이지만 구현의 편이성 때문에 성능상의 큰 손실이 없는 경우 자주 사용되는 방식이다.
통상적으로, Packet(패킷)을 전송하는 시스템에서 전송효율(Throughput)을 증가시키기 위해서 연성 패킷 부호 결합을 사용한다. 즉, 각각의 전송마다 전달되 는 Packet에 대하여 부호율이 R인 상호 다른 부호를 전송하고 복호된 결과 수신된 패킷에 오류가 검출되는 경우 이를 소멸시키지 않고 저장한 뒤에 향후 재 전송되어 올 패킷과 연성결합(Soft Combining)을 하는 방식을 말한다. 이때 재전송되는 패킷은 상호 다른 부호가 사용돨 수 있다. 즉, 상기 패킷 부호 결합 방식은 부호율이 R인 N개의 패킷을 수신한 경우 각각의 패킷을 사용하여 실효 부호율(effective code rate)이 R/N인 부호로 전환한 뒤에 복호함으로써 부호화이득(coding gain)을 얻는 효과를 갖는 방식이다.
반면에 패킷 다이버시티 결합은 각각의 전송마다 전달되는 Packet에 대하여 부호율이 R인 동일한 부호를 전송하고 복호된 결과 수신된 패킷에 오류가 검출되는 경우 이를 소멸시키지 않고 저장한 뒤에 향후 재 전송되어 올 패킷과 연성결합(Soft Combining)을 하는 방식을 말한다. 이때 재전송되는 패킷은 항상 동일한 부호가 사용된다. 따라서 패킷 다이버시티 결합은 랜덤채널에서 일종의 Symbol Energy Averaging (심볼에너지 평균과정)으로 볼 수 있으며 수신심볼 연성출력(soft output)을 평균함으로써 얻는 잡음전력감소 효과와, 페이딩 채널에서 복수개의 심볼을 전송함으로써 다중성 채널에서 제공되는 다중성이득(diversity gain)만을 사용하는 방식이라고 볼 수 있다. 이에 반해서 패킷 부호 결합은 이러한 이득 이외에도 Code structure(코드 구조)에 따른 추가의 Coding Gain(코딩 게인)을 가지고 있다.
한편, 상기 터보부호를 생성하는 터보부호기를 간단히 살펴보면 다음과 같다. 예를 들어 부호율이 1/5인 터보부호기는 입력되는 정보심볼들을 부호화하여 정ㅂ조심볼들(X)과 제1패리티심볼들(Y0, Y0')과 제2패리티심볼들(Y1, Y1')을 발생한다. 상기 터보부호기는 두 개의 구성부호기들과 하나의 인터리버를 포함하여 구성된다. 제1구성부호기(compenent encoder)는 상기 입력되는 정보심볼들을 부호화하여 상기 제1패리티심볼들(Y0, Y0')을 발생하고, 제2구성부호기는 상기 인터리버를 통해 인터리빙된 정보심볼들을 부호화하여 제2패리티심볼들(Y1, Y1')을 발생한다. 이를 상세히 설명하면, 상기 Y0는 제1구성부호기에서 발생되는 첫 번째 패리티심볼들의 열이고, 상기 Y0'는 상기 제1구성부호기에서 발생되는 두 번째 패리티심볼들의 열이라 할 수 있다.
현재까지의 패킷통신 시스템에서는 구현의 용이함 때문에 대부분 패킷 다이버시티 결합을 사용하고 있으며 동기방식의 IS-2000 시스템과 비동기방식의 UMTS 시스템 등에서 이러한 방식이 고려되고 있다. 그러나 이는 기존의 패킷통신 시스템들이 대부분 길쌈부호를 사용하였고, 길쌈부호의 경우 부호율 R이 낮은 부호(codes)를 사용하는 경우에 상기 패킷 다이버시티 결합을 사용한다 해도 그리 큰 이득이 제공되지 않기 때문이었다. 즉, R=1/3 사용하는 시스템에서 재전송이 가능한 경우, 상기 패킷 다이버시티 결합을 사용하는 경우와 패킷 부호 결합을 사용하여 1/6 부호율을 사용하는 경우의 성능차이가 그리 크지 않기 때문에 구현의 복잡도를 고려하여 패킷 다이버시티 결합을 사용하였다. 그러나 오류정정부호(Forward Error Correction Codes : FEC)로 터보 부호를 사용하는 경우에는 이러한 기존의 개념과는 다른 방식이 요구된다. 왜냐하면 터보 부호는 반복 복호(iterative decoding)에 의해서 그 성능이 Shannon Channel Capacity limit에 근접하도록 설계된 오류정정부호이며, 부호율에 따른 성능의 차이가 기존의 길쌈 부호(Convolutional codes)와는 달리 분명하게 존재하기 때문이다. 즉, 이러한 점을 고려할 때 재전송을 사용하는 패킷통신 시스템에서는 터보 부호(Turbo codes)를 사용하는 패킷 부호 결합 방식을 구현하는 것이 성능을 향상시키는 방법이 된다.
본 발명의 목적은 통신 시스템에서 터보부호의 특성을 고려한 터보 보완 부호 생성 및 복호 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 통신 시스템에서 준 보완터보부호를 생성하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 통신 시스템에서 준 보완터보부호를 복호하기 위한 장치 및 방법을 제공함에 있다.
상기한 목적들을 달성하기 위한, 본 발명의 바람직한 실시 예에 따른 통신시스템에서 준 보완터보부호 생성장치는, 터보부호기와, 상기 터보부호기로부터의 심볼들을 주어진 규칙에 의해 인터리빙하여 출력하는 인터리버와, 상기 인터리버로부터의 상기 인터리빙된 심볼들을 천공 및 반복하여 상기 준보완터보부호를 생성하는 부호생성기를 포함하는 것을 특징으로 한다.
상기한 목적들을 달성하기 위한, 본 발명의 바람직한 실시 예에 따른 통신시스템에서 준 보완터보부호 복호장치는, 송신기로부터 수신된 준 보완터보부호의 서브부호들을 천공의 역과정 및 서브부호의 연성결합을 통해 송신된 부호율에 따른 부호심볼들을 생성하는 부호 복호기와, 상기 부호 복호기로부터의 심볼들을 주어진 규칙에 의해 디인터리빙하여 출력하는 디인터리버와,상기 디인터리버로부터의 출력을 복호화하는 터보 복호기를 포함하는 것을 특징으로 하는 상기 장치.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 본 발명은 채널인터리빙을 사용하는 시스템에서 준 보완터보부호(Quasi Complementary Turbo Codes : QCTC)를 사용하는 경우나 혹은 매우 다양한 부호율의 준 보완터보부호를 요구하는 시스템에서 가변적인 부호길이에 관계없이 특정방식에 의해서 준 보완터보부호를 구현하는 방식에 대해 설명할 것이다. 상기 준보완터보부호라 함은 터보부호를 가지고 생성되는 보완부호(Complementary Codes)를의미한다. 여기서, "준(quasi)"이란 용어를 사용한 것은 서브부호를 생성함에 있어 반복 선택도는 심볼들이 존재하고, 각각의 서브부호의 특성(예 : 에러 정정 능력 등)이 상이하여 완전한 부완부호라 할 수 없기 때문이다.
도 1은 본 발명의 실시 예에 따른 준 보완터보부호(QCTC) 생성장치의 구성을 도시하고 있다. 상기 도 1은 준 보완터보부호(QCTC) 생성 장치에 사용되는 심볼열 반복 및 천공이 채널인터리빙 이후에 수행되는 경우를 보여준다.
상기 도 1을 참조하면, 부호기(Encoder)101은 입력되는 인코더 패킷(encoder packet)을 부호화하여 심볼들을 출력한다. 여기서, 부호기는 길쌈부호기, 터보부호기 등을 사용할 수 있다. 예를 들어, 상기 부호기101의 부호율은 1/5이라 가정한다. 따라서, 3072bits의 정보비트들이 입력되었을 때 상기 부호기101은 15360 bits의 심볼들을 출력하게 된다. 채널인터리버(channel interleaver)102는 상기 부호기101로부터의 상기 심볼들을 주어진 규칙에 의해 인터리빙하여 출력한다. 여기서, 상기 인터리버102는 상기 부호기101이 터보부호기라 가정했을 때, 상기 터보부호기의 성질에 근거하여 정보어 심볼 X, 패리티 심볼 Y0, Y1, Y0', Y1'를 각각 독립적으로 인터리빙하여 출력한다. QCTC부호생성기(QCTC generator)103은 상기 채널인터리버102로부터의 상기 인터리빙된 심볼들을 천공(puncturing) 및 반복(repetition)하여 준 보완터보부호를 생성한다. 이와 같이 QCTC 생성과 관련된 구성요소는 채널인터리버(102)와 QCTC 생성기(103)이 된다.
도시된 바와 같이 인터리빙된 부호심볼들의 개수가 15360이라 하고, 주어진 서브부호의 부호율(또는 전송율)이 307.2kbps라 할 때, QCTC 생성기 103은 15360개의 인터리빙된 부호심볼들과 심볼 반복에 의해 상기 인터리빙된 부호심볼들의 앞부분 일부를 다시 선택하여 21504개의 심볼들로 구성되는 첫 번째 서브 부호를 생성한다. 한편, 서브부호의 부호율이 614.4kbps이면, 상기 인터립빙된 부호심볼들의 앞부분 일부를 선택하여 10752개의 심볼들로 구성된 첫 번째 서브부호를 생성한다. 그리고 만일 부호율이 1228.8kbps 또는 2457.6kbps라면, 상기 QCTC 생성기 103은 상기 인터리빙된 부호 심볼들로부터 처음 5,367개의 심볼들을 선택하여 첫 번째 서브 부호를 생성한다.
여기서, 상기 준 보완터보부호(또는 서브부호)를 생성하기 위해서는 상기 채널인터리버102가 특정한 성질을 가져야 한다. 왜냐하면 상기 채널부호기101로부터 출력되는 5가지의 심볼들 즉, 정보어 심볼 X, 패리티 심볼 Y0, Y1, Y0', Y1'이 채널인터리버를 통과하면 각각 분산되어 준 보완터보부호를 생성하기 위한 천공 및 반복 블럭의 입력으로 사용하기가 용이하지 않으며, 또한 상기 정보심볼 X, 패리티심볼 Y0, Y0', Y1, Y1'가 섞인 심볼들을 가지고 준보완 터보부호의 성직ㅇ르 만족하는 서브부호를 생성하는 것은 용이하지 않다. 따라서 본 발명은 이러한 문제를 해결하고 각각의 서브부호 부호율에 관계없이 항상 일정한 방식에 의해 준 보안터보부호를 생성하는 방법에 대해 설명할 것이다.
도 2는 본 발명의 실시 예에 따른 준 보완터보부호를 생성하기 위한 절차를 설명하기 위한 도면이다.
상기 도 2를 참조하면, 부호기(Encoder)201은 입력되는 인코더 패킷(encoder packet)을 부호화하여 심볼들을 출력한다. 상기 부호기201은 R=1/5 혹은 다양한 부호율의 모부호를 사용한다. 모부호의 결정은 사용하는 시스템에 의해 결정되므로 여기서는 편의상 R=1/5의 터보부호를 모부호로 사용한다.
따라서 상기 부호기 201은 입력되는 정보 심볼들을 부호화하여 정보 심볼들(X)과 제1패리티 심볼들(Y0, Y0')과 제2패리티 심볼들(Y1, Y1')을 발생한다. 여기서 상기 제1패리티심볼들(Y0, Y0')은 터보부호기의 제1구성부호기(component encoder)에서 발생되는 부호심볼들이고, 상기 제2패리티심볼들(Y1, Y1')은 제2구성부호기에서 발생되는 부호심볼들이다. 이를 상세히 설명하면, 상기 Y0는 제1구성부호기에서 발생되는 첫 번째 패리티심볼들의 열이고, 상기 Y0'는 상기 제1구성부호기에서 발생되는 두 번째 패리티심볼들의 열이라 할 수 있다. 여기서 도면에 도시하지는 않았지만, 상기 제1 및 제2구성부호기는 상기 부호기201에 포함되어 있다. 또한 상기 구성부호기들의 각각에서 발생되는 첫번째 패리티심볼들의 열들은 다른 패리티심볼들의 열들에 비해 높은 선택 우선순위(전송 우선순위)를 갖는다.
역다중화기(Demultiplexer)202는 상기 채널부호기201로부터 출력되는 5가지의 심볼들 즉, 정보어 심볼 X, 패리티 심볼 Y0, Y1, Y0', Y1'를 역다중화기(Demultiplexer)에 의해서 5개의 그룹으로 분리하여 출력한다. 즉, 각각의 정보어 심볼열 X(203), 패리티심볼열 Y0(213), 패리티심볼열 Y1(223), 패리티심볼열 Y0'(233), 패리티심볼열 Y1'(243)들이 순차적으로 분류되어 하기의 각 서브블록 인터리버(204 ∼244)들로 전달된다.
상기 서브블럭 인터리버들(204∼244)은 상기 역다중화기202로부터 출력되는 각각의 시퀀스들을 각각 할당된 서브블록 인터리빙에 의해 랜덤하게 위치를 변경하여 출력한다. 이러한 서브블록 인터리빙으로 여러 가지 방식이 사용될 수 있으며 하기의 조건이 가급적 만족되는 인터리빙이 사용된다.
조건1. 인터리빙에 의해 생성되는 심볼들을 일부 천공 혹은 삭제하는 경우에, 서브블록 인터리빙 이전의 심볼들의 천공패턴이 가급적 균등한 거리를 가지고 발생되도록 하는 인터리빙 방식을 사용한다.
상기 조건1이 가지는 의미는 각각의 부호어 심볼인 X, Y0, Y1, Y0', Y1' 중에서 임의의 수만큼 각각 천공하는 경우 서브블록 채널인터리빙 이전의 부호어 심볼들에서 천공된 심볼의 거리가 균등해야 터보부호의 성능을 최적화 할 수 있기 때문이다. 즉, 터보부호에서 천공을 사용하는 경우 균일성(uniformity)이 중요한 성능결정 요인이 되기 때문이다. 한편, 본 발명은 각각의 X, Y0, Y1, Y0', Y1'에 대해서 독립적인 서브블록 인터리빙을 사용한다. 그리고 각각의 부호 심볼들에 대한 천공이 균일하면 이를 연속적으로 발생한 채널부호기의 출력부분에서 보는 천공된 부호 심볼들 사이의 거리도 균일한 분호를 가질 수가 있다. 따라서 인터리빙의 후단에서 천공을 행하더라도 채널부호기의 출력에서 보는 심볼들의 천공 분포가 균당할 수 있도록 채널 인터리빙 방식을 결정해야 한다.
이러한 채널인터리빙 방식으로는 비트 역상순(BRO : Bit Reversal Order) 채널인터리버 등이 있으나 상기 비트 역상순 부호기에 입력되는 정보어 심볼을의 개수와 모부호에 의해 발생되는 부호어 심볼들인 X, Y0, Y1, Y0', Y1'의 각각의 총 심볼수가 2의 거듭제곱의 형태 즉, 2m의 형태를 가지지 않는 한 사용할 수 없다. 여기서, 상기 'm'은 서브블록 인터리버의 블록 사이즈 N을 2m X J를 만들기 위한 파리미터이다. 이러한 문제를 해결하는 채널인터리빙 방식으로 부분 비트 역상순 인터리빙(PBRO : Partial Bit Reversal Interleaving) 방식이 있으며 이 방식은 부호어 심볼인 X, Y0, Y1, Y0', Y1'의 각각의 총 심볼수가 2의 거듭제곱의 형태 즉, 2m의 형태를 가지지 않는 경우에도 상기 조건1을 최대한 만족하도록 설계된 채널인터리빙 방식이다. 따라서 상기 부분 비트 역상순 인터리빙 방식을 사용하면 상기조건이 최대한 만족하는 범위에서 채널인터리빙이 수행될 수 있다. 본 발명에서는 이러한 서브블록 채널인터리빙에 관해서는 구체적으로 기술하지 않으며, 상기 조건1이 충실히 만족되는 모든 채널인터리빙방식이 모두 사용될 수 있음을 명시한다.
상기 인터리빙에 의해 랜덤화된 각각의 부호어 심볼들은 각각 대응되는 블록으로 입력된다. 여기서, 상기 제1인터리버(204)로부터의 인터리빙된 정보어 심볼 X는 바로 심볼열 결합기(symbol sequence concatention)207로 입력되고, 제2, 3 인터리버(214, 224)로부터의 인터리빙된 패리티 심볼 Y0 및 Y1은 제1다중화기(205)로 입력되며, 제4, 5 인터리버(234, 244)로부터의 인터리빙된 패리티 심볼 Y0' 및 Y1'은 제2다중화기(215)로 입력된다. 상기 제1다중화기(205)는 상기 인터리빙된 패리티 심볼 Y0 및 Y1을 다중화하여 상기 심볼결합기207로 출력한다. 상기 제2다중화기(215)는 상기 인터리빙된 패리티 심볼 Y0' 및 Y1'를 다중화하여 상기 심볼결합기(207)로 출력한다. 이렇게, 상기 인터리버들로부터 출력되는 인터리빙된 정보어 심볼들은 상기한 연속한 다중화기(205, 206)에 의해 다시 위치가 재 정렬되어 3개의 서브그룹들206, 216 및 226으로 분류된다.
이 부분이 본 발명에 있어 준 보완터보부호를 생성하는 중요한 부분이므로 이를 보다 상세히 기술한다. 도 2에서 도시된 바와 같이, 정보어 심볼들 X는 서브블록 인터리빙 이후에 다중화 되지 않고 하나의 독립된 서브그룹으로 분류되어 상기 심볼열결합기(207)로 전달된다. 이와 같이 서브블록 인터리빙된 심볼을 Sbi_X라고 정의하면, 상기 인터리빙된 정보어 심볼 Sb_x는 하기 <수학식 1>과 같다. 설명의 편의를 위해서 이를 시퀀스"A"로 도면에 표기하였다. 하기 <수학식 1>에서 Sbi_X(1)은 상기 제1인터리버(206)에 의해 인터리빙된 심볼들 중에서 첫 번째 심볼을 의미한다.
Sbi_X(1), Sbi_X(2), Sbi_X(3), Sbi_X(4)
다음으로, 제2,3 인터리버(214,224)에 의해 생성되는 부호어심볼들 Y0, Y1이 하나의 서브그룹으로 분류된다. 이 과정에서 부호어 심볼 Y0, Y1의 각각의 심볼들을 하기 <수학식 2> 및 <수학식 3>으로 나타내면, 상기 제1 다중화기(205)는 상기 부호어 심볼 Y0 및 Y1을 다중화하여 하기 <수학식 4>와 같은 심볼들을 출력한다. 설명의 편의를 위해서 이를 시퀀스"B"로 도면에 표기하였다.
Sbi_Y0(1), Sbi_Y0(2), Sbi_Y0(3), Sbi_Y0(4)
Sbi_Y1(1), Sbi_Y1(2), Sbi_Y1(3), Sbi_Y1(4)
Sbi_Y0(1), Sbi_Y1(1), Sbi_Y0(2), Sbi_Y1(2), Sbi_Y0(3), Sbi_Y1(3)
상기 <수학식 2>에서 Sbi_Y0(1)는 제2 인터리버(214)에 의해 인터리빙된 심볼들 중에서 첫 번째 심볼을 의미한다. 마찬가지로 Sbi_Y0(2)는 제2 인터리버(214) 에 의해 인터리빙된 심볼들 중에서 두 번째 심볼을 의미한다. 상기 <수학식 3>에서 Sbi_Y1(1)는 제3 인터리버(224)에 의해 인터리빙된 심볼들 중에서 첫 번째 심볼을 의미한다. 마찬가지로 Sbi_Y1(2)는 서브블록 인터리버(224)에 의해 인터리빙된 심볼들 중에서 두 번째 심볼을 의미한다.
또한 상기 <수학식 4>와 같이 다중화하는 이유는 연속적인 M개 심볼의 천공을 사용하는 경우 시퀀스 "B"의 후반부 혹은 전반부이든 관계없이 어디를 천공하더라도 M이 짝수인 경우에는 항상 Sbi_Y0의 천공된 심볼의 수와 Sbi_Y1의 천공된 심볼의 수가 항상 동일하게 하기 위해서이다. 즉, 심볼들 Y0에서 천공되는 심볼들의 수와 심볼들 Y1에서 천공되는 심볼들의 수를 동일하게 하기 위해서이다. 또한 M이 홀수인 경우에도 항상 Sbi_Y0의 천공된 심볼의 수와 Sbi_Y1의 천공된 심볼의 수 사이에는 단지 1만큼의 차이가 존재할 뿐 거의 동일한 양의 천공된 심볼 수를 가진다. 따라서 준 보완터보부호의 성질 중 하나인 터보부호의 구성 부호기1과 구성 부호기2에 발생되는 패리티 심볼 Y0, Y1의 천공심볼 수가 가급적 동일해야 한다는 조건을 항상 만족한다.
동일한 방식에 의해 서브블록 인터리빙에 의해 인터리빙된 부호어 심볼들 Y0', Y1'가 하나의 서브그룹으로 분류된다. 이 과정에서 부호어 심볼 Y0', Y1'의 각각의 심볼들을 하기 <수학식 5> 및 하기 <수학식 6>으로 나타내면 상기 제2 다중화기(215) 상기 부호어 심볼 Y0' 및 Y1'을 다중화하여 하기 <수학식 7>과 같은 심볼들을 출력한다. 설명의 편의를 위해서 이를 시퀀스"C"로 도면에 표기하였다.
Sbi_Y0'(1), Sbi_Y0'(2), Sbi_Y0'(3), Sbi_Y0'(4)
Sbi_Y1'(1), Sbi_Y1'(2), Sbi_Y1'(3), Sbi_Y1'(4)
Sbi_Y0'(1), Sbi_Y1'(1), Sbi_Y0'(2), Sbi_Y1'(2), Sbi_Y0'(3), Sbi_Y1'(3)
상기 <수학식 7>과 같이 다중화하는 이유는 연속적인 M개 심볼의 천공을 사용하는 경우 시퀀스 "C"의 후반부 혹은 전반부이든 관계없이 어디를 천공하더라도 M이 짝수인 경우에는 항상 Sbi_Y0'의 천공된 심볼의 수와 Sbi_Y1'의 천공된 심볼의 수가 항상 동일하게 하기 위해서이다. 또한 M이 홀수인 경우에도 항상 Sbi_Y0'의 천공된 심볼의 수와 Sbi_Y1'의 천공된 심볼의 수 사이에는 단지 1개만큼의 차이가 존재할 뿐 거의 동일한 심볼수가 천공되도록 하기 위해서이다. 따라서 준 보완터보부호의 성질 중 하나인 터보부호의 구성 부호기1과 구성 부호기2에 발생되는 패리티 심볼들 Y0', Y1'의 천공심볼 수가 가급적 동일해야 한다는 조건을 항상 만족한다.
다음으로, 상기 심볼결합기(Sequence Concatenation)207은 각각 식(1)에 의해 발생되는 서브블록 인터리빙된 정보어심볼 시퀀스 "A"와 상기 <수학식 4>와 상기 <수학식 7>에 의해 발생되는 다중화된 패리티 심볼 시퀀스 "B"와 "C"를 아래와 같이 순차적으로 결합하여 하나의 심볼시퀀스 즉, 순차적으로 생성되는 심볼열 [A:B:C]를 생성한다. 하기 <수학식 8>에 이 관계를 보여준다.
[A:B:C]= [Sbi_X(1), Sbi_X(2), Sbi_X(3), ....][Sbi_Y0(1), Sbi_Y1(1), Sbi_Y0(2), Sbi_Y1(2),...] [Sbi_Y0'(1), Sbi_Y1'(1), Sbi_Y0'(2), Sbi_Y1'(2), ...]
상기한 <수학식 8>에서 보듯이 [A:B;C]는 초기앞 부분에는 오로지 정보어 심볼들만을 보유하고 있으며 그 다음으로는 Y0와 Y1을 교대로 각각 보유하고 있으며, 마지막으로 Y0'와 Y1'를 교대로 보유하고 있다. 이러한 성질은 준 보완터보부호를 생성하는데 있어 중요한 의미를 가진다. 이를 상세히 기술한다.
상기 <수학식 8>과 같이 순차적인 시퀀스 결합을 사용하는 이유는 다음과 같다. 상기 <수학식 8>에서 임의의 서브부호 부호율을 지닌 준 보완터보부호를 생성하기 위해서 천공을 사용해야 하며 이 천공의 방식을 정의한 것이 준 보완터보부호이다. 앞서 제시한 바와 같이 이러한 준 보완터보부호가 가져야 하는 성질들은 다음과 같다.
성질1. 우선적으로 준 보안터보부호는 정보어 심볼을 우선적으로 전송한다. 특히 서브부호의 부호율이 1에 근접할수록 더욱더 이 성질이 중요하다.
성질2. 구성부호기들의 각각에서 즉, 터보부호기의 구성부호기1, 구성부호기2에서 생성되는 패리티 심볼들의 수가 같거나 혹은 가급적 최대한 차이가 적도록 천공 패턴을 결정한다.
성질3. 구성부호기1의 부호율이 항상 1보다 작도록 정보어 심볼과 구성 부호기1의 패리티 심볼들 Y0, Y0'의 천공심볼의 개수를 결정한다, 즉, 최소한 한 개 이상의 Y0 혹은 Y0'가 존재해야 터보부호의 성능을 보장한다.
성질4. 천공에 의해 발생되는 준 보완터보부호의 천공심볼들 사이의 간격이 균일해야 한다.
성질5. 각각의 준 보완터보부호를 결합하여 구성되는 터보부호는 준 보완부호(Quasi Complementary) 성질을 만족한다.
따라서 상기 <수학식 8>과 같은 심볼열에서 임의의 서브부호 부호율을 지닌 준보완 터보부호를 생성하기 위해서 상기 심볼열의 종단으롭터 필요한 양만큼의 심볼들을 천공(Puncturing)하고, 상술한 준보완터보부호의 성질들을 만족하는지 살펴보면, 상기 5개의 성질들을 모두 만족하는 것을 알 수 있다. 즉, 상기 <수학식 8>과 같은 심볼열 [A:B:C]를 심볼열반복기(208) 및 심볼천공기(209)를 통해 필요한 만큼 반복하고 이어서 심볼을 천공하여 원하는 준보완터보부호의 서브부호를 생성한다. 상기 심볼열반복기(Symbol sequence Repeater)(208)는 상기 심볼결합기(207)로부터의 심볼열을 소정 결정에 따라 반복하여 출력한다. 물론 상기 반복은 서브부호의 부호율에 의해 결정된다. 상기 심볼천공기(Sub code Cij Generation)(209)는 상기 심볼열반복기(208)로부터의 심볼열에서 마지막 심볼로부터 소정 개수의 심볼들을 천공(Puncturing) 혹은 삭제(Pruning)하여 준보완터보부호의 서브부호를 생성한다. 상기 천공도는 심볼의 수는 서브부호의 부호율에 의해 결정된다. 따라서 상기와 같이 시퀀스 반복 및 심볼 천공이 수행되려면, 상기 심볼열반복기(208) 및 심볼 천공기(209)로 서브부호의 부호열이 제공되어야 한다. 다른 예로, 상위 제어기(도시하지 않음)가 모부호율과 서브부호의 부호율에 따라 시퀀스 반복 및 천공되는 심볼의 수를 계산하여 상기 심볼열반복기(208) 및 심볼천공기(209)로 제공할 수도 있다.
다시 말해, 상기 심볼천공기(209)는 상기 심볼열반복기(208)로부터의 반복된 심볼열에서 주어진 시작위치로부터 주어진 부호율에 따른 소정수의 심볼들을 선택하여 상기 준보완터보부호의 서브부호를 생성한다. 여기서, 상기 주어진 시작위치는 최종 전송에서 선택된 심볼들 중 마지막 심볼의 다음 심볼의 위치를 나타낸다. 따라서 상기 심볼천공기(209)는 다른 의미로 "심볼선택기"로 친할 수 있다.
한편, 상기 도 2의 구성에서 인터리버들(203,213,223,243), 다중화기들(205,215) 및 심볼결합기(207)는 상기 도 1의 구성에서 채널인터리버(102)에 대응되고, 나머지 심볼열반복기(208) 및 심볼 천공기(209)는 상기 준보완터보부호 생성기(103)에 대응되는 구성이라 할 수 있다.
삭제
다시 상기 도 1을 참조하면, 모부호율이 R=1/5이고 입력정보어의 심볼수가 3072 bits라고 하면 채널부호기101에서 출력되는 부호어심볼의 개수는 15360 bits이고, 서로 다른 부호율(또는 전송률)의 준보완터보부호들은 다음과 같이 생성된다. 이하, 서브부호의 전송률이 207.2kbps(제1준보완터보부호), 614.4kbps(제준보완터보부호), 1288.8kbps(제3준보완터보부호)인 것으로 가정하여 설명한다.
예를 들어, 모부호율이 R=1/5이고 입력정보어의 심볼수가 3072 bits라고 하면 채널부호기에서 출력되는 부호어 심볼의 개수는 15360 bits가 된다. 그리고, 앞서 설명한 바와 같이, 상기 부호어 심볼들을 다섯 개의 서브블록으로 분리하여 인터리빙하고 상기 인터리빙된 15360 bits의 심볼들을 상기 <수학식 8>과 같이 재 정렬한다. 이후, 상기 정렬된 15360개의 심볼을 열단위로 반복하고 이로부터 사전에 정해진 서브부호의 부호율에 따라 천공 혹은 삭제해야 하는 심볼의 개수를 계산하고 이를 기준으로 각각의 서브부호를 결정한다.
예를 들어, 도 1 및 도 2에 도시된 바와 같이, 제1준보완터보부호 C0j의 서브부호의 길이가 21504 bits라고 하면, 반복된 시퀀스에서 21504만큼의 위치에서 나머지를 삭제하여 C00를 생성한다. 다시 말해 상기 인터리빙된 15360개의 심볼들에서 상기 선택되는 10752개의 심볼들을 제외한 나머지 심볼들을 삭제하여 상기 첫번째 서브부호를 생성한다. 이러한 삭제 동작은 앞서 설명한 심볼 천공기(209)에서 수행된다. l다음으로 동일한 21504만큼의 위치에서 C01을 생성하고, 또 21504만큼의 진행한 위치에서 C02를 구한다. 이와 같이 분할을 사용하면 해당 서브 부호율의 준 보완터보부호가 생성된다. 동일한 방식으로 C1j의 부호어 길이가 10752라고 하면 반복된 시퀀스에서 10752만큼의 위치에서 나머지를 삭제하여 C10를 생성한다. 다음으로 동일한 10752만큼의 위치에서 C11을 구하고, 또 10752만큼의 진행한 위치에서 C12를 구한다. 이와 같이 분할을 사용하면 해당 서브 부호율의 준 보완터보부호가 생성된다. 동일한 방식으로 C2j의 부호어 길이가 5376이라고 하면 반복된 시퀀스에서 5376만큼의 위치에서 나머지를 삭제하여 C20를 구한다. 다음으로 동일한 5376만큼의 위치에서 C21을 구하고, 또 5376만큼의 진행한 위치에서 C22를 구한다. 이와 같이 전송률 614.4kbps에 대한 준보완터보부호의 서브부호들을 생성한다.
동일한 방식으로, 제3준보완터보부호(C2j)의 서브부호의 길이가 5376 bits라고 하면, 인터리빙된 심볼들을 반복한 시퀀스에서 처음으로 5375개 만큼의 심볼들을 선택하여 첫번째 서브부호(C20)를 생성한다. 다음으로 상기 첫 번째 서브부호의 다음 심볼로부터 다시 5376개 만큼의 심볼들을 선택하여 두 번째 서브부호(C21)을 생성하고, 연이어 다시 5376개만큼의 심볼들을 선택하여 세 번째 서브부호(C22)를생성한다. 이와 같이 전송률 1228.8kbps에 대한 준보완 터보부호의 서브부호들을 생성한다.
즉, 시스템은 각 준보완터보부호에 대해 최종 전송된 서브부호의 마지막 심볼의 위치를 기억해두고, 재전송에 사용될 전송률(또는 부호율) 결정시 상기 전송률에 대한 준보완터보부호를 선택하며, 상기 선택된 준보완터보부호에 대하여 저장된 상기 마지막 심볼의 다음으로부터 상기 전송률에 따른 소정 개수의 심볼들을 선택하여 전송 서브부호를 생성한다. 이때, 상기 선택되는 심볼들이 하나의 인터리빙된 심볼들의 블록을 초과하는 경우 연이은 다음 블록에서 나머지 심볼들을 선택하여 상기 서비부호를 생성한다. 상기한 예는, 인터리빙된 심볼들의 블록을 반복하여 서브부호를 생성하는 것으로 반복된 블록들을 저장하기 위한 저장공간이 필요하다.
다른 예로, 상기 인터리빙된 심볼들을 회전형 버퍼 메모리(Circular burrer)에 저장해두고, 심볼들을 순환방식에 의해 선택하여 서브부호를 생성할 수 있다. 즉, 상기 인터리빙된 심볼들의 마지막 심볼까지 모두 선택되면, 다시 인터리빙된 심볼들의 첫번째 심볼을 선택하는 방식으로 정해진 개수의 심볼들을 선택하여 서브부호를 생성할 수도 있다. 이 경우 상기 심볼열 반복기(208)는 제거될 수 있고, 상기 심볼열 반복기(208)의 기능을 상기 회전형 버퍼 메모리가 대신한다.
상기 기술한 방식은 이차원 준 보완터보부호의 생성방식을 의미한다. 즉, 각 부호율에 대한 준보완터보부호를 독립적으로 생성하고, 각 준보완터보부호의 서브부호들을 순차로 전송하는 방식이다. 그러나 이러한 방식에 의해서 준 보완터보부호를 생성하면 다음과 같은 문제점이 있을 수 있다. 즉, 도 2에 도시된 바와 같이, 부호어 길이가 21504 bits인 C0j의 첫 번째 부호인 C00를 초기 전송에 할당하였고, 이어서 두 번째 전송에는 C1j의 첫 번째 부호인 부호어 길이가 10752 bit인 C10를 전송하였고, 마지막으로 세 번째 전송에 C2j의 첫 번째 부호인 부호어 길이가 5376 bit인 C20를 전송하였다고 가정한다. 그러면 수신기는 각각의 준 보완터보부호의 서브부호인 C00, C10, C20을 부호 결합한다. 그러나 이 경우를 보면 C00, C10, C20의 부호결합은 1/5부호율의 원래 부호를 복구하지 못하고 단지 정보어 심볼 부분의 심볼 에너지들을 심볼결합에 의해서 증가시키는 역할을 수행하고 있음 알 수 있고, 이는 각각의 서브부호들의 전송순서 즉, 각각의 서브부호의 선택에 문제가 있음을 의미한다. 따라서 이러한 문제를 해결하는 방식으로 제안된 것이 적응형 준 보완터보부호 (adaptive QCTC)이며 이를 구현하는 방식을 도 3을 참조하여 설명한다.
도 3은 본 발명의 다른 실시 예에 따른 적응형 준보완터보부호를 생성하기 위한 상세 구성을 도시하고 있다. 상기 도 3의 구성은 상기 도 2의 구서와 동일하다. 단지 심볼열 반복기 및 심볼 천공기의 동작이 상이할 뿐이다. 따라서 이하 설명은 심볼열 반복기(308) 및 심볼 천고기(309) 위주로 설명할 것이다.
우선, 상기 심볼열반복기(Symbol Repeater)(308)는 심볼결합기(307)로부터의 심볼들을 소정 결정에 따라 시퀀스 반복하여 출력한다. 여기서, 상기 반복은 상기 심볼열반복기(308)에서 주어진 파라미터에 따라 자체적으로 결정할수도 있고, 상위 제어기(도시하지 않음)에 제어하에 이루어질수도 있으며, 상기 심볼열결합기(307)의 요구(제어)에 의해 수행될 수도 있다. 이 과정까지는 앞서 도 2에서 기술한 바와 동일하다. 이후 상기 심볼천공기(Sub codes Cij Generation)(309)는 상기 심볼열반복기(308)로부터의 심볼들을 상술한 도 2와 다른 규칙으로 천공하여 서브부호를 생성한다. 상기 천공 규칙을 상세히 설명하면 다음과 같다.
우선, 임의의 k시점에서 전송이 시작된다고 가정하고, 임의의 k+h 시점에서 전송되는 서브부호를 Cij(k+h)로 표기한다. 상기 도 3에서 R=1/5에 의해 생성된 모부호의 부호심볼들을 Cm(0), Cm(1), ..., Cm(N-1)이라 정의한다. 여기서 상기 부호심볼들의 크기 N은 모부호율이 1/5이므로 (L_INF*5)로 정의된다. 여기서, 상기 L_INF는 서브블럭 인터리버의 크기를 나타내고, 한편으로 정보심볼들의 크기를 나타낸다.
삭제
삭제
단계1. 초기 서브부호의 길이결정
초기 전송에는 가능한 C00, C10, C20 중에서 임의의 하나의 Ci0를 결정하여 전송하고 이 초기 전송할 Ci0(k)의 부호어길이가 시스템으로부터 전달되며 이를 L_SC라 정의하고 이를 저장한다. 물론 이러한 준 보완터보부호 중에서 각 서브부호의 결정을 위한 서브부호 부호율 혹은 서브부호의 부호길이는 시스템으로부터 전송채널상황, 입력 데이터 레이트 등 다양한 채널환경에 따라서 시스템이 사전에 결정하여 전달하는 값이다. 또한 여기서는 설명의 편의상 도 3에서 표기한 3개의 서브부호에 국한해서 설명하나 일반적으로 서브부호의 수는 임의의 수로 결정될 수 있다. 즉, 서브부호의 수가 항상 동일한 값으로 한정되지 않는다.
단계2. 초기 전송할 서브부호의 결정 및 전송
상기와 같이, 전송할 서브부호의 길이를 결정한 후, 상기 모부호의 부호심볼들 중에서 Cm(0), Cm(1), ....., Cm(L_SC-1)을 전송한다. 만일, L_SC가 N보다 크면 (L_SC/N)의 몫을 P라하고 나머지를 q라 할 때 (이 값은 L_SC mod N으로 주어진다) Cm(0), Cm(1), ....., Cm(N-1)을 P번 반복하여 전송하고 나머지 Cm(0), Cm(1), ...., Cm(q-1)까지 전송한다. 그리고 q를 저장한다. 상기 변수 q의 값은 최종 전송된 서브부호를 구성하는 심볼들 중에서 마지막 심볼의 위치(인터리빙된 심볼들의 블록을 기준으로 할 때)를 나타낸다.
단계 3. 차기전송의 부호심볼 위치결정 및 전송길이 결정
차기 전송 시에는 시스템으로부터 전송채널상황, 입력 데이터 레이트 등 다양한 채널환경에 따라서 시스템이 사전에 결정하여 전달하는 새로운 서브부호율 R_SC에 따라 서브부호길이 L_SC를 다시 구하고 이를 상기 심볼천공기(Sub codes Cij Generation)309에 전달한다. 이때 사용되는 L_SC와 전달되는 R_SC와의 관계는 다음과 같이 주어진다. 그러면 L_SC는 하기 <수학식 9>에 의해서 결정된다. L_INF와 R_SC는 시스템에 의해서 매번 전달되는 값이다.
L_SC=L_INF*(1/R_SC)
단계4. 차기전송의 서브부호결정 및 전송
상기와 같이 차기전송할 서브부호의 길이를 결정한 후, 상기 모부호의 부호심볼들(인터리빙된 부호심볼들) 중에서 Cm(q), Cm(q+1), ....., Cm(q+L_SC-1)을 전송한다. 즉, 이전 전송에서 선택된 심볼들중 마지막 심볼의 다음 심볼로부터 상기 서브부호의 길이만큼의 심볼들을 선택하여 전송한다. 만일, q+L_SC가 N보다 크면 (q+L_SC/N)의 몫을 P라하고 나머지를 새로운 q'라 할 때 (이 값은 (q+L_SC) mod N으로 주어진다) Cm(q)로부터 P번 N개의 부호어를 반복하여 전송하고 나머지 q'개의 Cm을 차례로 전송한다. 그리고 다음 전송을 위해 상기 마지막 선택된 심볼의 다음 심볼위치 값을 상기 변수 q에 저장한다. 상기 변수 q의 값은 최종 전송된 서브부호를 구성하는 심볼들중에서 마지막 심볼의 위치의 다음 심볼위치(인터리빙된 심볼들의 블록을 기준으로 할때)를 나타낸다. 상기와 같이 생성된 서브부호를 전송한후 상기 단계 3으로 되돌아간다.
상기 준 보완터보부호의 서브부호선택방식에 따른 구체적인 예를 도 3에 보였다. 도 3에서 Case1은 초기에 부호율이 1/7인 Low rate code가 전송되는 경우이고, Case 2는 초기에 부호율이 4/7인 high rate code가 전송되는 경우를 보였다. 도면에서 보듯이 연속한 N 부호어심볼들로 구성된 부호어를 반복하고 여기에 시스템이 요구하는 서브부호의 길이 (혹은 서브부호의 부호율)에 따라서 적절한 크기로 이를 분할 전송한다.
상기 전송방식의 구현에 있어 실제로는 P개의 부호어를 저장하기 위한 버퍼를 사용하지는 않으며 N 부호어 심볼들을 저장하기 위한 하나의 회전형버퍼메모리 (Circular Buffer)를 사용하여 연속적으로 궤환에 의해 반복전송이 가능하도록 한다. 즉, 상기 회전형버퍼메모리를 사용함으로써 시퀀스 반복 동작을 제거할수 있다. 또한 수신기에서 수신된 부호어 값들을 저장하고 이를 부호결합하기 위한 수신용 버퍼도 N개의 연성값(Soft Metric)을 저장할 수 있으면 된다.
그러면 이하에서 상기 전송방식의 구현에 있어 상기 전송방식에 의해 전달되는 데이터들을 수신하는 수신기 구조와 상기 도 3의 각각의 기능 블록들을 구현하 는 방법에 관해서 구체적으로 기술한다.
도 4는 상기 도 1에 제시된 송신기의 전송방식에 따른 데이터를 수신하기 위한 수신기의 구성도이다.이하 도 4를 참조하여 상기 도 1에 따른 송신기에서 전송된 데이터를 수신하는 수신기의 구성 및 동작에 대하여 설명한다.
도 4에 도시된 바와 같이 송신기로부터 전송율에 따라 전송된 데이터들(401, 402, 403)은 각각의 준 보완터보부호의 서브부호 Cij이다. 상기 수신된 데이터들(401, 402, 403)은 QCTC 처리기(411)로 입력된다. 이와 같이 수신된 신호들은 QCTC 처리기(411)에서 QCTC의 성질에 의해 각각의 서브부호로부터 원래의 부호율 R인 터보부호로 전환하기 위한 천공(Puncturing)의 역 과정인 Depuncturing (이것은 천공(puncturing)된 심볼의 위치에 이레이져 심볼(Erasure symbol)을 삽입하는 과정을 의미한다.)과 수신 서브부호의 연성결합(Code combining)을 수행한다. 수신 서브부호의 연성결합에는 Chase Combining과 같은 연성결합방식도 사용될 수 있다. 상기 QCTC의 성질에서 언급하였듯이 수신기는 송신기로부터 전송되는 각각의 서브부호 Cij들을 연성결합하여 부호율 R인 부호심볼들을 생성한다.
여기서는 상기 송신기에서 R=1/5인 예로 설명하였으므로 이하에서도 R=1/5인 예로 설명한다. 따라서 각각의 수신된 Cij들은 Cij의 전송규칙에 따라 수신기에서도 동일하게 재 정렬되고 연성결합되며 이러한 과정을 다음에 구체적으로 기술한다. 또한 여기서 연성결합은 수신기에 따라 하나의 수신심볼 당 주어지는 비트수에 따라 상이한 메트릭 품질(Metric quality)을 가지므로 본 발명에서는 여기에 제한을 두지 않으며 최소의 경우 경성결합(Hard combining)도 연성결합에서 1비트의 해 상도를 가지는 연성결합의 한 경우로 간주한다. 실질적으로 경성결합에 의해서는 성능이 크게 개선되지 않으므로 여기서는 연성결합을 설명한다. 또한 이에 관한 구체적인 설명은 앞으로 설명할 수신기의 각각의 기능블록에서 제공된다.
Depuncturing과 연성결합에 의해 원래 부호기에서 생성되는 N개의 연성결합된 부호어 심볼(정확히는 복수개의 비트 또는 실수로 표현되는 수신 부호어심볼로부터 생성되는 샘플값을 의미한다. 또한 여기서 N은 송신기에서 사용된 부호기로부터 출력되는 부호어심볼의 수를 의미한다.)들을 생성하여 이를 채널 디인터리빙블록(421)으로 전송한다. 채널디인터리빙블록(421)은 상기 전송된 연성결합된 부호어 심볼들을 채널인터리빙의 역과정을 통해 다시 재정렬하여 N개의 디인터리빙되고 연성결합된 부호어 심볼들을 채널복호기(431)로 전송한다. 상기 채널복호기(431)는 상기 N개의 디인터리빙되고 연성결합된 부호어 심볼들로부터 복호를 수행하여 NxR개의 정보심볼을 출력한다. 여기서 R은 송신기에서 사용한 부호기의 부호율을 의미한다. 이상의 수신기에서 수행되는 과정을 다음에 단계별로 구체적으로 세부설명한다.
도 5는 본 발명에 따른 수신기에서 수신된 신호를 처리하기 위한 과정의 기능 블록 구성도이다. 이하 도 5를 참조하여 본 발명에 따른 기능 블록의 구성 및 각 기능 블록별 동작을 상세히 설명한다.
우선 상기 도 5에서 상기 수신 서브부호 버퍼기(Buffering of the received sub code Cij)(501)는 송신기로부터 전달되는 각각의 Cij를 저장하는 버퍼이다. 이러한 버퍼의 크기는 부호어심볼의 수인 N에 의해 정해지며 하나의 수신심볼 당 Q비트가 사용된다고 하면 총 QxN비트의 메모리가 이 수신서브부호 버퍼기(501)에 사용된다. 또한 매 순간 수신되는 서브부호의 종류와 R=1/5 부호어에서 각각의 서브부호의 전송 시작점 등에 관한 정보는 서브부호 전송과 동반하여 수신기로 전달되는 제어채널 혹은 제어메시지에 의해 수신기가 확인 가능하며 이를 사전에 수신 서브부호 버퍼기에 전달함으로써 정확한 서브부호에 따른 수신심볼의 저장이 이루어진다. 이러한 수신심볼들을 N개의 저장공간을 가지는 버퍼에 저장하는 방식에 관해서 도면 7에 자세히 기술하였으며 이는 후술되는 도 7에서 더 상세히 기술하기로 한다.
다음으로 수신기의 시퀀스결합/심볼결합기(Sequence Combining/Symbol Combining of the received Sub codes with puncturing)(502)은 상기 수신과정이 진행되는 동시에 송신기의 심볼 반복기(308)와 십볼 천공기(309)에서 수행한 시퀀스반복 및 심볼천공의 역과정을 수행한다. 즉, 상기 수신 서브부호 버퍼기(501)는 이전에 전송되어 저장되어 있는 수신심볼들과 현재 채널로부터 수신한 수신심볼들을 연성결합한다. 이 과정에서 만일 각각의 서브부호의 수신부호심볼의 수가 N보다 작으면 송신기에서 Puncturing을 사용한 경우이므로 이에 해당되는 부호어심볼의 위치에 이레이져심볼(Erasure symbols)들을 삽입하여 연성결합한다. 또한 만일 Chase Combining과 같은 시퀀스 결합을 사용하는 경우에는 상기 수신 서브부호 버 퍼기에 사전에 저장되어 있는 이전에 전송된 수신심볼들에 의한 부호어와 현재 채널로부터 수신한 수신심볼들로부터 수신된 부호어 사이에 가중치를 두어서 이를 연성결합한다. 즉, 상기 수신 서브부호 버퍼기에 사전에 저장되어 있는 이전에 전송된 수신심볼들에 의한 부호어의 가중치가 w1이라하고 현재 채널로부터 수신한 수신심볼들로부터 수신된 부호어의 가중치가 w2라하면 각각의 연성메트릭에 이 가중치를 두어 결합한다. 가중치는 수신기에 있는 채널추정기(Channel Estimator)에 의해 주어진다. 이와 같은 시퀀스(부호어) 연성결합방식인 Chase algorithm은 종래 이미 잘 알려진 기술이므로 여기서는 구체적으로 기술하지 않는다. 최종적으로 상기 시퀀스결합/심볼결합기(Sequence Combining/Symbol Combining of the received Sub codes with puncturing)(502)에 의해 N개의 부호어심볼에 대한 연성메트릭(Soft Metric)이 생성되면 이를 부호어분할기(Codeword De-concatenation or Separation into (A:B:C))(503)로 전송된다. 상기 도 5에서 이 N개의 부호어심볼에 대한 연성메트릭을 편의상 'D'로 표현하였다.
부호어분할기(Codeword De-concatenation or Separation into (A:B:C))(503)는 N개의 연성결합된 부호어심볼에 대한 연성메트릭들로부터 정보어심볼 부분인 X부분, 첫 번째 패리티심볼 부분인 Y0,Y1과 두 번째 패리티심볼 부분인 Y0',Y1'의 3개의 부분으로 분할한다.
다음으로 역다중화기(DEMULTIPLEXER) M1과 M2는 각각 첫 번째 패리티심볼 부분인 Y0,Y1과 두 번째 패리티심볼 부분인 Y0',Y1'를 각각 역다중화하여 다시 3개의 정보어심볼 부분인 X부분, 다중화된 첫 번째 패리티심볼 부분인 Y0,Y0'와 역다중화된 두 번째 패리티심볼 부분인 Y1,Y1'의 3개의 부분으로 재 정렬하여 분할한다. 이 동작은 순차적으로 수행할 수도 있으며 혹은 동시에 진행될 수 도 있다. 다음으로 각각의 3개의 정보어심볼 부분인 X부분, 다중화된 첫 번째 패리티심볼 부분인 Y0,Y0'와 역다중화된 두 번째 패리티심볼 부분인 Y1,Y1'은 다시 5개의 부호어심볼열인 X, Y0, Y0', Y1, Y1'로 분리되어 각각 서브블록디인터리빙으로 전송된다.
서브블록 디인터리빙(Sub block Deinterleaving)은 N*R개의 부호어심볼들 즉, 여기서는 R=1/5이므로 5개의 부호어심볼열인 X, Y0, Y0', Y1, Y1' 각각에 대해서 송신기에서 수행한 서브블록인터리빙의 역과정을 수행한다. 또한 서브블록 디인터리빙의 구현은 하나의 서브블록 디인터리빙으로 복수개 즉 여기서는 5개의 부호어심볼열들을 디인터리빙하도록 설계할 수 도 있으며 혹은 부호어심볼의 수만큼의 복수개의 디인터리버로 각각을 독립적으로 디인터리빙할 수 도 있다. 본 고안에서는 특정 서브블록 디인터리빙의 구현에 국한하여 설명하지 않으며 일반적으로 송신기에서 사용하는 서브블록 인터리빙의 역과정을 수신기의 서브블록 디인터리빙이 수행하는 것으로 간주하고 설명한다.
끝으로 복호기는 서브블록 디인터리빙으로부터 전달되는 N개의 부호어심볼에 대한 연성메트릭들로부터 복호를 수행하여 송신한 정보어심볼들을 출력한다.
이상의 각 기능블록들에 의해서 수신기에서 수행되는 과정의 실시 예를 도면 6에 보였다. 도 6에서 보듯이 현재까지 송신기가 전송한 서브부호가 각각 C00, C10, C20, C21이라고 가정하자. 즉, C00은 21504 부호어심볼을 가진 서브부호가 전송된 것이며, C10은 10752 부호어심볼을 가진 서브부호가 전송된 것이며, C20, C21 각각은 5376 부호어심볼을 가진 서브부호들이 전송된 것이다. 따라서 이 시점까지 수신기는 총 4개의 서브부호를 수신하였으며 이는 모두 하나의 정보어블록인 인코딩패킷 (Encoding Packet: 여기서는 예로서 3072비트를 사용하였다.)에 의해 서로 다른 서브부호 부호율을 가진 서브부호로 전송된 것이다. 따라서 수신기를 이들 서브부호들을 상기 방식에 의해서 연성결합하여 N개의 부호어에 대한 연성메트릭을 생성해야 한다. 따라서 수신기는 도 6에서 보듯이 4개의 서브부호들을 R=1/5의 부호어의 부호어심볼인 15360(3072x5)개의 부호어심볼들의 위치와 각각의 서브부호의 부호어심볼들의 위치가 일치하도록 재정렬하여 연성결합한다. 도면 6에 이 과정을 보였다. 도면 6에서 보듯이 C00의 경우는 N에 비해서 서브부호의 길이가 21504로 크므로 상기 시퀀스반복방식에서와 같이 15360의 심볼들을 정렬한 후에 남은 6144(=21504-15360)개의 부호어심볼들을 다시 앞에서부터 차례로 정렬하여 이를 연성심볼결합한다. 마찬가지로 C10은 앞서 설명한 서브부호의 상기 전송방식에 의해 송신기로부터 C00에 연이어 전송되었으므로 수신기에서도 C00의 끝 부분에 이어 저장하고 이를 연성심볼결합한다. 마찬가지로 C20과 C21도 앞서 설명한 서브부호의 상기 전송방식에 의해 송신기로부터 C10에 연이어 전송되었으므로 수신기에서도 C10의 끝 부분에 이어 저장하고 이를 연성심볼결합한다.
이 동작과정을 도면 7에 보다 구체적으로 기술하였다. 도 7에서 보듯이 수신기는 N개의 버퍼만 (혹은 NxQ 비트버퍼)을 사용하며 이를 회전형 버퍼로 구현될 수 도 있으며 혹은 버퍼를 위한 메모리 공간은 고정된 크기를 사용하면서 버퍼 어드레서 발생기를 회선형 어드레스가 나오도록 설계하여 구현할 수 도 있다. 도면 7에서 보듯이 C00는 시작 어드레스인 addr00에서 시작해서 N개의 심볼을 저장하고 이후에도 6144(=21504-15360)개의 심볼들을 버퍼에 저장한다. 이 때에는 이미 N개 이후의 심볼들을 저장하는 단계이므로 상기 기술한 방식에 의해 기존에 저장된 심볼들과 연성결합하여 저장한다. 이때 끝이 난 부분의 어드레스를 addr A라 하자. 그러면 다음으로 동일하게 C10이 수신되면 addr A로부터 10752만큼 진행하면서 버퍼에 수신심볼들을 저장한다. 이때에도 이미 N개 이후의 심볼들을 저장하는 단계이므로 상기 기술한 방식에 의해 기존에 저장된 심볼들과 연성결합하여 저장한다. 이때 끝이 난 부분의 어드레스를 addr B라 하자. 그러면 다음으로 동일하게 C20이 수신되면 addr B로부터 53762만큼 진행하면서 버퍼에 수신심볼들을 저장한다. 이때 끝이 난 부분의 어드레스를 addr C라 하자. 그러면 다음으로 동일하게 C21이 수신되면 addr C로부터 53762만큼 진행하면서 버퍼에 수신심볼들을 저장한다. 이때 끝이 난 부분의 어드레스를 addr D라 하자. 상기와 같은 방식에 의해 하나의 인코딩패킷에 의해 전송되는 서브부호들에 대하여 수신기는 계속해서 연성결합을 사용하여 최종적으로 이 과정을 끝내면 총 N개의 부호어심볼에 대한 연성메트릭이 생성된다. 또한 이 방식은 앞서 송신기에서 준 보완터보부호의 서브부호생석방식을 구현하는 방식으로 간주될 수 있다. 즉, 앞서 기술한 내용을 다시 기술하면 단계1. 초기 서브부호의 길이결정, 단계2. 초기 전송할 서브부호의 결정 및 전송, 단계 3. 차기전송의 부호심볼 위치결정 및 전송길이 결정, 단계4. 차기전송의 서브부호결정 및 전송의 과정을 구현하는 방식과 일치한다. 따라서 수신기는 이 회전형버퍼방식에 의해서 송신기에서 보낸 서브부호의 종류정보에 따라 동일하게 각각의 서브부호를 R=1/5의 부호어에 대응시켜가며 연성결합할 수 있다.
다음으로 부호어 분할블록(Codeword De-concatenation or Separation into (A:B:C))에서는 N개의 연성결합된 부호어심볼에 대한 연성메트릭들로부터 정보어심볼 부분인 X부분, 첫 번째 패리티심볼 부분인 Y0,Y1과 두 번째 패리티심볼 부분인 Y0',Y1'의 3개의 부분으로 분할한다.
다음으로 역다중화기(DEMULTIPLEXER) M1과 M2에 의해 각각 첫 번째 패리티심볼 부분인 Y0,Y1과 두 번째 패리티심볼 부분인 Y0',Y1'를 각각 역다중화하여 다시 3개의 정보어심볼 부분인 X부분, 다중화된 첫 번째 패리티심볼 부분인 Y0,Y0'와 역다중화된 두 번째 패리티심볼 부분인 Y1,Y1'의 3개의 부분으로 재 정렬하여 분할한다. 이 동작은 순차적으로 수행할 수도 있으며 혹은 동시에 진행될 수 도 있다. 다음으로 각각의 3개의 정보어심볼 부분인 X부분, 다중화된 첫 번째 패리티심볼 부분인 Y0,Y0'와 역다중화된 두 번째 패리티심볼 부분인 Y1',Y1'은 다시 5개의 부호어심볼열인 X, Y0, Y0', Y1, Y1'로 분리되어 각각 서브블록디인터리빙으로 전송된다.
서브블록 디인터리빙(Sub block Deinterleaving)은 N*R개의 부호어심볼 혹은 5개의 부호어 심볼열인 X, Y0, Y0', Y1, Y1' 각각에 대해서 송신기에서 수행한 서 브블록인터리빙의 역과정을 수행한다. 또한 서브블록 디인터리빙의 구현은 하나의 서브블록 디인터리빙으로 복수개 즉 여기서는 5개의 부호어 심볼열들을 디인터리빙하도록 설계할 수 도 있으며 혹은 복수개의 디인터리버로 각각을 독립적으로 디인터리빙할 수 도 있다. 본 고안에서는 특정 서브블록 디인터리빙의 구현에 국한하여 설명하지 않으며 일반적으로 송신기에서 사용하는 서브블록인터리빙의 역과정을 수신기의 서브블록 디인터리빙이 수행하는 것으로 간주하고 설명한다.
끝으로 복호기는 서브블록 디인터리빙으로부터 전달되는 N개의 부호어심볼에 대한 연성메트릭들로부터 복호를 수행하여 송신한 정보어심볼들 즉, 인코딩패킷(Encoding packet)을 출력한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정 해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 통신시스템에서 터보 보완 부호( 및 터보 준 보완 부호)를 생성할 수 있다. 상기 터보 보완 부호를 패킷 재전송 방식에 이용하여 전송효율(throughput)을 크게 개선할수 있다.

Claims (28)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 준보완 터보부호들을 수신하여 복호하는 장치에 있어서,
    수신된 심볼들을 시퀀스 결합(Sequence Combining)하는 결합기와,
    상기 결합된 심볼들을 정보 심볼들의 열과 패리티 심볼들의 열로 구분하여 분할하고, 상기 분할된 각 패리티 심볼들의 열들은 각각 적어도 하나 이상의 타의 패리티 심볼들의 열과 매칭되며, 상기 각 매칭되는 패리티 심볼들의 열들은 주어진 부호율에 따라 적어도 하나 이상의 패리티 심볼들의 열들로 역다중화하고, 상기 정보 심볼들의 열과 상기 역다중화된 각 패리티 심볼들의 열들을 각각 독립적으로 디인터리빙하여 출력하는 채널 디인터리버와,
    상기 독립적으로 디인터리빙된 패리티 심볼들의 열들과 상기 정보 심볼들의 열을 다중화하고 이를 주어진 복호율에 따라 복호한 후 정보 심볼들의 열을 출력하는 준보완 터보부호 복호기를 포함함을 특징으로 하는 복호 장치.
  6. 제5항에 있어서, 상기 채널 디인터리버는,
    상기 결합된 심볼들로부터 상기 정보 심볼들의 열과 상기 패리티 심볼들의 열들로 분할하여 출력하는 심볼 분리기와,
    상기 타의 패리티 심볼들과 매칭된 패리티 심볼들의 열들을 역다중화하여 각 패리티 심볼들의 열들로 분리하는 역다중화기와,
    상기 역다중화된 각 패리티 심볼들의 열들과 상기 각 정보 심볼들의 열을 독립적으로 디인터리빙하는 디인터리버들을 포함함을 특징으로 하는 복호 장치.
  7. 제5항에 있어서, 상기 준보완 터보부호 복호기는,
    상기 독립적으로 디인터리빙된 패리티 심볼들의 열들과 상기 정보 심볼들의 열을 역다중화하여 출력하는 역다중화기와,
    상기 다중화기의 출력 심볼들을 주어진 복호율에 따라 복호한 후 정보 심볼들의 열을 출력하는 터보 복호기를 포함함을 특징으로 하는 복호 장치.
  8. 제5항에 있어서, 상기 결합기는,
    상기 수신된 심볼들을 저장하기 위한 회전형 버퍼 메모리와,
    상기 회전형 버퍼 메모리에 저장된 심볼들을 시작위치로부터 주어진 부호율에 따라 소정 개수의 심볼들을 선택하여 출력하는 시퀀스/심볼 결합기를 포함함을 특징으로 하는 복호 장치.
  9. 제8항에 있어서, 상기 회전형 버퍼 메모리는,
    매 심볼열이 수신될 때마다 시작 위치는 최종 전송된 심볼들의 마지막 심볼 다음 심볼의 위치임을 특징으로 하는 복호 장치.
  10. 제8항에 있어서, 상기 시퀀스/심볼 결합기는,
    수신된 심볼의 재전송 심볼이 존재할 경우 이전 전송된 심볼과 결합하여 상기 채널 디인터리버로 출력함을 특징으로 하는 복호 장치.
  11. 제10항에 있어서,
    상기 결합은 연성 결합임을 특징으로 하는 복호 장치.
  12. 제10항에 있어서,
    상기 결합은 경성 결합임을 특징으로 하는 복호 장치.
  13. 준보완 터보부호들을 수신하여 복호하는 방법에 있어서,
    수신된 심볼들을 시퀀스 결합(Sequence Combining)하는 제1과정과,
    상기 결합된 심볼들을 정보 심볼들의 열과 패리티 심볼들의 열로 구분하여 분할하고, 상기 분할된 각 패리티 심볼들의 열들은 각각 적어도 하나 이상의 타의 패리티 심볼들의 열과 매칭되며, 상기 각 매칭되는 패리티 심볼들의 열들은 주어진 부호율에 따라 적어도 하나 이상의 패리티 심볼들의 열들로 역다중화하고, 상기 정보 심볼들의 열과 상기 역다중화된 각 패리티 심볼들의 열들을 각각 독립적으로 디인터리빙하여 출력하는 제2과정과,
    상기 독립적으로 디인터리빙된 패리티 심볼들의 열들과 상기 정보 심볼들의 열을 다중화하고 이를 주어진 복호율에 따라 복호한 후 정보 심볼들의 열을 출력하는 제3과정을 포함함을 특징으로 하는 복호 방법.
  14. 제13항에 있어서, 상기 제2과정은,
    상기 결합된 심볼들로부터 상기 정보 심볼들의 열과 상기 패리티 심볼들의 열들로 분할하여 출력하는 제1단계와,
    상기 타의 패리티 심볼들과 매칭된 패리티 심볼들의 열들을 역다중화하여 각 패리티 심볼들의 열들로 분리하는 제2단계와,
    상기 역다중화된 각 패리티 심볼들의 열들과 상기 각 정보 심볼들의 열을 독립적으로 디인터리빙하는 제3단계를 포함함을 특징으로 하는 복호 방법.
  15. 제13항에 있어서, 상기 제3과정은,
    상기 독립적으로 디인터리빙된 패리티 심볼들의 열들과 상기 정보 심볼들의 열을 다중화하여 출력하는 제1단계와,
    상기 다중화된 출력 심볼들을 주어진 복호율에 따라 복호한 후 정보 심볼들의 열을 출력하는 제2단계를 포함함을 특징으로 하는 복호 방법.
  16. 제13항에 있어서, 상기 제1과정은,
    상기 수신된 심볼들을 회전형으로 저장하기 위한 제1단계와,
    상기 회전형으로 저장된 심볼들을 시작위치로부터 주어진 부호율에 따라 소정 개수의 심볼들을 선택하여 출력하는 제2단계를 포함함을 특징으로 하는 복호 방법.
  17. 제16항에 있어서, 상기 제1단계는,
    매 심볼열이 수신될 때마다 시작 위치는 최종 전송된 심볼들의 마지막 심볼의 다음 심볼 위치에 저장함을 특징으로 하는 복호 방법.
  18. 제16항에 있어서, 상기 제2단계는,
    수신된 심볼의 재전송 심볼이 존재할 경우 이전 전송된 심볼과 결합하여 출력함을 특징으로 하는 복호 방법.
  19. 제18항에 있어서,
    상기 결합은 연성 결합임을 특징으로 하는 복호 방법.
  20. 제18항에 있어서,
    상기 결합은 경성 결합임을 특징으로 하는 복호 방법.
  21. 제13항에 있어서, 상기 제2과정의 채널 인터리빙은,
    부분 비트 역상순 디인터리빙(PBRO : Partial Bit Reversal De-interleaving) 방식에 의해 상기 정보 심볼들과 복수의 패리티 심볼들의 열들을 각각 독립적으로 디인터리빙함을 특징으로 하는 복호 방법.
  22. 준보완 터보부호들을 수신하여 복호하는 장치에 있어서,
    수신된 심볼들을 시퀀스 결합(Sequence Combining)하는 결합기와,
    상기 결합된 심볼들로부터 상기 정보 심볼들의 열과 상기 패리티 심볼들의 열들로 분할하여 출력하는 심볼 분리기(De-Concatenation or Separation)와,
    상기 타의 패리티 심볼들과 매칭된 패리티 심볼들의 열들을 역다중화하여 각 패리티 심볼들의 열들로 분리하는 역다중화기와,
    상기 역다중화된 각 패리티 심볼들의 열들과 상기 각 정보 심볼들의 열을 독립적으로 디인터리빙하는 디인터리버와,
    상기 독립적으로 디인터리빙된 패리티 심볼들의 열들과 상기 정보 심볼들의 열을 다중화하고 이를 주어진 복호율에 따라 복호한 후 정보 심볼들의 열을 출력하는 준보완 터보부호 복호기를 포함함을 특징으로 하는 복호 장치.
  23. 제22항에 있어서,
    상기 인터리버는 부분비트역상순 디인터리빙(PBRO : Partial Bit Reversal De-interleaving) 방식에 의해 상기 정보심볼들의 열과 상기 복수의 패리티심볼들의 열들을 각각 독립적으로 인터리빙하는 것을 특징으로 하는 복호 장치.
  24. 제22항에 있어서, 상기 결합기는,
    상기 수신된 심볼들을 저장하기 위한 회전형 버퍼 메모리와,
    상기 회전형 버퍼 메모리에 저장된 심볼들을 시작위치로부터 주어진 부호율에 따라 소정 개수의 심볼들을 선택하여 출력하는 시퀀스/심볼 결합기를 포함함을 특징으로 하는 복호 장치.
  25. 제24항에 있어서, 상기 회전형 버퍼 메모리는,
    매 심볼열이 수신될 때마다 시작 위치는 최종 전송된 심볼들의 마지막 심볼 다음 심볼의 위치임을 특징으로 하는 복호 장치.
  26. 제24항에 있어서, 상기 시퀀스/심볼 결합기는,
    수신된 심볼의 재전송 심볼이 존재할 경우 이전 전송된 심볼과 결합하여 상기 채널 디인터리버로 출력함을 특징으로 하는 복호 장치.
  27. 제26항에 있어서,
    상기 결합은 연성 결합임을 특징으로 하는 복호 장치.
  28. 제26항에 있어서,
    상기 결합은 경성 결합임을 특징으로 하는 복호 장치.
KR1020010007916A 2001-02-16 2001-02-16 통신시스템에서 부호 생성 및 복호 장치 및 방법 KR100724921B1 (ko)

Priority Applications (13)

Application Number Priority Date Filing Date Title
KR1020010007916A KR100724921B1 (ko) 2001-02-16 2001-02-16 통신시스템에서 부호 생성 및 복호 장치 및 방법
PCT/KR2002/000240 WO2002067434A1 (en) 2001-02-16 2002-02-16 Apparatus and method for generating and decoding codes in a communication system
CA002406043A CA2406043C (en) 2001-02-16 2002-02-16 Apparatus and method for generating and decoding codes in a communication system
CNB028005791A CN1264280C (zh) 2001-02-16 2002-02-16 在通信系统中生成和解码代码的设备和方法
AU2002233795A AU2002233795B2 (en) 2001-02-16 2002-02-16 Apparatus and method for generating and decoding codes in a communication system
JP2002566845A JP3636709B2 (ja) 2001-02-16 2002-02-16 通信システムにおける符号生成及び復号装置及び方法
BR0204147-2A BR0204147A (pt) 2001-02-16 2002-02-16 Aparelho e método para gerar e decodificar códigos em um sistema de comunicação
RU2002127723/09A RU2236756C2 (ru) 2001-02-16 2002-02-16 Устройство и способ генерирования и декодирования кодов в системе связи
DE20202467U DE20202467U1 (de) 2001-02-16 2002-02-18 Vorrichtung für das Erzeugen und Dekodieren von Kodes in einem Kommunikationssystem
DE60231765T DE60231765D1 (de) 2001-02-16 2002-02-18 Apparat und Verfahren zur Kodenerzeugung und Dekodierung in Kommunikationssystem
GB0203771A GB2377351B (en) 2001-02-16 2002-02-18 Apparatus and method for generating and decoding codes in a communication system
EP02003682A EP1233524B1 (en) 2001-02-16 2002-02-18 Apparatus and method for generating and decoding codes in communication system
US10/080,262 US7200181B2 (en) 2001-02-16 2002-02-19 Apparatus and method for generating and decoding codes in a communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010007916A KR100724921B1 (ko) 2001-02-16 2001-02-16 통신시스템에서 부호 생성 및 복호 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20020067382A KR20020067382A (ko) 2002-08-22
KR100724921B1 true KR100724921B1 (ko) 2007-06-04

Family

ID=36694105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010007916A KR100724921B1 (ko) 2001-02-16 2001-02-16 통신시스템에서 부호 생성 및 복호 장치 및 방법

Country Status (12)

Country Link
US (1) US7200181B2 (ko)
EP (1) EP1233524B1 (ko)
JP (1) JP3636709B2 (ko)
KR (1) KR100724921B1 (ko)
CN (1) CN1264280C (ko)
AU (1) AU2002233795B2 (ko)
BR (1) BR0204147A (ko)
CA (1) CA2406043C (ko)
DE (2) DE60231765D1 (ko)
GB (1) GB2377351B (ko)
RU (1) RU2236756C2 (ko)
WO (1) WO2002067434A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008156335A2 (en) * 2007-06-20 2008-12-24 Lg Electronics Inc. Method of performing interleaving and data transmission apparatus

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100361033B1 (ko) * 2001-01-16 2003-01-24 한국과학기술원 비균일 반복부호를 바탕으로 한 터보부호를 쓰는다중반송파 직접수열 부호분할 다중접속 시스템
KR100365352B1 (ko) * 2001-03-06 2002-12-18 엘지전자 주식회사 이동통신 시스템에서의 채널 인식 코드 발생 장치 및 방법
KR100860660B1 (ko) * 2002-01-09 2008-09-26 삼성전자주식회사 통신시스템의 인터리빙 장치 및 방법
DE10207146A1 (de) * 2002-02-20 2003-08-28 Infineon Technologies Ag Hardware-Schaltung zur Punktierung und Wiederholungscodierung von Datenströmen und Verfahren zum Betrieb der Hardware-Schaltung
KR100909527B1 (ko) * 2002-11-04 2009-07-27 삼성전자주식회사 고속 패킷데이터 통신시스템에서의 터보 복호 시간 제어방법
EP1542369A1 (en) * 2003-12-09 2005-06-15 STMicroelectronics N.V. Method and system for de-interleaving of data
KR100770902B1 (ko) * 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
US7392464B1 (en) 2004-04-30 2008-06-24 Marvell International Ltd. Universal parity encoder
KR101131323B1 (ko) * 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
US20090022079A1 (en) * 2005-05-04 2009-01-22 Fei Frank Zhou Method and apparatus for providing enhanced channel interleaving
KR100723308B1 (ko) * 2005-12-10 2007-05-30 한국전자통신연구원 멀티 캐리어를 이용한 신호 송/수신 장치
KR100746291B1 (ko) * 2006-06-29 2007-08-03 삼성전자주식회사 멀티채널 디지털 방송 시스템의 송수신 방법과 그 장치
KR101015714B1 (ko) * 2006-08-21 2011-02-22 삼성전자주식회사 하이브리드 자동 반복 요구를 사용하는 시스템에서 다수의모부호를 이용한 재전송 방법 및 장치
US20080084853A1 (en) * 2006-10-04 2008-04-10 Motorola, Inc. Radio resource assignment in control channel in wireless communication systems
US8356232B2 (en) * 2006-10-06 2013-01-15 Motorola Mobility Llc Method and apparatus for encoding and decoding data
US7778307B2 (en) * 2006-10-04 2010-08-17 Motorola, Inc. Allocation of control channel for radio resource assignment in wireless communication systems
US8295248B2 (en) * 2006-11-03 2012-10-23 Motorola Mobility Llc Scheduling remote units in wireless communication systems
US20080120530A1 (en) * 2006-11-22 2008-05-22 Yu-Min Chuang Transceiver puncture circuit of wireless communication system
EP1936914A1 (en) * 2006-12-19 2008-06-25 Innovative Sonic Limited Method and apparatus for recovering protocol error in a wireless communications system
KR20080092232A (ko) * 2007-04-11 2008-10-15 삼성전자주식회사 전송스트림 생성 장치 및 터보 패킷 디멀티플렉싱 장치그리고 그 방법
US20080301536A1 (en) * 2007-05-31 2008-12-04 Interdigital Technology Corporation Channel coding and rate matching for lte control channels
US8233532B2 (en) 2007-09-21 2012-07-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Information signal, apparatus and method for encoding an information content, and apparatus and method for error correcting an information signal
US8281211B2 (en) * 2008-05-15 2012-10-02 Nokia Corporation System and method for relay coding
EP2424143A1 (en) * 2009-04-24 2012-02-29 Panasonic Corporation Wireless communication device and wireless communication method
US8543884B2 (en) * 2009-06-16 2013-09-24 Qualcomm Incorporated Communications channel parallel interleaver and de-interleaver
US9397699B2 (en) 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8516351B2 (en) 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8375278B2 (en) 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8516352B2 (en) 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
JP5521722B2 (ja) * 2010-04-14 2014-06-18 沖電気工業株式会社 符号化装置、復号化装置、符号化・復号化システム、及び、プログラム
US8614977B2 (en) * 2010-05-11 2013-12-24 Qualcomm Incorporated Method and apparatus for parallel de-interleaving of LTE interleaved data
EP2413530B1 (en) * 2010-07-27 2016-06-29 ADVA Optical Networking SE An apparatus and a method for performing a fractional bit encoding and decoding
KR101362116B1 (ko) 2010-07-29 2014-02-12 한국전자통신연구원 사용자 기기 모뎀을 위한 물리 상향링크 공유 채널 인코더 및 그것의 인코딩 방법
RU2461964C1 (ru) * 2011-08-09 2012-09-20 Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Способ помехоустойчивого декодирования сигналов, полученных с использованием параллельного каскадного кода проверки на четность с низкой плотностью
KR102139721B1 (ko) * 2013-08-29 2020-07-30 삼성전자주식회사 다중 경로 프로토콜에서 이중으로 네트워크 코딩을 적용하는 방법 및 그 장치
US10263734B2 (en) * 2013-11-12 2019-04-16 Telefonaktiebolaget Lm Ericsson (Publ) Devices and methods for handling blind (re) transmissions in a network
KR102191303B1 (ko) * 2014-04-17 2020-12-15 삼성전자 주식회사 부호어를 생성하는 방법 및 장치 그리고 부호어를 복원하는 방법 및 장치
KR102137730B1 (ko) * 2014-04-17 2020-07-24 삼성전자주식회사 모바일 비디오 애플리케이션을 위한 네트워크 중심의 QoE 프로비저닝 방법 및 장치
JP2019149589A (ja) * 2016-07-08 2019-09-05 シャープ株式会社 基地局装置、端末装置、通信方法、および、集積回路
CN112187403B (zh) * 2017-02-04 2022-01-14 华为技术有限公司 信息处理的方法、装置、通信设备和通信系统
RU2700398C1 (ru) * 2018-12-29 2019-09-16 Акционерное общество "Концерн "Созвездие" Способ передачи данных в системе цифровой радиосвязи на основе кодов с низкой плотностью проверок на четность и способ перемежения кодовых символов
RU2713573C1 (ru) * 2019-06-03 2020-02-05 Акционерное общество "Концерн "Созвездие" Устройство передачи данных на основе кодов с низкой плотностью проверок на четность
RU2755295C1 (ru) * 2021-01-18 2021-09-14 Акционерное общество "Концерн "Созвездие" Способ перемежения кодовых символов в коде с низкой плотностью проверок на четность

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2243013A1 (en) * 1998-07-14 2000-01-14 Mark Bingeman Parallel concatenated convolutional coding
KR20000008151A (ko) * 1998-07-10 2000-02-07 정선종 터보 부호기 및 복호기의 꼬리비트 첨가방법
US6165761A (en) * 1997-12-22 2000-12-26 Novo Nordisk A/S Carbohydrate oxidase and use thereof in baking

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381425A (en) * 1992-03-27 1995-01-10 North Carolina State University System for encoding and decoding of convolutionally encoded data
US5784388A (en) * 1996-01-04 1998-07-21 Knox; Gregory D. Methods and apparatus for decoding control signals in dispatch trunked radio system
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
US6298463B1 (en) * 1998-07-31 2001-10-02 Nortel Networks Limited Parallel concatenated convolutional coding
GB9819689D0 (en) * 1998-09-10 1998-11-04 Nds Ltd Decoding symbols representing digital words
KR100306282B1 (ko) * 1998-12-10 2001-11-02 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
US6202189B1 (en) * 1998-12-17 2001-03-13 Teledesic Llc Punctured serial concatenated convolutional coding system and method for low-earth-orbit satellite data communication
KR100350459B1 (ko) * 1998-12-26 2002-12-26 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
CA2742096C (en) * 1999-04-13 2015-01-06 Ericsson Ab Rate matching and channel interleaving for a communications system
AU4666400A (en) * 1999-04-27 2000-11-10 Hughes Electronics Corporation A system and method employing a rate matching algorithm in communication network
US6308294B1 (en) * 1999-11-17 2001-10-23 Motorola, Inc. Adaptive hybrid ARQ using turbo code structure
US6980605B2 (en) * 2000-01-31 2005-12-27 Alan Gatherer MAP decoding with parallelized sliding window processing
JP3476807B2 (ja) * 2000-05-22 2003-12-10 サムスン エレクトロニクス カンパニー リミテッド 複合再伝送方式を使用するデータ通信システムにおけるデータ送信装置及び方法
KR100442685B1 (ko) * 2000-10-21 2004-08-02 삼성전자주식회사 통신시스템에서 부호 생성장치 및 방법
WO2002063778A1 (en) * 2001-02-07 2002-08-15 Samsung Electronics Co., Ltd Apparatus and method for generating codes in a communications system
CN1268062C (zh) * 2001-02-13 2006-08-02 三星电子株式会社 在通信系统中生成代码的设备和方法
KR100770902B1 (ko) * 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6165761A (en) * 1997-12-22 2000-12-26 Novo Nordisk A/S Carbohydrate oxidase and use thereof in baking
KR20000008151A (ko) * 1998-07-10 2000-02-07 정선종 터보 부호기 및 복호기의 꼬리비트 첨가방법
CA2243013A1 (en) * 1998-07-14 2000-01-14 Mark Bingeman Parallel concatenated convolutional coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1020000008151

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008156335A2 (en) * 2007-06-20 2008-12-24 Lg Electronics Inc. Method of performing interleaving and data transmission apparatus
WO2008156335A3 (en) * 2007-06-20 2009-02-26 Lg Electronics Inc Method of performing interleaving and data transmission apparatus
US8443268B2 (en) 2007-06-20 2013-05-14 Lg Electronics Inc. Method of performing interleaving and data transmission apparatus

Also Published As

Publication number Publication date
US7200181B2 (en) 2007-04-03
DE20202467U1 (de) 2002-07-25
AU2002233795A1 (en) 2002-09-04
AU2002233795B2 (en) 2004-12-09
BR0204147A (pt) 2003-02-11
WO2002067434A1 (en) 2002-08-29
EP1233524A3 (en) 2003-03-26
CA2406043A1 (en) 2002-08-29
DE60231765D1 (de) 2009-05-14
GB2377351A (en) 2003-01-08
GB2377351B (en) 2004-07-21
EP1233524A2 (en) 2002-08-21
RU2002127723A (ru) 2004-02-27
EP1233524B1 (en) 2009-04-01
CN1459148A (zh) 2003-11-26
JP2004519885A (ja) 2004-07-02
GB0203771D0 (en) 2002-04-03
CA2406043C (en) 2006-07-18
RU2236756C2 (ru) 2004-09-20
KR20020067382A (ko) 2002-08-22
JP3636709B2 (ja) 2005-04-06
CN1264280C (zh) 2006-07-12
US20020114401A1 (en) 2002-08-22

Similar Documents

Publication Publication Date Title
KR100724921B1 (ko) 통신시스템에서 부호 생성 및 복호 장치 및 방법
KR100438448B1 (ko) 통신시스템에서 부호 생성장치 및 방법
KR100480251B1 (ko) 통신시스템에서 부호 생성 장치 및 방법
KR100464453B1 (ko) 통신시스템에서 부호 생성장치 및 방법
US20020144205A1 (en) Apparatus and method for generating codes in communications system
JP3487419B2 (ja) 伝送誤り制御方法
AU2003252889B2 (en) Apparatus for generating codes in communication system
GB2394153A (en) A Quasi-Complementary Turbo Code (QCTC) generating apparatus

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: 20130429

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140429

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150429

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160428

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 12