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

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

Info

Publication number
KR20020065866A
KR20020065866A KR1020020007188A KR20020007188A KR20020065866A KR 20020065866 A KR20020065866 A KR 20020065866A KR 1020020007188 A KR1020020007188 A KR 1020020007188A KR 20020007188 A KR20020007188 A KR 20020007188A KR 20020065866 A KR20020065866 A KR 20020065866A
Authority
KR
South Korea
Prior art keywords
code
sub
codes
quasi
complementary turbo
Prior art date
Application number
KR1020020007188A
Other languages
English (en)
Other versions
KR100464453B1 (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
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of KR20020065866A publication Critical patent/KR20020065866A/ko
Application granted granted Critical
Publication of KR100464453B1 publication Critical patent/KR100464453B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1845Combining techniques, e.g. code combining
    • 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/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
    • 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
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명에 따른, 2차원 준보완 터보부호의 서브부호들을 재배열하는 방법이, 주어진 복수의 부호율들의 각각에 대하여 준보완터보부호의 서브부호들의 집합들을 생성하는 과정과, 특정 부호율에 따라 전송된 서브부호에 후속하여 전송될 다른 부호율의 서브부호들의 집합들을 재배열하는 과정을 포함한다.

Description

통신시스템에서 부호 생성장치 및 방법{APPARATUS AND METHOD FOR GENERATING CODES IN COMMUNICATION SYSTEM}
본 발명은 데이터 통신시스템의 부호생성에 관한 것으로, 특히 재전송방식을 사용하는 패킷통신시스템과 혹은 재전송을 사용하는 일반적인 통신시스템에서 터보부호의 특성을 고려한 2차원 준 보완터보부호 (2 dimensional quasi complementary turbo codes)와 적응형 준 보완터보부호 (adaptive quasi complementary turbo codes)를 생성하기 위한 장치 및 방법에 관한 것이다.
통상적으로, 재전송방식( 예 : 하이브리드 ARQ)을 사용하는 시스템에서, 전송효율(throughput)을 개선하고자 할 경우 연성 결합(Soft combining)을 사용한다. 상기 연성 결합에는 패킷 다이버시티 결합(packet diversity combining)과 패킷 부호 결합(packet code combining)이 있다. 일반적으로, 이 두 방식을 모두 연성 패킷 결합(Soft Packet Combining)이라고 말하며, 이 중 상기 패킷 다이버시티 결합(packet diversity combining) 방식은 상기 패킷 부호 결합(packet code combining) 방식에 비하여 성능 면에서 차선의(sub-optimal) 방식이지만, 구현의 편이성 때문에 성능상의 큰 손실이 없는 경우 자주 사용된다.
또한, 패킷(Packet)을 전송하는 시스템에서 전송효율 (Throughput)을 증가시키기 위해서 상기 패킷 부호 결합 방식을 사용한다. 즉, 각각의 전송마다 전달되는 패킷(Packet)에 대하여 부호율이 상호 다른 부호를 전송하고, 수신측에서는 수신된 패킷에 오류가 검출되는 경우 수신 패킷을 소멸시키지 않고 저장한 뒤에 향후 재 전송되는 패킷과 연성결합 (Soft Combining)을 행하게 된다. 이때 재전송되는 패킷은 상호 다른 부호가 사용될 수 있다. 즉, 상기 패킷 부호 결합은 부호율이 R인 N개의 패킷을 수신한 경우, 상기 N개의 패킷들을 결합(또는 조합)하여 실효 부호율(effective code rate)이 R/N인 부호로 전환한 뒤에 복호함으로써 부호이득(coding gain)을 얻는 방식이라 할수 있다.
반면에 패킷 다이버시티 결합은, 각각의 전송마다 전달되는 패킷(Packet)에 대하여 부호율이 R인 동일한 부호를 사용하고, 수신측에서는 수신된 패킷에 오류가 검출되는 경우 이를 소멸시키지 않고 저장한 뒤에 향후 재 전송되는 패킷과 연성결합(Soft Combining)을 행하는 방식이다. 이때 재전송되는 패킷은 항상 동일한 부호가 사용된다. 따라서 패킷 다이버시티 결합은 랜덤채널에서 일종의 심볼 에너지의 평균화 과정(Symbol Averaging)으로 볼 수 있다. 즉, 상기 패킷 다이버시티 결합은 수신심볼 연성출력(soft output)을 평균함으로써 잡음전력감소 효과를 얻을수 있고, 페이딩 채널에서 동일한 부호를 반복하여 전송하기 때문에 다중성 채널에서 제공되는 다중성이득(diversity gain)을 획득할 수 있다. 그러나, 패킷 부호 결합에서의 부호 구조(Code structure)에 따른 추가적인 부호 이득(Coding Gain)을 제공하지는 못한다.
현재까지의 패킷통신 시스템에서는 구현의 용이함 때문에 대부분 패킷 다이버시티 결합을 사용하고 있으며, 동기방식의 IS-2000 시스템과 비동기방식의 UMTS 시스템 등에서 이러한 방식이 고려되고 있다. 그러나 이는 기존의 패킷통신 시스템들이 대부분 길쌈부호(Convolutional codes)를 사용하였고, 길쌈부호의 경우 부호율이 낮은 부호(codes)를 사용하는 경우 상기 패킷 부호 결합을 사용한다 해도 그리 큰 이득이 제공되지 않기 때문이었다. 즉, R=1/3 사용하는 시스템에서 재전송을 지원하는 경우, 상기 패킷 다이버시티 결합을 사용하는 경우와 패킷 부호 결합을 사용하는 경우의 성능차이가 그리 크지 않기 때문에 구현의 복잡도를 고려하여 패킷 다이버시티 결합을 사용하였다. 그러나 오류정정부호(Forward Error Correction Codes: FEC)인 터보 부호를 사용하는 경우에는 이러한 기존의 개념과는 다른 방식이 요구된다. 왜냐하면 터보 부호는 반복 복호(iterative decoding)에 의해서 그 성능이 "Shannon Channel Capacity limit"에 근접하도록 설계된 오류정정부호이며,부호율에 따른 성능의 차이가 상기 길쌈 부호(Convolutional codes)와는 달리 분명하게 존재하기 때문이다. 즉, 이러한 점들을 고려할 때 터보부호를 재전송에 사용하는 패킷통신 시스템에서는, 패킷 부호 결합 방식을 사용하는 것이 성능을 최적화하는 방법이라 할수 있다.
상기와 같은 이유로, 연성결합을 사용하는 시스템에서 성능을 향상시키고자 준보완터보부호(Quasi complementary turbo codes)가 제안되었으며 그 구체적인 생성방법을 설명하면 다음과 같다. 상기 준보완터보부호(QCTC)에 대한 내용은 본원 출원인이 기출원한 대한민국 특허출원 P2000-62151에 상세히 기술되어 있다.
준보완터보부호(Quasi Complementary turbo Codes)
종래에 제안된 준보완터보부호를 사용하여 데이터율에 따라 패킷 부호 결합과 패킷 다이버시티 결합을 가변적으로 사용하는 시스템의 동작을 살펴보면 다음과 같다.
예를 들어, R=1/5 터보 부호를 사용하는 시스템의 경우, 재전송된 패킷들로부터 연성결합(soft combining)에 의해 구한 부호어(code word)의 전체 부호율(overall code rate)이 '1/5'이 되기까지는 패킷 부호 결합(packet code combining)을 사용하고, 이후부터 재전송되는 패킷들에 대해서는 우선 패킷 다이버시티 결합(packet diversity combining)을 사용하고 이어서 패킷 부호 결합을 사용한다. 즉, 처음 전송하는 패킷의 부호율이 1/3인 경우 다음 번 재전송 요구 때에는 전체 부호율(Overall code rate)이 1/5이 되도록 나머지 리던던시(redundancy)를 전송한다. 따라서 수신기가 두개의 패킷들(packets)을 모두 수신하면 전체 부호율(overall code rate)이 1/5이 된다. 그리고 이후에 전송되는 패킷들에 대해서는 각각을 반복해서 전송하고, 수신기는 패킷 다이버시티 결합을 사용한 후에 부호율 1/5를 기준으로 재전송 패킷을 패킷 부호 결합한다.
도 1은 터보부호의 경우 패킷부호결합과 패킷 다이버시티결합 사이의 성능차이를 그래프로 도시한 도면이다. 도시된 바와 같이, 동일한 심볼에너지(Es)를 가정하는 경우 낮은 부호율(1/6)의 터보부호는 높은 부호율(1/3)의 터보부호에 비해 상당한 성능 이득을 가짐을 알 수 있다. 또한, 패킷 부호 결합에 의한 성능이득이 3dB 정도임을 알수 있다. 종합해 볼때, 부호율 1/3인 터보부호를 부호율 1/6인 서브부호들을 패킷 부호 결합하여 생성하게 되면, 1/3보다 낮은 부호율을 사용함으로써 얻는 이득과 다른 부호를 결합(부호 결합)함으로써 얻는 이득을 동시에 얻을 수 있다.
상세히 살펴보면, 동일한 부호 심볼 에너지(coded symbol energy) Es와 동일한 부호율을 가정할 때, 터보부호는 길쌈부호와 달리 반복(iteration) 복호(decoding)가 충분히 제공되는 경우, "Shannon Channel Capacity limit"에 근접하는 성능을 부호율에 따라서 제공한다. 다시말해, 동일한 Es를 가정하는 경우, 낮은 부호율의 터보 부호는 높은 부호율의 터보 부호에 비하여 상당한 성능이득을 제공하는 것으로 알려져 있다. 예를 들어, 부호율이 R=1/3에서 R=1/6로 감소하는 경우 "Shannon Channel Capacity limit"의 변화를 분석해서 그 성능차이를 예측할 수 있다. 여기서 하이브리드 ARQ(Hybrid ARQ)를 사용하는 시스템에서는 재전송마다 동일한 심볼 에너지 Es를 사용하므로, 상기 도 1에서의 성능곡선은 R=1/3의 경우나R=1/6의 경우나 동일한 심볼에너지 Es를 가정한 것이다.
도시된 바와 같이, 부가적 백색 가우시안 잡음(AWGN : Additive White Gaussian Noise)채널의 가정하에, R=1/3의 부호를 2번 반복해서 패킷 다이버시티 결합하는 경우, 심볼 에너지 대 잡음비(Es/No) 면에서 최대 3dB의 이득을 가지며, R=1/6 부호를 사용하는 경우에도 마찬가지이다. 따라서 부호율에 따른 부호의 성능비교에서 사용하는 Eb/No를 기준으로 그린 터보 부호의 성능곡선에서, R=1/3의 성능곡선이 패킷다이버시티결합에 의한 이득(gain)으로 +3dB 스케일(scale)만큼 왼쪽으로 평행 이동되고, R=1/6 터보부호의 성능곡선도 R=1/3과 동일한 심볼 에너지를 사용하는 가정하에 +3dB 스케일(scale)만큼 왼쪽으로 평행 이동되므로, R=1/3 터보부호와 R=1/6 터보부호의 성능곡선의 차이가 패킷 다이버시티 결합과 패킷 부호 결합 사이에 제공되는 성능차이가 된다. 이러한 부호율(code rates)에 따른 성능차이는 "Shannon Channel Capacity limit"에 의해서 예측 가능하며, 최소의 성능차이는 최소 요구되는 신호대잡음비(minimum required S/N)를 사용하여 구할수 있다.
일반적으로, 부호율(Code rate)이 R이고 부호기의 블록 사이즈(encoder block size)가 매우 큰 터보 부호를 사용하는 시스템에서, 오류가 전혀 발생하지 않는(즉, error free) 채널을 제공하기 위한 최소 에너지대잡음비(Eb/No)는 하기 수식으로 결정된다.
상기 수식에 따르면, AWGN에서 각각의 부호율(code rates)에 따른 터보 부호에서 요구되는 최소의 Eb/No 즉, 최소 요구 에너지대잡음비(minimum required Eb/No)는 하기 표 1과 같다. 하기 표 1에서 대표 에너지대잡음비(Typical Eb/No)는 터보 부호의 부호화 블록 사이즈(encoding block size) L이 1024일 때 비트에러율(Bit error rate : BER)이 0.00001보다 작게 하기 위해서 요구되는 Eb/No를 나타낸다.
Code rates Required Eb/No (dB) Typical Eb/No (db) for BER=10-5
3/4 0.86 3.310
2/3 0.57 2.625
1/2 0.00 1.682
3/8 -0.414 1.202
1/3 -0.55 0.975
1/4 -0.82 0.756
1/5 -0.975 0.626
1/6 -1.084 0.525
0 -1.62 NA
상기 표 1에서 부호율(Code rate)이 3/4, 2/3, 1/2, 3/8, 1/3, 1/4, 1/5, 1/6 인 경우에 각각 요구되는 Eb/No는 각각 0.86, 0.57, 0.0, -0.414, -0.55, -0.82, -0.975, -1.084 (dB)임을 알 수 있다. 표 1에서 부호율 R=1/3인 부호를 사용하는 시스템과 부호율 R=1/6인 부호를 사용하는 시스템 사이에는 최소한 0.53dB 이상의 성능차이가 있음을 알 수 있다. 이는 "Shannon Channel Capacity limit"에 따른 최소의 성능차이이다. 따라서, 실제 구현가능한 복호기와 시스템 환경을 고려하면 그 차이는 이 보다 증가한다. 실제로 시뮬레이션에 의한 성능차이에 따르면, R=2/3 부호를 사용하고 패킷 부호 결합을 사용하는 시스템과 동일한 부호율 R=2/3를 사용하여 패킷 다이버시티 결합을 사용하는 시스템 사이에는 약 1.12dB의 성능차이가 있음을 알 수 있다.
하기 표 2는 서브부호 부호율(sub code rate)로 2/3을 사용하는 시스템에서 한번의 재전송을 사용한 경우에 패킷 부호 결합을 사용하는 경우와 패킷 다이버시티 결합을 사용하는 경우의 성능차이를 보여준다. 표 2에서 보듯이 최소의 성능차이가 1.12dB이므로 터보 부호를 사용하는 시스템에서 패킷 부호 결합이 많은 성능 이득을 가지는 것을 알 수 있다.
Items Packet Combining Code Combining
Mother code rate Rm 1/3(X, Y0, Y'0) in Figure 2 1/3(X, Y0, Y'0) in Figure 2
Block size (L) 496 496
Maximum number of iterations 8 8
Number of transmissions 2 2
Actual Tx code rate Refor each transmission 2/3(by puncturing)See section 3. 2/3(by puncturing)See section 3.
Redundancy selection Identical pattern for alltransmissions. See section 3. Different pattern for alltransmissions. See section 3.
Soft Combining Packet diversity combining Packet code combining
Gain through retransmissions Symbol repetition gain Coding gain for low rate codes
Minimum required Eb/Noin Table 3 +0.57(dB) R-2/3 +0.57(dB)R-2/6 -0.55(dB)
Required Eb/No at 2'ndretransmissions +0.57-3.0(dB) -0.55-3.0(dB)
Relative performance gain 0 1.12(=0.57+0.55) dB
Simulated relative gain(@ BER=10-5) 0 2.5(dB)
이상에서 살펴본 바와 같이, 터보 부호(Turbo codes)를 사용하는 재전송 시스템은 패킷 부호 결합방식을 사용하는 것이 우수한 성능을 가질수 있다. 따라서, 본 발명은 터보부호를 사용하는 재전송 시스템에서 최적의 패킷 부호 결합을 위한 서브부호 생성방법에 설명할 것이다. 즉, 본 발명에서 제안하는 소정 규칙에 의해 패킷부호결합을 위한 서브부호를 생성하면, 앞서 설명한 부호 결합(code combining)에 의한 이득을 얻을 수 있고, 동일한 양의 재전송을 요구하는 시스템의 성능을 최대로 개선시킬 수 있다.
도 2는 통상적인 터보부호를 이용해 서브부호를 생성하기 위한 장치를 도시하고 있다. 도시된 바와 같이, 상기 서부부호를 생성하기 위한 장치는 크게 터보부호기와, 서브부호 발생기(204)와 제어기(205)로 구성된다.
먼저, 상기 터보부호기를 살펴보면, 제1구성부호기 201은 입력되는 정보비트열을 부호화하여 제1부호심볼들(정보심볼들(X), 제1패리티심볼들(Y0, Y1))을 출력한다. 인터리버 202는 상기 입력되는 정보비트열을 주어진 규칙에 의해 인터리빙하여 출력한다. 제2구성부호기203은 상기 인터리버 202로부터 출력되는 상기 인터리빙된 정보비트열을 부호화하여 제2부호심볼들(정보심볼들(X'), 제2패리티심볼들(Y'0, Y'1))을 출력한다. 따라서, 터보부호기의 출력심볼들은 상기 제1구성부호기(201) 및 상기 제2구성부호기(203)에서 출력되는 상기 제1 및 제2부호심볼들이 된다. 여기서, 상기 제2구성부호기(203)에서 발생되는 정보심볼들(X')는 실제로 전송되지 않으므로 상기 터보부호기의 부호율은 '1/5'이 된다.
서브부호발생기 204는 상기 제1구성부호기201 및 203으로부터 출력되는 상기 제1 및 제2부호심볼들을 입력하고, 제어부 205의 제어하에 상기 부호심볼들을 소정 규칙에 의해 천공 및 반복하여 서브부호를 발생한다. 상기 제어부 205는 후술되는 도 4 내지 도 6의 알고리즘을 통해 생성한 천공( 및 반복) 매트릭스들을 메모리에 저장해 놓고, 상기 천공 매트릭스에 따른 심볼선택신호를 상기 서브부호 발생기 204로 출력한다. 그러면, 상기 서브부호 발생기 204는 상기 심볼선택신호에 의해 상기 터보부호기로부터의 소정 천공범위에 속하는 부호심볼들중 소정 개수의 심볼들을 선택하여 서브부호를 생성한다.
상술한 바에 따르면, 기호 X,Y0,Y1,Y'0,Y'1는 각각 다음과 같이 정의된다.
X: 정보심볼들(Systematic code symbol 또는 Information symbols)
Y0: 터보부호기의 상위 구성부호기로부터의 리던던시 심볼들
(Redundancy symbol from the upper component encoder of Turbo encoder)
Y1: 터보부호기의 상위 구성부호기로부터의 리던던시 심볼들
(Redundancy symbol from the upper component encoder of Turbo encoder)
Y'0: 터보부호기의 하위 구성부호기로부터의 리던던시 심볼들
(Redundancy symbol from the lower component encoder of Turbo encoder)
Y'1: 터보부호기의 하위 구성부호기로부터의 리던던시 심볼들
(Redundancy symbol from the lower component encoder of Turbo encoder
이하 설명되는 도 4 내지 도 6은 종래기술에 따른 터보부호를 가지고 서브 부호(또는 천공 매트릭스)들을 생성하기 위한 절차를 도시하고 있다. 특히, 도 4는 상기 서브 부호들의 집합에서 첫 번째 서브부호(C0)를 생성하기 위한 절차이고, 상기 도 5는 첫 번째와 마지막 서브부호를 제외한 중간의 서브부호들(C1∼Cs-2)를 생성하기 위한 절차이며, 상기 도 6은 마지막 서브부호(Cs-1)를 생성하기 위한 절차를 보여준다.
한편, 이하 설명에서 ENC1(이하 '제1부호심볼들"이라 칭함)은 터보부호기에서 발생하는 부호심볼들중 제1구성부호기(201)에서 발생하는 정보심볼들(X)과 제1패리티심볼들(Y0,Y1) 통칭하는 의미이고, ENC2(이하 '제2부호심볼들'이라 칭함)는 제2구성부호기(203)에서 발생하는 제2패리티심볼들(Y'0,Y'1)을 칭하는 의미이다.
상기 도 4를 참조하면, 먼저 401단계에서 송신기에서 제공할 수 있는 최대의 부호율 Rmax를 정한다. 이는 사용하는 시스템의 전송 데이타율에 의해서 결정되며 대부분 주어지는 값이 된다. 그리고 상기 주어지는 최대 부호율 Rmax=(k/n)의 정수배가 될 수 있는 최소의 부호율 Rmin을 정한다. 여기서, k는 입력 정보심볼들의 수를 나타내고, n은 출력 부호심볼들의 수를 나타낸다. 물론 상기 최소 부호율은 임의로 결정할 수 있으나 통상은 1/6 혹은 1/7 이하의 부호율을 사용한다. 이는 터보 부호의 경우 R=1/7 이하에서는 부호율 감소에 따른 부호이득(Coding Gain)이 포화되는 성향을 보이기 때문이다. 그리고, 수신단 복호기의 실제 부호율(R, 모 부호율)을 정한다. 상기 모 부호율(R)은 상기 최소부호율 Rmin 보다 크게 설계한다.
실제 시스템 구현시, 상기 최대 부호율 Rmax 및 최소 부호율 Rmin은 미리 정해지는 값이다. 다른 의미로, 상기 최대 부호율 Rmax는 생성하고자 하는 서브부호의 부호율(subcode code rate)을 나타내고, 상기 최소 부호율 Rimn은 서브부호들을 부호 결합(code combing)했을 때 만들어지는 목표(target) 부호의 부호율을 나타낸다. 일반적으로, 상기 최소 부호율은 송신기에서 사용하는 부호기의 부호율이다.
상기 최대 부호율(Rmax) 및 최소 부호율(Rmin)이 주어지면, 403단계에서 상기 최대 부호율 Rmax과 최소 부호율 Rmin을 가지고 하기 <수학식 1>을 이용해 서브 부호의 개수(S)를 구한다. 여기서, 상기 서브부호들의 수(또는 천공 매트릭스의 개수)는 상기 Rmax 대 Rmin의 비 값을 넘는 최소 정수로 정해진다.
여기서,는 *의 값과 동일하거나 큰 최소정수를 나타낸다.
상기 서브부호들의 수를 구한후, 405단계에서 변수 m을 ''1'로 초기화하고, 407단계에서 C(=m×k)를 결정한다. 여기서, 상기 C는 각 천공 매트릭스의 열(column)의 수(또는 크기)를 나타낸다. 여기서, 상기 천공 매트릭스의 열의 수 C는 상기 최대 부호율 Rmax에 의해 결정된다. 예를들어, 상기 최대 부호율이 3/4 인 경우, 상기 열의 수 C는 3,6,9....가 될 수 있으며, 초기전송 서브부호 생성시 상기 열의 수C는 상기 가능한 크기들 중 최소의 값으로 결정한다. 여기서, 상기 최대 부호율 Rmax를 '3/4'로 가정하였기 때문에, 상기 천공 매트릭스의 열의 수 C는 '3'으로 설정한다.
그리고, 상기 407단계에서 상기 변수 m과 상기 최대 부호율의 부호심볼수(n, 분모)을 곱해 상기 천공 매트릭스내에서 선택되는 심볼들의 수 Ns를 결정한다. 상기 변수 Ns는 각 천공 매트릭스 내에서 선택되는 심볼들의 수(또는 선택되는 위치들의 수)를 나타낸다. 또한, 상기 선택되는 심볼들의 수 Ns는 상기 열들의 수 C에 대해 C/Rmax 에 의해 정해지기도 한다.
그리고, 409단계에서 상기 천공 매트릭스 내에서 선택되는 심볼들의 수 Ns와 상기 천공 매트릭스의 열들의 수의 차가 송신기에서 제공되는 터보부호기내의 구성부호기(constitution encoder 또는 component encoder)들의 수와 동일하거나 큰지를 검사한다. 현재 제안되어 있는 터보부호기들은 도 2에 도시된 바와 같이 통상 2개의 구성부호기들로 구성된다. 따라서, 상기 구성부호기들의 수를 2로 가정한다. 즉, 409단계에서 상기 선택되는 심볼들의 수 Ns와 상기 열들의 수 C의 차가 '2' 이상인지를 검사한다. 이렇게 하는 이유는 터보부호기가 기존의 다른 단일부호를 사용하는 부호기와 달리 도 2에서 보듯이 두 개의 구성부호기(Component encoder)들(ENC1 및 ENC2)이 인터리버에 의해서 병렬로 연결된 구조를 갖기 때문이다. 즉, 터보부호기의 고유의 특성을 보존하기 위해서는, 정보심볼들을 모두 전송한후 상기 복수의 구성부호기들의 각각에서 발생되는 패리티심볼들중 적어도 하나씩은 전송되어야 한다.
예를들어, 상기 천공 매트릭스 내에서 선택되는 심볼들의 수 Ns에서 상기 열들의 수 C를 감산한 값이 '2'보다 작으면 결국 상기 제1 및 제2패리티심볼들중 1개의 심볼만을 선택할수 있다. 이 경우, 이 한 개의 심볼을 제1패리티심볼들중에서 선택하거나 혹은 제2패리티심볼들중에서 선택해야 되는데, 두 경우 모두 터보부호의 관점에서 큰 문제점을 지니고 있다. 첫 번째의 경우에는 제2패리티심볼들에서 선택되는 심볼이 전혀 없다. 결국, 이렇게 생성된 서브 부호는 터보부호가 아닌 제1구성부호기로만 구성된 구속장(constraint) K=4인 길쌈부호(convolutional codes)가 되고 터보부호가 가지는 터보 인터리버의 이득을 전혀 제공하지 못하는 결과를 초래한다. 두 번째의 경우에도 제1구성부호기에서 보면 정보어심볼(systematic symbol)만이 전송되고 패리티 심볼이 전혀 없으므로 부호율이 1인 부호가 되며, 부호율이 1이므로 부호이득(coding gain)이 전혀 없는 부호화하지 않은 무부호화 시스템(uncoded system)이 된다. 따라서 터보부호기의 성능을 제공하기 위해서는 최소한 상기 선택되는 심볼들의 수 Ns에서 상기 열들의 수 C를 감산한 값이 2보다 크거나 같아야 한다.
만일, 상기 409단계의 조건을 만족하면, 411단계로 진행하여 상기 천공 매트릭스에서 상기 C개의 정보심볼들을 선택한후 미리 정해진 타입(TYPE)에 따라 나머지 심볼들을 선택한다. 타입1인 경우, 413단계로 진행하여 하기 수학식 3에 의해 제1패리티심볼들과 제2패리티심볼들중에서 상기 나머지 심볼들을 선택한후 종료한다. 여기서, 상기 제1패리티심볼들에서 선택되는 심볼들의 수가 상기 제2패리티심볼들에서 선택되는 심볼들의 수와 동일하거나 크게 한다. 예를들어, 상기 나머지 심볼들의 수(Ns-C)가 3이면 하기 수학식 3에 의해 제1패리티심볼들에서 2개의 심볼들을 선택하고, 제2패리티심볼들에서 한 개의 심볼을 선택하게 된다.
여기서,는 상기 *의 값과 동일하거나 작은 최대정수를 나타냄.
한편, 타입2인 경우 415단계로 진행하여 하기 수학식 4에 의해 제1패리티심볼들과 제2패리티심볼들에서 상기 나머지 심볼들을 정해진 비율에 따라 선택한후 종료한다. 여기서, a 와 b를 각각 상기 제1 및 제2패리티심볼들에서 선택되는 심볼선택분배비라 할때, 상기 제1패리티심볼들에서 a(Ns-C) 대 a+b의 비값과 동일하거나 큰 최소정수의 심볼들을 선택하고, 상기 제2패리티심볼들중에서 b(Ns-C) 대 a+b의비값과 동일하거나 작은 최대정수의 심볼들을 선택한다.
한편, 409단계의 조건을 만족하지 않으면, 즉 상기 천공 매트릭스 내에서 선택되는 심볼들의 수 Ns와 상기 천공 매트릭스의 열들의 수 C의 차가 상기 터보부호기의 구성부호기들의 수보다 작으면, 417단계로 진행하여 상기 변수 m을 '1'만큼 증가시킨후 상기 407단계로 되돌아간다. 즉, 상기 409단계는 현재 정해진 천공범위(천공 매트릭스의 크기)에서 터보부호의 특성을 보존할수 있는 서브부호를 생성할 수 있는지 여부를 결정하는 단계이다. 만일, 터보부호의 특성을 보존할수 없으면, 상기 417단계에서 천공범위(천공 매트릭스의 크기)를 확장시킨후 상기 407단계로 되돌아가 이하 단계를 재수행한다.
상술한 바와 같이, 초기 천공 매트릭스는 기본적으로, 터보부호기로부터의 심볼들중 정보심볼들을 모두 선택하고, 제1 및 제2패리티심볼들중에서 각각 적어도 하나의 심볼을 선택할수 있도록 구성된다.
이하 상기 도 5를 참조하여 중간의 천공 매트릭스들(C1∼ Cs-2)을 생성하기 위한 방법을 설명한다. 상기 도 5를 반복 수행하여 C1에서부터 Cs-2까지의 천공 매트릭스들을 생성한다.
상기 도 5를 참조하면, 미리 정해진 타입에 따라 501단계 혹은 503단계를 수행한다. 만일 타입1인 경우, 상기 501단계로 진행하여 하기 수학식 7에 의해 제1패리티심볼들과 제2패리티심볼들에서 상기 각 천공 매트릭스에서 선택될 심볼들의 수 Ns의 심볼들을 선택한다. 상기 심볼들의 수 Ns는 앞서 설명한 바와 같이 변수 m과 상기 최대 부호율의 부호심볼수(n)을 곱해 결정된다. 여기서, 상기 제1패리티심볼들에서 선택되는 심볼들의 수가 상기 제2패리티심볼들중에서 선택되는 심볼들의 수와 동일하거나 크게 한다. 또한 이전 생성된 천공 매트릭스들에서 선택되지 않은 심볼들을 선택하도록 한다.
한편, 타입2인 경우 상기 503단계로 진행하여 하기 수학식 8에 의해 제1패리티심볼들과 제2패리티심볼들에서 상기 각 천공 매트릭스에서 선택될 심볼들의 수 Ns의 심볼들을 정해진 비율에 따라 선택한다. 여기서, a와 b를 각각 상기 제1 및 제2패리티심볼들에서 선택되는 심볼선택분배비라 할때, 제1패리티심볼들중에서 a(Ns) 대 a+b의 비 값과 동일하거나 큰 최소정수의 심볼들을 선택하고, 상기 제2부호심볼들중에서 b(Ns) 대 a+b의 비 값과 동일하거나 작은 최대정수의 제2패리티심볼들을 선택한다. 심볼들을 선택함에 있어, 이전 생성된 천공 매트릭스들에서 선택되지 않은 심볼들을 선택하도록 한다.
이하 상기 도 6을 참조하여 마지막 천공 매트릭스(Cs-1)를 구성하는 방법을 설명한다.
상기 도 6을 참조하면, 601단계에서 이전 구성된 천공 매트릭스들을 참조하여 선택되지 않았던 심볼들을 모두 선택한다. 여기서, 상기 선택된 심볼들의 개수를 Ns2라 정의한다. 그리고, 603단계에서 상기 Ns에서 상기 Ns2를 감산하여 새로운 Ns를 정의한다. 앞서 설명한 도 4 내지 도 6의 과정에 따라 천공 매트릭스의 모든 위치의 심볼들이 선택되었기 때문에, 상기 새로이 정의된 Ns는 반복 선택할 심볼들의 개수가 된다. 상기와 같이 반복 선택할 심볼들의 개수를 구한후, 605단계에서 상기 반복 선택할 심볼들의 수가 '0'보다 큰지를 검사한다. 만일, 반복 선택할 심볼들의 수가 '0'이면 바로 종료하고, '0'보다 크다면 상기 정보심볼들중 상기 반복 선택될 심볼들의 수만큼 심볼들을 다시 선택한다. 여기서, 상기 다시 선택한다는 것은 해당 정보심볼을 반복하여 전송함을 의미한다.
상기 서브부호 생성과정을 구체적인 수치대입을 통해 살펴보면 다음과 같다. 예를 들어서, 시스템이 제공하는 최대 부호율 Rmax가 3/4이고, 시스템이 제공할 수 있는 복호기의 부호율(R), 즉 모부호율이 1/5이라고 가정하면 최소 부호율(Rmin)과 서브부호의 개수(혹은 천공 매트릭스의 수) S는 다음과 같이 결정된다.
Rmin= 1/6
S=6/(4/3)=4.5 --> 5
따라서 천공 매트릭스들의 수는 '5'가 된다.
{C0, C1, C2, C3, C4} : Rmax=3/4
여기서, 상기 서브부호의 부호율은 '3/4'이고, 서브부호들의 수는 '5'이므로, 상기 서브부호들을 부호결합하면, "(1/S)xRmax=(1/5)x(3/4) =3/20"에 의해 부호율이 3/20가 된다. 이것은 3개의 정보비트를 전송하는 경우, 수신기쪽으로 20개의 부호심볼들이 전달되는 것을 의미한다. 하지만, S*n=5*4=20, S*k=5*3=15 이므로 생성되는 심볼들은 15개이므로 상기 20개를 만족시키기 위해서는 상기 생성된 15개 심볼들중 소정 5개의 심볼들은 반복해서 전송하게 된다. 여기서, 반복되는 심볼들은 가능한 정보심볼들로 정한다. 상기 예에서, 각각의 서브 부호에서 정보심볼인 X를 1번씩 반복하도록 서브부호를 구성하면 복호기는 S개의 서브부호들을 모두 수신하는 경우 정보심볼이 2번 반복된 R=1/5인 터보부호를 구할 수 있으며 이를 가지고 복호를 수행한다.
상기 도 4 내지 도 6을 통해 생성된 서브부호들은 일종의 보완 부호(complementary codes)라 할수 있다. 하지만, 서브부호를 생성함에 있어 반복 선택되는 심볼들이 존재하고, 각각의 서브부호의 특성이 상이하므로 완전한 보완부호라 할 수 없다. 또한, 상기 서브부호는 터보 부호를 가지고 생성되므로, 상기 도 4 내지 도 6을 통해 생성되는 서브부호들을 "준보완 터보부호(Quasi-Complementary Turbo Codes : QCTC)"라 칭한다.
도 3은 R=2/3 의 준보완 터보부호를 사용하는 경우(S=4), 패킷부호결합을 사용하는 HARQ의 성능과 패킷다이버시티결합을 사용하는 HARQ의 성능을 실시간 데이터 처리율 (data throughput)을 기준으로 비교한 그래프를 도시하고 있다. 도시된 바와 같이, 상기 준보완터보부호를 사용해 패킷부호결합하는 HARQ(참조부호 301)과 상기 준보완터보부호를 사용해 패킷다이버시티결합하는 HARQ(참조부호 302)의 성능이 상기 준보완터보부호를 사용하지 않는 HARQ(참조부호 303)의 성능보다 매우 우수함을 알수 있다. 예를들어, 동일한 실시간 데이터 처리율(예 : 0.25)을 가정할 경우, 상기 준보완터보부호를 사용해 패킷부호결합하는 HARQ에서 상기 실시간 데이터 처리율을 위해 요구되는 심볼 에너지(Es/No(dB))는 약 -4dB이고, 상기 준보완터보부호를 사용해 패킷다이버시티결합하는 HARQ에서 요구되는 심볼 에너지는 약 -1.3dB이며, 상기 준보완터보부호를 사용하지 않는 HARQ의 경우는 약 1dB가 요구된다. 즉, 상기와 같은 준보완터보부호를 사용하는 경우, 적은 심볼 에너지로 높은 데이터 처리율을 얻을수 있다.
그러나 상기와 같은 종래 기술은, 준보완 터보부호(Quasi complementary turbo codes)의 서브부호들이이 항상 일정한 부호율(code rate)을 가진다. 즉, 하나의 정보어 블록이 전송되는 동안 특정 부호율에 해당하는 준보완터보부호의 서브부호들을 사용하는 것을 설명하고 있다. 다시말해, 1차원의 준보완터보부호(Quasi complementary turbo codes)를 생성하는 방식에 주안을 두고 있다.
따라서, 채널환경이 변화거나 혹은 부호기에 입력되는 정보어의 길이가 변화는 경우, 다른 부호율의 서브부호를 전송해야 하는데, 부호율이 서로 상이한 준보완 터보부호(Quasi complementary turbo codes)의 선택과 전송방식에 관해서 구체적인 방법이 제시되어 있지 않다. 실제로 채널환경이 좋은 경우 전송시스템의 전송효율을 올리기 위해서는 현 시점 이전까지 전송한 준보완 터보부호(Quasi complementary turbo code)의 서브부호가 아닌 새로운 높은 부호율에 해당하는 준보완 터보부호(Quasi complementary turbo code)의 서브부호를 사용하는 것이 바람직하고, 채널환경이 악화된 경우 전송시스템의 전송효율을 올리기 위해서는 앞서와는 반대로 낮은 부호율에 해당하는 준보완터보부호(Quasi complementary turbo codes)의 서브부호를 사용하는 것이 바람직하다. 즉, 준보완 터보부호를 채널환경 및 기타 요인에 따라 적응적으로 결정하기 위한 방법이 필요하다.
따라서 본 발명의 목적은 재전송을 지원하는 통신시스템에서 서로 다른 부호율을 가지는 복수의 준보완 터보부호들을 사용하기 위한 장치 및 방법을 제공함에 있다.
따라서 본 발명의 목적은 재전송을 지원하는 통신 시스템에서 복수의 준보완 터보부호들을 사용할 때 수신기에서의 최적의 부호결합을 위해 특정 부호율에 따라 전송된 서브부호에 후속하여 전송될 다른 부호율의 서브부호들의 집합들을 재배열하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 재전송을 지원하는 통신시스템에서 복수의 준보완 터보부호들을 사용할 때 수신기에서의 최적의 부호결합을 위해 특정 부호율에 대한준보완터보부호의 서브부호들을 주어진 부호율에 따른 결합수만큼 결합하여 전송하기 위한 장치 및 방법을 제공함에 있다.
상기 목적들을 달성하기 위한 본 발명의 제1실시예에 따른, 준보완 터보부호의 서브부호들의 행렬식들을 재배열하는 방법이, 주어진 복수의 부호율들의 각각에 대하여 준보완터보부호의 서브부호들의 집합들을 생성하는 과정과, 상기 서브부호는 천공 및 반복을 나타내는 원소를 가지는 행렬식이고, 상기 서브부호들의 집합들의 각각에 대해 상기 서브부호들의 집합들의 열들의 크기들의 최소공배수만큼 열들을 반복하여 새로운 서브부호들의 집합들을 생성하는 과정과, 상기 생성된 새로운 서브부호들의 집합들에서 임의의 서로 다른 두 개의 집합들의 행렬식들을 결합한 행렬식들이 균등한 반복 및 천공을 가지도록 상기 서브부호들의 집합들의 각각에 대해 행렬식들의 우선순위를 결정하는 과정과, 상기 집합들의 각각에 대하여 행렬식들을 상기 결정된 우선순위에 따라 재배열하는 과정과, 전송에 사용될 부호율 결정시 상기 결정된 부호율에 따른 서브부호들의 집합을 선택하는 과정과, 상기 선택된 집합의 서브부호들중 최종 전송된 서브부호의 다음 서브부호를 전송하는 과정을 포함하는 것을 특징으로 한다.
상기 목적들을 달성하기 위한 본 발명의 제2실시 예에 따른, 2차원 준보완터보부호의 서브부호들을 전송하기 위한 방법이, 정수비가 존재하는 부호율들에서 최대 부호율에 대한 준보완터보부호의 서브부호들의 집합을 생성하고, 최대 부호율에 대한 준보완터보부호를 기간부호로 정하는 과정과, 상기 최대 부호율을 제외한 나머지 부호율들의 각각에 대하여 준보완터보부호를 생성하기 위한 상기 기간부호의서브부호들의 결합 수들을 결정하는 과정과, 전송에 사용될 부호율 결정시, 상기 기간부호의 서브부호들중 최종 전송된 서브부호의 다음으로부터 상기 부호율에 따른 상기 결합 수만큼 결합하여 생성된 서부부호를 전송하는 과정을 포함하는 것을 특징으로 한다.
도 1은 터보 부호를 사용하는 패킷데이타 시스템에서 패킷 부호 결합(Packet code combining)과 패킷 다이버시티 결합(Packet diversity Combining)에 따른 성능차이를 그래프로 보여주는 도면.
도 2는 통상적인 서브부호 생성장치를 보여주는 도면.
도 3은 서브부호를 사용하지 않는 재전송방식과, 서브부호를 사용하며 다이버시티 결합을 사용하는 재전송방식과, 서브부호를 사용하며 부호결합을 사용하는 재전송방식의 성능을 그래프로 보여주는 도면.
도 4는 종래기술에 있어서, 준보완 터보부호의 서브부호 집합에서 첫 번째 서브부호를 생성하기 위한 절차를 보여주는 도면.
도 5는 종래기술에 있어서, 준보완 터보부호의 서브부호 집합에서 중간의 서브부호들을 생성하기 위한 절차를 보여주는 도면.
도 6은 종래기술에 있어서, 준보완 터보부호의 서브부호 집합에서 마지막 서브부호를 생성하기 위한 절차를 보여주는 도면.
도 7은 본 발명의 일 실시 예에 따른 2차원 준 보완터보부호를 생성하기 위한 절차를 도시하는 도면.
도 8은 본 발명의 다른 실시 예에 따른 상기 적응형 준 보완터보부호를 생성하기 위한 절차를 도시하는 도면.
도 9는 적응형 준보완터보부호 생상방식의 일 예를 보여주는 도면.
도 10은 적응형 준보완터보부호의 생성방식의 다른 예를 보여주는 도면.
도 11은 본 발명의 실시 예에 따른 적응형 준보완터보부호를 이용해 서브부호를 전송하기 위한 절차를 도시하는 도면.
도 12는 본 발명의 실시 예에 따른 2차원 준보완 터보부호를 이용해 서브부호를 전송하기 위한 절차를 도시하는 도면.
도 13은 본 발명의 실시 예에 따른 2차원 준보완 터보부호 및 적응형 준보완 터보부호를 전송하기 위한 장치를 도시하는 도면.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 동일 부호를 가지도록 하였다. 또한 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.
이하 본 발명은 터보부호의 특성, 채널환경 및 입력데이터의 전송율을 고려하여 서로 다른 부호율을 가지는 준보완 터보부호를 전송하는 방식에 대해 설명한다. 그 한 예로 복수의 서로 다른 부호율의 준보완 터보부호들을 구비하고 이들 중 매 시점마다 선택되는 준 보완터보부호의 서브부호를 전송하는 2차원 준보완 터보부호(Two dimensional complementary turbo codes)가 있고, 다른 예로 준보완 터보부호의 서브부호들을 주어진 전송율에 따라 결합하여 전송하는 적응형 준보완터보부호(adaptive quasi complementary turbo codes)가 있다.
2차원 준 보완터보부호 (Two dimensional complementary turbo codes)
예를들어, 준 보완터보부호를 사용하는 통신시스템에서 전송하고자 하는 데이터의 전송율을 하나의 준 보완터보부호를 모두 전송하기 전에 채널의 상황변화에 따라 변경하는 경우를 가정한다. 즉, k를 전송하고자 하는 정보어 혹은 데이터 블록이라고 가정하면, 준 보완터보부호를 사용하는 경우 상기 정보어를 가지고 아래와 같이 터보 부호화(turbo encoding)하여 새로운 부호어를 생성하게 된다. 아래의 식에서 QCTC_ENC는 준보완 터보부호의 인코딩(Quasi complementary turbo code encoding)을 의미하며 Cj(k) (j=0,1,2,3,...,S-1) 는 Ik로부터 생성되는 준 보완터보부호의 j번째 서브부호를 의미한다. 여기서 S는 앞서 설명한 바와 같이 정해진 서브부호의 부호율과 모부호의 부호율에 의해서 결정되는 준 보완터보부호의 집합크기(set size)를 나타낸다. 즉, 하나의 준보완 터보부호를 구성하는 서브부호들의 수를 나타낸다.
Cj(k)=QCTC_ENC(Ik), j=0,1,2,3,...,S-1
위 식에서 보듯이, 기존의 1차원 준 보완터보부호는 하나의 k에 대해서 전송이 완료될 때까지 하나의 준 보완터보부호의 서브부호들을 차례로 전송하는 방식이다. 즉, C0(k), C1(k), C2(k), ....Cs-1(k)의 순서로 전송하며 이 사이에 부호율 (정확히는 서브부호의 부호율)을 가변 시키는 것이 고려 되었으나 그 구체적인 방식이 제시되지 않았다. 만일 준 보완터보부호를 사용하는 통신시스템에서 데이터의 전송율에 따른 하나의 준 보완터보부호의 서브부호들을 모두 전송하기 전에 채널상황이 변해서 새로운 부호율을 지닌 준 보완터보부호를 사용하려면 아래와 같이 서로 다른 부호율을 지닌 복수개의 준 보완터보부호들을 생성할수 있어야 한다.
Cij(k)=QCTC_ENC(Ik), i=0,1,2,..., NS-1, j=0,1,2,3,...,Si-1
위 식에서 QCTC_ENC는 준보완 터보부호의 인코딩(Quasi complementary turbo code encoding)을 의미하며 Cij(k) (i=0,1,2,...NS-1, j=0,1,2,3,...,S-1) 는 Ik로부터 생성되는 i번째 준 보완터보부호의 j번째 서브부호를 의미한다. 여기서 Si는 앞서 설명한 바와 같이, 정해진 i번째 준 보완터보부호의 집합크기로서 i번째 준 보완터보부호의 서브부호 부호율과 모부호의 부호율에 의해서 결정된다. 따라서, 준 보완터보부호를 사용하는 통신시스템에서 송신기는 채널환경의 변화나 혹은 서비스 데이터의 전송율 변화 등 다양한 전송환경에 변화에 따라 NS개의 준 보완터보부호들 중의 하나를 선택하여 전송할 수 있다. 여기서, 상기 2차원의 준 보완터보부호를 사용하는 통신시스템에서 성능을 최적화하기 위해서는 이들 NS개의 준 보완터보부호들 사이의 상관관계를 분명히 분석하여 최적의 전송순서를 결정해야 한다. 왜냐하면 1차원 준 보완터보부호와는 달리 2차원의 준 보완터보부호에서는 임의의 준 보완터보부호들이 수신기에서 임의의 조합으로 결합될 수 있다. 따라서 준 보완터보부호들 상호간 결합으로 생성되는 부호의 구조가 앞서 제시한 터보부호가 지녀야 하는 성질을 만족하지 못하는 경우 성능감쇠가 발생할 수 있기 때문이다. 따라서 이러한 문제를 최소화하기 위한 방식으로 아래와 같은 방식을 제안한다. 즉, 하기 설명되는 조건들은 상기 이차원 준 보완터보부호가 만족해야될 성질들이다.
조건1. 임의의 복수개의 준 보완터보부호들의 결합에 의해 생성되는 부호가 모부호의 부호율을 가지기 위해 결합되는 서브부호의 수를 최소화해야 한다. 즉,최소개의 서브부호의 결합으로 모부호율을 달성하도록 각각의 서브부호의 천공 매트릭스들을 구성한다.
조건2. 상기 조건1이 만족되는 범위에서 임의의 복수개의 준 보완터보부호들의 결합에 의해 생성되는 부호의 천공 매트릭스의 원소는 가급적 균등한 가중치를 가진다. 즉, 최소개의 서브부호의 결합으로 생성되는 부호의 천공 매트릭스의 각각의 원소들은 가급적 균등한 반복(repetition) 혹은 천공(puncturing)을 가진다.
상기 조건1과 조건2를 만족하기 위해서 가장 중요한 것은, 우선 각각의 준 보완터보부호의 천공 매트릭스들을 구성하는 것이며, 다음으로 중요한 것은 이들 복수개의 준 보완터보부호들에 해당하는 서브부호들을 선택하기 위한 전송순위를 결정하는 것이다. 여기서 상기 2차원 준 보안터보부호의 구성원리는 첫째, 최적의 1차원 준 보완터보부호를 사용하여 구하는 2차원 준 보완터보부호가 성능 면에서 임의로 선택되는 2차원 준 보완터보부호에 비하여 최소한 더 나은 이득을 가져야 한다. 둘째는 서브부호의 전송순서가 2차원 준 보완터보부호의 중요한 성능요소이므로 이를 최적화하는 것이 필요하다. 이 두 가지 원칙을 기반으로 상기 2차원 준보완터보부호를 생성하는 방법을 상세히 설명하면 다음과 같다.
이하 설명에서 "준보완 터보부호"는 미리 정해진 모부호율과 주어진 서브부호 부호율을 가지고 생성되는 복수개의 서브부호들의 집합을 의미한다. 또한, 앞서 설명한 바와 같이, 천공 매트릭스는 서브부호와 동일한 의미를 갖는다.
도 7은 본 발명의 일 실시 예에 따른 2차원 준 보완터보부호를 생성하기 위한 절차를 도시하고 있다.
상기 도 7을 참조하면, 먼저 701단계에서 주어진 복수의 부호율들의 각각에 대하여 준보완 터보부호의 서브부호들의 집합(최적의 1차원 준보완 터보부호(Quasi Complementary Turbo Codes))를 생성한다. 즉, 미리 정해진 모부호율과 주어진 부호율 Ri을 가지고 Si개의 서브부호들에 생성하기 위한 천공 매트릭스들을 구한다. 이 과정은 종래기술에서 설명한 준보완터보부호의 생성 과정과 동일하다. 단지, 주어진 복수의 부호율들에 대응하여 복수개의 준보완터보부호들(Ci)을 생성한다는 차이를 가진다.
상기 복수개의 준보완 터보부호들을 생성한후, 703단계에서 상기 복수의 준보완 터보부호들에 대한 서브부호들(Cij : i=0,1,2,.., NS-1, j=0,1,2,3,...,Si-1) 중에서 즉, NS개의 준 보완터보부호들 중에서 최대의 세트크기 S를 가지는 준 보완터보부호의 서브부호들의 천공 매트릭스에서 열의 개수를 변수 CWf(Coloum Width)로 결정한다. 여기서, f는 0 <= f <= NS-1의 조건으로 결정된다.
상기 CWf를 결정한후, 705단계에서 상기 복수의 준보완 터보부호들의 각각을 구성하는 천공 매트릭스들(Ci)의 열의 개수가 상기 결정된 CWf가 되도록 천공 매트릭스를 반복하여 새로운 천공 매트릭스를 생성한다. 만일 임의의 준보완 터보부호(Ci : i=0,1,2,3,..,NS-1)의 천공매트릭스들의 열의 개수가 상기 CWf와 상호 정수배 관계가 성립되지 않으면, 상기 CWf와 CWi사이의 최소공배수 즉, LCM(CWf, CWi)를 구하고, 상기 구한 최소공배수를 CWf로 정의하여 상기 새로운 천공 매트릭스들을 구하게 된다.
상기 천공 매트릭스들을 구한후, 707단계에서 임의의 서로 다른 두 개의 집합들의 천공 매트릭스들을 결합하여 생성되는 천공 매트릭스들이 준보완 터보부호의 특성을 가지도록 상기 집합들의 각각에 대해 천공 매트릭스들의 우선순위를 결정한다. 예를들어, Ci 및 Cj (i=0,1,2,3,...,NS-1, j=0,1,2,3,...,Si-1)의 결합에 따라 생성되는 새로운 부호어의 천공 매트릭스의 원소들에 대해서 가급적 균등한 가중치를 가지도록 각 서브부호들의 집합(Ci)에서의 서브부호들(Cij)의 전송 우선순위를 결정한다. 상기 가급적 균등한 가중치를 갖는다는 것은, 최소개의 서브부호의 결합으로 생성되는 부호어의 천공 매트릭스에서 천공(puncturing) 및 반복(repetition)을 나타내는 원소들이 가급적 균등한 분포를 가지는 것을 의미한다. 여기서, 초기에 전송되는 서브부호(Ci0)에 항상 정보어심볼이 전송되도록 하는 준 보완터보부호의 기본조건은 다른 조건들에 대해 우선한다. 즉, 어떠한 경우에도 Ci0의 1행의 원소들인 정보어심볼이 우선 전송되어야 한다.
그리고 상기 전송 우선순위를 결정한후, 709단계에서 상기 전송 우선순위에 따라 상기 서브부호들의 집합들의 각각에 대해 천공 매트릭스들을 재배열하여 새로운 서브부호들의 집합들을 완성한다. 즉, 각 집합(Ci)의 서브부호들(Cij : i=0,1,2,3,...,NS-1, j=0,1,2,3,...,Si-1)을 정렬하여 새로운 서브부호 집합을 완성한다. 이후 소정 준보완 터보부호(Ci)가 선택되는 경우, 상기 준보완터보부호를 구성하는 서브부호들(Cij)은 j의 오름차순으로 전송된다. 예를 들어 C1 --> C3 --> C1의 순으로 Ci가 선택된 경우 서브부호의 전송순서는 C10 --> C30 --> C11의 순서로 진행된다. 한편, 상기 도 7의 과정은 특정 부호율에따라 전송된 서브부호에 후속하여 전송될 다른 부호율의 서브부호들의 집합을 재배열하는 과정이다.
본 발명의 일 실시 예에 따른 2차원 준 보완터보부호를 생성하기 위한 구체적인 예를 설명하면 다음과 같다. 우선 시스템에서 필요로 하는 준보완 터보부호의 개수(NS)가 4라고 가정하고 이들 각각의 Ci(i=0,1,2,3(=NS-1))에 해당하는 부호율 Ri가 각각 R0=1/4, R1=1/3, R2=1/8, R3=1/2라고 가정한다. 그리고 모부호율 R은 1/5이라고 가정한다. 그리고, 상기 도 7에서 설명한 단계들에 대한 결과를 살펴보면 다음과 같다.
<701 단계> 1차원 준보완터보부호 생성
R0=1/4, C0:
R1=1/3, C1:
R2=1/8, C2:
R3=1/2, C3:
<703 단계> CWf= 2
<705 단계>
R0=1/4, C0:
R1=1/3, C1:
R2=1/8, C2:
R3=1/2, C3:
<707 단계>
R0=1/4, C0:
R1=1/3, C1: C10과 C11의 전송순서를 상호 바꾼다.
R2=1/8, C2:
R3=1/2, C3: C30--> C32, C31-->C30 , C32--> C31의 순서로 재조정한다.
상기한 바와 같이, 상술한 조건1과 조건2를 만족하기 위해서, 상기 C1의 경우 서브부호 C10과 C11의 순서를 바꾸고, C3의 경우 서브부호들(C30, C31, C32)의 순서를 재조정한다. 여기서, 전송 우선순위를 0, 1, 2, ..으로 정의할 때 Ci(i=0,1,2, .., NS-1)에서는 항상 오름차순으로 각각의 서브부호가 전송된다. 예를 들어 C1 --> C3 --> C1의 순으로 Ci가 선택된 경우 서브부호는 C10 --> C30 --> C11의 순서로 전송된다.
하기 <표 3>은 상술한 방식에 의해서 생성된 천공 매트릭스들을 보여준다. 하기 <표 3>에서 보듯이 복수개의 준 보완터보부호들의 각각에서 전송을 위한 순서는 순차적으로 결정된다. 참고로 <표 3>에서 R=1/4, R=1/3인 경우, R=1/2의 천공 매트릭스의 열의 개수에 따라 열의 개수가 '2'인 천공 매트릭스를 사용해야 하나 열의 개수가 '1'인 천공 매트릭스를 사용하고 있다. 이는 표기상의 문제이며 동일한 성능을 제공한다. 따라서 이 둘 사이에는 차이가 없음을 명시한다.
한편, 단말기와 시스템은 하기 표 3과 같은 테이블을 구비하고 지정된 부호율(또는 전송율)에 따른 천공 매트릭스를 상기 테이블에서 읽어와 모부호율의 터보부호기에서 발생하는 심볼을 반복 및 천공하여 서브부호를 생성할수 있다. 다른 예로, 미리 주어진 알고리즘에 따라 해당 천공 매트릭스를 구하고 상기 천공 매트릭스에 근거하여 서브부호를 생성할 수도 있다.
부호율 Ci0 Ci1 Ci2 Ci3
R0=1/2 NA
R1=1/3 NA NA
R2=1/4 NA NA
R3=1/8 NA NA NA
적응형 준보완 터보부호(adaptive quasi complementary turbo codes)
앞서 설명한 2차원의 준보완터보부호는 우선 주어진 복수의 부호율들에 따라 1차원 준 보완터보부호들을 모두 독립적으로 구하고, 각각의 준보완 터보부호의 서브부호들(Cij)의 전송순서를 제어함으로써 2차원 준보완 터보부호의 성능을 개선시키는 방식이다. 이 방식은 각각의 준보완 터보부호를 독립적으로 구함으로써 각각의 부호에 대한 최적화 구성은 간단하지만 한가지 문제점으로 지적될 수 있는 부분은, Ci가 독립적으로 구성되기 때문에 만일 임의의 Ci의 부호율 Ri(i=0,1,2,..., NS-1)가 임의의 Ck의 부호율 Rk(k=0,1,2,..., NS-1)의 정수배가 되어 이들 사이에 최적화의 기회가 제공됨에도 불구하고 이를 사용하지 못하는 경우가 발생한다.
즉, R3=1/2, R0=1/4이라고 하면, 2차원 준 보완터보부호에서는 C3와 C0를 각각 독립적으로 QCTC 알고리즘에 의해서 구한다. 그러나 준 보완터보부호의 성질을 충분히 활용하기 위해서는 앞서 제시한 조건1을 만족하는 것이 바람직하다. 따라서 이를 만족하는 한가지 방식은 R=1/2로 구한 준 보완터보부호 C3에서 연속해서 두 개의 서브부호 (C30+C31) 혹은 (C31+C32) 혹은 (C32+C30)을 전송하면, 이후에 부호율이 1/2인 서브부호와 결합하는 경우 최적의 성능을 제공할 수 있다.
즉, 부호율이 서로 정수배인 1차원 준보완터보부호들중에서 가장 높은 부호율을 지닌 1차원 준 보완터보부호를 그룹의 기간부호(Primitive code in a group : 이하 "기간부호"라 칭함)라고 정의하고 Cp로 표기한다. 여기서 p는 0에서 NS-1 사이의 임의의 정수를 나타낸다. 그리고, 상기 기간부호 보다 낮은 부호율 혹은 이의 정수배에 해당되는 부호율의 서브부호가 요구되는 경우 앞서 설명한 바와 같이 서브부호의 결합 (Concatenation) 혹은 그룹핑(Grouping)에 의해 전송한다. 즉, 상기와 같이, 가장 높은 부호을 지닌 준보완 터보부호를 기간부호 Cp를 정하고 이 기간부호의 서브부호들을 적응적으로 결합하거나 그룹핑하여 원하는 부호율의 서브부호를 생성하는 방식을 적응형 준 보완터보부호라 정의한다. 상기 적응형 준 보완터보부호를 상세히 살펴보면 다음과 같다.
도 8은 본 발명의 다른 실시 예에 따른 상기 적응형 준 보완터보부호를 생성하기 위한 절차를 도시하고 있다.
상기 도 8을 참조하면, 801단계에서 사용하고자 하는 전송 부호율 Ri(i=0,1,2,3,...,NS-1) 중에서 임의의 부호율들 상호간에 정수비가 존재하는 부호들을 하나의 그룹으로 분류한다. 즉, 사용하고자 하는 1차원 준보완 터보부호들중 상호간 정수비가 존재하는 준보완터보부호들을 하나의 그룹으로 분류하여 하나 이상의 그룹을 형성한다.
그리고, 803단계에서 상기 복수의 그룹들의 각각에서 제일 높은 부호율을 가진 준보완 터보부호 Ci를 기간부호(Primitive code in Group) Cp로 결정한다. 따라서, 상기 기간부호 Cp는 그룹의 수에 따라 복수개가 정의될 수 있다.
상기 기간부호를 결정한후, 805단계에서 상기 기간부호 Cp의 서브부호들 Cpj(j=0,1,2,..,Sp-1)을 사용하여 그룹에 속한 모든 준보완터보부호들의 각각에 해당되는 서브부호들(Cij : i=0,1,2,..,NS-1, j=0,1,2,....,Si-1)을 생성하기 위한 결합(Concatenation) 혹은 그룹핑(Grouping) 규칙을 결정한다. 다시 말해, 임의 서브부호 Cij의 Ri를 만족하기 위해서 상기 기간부호 Cpj의 그룹핑 개수 등을 결정한다. 즉, 상기 기간부호(Cp)에 해당하는 서브부호들을 결합하여 원하는 서브부호를 생성한다. 물론, 사전에 가능한 모든 경우의 서브부호들에 관한 그루핑을 예상하여 이를 표로 작성하여 사용할 수도 있다. 여기서 기간부호를 그룹핑할 때 기간부호의 서브부호들을 순차적으로 조합하여 새로운 부호를 생성하는 것이 바람직하다.
그리고, 807단계에서 사용하고자 하는 부호율(또는 준보완터보부호 또는 서브부호)가 결정되면, 먼저 상기 부호율에 따른 해당 준보완터보부호의 서브부호를 해당 기간부호의 서브부호들과 결합하여 생성 및 전송한다. 상기 서브부호의 전송방식에 대해 보다 구체적으로 수식을 인용하여 설명하면 다음과 같다.
예를 들어, 임의의 그룹의 기간부호 Cp를 다음과 같이 정의한다. 즉 grp번째 그룹(여기서 grp는 복수개의 그룹 중 임의의 그룹을 나타내는 인자로 사용된다)의 기간부호를 Cp라 하고 이 Cp의 집합크기(즉 Cp에 포함되는 전체 서브부호의 개수)를 Sp라고 정의하고, 하기 <수학식 9>와 같이 Cp의 각각의 서브부호를 표시한다. 여기서 j는 각각의 서브부호를 구별하는 인자이고, g는 그룹핑되는 서브부호의 수를 나타낸다. g=1이면 그룹핑이 없이 각각의 서브부호 자체가 사용되는 것을 의미하며 g=2이면 두 개의 서브부호가 그룹핑되어 하나의 전송부호를 생성하는 것을 의미한다. 예를 들어 기간부호의 부호율이 Rs=2/3이면 g=1인 경우는 생성되는 서브부호의 부호율 역시 r=2/3이며, g=2인 경우에는 두 배의 부호심볼이 생성되므로 r=1/3이 된다. 따라서 기간부호로부터 임의의 정수개의 서브부호들을 그룹핑해서 구할 수 있는 준 보완터보부호의 부호율과 각각의 준 터보보완부호에 속하는 서브부호들에 관한 일반식은 하기 <수학식 9>과 같이 정의된다. 물론, 그룹핑의 최대 수 (아래식에서 행의 수를 의미)에는 제한이 없으며 시스템이 제공하는 환경에 따라 결정되는 변수이므로 여기서는 한가지 예로서 최대 4개의 서브부호들이 그룹핑되는 것을 가정한다.
상기 <수학식 9>에서 행렬식은 grp번째 Group의 준 보완터보부호의 서브부호들을 생성하기 위한 행렬식이며 그 구성은 다음과 같다. 우선 행의 크기는 가능한 그룹핑의 최대 수를 의미하며 시스템이 제공하는 환경에 따라 결정되는 변수이므로 여기서는 한가지 예로서 최대 4개의 서브부호들이 그룹핑되는 것을 가정한다. 참고로 행의 크기가 증가할수록 그룹핑에 의한 준 보완터보부호의 부호율은 점점 감소한다. 열의 크기는 기간부호의 집합 크기 Sp로 결정된다. 즉, 기간부호를 구성하는 서브부호들의 수를 의미한다.
예를 들어, Cp의 부호율이 Rs=1/2이라고 하면 g=1인 첫 번째 행은 Rs=1/2인 원래의 Cp의 서브부호들로 결정된다. 즉, 행렬식의 첫 번째 행의 각각의 열 성분들은 Cp의 서브부호들로 구성된다. 따라서 두 번째 행은 g=2이므로 Rs=1/4인 준보완 터보부호의 서브부호들을 의미하며, 세번째 행은 g=3이므로 Rs=1/6인 준보완 터보부호의 서브부호들을 의미하며, 네번째 행은 g=4이므로 Rs=1/8인 준보완 터보부호의 서브부호들을 의미한다.
하기 <수학식 10>은 각각의 준보완 터보부호와 기간부호와의 관계를 보여준다. 하기 <수학식 10>에서 "U"는 서브부호들의 그룹핑을 의미한다. 예를 들어 Rs=1/2를 기간부호로 하는 그룹의 경우, Sp=3이므로 기간부호는 3개의 서브부호들로 구성되며 이는 C30, C31, C32가 된다. 따라서 상기 <수학식 9>의 행렬식에서 열의 개수는 3이 된다. 그리고 각각의 원소는 다음과 같이 구성된다.
따라서 Rs=1/2를 기간부호로 하는 그룹의 경우, 상기 수학식 9의 행렬식은 하기 수학식 11과 같이 결정된다.
물론 다른 그룹에 속하는 서브부호들도 이와 동일하게 해당 그룹의 기간부호의 집합크기 Sp와 준 보완터보부호들의 부호율에 따라서 상기 <수학식 11>과 같이 정리할 수 있다.
본 발명의 다른 실시 예에 따른 1차원 적응형 준 보완터보부호를 생성하기 위한 구체적인 예를 설명하면 다음과 같다. 우선, 통신시스템에서 필요로 하는 준 보완터보부호의 개수(NS)가 4라고 가정하고 이들 각 Ci(i=0,1,2,3(=NS-1))에 해당하는 부호율 Ri가 각각 R0=1/4, R1=1/3, R2=1/8, R3=1/2라고 가정한다. 그리고 모부호율 R은 1/5이라고 가정한다. 그리고, 상기 도 8의 단계들에 대한 결과를 살펴보면 다음과 같다.,
<801 단계> "Code Grouping"
Group0={C0, C2, C3}={R0, R2, R3} Code rate={1/2, 1/4, 1/8}
Group1={C1}={R1} Code rate={1/3}
<803 단계> 기간부호(Primitive code in Group): Cp = {C1, C3}
C3(=R3=1/2) : Primitive code in Group 0
C1=(R1=1/3) : Primitive code in Group 1
<805 단계>
기간부호(Primitive code) Cp를 사용하여 각각의 그룹에 있는 준보완터보부호들(Ci)의 서브부호들(Cij : i=0,1,2,..,NS-1, j=0,1,2,....,Si-1)들을 결정
Group 0: QCTC with Rs=1/2
R=1/2: {C30, C31, C32}
R=1/4: {(C30, C31), (C31, C32), (C32, C30)} * 가능한 모든 경우는 3가지이다.
R=1/8: {(C30,C31,C32,30), (C31,C32,C30,C31), (C32,C30,C31,C32)}
Group 1: QCTC with Rs=1/3
R=1/3: {C20, C21}
만일, 상기 R=1/4의 준보완터보부호의 서브부호를 전송하는 경우, 송신기가 가능한 3가지의 서브부호들 중에서 어느 것을 전송하고 있는 지는 다음의 두 가지 방식에 의해서 알수 있다.
첫째, 맹목적 서브부호 식별(Implicit Subcode Identification) : 송신기와 수신기가 동일한 전송순서를 공유하고 있으면, 이 정보를 별개의 채널로 전송할 필요가 없다. 예를 들어 송신기와 수신기가 각각 Group 0을 사용하고 있다면 각각의 부호율 R=1/2, R=1/4, R=1/8에 대해서 수신기는 바로 이전까지 어느 서브부호가 전송되었는가를 저장하고 있다가 동일한 Group에 있는 새로운 서브부호가 수신되면 이 부호의 위치를 Group 0에서 찾을 수 있다.
둘째, 명시적 서브부호 식별(Explicit Subcode Identification) : 송신기가 정확하게 현재 전송되는 서브부호의 종류를 수신기에게 별도의 메시지로 전달한다. 따라서 수신기는 이를 수신하여 각각의 서브부호를 결합한다. 일반적으로 채널의 전송상태가 매우 열악하지 않은 경우에는 별도의 채널을 사용하는 명시적 서브부호 식별(Explicit Subcode Identification) 방식을 사용하지 않고 맹목적 서브부호 식별(Implicit Subcode Identification)방식을 사용하여도 충분하다. 본 발명에서는 이 두가지 방식을 모두 고려하며, 시스템의 메시지 채널의 신뢰도에 따라 이 두 방식중 하나를 선택하도록 한다.
도 9는 상술한 적응형 준보완터보부호 생상방식의 일 예를 보여준다. 상기 도 9는 모부호율 R이 1/5이고, 부호율이 1/2 및 1/3인 기간부호(Gp)를 가지고 부호율1/2, 1/4, 1/8 및 1/3인 준보완 터보부호들을 생성하는 예를 도시하고 있다. 여기서, 그룹 0에 해당하는 부호율은 1/2, 1/4 및 1/8이 되고, 그룹 1에 해당하는 부호율을 1/3 및 1/6이 된다.
그룹 0의 경우, 기간부호에 해당하는 서브부호 C30, C31, C32를 조합하여 부호율 1/4 및 1/8에 해당하는 서브부호들을 생성한다. 예를들어, 서브부호 C30 및 C31을 조합(또는 서브부호 C32 및 C30을 조합 또는 서브부호 C31 및 C32를 조합)하여 부호율 1/4에 해당하는 서브부호들을 생성한다. 그리고, 서브부호 C30, C31, C32 및 C30을 조합하여 부호율 1/8에 해당하는 서브부호를 생성한다. 한편 그룹 1의 경우, 기간부호에 해당하는 서브부호 C20, C21 및 C20를 조합하여 부호율 1/6에 해당하는 서브부호를 생성한다. 예를들어, 서브부호 C20 및 C21을 조합하여 부호율 1/6에 해당하는 서브부호를 생성한다.
도 10은 상술한 적응형 준보완터보부호의 생성방식의 다른 예를 보여준다. 상기 도 10은 모부호율 R이 1/5이고 부호율이 1/2 및 2/3인 기간부호(또는 준보완터보부호)를 가지고 부호율 1/2, 1/4, 1/8, 2/3, 1/3 및 1/6인 준보완 터보부호들을 생성하는 예를 도시하고 있다. 여기서, 그룹 0에 해당하는 부호율은 1/2, 1/4 및 1/8이 되고, 그룹 1에 해당하는 부호율을 2/3, 1/3 및 1/6이 된다.
그룹 0의 경우, 기간부호에 해당하는 서브부호 C30, C31, C32를 조합하여 부호율 1/4 및 1/8에 해당하는 서브부호들을 생성한다. 예를들어, 서브부호 C30 및 C31을 조합(또는 서브부호 C32 및 C30를 조합 또는 서브부호 C31 및 C32를 조합)하여 부호율 1/4에 해당하는 서브부호들을 생성한다. 그리고, 서브부호 C30, C31,C32 및 C30을 조합하여 부호율 1/8에 해당하는 서브부호를 생성한다. 한편 그룹 1의 경우, 기간부호에 해당하는 서브부호 C10, C11, C12 및 C13를 조합하여 부호율 1/3 및 1/6인 서브부호들을 생성한다. 예를들어, 서브부호 C10 및 C11을 조합(또는 서브부호 C12 및 C13를 조합 또는 서브부호 C11 및 C12을 조합)하여 부호율 1/3에 해당하는 서브부호를 생성하고, 서브부호 C10, C11, C12 및 C13을 조합하여 부호율 1/6인 서브부호를 생성한다. 상기 도 10은 채널의 상황변화와 서비스 데이터율의 변화에 보다 섬세하게 적응할 수 있는 구조이다.
일반적으로, 복합재전송방식을 사용하는 시스템에서 준 보완터보부호를 사용하는 경우 채널환경에 따라 가변적인 부호율을 사용한다면 "HARQ II"의 구조가 바람직할 수 있다. 이러한 전제에서는 부호율이 높은 서브부호가 요구되며 따라서 R=2/3의 준 보완터보부호를 기간부호로 사용할 가능성이 많다. 물론 여기서 실시 예로 언급하지 않더라도 시스템이 요구하는 최대의 부호율에 따라 기간부호가 결정되며 상기 방식과 동일한 방법에 의하여 적응형 준 보완터보부호가 생성될 수 있음을 자명하다. 예를 들어 R=3/4의 경우에도 동일한 방식에 의해서 R=3/4, R=2/3, R=1/3, R=1/6 등의 다양한 서브부호들을 생성할 수 있다.
하기 <표 4>와 <표 5>은 기간부호가 Rs=1/2, 1/3인 경우와 Rs=1/2, 2/3인 경우에 대한 서브부호들의 천공 매트릭스를 보여준다.
하기 <표 4> 및 <표 5>에서 보듯이 서브부호는 기간부호에 해당하는 서브부호들의 그룹핑(Grouping)에 의해 생성되었음을 알 수 있다. 또한 특정 부호율에 따른준보완 터보부호의 각각의 서브부호는 기간부호를 구성하는 서브부호들을 순차적으로 그룹핑(Grouping)하여 생성한다. <표 4>에서 기간부호 Cp는 R=1/2과 R=1/3이므로 두 개의 그룹이 존재한다. 한편, 앞서 설명한 그룹의 서브부호 행렬식(수학식 9 참조)에서 각각의 원소는 표 4에서 (행,열)의 원소인 천공매트릭스에 대응된다. 예를들어, 상기 수학식 9의 행렬식에서 은 R=1/2의 첫 번째 서브부호(C30)에 해당하는 천공 매트릭스에 대응된다. 은 R=1/2의 두 번째 서브부호(C31)에 해당하는 천공 매트릭스에 대응된다.는 R=1/2의 세 번째 서브부호(C32)에 해당하는 천공 매트릭스에 대응된다. 또한, 상기 그룹의 서브부호 행렬식에서는 R=1/4의 두 번째 서브부호(C31 U C32)에 해당하는 천공 매트릭스에 대응된다.은 R=1/4의 세 번째 서브부호(C32 U C30)에 해당하는 천공 매트릭스에 대응된다. 한편, 표 5에서도 R=1/2과 R=2/3를 기간부호(Cp)로 하는 두 개의 그룹들에 대한 서브부호들을 보여주고 있다.
한편, 단말기와 시스템은 하기 <표 4> 및 <표 5>와 같은 테이블을 구비하고 지정된 부호율(또는 전송율)에 따른 천공 매트릭스를 상기 테이블에서 읽어와 모부호율의 터보부호기에서 발생하는 심볼을 반복 및 천공하여 서브부호를 생성할수 있다. 다른 예로, 미리 주어진 알고리즘에 따라 해당 천공 매트릭스를 구하고 상기 천공 매트릭스에 근거하여 서브부호를 생성할 수도 있다.
부호율 Ci0 Ci1 Ci2 Ci3
R0=1/2 NA
R1=1/4 NA
R2=1/6 NA
R3=1/8 NA
R4=1/3 NA NA
부호율 Ci0 Ci1 Ci2 Ci3
R0=1/2 NA
R1=1/4 NA
R2=1/6 NA
R3=1/8 NA
R4=2/3
R5=1/3
도 13은 본 발명의 실시 예에 따른 2차원 준보완 터보부호 및 적응형 준보완 터보부호를 전송하기 위한 장치를 도시하고 있다.
도 13을 참조하면, 채널부호기(1301)는 모부호율(여기서는 R=1/5을 가정)을 지닌 부호기로 매 입력되는 정보심볼들을 부호화하여 부호심볼들을 출력한다. 준보완 터보부호 생성기(1302)는 상기 채널부호기(1301)로부터의 상기 부호심볼들을 서브부호 선택제어기(1303)의 제어하에 천공 및 반복하여 해당 서브부호를 생성한다.
상기 제어기(1303)는 기본적으로, 표 3 내지 표 5와 같은 서브부호들을 생성하기 위한 천공 매트릭스들을 저장하는 메모리 테이블을 구비하며, 2차원 준 보완터보부호의 경우 후술되는 도 12와 같은 알고리즘에 의해서 상기 준보완 터보부호 생성기(1302)의 동작을 제어하며, 적응형 준 보완터보부호의 경우 후술되는 도 11의 알고리즘에 의해서 상기 상기 준보완 터부호생성기(1302)의 동작을 제어한다.
다른 예로, 상기 제어기(1303)가 매 서브부호 전송시점에서 도 11 및 도 12와 같은 알고리즘을 수행하여 표 3 내지 표 5의 천공 매트릭스들중 어느 하나를 선택하는 인덱스 신호를 상기 준보완 터보부호 생성기(1302)로 제공할수도 있다. 이 경우, 상기 생성기(1302)는 미리 구비하고 있는 상기 표 3 내지 5의 테이블로부터 상기 인덱스에 해당하는 천공 매트릭스를 독출하고, 상기 독출된 천공 매트릭스에 근거하여 상기 채널부호기(1301)로부터의 심볼들을 천공 및 반복 제어하여 서브부호를 생성한다.
상기 제어기(1303)에서 전송 서브부호를 선택(또는 전송)하는 방식에 대해 살펴보면 다음과 같다.
도 13은 본 발명의 실시 예에 따른 2차원 준보완 터보부호 및 적응형 준보완 터보부호를 전송하기 위한 장치를 도시하고 있다.
도 13을 참조하면, 채널부호기(1301)는 모부호율(여기서는 R=1/5을 가정)을 지닌 부호기로 매 입력되는 정보심볼들을 부호화하여 부호심볼들을 출력한다. 준보완 터보부호 생성기(1302)는 상기 채널부호기(1301)로부터의 상기 부호심볼들을 서브부호 선택제어기(1303)의 제어하에 천공 및 반복하여 해당 서브부호를 생성한다.
상기 제어기(1303)는 기본적으로, 표 3 내지 표 5와 같은 서브부호들을 생성하기 위한 천공 매트릭스들을 저장하는 메모리 테이블을 구비하며, 2차원 준 보완터보부호의 경우 후술되는 도 12와 같은 알고리즘에 의해서 상기 준보완 터보부호 생성기(1302)의 동작을 제어하며, 적응형 준 보완터보부호의 경우 후술되는 도 11의 알고리즘에 의해서 상기 상기 준보완 터부호생성기(1302)의 동작을 제어한다.
다른 예로, 상기 제어기(1303)가 매 서브부호 전송시점에서 도 11 및 도 12와 같은 알고리즘을 수행하여 표 3 내지 표 5의 천공 매트릭스들중 어느 하나를 선택하는 인덱스 신호를 상기 준보완 터보부호 생성기(1302)로 제공할수도 있다. 이 경우, 상기 생성기(1302)는 미리 구비하고 있는 상기 표 3 내지 5의 테이블로부터 상기 인덱스에 해당하는 천공 매트릭스를 독출하고, 상기 독출된 천공 매트릭스에 근거하여 상기 채널부호기(1301)로부터의 심볼들을 천공 및 반복 제어하여 서브부호를 생성한다.
상기 제어기(1303)에서 전송 서브부호를 선택(또는 전송)하는 방식에 대해 살펴보면 다음과 같다.
상기 도 11은 본 발명의 실시 예에 따른 적응형 준보완터보부호를 이용해 서브부호를 전송하기 위한 절차를 도시하고 있다.
상기 도 11을 참조하면, 먼저, 상기 제어기(1303)는 1100단계에서 새로운 부호화 블록(encoded block)이 발생하면, 1101단계에서 사용되는 모든 변수들(j_current, j_pre, g_current, g_pre)을 초기화한다. 그리고, 1103단계에서 전송 부호율이 속한 그룹을 선택하고, 상기 부호율에 따른 기간부호의 그룹핑 개수를 나타내는 g를 결정한다. 여기서, 상기 전송 부호율은 채널상황과 입력 데이터율 등에 의해 송신기에서 결정하는 변수이고, 상기 그룹핑 개수 g는 상기 그룹에 포함된 준보완 터보부호들을 식별하기 위한 변수이다. 상기 그룹과 그룹핑 개수를 결정한후, 1105단계에서 상기 부호율에 따른 준보완터보부호(Ci)에 대응되어 저장되어 있는 변수 j_pre를 읽어와 변수 j_current에 저장한다. 여기서, 상기 j_current는 하나의 준보완터보부호내에서의 서브부호의 순서를 구별하기 위한 인자이다. 이후, 상기 제어기(1303)는 1107단계에서 상기 선택된 그룹의 상기 변수 g_current에 해당하는 준보완터보부호의 서브부호들중 j_current번째 서브부호를 선택하고, 1109단계에서 상기 선택된 서브부호에 해당되는 부호심볼들를 전송한다. 여기서, 다음 전송을 위해 상기 g_current와 j_current를 각각 변수 g_pre 및 j_pre에 저장한다. 한편, 상기 변수 j_current(=0)에 의해 결정되는 서브부호들을 일반화하면 하기 <수학식 12>와 같다.
상기 수학식 12는 각 준보완터보부호의 첫 번째 서브부호들을 나타낸다. 즉, 상기 첫 번째 서브부호들중 변수 g_current 혹은 g에 따른 서브부호를 전송한다.
상기와 같이, 서브부호를 전송한후, 1113단계에서 계속 서브부호를 요청하는지를 판단한다. 다시말해, 수신기로부터 재전송 요청이 수신되는지 검사한다. 만일, 상기 서브부호를 요청하는 경우, 상기 제어기(1303)는 1115단계로 진행하여 주어진 부호율에 따른 서브부호를 전송하고, 그렇지 않으면 새로운 부호화 블록을 수신하기 위해 상기 1100단계로 되돌아가 이하 단계를 재수행한다.
한편, 상기 제어기(1303)는 상기 1115단계에서 채널 환경에 따라 결정된 부호율 정보를 사용하여 상기 부호율에 따른 준보완 터보부호가 속한 그룹 g_current을 다시 선택한다.
그리고, 상기 제어기(1303)는 상기 1117단계에서 하기 <수학식 13>에 의해서 전송할 서브부호(그룹 행렬식의 원소)의 순서 번호(j_current)를 결정한다. 그리고, 상기 1107단계로 되돌아가 상기 1117단계에서 결정된 j_current에 해당하는 서브부호들중 변수 g_current에 따른 서브부호를 전송한다.
상기 <수학식 13>에서 A mod B는 A를 B로 나눈 나머지를 의미한다. 즉, 이전 전송한 서브부호에 대한 기간부호의 그룹핑 개수(또는 준보완터보부호의 식별 번호)와 상기 서브부호의 번호를 j_pre와 g_pre라고 하고 현재 결정된 그룹핑 개수를 g_current라고 하면, 현재 전송할 서브부호의 번호 j_current는 상기 수학식 13에 의해서 결정된다. 한편, 상기 수학식 13에서 좌변의 "[((j_pre + 1) * g_premode Sp-1]"는 이전 그룹에서 마지막으로 전송한 서브부호를 나타내고, 상기 우변의 "(j_current*g_current)mod Sp"는 현재 그룹에서 시작하는 서브부호를 나타낸다. 따라서, 좌변의 "[((j_pre + 1) * g_pre mode Sp-1]"에 '1'을 더할 경우, 현재 그룹에서 시작하는 서브부호를 의미하게 되어 좌변과 우변이 동일한 값을 가지게 된다. 이를 이용해 변수 j_current의 값을 구하는 것이다.
상기 j_current의 값이 결정되면, 상기 j_current에 해당하는 열에 있는 서브부호들중 전송 부호율(이것은 채널상황과 입력데이터 레이트 등에 의해서 송신기가 결정하는 변수)에 따라 결정되는 상기 변수 g에 따른 행의 서브부호를 선택하여 전송한다. 상기 <수학식 13>에서 "mod Sp"를 사용하는 것은 상기 그룹 행렬식의 열의 크기가 Sp보다 작거나 같기 때문이다. 즉 기간부호의 서브부호들의 개수가 Sp이므로, 각 행의 서브부호들이 모두 선택되면 순환방식에 의해 다시 처음의 서브부호 Cp0를 선택할수 있도록 하기 위해서이다.(첨부된 도 9 및 도 10을 참조)
상술한 도 11의 과정을 구체적인 수치 대입을 통해 설명하면 다음과 같다.
예를 들어, 기간부호의 부호율 Rs=1/2이고 상기 기간부호를 가지고 형성된 그룹의 행의 개수 g가 4인 즉, Rs=1/8까지 가능한 구조에서 Sp=3인 경우, 초기 전송과 연이은 전송에 따른 부호율의 변화가 다음과 같다고 가정하고 서브부호 선택과정을 살펴보면 하기와 같다.
Rs: 1/2 --> Rs:1/4 --> Rs:1/2 --> Rs:1/8 --> Rs:1/2
g_pre=0, j_current=0, g_current=0, j_pre=0: 초기화 값
1. R=1/2: 따라서 g_current=1, j_current=0 따라서 g_pre=1, j_pre=0
선택된 서브부호:
2. R=1/4: 따라서 g_current=2, 식 13으로부터 j_current=2, 따라서 g_pre=2, j_pre=2
선택된 서브부호:
3. R=1/2: 따라서 g_current=1, 식 13으로부터 j_current=0,, 따라서 g_pre=1, j_pre=0
선택된 서브부호:
4. R=1/8: 따라서 g_current=4, 식 13으로부터 j_current=1, 따라서 g_pre=4, j_pre=1
선택된 서브부호:
5. R=1/2: 따라서 g_current=1, 식 13으로부터 j_current=2, 따라서 g_pre=1, j_pre=2
선택된 서브부호:
:
이상 전송할 서브부호 선택방식을 자세히 기술하였다. 앞서 설명한 바와 같이 각각의 그룹내에서는 서브부호 선택은 상기한 수학식 13과 같은 일반화된 수식에 의해서 이루어지고, 또한 각각의 그룹간의 선택은 전송 부호율(이것은 채널상황과 입력데이터 레이트 등에 의해서 송신기가 결정하는 변수임)에 따라 결정된다. 도면도 9 및 도 10에 도시된 바와 같이, 각각의 그룹에서의 초기 전송은 반드시 j첨자가 0인 것부터 진행한다. 상술한 실시예는 준보완터보부호들의 각각에 대한 서브부호들(또는 천공 매트릭스들)이 표 4 및 표 5와 같이 메모리 테이블로 구비된 것을 가정하고 있지만, 다른 예로 각 그룹의 기간부호에 해당하는 서브부호들을 구비하고, 상기 수학식 13과 같은 수식에 의해 기간부호의 서브부호들을 결합하여 원하는 서브부호를 생성할수도 있다. 이런 경우, 상기 수학식 13을 통해 j_current가 구해지면, 제어기는 상기 기간부호의 j_current에 해당하는 서브부호로부터 순차로 결정된 g개만큼의 서브부호들을 결합하여 전송 서브부호를 생성할수 있다.
상기 도 12는 본 발명의 실시 예에 따른 2차원 준 보완터보부호를 이용해 서브부호를 전송하기 위한 절차를 도시하고 있다.
상기 도 12를 참조하면, 먼저 제어기(1303)는1200단계에서 새로운 부호화 블록이 생성되면, 1201단계에서 필요한 변수들(j 및 j_saved)을 초기화시킨다. 그리고, 1203단계에서 채널환경 및 전송 환경에 따라 결정되는 부호율에 따라서 해당 준보완터보부호(Ci)를 결정한다. 그리고, 1205단계에서 상기 결정된 준보완터보부호(Ci)에 대응되어 저장되어 있는 변수 j를 리드하고, 1207단계에서 상기 준보완터보부호의 j번째 서브부호 Cij를 선택한다. 그리고, 1209단계에서 상기 선택된 서브부호를 이용하여 부호화된 심볼들을 전송한다.
상기 서브부호를 전송한후, 1211단계에서 계속 서브부호 요청이 있는지를 판단한다. 다시말해, 수신기로부터 재전송 요청이 수신되는지 검사한다. 만일, 서브부호 요청이 없으면 상기 1200단계로 되돌아가 새로운 부호화 블록을 생성한다. 반면, 서브부호 요청이 있으면 1213단계로 진행하여 채널 환경에 따라 결정된 부호율 정보에 근거하여 다시 준보완터보부호(Ci)를 선택한다.
그리고, 1215단계에서 상기 선택한 준보완터보부호가 이전 선택한 준보완터보부호와 동일한지를 판단한다. 만일, 동일하면 서브부호를 선택하기 위한 변수 j를 하기 수학식 14에 의해 갱신하고, 상기 1207단계로 되돌아가 상기 선택된 준보완터보부호의 상기 j번째 서브부호를 전송한다. 반면, 상이하면 1219단계로 진행하여 이후 서브부호 선택을 위해 상기 변수 j를 '1'만큼 증가시키고, 상기 (j+1)을 변수 j_saved에 저장한후 상기 1203단계로 되돌아가 이하 단계를 재수행한다.
여기서, 상기 Si는 준보완터보부호 Ci의 집합 크기를 나타내다. 상기 수학식에서 "mod Si"를 하는 이유는 해당 준보완터보부호의 모든 서브부호들이 선택되면 다시 순환하여 첫 번째 서브부호를 선택할수 있도록 하기 위해서이다.
상술한 바와 같이 본 발명은 재전송 방식을 사용하는 통신시스템에서 주어진 전송율(또는 부호율)에 따라 적응적으로 서로 다른 준보완터보부호를 선택하여 전송할수 있다. 다시말해, 2차원 준보완 터보부호를 패킷 재전송 방식에 이용하여 전송효율(throughput)을 크게 개선할 수 있다.

Claims (20)

  1. 2차원 준보완 터보부호의 서브부호들을 재배열하는 방법에 있어서,
    주어진 복수의 부호율들의 각각에 대하여 준보완터보부호의 서브부호들의 집합들을 생성하는 과정과,
    특정 부호율에 따라 전송된 서브부호에 후속하여 전송될 동일하거나 다른 부호율의 서브부호들의 집합을 재배열하는 과정을 포함하는 것을 특징으로 방법.
  2. 제1항에 있어서,
    상기 서브부호는 천공 및 반복을 나타내는 원소들로 구성되는 행렬식인 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 재배열 과정은,
    상기 서브부호들의 집합들의 각각에 대해 상기 서브부호들의 집합들의 열들의 크기들이 최소공배수가 되도록 열들을 반복하여 새로운 서브부호들의 집합들을 생성하는 과정과,
    상기 생성된 새로운 서브부호들의 집합들에서 임의의 서로 다른 두 개의 집합들의 행렬식들을 결합한 행렬식들이 준보완터보부호의 특성을 가지도록 상기 서브부호들의 집합들의 각각에 대해 행렬식들의 우선순위를 결정하여 재배열하는 과정을 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 준보완터보부호의 특성은 행렬식을 구성하는 원소들이 균등한 반복 및 천공을 갖는 것임을 특징으로 하는 방법.
  5. 주어진 복수의 부호율들의 각각에 대하여 준보완터보부호의 서브부호들의 집합들을 생성하고, 상기 서브부호는 천공 및 반복을 나타내는 원소들을 가지는 행렬식이고,
    상기 서브부호들의 집합들의 각각에 대해 상기 서브부호들의 집합들의 열들의 크기들이 최소공배수가 되도록 열들을 반복하여 새로운 서브부호들의 집합들을 생성하고,
    상기 생성된 새로운 서브부호들의 집합들에서 임의의 서로 다른 두 개의 집합들의 행렬식들을 결합한 행렬식들이 균등한 반복 및 천공을 가지도록 상기 서브부호들의 집합들의 각각에 대해 행렬식들의 우선순위를 결정하고,
    상기 집합들의 각각에 대하여 행렬식들을 상기 결정된 우선순위에 따라 재배열하는 것을 특징으로 하는 준보완터보부호의 서브부호들의 행렬식들을 재배열하는방법.
  6. 2차원 준보완터보부호의 서브부호들을 이용하여 심볼들을 전송하기 위한 방법에 있어서,
    주어진 복수의 부호율들의 각각에 대하여 준보완터보부호의 서브부호들의 집합들을 재배열하여 저장하는 과정과,
    전송에 사용될 부호율 결정시, 상기 결정된 부호율에 따른 준보완터보부호의 서브부호를 선택하는 과정과,
    상기 선택된 서브부호를 이용하여 심볼들을 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 서브부호들의 집합들을 재배열하는 과정은,
    상기 서브부호들의 집합들의 각각에 대해 상기 서브부호들의 열들의 크기들이 최소공배수가 되도록 열들을 반복하여 새로운 서브부호들의 집합을 생성하는 과정과,
    상기 생성된 새로운 서브부호들의 집합들에서 임의의 서로 다른 두 개의 집합들의 행렬식들을 결합한 행렬식들이 준보완터보부호의 특성을 가지도록 상기 서브부호들의 집합들의 각각에 대해 행렬식들의 우선순위를 결정하여 재배열하는 과정을 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 준보완 터보부호의 특성은 행렬식을 구성하는 원소들이 균등한 반복 및 천공을 갖는 것임을 특징으로 하는 방법.
  9. 2차원 준보완터보부호의 서브부호들을 생성하기 위한 방법에 있어서,
    정수비가 존재하는 부호율들중에서 최대 부호율에 대한 준보완터보부호의 서브부호들의 집합을 생성하고, 상기 최대 부호율에 대한 준보완터보부호를 기간부호로 정하는 과정과,
    상기 최대 부호율을 제외한 나머지 부호율들의 각각에 대하여 준보완터보부호를 생성하기 위한 상기 기간부호의 서브부호들의 결합 수들을 결정하는 과정과,
    상기 나머지 부호율들의 각각에 대하여 상기 기간부호의 서브부호들을 상기 결정된 결합 수에 따라 결합하여 준보완터보부호의 서브부호들을 생성하는 과정을 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    전송에 사용될 부호율 결정시, 상기 부호율에 대한 준보완터보부호의 서브부호들중 최종 전송된 서브부호의 다음의 서브부호를 전송하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  11. 2차원 준보완터보부호의 서브부호들을 이용하여 심볼들을 전송하기 위한 방법에 있어서,
    정수비가 존재하는 부호율들중에서 최대 부호율에 대한 준보완터보부호의 서브부호들의 집합을 생성하고, 상기 최대 부호율에 대한 준보완터보부호를 기간부호로 정하는 과정과,
    상기 최대 부호율을 제외한 나머지 부호율들의 각각에 대하여 준보완터보부호를 생성하기 위한 상기 기간부호의 서브부호들의 결합 수들을 결정하는 과정과,
    전송에 사용될 부호율 결정시, 상기 기간부호의 서브부호들중 최종 전송된 서브부호의 다음으로부터 상기 부호율에 따른 상기 결합 수만큼 결합하여 생성한 서브부호를 이용하여 심볼들을 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
  12. 2차원 준보완터보부호의 서브부호들을 이용하여 심볼들을 전송하기 위한 방법에 있어서,
    정수비가 존재하는 부호율들중에서 최대 부호율에 대한 준보완터보부호의 서브부호들의 집합을 생성하고, 상기 최대 부호율에 대한 준보완터보부호를 기간부호로 정하는 과정과,
    상기 기간부호의 서브부호들을 결합하여 상기 나머지 부호들의 각각에 대하여 준보완터보부호의 서브부호들을 생성하는 과정과,
    전송에 사용될 부호율 결정시, 하기 <수학식 15>에 의해 상기 전송에 사용될 서브부호의 순서번호(j_current)를 결정하는 과정과,
    상기 결정된 부호율에 따른 준보완터보부호의 서브부호들중에서 상기 결정된 순서번호에 해당하는 서브부호를 이용하여 심볼들을 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
    여기서, j_pre는 이전 전송에서 사용된 서브부호의 순서번호를 나타내고, g_pre는 이전 전송에서 사용된 부호율에 따른 그룹핑 개수를 나타내며, g_current는 현재 결정된 부호율에 따른 그룹핑 개수를 나타내고, Sp는 기간부호의 집합크기를 나타냄.
  13. 2차원 준보완터보부호의 서브부호들을 생성하기 위한 방법에 있어서,
    주어진 부호율들에서 정수비가 존재하는 부호율들을 하나의 그룹으로 분류하여 복수의 그룹들을 생성하는 과정과,
    상기 복수의 그룹들의 각각에서 최대 부호율에 대한 준보완터보부호의 서브부호들의 집합을 생성하고, 상기 복수의 그룹들에 대한 최대 부호율들을 기간부호들로 정하는 과정과,
    상기 최대 부호율들을 제외한 나머지 부호율들의 각각에 대하여 준보완터보부호를 생성하기 위한 해당 기간부호의 서브부호들의 결합 수들을 결정하는 과정과,
    상기 나머지 부호율들의 각각에 대하여 해당 기간부호의 서브부호들을 상기 결정된 결합 수에 따라 결합하여 준보완터보부호의 서브부호들을 생성하는 과정을 포함하는 것을 특징으로 하는 방법.
  14. 2차원 준보완터보부호의 서브부호들을 이용하여 심볼들을 전송하기 위한 방법에 있어서,
    주어진 부호율들에서 정수비가 존재하는 부호율들을 하나의 그룹으로 분류하여 복수의 그룹들을 생성하는 과정과,
    상기 복수의 그룹들의 각각에서 최대 부호율에 대한 준보완터보부호의 서브부호들의 집합을 생성하고, 상기 복수의 그룹들에 대한 최대 부호율들을 기간부호들로 정하는 과정과,
    상기 최대 부호율을 제외한 나머지 부호율들의 각각에 대하여 준보완터보부호를 생성하기 위한 해당 기간부호의 서브부호들의 결합 수들을 결정하는 과정과,
    전송에 사용될 부호율 결정시, 상기 부호율이 포함된 그룹의 기간부호의 서브부호들중 최종 전송된 서브부호의 다음으로부터 상기 부호율에 따른 상기 결합 수만큼 결합하여 생성한 서브부호를 이용하여 심볼들을 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
  15. 2차원 준보완터보부호의 서브부호들을 재배열하기 위한 장치에 있어서,
    입력되는 정보비트열을 정해진 부호율로 부호화하여 심볼들을 발생하는 터보부호기와,
    주어진 복수의 부호율들의 각각에 대하여 준보완터보부호의 서브부호들을 생성하기 위한 행렬식들의 집합들을 재배열하고, 전송에 사용될 부호율 결정시 상기 부호율에 따른 준보완터보부호를 선택하며, 상기 선택된 준보완터보부호의 상기 재배열된 행렬식들중 이전 전송에 사용된 행렬식의 다음 행렬식에 따른 천공 및 반복 제어신호를 발생하는 제어기와,
    상기 터부보호기로부터의 심볼들을 상기 제어기로부터의 제어신호에 따라 천공 및 반복하여 상기 전송에 사용될 서브부호를 생성하는 준보완터보부호 생성기를 포함하는 것을 특징으로 하는 장치.
  16. 제15항에 있어서,
    상기 제어기는, 상기 준보완터보부호의 행렬식들의 집합들에서 임의의 서로 다른 두 개의 집합들의 행렬식들을 결합한 행렬식들이 준보완터보부호의 특성을 가지도록 상기 행렬식들의 집합들을 재배열하는 것을 특징으로 하는 장치.
  17. 제16항에 있어서,
    상기 준보완 터보부호의 특성은 행렬식을 구성하는 원소들이 균등한 반복 및 천공을 갖는 것임을 특징으로 하는 장치.
  18. 2차원 준보완터보부호의 서브부호들을 이용하여 심볼들을 전송하기 위한 장치에 있어서,
    입력되는 정보비트열을 정해진 부호율로 부호화하여 심볼들을 발생하는 터부부호기와,
    정수비가 존재하는 부호율들중에서 최대 부호율에 대한 준보완터보부호의 서브부호들의 집합을 생성하고, 상기 최대 부호율에 대한 준보완터보부호를 기간부호로 정하며, 상기 기간부호의 서브부호들을 결합하여 상기 나머지 부호들의 각각에 대하여 준보완터보부호의 서브부호들을 생성하고, 전송에 사용될 부호율 결정시 상기 결정된 부호율에 따른 준보완터보부호의 서브부호를 선택하며, 상기 선택된 서브부호에 따른 심볼 천공 및 반복 제어신호를 발생하는 제어기와,
    상기 터부부호기로부터의 심볼들을 상기 제어기로부터의 제어신호에 따라 천공 및 반복하여 상기 전송에 사용될 서브부호를 생성하는 준보완터보부호 생성기를 포함하는 것을 특징으로 하는 장치.
  19. 제18항에 있어서,
    상기 제어기는 상기 결정된 부호율에 따른 준보완터보부호의 서브부호들중에서 하기 수학식 16에 의해 결정된 서브부호의 순서번호(j_current)에 따른 서브부호를 선택하는 것을 특징으로 하는 장치.
    여기서, j_pre는 이전 전송에서 사용된 서브부호의 순서번호를 나타내고, g_pre는 이전 전송에서 사용된 부호율에 따른 그룹핑 개수를 나타내며, g_current는 현재 결정된 부호율에 따른 그룹핑 개수를 나타내고, Sp는 기간부호의 집합크기를 나타냄.
  20. 제18항에 있어서,
    상기 제어기는, 정수비가 존재하는 부호율들로 구성된 그룹을 복수개 구비하는 것을 특징으로 하는 장치.
KR10-2002-0007188A 2001-02-07 2002-02-07 통신시스템에서 부호 생성장치 및 방법 KR100464453B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020010007139 2001-02-07
KR20010007139 2001-02-07
KR20010006662 2001-02-12
KR1020010006662 2001-02-12

Publications (2)

Publication Number Publication Date
KR20020065866A true KR20020065866A (ko) 2002-08-14
KR100464453B1 KR100464453B1 (ko) 2005-01-03

Family

ID=26638796

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0007188A KR100464453B1 (ko) 2001-02-07 2002-02-07 통신시스템에서 부호 생성장치 및 방법

Country Status (13)

Country Link
US (2) US7213193B2 (ko)
EP (2) EP1385291B1 (ko)
JP (1) JP3753694B2 (ko)
KR (1) KR100464453B1 (ko)
CN (1) CN1276588C (ko)
AU (1) AU2002232276B2 (ko)
BR (1) BRPI0204016B1 (ko)
CA (1) CA2405465C (ko)
DE (2) DE60236268D1 (ko)
FR (1) FR2820565B1 (ko)
GB (1) GB2380915B (ko)
RU (1) RU2251793C2 (ko)
WO (1) WO2002063778A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100651881B1 (ko) * 2005-08-22 2006-12-01 엘지전자 주식회사 Ldpc 부호화된 데이터의 송수신 장치 및 그를 이용하는송수신 방법
KR100770902B1 (ko) * 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
KR100933375B1 (ko) * 2005-01-24 2009-12-22 콸콤 인코포레이티드 통신 시스템에서 복수의 데이터 스트림들을 위한 파서 및펑처링
KR100964610B1 (ko) * 2008-04-18 2010-06-21 한국전자통신연구원 오류정정 부호를 이용한 다이버시티 방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438448B1 (ko) 2001-02-13 2004-07-03 삼성전자주식회사 통신시스템에서 부호 생성장치 및 방법
GB2394153B (en) * 2001-02-13 2005-08-24 Samsung Electronics Co Ltd Apparatus and method for generating codes in communication system
KR100724921B1 (ko) * 2001-02-16 2007-06-04 삼성전자주식회사 통신시스템에서 부호 생성 및 복호 장치 및 방법
US20030131303A1 (en) * 2001-07-12 2003-07-10 Samsung Electronics Co., Ltd. Reverse transmission apparatus and method for improving transmission throughput in a data communication system
JP4170341B2 (ja) * 2003-09-04 2008-10-22 富士通株式会社 通信システム及びハンドオーバ通信方法
FI20050264A0 (fi) * 2005-03-11 2005-03-11 Nokia Corp Tietojenkäsittelymenetelmä, verkkoelementti, lähetin, komponentti ja tietokoneohjelmatuote
US20080016425A1 (en) * 2006-04-04 2008-01-17 Qualcomm Incorporated Turbo decoder with symmetric and non-symmetric decoding rates
US7890833B2 (en) * 2006-06-08 2011-02-15 Intel Corporation Wireless communication using codeword encoded with high-rate code
US7813296B2 (en) * 2006-12-27 2010-10-12 Telefonaktiebolaget L M Ericsson (Publ) Adapting transmission and reception time in packet based cellular systems
KR101505193B1 (ko) * 2007-06-18 2015-03-23 삼성전자주식회사 직교주파수분할다중접속방식의 이동 통신시스템에서 심볼전송 방법 및 장치
US8516351B2 (en) 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US9397699B2 (en) 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured 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

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2324934A (en) * 1997-05-02 1998-11-04 Motorola Ltd Multiplexing data from multi-media sources
US5907582A (en) * 1997-08-11 1999-05-25 Orbital Sciences Corporation System for turbo-coded satellite digital audio broadcasting
US6138260A (en) 1997-09-04 2000-10-24 Conexant Systems, Inc. Retransmission packet capture system within a wireless multiservice communications environment with turbo decoding
US6347122B1 (en) * 1998-01-13 2002-02-12 Agere Systems Guardian Corp. Optimal complement punctured convolutional codes for use in digital audio broadcasting and other applications
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
CN100466483C (zh) * 1998-06-05 2009-03-04 三星电子株式会社 用于速率匹配的发送机和方法
GB9814960D0 (en) * 1998-07-10 1998-09-09 Koninkl Philips Electronics Nv Coding device and communication system using the same
US6298463B1 (en) * 1998-07-31 2001-10-02 Nortel Networks Limited Parallel concatenated convolutional coding
JP2000068862A (ja) * 1998-08-19 2000-03-03 Fujitsu Ltd 誤り訂正符号化装置
US6704898B1 (en) * 1998-10-23 2004-03-09 Telefonaktiebolaget Lm Ericsson (Publ) Combined hybrid automatic retransmission request scheme
KR20000067738A (ko) * 1999-04-14 2000-11-25 서평원 이동 통신 시스템에서 채널 코드의 레이트 매칭 방법
KR100357868B1 (ko) * 1999-07-06 2002-10-25 삼성전자 주식회사 데이터 통신시스템의 전송율 정합 장치 및 방법
AU779378C (en) 2000-01-20 2005-02-24 Apple Inc. Hybrid ARQ schemes with soft combining in variable rate packet data transmission
KR100734346B1 (ko) * 2000-08-02 2007-07-03 엘지전자 주식회사 데이터 레이트 매칭 방법
US6684367B1 (en) * 2000-10-13 2004-01-27 Agere Systems Inc. Channel coding based on hidden puncturing for partial-band interference channels
KR100442685B1 (ko) * 2000-10-21 2004-08-02 삼성전자주식회사 통신시스템에서 부호 생성장치 및 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100770902B1 (ko) * 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
US7523382B2 (en) 2004-01-20 2009-04-21 Samsung Electronics Co., Ltd. Apparatus and method for generating and decoding forward error correction codes having variable rate in a high-rate wireless data communication system
KR100933375B1 (ko) * 2005-01-24 2009-12-22 콸콤 인코포레이티드 통신 시스템에서 복수의 데이터 스트림들을 위한 파서 및펑처링
US7953047B2 (en) 2005-01-24 2011-05-31 Qualcomm Incorporated Parser for multiple data streams in a communication system
KR100651881B1 (ko) * 2005-08-22 2006-12-01 엘지전자 주식회사 Ldpc 부호화된 데이터의 송수신 장치 및 그를 이용하는송수신 방법
KR100964610B1 (ko) * 2008-04-18 2010-06-21 한국전자통신연구원 오류정정 부호를 이용한 다이버시티 방법
US8560928B2 (en) 2008-04-18 2013-10-15 Electronics And Telecommunications Research Institute Diversity method using error correcting code

Also Published As

Publication number Publication date
JP2004519149A (ja) 2004-06-24
KR100464453B1 (ko) 2005-01-03
AU2002232276B2 (en) 2004-01-15
BR0204016A (pt) 2003-02-04
GB0202868D0 (en) 2002-03-27
US20050210365A1 (en) 2005-09-22
EP1385291B1 (en) 2010-05-05
FR2820565B1 (fr) 2011-09-23
EP1231737B1 (en) 2010-05-12
FR2820565A1 (fr) 2002-08-09
EP1385291A2 (en) 2004-01-28
EP1231737A1 (en) 2002-08-14
JP3753694B2 (ja) 2006-03-08
GB2380915B (en) 2004-06-23
DE60236268D1 (de) 2010-06-17
US7213193B2 (en) 2007-05-01
CN1276588C (zh) 2006-09-20
EP1385291A3 (en) 2004-06-23
RU2251793C2 (ru) 2005-05-10
CN1457553A (zh) 2003-11-19
RU2002126564A (ru) 2004-01-27
US20020152445A1 (en) 2002-10-17
CA2405465C (en) 2007-09-25
WO2002063778A1 (en) 2002-08-15
GB2380915A (en) 2003-04-16
DE60236336D1 (de) 2010-06-24
CA2405465A1 (en) 2002-08-15
BRPI0204016B1 (pt) 2015-11-17

Similar Documents

Publication Publication Date Title
US7200796B2 (en) Apparatus for generating codes in communication system
KR100464453B1 (ko) 통신시스템에서 부호 생성장치 및 방법
AU762092B2 (en) Generating codes in a communication system
AU2003266767B2 (en) Apparatus and method for transmitting symbols in a communications system

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

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee