KR20060060520A - 이동통신 시스템에서 채널 인터리빙 장치 및 방법 - Google Patents

이동통신 시스템에서 채널 인터리빙 장치 및 방법 Download PDF

Info

Publication number
KR20060060520A
KR20060060520A KR20050000648A KR20050000648A KR20060060520A KR 20060060520 A KR20060060520 A KR 20060060520A KR 20050000648 A KR20050000648 A KR 20050000648A KR 20050000648 A KR20050000648 A KR 20050000648A KR 20060060520 A KR20060060520 A KR 20060060520A
Authority
KR
South Korea
Prior art keywords
symbols
size
transmitted
value
symbol
Prior art date
Application number
KR20050000648A
Other languages
English (en)
Other versions
KR101131323B1 (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 KR20060060520A publication Critical patent/KR20060060520A/ko
Application granted granted Critical
Publication of KR101131323B1 publication Critical patent/KR101131323B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D37/00Repair of damaged foundations or foundation structures
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D23/00Caissons; Construction or placing of caissons
    • E02D23/02Caissons able to be floated on water and to be lowered into water in situ
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D2250/00Production methods
    • E02D2250/0007Production methods using a mold
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D2250/00Production methods
    • E02D2250/0023Cast, i.e. in situ or in a mold or other formwork
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D2250/00Production methods
    • E02D2250/0061Production methods for working underwater
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02DFOUNDATIONS; EXCAVATIONS; EMBANKMENTS; UNDERGROUND OR UNDERWATER STRUCTURES
    • E02D2300/00Materials
    • E02D2300/0001Rubbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/0001Arrangements for dividing the transmission path
    • H04L5/0003Two-dimensional division
    • H04L5/0005Time-frequency
    • H04L5/0007Time-frequency the frequencies being orthogonal, e.g. OFDM(A), DMT
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0044Arrangements for allocating sub-channels of the transmission path allocation of payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0078Timing of allocation
    • H04L5/0082Timing of allocation at predetermined intervals
    • H04L5/0083Timing of allocation at predetermined intervals symbol-by-symbol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Structural Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mining & Mineral Resources (AREA)
  • Paleontology (AREA)
  • Civil Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 이동통신 시스템에서 통신 장치 및 방법에 관한 것으로, 특히 이동통신 시스템의 채널 인터리빙 장치 및 방법에 관한 것이다.
본 발명에서는 변조 방식을 고려하여 인터리빙을 수행하여 평균 신뢰도를 향상시킬 수 있고, 변조 방식에 따라 비트의 맵핑 위치마다 신뢰도가 다른 것을 고려하여 채널 부호화 성능을 향상시킬 수 있으며, 심볼을 보다 안전하여 서비스의 품질을 개선할 수 있는 인터리빙 장치 및 방법을 제공한다.
인터리빙, 채널 인터리버, 3차원 인터리빙, 변조 방식.

Description

이동통신 시스템에서 채널 인터리빙 장치 및 방법{APPARATUS AND METHOD FOR CHANNEL INTERLEAVING IN A WIRELESS COMMUNICATION SYSTEM}
도 1은 CDMA 이동통신 시스템에서 전송할 정보를 부호화 및 인터리빙하여 전송할 부호화 심볼로 구성하는 경우를 설명하기 위한 개념도,
도 2a는 블록 인터리버로 입력되는 데이터의 입력 순서를 도시한 도면,
도 2b는 블록 인터리버에서 비트 역상순에 의해 열 위치를 결정하는 과정을 설명하는 도면,
도 2c는 비트 역상순에 의거하여 열 위치가 변환된 후 블록 인터리버에서 심볼의 출력 순서를 설명하기 위한 도면,
도 3은 본 발명에 따른 3차원 인터리빙을 설명하기 위한 부호화 심볼의 저장 구성도,
도 4a는 본 발명의 실시 예에 따라 3차원 인터리빙을 위해 심볼들이 저장되는 순서를 설명하기 위한 도면,
도 4b는 본 발명에 따른 3차원 인터리빙을 위한 심볼들의 순환 이동을 설명하기 위한 도면,
도 4c는 본 발명에 따른 3차원 인터리빙 심볼의 비트 역상순 이동을 설명하 기 위한 도면,
도 4d는 본 발명에 따른 3차원 인터리빙 심볼들의 출력 순서를 설명하기 위한 도면,
도 5는 본 발명의 바람직한 실시 예에 따라 3차원 인터리빙을 수행하기 위한 장치의 블록 구성도,
도 6은 본 발명의 바람직한 실시 예에 따라 3차원 인터리빙 시의 제어 흐름도.
본 발명은 이동통신 시스템에서 통신 장치 및 방법에 관한 것으로, 특히 이동통신 시스템의 채널 인터리빙 장치 및 방법에 관한 것이다.
일반적으로 이동통신 시스템은 사용자에게 장소에 구애받지 않고 음성 서비스를 제공할 수 있도록 개발된 시스템이다. 이러한 이동통신 시스템들은 사용자들의 요구와 기술의 비약적인 발전에 힘입어 데이터 전송이 가능한 형태로까지 발전하였다. 이와 같이 데이터 전송이 가능한 형태로 발전하면서 다양한 데이터의 전송되기에 이르렀다. 예를 들어 간단한 단문 메시지에서부터 인터넷 서비스는 물론 동영상 서비스 및 방송 서비스 등에 이르기까지 다양한 형태로 발전하고 있다.
이와 같이 데이터 서비스를 제공함에 있어서, 이동통신 시스템에서 발전 방 향은 보다 많은 데이터를 고속으로 전송하는 것에 있다. 특히 방송 서비스와 같이 단방향(unicast) 서비스의 경우에는 복수의 사용자들에게 다양한 방송 서비스를 제공해야 하기 때문에 제한된 자원을 보다 효율적으로 사용하는 것이 바람직하다. 따라서 이러한 요구에 부응하여 방송 서비스의 제공 방식은 일반적인 CDMA 방식에서 벗어나 OFDM(Orthogonal Frequency Division Multiplex) 방식을 사용하는 방향으로 방송 서비스를 향상시키기 위한 노력이 이루어지고 있다.
또한 데이터 서비스를 제공함에 있어 보다 중요한 요소는 데이터를 안전하게 전송하는 방법이 필요하다. 이를 위해 이동통신 시스템에서는 특정한 방법 예를 들어 터보 부호와 같은 부호화 방법을 통해 데이터를 전송하도록 하고 있다. 이러한 방법을 통해 데이터를 전송하는 방식은 대체로 H-ARQ 방식을 이용한다. 즉, 송신기가 데이터를 전송하면, 수신기에서 이를 수신하여 복호한다. 그리고 상기 복호된 결과가 불량하면, 즉 CRC 검사를 수행한 결과가 bad인 경우 수신기를 송신기로 재전송을 요구한다. 이에 따라 송신기는 한번 전송했던 데이터를 그대로 또는 다른 형태의 데이터를 전송하도록 하고 있다. 이러한 방식은 이동통신 시스템에서 일반적으로 사용되고 있는 방식이다.
그런데, 앞에서 상술한 방송 서비스의 경우에는 단방향 서비스이며, 실시간성이 매우 높은 서비스이다. 따라서 수신기는 송신기가 전송한 데이터를 수신하고 수신된 데이터에 오류가 발생하여 재전송을 요구할 수 없다. 왜냐하면, 이와 같은 방식으로 방송 서비스를 제공할 경우 다수의 단말들에게 서로 다른 채널 자원을 할당하여 전송해야 하는 문제가 발생하기 때문이다. 따라서 방송 서비스의 경우에는 다른 서비스보다 안전한 데이터 전송이 요구된다. 그러나, 이는 단지 방송 서비스에만 국한되는 것은 아니며 다른 데이터 서비스에서도 고속 데이터를 계속하여 재전송하는 것은 효율이 저하된다는 문제가 있다.
그러면 이하에서 현재 이동통신 시스템에서 데이터를 송신하기 위한 방법을 구체적으로 살펴보기로 한다.
도 1은 CDMA 이동통신 시스템에서 전송할 정보를 부호화 및 인터리빙하여 전송할 부호화 심볼로 구성하는 경우를 설명하기 위한 개념도이다. 이하 도 1을 참조하여 CDMA 이동통신 시스템에서 전송할 정보를 부호화 및 인터리빙하여 전송할 부호화 심볼로 구성하는 경우에 대하여 살펴보기로 한다.
전송할 정보(Information)는 터보 부호기(100)로 입력되어 부호화된다. 상기 터보 부호기(100)는 CDMA 시스템에서는 부호율 R=1/5의 값을 사용한다. 이와 같이 부호화가 이루어질 때, 터보 부호기(100)의 내부에 구비된 구성 부호기들은 정보를 이용하여 패리티 정보 쌍을 출력하여 리던던시를 구성한다. 즉, 정보(systematic bits)가 그대로 출력되는 부호화된 정보 U(111)와 제1패리티 쌍의 심볼들 V0/V0'(112)과 제2패리티 심볼들 V1/V1'(113)을 출력한다. 상기한 바와 같이 출력하는 것을 다시 살펴보면, 하나의 비트가 입력되면 정보 심볼 하나와 리던던시 4개가 출력된다. 따라서 부호율 1/5을 만족한다. 따라서 상기 각 패리티 쌍의 심볼들(112, 113)은 상기 부호화된 정보 심볼들 U(111)의 2배의 크기를 가진다. 상기 정보 심볼들 U(111)는 제1블록 인터리버(121)로 입력되며, 제1패리티 쌍의 심볼들(112)은 제2블록 인터리버(122)로 입력되고, 제2패리티 쌍의 심볼들(113)은 제3블 록 인터리버(123)로 입력된다. 상술한 바와 같이 각 인터리버들로 입력되는 심볼들의 크기가 다르기 때문에 제2인터리버(122)와 제3인터리버(123)는 제1인터리버(121)의 2배의 크기를 가지게 된다.
상기 각 인터리버들(121, 122, 123)은 수신된 심볼들을 인터리빙하여 각각 출력한다. 이와 같이 출력된 심볼들은 직렬 결합기(130)로 입력된다. 상기 직렬 결합기(130)는 블록 인터리버들(121, 122, 123)의 직렬로 결합하여 출력한다. 이와 같이 직렬로 결합되어 출력된 심볼들은 참조부호 131, 132, 133과 같이 구성된다.
상기한 바와 같이 각각 독립적으로 인터리빙된 심볼들이 직렬 결합된 정보들은 전송할 타임 슬롯 및 전송 크기에 따라 초기 전송 서브 패킷(1st tx subpacket)(141)과 1차 재전송 서브 패킷(2nd tx subpacket)(142) 및 2차 재전송 서브 패킷(3rd tx subpacket)(143)으로 구분되며, 각각은 초기 전송, 1차 재전송 및 2차 재전송에 사용된다. 즉, 초기 전송에서 전송되는 서브 패킷의 구성을 살펴보면, 부호화되어 인터리빙된 심볼들 U(131)와 부호화되어 인터리빙된 제1패리티 쌍의 심볼들 V0/V0'(112)의 일부가 포함된다. 따라서 인터리빙을 무시하고 전송되는 심볼들의 종류로만 살펴보면, 부호화된 정보 심볼들과 리던던시를 구성하는 제1패리티 쌍의 심볼들(132)의 일부가 전송되는 것이다. 또한 1차 재전송에서는 리던던시를 구성하는 제1패리티 쌍의 심볼들(132)의 일부만이 전송되며, 3차 재전송 시에는 리던던시를 구성하는 제1패리티 쌍의 심볼들(132)의 일부와 제2패리티 쌍의 심볼들(133)의 일부가 전송된다.
그러면 다음으로 인터리빙이 이루어지는 과정에 대하여 살펴보기로 한다.
도 2a 내지 도 2c는 일반적인 CDMA 시스템에서 인터리빙이 이루어지는 과정을 설명하기 위한 도면이다. 이하 도 2a 내지 도 2c를 참조하여 일반적인 CDMA 시스템에서 인터리빙이 이루어지는 과정에 대하여 살펴보기로 한다.
상기 도 2a는 블록 인터리버로 입력되는 데이터의 입력 순서를 도시한 도면이다. 상기 도 2a에 도시한 바와 같이 입력되는 전체 심볼의 크기가 결정되면, 인터리버들은 각각 입력 심볼을 수신하기 위해 하기 <수학식 1>과 같이 입력 심볼의 크기를 결정한다.
인터리빙되는 부호화 심볼의 크기 = R X 2M
상기 <수학식 1>에서 블록의 가로 크기가 2M으로 표시되며, 세로 크기는 R로 결정된다. 즉, 상기 <수학식 1>에 도시한 바와 같이 가로의 크기는 항상 2의 지수승이 되며, 2의 지수승이 최대가 되도록 하여 R 값을 결정한다.
예를 들어 부호화된 정보 U(111)의 크기 N이 3072인 경우 2의 지수승으로 표현되는 값들 중 최대 값은 210이다. 따라서 R의 값은 3의 값을 가진다. 즉, 상기 <수학식 1>에 맞춰 표현하면, 입력 정보가 3072의 크기인 경우 제1블록 인터리버(121)는 3 X 210의 크기를 가진다.
또한 상기 터보 부호기(100)로부터 출력된 제1패리티 쌍의 심볼들(112)과 제2패리티 쌍의 심볼들(113)은 부호화된 정보 U(111)의 2배의 크기를 가지므로, 제2 블록 인터리버(122)와 제3블록 인터리버(123)는 상기 <수학식 1>에 맞춰 고려할 때, 3 X 211으로 표현된다. 즉, R의 값은 3이고, M의 값은 11로 결정된다.
이러한 크기를 가지는 경우에 입력 순서는 상기 도 2a에 도시한 바와 같다. 이를 좀 더 상세히 설명하면, 행과 열로 구분할 때, 행의 숫자는 R개이며, 열의 숫자는 2M개이다. 따라서 R개의 첫 번째 열부터 좌에서 우측으로 부호화된 심볼들을 입력하고, 상기 첫 번째 열을 모두 부호화된 심볼들로 채운 이후에 다음 열을 좌에서 우측으로 부호화 심볼들을 입력하도록 한다. 이러한 방법은 R개의 열이 모두 심볼들로 채워질때까지 이루어진다.
상술한 바와 같이 입력 심볼들을 채운 후에 블록 인터리버는 비트 역상순(Bit Reverse Order : BRO)으로 열의 위치를 변경한다. 이를 도 2b를 참조하여 살펴보기로 한다. 도 2b는 블록 인터리버에서 비트 역상순에 의해 열 위치를 결정하는 과정을 설명하는 도면이다.
상기 비트 역상순을 수행하는 과정은 하기와 같은 방법으로 이루어진다.
1. 십진수로 표현되는 열의 순서를 M의 이진수로 변환한다.
2. 상기 변환된 이진수의 배열을 거꾸로 배열한다.
3. 상기 거꾸로 배열된 이진수를 다시 십진수로 재변환한다.
4. 상기 십진수로 재변환된 위치로 해당 열의 모든 심볼들을 이동한다.
상기한 과정을 통해 비트 역상순이 이루어진다. 그러면 상기한 과정을 실 예를 들어 살펴보기로 한다. 이때, M = 11인 경우로 가정한다. 이러한 경우에 최초 열의 위치가 3번째라면, 이진수로 표현하면, '00000000011'이 된다. 그러면 상기 이진수의 배열을 거꾸로 배열하면, '11000000000'과 같이 변경되며, 상기 거꾸로 배열된 값을 다시 십진수로 재변환하면 1536이 된다. 따라서 3번째 열의 모든 심볼들을 그대로 1536번째 열로 이동시킨다. 반대로 반대로 1536번째 열은 3번째 열로 이동시키게 된다. 이러한 과정은 도 2b에 도시한 바와 같이 BRO(1)은 (2M)/2이 되고, BRO(2)는 (2M)/4, …과 같이 표현된다.
이와 같이 블록 인터리버에서 비트 역상순에 의거하여 열의 위치가 변경되면 해당하는 심볼들을 출력한다. 그러면 도 2c를 참조하여 비트 역상순이 완료된 심볼들의 출력 순서에 대하여 살펴보기로 한다. 도 2c는 비트 역상순에 의거하여 열 위치가 변환된 후 블록 인터리버에서 심볼의 출력(독취) 순서를 설명하기 위한 도면이다.
상기 도 2c에 도시한 바와 같이 심볼의 출력은 열 단위로 이루어진다. 즉, 심볼을 저장할 때는 행 단위로 심볼이 기록되지만, 심볼을 출력할 때는 열 단위로 심볼을 출력한다. 상기 열들을 좌측부터 0번째 열, 1번째 열, 2번째 열, … 의 순서로 구분할 때, 좌측 열의 가장 윗 부분부터 아래로 출력된다. 즉, 참조부호 220, 221, 222, 223, …, 224, 225의 순서로 데이터를 출력하게 된다.
상술한 바와 같이 부호화 심볼들이 인터리빙되어 직렬 결합된 심볼들은 변조 방법에 따라 변조되어 전송된다. 상기 변조 방법은 QPSK, 8-ary PSK, 16-QAM 등의 변조 방법이 있다. 그런데 상기 변조된 변조 심볼들은 변조 방식에 따라 각 심볼들 간 신뢰도가 서로 다르게 된다. 즉, 실제 8-ary PSK나 16-QAM의 경우는 변조 시에 각 비트에 신뢰도가 다르다. 이를 예를 들어 살펴보면 하기와 같다. 인터리빙된 3개의 비트 'b0, b1, b2'를 하나의 8-ary PSK 심볼에 맵핑하여 송신하였을 때, 'b0, b1, b2'의 신뢰도가 모두 동일하지 않다. 즉 b2가 b0과 b1에 비하여 신뢰도가 낮게다. 또한 인터리빙된 4개의 비트 'b0, b1, b2 b3'를 하나의 16-QAM 심볼에 맵핑하여 송신하였을 때, 'b0, b1, b2 b3'의 심볼들 중에서 b1과 b3가 b0과 b2에 비하여 신뢰도가 낮다. 이러한 신뢰도는 매핑 방법에 의해 결정된다. 따라서 신뢰도가 낮은 비트의 위치는 맵핑 방법을 달리하여 개선할 수 있으나, 반면에 매핑 방법이 달라질 경우 다른 위치의 심볼들이 다시 신뢰도가 낮아진다. 즉, 언제나 맵핑된 일부 비트들은 다른 비트들에 비해 전송 신뢰도가 작은 상황이 발생한다.
이러한 경우 현재까지 제안된 인터리버로 인터리빙되어 출력된 비트를 변조 심볼(modulation symbol)에 맵핑하면 인접한 비트들이 같은 신뢰도(reliability)를 가지는 위치에 맵핑되게 된다. 따라서 일정 구간에서는 비트들이 높은 신뢰도를 가지는 위치에 맵핑되고, 또 다른 일정 구간에서는 비트들이 낮은 신뢰도를 가지는 위치에 맵핑된다. 이는 채널 부호화의 성능에 악영향을 미치게 된다. 따라서 고속 데이터 전송에서 이와 같이 신뢰도가 낮은 심볼들로 인하여 빈번한 재전송이 요구될 수 있다. 만일 방송 서비스와 같이 재전송이 불가능한 서비스의 경우에는 서비스 품질을 저하시키는 문제가 된다. 뿐만 아니라 많은 재전송이 발생하면, 서비스 제공의 지연 뿐 아니라 채널 자원의 활용도에서도 문제가 발생할 수 있다.
따라서 본 발명의 목적은 변조 방식을 고려한 인터리빙 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 심볼들의 평균 신뢰도를 향상시킬 수 있는 방법을 제공함에 있다.
본 발명의 또 다른 목적은 변조 방식에서 비트의 맵핑 위치에 따라 변조된 비트의 신뢰도가 다른 것을 고려하여 채널 부호화 성능을 향상시킬 수 있는 인터리빙 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 심볼을 보다 안전하게 전송하여 재전송 요구를 줄일 수 있는 인터리빙 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 심볼의 신뢰도를 향상시켜 서비스의 품질을 개선할 수 있는 인터리빙 장치 및 방법을 제공함에 있다.
상기한 목적들을 달성하기 위한 본 발명의 방법은, 전송할 정보를 부호화된 정보 심볼과 적어도 하나의 패리티 쌍의 심볼들로 부호화하여 출력하는 터보 보호기를 사용하며, 2차 이상의 변조 차수를 이용하여 부호화된 심볼을 매핑하여 전송하는 통신 시스템에서 상기 터보 보호기에 의해 부호화된 심볼들을 인터리빙 하기 위한 방법으로서, 상기 변조 차수를 x, y, z축의 3차원 상에서 z축의 크기(R)로 하고, 상기 z축의 크기(R)를 고려하여 상기 전송할 정보의 물리 패킷 크기가 2의 M승의 최대 값을 가질 수 있도록 x 축의 크기를 결정하고, 상기 물리 패킷 크기를 만족하도록 y 축의 크기(K)를 결정하는 과정과, 상기 부호화된 심볼들을 순차적으로 수신하고 상기 수신된 심볼들을 상기 x-y-z의 크기에 따라 입체적으로 저장하는 과정을 포함하고,
상기 저장 과정은,
최초 심볼을 저장한 x-y 평면을 선택하는 제1단계와, 상기 결정된 3차원 배열에서 x-z 평면에서 최초 심볼을 저장할 특정 위치에서부터 y축 방향으로 순차적으로 저장하는 제2단계와, 상기 y축 방향의 저장이 완료되면, 상기 특정 위치에서부터 x축의 방향으로 이동하여 상기 제2단계를 반복하는 제3단계와, 상기 선택된 x-y 평면에 대한 저장이 완료되면, z축 방향으로 다음 x-y 평면을 선택하여 상기 2단계 내지 상기 3단계를 반복 수행하는 제4단계를 포함하고,
상기 터보 부호기로부터 수신된 부호화 심볼의 저장이 완료되면, 각 x-z 평면마다 상기 부호화된 정보 심볼과 상기 패리티 쌍의 심볼들을 구분하여 독립적으로 순환 이동을 수행하는 과정을 포함하며,
상기 순환 이동 방법 과정은,
상기 전송될 심볼의 크기 및 전송 횟수에 따라 전송할 부호화된 정보 심볼들에 대하여 "(K×c + k) mod R"로 순환 이동시키는 제1단계와, 상기 전송될 심볼의 나머지 크기를 구성하는 리던던시 심볼의 수를 "floor{(K×c + k)/D} mod R"로 결정하는 제2단계를 포함하며, 상기 전송될 심볼의 나머지 크기를 구성하는 리던던시 심볼의 수와 상기 패리티 쌍의 심볼 수의 비가 1/n(여기서 n은 1, 2, 4, 8, 16, …)의 값을 만족하는 경우 상기 D 값을 "K x n"의 값으로 설정하고, 상기 전송할 리던던시 심볼의 수와 상기 패리티 쌍의 심볼의 수의 비가 1/n을 만족하지 못하는 경 우 상기 D 값을 1/n에 가장 근접한 값에 K를 곱한 값으로 설정하며,
상기 독립적으로 순환 이동이 완료되면 y-z 축의 평면들을 열로 구분하고 상기 열들의 비트 역상순하여 재배열하는 과정과, 상기 x-y-z 축으로 재배열된 심볼들을 전송할 심볼의 수에 따라 출력할 x-z 평면을 선택하고, 상기 선택된 x-z 평면상에서 y-z의 열들로 구분하고, 상기 구분된 열들을 z축 방향으로 순차적으로 출력하는 과정을 포함한다.
상기한 목적들을 달성하기 위한 본 발명의 장치는, 전송할 정보를 부호화된 정보 심볼과 적어도 하나의 패리티 쌍의 심볼들로 부호화하여 출력하는 터보 보호기를 사용하며, 2차 이상의 변조 차수를 이용하여 부호화된 심볼을 매핑하여 전송하는 통신 시스템에서 상기 터보 보호기에 의해 부호화된 심볼들을 인터리빙 하기 위한 장치로서,
상기 전송할 물리 패킷의 크기와 송신 슬롯의 수 및 변조 차수 등을 수신하고, 상기 변조 차수를 x, y, z축의 3차원 상에서 z축의 크기(R)로 하고, 상기 z축의 크기(R)를 고려하여 상기 전송할 정보의 물리 패킷 크기가 2의 M승의 최대 값을 가질 수 있도록 x 축의 크기를 결정하고, 상기 물리 패킷 크기를 만족하도록 y 축의 크기(K)를 결정하며, 3차원 인터리버로 심볼의 저장, 인터리빙 및 출력을 제어하는 인터리버 제어기와,
상기 부호화된 심볼들을 순차적으로 수신하고 상기 인터리버 제어기의 제어에 의해 상기 수신된 심볼들을 상기 x-y-z의 크기에 따라 최초 심볼을 저장할 x-y 평면을 선택하고, 상기 결정된 3차원 배열에서 x-z 평면에서 최초 심볼을 저장할 특정 위치에서부터 y축 방향으로 순차적으로 저장하며, 상기 y축 방향의 저장이 완료되면, 상기 특정 위치에서부터 x축의 방향으로 이동하여 상기 수신된 심볼들을 다시 순차적으로 저장하고, 상기 선택된 x-y 평면에 대한 저장이 완료되면, z축 방향으로 다음 x-y 평면을 선택하여 상기한 과정을 통해 상기 x-y-z의 크기를 가지는 입체 공간에 수신된 심볼들을 모두 저장한 후,
각 x-z 평면마다 상기 부호화된 정보 심볼과 상기 패리티 쌍의 심볼들을 구분하고 상기 전송될 심볼의 크기 및 전송 횟수에 따라 전송할 부호화된 정보 심볼들에 대하여 "(K×c + k) mod R"로 순환 이동시키며, 상기 전송될 심볼의 나머지 크기를 구성하는 리던던시 심볼의 수와 상기 패리티 쌍의 심볼 수의 비가 1/n(여기서 n은 1, 2, 4, 8, 16, …)의 값을 만족하는 경우와 그렇지 않은 경우로 구분하고, 상기 전송할 리던던시 심볼의 수와 상기 패리티 쌍의 심볼의 수의 비가 1/n을 만족하는 경우 순환 이동의 패턴을 "floor{(K×c + k)/D} mod R"로 결정하며 상기 D 값을 K x n의 값으로 설정하며, 상기 전송할 리던던시 심볼의 수와 상기 패리티 쌍의 심볼의 수의 비가 1/n을 만족하지 못하는 경우 상기 D 값을 1/n에 가장 근접한 값에 K를 곱한 값으로 설정하여 각 평면마다 독립적으로 순환 이동을 수행하고,
상기 독립적으로 순환 이동이 완료되면 y-z 축의 평면들을 열로 구분하고 상기 열들의 비트 역상순하여 재배열한 후 상기 x-y-z 축으로 재배열된 심볼들을 전송할 심볼의 수에 따라 출력할 x-z 평면을 선택하고, 상기 선택된 x-z 평면상에서 y-z의 열들로 구분하고, 상기 구분된 열들을 z축 방향으로 순차적으로 상기 변조기로 출력하는 3차원 인터리버를 포함한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 3은 본 발명에 따른 3차원 인터리빙을 설명하기 위한 부호화 심볼의 저장 구성도이다. 이하 도 3을 참조하여 본 발명에 따른 3차원 인터리빙을 위한 부호화 심볼 구성 방법에 대하여 살펴보기로 한다.
본 발명에 따른 3차원 인터리빙을 수행할 때, 부호화 심볼들의 크기는 x 축과 z 축 및 y축의 크기만큼 분포하게 된다. 따라서 인터리빙되는 전체 부호화 심볼들의 크기는 하기 <수학식 2>와 같이 표현된다.
인터리빙되는 부호화 심볼의 크기 = 2M X R X K
상기 <수학식 2>에서 가로 크기(열의 개수 : x 축을 구성하는 심볼의 개수)는 2M이고, 세로 크기(행의 개수 : z 축을 구성하는 심볼의 개수)는 R개이다. 또한 3차원 인터리빙을 위해 본 발명에서는 높이(y 축을 구성하는 심볼의 개수)를 k로 하였다. 상기 <수학식 2>에서 R의 값은 변조 차수(modulation order)로 설정한다. 즉, 종래 기술에서는 2의 지수승을 최대로 한 후, 부호화 심볼의 크기를 표현하기 위해 R의 값을 두었던 점과 대비된다. 따라서 R은 8-ary PSK의 경우는 3의 값을 가지며, 16-QAM의 경우는 4의 값을 가진다.
이와 같이 R을 변조 차수로 결정하면, 인터리빙될 심볼의 크기를 맞추기 위해 3차원 블록의 높이가 결정되는 것이다. 즉, 열의 개수는 2M을 유지하며, K 값을 이용하여 전체 심볼의 개수를 맞출 수 있다. 예를 들면 블록 크기가 3072일 때 16-QAM을 사용한다고 가정하면 R 값은 4가 되고, K 값은 3이 되며, M의 값은 8로 설정할 수 있다. 이러한 경우 종래 기술에서 설명한 2차원 블록 인터리버는 M의 값이 4일 때 열의 개수가 768(=3072/4)이 되어야 한다. 그런데 상기 768의 값은 2M으로 표현될 수 없는 문제가 있다.
상기 도 3에서 참조부호 311, 321, 331, 341, 351, 361은 각각 인터리빙될 심볼이 저장되는 위치 또는 인터리빙될 심볼을 지칭한다. 즉, 상기 <수학식 2>를 구성하는 내부 블록의 육면체들은 각각 하나의 심볼 저장 위치 또는 심볼들이 된다. 그러면 이와 같이 3차원 인터리빙을 위해 심볼들이 저장되고, 인터리빙이 이루어지는 과정을 도 4a 내지 도 4d를 참조하여 살펴보기로 한다.
도 4a는 본 발명의 실시 예에 따라 3차원 인터리빙을 위해 심볼들이 저장되는 순서를 설명하기 위한 도면이다. 이하 도 4a를 참조하여 본 발명에 따른 3차원 인터리빙을 수행하기 위해 심볼들이 저장되는 과정에 대하여 상세히 설명하기로 한다.
상기 도 4a는 도 3의 전체 블록들 중 z 축의 가장 첫 번째 행만을 선택하여 도시하였다. 또한 상기 첫 번째 행을 도시함에 있어서 3차원 블록이므로 y 축을 함께 도시한 것이다. 상기 도 4a에서 심볼이 입력되는 순서는 먼저 z 축의 첫 번째 행에서 y축의 아래 방향으로 입력된다. 즉, 최초 심볼은 참조부호 311의 위치에 저장되고 그 다음 심볼은 참조부호 312의 위치에 저장되며, 그 다음 심볼은 참조부호 313의 순으로 저장이 이루어진다. 따라서 상기 y축의 맨 마지막 심볼의 경우 참조부호 314의 위치에 저장된다. 이러한 순서로 심볼이 저장되는 것을 도 4a에서는 참조부호 411의 화살표로 도시하였다. 상기 참조부호 411의 화살표 방향으로 심볼들을 저장한 후 다음 위치인 참조부호 321의 위치에서 심볼들을 저장한다. 이때에도 참조부호 412의 방향으로 심볼들이 저장된다. 마찬가지로 참조부호 412의 방향에서 모든 심볼들이 저장되면 그 다음 위치인 참조부호 331의 위치부터 참조부호 413의 화살표 방향으로 심볼이 저장된다.
이와 같이 참조부호 411, 412, 413과 같은 방향으로 저장될 때, 상기 x-z 평면에서 살펴보면, 심볼의 저장 방향은 굵은 점선으로 표시한 참조부호 421과 같은 방향으로 이동하는 것이다. 따라서 높이가 K이므로 하나의 심볼이 선택되면, K개의 심볼이 y축 방향으로 위에서 아래로 쌓이게 되며, 이러한 과정은 x 축의 개수인 2M개만큼 이루어진다. 상기한 바와 같이 x-y 평면들 중 하나의 평면에서 심볼 저장이 완료되면, 그 다음 평면에 대하여 심볼이 저장된다. 상기 x-y 평면의 순서를 도 3을 참조하여 설명하면, 참조부호 311, 321, 331의 평면이 먼저 선택되고, 그 다음으로 그 앞에 위치한 참조부호 341, 351, 361의 심볼을 가지는 x-y 축 평면이 선택된다. 이러한 방법을 통해 데이터가 3차원 평면을 모두 채울 때까지 계속하여 저장된다.
그런 후 본 발명에 따라 3차원 심볼들의 순환 이동(cyclic shift) 동작이 이루어진다. 도 4b는 본 발명에 따른 3차원 인터리빙을 위한 심볼들의 순환 이동을 설명하기 위한 도면이다. 이하 도 4b를 참조하여 본 발명에 따른 순환 이동에 대하여 살펴보기로 한다.
본 발명에서 순환 이동을 사용하는 이유에 대하여는 후술되는 심볼의 출력 이후에 상세히 설명하기로 한다. 먼저 여기서는 심볼의 순환 이동 동작에 대하여 살펴보기로 한다. 상기 순환 이동이 이루어지는 과정은 도 4b에 도시한 바와 같이 각 열의 순서를 정하고, 각 열마다 순환 이동을 수행하는 것이다. 본 발명에서는 R에 대한 모듈러 연산을 수행하여 순환 이동을 수행한다. 즉, R이 4인 경우라면 0번째 열부터 3번째 열까지의 반복 순서가 계속하여 변경된다. 또한 본 발명에서는 부호화된 정보 심볼들(111)의 순환 이동 패턴과 제1패리티 쌍의 심볼들(112) 또는 제2패리티 쌍의 심볼들(113)의 순환 이동 패턴을 다르게 한다. 이와 같이 부호화된 정보 심볼들의 순환 이동 패턴은 하기 <수학식 3>과 같이 정의되며, 제1패리티 쌍의 심볼들(112) 및 제2패리티 쌍의 심볼들(113)의 순환 이동 패턴은 하기 <수학식 4>와 같이 정의된다.
부호화된 정보 심볼들의 순환 이동 패턴 = (K X c + k) mod R
패리티 쌍의 심볼들의 순환 이동 패턴 = floor{(K X c + k)/D} mod R
상기 <수학식 4>에서 K는 앞에서 살핀 바와 같이 3차원 심볼의 전체 높이에 대응하는 값이며, R은 변조 차수로 결정되는 값이다. 또한 c는 열 인덱스이다. 즉, 열의 해당하는 순서를 나타낸다. 그리고 k는 y 축으로 x-z 평면의 해당하는 인덱스 값이다. 따라서 패리티 쌍의 심볼들에 대한 순환 이동 패턴을 결정하기 위해서는 D 값을 결정해야 한다. 즉, D 값은 순환 이동의 패턴을 결정하기 위한 변수가 된다. 또한 상기 <수학식 3> 또는 <수학식 4>에 의거하여 순환 이동을 수행하는 방법은 참조부호 431 내지 434에 도시한 바와 같이 z축의 순환 이동이 이루어진다. 즉, 순환 이동 값이 0인 경우 순환 이동을 수행하지 않지만, 순환 이동 값이 1인 경우 각 심볼들은 하나씩 아래로 밀리며, 맨 아래의 심볼이 가장 위의 심볼로 이동한다. 그리고 순환 이동 값이 3인 경우라면 맨 위의 심볼부터 2심볼 아래의 위치로 이동하며, 3번째 심볼이 첫 번째 위치로 그리고 4번째 심볼이 2번째 심볼의 위치로 이동한다. 또한 상기 심볼의 이동은 y축에서 해당하는 x-z 평면에서만 이루어지고, 다른 x-z 평면에서는 상기 <수학식 3> 또는 <수학식 4>에 의거하여 이루어진다는 점에 유의해야 한다. 이상에서 상술한 방법에 따라 순환 이동이 이루어진다. 이와 같이 순환 이동을 수행하는 이유에 대한 상세한 설명은 변조 심볼의 출력을 설명한 이후에 다시 살피기로 한다.
다음으로 상술한 바와 같이 순환 이동이 이루어진 심볼의 비트 역상순 이동이 이루어진다. 도 4c는 본 발명에 따른 3차원 인터리빙 심볼의 비트 역상순 이동을 설명하기 위한 도면이다. 이하 도 4c를 참조하여 본 발명에 따른 3차원 인터리빙 심볼의 비트 역상순 이동 방법에 대하여 살펴보기로 한다.
종래 기술에서 설명한 바와 같이 비트 역상순은 하기의 4가지 과정을 통해 수행된다.
1. 십진수로 표현되는 열의 순서를 M의 이진수로 변환한다.
2. 상기 변환된 이진수의 배열을 거꾸로 배열한다.
3. 상기 거꾸로 배열된 이진수를 다시 십진수로 재변환한다.
4. 상기 십진수로 재변환된 위치로 해당 열의 모든 심볼들을 이동한다.
상기 첫 번째 과정에서 열의 순서를 결정하는 것은 도 4c에 도시한 바와 같이 열들이 정해진다. 즉, y-z 평면들로 구분할 때, 각 평면들을 이루는 심볼들의 집합이 하나의 열이 된다. 그리고 상기 열들은 첫 번째 과정과 같이 십진수로 표현되는 열의 순서를 2진수로 변경한다. 그런 후 두 번째 과정에서 이진수의 배열을 거꾸로 배열하고, 세 번째 과정에서 거꾸로 배열된 이진수를 다시 십진수로 재변환한다. 그러면 재변환된 열의 번호가 현재 위치에서 이동할 열의 번호가 되므로 상기 열들을 해당하는 위치로 옮기는 동작을 수행하는 것이다. 상기 도 4c에서 참조부호 451, 452, 453은 이와 같이 각 열들의 이동을 화살표로 설명하기 위한 것이다.
상술한 바와 같이 비트 역상순에 의거하여 열들의 재배치가 완료되면, 심볼 들을 출력한다. 상기 심볼들의 출력 순서를 도 4d를 참조하여 살펴보기로 한다. 도 4d는 본 발명에 따른 3차원 인터리빙 심볼들의 출력 순서를 설명하기 위한 도면이다.
상기 도 4를 참조하여 살펴보면, 심볼들의 출력이 이루어지는 큰 순서는 하기와 같은 3개의 과정으로 이루어진다.
1. 출력되지 않은 최상위 x-z 평면을 선택한다.
2. 선택된 평면의 첫 번째 열부터 순차적으로 출력한다.
3. 해당 열의 심볼을 출력할 때 가장 위쪽 행의 심볼부터 출력한다.
4. 선택된 x-z 평면의 심볼이 모두 출력되면 다음의 최상의 x-z 평면을 선택한다.
상기 도 4d의 참조부호 461 내지 464의 화살표는 3번째 과정을 의미하며, 참조부호 470의 화살표는 상기 2번째 과정을 의미한다. 그리고 참조부호 480의 화살표는 4번째 과정을 의미한다.
그러면 상술한 바와 같이 심볼이 출력될 때, 순환 이동을 수행하는 이유와 그 동작에 대하여 다시 상세히 살펴보기로 한다. 앞에서 상술한 바와 같이 3차원 인터리빙 블록에서 z 축인 행의 크기를 변조 차수로 설정함으로써, 인터리버에서 출력된 각 열은 하나의 변조 심볼에 매핑된다. 이를 16-QAM 변조 방식을 사용하는 경우로 예를 들어 설명하면 하기와 같다. 16QAM을 사용하면, 변조 차수는 4차이므로 R은 4의 값을 가진다. 따라서 인터리버에서 출력되는 한 열에 위치한 4개의 심볼을 하나의 비트로 표현할 때, 각 비트를 s0, s1, s2, s3로 가정한다. 그러면 상 기 4개의 비트들은 하나의 16-QAM 변조 심볼에 매핑되는 것이다.
그런데, 전술한 바와 같이 16-QAM 변조 심볼에서 s1과 s3는 신뢰도(reliability)가 높은 위치이고, s0와 s2는 신뢰도가 낮은 위치이다. 따라서 본 발명에서와 같이 순환 이동 과정 없이 인터리버를 구성하게 되면 s0가 있는 첫 번째 행과 s2가 있는 세 번째 행은 항상 신뢰도가 낮은 위치로 변조 심볼에 매핑되게 된다. 또한 인터리버에 부호화 심볼이 입력될 때, 맨 위의 x-z 평면에서부터 입력되므로 같은 y 축으로 동일한 위치의 심볼들은 항상 신뢰도가 낮은 위치로 매핑되는 결과를 가진다. 반면에 상기 s1과 s3가 있는 두 번째 네 번째 행은 항상 신뢰도가 높게 된다.
따라서 일반적으로 인터리빙 후에 수행하게 되는 채널 부호화의 특성상 심볼들의 신뢰도가 고루 섞여 있어야 좋은 성능을 낼 수 있다는 성질에 반하는 것이다. 그러므로 본 발명에서는 순환 이동 방법을 채택하여 이러한 문제를 해소할 수 있다.
그러면 본 발명에 따른 순환 이동 과정에 대하여 좀 더 상세히 살펴보기로 한다. 본 발명에 따른 순환 이동 과정은 한 열에 존재하는 4개 서로 다른 부호화 심볼의 위치를 순환적으로 이동시키는 것이다. 앞에서 가정한 예를 이용하여 살펴보면 하기와 같다. 16 QAM 변조 방식을 사용하면, 하나의 변조 심볼에 매핑되는 부호화 심볼들은 s0, s1, s2, s3이 되며, 이들은 모두 같은 열에 존재하는 부호화 심볼들이다. 따라서 상기한 부호화 심볼들에 대하여 순환 이동 값 즉, 순환 이동 횟수가 0번이면, 순환 이동에 의한 부호화 심볼의 위치 또는 출력 순서는 s0, s1, s2, s3과 같이 그대로 유지된다. 그리고 순환 이동 값 즉, 순환 이동 횟수가 1번이면, 순환 이동에 의한 부호화 심볼의 위치 또는 출력 순서는 s3, s0, s1, s2와 같은 순서가 된다. 즉, 첫 번째 행에 s3가 위치하게 되며, 네 번째 행에 s2가 위치하게 되는 것이다. 마찬가지로 순환 이동 횟수가 2번이면, 순환 이동에 의한 부호화 심볼의 위치 또는 출력 순서는 s2, s3, s0, s1과 같고, 순환 이동 횟수가 3번이면 순환 이동에 의한 부호화 심볼의 위치 또는 출력 순서는 s1, s2, s3, s0과 같게 된다.
이러한 방법으로 각 열을 각기 다른 횟수로 순환 이동함으로써, 같은 행에 위치했던 비트들이 다른 행으로 이동하게 된다. 이는 변조 심볼의 매핑 시 신뢰도가 다른 위치로 매핑됨을 의미한다.
앞에서 상술한 <수학식 3>에서 설명한 바와 같이 부호화된 정보 심볼들(111)의 인터리빙에서 모듈러 연산 시에 R을 이용하여 모듈러 연산을 수행하는 것은 R의 값이 4일 경우 4번 순환 이동을 수행한 것은 0번 순환 이동한 것과 동일한 값을 가지기 때문이다. R값으로 모듈러 연산을 수행하는 이유는 <수학식 4>에서도 동일한 이유를 가진다. 즉, 부호화된 정보 심볼들(111)의 인터리빙에서는 상술한 <수학식 3>과 같이 y 축에 따른 레벨 인덱스와 x 축에 따른 열 인덱스에 따라 순환 이동을 수행한다.
다음으로 리던던시(Redundancy)에 해당하는 각 패리티 쌍의 심볼들(112, 113)의 순환 이동에 대하여 살펴보기로 한다. 상기 각 패리티 쌍의 부호화 심볼들(112, 113)에서는 앞에서 살핀 <수학식 3>과 달리 다른 변수인 D를 이용하며, "플 로우(floor) 함수"를 사용한다. 상기 플로우 함수는 하기 <수학식 5>와 같이 정의된다.
floor{x} = x보다 크지 않은 가장 큰 정수
상기 <수학식 5>와 같은 플로우 함수를 사용하는 이유는 전송되는 서브 패킷의 크기에 기인한다. 이를 상기 도 1을 참조하여 다시 살펴보기로 한다. 즉, 1 슬롯동안 전송되는 하나의 서브 패킷은 초기 전송과 1차 재전송 및 2차 재전송에서 서로 다른 내용의 심볼들로 구성된다. 즉, 초기 전송의 서브 패킷은 인터리빙된 부호화 정보 심볼들(131) 전체와 제1패리티 쌍의 심볼들(132) 중 일부가 전송된다. 즉, 리던던시 부분의 일부만이 전송되는 것이다. 이와 같이 인터리빙된 리던던시 중 앞의 일부만 전송되므로 역 인터리빙을 수행할 때, 연속된 심볼들의 사이사이에 일부 심볼들이 펑처링(puncturing)되어 전송하는 것과 동일한 결과를 가져온다.
따라서, 순차적으로 순환 이동 횟수를 0, 1, 2, 3, 0, 1, 2, 3… 과 같이 설정하면 중간 짝수 번째 비트들이 펑처링되었다고 가정했을 때 실재 전송되는 심볼은 1, 3, 5, 7, … 번째 심볼만 전송되어 순환 이동 횟수를 1, 3, 1, 3, …과 같이 설정한 셈이 된다. 이와 같이 순환 이동을 하면 앞서 언급한 바와 같이 인접한 심볼들이 변조 심볼로 변환될 때, 신뢰도가 같은 위치에 매핑된다. 결과적으로 일부 구간에서는 계속 좋은 신뢰도의 위치에서 매핑되어 전송되고, 다른 일부구간에서는 계속 좋지 않은 신뢰도의 위치에 매핑되어 전송되므로 채널 부호화의 성능 열화를 가져오게 된다.
즉, 하나의 패리티 쌍의 심볼들 즉, 하나의 리던던시 블록 중에서 1/2이 전송되고 1/2이 펑처링되는 경우, 순환 이동의 횟수를 "0, 0, 1, 1, 2, 2, 3, 3, …"과 같이 설정할 수 있다. 이와 같이 설정하면, 홀수 번째 심볼만 전송되어도 각 심볼의 순환 이동 횟수는 "0, 1, 2, 3, …"이 되어 인접한 비트간 신뢰도가 서로 다르게 된다. 이를 다시 풀어 설명하면, i번째 심볼이 신뢰도가 좋은 위치에 매핑되면, i+1번째 심볼은 신뢰도가 나쁜 위치에 매핑되어 전체적으로 신뢰도의 분포를 최대한 균일하게 하는 셈이 된다. 따라서 본 발명에서는 이를 만족시키기 위해 각 패리티 쌍의 심볼들에 대하여 순환 이동 횟수를 상기 <수학식 4>와 같이 설정한 것이다. 따라서 각 패리티 쌍의 심볼들의 전송되는 양에 따라 D의 값이 결정될 수 있으며, 1/2이 전송되는 경우라면, D 값은 2로 설정된다. 즉, <수학식 4>는 D 값만큼 이동(shift)의 횟수가 유지되는 특성을 가지게 하는 것이다.
그러므로 한 패리티 쌍의 심볼들 중 1/4이 전송되고 3/4이 펑처링되는 경우, 순환 이동의 횟수는 "0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, …"과 같이 설정할 수 있다. 결과적으로 심볼이 4 번째마다 한번씩 전송되어도 홀수 번째 심볼만 전송되어도 각 심볼의 순환 이동 횟수는 "0, 1, 2, 3, …"이 되어 인접한 심볼간 신뢰도가 다르게 된다. 따라서 이러한 경우에 D 값은 4로 설정된다.
그러면 이하에서 상기한 바와 같이 전송되는 리던던시의 양 즉, 한 쌍의 패리티 심볼들 중 전송되는 양에 따라 D 값을 설정하는 방법을 좀 더 구체적으로 살펴보기로 한다.
만일 이와 같이 한 쌍의 패리티 심볼들 중에서 1/n이 전송되고 (n-1)/n이 펑 처링되는 경우 D 값은 "K x n"으로 설정한다. 여기서 n 값은 "1, 2, 4, 8, 16, …"의 값을 가진다.
그런데, 상기 바와 같이 1/n의 심볼들만 전송하고, (n-1)/n이 펑처링되는 방법만으로 하나의 패리티 쌍의 심볼들이 전송되지 않는다. 즉, n의 값이 임의의 m의 값보다 크다고 할 때, 하나의 패리티 쌍의 심볼들 중 m/n의 심볼이 전송되고, (n-m)/n의 심볼이 펑처링되는 경우가 발생하기도 한다. 이를 예를 들어 살펴보면 하기와 같다. 하나의 패리티 쌍의 심볼들 중 7/16의 심볼들이 전송되고, 나머지 9/16의 심볼들이 펑처링되는 경우가 발생할 수 있다. 이와 같이 불규칙적인 전송 패턴을 보이면, 순환 이동을 위한 패턴을 결정하는 D 값을 구하기 어려운 점이 있다.
본 발명에서는 이와 같이 불규칙적인 전송 패턴을 가지는 경우, 순환 이동 패턴을 결정하는 D 값을 하나의 패리티 쌍의 심볼들 중 전송되는 패리티 심볼들의 비율보다 크면서 1/n에 가장 가까운 경우에 맞추어 D 값을 "K x n"으로 설정한다. 즉, 상술한 7/16의 경우는 1/n로 계산할 때 가장 가까운 값이 1/2의 값이므로, 하나의 패리티 쌍의 심볼들 중 1/2의 심볼이 전송될 때 사용하는 D 값을 7/16에서 사용할 D 값으로 결정한다. 이와 같이 결정하면, 실제로 7/16의 경우 D 값은 2가 된다. 이와 같이 결정하는 이유는 1/n의 형태가 가장 이상적인 형태이므로 이에 가장 근접한 값을 선택하는 것이 바람직하기 때문이다. 또한 1/n이 실제 전송되는 m/n의 값보다 커야 하는 이유는 나머지 심볼들이 더 펑처링된 것으로 가정할 수 있기 때문이다.
그러나, 상술한 방법과 달리 펑처링이 덜 된 것으로 가정할 수도 있다. 즉, m/n의 값이 1/n의 값보다 작으면서 가장 가까운 값을 선택하도록 할 수도 있다. 이와 같이 구성할 경우 펑처링이 1/n의 경우보다 덜 이루어진 것으로 가정할 수 있다. 따라서 상기한 예에서 살펴보면, 전송되는 크기고 7/16이라 가정하면, 7/16보다 작으면서 가장 가까운 1/n의 값은 1/4의 값이 될 수 있다. 따라서 이러한 경우에는 D 값은 "K x n = 1 x 4 = 4"로 설정할 수 있다. 즉, 하나의 패리티 쌍의 심볼들 중 1/4의 심볼이 전송되고 3/4의 심볼이 펑처링되는 것처럼 설명할 수 있다. 이러한 경우 보다 많이 전송되는 데이터는 펑처링이 덜 이루어진 것으로 이해될 수 있다.
또한 상기 2가지 방법을 병행하여 수행할 수도 있다. 즉, m/n의 값과 가장 근접한 1/n의 값을 선택하도록 할 수도 있다. 이러한 경우에 m/n의 값이 1/n의 값보다 큰 경우 펑처링이 덜 이루어진 것으로 가정하며, m/n의 값이 1/n의 값보다 작은 경우 펑처링이 더 이루어진 것으로 가정한다.
그러면 이하에서는 설명의 편의를 위해 상기한 방법들 중 하나의 방법을 채택하여 설명하기로 한다. 이하에서는 하나의 패리티 심볼들 중 일부가 불규칙하게 즉, 1/n의 형태로 전송되지 않을 때, m/n의 값을 결정함에 있어서 1/n의 값보다 크면서 가장 가까운 1/n의 경우에 K 값을 곱한 값으로 D 값을 설정하는 것으로 가정한다.
그러면 이와 같이 데이터를 전송할 때, CDMA 시스템 중 하나인 고속 패킷 데이터 전송 시스템인 HRPD(High Rate Packet Data) 시스템에서 서비스되는 데이터 율(data rate)과 패킷의 크기에 따른 규칙을 표로 도시하면 하기 <표 1>과 같이 도 시할 수 있다.
Figure 112005000402791-PAT00001
상기 <표 1>에 도시한 바와 같이 각 물리 패킷 크기에 따라 본 발명에 따른 인터리빙 변수들인 R, M, K, D 값이 설정된다. 이를 각 물리 패킷 크기별로 다시 살펴보기로 한다.
물리 패킷 크기(Physical packet size)가 2048의 경우 초기 전송에 전송되는 리던던시 심볼은 1792개이다. 이는 물리 패킷의 크기가 2048이므로, 하나의 패리티 쌍의 심볼들은 "2048 X 2 = 4096"이므로, 1792/4096의 값은 7/16이 된다. 즉, 하나의 패리티 쌍의 심볼들 중 7/16에 해당하는 리던던시만이 전송되는 것이다. 따라서 상기 리던던시의 열 번호는 "0, 2, 4, 6, 8, 10, 12, 16, 18, …"으로 짝수 번째 열만 전송되며, 매 8번째 짝수 열은 전송되지 않는다. 이렇게 불규칙적인 전송 패턴을 보이는 경우, 이동 패턴(shift pattern) D를 구하기 어렵다. 따라서 본 발명에서는 전송되지 않는 짝수열의 빈도가 낮으므로, 모든 짝수열이 전송되는 것으로 가정하면, 앞서 언급한 하나의 패리티 쌍의 심볼들 중 1/2이 전송되고 1/2이 펑처링되는 경우에서처럼 D의 값은 2가 된다.
그러면 다음으로 물리 패킷 크기가 3072인 경우에 대하여 살펴본다. 상기한 경우에 초기 전송에 전송되는 리던던시 심볼은 768이다. 따라서 이러한 경우 초기 전송에 전송되는 하나의 패리티 쌍의 심볼들 중 "3072 X 2 = 6144"이므로, 1/8이다. 그런데, 상기 물리 패킷의 크기인 3072는 2M으로 표현할 수 없으므로 K 값을 3으로 설정하여 3 레벨을 갖도록 한다. 즉, y 축으로 3개의 x-z 평면 가지도록 구성한다. 따라서 각 레벨을 구성하는 각 x-z 평면은 1024의 심볼들로 구성된다. 이러한 경우 초기 전송에서 실제로 전송되는 리던던시 심볼들은 하나의 패리티 쌍의 심볼들에서 계산하는 것이 아니라 하나의 레벨에서 계산된다. 따라서 하나의 레벨에서 계산하면, "768/2048 = 3/8"이 된다.
그러므로 인터리빙을 고려하여 실제 전송되는 리던던시 심볼의 열 번호는 "0, 2, 4, 8, 10, 12, 16, 18, …"으로 짝수 번째 열만 전송되며, 매 4번째 짝수 열은 전송되지 않는다. 이렇게 불규칙적인 전송 패턴을 보이기 때문에 이동 패턴을 결정하는 D 값을 앞에서 상술한 본 발명에 따른 방법으로 계산한다. 즉, 전송되지 않는 짝수 열의 빈도가 낮으므로 모든 짝수 열이 전송되는 것으로 가정하면 K 값이 3인 것을 고려하여 D 값은 6이 된다. 짝수 번째 열에만 전송되는 것으로 가정하면 D 값은 2가 되지만, K 값이 3인 것을 고려하면 D 값을 6으로 설정해야 한다.
그러나 이동(shift)이 "0, 1, 2, 0, 1, 2"와 같이 반복되는데, 이동 시에 2와 0은 16 QAM의 변조 방법을 사용할 때, 1, 3번째 위치가 신뢰도가 높은 것을 고려하면, 성능상 유사한 이동으로 볼 수 있다. 또한 D 값을 4로 하면 이동이 "0, 1, 3, 2, 3, 1"과 같이 된다. 그런데, 이러한 경우에도 1과 3이 인접하여 있고, 더욱이 3이 하나건너 다시 발생하는 문제가 있다. 따라서 D 값은 6으로 설정하는 것이 보다 바람직하다. D 값을 4로 하는 경우에도 0과 2가 번갈아 나오므로 가능한 방법이다.
physical packet size (U block size) 3072
Transmit duration (slot) 1
Data rate 1.8Mbps
Modulation 16QAM
Effective code rate 0.59
Transmitted Redundancy bit 2112 (11/32 of V0/V0' block, all bit in 1 level of V0/V0' block is transmitted)
R 4
M 8
K 3
D 1
상기 <표 2>는 물리 패킷의 크기가 3072이고, 데이터 율(data rat)이 상기 <표 1>의 동일한 1.8Mbps에 대한 인터리빙 변수들이다. 상기 <표 2>는 상기 <표 1> 과 대비할 때, effective code rate을 0.59로 높여 성능 향상을 도모하였다는 점만 달리한다. 이러한 경우에 인터리빙 변수들인 R, M, K, D 값은 상기 <표 2>에 도시한 바와 같다.
그러면 상기 <표 2>에서 물리 패킷 크기가 3072인 경우에 대하여 살펴본다. 상기 <표 2>와 같이 effective code rate을 더 높인 경우에 전송할 수 있는 부호화 심볼(coded symbol)의 수가 증가하므로 초기 전송에 전송되는 리던던시 심볼은 2112이다. 따라서 이러한 경우 초기 전송에 전송되는 하나의 패리티 쌍의 심볼들 중 "3072 X 2 = 6144"이므로, 2112/6144=11/32이다. 그런데, 상기 물리 패킷의 크기인 3072는 2M으로 표현할 수 없으므로 K 값을 3으로 설정하여 3 레벨을 갖도록 한다. 즉, y 축으로 3개의 x-z 평면 가지도록 구성한다. 따라서 각 레벨을 구성하는 각 x-z 평면은 1024의 심볼들로 구성된다. 이러한 경우 초기 전송에서 실제로 전송되는 리던던시 심볼들은 하나의 패리티 쌍의 심볼들에서 계산하는 것이 아니라 하나의 레벨에서 계산된다. 따라서 하나의 레벨에서 계산하면, "2112/2048 = 33/32"이 된다. 이에 가장 가까운 1/n은 n=1이므로 D=1을 사용한다.
그러면 이상에서 설명한 내용에 따른 본 발명의 장치에 대하여 살펴보기로 한다.
도 5는 본 발명의 바람직한 실시 예에 따라 3차원 인터리빙을 수행하기 위한 장치의 블록 구성도이다. 이하 도 5를 참조하여 본 발명에 따른 3차원 인터리빙을 수행하기 위한 장치의 블록 구성 및 동작에 대하여 상세히 살펴보기로 한다.
본 발명에 따른 장치의 구성에서 터보 부호기는 도 1에 도시한 바와 같다. 따라서 상기 도 5에서는 도시하지 않았다. 그러므로 도 5에 도시한 부호화 심볼은 터보 부호기(100)로부터 출력된 심볼들이며, 부호화된 정보 심볼(111)과 제1패리티 쌍의 심볼들(112)과 제2패리티 쌍의 심볼들(113)이 본 발명에 따른 3차원 인터리버(512)로 입력된다. 상기 3차원 인터리버(512)는 실제로 도 1에 도시한 각각의 블록 인터리버와 같이 부호화된 정보 심볼들(111)을 3차원 인터리빙하는 인터리버와 제1패리티 쌍의 심볼들(112)을 인터리빙하는 인터리버와 제2패리티 쌍의 심볼들(113)을 인터리빙하는 인터리버들을 각각 구비할 수 있다. 즉, 본 발명의 3차원 인터리버(512) 또한 부호화된 정보 심볼과 각 패리티 쌍의 심볼들을 독립적으로 인터리빙한다.
상기 3차원 인터리버(512)는 인터리버 제어기(511)의 제어에 의거하여 인터리빙을 수행한다. 상기 인터리버 제어기(511)는 물리 패킷 크기와 송신 슬롯의 수 및 변조 차수 등의 정보를 수신한다. 이와 같은 정보들을 입력으로 하여 인터리버 제어기(511)는 앞에서 상술한 바와 같이 3차원 인터리빙을 위한 파라미터들인 R, K, M, D 값을 결정한다. 그런 후 상기 파라미터들의 값에 의거하여 상기 3차원 인터리버(512)의 인터리빙 동작을 제어한다. 이러한 제어 동작은 후술되는 도 6의 제어 흐름도에서 더 상세히 살피기로 한다.
만일 본 발명에 따른 3차원 인터리버(512)를 상기 파라미터 값들만 주어지면 자체적으로 인터리빙이 가능하도록 설계하는 경우 상기 인터리버 제어기(511)는 각각의 경우에 대응하여 파라미터 값들을 저장하여 출력하도록 하는 메모리로 대체할 수 있다. 즉, 각각의 전송률, 변조 차수, 송신 슬롯의 수 및 물리 패킷의 크기에 대응하는 테이블을 상기 <표 1> 또는 <표 2>와 같은 형태로 저장하도록 한 후 그에 맞는 파라미터 값들을 상기 3차원 인터리버(512)로 출력하도록 구성할 수 있다. 상기한 방법들 중 어떠한 방법으로 구성하여도 본 발명을 수행하는데 무리가 없다. 이하에서는 설명의 편의를 위해 인터리버 제어기(511)가 상기 값들을 수신하여 인터리버(512)를 제어하는 경우로 가정하여 설명하기로 한다.
상술한 바와 같이 인터리버 제어기(511)에 의해 3차원 인터리버(512)가 수신된 부호화 심볼들의 인터리빙을 완료하면, 상기 인터리빙된 심볼들은 도 4d에서 설명한 바와 같은 방법으로 심볼들을 출력한다. 상기 출력된 심볼들은 변조기(513)로 입력된다. 그러면 변조기(513)는 미리 결정된 변조 차수에 따라 3차원 인터리버(512)로부터 입력되는 인터리빙된 심볼들을 매핑하여 변조 심볼들을 출력한다.
도 6은 본 발명의 바람직한 실시 예에 따라 3차원 인터리빙 시의 제어 흐름도이다. 이하 도 6을 참조하여 본 발명의 바람직한 실시 예에 따른 3차원 인터리빙 시의 제어 과정에 대하여 상세히 설명하기로 한다.
인터리버 제어기(511)는 600단계에서 전송할 데이터의 정보를 수신한다. 상기 데이터의 정보는 앞에서 설명한 바와 같이 물리 패킷 크기, 송신 슬롯의 수, 변조 차수 및 데이터 율 등이 될 수 있다. 이러한 데이터 정보를 수신하면 상기 인터리버 제어기(511)는 602단계로 진행하여 수신된 데이터 정보 중 변조 차수로부터 파라미터 R을 결정한다. 이는 앞에서 살핀 바와 같이 변조 차수로 R 값이 결정되기 때문이다. 상기 변조 차수를 결정한 이후에 인터리버 제어기(511)는 604단계로 진 행하여 물리 패킷 크기로부터 K 값과 M 값을 결정한다. 즉, 이미 3차원 인터리빙을 수행하기 위해 수신할 심볼의 z 축의 값을 알고 있고, M의 값은 2의 자승 형태로 구성되어야 하므로 데이터의 크기로부터 M의 값을 최대로 하는 값을 찾을 수 있다. 그런 후 전체 심볼의 수를 맞추기 위해 K 값을 결정하는 것이다.
이와 같이 K 값과 M 값이 결정되면, 인터리버 제어기(511)는 606단계로 진행하여 전송할 리던던시의 비트 수를 결정한다. 즉, 전송할 패리티 심볼의 수를 결정하는 것이다. 그런 후 상기 인터리버 제어기(511)는 608단계로 진행하여 전송할 리던던시 수를 전체 리던던시 수로 나눈 후 이 값을 X로 설정한다.
그런 후 인터리버 제어기(511)는 610단계로 진행하여 X 값이 1/n을 만족하는가를 검사한다. 상기 610단계의 검사결과 X 값이 1/n의 값을 만족하는 경우 612단계로 진행하여 D 값을 K x n으로 설정한다. 여기서 n 값은 앞에서 상술한 바와 같이 "1, 2, 4, 8, 16, …"의 값을 가진다. 그리고 상기 인터리버 제어기(511)는 620단계로 진행한다.
반면에 상기 610단계의 검사결과 상기 608단계에서 계산된 X 값이 1/n을 만족하지 못하는 경우 상기 인터리버 제어기(511)는 614단계로 진행하여 X에 가장 가까운 n을 선택한다. 상기 도 6의 실시 예에서는 X에 가장 가까운 n을 선택하는 방법을 예로 설명하고 있으나, 앞에서 설명한 바와 같이 X보다 큰 1/n의 값을 선택하도록 할 수도 있고, X보다 작은 1/n의 값을 선택하도록 할 수도 있다. 도 6에서는 이러한 실시 예들 중 하나만을 예로 설명하고자 한 것이며, 실제로 이에 국한되지는 않는다. 이러한 방법들 중 하나의 방법으로 X 값을 1/n의 값으로 선택한 이후에 인터리버 제어기(511)는 616단계로 진행하여 선택된 n 값에 K를 곱한 값을 D로 결정한다.
상기한 과정들을 통해 모든 파라미터들을 결정할 수 있다. 따라서 인터리버 제어기(511)는 모든 파라미터를 결정한 이후에 620단계로 진행하여 결정된 파라미터를 본 발명에 따른 3차원 인터리버(512)로 제공한다. 이후 상기 인터리버 제어기(511)는 624단계로 진행하여 3차원 인터리버(512)에 부호화 심볼의 저장에서부터 순환 이동 및 비트 역상순의 정렬과 인터리빙된 심볼의 출력을 제어한다. 즉, 앞에서 상술한 도 4a 내지 도 4d의 과정의 제어를 수행하는 것이다.
상술한 바와 같이 본 발명에 따른 3차원 인터리버를 사용할 경우 변조되어 전송되는 심볼의 신뢰도를 균일하게 유지할 수 있는 이점이 있다. 특히 전송 패턴이 불규칙한 경우에도 변조 심볼의 신뢰도를 균일하게 유지함으로서 전송 효율을 증대시킬 수 있는 이점이 있다.

Claims (2)

  1. 전송할 정보를 부호화된 정보 심볼과 적어도 하나의 패리티 쌍의 심볼들로 부호화하여 출력하는 터보 보호기를 사용하며, 2차 이상의 변조 차수를 이용하여 부호화된 심볼을 매핑하여 전송하는 통신 시스템에서 상기 터보 보호기에 의해 부호화된 심볼들을 인터리빙 하기 위한 방법에 있어서,
    상기 변조 차수를 x, y, z축의 3차원 상에서 z축의 크기(R)로 하고, 상기 z축의 크기(R)를 고려하여 상기 전송할 정보의 물리 패킷 크기가 2의 M승의 최대 값을 가질 수 있도록 x 축의 크기를 결정하고, 상기 물리 패킷 크기를 만족하도록 y 축의 크기(K)를 결정하는 과정과,
    상기 부호화된 심볼들을 순차적으로 수신하고 상기 수신된 심볼들을 상기 x-y-z의 크기에 따라 입체적으로 저장하는 과정을 포함하고,
    상기 저장 과정은,
    최초 심볼을 저장한 x-y 평면을 선택하는 제1단계와,
    상기 결정된 3차원 배열에서 x-z 평면에서 최초 심볼을 저장할 특정 위치에서부터 y축 방향으로 순차적으로 저장하는 제2단계와,
    상기 y축 방향의 저장이 완료되면, 상기 특정 위치에서부터 x축의 방향으로 이동하여 상기 제2단계를 반복하는 제3단계와,
    상기 선택된 x-y 평면에 대한 저장이 완료되면, z축 방향으로 다음 x-y 평면을 선택하여 상기 2단계 내지 상기 3단계를 반복 수행하는 제4단계를 포함하고,
    상기 터보 부호기로부터 수신된 부호화 심볼의 저장이 완료되면, 각 x-z 평면마다 상기 부호화된 정보 심볼과 상기 패리티 쌍의 심볼들을 구분하여 독립적으로 순환 이동을 수행하는 과정을 포함하며,
    상기 순환 이동 방법 과정은,
    상기 전송될 심볼의 크기 및 전송 횟수에 따라 전송할 부호화된 정보 심볼들에 대하여 "(K×c + k) mod R"로 순환 이동시키는 제1단계와,
    상기 전송될 심볼의 나머지 크기를 구성하는 리던던시 심볼의 수를 "floor{(K×c + k)/D} mod R"로 결정하는 제2단계를 포함하며,
    상기 전송될 심볼의 나머지 크기를 구성하는 리던던시 심볼의 수와 상기 패리티 쌍의 심볼 수의 비가 1/n(여기서 n은 1, 2, 4, 8, 16, …)의 값을 만족하는 경우 상기 D 값을 K x n의 값으로 설정하고, 상기 전송할 리던던시 심볼의 수와 상기 패리티 쌍의 심볼의 수의 비가 1/n을 만족하지 못하는 경우 상기 D 값을 1/n에 가장 근접한 n 값에 K를 곱한 값으로 설정하며,
    상기 독립적으로 순환 이동이 완료되면 y-z 축의 평면들을 열로 구분하고 상기 열들의 비트 역상순하여 재배열하는 과정과,
    상기 x-y-z 축으로 재배열된 심볼들을 전송할 심볼의 수에 따라 출력할 x-z 평면을 선택하고, 상기 선택된 x-z 평면상에서 y-z의 열들로 구분하고, 상기 구분된 열들을 z축 방향으로 순차적으로 출력하는 과정을 포함함을 특징으로 하는 상기 방법.
  2. 전송할 정보를 부호화된 정보 심볼과 적어도 하나의 패리티 쌍의 심볼들로 부호화하여 출력하는 터보 보호기를 사용하며, 2차 이상의 변조 차수를 이용하여 부호화된 심볼을 매핑하여 전송하는 통신 시스템에서 상기 터보 보호기에 의해 부호화된 심볼들을 인터리빙 하기 위한 장치에 있어서,
    상기 전송할 물리 패킷의 크기와 송신 슬롯의 수 및 변조 차수 등을 수신하고, 상기 변조 차수를 x, y, z축의 3차원 상에서 z축의 크기(R)로 하고, 상기 z축의 크기(R)를 고려하여 상기 전송할 정보의 물리 패킷 크기가 2의 M승의 최대 값을 가질 수 있도록 x 축의 크기를 결정하고, 상기 물리 패킷 크기를 만족하도록 y 축의 크기(K)를 결정하며, 3차원 인터리버로 심볼의 저장, 인터리빙 및 출력을 제어하는 인터리버 제어기와,
    상기 부호화된 심볼들을 순차적으로 수신하고 상기 인터리버 제어기의 제어에 의해 상기 수신된 심볼들을 상기 x-y-z의 크기에 따라 최초 심볼을 저장할 x-y 평면을 선택하고, 상기 결정된 3차원 배열에서 x-z 평면에서 최초 심볼을 저장할 특정 위치에서부터 y축 방향으로 순차적으로 저장하며, 상기 y축 방향의 저장이 완료되면, 상기 특정 위치에서부터 x축의 방향으로 이동하여 상기 수신된 심볼들을 다시 순차적으로 저장하고, 상기 선택된 x-y 평면에 대한 저장이 완료되면, z축 방향으로 다음 x-y 평면을 선택하여 상기한 과정을 통해 상기 x-y-z의 크기를 가지는 입체 공간에 수신된 심볼들을 모두 저장한 후,
    각 x-z 평면마다 상기 부호화된 정보 심볼과 상기 패리티 쌍의 심볼들을 구 분하고 상기 전송될 심볼의 크기 및 전송 횟수에 따라 전송할 부호화된 정보 심볼들에 대하여 "(K×c + k) mod R"로 순환 이동시키며, 상기 전송될 심볼의 나머지 크기를 구성하는 리던던시 심볼의 수와 상기 패리티 쌍의 심볼 수의 비가 1/n(여기서 n은 1, 2, 4, 8, 16, …)의 값을 만족하는 경우와 그렇지 않은 경우로 구분하고, 상기 전송할 리던던시 심볼의 수와 상기 패리티 쌍의 심볼의 수의 비가 1/n을 만족하는 경우 순환 이동의 패턴을 "floor{(K×c + k)/D} mod R"로 결정하며 상기 D 값을 K x n의 값으로 설정하며, 상기 전송할 리던던시 심볼의 수와 상기 패리티 쌍의 심볼의 수의 비가 1/n을 만족하지 못하는 경우 상기 D 값을 1/n에 가장 근접한 n 값에 K를 곱한 값으로 설정하여 각 평면마다 독립적으로 순환 이동을 수행하고,
    상기 독립적으로 순환 이동이 완료되면 y-z 축의 평면들을 열로 구분하고 상기 열들의 비트 역상순하여 재배열한 후 상기 x-y-z 축으로 재배열된 심볼들을 전송할 심볼의 수에 따라 출력할 x-z 평면을 선택하고, 상기 선택된 x-z 평면상에서 y-z의 열들로 구분하고, 상기 구분된 열들을 z축 방향으로 순차적으로 출력하는 3차원 인터리버를 포함함을 특징으로 하는 상기 장치.
KR20050000648A 2004-11-30 2005-01-04 이동통신 시스템에서 채널 인터리빙 장치 및 방법 KR101131323B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040099462 2004-11-30
KR20040099462 2004-11-30

Publications (2)

Publication Number Publication Date
KR20060060520A true KR20060060520A (ko) 2006-06-05
KR101131323B1 KR101131323B1 (ko) 2012-04-04

Family

ID=35686565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050000648A KR101131323B1 (ko) 2004-11-30 2005-01-04 이동통신 시스템에서 채널 인터리빙 장치 및 방법

Country Status (9)

Country Link
US (1) US7512843B2 (ko)
EP (1) EP1662687B1 (ko)
JP (1) JP4664985B2 (ko)
KR (1) KR101131323B1 (ko)
CN (1) CN101065910B (ko)
AU (1) AU2005310391B2 (ko)
BR (1) BRPI0518736B1 (ko)
RU (1) RU2349030C2 (ko)
WO (1) WO2006059871A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8537917B2 (en) 2008-03-10 2013-09-17 Electronics And Telecommunications Research Institute Apparatus and method for mapping symbol
US8576576B2 (en) 2010-05-03 2013-11-05 Samsung Display Co., Ltd. Display apparatus and driving chip mounting film in the display apparatus
KR101509728B1 (ko) * 2008-06-05 2015-04-06 한국전자통신연구원 심볼 매핑 방법 및 장치

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3880964B2 (ja) * 2002-02-06 2007-02-14 サムスン エレクトロニクス カンパニー リミテッド 通信システムにおけるインターリーバー及びインターリービング方法
US20090022079A1 (en) * 2005-05-04 2009-01-22 Fei Frank Zhou Method and apparatus for providing enhanced channel interleaving
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
CN101047393B (zh) * 2006-05-12 2010-05-12 华为技术有限公司 一种产生交织器/解交织器的方法及其应用
US8356234B2 (en) * 2007-06-15 2013-01-15 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and receiving data in a mobile communication system
CN101459432B (zh) * 2007-12-14 2010-12-08 中兴通讯股份有限公司 一种rs码交织编码方法
JP5109787B2 (ja) * 2008-05-02 2012-12-26 富士通株式会社 データ伝送システム、プログラム及び方法
US8468396B2 (en) 2008-12-31 2013-06-18 Mediatek, Inc. Channel interleaver having a constellation-based block-wise permuation module
WO2010105445A1 (zh) * 2009-03-20 2010-09-23 富士通株式会社 信道交织方法和信道交织器
US8638244B2 (en) * 2009-08-31 2014-01-28 Freescale Semiconductor, Inc. Encoding module, apparatus and method for determining a position of a data bit within an interleaved data stream
CN102130757B (zh) * 2010-01-19 2015-07-29 北京三星通信技术研究有限公司 交织重传装置及方法
WO2015126096A1 (en) * 2014-02-21 2015-08-27 Samsung Electronics Co., Ltd. Bit interleaver and bit de-interleaver
US11515970B2 (en) * 2020-12-04 2022-11-29 Qualcomm Incorporated Priority-based hybrid automatic repeat request acknowledgement (HARQ-ACK) feedback

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721745A (en) 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
KR100299132B1 (ko) 1998-03-31 2001-10-29 윤종용 서비스 품질에 따른 프레임 데이터 처리를 위한 터보 부호화/복호화 장치 및 그 방법
US6298463B1 (en) 1998-07-31 2001-10-02 Nortel Networks Limited Parallel concatenated convolutional coding
EP2173036B1 (en) * 1998-08-17 2014-05-14 Dtvg Licensing, Inc Turbo code interleaver with near optimal performance
US6427214B1 (en) * 1998-09-29 2002-07-30 Nortel Networks Limited Interleaver using co-set partitioning
US6772391B1 (en) * 1998-10-13 2004-08-03 Interdigital Technology Corporation Hybrid interleaver for turbo codes
JP3257984B2 (ja) * 1998-10-30 2002-02-18 富士通株式会社 インタリーブ方法及びデインタリーブ方法並びにインタリーブ装置及びデインタリーブ装置並びにインタリーブ/デインタリーブシステム並びにインタリーブ/デインタリーブ装置並びにインタリーブ機能付きの送信装置,デインタリーブ機能付きの受信装置及びインタリーブ/デインタリーブ機能付きの送受信装置
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
KR100350459B1 (ko) * 1998-12-26 2002-12-26 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
CA2298919C (en) * 1999-02-19 2006-04-18 Ntt Mobile Communications Network Inc. Interleaving and turbo encoding using prime number permutations
CN100574116C (zh) * 1999-05-19 2009-12-23 三星电子株式会社 涡式交织装置及方法
DE10030407B4 (de) * 1999-07-14 2011-09-01 Lg Electronics Inc. Verfahren zur optimalen Ratenanpassung in einem Mobilkommunikationssystem
KR100393608B1 (ko) * 2000-09-29 2003-08-09 삼성전자주식회사 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법
KR100724921B1 (ko) * 2001-02-16 2007-06-04 삼성전자주식회사 통신시스템에서 부호 생성 및 복호 장치 및 방법
US6845482B2 (en) 2001-02-28 2005-01-18 Qualcomm Incorporated Interleaver for turbo decoder
KR100753309B1 (ko) 2001-04-10 2007-08-29 주식회사 팬택앤큐리텔 3지피피 비동기 시스템에서 세컨드 인터리빙을 위한변조장치
US7278070B2 (en) * 2001-09-14 2007-10-02 Texas Instruments Incorporated Interleaving to avoid wideband interference in a multi-carrier communications system
JP3624874B2 (ja) * 2001-11-19 2005-03-02 日本電気株式会社 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
JP3753072B2 (ja) * 2002-01-16 2006-03-08 日本ビクター株式会社 直交周波数分割多重信号の生成方法、直交周波数分割多重信号生成装置、及び直交周波数分割多重信号復号装置
KR100475185B1 (ko) 2002-01-30 2005-03-08 삼성전자주식회사 에이치디알 전송장치의 인터리버 및 그 인터리빙 방법
JP3880964B2 (ja) * 2002-02-06 2007-02-14 サムスン エレクトロニクス カンパニー リミテッド 通信システムにおけるインターリーバー及びインターリービング方法
US7082168B2 (en) * 2002-05-21 2006-07-25 Coffey John T Methods and apparatus for self-inverting turbo code interleaving with high separation and dispersion
US7085985B2 (en) * 2002-05-31 2006-08-01 Broadcom Corporation Close two constituent trellis of a turbo encoder within the interleave block
JP2004152551A (ja) * 2002-10-29 2004-05-27 Kyocera Corp 銅メタライズ組成物、並びにセラミック配線基板およびその製法
CN1204693C (zh) * 2002-11-29 2005-06-01 重庆重邮信科股份有限公司 随机系统Turbo码的编、译码方法
CN100566185C (zh) * 2002-12-16 2009-12-02 意大利电信股份公司 用于turbo编码器和解码器中的交织器的地址产生装置和方法
US7085986B2 (en) * 2002-12-20 2006-08-01 Nokia Corporation Low decoding complexity concatenated codes for high rate coded transmission
US7702968B2 (en) * 2004-02-27 2010-04-20 Qualcomm Incorporated Efficient multi-symbol deinterleaver
JP2006086941A (ja) * 2004-09-17 2006-03-30 Matsushita Electric Ind Co Ltd 送信方法と送信装置及び受信方法と受信装置
US7593472B2 (en) * 2004-10-22 2009-09-22 Integrated System Solution Corp. Methods and apparatus for circulation transmissions for OFDM-based MIMO systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8537917B2 (en) 2008-03-10 2013-09-17 Electronics And Telecommunications Research Institute Apparatus and method for mapping symbol
KR101509728B1 (ko) * 2008-06-05 2015-04-06 한국전자통신연구원 심볼 매핑 방법 및 장치
US8576576B2 (en) 2010-05-03 2013-11-05 Samsung Display Co., Ltd. Display apparatus and driving chip mounting film in the display apparatus

Also Published As

Publication number Publication date
EP1662687A2 (en) 2006-05-31
US7512843B2 (en) 2009-03-31
EP1662687B1 (en) 2017-03-22
KR101131323B1 (ko) 2012-04-04
RU2007116510A (ru) 2008-11-20
BRPI0518736A2 (pt) 2008-12-02
EP1662687A3 (en) 2012-05-02
AU2005310391B2 (en) 2008-09-25
JP4664985B2 (ja) 2011-04-06
CN101065910A (zh) 2007-10-31
CN101065910B (zh) 2011-01-26
US20060156172A1 (en) 2006-07-13
JP2008522539A (ja) 2008-06-26
WO2006059871A1 (en) 2006-06-08
AU2005310391A1 (en) 2006-06-08
BRPI0518736B1 (pt) 2019-04-09
RU2349030C2 (ru) 2009-03-10

Similar Documents

Publication Publication Date Title
JP4664985B2 (ja) 移動通信システムにおけるチャネルインターリービング装置及び方法
RU2467484C2 (ru) Устройство, содержащее кольцевой буфер, и способ для присвоения вариантов избыточности кольцевому буферу
CN101582757B (zh) 错误控制方法和装置、以及适应性调制方法和装置
KR100464346B1 (ko) 부호분할다중접속 이동통신시스템에서 패킷 재전송을 위한 송/수신장치 및 방법
KR100770902B1 (ko) 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
KR100557167B1 (ko) 이동통신시스템에서의 재전송 장치 및 방법
US8677223B2 (en) Tail-biting convolutional codes for uplink fast feedback control channel
KR101505193B1 (ko) 직교주파수분할다중접속방식의 이동 통신시스템에서 심볼전송 방법 및 장치
CN100514900C (zh) 使用比特排列方法的传输装置
CN101183875B (zh) 一种Turbo码的有限长度循环缓存的速率匹配方法
KR20030032698A (ko) 부호분할다중접속 이동통신시스템에서 고속 데이터의효율적 재전송 및 복호화를 위한 송,수신장치 및 방법
GB2376393A (en) A Quasi-Complementary Turbo Code (QCTC) generating apparatus
US8798200B2 (en) Constellation mapping method
CN1778048A (zh) 用于多进多出系统的比特交织器
US7213193B2 (en) Apparatus and method for generating codes in a communications system
CN1411195A (zh) 交错器模式修改
CN101860412A (zh) 子包处理方法、编码调制方法、处理器、调制编码系统
KR100950637B1 (ko) 반복에 의한 부호어 생성 방법
CN102075285A (zh) 一种速率匹配方法及装置
KR20100096509A (ko) 통신시스템에서 인터리빙을 위한 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee