KR100387058B1 - 데이터 통신시스템에서 심볼 삽입에 의한 가변데이터전송율 정합 방법 및 장치 - Google Patents
데이터 통신시스템에서 심볼 삽입에 의한 가변데이터전송율 정합 방법 및 장치 Download PDFInfo
- Publication number
- KR100387058B1 KR100387058B1 KR10-2001-0040687A KR20010040687A KR100387058B1 KR 100387058 B1 KR100387058 B1 KR 100387058B1 KR 20010040687 A KR20010040687 A KR 20010040687A KR 100387058 B1 KR100387058 B1 KR 100387058B1
- Authority
- KR
- South Korea
- Prior art keywords
- symbols
- value
- symbol
- codeword
- error
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0067—Rate matching
- H04L1/0068—Rate matching by puncturing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0043—Realisations of complexity reduction techniques, e.g. use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
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)
- Dc Digital Transmission (AREA)
Abstract
데이터 통신시스템에서 데이터 전송율이 가변됨에 따라 가변적으로 정해지는 부호어 심볼들을 가지는 프레임을 인터리버 크기에 정합시켜 전송하는 방법 및 장치가 개시되어 있다. 본 발명에 따르면, L개의 심볼들의 열을 발생하는 부호기와, 상기 L개의 심볼들보다 큰 N개의 심볼들의 열을 입력하는 채널 인터리버를 가지는 시스템에서 상기 L개의 심볼들의 열로부터 상기 N개의 심볼들의 열을 발생하기 위하여, 상기 L개의 심볼들중 대체로(generally) 균등거리를 가지는 (N-L)개의 위치들에서의 심볼들이 찾아지고, 상기 찾은 심볼들이 상기 찾은 심볼들의 바로 전 또는 후에 순차로 반복 삽입된다.
Description
본 발명은 데이터 통신시스템에 관한 것으로, 특히 데이터 전송율이 가변됨에 따라 가변적으로 정해지는 부호어 심볼들을 가지는 프레임을 인터리버 크기에 정합시켜 전송하는 방법 및 장치에 관한 것이다.
일반적으로 위성시스템, 종합정보통신망(ISDN: Intergrated Service Digital Network), 디지털 셀룰라(Digital cellular) 시스템, 광역 부호분할다중접속(W-CDMA: Wide band Code Division Multiple Access) 시스템, UMTS(Universal Mobile Telecommunications System), IMT(International Mobile Telecommunications)-2000 시스템과 같은 무선 통신시스템에서 채널부호화 방식으로는 주로 컨볼루션 부호(convolutional code)와 단일복호기가 사용되는 선형블록부호 등이 사용되었다. 이러한 채널부호화 방식에 의해 부호화된 심볼들은 채널 인터리버에 의해 인터리빙되는 것이 일반적이다.
전형적인 채널 인터리버는 프레임당 인터리버 크기와 동일한 부호어 심볼들을 가지는 프레임을 입력하여 인터리빙하는 형태이었다. 이와 달리 최근의 채널 인터리버는 프레임당 인터리버 크기와 다른 부호어 심볼들을 가지는 프레임을 입력하여 인터리빙하는 소위 가변 데이터전송율 전송(Flexible Data Rate Transmission: 이하 "FDRT"라 칭함)방식에 따른 인터리빙 동작을 수행한다.
도 1은 인터리버 크기와 동일한 수의 부호어 심볼들을 가지는 프레임을 입력하여 인터리빙하는 비가변형(혹은 고정형) 데이터전송율 전송 방식(Non Flexible Data Rate Transmission)에 따른 채널 인터리버를 도시하는 도면이다.
상기 도 1을 참조하면, 비가변형 데이터전송율 전송(Non FDRT) 방식에서는 채널의 전송율이 고정된 경우 채널 인터리버(channel interleaver) 100에 입력되는 단위 프레임 당 부호화된 심볼(Coded symbol)의 수인 L은 항상 인터리버 크기 N과 같은 크기를 가진다. 예를 들어, IMT-2000에서 사용되는 RC (Radio configuration)에는 RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 등의 다양한 종류의 전송채널들이 있는데, 이들 각각은 데이터 프레임의 크기, 부호율, 인터리빙방식 등의 차이를 가진다. 이에 따라서 제공되는 이미 결정된 일정한 데이터 전송율만이 사용되었다.
도 2는 비가변형 데이터전송율 전송(Non FDRT) 방식에 따라 전송되는 부호어 심볼 프레임 구조의 일 예를 도시하는 도면이다.
상기 도 2를 참조하면, 물리채널(Physical channel)이 RC3의 데이터 전송율(Data Rate)=19.2kbps로 설정되었다고 가정하면, 이때 상기 도 1에 도시된 채널 인터리버 100의 크기 N은 1536이 된다. 1왜냐하면, 20msec 주기내에서 19.2kbps로 전송되는 데이터는 초당 384비트이고, 부호율 R=1/4인 채널 부호기에 의해 부호화된 데이터는 초당 1536비트이기 때문이다. 이때 만일 사용자가 프레임을 데이터 전송율 20kbps로 전송하고자 한다면, 기지국과 단말기가 초기 협상(Negotiation)과정에서 20kbps보다 큰 일련의 데이터 전송율중에서 데이터 전송율 38.4kbps를 결정한다. 왜냐하면 20kbps 보다 큰 최소의 데이터 전송율이 38.4kbps이기 때문이다. 1데이터 전송율이 38.4kbps로 결정되면, 채널 인터리버 100의 크기는 N=3072(2 ×1536)로 2배 증가된다.
이와 같이 데이터 전송율이 20kbps에서 38.4kbps로 증가되면, 채널 부호기(Channel encoder)(도시하지 않음)에 입력되는 입력 데이터 심볼중에서 20kbps ×20msec 이외의 부분에 해당되는 빈 구간에는 널 데이터(Null data)가 상위 계층(layer)에 의해 쓰여진다. 즉, 크기 N인 채널 인터리버의 출력 중에서 (38.4-20)/38.4 = 47.92%가 널 데이터로 쓰여지고 전송된다. 따라서 수신 심볼에너지 Es측면에서는 47.92%의 에너지가 손실되고 있다고 볼 수 있다. 이와 같은 손실이 발생되는 이유는 비가변형 데이터전송율 전송 방식의 구조에서는 물리계층(Physical layer)에서 널 데이터를 처리할 수 있는 방법이 없기 때문이다. 만일 널 데이터를 심볼 반복(repetition)으로 처리하여 전송한다고 하더라도, 순방향 부가채널(F-SCH: Forward Supplemental Channel) 구조에서는 심볼 결합(symbol combining)을 할 수 없다는 한계가 있다. 또한 입력 데이터 전송율에 따라서 매번 다르므로 이를 상위 계층에서 반드시 사전에 기지국과 단말기로 전달해야 한다는 번거로움이 있다. 게다가, 실제적으로 채널 복호기(Channel decoder)를 통과하기 전에 널 데이터에 대한 에너지 복원이 이루어져야 하며 채널 복호기 이후에서는 복호화된 정보 심볼(Information symbol)만을 가지고 L1/L2의 상위 계층이 처리하게 되므로, 복호화 성능이 저하된다는 단점이 있다.
이러한 비가변형 데이터전송율 전송방식의 문제점을 극복하고 성능을 개선하고자 하는 것이 상기 FDRT방식이다. 채널부호화 구조를 사용하는 시스템의 다중접속방식 및 다중채널방식에서 채널 부호화 방식(Channel coding scheme)의 데이터 전송효율성을 높이고 시스템의 성능을 개선하기 위한 전송률정합의 일종인 상기 FDRT방식에 관한 연구가 활발히 진행되고 있다. 이러한 FDRT방식의 원칙은 사용하는 채널부호가 컨볼루션 부호 또는 선형블록부호 또는 컨볼루션 부호를 사용하는 쇄상부호(Concatenated code)라는 전제하에서 출발한 것이다. 특히 최근에 매우 많은 관심을 모으고 있는 3GPP(3rd Generation Project Partnership 2) IS-2000의 무선 인터페이스(Air interface)에서 보면 시스템의 다중접속방식 및 다중채널방식에서 채널 부호화 방식의 데이터 전송효율성을 높이고 시스템의 성능을 개선하기 위하여 전송률정합의 일종인 FDRT방식이 표준사양으로 잠정적으로 결정된 상황이며 이에 대한 구현이 진행되고 있는 추세이다.
한편, 컨볼루션 부호 또는 선형블록부호를 위해 사용되는 기존의 FDRT 방식과, IS-2000 사양에서 제시하는 FDRT 방식은 다음과 같은 문제점을 가진다.
첫째, 컨볼루션 부호 또는 선형블록부호를 사용하는 부호기에서 출력되는 부호어 심볼의 에러 감도는 하나의 프레임(부호어)내의 모든 심볼들에 대해서 거의 유사하다고 가정할 수 있기 때문에, 기존의 FDRT방식은 가급적 균일한 천공(Uniform puncturing)방식을 요구한다. 그러나 현재 IS-2000의 FDRT방식의 경우에는 이와 같은 가정이 성립되지 않으므로 기존의 FDRT방식을 다르게 적용할 필요가 있다.
둘째, 기존의 IS-2000의 FDRT방식의 경우에는 심볼 반복의 관점에서 부호어 심볼을 처리하는 반복 방식(Repetition Scheme)을 사용하기 때문에 이러한 처리는 천공패턴(puncturing pattern)에 크게 영향이 없는 것으로 간주하였다. 그러나 이러한 심볼 반복은 심볼 천공과 동일한 개념에서 해석되어야 한다. 즉, 심볼 반복의 경우에도 최적의 성능의 FDRT방식을 위해서는 부호기에서 출력되는 부호어 심볼의 에러 감도가 하나의 프레임(부호어) 내의 모든 심볼들에 대해서 거의 유사하다는 가정을 고려하여 가급적 균일한 반복(Uniform repetition)이 이루어져야 한다. 그러나 현재의 IS-2000의 FDRT방식의 경우에는 이와 같은 가정이 성립되지 않으므로 기존의 IS-2000 FDRT방식을 다르게 적용할 필요가 있다.
셋째, 기존의 IS-2000의 FDRT 경우에는 한 단계의 심볼반복(Symbolrepetition) 처리만으로 가능함에도 불구하고, 심볼반복(Symbol repetition)을 시행한 이후에 심볼천공(Symbol puncturing)을 행하는 두 단계에 걸친 처리방식을 사용하고 있다. 그러므로 두 단계에 걸친 처리에 따른 구현의 복잡도가 증가되는 문제가 있다.
다른 한편, 터보부호와 같은 오류정정부호에 대해 현재 컨볼루션 부호의 사용을 전제하는 IS-2000 사양에서 제시하는 FDRT 방식을 적용하는 경우 다음과 같은 문제점을 가진다.
이미 언급한 바와 같이, 컨볼루션 부호 또는 선형블록부호를 위해 사용되는 FDRT방식은 부호기에서 출력되는 부호어 심볼의 에러 감도가 하나의 프레임(부호어)내의 모든 심볼들에 대해서 거의 유사하다고 가정할 수 있기 때문에 가급적 균일한 천공(Uniform puncturing)방식이 요구된다. 그러나 터보부호의 경우에는 부호기로부터 출력되는 각각의 부호어 심볼들의 에러감도가 하나의 프레임(부호어)내의 각각의 심볼들에 대해서 서로 다르다. 즉, 터보부호의 경우에 에러감도가 다른 각각의 부호어 심볼들을 분류할 때 상기 각각 분류된 부호어 심볼 그룹 내의 부호어 심볼의 에러 감도는 하나의 그룹내의 모든 심볼들에 대해서 거의 유사하다고 가정할 수 있다. 그러므로 터보 부호의 경우에도 하나의 그룹내의 모든 심볼들에 대해 가급적 균일한 천공(Uniform puncturing) 또는 반복이 이루어지도록 하는 FDRT방식이 요구되고 있다. 그러나 현재 IS-2000의 FDRT방식의 경우에는 이와 같은 성질을 사용하지 않으므로 기존의 FDRT방식을 다르게 적용할 필요가 있다.
따라서 본 발명의 목적은 데이터 통신시스템에서 컨볼루션 부호, 터보부호 또는 선형블록부호를 사용하거나 모두를 사용하는 경우에도 최적의 성능을 보일 수 있는 가변데이터 전송율 정합 방법 및 장치를 제공함에 있다.
본 발명의 다른 목적은 컨볼루션 부호, 터보부호 또는 선형블록부호를 사용하는 데이터 통신시스템에서 간단한 구조, 그리고 설정 초기값을 조절함으로써 전송율에 따라서 유연하게 동작하는 가변데이터 전송율 정합 방법 및 장치를 제공함에 있다.
본 발명의 또 다른 목적은 데이터 통신시스템에서 심볼 삽입에 의해 가변데이터 전송율 정합 방법 및 장치를 제공함에 있다.
이러한 본 발명의 목적들 및 다른 목적들은 데이터 통신 시스템에서 심볼 반복(삽입)에 의해 가변 데이터 전송율을 정합하는 방법 및 장치가 제공됨에 의해 달성되어질 수 있다. L개의 심볼들의 열을 발생하는 부호기와, 상기 L개의 심볼들보다 큰 N개의 심볼들의 열을 입력하는 채널 인터리버를 가지는 시스템에서 상기 L개의 심볼들의 열로부터 상기 N개의 심볼들의 열을 발생하기 위하여, 상기 L개의 심볼들중 대체로(generally) 균등거리를 가지는 (N-L)개의 위치들에서의 심볼들이 찾아지고, 상기 찾은 심볼들이 상기 찾은 심볼들의 바로 전 또는 후에 순차로 반복 삽입된다.
도 1은 일반적인 비가변형 데이터전송율 전송 방식에 따른 채널 인터리버를 도시하는 도면.
도 2는 비가변형 데이터전송율 전송 방식에 따라 전송되는 부호어 심볼 프레임 구조의 일 예를 도시하는 도면.
도 3은 IS-2000 사양에서 제시하는 반복 및 천공에 의한 가변형 데이터전송율 전송(FDRT) 장치의 구성을 도시하는 도면.
도 4는 본 발명의 제1 실시예에 따른 FDRT 장치의 구성을 도시하는 도면.
도 5a 내지 도 5c는 도 4에 도시된 FDRT 블록에서 출력되는 심볼의 적용 예들을 도시하는 도면.
도 6은 본 발명의 제1 실시예에 따른 FDRT 방식의 처리 흐름을 도시하는 도면.
도 7은 본 발명의 제1 실시예에 따른 FDRT 장치의 구체적인 구성을 도시하는 도면.
도 8은 본 발명의 제2 실시예에 따른 FDRT 장치의 구성을 보여주는 도면.
도 9는 본 발명의 제1 실시예에 따른 FDRT 처리시 발생할 수 있는 문제점을 설명하기 위한 도면.
도 10은 본 발명의 제3 실시예에 따라 FDRT 처리시 초기 오프셋 개념을 사용하는 경우 생성되는 심볼들의 예를 보여주는 도면.
도 11은 본 발명의 제3 실시예에 따라 부호어 심볼들이 단일의 열로 출력되는 부호기 구조에서, 프레임내에서 반복될 심볼의 초기 위치를 결정하기 위한 초기 오프셋 결정 처리흐름의 일 예를 도시하는 도면.
도 12는 본 발명의 제3 실시예에 따라 부호어 심볼들이 단일의 열로 출력되는 부호기 구조에서, 프레임내에서 반복될 심볼의 초기 위치를 결정하기 위한 초기 오프셋 결정 처리흐름의 다른 예를 도시하는 도면.
이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 참조번호들 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들로 나타내고 있음에 유의해야 한다. 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
먼저, 본 발명을 구체적으로 설명하기에 앞서서 IS-2000 사양에서 제시하는 반복(repetition) 및 천공(puncturing)에 의한 FDRT 방식을 설명하기로 한다.
도 3을 참조하면, IS-2000 사양에서 제시하는 반복 및 천공에 의한 FDRT 방식은 FDRT 블록 210에 입력되는 부호기 200으로부터의 부호어 심볼의 수인 L에 비하여 출력심볼의 수인 N이 항상 크거나 같기 때문에 상기 입력 심볼에 대해 심볼 반복(Symbol Repetition)을 행하는 과정을 포함한다. 따라서 반복되어 생성된 심볼들을 출력심볼의 수, 즉 인터리버 220의 크기 N에 정합시키기 위해 심볼 천공기(symbol puncturer) 214가 사용된다. 즉, IS-2000 사양에서 제시하는 FDRT 방식은 반복기 212에 의해 부호어 심볼을 M배 반복한 후 상기 심볼 천공기 214에 의해 M배 반복되어 생성된 심볼들을 천공하여 상기 인터리버 220의 크기 N에 정합시킨다.
실시 예 1
본 발명은 M배의 심볼 반복 이후에 생성되는 LM개의 심볼들중에서 (LM-N)개의 심볼들을 삭제하고자 심볼 천공을 행하는 기존의 IS-2000 사양의 FDRT방식과는 달리, L개의 심볼들에 (N-L)개의 심볼들을 삽입(insertion)하여 최종적으로 N개의 심볼들을 출력하는 새로운 FDRT방식을 제시한다. 본 발명이 제안하는 새로운 FDRT 방식에 따른 전송 장치가 도 4에 도시되어 있다.
상기 도 4를 참조하면, 부호기(Encoder) 200은 소스 정보(Source Information)를 부호화하고, L개의 부호어 심볼들의 열을 발생 및 출력한다. 본 발명에 따른 FDRT 블록 230은 심볼 삽입에 의해 상기 L개의 부호어 심볼들에 (N-L)개의 심볼들을 삽입하여, N개의 심볼들을 출력한다. 이때 상기 FDRT 블록 230은 상기 L개의 부호어 심볼들중 대체로(generally) 균등 거리를 가지는 (N-L)개의 심볼 위치들에 대응하는 위치 심볼들을 찾고, 상기 찾은 위치 심볼들 바로 전 또는 후에 상기 위치 심볼들을 순차로 반복하여 삽입한다. 인터리버(Interleaver) 220은 상기 FDRT 블록인 심볼 삽입기 230으로부터 출력되는 N개의 심볼들에 대해 인터리빙을 행한 후 인터리버 크기인 N개의 심볼들을 출력한다. 이와 같이 본 발명에서 새롭게 제시하는 방식은 구조상으로 도 3에 도시된 바와 같이 M배 심볼 반복(M times Symbol repetition)을 행하지 않으므로 매우 간결함을 알 수 있다.
전술한 바와 같이 본 발명에 따른 FDRT 블록은 L개의 부호어 심볼들을 입력하고, 인터리버 크기 N에 정합되도록 상기 L개의 부호어 심볼들에 (N-L)개의 심볼들을 삽입하는 방식을 취한다. 본 발명의 실시예에 따른 FDRT(Symbol insertion)블록 230에 사용되는 구체적인 알고리즘을 설명하면 하기와 같다.
본 발명의 실시예에 따른 FDRT 알고리즘은 심볼 반복한 후에 천공하는 방식에서 탈피하여 바로 (N-L)만큼의 심볼들을 L개의 부호어 심볼들 사이에 삽입하는 방식을 사용한다. 일예로 데이터 레이트가 17kbps이고, 프레임 길이가 20msec이고, 부호율 R=1/4이며, 전송하고자 하는 채널의 데이터 레이트가 19.2kbps라고 가정하면, 상기 FDRT 블록 230은 [(19.2-17) ×20 ×4] 심볼들을 L개의 심볼들 사이 사이에 삽입하게 된다. 이때 전술한 바와 같이 최적의 성능의 FDRT 방식을 위해서는 부호기 200에서 출력되는 부호어 심볼의 에러 감도가 하나의 프레임(부호어) 내의 모든 심볼들에 대해서 거의 유사하다는 특징이 있기 때문에, 상기 FDRT 블록 230은 하나의 프레임내에서 가급적 균일하게 심볼 삽입(Uniform Symbol Insertion) 처리를 행하여야 한다. 인터리버 크기 N과 부호어 심볼의 수 L이 결정되면 삽입될 심볼의 수가 결정되고, 이에 따라 하기의 <표 2>에 나타난 바와 같은 FDRT 처리를 위한 알고리즘에 필요한 파라메터들(parameters)가 결정되고 최종적으로 심볼 삽입 패턴(혹은 심볼 반복 패턴)이 결정될 것이다. 여기에서, 그리고 하기에서 "심볼 삽입"과 "심볼 반복"의 의미는 동일하게 사용된다는 사실에 유의할 필요가 있다.
본 발명의 실시예에 따른 FDRT 처리 알고리즘을 설명하기에 앞서서 본 발명에서 사용되는 파라메터들을 정의하면 하기의 <표 1>과 같다.
Parameters | 정 의 |
Nis=N-L | 삽입될 심볼들의 수 (여기서 N ≥L이므로, Nis는 항상 양수이다.) |
L | FDRT블록에 입력되는 부호어 심볼들의 수 |
N | FDRT블록에서 출력되는 심볼들의 수 |
Eacc | 오차의 누적된 값 |
(Ia, Ib) | 프레임내에서 처음 반복될 심볼의 위치를 결정하는 변수들단, Ib는 1 ≤Ib ≤Ia인 정수 |
상기 <표 1>에서, L은 도 4의 부호기 200에 의해 생성된 후 FDRT 블록 230에 입력되는 부호어 심볼들의 수를 나타낸다. N은 인터리버 220의 크기를 나타내며, 또한 상기 FDRT 블록 230에 의해 정합 처리된 후 출력되는 심볼들의 수를 나타낸다. Nis는 상기 인터리버 220의 크기 N에서 상기 입력 부호어 심볼들의 수 L을 뺀 수로 상기 FDRT 블록 230에서 삽입될 심볼들의 수를 나타낸다. Eacc 값은 미리 정해지는 초기값을 미리 설정된 값만큼씩 순차적으로 감소시킴에 따라 생성되는 값이다. 본 발명의 실시예에서는 프레임내의 각 심볼들에 대해 상기 Eacc 값을 생성하여 "0"의 값을 비교하고 비교 결과가 "0"보다 작거나 같은 경우 해당하는 심볼을 반복한다. 이러한 의미에서 상기 Eacc 값은 오차 누적값(error accumulation value)이라고 칭해질 것이고, 상기 초기값은 초기의 오차 누적값이라고 칭해질 것이다. 상기 설정 값은 (Ia ×Nis)로서 정해질 수 있다.
Eacc= Ib*Lm=1do while mLEacc=Eacc-Ia*Nis;do while Eacc ≤0repeat mth symbolEacc=Eacc+Ia*Lend dom=m+1end do |
상기 <표 2>는 본 발명의 실시예에 따른 FDRT 알고리즘을 나타낸다. 이 알고리즘에서 "repeat mth symbol"은 m번째 심볼을 반복하는 것을 의미한다. 이러한 m번째 심볼에 대한 반복은 Eacc ≤0인 경우에 "do while loop"에서 계속해서 이루어지며, Eacc > 0이 될 때까지 수행된다. 상기 알고리즘의 수행이 완료되면, 즉 m=L까지 "while loop"가 수행되면, 총 N개의 심볼들이 생성된다. 상기 N개의 심볼들은 FDRT 블록 230이 L개의 부호어 심볼들을 입력한 후 이 부호어 심볼들에 (N-L)개의 심볼들을 삽입함으로써 생성되는 심볼들이다. 상기 <표 2>에 도시된 본 발명의 실시예에 따른 FDRT 알고리즘은 후술될 도 6과 관련하여 보다 구체적으로 설명될 것이다.
한편, 상기 <표 2>에 나타난 바와 같은 알고리즘에 따른 방식은 임의의 M값(반복횟수)을 사용하는 VDRT(Variable Data Rate Transmission)의 경우에도 동일하게 사용될 수 있을 것이다. 또한 상기 방식은 부호어 심볼의 반복 위치를 선택하는 방식이므로, 앞서 설명된 반복과 천공에 의한 FDRT 방식에서 발생될 수 있는 특정 부호어 심볼이 천공에 의해 삭제되는 현상인 연속적인 천공(consecutive puncturing)은 절대로 발생하지 않는다. 따라서 이에 따른 성능감쇄는 발생하지 않는다.
상기 알고리즘에 있어서, Eacc, 0, Ia*Nis, Ia*L을 각각 그 성질에 따라 오차 누적값, 기준값, 감소값, 증가값이라고 정의한다면, 상기 알고리즘을 이용한 본 발명은 다음과 같은 과정으로 수행된다. 본 발명은 L개의 부호어 심볼들중 첫 번째 심볼에 대한 오차 누적값을 설정하는 (a) 과정과, 상기 오차 누적값과 미리 설정된기준값을 비교하는 (b) 과정과, 상기 (b) 과정에서 상기 오차 누적값이 상기 기준값보다 작은 경우, 해당 심볼을 반복하고 상기 오차 누적값에 미리 설정된 증가값을 더한 값을 해당 심볼에 대한 새로운 오차 누적값으로 재설정하고 상기 (b) 과정으로 진행하는 (c) 과정과, 상기 (b) 과정에서 상기 오차 누적값이 상기 기준값보다 큰 경우, 상기 오차 누적값으로부터 미리 설정된 감소값을 뺀 값을 다음 심볼에 대한 오차 누적값으로 설정하고 다음 심볼에 대하여 상기 (b) 과정으로 진행하는 (d) 과정과, 상기 (c) 과정 또는 상기 (d) 과정 수행중에 상기 L개의 부호어 심볼들로부터 상기 N개의 심볼들의 열이 발생된 경우 종료하는 (e) 과정을 포함함을 특징으로 한다. 상기 기준값, 감소값, 증가값은 각각 0, Ia*Nis, Ia*L으로 결정하는 것이 바람직하나, 이러한 결정에 한정되지 않고 실험에 의해 적절한 값으로 정해질 수도 있을 것이다.
상기 본 발명의 실시예에 따른 FDRT 알고리즘의 적용 예들이 설명될 것이다. 하기에서 CASE 1)은 M=1인 경우, 즉 반복이 없는 경우이고, CASE 2)는 M=2인 경우, 즉 부호어 심볼들의 열이 1번 반복되어 동일한 2개의 부호어 심볼들의 열이 생성되는 경우이고, CASE 3)은 M=3, 즉 부호어 심볼들의 열이 2번 반복되어 동일한 3개의 부호어 심볼들의 열이 생성되는 경우를 각각 나타낸다. 아래의 적용 예들에 있어서 파라메터들 (Ia,Ib)=(2,1)인 것으로 가정한다.
CASE 1)
입력 부호어 심볼들의 수 L=5, 출력 심볼들의 수 N=5라고 가정하면, 삽입(반복)될 심볼들의 수 Nis=N-L=5-5=0이 된다. 이는 0개의 심볼을 삽입해야 경우, 즉 반복이 요구되지 않는 경우를 의미한다. 하기의 <표 3>은 입력 부호어 심볼들의 각 위치 m=1,2,3,4,5에 대하여 심볼 반복(삽입) 패턴이 c1, c2, c3, c4, c5로 결정되는 경우, 즉 반복되는 심볼들의 위치가 없음(No Repetition)을 보여주고 있다. 따라서 심볼 반복 패턴 c1, c2, c3, c4, c5에 대응하는 입력 부호어 심볼들이 도 5a에 도시된 바와 같이 N=5개의 심볼들로서 출력된다.
입력 심볼들 위치 | m=1 | m=2 | m=3 | m=4 | m=5 |
Eacc=Eacc-Ia*Nis(Eacc=5) | +5 | +5 | +5 | +5 | +5 |
Eacc=Eacc+Ia*L | NA | NA | NA | NA | NA |
Repetition | No | No | No | No | No |
심볼 반복 패턴 | c1 | c2 | c3 | c4 | c5 |
예를 들어, 상기 <표 3>에서 초기의 오차 누적값 Eacc는 5이고, m=1인 위치의 입력 심볼에 대한 오차 누적값 Eacc는 Eacc - Ia*Nis = 5 - 2 ×(N-L) = 5 - 2 ×0 = 5이다. 따라서 오차 누적값 Eacc는 0보다 크므로 m=1 위치의 심볼에 대해서는 반복이 행해지지 않는다. 즉, m=1 위치의 입력 심볼 c1에 대한 심볼 반복 패턴은 c1으로 정해지고, 하나의 입력 심볼이 그대로 출력된다. 상기 <표 3>에서 NA는 Eacc + Ia*L에 의한 오차 누적값의 계산이 불요함(Not Availabel)을 의미한다.
CASE 2)
입력 부호어 심볼들의 수 L=5, 출력 심볼들의 수 N=8 이라고 가정하면, 삽입(반복)될 심볼들의 수 Nis=N-L=8-5=3이다. 이는 5개의 부호어 심볼들의 사이에3개의 심볼들을 삽입해야 하는 것을 의미한다. 하기의 <표 4>는 입력 부호어 심볼들의 각 위치 m=1,2,3,4,5에 대하여 심볼 반복(삽입) 패턴이 c1,c1, c2, c3,c3, c4, c5,c5로 결정되는 경우를 보여주고 있다. 따라서 상기 심볼 반복 패턴 c1,c1, c2, c3,c3, c4, c5,c5에 대응하여 입력 부호어 심볼들이 반복 처리되고, 반복 처리된 N=8개의 심볼들이 도 5b에 도시된 바와 같이 출력된다.
입력심볼들 위치 | m=1 | m=2 | m=3 | m=4 | m=5 |
Eacc=Eacc-Ia*Nis(Eacc=5) | -1 | 3 | -3 | 1 | -5 |
Eacc=Eacc+Ia*L | 9 | 3 | 7 | 1 | 5 |
Repetition | Repetition | No | Repetition | No | Repetition |
심볼 반복 패턴 | c1,c1 | c2 | c3,c3 | c4 | c5,c5 |
예를 들어, 상기 <표 4>에서 초기의 오차 누적값 Eacc는 5이고, m=1인 위치의 입력 심볼에 대한 오차 누적값 Eacc는 Eacc - Ia*Nis = 5 - 2 ×(N-L) = 5 - 2 ×3 = -1이다. 오차 누적값 Eacc는 0보다 작으므로, m=1 위치의 심볼에 대해서 반복이 행해진다. 이러한 반복이 행해짐에 따라 오차 누적값 Eacc는 Eacc + Ia*L = -1 + 2 ×3 = 5로 업데이트된다. 업데이트된 오차 누적값 Eacc는 0보다 크므로, m=1 위치의 심볼에 대해서 더 이상의 반복은 행해지지 않는다. 즉, m=1 위치의 입력 심볼 c1에 대한 심볼 반복 패턴은 c1,c1으로 정해지고, 하나의 입력 심볼에 대해 2개의 출력 심볼들이 생성된다.
CASE 3)
입력 부호어 심볼들의 수 L=5, 출력 심볼들의 수 N=15라고 가정하면, 삽입(반복)될 심볼들의 수 Nis=N-L=15-5=10이다. 이는 5개의 부호어 심볼들의 사이에 10개의 심볼들을 삽입해야 하는 것을 의미한다. 하기의 <표 5>는 입력 부호어 심볼들의 각 위치 m=1,2,3,4,5에 대하여 심볼 반복(삽입) 패턴이 c1,c1,c1, c2,c2,c2, c3,c3,c3, c4,c4,c4, c5,c5,c5로 결정되는 경우를 보여주고 있다. 따라서 상기 심볼 반복 패턴 c1,c1,c1, c2,c2,c2, c3,c3,c3, c4,c4,c4, c5,c5,c5에 대응하여 입력 부호어 심볼들이 반복 처리되고, 반복 처리된 15개의 심볼들이 도 5c에 도시된 바와 같이 출력된다.
입력 심볼들 위치 | m=1 | m=2 | m=3 | m=4 | m=5 |
Eacc=Eacc-Ia*Nis(Eacc=5) | -15 | -15 | -15 | -15 | -15 |
Eacc=Eacc+Ia*L | -5, +5 | -5, +5 | -5, +5 | -5, +5 | -5, +5 |
Repetition | Repetition | Repetition | Repetition | Repetition | Repetition |
심볼 반복 패턴 | c1,c1,c1 | c2,c2,c2 | c3,c3,c3 | c4,c4,c4 | c5,c5,c5 |
상기 <표 5>에서 5, +5는 "do While Eacc ≤0"의 조건에 따라서 Nested while loop를 돌면서 생성되는 Eacc값의 결과이다. 따라서 Nested while loop가 진행되면 심볼의 반복 횟수는 증가하게 된다. 예를 들어, 상기 <표 5>에서 초기의 오차 누적값 Eacc는 5이고, m=1인 위치의 입력 심볼에 대한 오차 누적값 Eacc는 Eacc - Ia*Nis = 5 - 2 ×(N-L) = 5 - 2 ×10 = -15이다. 오차 누적값 Eacc는 0보다 작으므로, m=1 위치의 심볼에 대해서 반복이 행해진다. 이러한 반복이 행해짐에 따라 오차 누적값 Eacc는 Eacc + Ia*L = -15 + 2 ×5 = -5로 업데이트된다. 업데이트된 오차 누적값 Eacc는 0보다 작으므로, m=1 위치의 심볼에 대해서 또 한번의 반복이 행해진다. 다시 반복이 행해짐에 따라 오차 누적값 Eacc는 Eacc + Ia*L = -5 + 2×5 = 5로 업데이트된다. 업데이트된 오차 누적값 Eacc는 0보다 크므로, m=1 위치의 심볼에 대해서 더 이상의 반복은 행해지지 않는다. 따라서 m=1 위치의 심볼에 대해서 2번의 반복이 행해진다. 즉, m=1 위치의 입력 심볼 c1에 대한 심볼 반복 패턴은 c1,c1,c1으로 정해지고, 하나의 입력 심볼에 대해 3개의 출력 심볼들이 생성된다.
전술한 적용 예들에 있어서, 파라메터 (Ia,Ib)는 (2,1)인 것으로 가정하였다. 그러나, 이러한 (Ia, Ib) 파라메터의 결정은 사용되는 오류정정부호(ECC: Error Correction Code)의 특성에 따라서 다르게 설정될 수도 있다. 예를 들어, 오류정정부호로서 컨볼루션 부호, 선형블록 부호 또는 터보 부호가 사용될 수 있고, 이러한 경우 상기 파라메터 (Ia,Ib)는 (2,1), (4,1), (8,1)로 설정될 수도 있고, (L,1)(여기서, L은 부호어 심볼들의 수)로 설정될 수도 있고, (L,K)(여기서, 1 ≤K ≤L인 정수)로 설정될 수도 있다. 따라서 본 발명에서 사용되는 (Ia, Ib) 파라메터는 사용되는 오류정정부호에 따라서 최적의 성능을 가지도록 결정될 수 있다는 사실에 유의하여야 한다. 단, (Ia, Ib) 파라메터는 후술될 설명에서와 같은 성질이 있으므로, 이러한 성질을 바탕으로 결정되어야 할 것이다. 하기의 <수학식 1)에서 Initial offset_m 은 한 프레임내의 부호어 심볼들중에서 맨 처음 반복될 심볼의 위치를 의미한다.
상기 <수학식 1>을 참조하면, (Ia, Ib) 파라메터를 조절함으로써 한 프레임내에서 반복될 심볼의 초기 위치를 (L/Nis)의 범위에서 조절할 수 있다.
예를 들어, Ib가 상수인 경우 Initial offset_m은 Ia가 증가할수록 감소하므로, 첫번째 반복될 심볼의 위치는 한 프레임내의 앞쪽으로 이동한다. 이때 Ia가 Ib*Nis/L 보다 크거나 같으면 Initial Offset_m은 1이므로, 항상 첫번째 심볼이 반복된다. Ib 파라메터는 Ia와 함께 Initial Offset_m을 조절하는 값으로, Ia가 결정되면 상기 Ib 파라메터는 통상 1 ≤Ib ≤Ia의 범위에서 값을 가지도록 결정된다. Ia가 상수인 경우 Ib값이 증가할수록 Initial Offset_m은 증가하고, Ib가 감소할수록 Initial Offset_m의 값은 감소한다. 따라서 상기 Ib의 값을 조절함으로써 첫번째 반복 심볼의 위치를 조절할 수도 있다. 즉, Ia는 심볼 반복의 주기의 결정 및 최초 반복되는 심볼의 결정에 영향을 주는 파라메터이고, Ib는 최초 반복되는 심볼을 결정하는데 있어 영향을 줌으로써 전체 반복되는 심볼의 위치에 영향을 주는 파라메터이다. 상기 알고리즘에서 알 수 있는 바와 같이, Ib는 Eacc 초기값 설정에만 영향을 주고, 반복 여부에 따라 증가 또는 감소하는 값에는 Ia가 포함되어 Ia가 심볼 반복 주기에 영향을 준다. 따라서, Ib가 변하면 반복되는 심볼의 위치가 전체적으로 변하게 된다.
하기의 <표 6>은 상기 CASE 1), 2), 3) 각각의 경우에 대해 결정된 InitialOffset_m을 나타내고 있다.
구분 | CASE 1 | CASE 2 | CASE 3 |
M | 1.O | 1.6(=8/5) | 3.0(=15/5) |
Initial Offset_m | ┌(1/2)*(5/0) ┐=∞ | ┌(1/2)*(5/3) ┐= ┌5/6 ┐= 1 | ┌(1/2)*(5/10) ┐= ┌5/20 ┐= 1 |
Repetition | NA | 첫 번째 심볼(m=1) | 첫 번째 심볼(m=1) |
상기 <표 6>을 참조하면, CASE 1)의 경우는 반복이 필요없으며, CASE 2) 및 CASE 3)의 경우에는 Initial Offset_m의 값이 모두 1로 정해지므로 프레임 내에서 반복될 심볼의 초기 위치는 첫 번째 심볼의 위치로 결정된다.
도 6은 본 발명의 실시예에 따른 FDRT 방식의 처리 흐름을 도시하는 도면이다. 이러한 처리 흐름을 수행함에 있어서 FDRT 블록으로 입력되는 부호어 심볼들의 수 L, FDRT 블록에서 출력되는 심볼들의 수 N, (Ia, Ib) 파라메터가 주어졌다고 가정한다. 이에 따라 삽입(반복)될 심볼들의 수 Nis=(N-L)이 결정되게 된다. 상기 입력 부호어 심볼들의 수 L은 도 4의 부호기 200으로부터 출력되어 FDRT 블록 230으로 인가되는 부호어 심볼들의 수이고, 상기 출력 심볼들의 수 N은 FDRT 블록 230으로부터 출력되어 인터리버 220으로 인가되는 심볼들의 수이다. 상기 N은 상기 인터리버 220의 크기에 따른 심볼들의 수이다. 한 프레임내에 포함되는 부호어 심볼들의 수 L은 가변적인 데이터전송율에 따라 가변될 수 있고, 인터리버 크기에 대응하는 심볼 수(N)는 고정적으로 정해진다. 그러므로, 본 발명의 실시예에서는 상기 인터리버 크기에 대응하는 심볼 수(N)에 상기 L개의 부호어 심볼들을 정합시켜 전송할 수 있도록 한다.
상기 도 6을 참조하면, 601단계에서는 상기 주어진 Ib와 L 값의 곱셈 결과인Eacc 값을 입력받는 초기화 동작이 수행된다. 상기 Eacc 값은 전술한 바와 같이 미리 정해지는 초기 오차 누적값을 미리 설정된 값만큼씩 순차적으로 감소시킴에 따라 생성되는 값이다. 602단계에서는 입력 부호어 심볼의 위치를 나타내는 m의 값이 1로 지정된다. 603단계에서는 상기 m의 값이 입력 부호어 심볼들의 수 L보다 작거나 같은지 여부가 판단된다. 상기 m의 값이 입력 부호어 심볼들의 수 L보다 작거나 같은 것으로 판단되는 경우, 604단계에서는 상기 601단계에서 구해진 Eacc 값에서 (Ia ×Nis)의 값을 감산함에 의해 Eacc 값이 업데이트(update)된다.
605단계에서는 상기 604단계에서 업데이트된 Eacc 값이 0보다 작거나 같은지 여부가 판단된다. 상기 업데이트된 Eacc 값이 0보다 작거나 같지 않은 것으로 판단되는 경우, 즉 상기 업데이트된 Eacc 값이 0보다 큰 경우, 606단계에서는 상기 m의 값에 1을 증가시킴에 의해 입력 부호어 심볼의 위치를 다음 위치로 지정하는 동작이 수행된다. 1 증가된 위치의 입력 부호어 심볼에 대해서도 상기 603단계 내지 605단계의 동작이 동일하게 수행된다. 이러한 동작, 즉 입력 부호어 심볼의 위치를 증가시키면서 업데이트된 Eacc 값이 0보다 작거나 같은지 여부를 판단하는 동작은 한 프레임내의 모든 부호어 심볼들에 대해서 반복적으로 수행된다. 그러므로 한 프레임내의 모든 부호어 심볼들에 대한 603단계 내지 605단계의 동작은 상기 603단계에서 한 프레임내의 모든 부호어 심볼들에 대한 동작이 수행된 것으로 판단될 때, 즉 m ≤L인 것으로 판단될 때까지 반복적으로 수행된다.
상기 605단계에서 상기 업데이트된 Eacc 값이 0보다 작거나 같은 것으로 판단되는 경우에는 607단계에서 해당하는 m번째 심볼이 반복된다. 608단계에서는 상기 604단계에서 구해진 Eacc 값에 (Ia ×L)의 값을 가산함에 의해 Eacc 값이 업데이트된다. 상기 608단계를 수행한 이후에는 상기 605단계로 진행된다.
전술한 603단계 내지 606단계의 동작은 프레임내의 부호어 심볼들 각각에 대한 오차값 Ecc를 구하고 그 결과값에 따라 부호어 심볼들중에서 반복시킬 심볼을 찾는 동작이고, 607단계 및 608단계의 동작은 반복을 위해 찾아진 심볼을 몇 번 반복시킬 것인가를 결정하고 그에 따라 반복시키는 동작에 해당한다. 이러한 본 발명의 실시예에 따르면, 프레임내의 L개의 부호어 심볼들중에서 상기 결정된 심볼들의 수(Nis=N-L) 만큼의 심볼 위치들에 대응하는 위치 심볼들을 찾고, 상기 찾은 위치 심볼들 바로 전 또는 후에 상기 위치 심볼들을 순차로 반복 삽입함으로써 N개의 심볼들의 열을 발생한다. 이때 L개의 심볼들중 (N-L)개의 심볼들은 대체로 균등한 거리를 가진다.
도 7은 본 발명의 실시예에 따른 FDRT 장치의 구성을 구체적으로 도시하는 도면이다. 이 장치는 상기 도 6에 도시된 바와 같은 FDRT 방식의 처리 흐름을 수행한다.
상기 도 7에서, EN은 인에이블(Enable) 표시로서, EN=1이면 해당되는 블록이 동작을 하는 것을 의미하며, EN=0인 경우에는 해당블록이 동작하지 않고 멈추어 있는 것을 의미한다. 심볼 반복기 707은 EN=0인 경우에는 매 클록마다 입력되는 부호어 심볼 Ck를 그대로 출력하고, EN=1인 경우에는 입력되는 부호어 심볼 Ck를 반복하여 출력한다. 하나의 부호어 심볼에 대해 상기 EN=1의 신호는 다수번 발생할 수 있다. 상기 심볼 반복기 707에 대한 인에이블 신호 EN은 Eacc ≤0을 검사하는 비교기 705로부터의 출력 신호이다. 상기 비교기 705는 Eacc ≤0이면 "1(High)"레벨의 인에이블 신호를 출력하고, Eacc > 0이면 "0(Low)"레벨의 인에이블신호를 출력한다. 또한 상기 비교기 705로부터의 출력 신호는 다른 구성 요소들 703과 704를 거쳐 701,702로도 인가되어 해당하는 구성요소를 인에이블시킨다.
본 발명의 실시예에 따른 FDRT 장치는 도면에 도시된 바와 같이, 레지스터(register) 701, 감산기(subtractor) 702, 선택기 703, 반전기(inverter) 704, 비교기 705, 가산기(adder) 706 및 심볼 반복기 707로 구성된다.
레지스터 701은 상기 FDRT 장치가 처음에 구동되는 초기화시에는 초기값(Initial value)인 (Ib ×L)의 값을 Eacc 값으로 다운로드(download)하여 저장하고, 이후에는 감산기 702로부터 인가되는 Eacc 값을 저장한다. 감산기 702는 상기 레지스터 701에 저장되어 있는 Eacc 값으로부터 (Ia ×Nis)의 값을 감산하고, 감산결과를 Eacc 값으로 업데이트시켜 출력한다. 초기화시 상기 레지스터 701의 동작은 도 6의 601단계에 해당하고 감산기 702의 동작은 604단계에 해당한다. 감산기 702로부터의 Eacc 값 출력의 동작은 반전기 704의 출력 신호가 "1"레벨의 신호인 경우, 즉 비교기 705로부터의 출력신호가 "0"레벨의 신호인 경우에 수행되고, 그 반대의 경우에는 수행되지 않는다.
선택기 703은 멀티플렉서(multiplexer)로서 구현될 수 있으며, 초기에는 감산기 702로부터의 Eacc 값을 비교기 705 및 가산기 706으로 제공하고, 이후에는 비교기 705로부터의 출력 신호인 인에이블 신호의 레벨에 따라 선택적인 출력 동작을 수행한다. 상기 인에이블 신호가 "0"레벨인 경우에 선택기 703은 감산기 702로부터의 값을 비교기 705 및 가산기 706으로 제공하고, "1"레벨인 경우에는 가산기 706으로부터의 출력값을 비교기 705 및 가산기 706으로 제공한다.
비교기 705는 선택기 703으로부터의 출력인 Eacc 값이 0보다 작거나 같은지 여부를 비교 및 판단하고, 판단 결과 신호를 출력한다. 선택기 703으로부터의 출력인 Eacc 값이 0보다 작거나 같은 경우에는 "1"레벨의 신호를 출력하고, 그렇지 않은 경우에는 "0"레벨의 신호를 출력한다. 비교기 705로부터 출력되는 신호에 따라 심볼 반복기 707은 입력 부호어 심볼을 반복 처리없이 직접 출력할 수도 있고, 반복 처리하여 출력할 수도 있다. 또한 비교기 705로부터 출력되는 신호에 따라 선택기 703과 레지스터 701 및 감산기 702의 동작이 제어된다. 비교기 705의 동작은 도 6의 605단계의 동작에 해당한다.
가산기 706은 선택기 703으로부터 출력되는 Eacc 값과 (Ia×L)의 값을 가산하여 선택기 703으로 제공한다. 이러한 가산기 706의 동작은 비교기 705로부터의 출력신호가 "1"레벨임에 따라 선택기 703이 감산기 702로부터의 출력신호를 선택하지 않는 경우에 의미를 가지는 것으로, 도 6의 608단계에 해당한다.
상기 레지스터 701에서 출력되는 오차 누적값 Eacc를 제1 오차 누적값, 상기 감산기 702에서 출력되는 오차 누적값 Eacc를 제2 오차 누적값, 상기 가산기 706으로부터 출력되는 오차 누적값 [Eacc+(Ia*L)}을 제3 오차 누적값, 상기 선택기 703으로부터 출력되는 오차 누적값 Eacc를 제4 오차 누적값이라고 가정한다. 상기 레지스터 701은 미리 설정된 프레임내의 심볼들중에서 처음 반복될 심볼의 위치를 결정하기 위한 제1변수(Ia) 및 제2변수(Ib)(여기서, Ib는 1보다 크거나 같고 Ia보다작거나 같은 정수)중에서 상기 제2변수와 L을 승산함에 의해 정해지는 제1 파라메터를 상기 제1 오차 누적값으로 저장 및 출력한다. 즉, 상기 제1 레지스터 701은 초기의 심볼에 대해서는 상기 제1 파라메터를 상기 제1 오차 누적값으로 출력하고, 상기 초기 심볼 이후의 심볼들에 대해서는 이전의 심볼에 대한 상기 제2 오차 누적값을 상기 제1 오차 누적값으로 업데이트하여 출력한다. 상기 제2 오차 누적값을 상기 제1 오차 누적값으로 업데이트하여 출력하는 동작은 상기 비교기 705로부터 상기 제4 오차 누적값이 미리 설정된 기준값(예: "0")보다 큰 것으로 판단되는 경우에 출력되는 제어신호에 응답하여 상기 레지스터 701이 인에이블됨에 따라 수행된다. 상기 감산기 702는 상기 제1 오차 누적값으로부터 상기 제1 변수와 Nis(=N-L)을 승산함에 의해 정해지는 제2 파라메터를 감산하고 그 감산 결과를 제2 오차 누적값으로 출력한다. 상기 선택기 703은 상기 제2 오차 누적값과 상기 제3 오차 누적값을 입력하고 상기 비교기 705의 제어하에 상기 제2 오차 누적값과 상기 제3 오차 누적값을 선택적으로 상기 제4 오차 누적값으로 출력한다. 상기 가산기 706은 상기 제4 오차 누적값을 입력하고, 상기 제4 오차 누적값과 상기 제1변수와 L을 승산함에 의해 정해지는 제3 파라메터를 가산하고, 그 가산 결과를 상기 제3 오차 누적값으로 출력한다. 상기 비교기 705는 상기 제4 오차 누적값과 미리 설정된 기준값을 비교하고, 상기 제4 오차 누적값이 상기 기준값보다 작거나 같은지 또는 큰지 여부를 판단한다. 상기 비교기 705는 상기 제4 오차 누적값이 상기 기준값보다 큰 경우에는 상기 제2 오차 누적값이 상기 제4 오차 누적값으로 출력되도록 상기 선택기 703을 제어하기 위한 신호를 출력하고, 상기 제4 오차 누적값이 상기 기준값보다 작거나 같은 경우에는 상기 제3 오차 누적값이 상기 제4 오차 누적값으로 출력되도록 상기 선택기 703을 제어하기 위한 신호를 출력한다. 상기 반전기 704는 상기 비교기 705와 상기 레지스터 701의 사이에 접속되고, 상기 비교기 705로부터의 출력 제어신호에 응답하여 상기 레지스터 701을 인에이블시켜 상기 레지스터 701이 상기 제2 오차 누적값을 상기 제1 오차 누적값으로 업데이트하여 출력하도록 한다. 상기 심볼 반복기 707은 상기 비교기 705에 의한 판단결과를 제공받고, 상기 L개의 부호어 심볼들 각각에 대해 계산된 오차의 누적값이 상기 기준값보다 작거나 같은 심볼들을 반복 삽입하여 상기 N개의 심볼들의 열을 발생한다.
실시 예 2
전술한 본 발명의 제1 실시예에서는 컨볼루션부호나 선형블록부호처럼 부호기에서 출력되는 부호어 심볼의 에러 감도가 하나의 프레임(부호어)내의 모든 심볼들에 대해서 거의 유사하다는 특징을 고려하여 프레임내에서 가급적 균일한 천공(Uniform puncturing) 또는 균일한 반복 (Uniform repetition or Insertion)이 이루어지도록 하는 FDRT에 대하여 설명하였다. 상기 기술한 방식이 터보부호에 대해 파라메터의 설정을 적절하게 제어함으로써 동일하게 적용될 수 있음이 이하에서 설명될 것이다.
도 8은 본 발명의 다른 실시예에 따른 FDRT 장치의 구성을 보여주는 도면이다. 이러한 실시예는 부호기로서 부호율이 1/3인 터보 부호기가 사용되는 경우를고려하여 구현된 FDRT 장치이다.
상기 도 8을 참조하면, 부호기 801은 소스 정보를 부호화하고, L개의 부호어 심볼들의 열을 발생 및 출력한다. 역다중화기(demultiplexer) 802는 상기 L개의 부호어 심볼들의 열을 L1개의 정보어(information) 심볼들로 이루어지는 X그룹과, 각각 L2개와 L3개의 패리티(parity) 심볼들로 이루어지는 Y그룹 및 Z그룹으로 분리하여 출력한다. 이때 L=L1+L2+L3의 관계가 성립하고, L1과 L2와 L3은 서로 동일하게 정해질 수도 있고 다르게 정해질 수도 있다. 제1 FDRT 블록 803은 L1개의 정보어 심볼들을 입력하고, 심볼 삽입에 의해 L1개의 부호어 심볼들에 (N1-L1)개의 심볼들을 삽입하여 N1개의 심볼들을 출력한다. 이때 상기 제1 FDRT 블록 803은 상기 L1개의 부호어 심볼들중 대체로 균등 거리를 가지는 (N1-L1)개의 심볼 위치들에 대응하는 위치 심볼들을 찾고, 상기 찾은 위치 심볼들 바로 전 또는 후에 상기 위치 심볼들을 순차로 반복하여 삽입한다. 제2 FDRT 블록 804는 L2개의 패리티 심볼들을 입력하고, 심볼 삽입에 의해 L2개의 부호어 심볼들에 (N2-L2)개의 심볼들을 삽입하여 N2개의 심볼들을 출력한다. 이때 상기 제2 FDRT 블록 804는 상기 L2개의 부호어 심볼들중 대체로 균등 거리를 가지는 (N2-L2)개의 심볼 위치들에 대응하는 위치 심볼들을 찾고, 상기 찾은 위치 심볼들 바로 전 또는 후에 상기 위치 심볼들을 순차로 반복하여 삽입한다. 제3 FDRT 블록 805는 L3개의 정보어 심볼들을 입력하고, 심볼 삽입에 의해 L3개의 부호어 심볼들에 (N3-L3)개의 심볼들을 삽입하여 N3개의 심볼들을 출력한다. 이때 상기 제3 FDRT 블록 805는 상기 L3개의 부호어 심볼들중 대체로 균등 거리를 가지는 (N3-L3)개의 심볼 위치들에 대응하는 위치 심볼들을 찾고,상기 찾은 위치 심볼들 바로 전 또는 후에 상기 위치 심볼들을 순차로 반복하여 삽입한다. 다중화기(multiplexer) 806은 상기 FDRT 블록들 803,804,805로부터 각각 출력되는 N1개의 심볼들, N2개의 심볼들, N3개의 심볼들을 다중화하여 N개의 심볼들을 출력한다. 이때 N1+N2+N3=N의 관계가 성립하고, N1과 N2와 N3은 서로 동일하게 정해질 수도 있고 다르게 정해질 수도 있다. 인터리버 807은 상기 다중화기 806으로부터 출력되는 N개의 심볼들에 대해 인터리빙을 행한 후 인터리버 크기인 N개의 심볼들을 출력한다.
상기 도 8에서 보듯이 부호율 R=1/3인 터보부호기 802에서 출력되는 부호어 심볼들을 역다중화기(demultiplexer) 802를 사용하여 각각 정보어 심볼 부분 X그룹(L1)과 패리티 심볼 부분 Y그룹(L2), Z그룹(L3)으로 분리하여 각각의 FDRT를 다르게 적용할 수 있다. 물론 각각의 FDRT블록들(803,804,805)에 사용되는 알고리즘은 상기 기술한 내용을 그대로 적용하면 된다. 단지, 여기서 조정해야하는 변수는 각각의 FDRT 블록들에 할당되는 (Li, Ni)의 값과 (Iai, Ibi) 파라미터이다. 물론 L=L1+L2+L3이며 N=N1+N2+N3의 관계를 만족한다. 따라서 (N-L)개의 심볼 삽입수를 가지고 각각의 그룹에 이를 차등분할 하는 것이 터보부호의 성능개선의 주안점이 된다. 즉, 각각의 그룹에 있는 이러한 변수를 조절함으로써 각각의 부호어 심볼그룹이 지닌 에러감도에 따라 서로 다른 양의 심볼 삽입 수(Number of inserted Symbols)를 결정하면 최적의 성능을 얻을 수 있다. 예를 들어, 정보어 심볼 부분 X그룹이 중요한 경우 이 부분의 심볼 반복 수를 증가시키고(예: L/2) 나머지 Y, Z 그룹의 심볼 반복 수를 남은 양으로부터 균등 분할하여 할당(예: 각각 L/4)할 수있다. 이러한 반복 심볼의 수 결정은 사용하는 부호의 부호율, 생성 다항식 등에 관계되므로 이를 최적화하기 위한 변수의 최적화 과정이 필요하다. 여기서는 이러한 변수들의 최적화 과정을 구체적으로 다루지는 않겠지만, 이러한 변수들에는 실험에 의해서 구해진 최적의 값이 사용될 수 있을 것이다. 각각의 그룹에 해당되는 Li, Ni, Iai, Ibi가 결정되면 각 FDRT 블록들은 전술한 바와 같이 심볼 반복에 의한 심볼 삽입 동작을 수행한다.
실시 예 3
전술한 본 발명의 제2 실시예에서는 터보부호기 801에서 출력되는 부호어 심볼들을 각각 정보어 심볼 부분 X그룹와 패리티 심볼 부분 Y그룹, Z그룹으로 분리하여 각각의 FDRT 처리를 각 그룹별로 다르게 적용하였다. 상기 제2 실시예와 달리, 본 발명의 제3 실시예는 컨볼루션부호 또는 선형블록부호와 같이 정보어 심볼 부분 X그룹과 패리티 심볼 부분 Y그룹, Z그룹이 하나의 연속된 열의 부호어 심볼로 출력되는 경우에도 터보부호의 성능을 최적화되도록 하기 위한 것이다. 즉, 본 발명의 제3 실시예는 앞서 제시한 컨볼루션부호와 같이 터보부호기로부터 출력되는 부호어 심볼들에 대해 처리한 것과 동일하게 프레임내에서 균일심볼삽입(Uniform symbol insertion or repetition)이 이루어지도록 한다. 게다가, 본 발명의 제3 실시예는 터보부호의 특성을 고려하여 아래와 같은 조건을 만족하도록 초기 오프셋을 제어함으로써 상기 제2 실시예에서와 같이 각 그룹별로 부호어 심볼들을 분리하여 구한성능에 근접하는 성능이 제공되도록 한다.
(조건) 터보부호를 사용하며, 부호어 심볼들이 단일의 열로 출력되는 부호기 구조에서 터보부호의 최적의 성능을 보장하기 위해서는 가급적 터보부호기에서 출력되는 부호어 심볼들중 정보어 심볼 부분인 X그룹의 반복을 강화한다.
상기 조건이 만족되도록 하기 위해 본 발명의 실시예에서는 오프셋 제어방식을 제안한다.
부호율이 R=1/3인 터보 부호기에 의해 생성되어 출력되는 부호어 심볼들의 수가 상기 터보 부호기의 후단에 접속되는 인터리버의 크기보다 큰 통신시스템에서는 상기 부호어 심볼들이 상기 인터리버의 크기에 정합되도록 하기 위해, 통상 상기 부호어 심볼들을 반복 처리하고 반복 심볼들을 천공 처리한다. 이러한 천공 처리시 심볼 천공의 주기가 3의 배수이고 처음 부호어 심볼부터 천공이 이루어진다면, 이는 연속적으로 정보어 심볼만이 천공됨을 의미한다. 예를 들어, 부호어 심볼들의 수가 L=15이고 인터리버의 크기가 N=20인 경우, 부호어 심볼들이 인터리버의 크기에 정합되도록 하기 위해 상기 부호어 심볼들을 M=2만큼 반복하게 되면 천공될 심볼들의 수는 P=LM-N=10이 된다. 결국 평균 천공주기는 3이 된다. 따라서 터보부호의 성능은 정보어 심볼 이외의 패리티 심볼을 천공하는 경우에 비하여 성능이 저하된다. 이러한 문제점은 본 발명의 실시예에서와 같이 전송율 정합을 위해 부호어 심볼들을 반복하여 삽입하는 FDRT 처리의 경우에도 동일하게 나타난다.
도 9는 본 발명의 실시예에 따른 FDRT 처리시 발생할 수 있는 문제점을 설명하기 위한 도면이다.
상기 도 9에서, 부호기로서 부호율이 R=1/3인 터보 부호기가 사용되는 경우, 상기 부호기는 전술한 바와 같이 X그룹의 정보어 심볼들(1,4,7,10,13,16), Y그룹의 패리티 심볼들(2,5,8,11,14,17), Z그룹의 패리티 심볼들(3,6,9,12,15,18)을 순차적으로 발생한다. 이때 빗금친 정보어 심볼들이 반복되지 않는다면, 상기 정보어 심볼들은 패리티 심볼들에 비해 상대적으로 반복되지 않아 적은 심볼 에너지를 가지게 될 것이다. 이에 따라 터보 부호의 성능이 저하될 것이다. 이를 해결하기 위한 방법으로 전술한 <수학식 1>에 나타낸 바와 같은 초기 오프셋 개념을 사용하여 반복되지 않은 심볼의 위치를 조절함으로써 정보어 심볼 대신에 패리티 심볼이 주기적으로 반복되지 않도록 할 수 있다.
도 10은 본 발명의 실시예에 따른 FDRT 처리시 초기 오프셋 개념을 사용하는 경우 생성되는 심볼들의 예를 보여주는 도면이다.
상기 도 10을 참조하면, 정보어 심볼들(1,4,7,10,13,16)은 반복되어질 수 있고 패리티 심볼들(2,5,8,11,14,17 또는 3,6,9,12,15,18)은 반복되지 않는 것을 알 수 있다.
부호율 | R=1/2 | R=1/3 | R=1/4 | R=1/5 |
반복되지 않는 심볼간 간격 D | 2m,m=1,2,3,‥ | 3m,m=1,2,3,‥ | 4m,m=1,2,3,‥ | 5m,m=1,2,3,‥ |
offset controlvalue | +1 symbol | +1,+2 symbols | +1,+2,+3symbols | +1,+2,+3,+4symbols |
상기 <표 7>은 이미 언급한 바와 같이 터보 부호기로부터 생성되는 부호어 심볼들중 정보어 심볼들을 반복되지 않도록 처리하는 경우의 문제점 및 이러한 문제점을 해결하기 위해 부호율에 따른 오프셋 제어를 행하는 내용을 정리한 것이다.이러한 문제점은 터보 부호기로부터 생성되는 부호어 심볼들중 정보어 심볼들을 천공하는 경우에도 동일하게 발생하지만, 여기서는 본 발명과 관련하여 정보어 심볼들을 반복되지 않도록 처리하는 경우의 문제점에 대해서만 국한하여 설명하기로 한다. 부호율이 R=1/2인 경우에는 반복되지 않는 심볼간의 간격 D가 2 또는 그의 배수인 경우가 문제가 되며, R=1/3 경우에는 D=3 또는 그의 배수인 경우가 문제가 되며, R=1/4인 경우에는 D=4 또는 그의 배수인 경우가 문제가 된다. 상기 <표 7>에서 "Offset control value"은 앞서 제기한 문제를 해결하기 위해서 조정해야 하는 오프셋 값(Offset value)을 표시한 것이다. 예를 들어, 부호율이 R=1/3인 경우 +1 심볼 오프셋(symbol Offset)을 제공함으로써 Y그룹의 패리티 심볼들(2,5,8,11,14,17)이 주기적으로 반복되지 않는다. 마찬가지로 +2 심볼 오프셋을 제공하면 Z그룹의 패리티 심볼들(3,6,9,12,15,18)이 주기적으로 반복되지 않는다. 이러한 오프셋 제어(Offset Control)의 방식은 여러 형태가 존재할 수 있으며 여기서는 그 구현의 일 예만을 설명하고 있다는 사실에 유의하여야 한다. 이와 같이 오프셋을 제어함으로써 터보부호에서 가장 중요한 정보어 심볼이 연속적으로 반복되지 않는 문제점을 해결하고 성능을 개선시킬 수 있다.
다음으로 이러한 오프셋제어(Offset Control)의 한 방식으로 앞서 제시한 (la, lb) 파라미터를 사용하는 방식을 설명한다. 앞서 <수학식 1>에서 언급하였듯이 프레임내에서 반복되는 심볼의 초기 위치인 Initial offset_m은 상기 <수학식 1>에 의해 결정된다. 상기 <수학식 1>에서 보여주듯이 (Ia, Ib) 파라미터는 반복주기인 (L/Nis)를 (Ib/Ia)로서 제어하고 있다. 따라서 만일 D가 상기 <표 7>에서 나타난 바와 같이 부호율에 따라 2m, 3m, 4m(여기서, m=1,2,3,‥)과 같이 결정되는 경우, (Ib/Ia) 값을 사용하여 원하는 심볼 반복 위치가 설정되도록 결정함으로써 초기 오프셋(Initial Offset_m)을 가변시킬 수 있다. 즉, 터보부호의 각 부호율에 따라 상기 <표 7>에 나타난 바와 같이 오프셋 제어값을 설정하기 위해 (Ib/Ia)=(Nis/L)*1, (Ib/Ia)=(Nis/L)*2, (Ib/Ia)=(Nis/L)*3, (Ib/Ia)=(Nis/L)*4 등으로 결정하고 프레임 단위로 정해지는 부호어 심볼들의 수(FDRT 블록으로 입력되는 심볼들의 수) L, 인터리버의 크기(FDRT 블록으로부터 출력되는 심볼들의 수) N을 고려하여 (Ib/Ia)값을 적절하게 선택함으로써 원하는 초기 오프셋 m(Initial Offset_m)을 결정할 수 있다.
도 11은 본 발명의 실시예에 따른 부호어 심볼들이 단일의 열로 출력되는 부호기 구조에서, 프레임내에서 반복될 심볼의 초기 위치를 결정하기 위한 초기 오프셋 결정 처리흐름을 도시하고 있다.
상기 도 11을 참조하면, 1101단계에서는 부호율이 결정된다. 여기서, 부호율은 1/2, 1/3, 1/4이 될 수 있다. 1103단계에서는 입력프레임사이즈(L)과 출력프레임사이즈(N)가 결정된다. 여기서, 입력프레임사이즈(L)은 FDRT블럭에 입력되는(혹은 부호기에서 출력되는) 심볼의 개수를 나타내고, 상기 출력프레임사이즈(N)은 상기 FDRT블럭에서 출력되는 심볼의 개수를 나타낸다. 상기 입력프레임사이즈 및 출력프레임사이즈는 상위계층에서 전달되는 값이다. 105단계에서는 최적의 (la, lb) 파라미터가 결정된다. 상기 최적의 (Ia,Ib) 파라미터는 앞서 설명한 <수학식 1>로부터 구해진다. 1107단계에서는 상기 구해진 (Ia,Ib) 파라미터로부터 초기 오프셋이 결정되고, 1109단계에서는 본 발명의 실시예에 따른 전술한 바와 같은 FDRT 알고리즘이 수행된다.
도 12는 본 발명의 실시예에 따른 부호어 심볼들이 단일의 열로 출력되는 부호기 구조에서, 프레임내에서 반복될 심볼의 초기 위치를 결정하기 위한 초기 오프셋 결정 처리흐름을 도시하고 있다.
상기 도 12를 참조하면, 1201단계에서는 부호율이 결정된다. 여기서, 부호율은 1/2, 1/3, 1/4이 될 수 있다. 1203단계에서는 입력프레임사이즈(L)과 출력프레임사이즈(N)이 결정된다. 여기서, 입력프레임사이즈(L)은 FDRT블럭에 입력되는(혹은 부호기에서 출력되는) 심볼의 개수를 나타내고, 상기 출력프레임사이즈(N)은 상기 FDRT블럭에서 출력되는 심볼의 개수를 나타낸다. 상기 입력프레임사이즈 및 출력프레임사이즈는 상위계층에서 전달되는 값이다. 1205단계에서 상기 결정된 부호율에 따른 상수값의 오프셋이 결정된다. 가령, R=1/2 경우 +1로 결정하고, R=1/3인경우에는 +1 또는 +2 중에서 하나를 선택하여 결정하며, R=1/4인 경우에는 +1 또는 +2 또는 +3 중에서 하나를 선택하여 결정한다. 이후, 1207단계에서는 본 발명의 실시에 따른 전술한 바와 같은 FDRT알고리즘이 수행된다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 컨볼루션 부호, 선형블록부호 또는 터보부호와 같은 오류정정부호를 사용하는 데이터 통신시스템에서 가변적인 데이터전송율에 따라 가변되는 한 프레임내의 L개의 부호어 심볼들을 고정적인 인터리버 크기에 대응하는 심볼 수(N)에 정합시켜 전송할 시 간단한 구조, 그리고 설정 초기값을 조절함으로써 한 프레임내에서 삽입을 위해 반복되는 심볼들이 프레임내에서 균일하게 분포되도록 함으로써 성능의 열화됨이 없이 전송율에 따라서 데이터를 유연하게 전송할 수 있다는 이점이 있다.
Claims (20)
- L개의 부호어 심볼들의 열을 발생하는 부호기와, 상기 L개의 부호어 심볼들보다 큰 N개의 심볼들의 열을 입력하는 채널 인터리버를 구비하는 시스템에서 상기 L개의 부호어 심볼들의 열로부터 상기 N개의 심볼들의 열을 발생하는 방법에 있어서,상기 L개의 부호어 심볼들중 대체로(generally) 균등거리를 가지는 (N-L)개의 심볼 위치들에 대응하는 위치 심볼들을 찾는 과정과,상기 찾은 위치 심볼들 바로 전 또는 후에 상기 위치 심볼들을 순차로 반복 삽입하는 과정을 포함함을 특징으로 하는 상기 방법.
- 제1항에 있어서, 상기 부호어 심볼들은 컨볼루션 부호에 의해 생성된 것을 특징으로 하는 상기 방법.
- 제1항에 있어서, 상기 부호어 심볼들은 선형블록 부호에 의해 생성된 것을 특징으로 하는 상기 방법.
- 제1항에 있어서, 상기 부호어 심볼들은 터보 부호에 의해 생성된 것을 특징으로 하는 상기 방법.
- 소스 정보를 입력하고 L개의 부호어 심볼들의 열을 발생하는 부호기와,상기 L개의 부호어 심볼들보다 큰 N개의 심볼들의 열을 입력하는 채널 인터리버와,상기 L개의 부호어 심볼들중 대체로(generally) 균등거리를 가지는 (N-L)개의 심볼 위치들에 대응하는 위치 심볼들을 찾고, 상기 찾은 위치 심볼들 바로 전 또는 후에 상기 위치 심볼들을 순차로 반복 삽입하여 상기 L개의 부호어 심볼들의 열로부터 상기 N개의 심볼들의 열을 발생하는 가변 데이터 전송율 전송(FDRT) 블록을 포함함을 특징으로 하는 통신시스템의 전송장치.
- 제5항에 있어서, 상기 부호기는 컨볼루션 부호기임을 특징으로 하는 상기 전송장치.
- 제5항에 있어서, 상기 부호기는 선형블록 부호기임을 특징으로 하는 상기 전송장치.
- 제5항에 있어서, 상기 부호기는 터보 부호기임을 특징으로 하는 상기 전송장치.
- 제1그룹의 심볼들과 상기 제1그룹의 심볼들보다 낮은 중요도를 가지는 제2그룹 및 제3그룹의 심볼들이 반복적으로 구성되는 L개의 부호어 심볼들을 단일의 열로서 출력하는 터보 부호기와, 상기 L개의 심볼들보다 큰 N개의 심볼들의 열을 입력하는 채널 인터리버를 가지는 시스템에서 상기 L개의 부호어 심볼들의 열로부터 상기 N개의 심볼들의 열을 발생하는 방법에 있어서,상기 L개의 부호어 심볼들중에서 상기 제2그룹 또는 상기 제3그룹의 초기 심볼의 위치를 선택하기 위한 오프셋 값을 결정하는 과정과,상기 오프셋 값에 대응하는 위치의 심볼로부터 상기 터보 부호기의 부호율에 의해 정해지는 주기에 해당하는 위치의 심볼들을 비반복 심볼들로서 결정하는 과정과,상기 비반복 심볼들을 제외한 상기 L개의 부호어 심볼들중에서 대체로 균등거리를 가지는 (L-N)개의 심볼 위치들에 대응하는 위치 심볼들을 찾는 과정과,상기 찾은 위치 심볼들 바로 전 또는 후에 상기 위치 심볼들을 순차로 반복 삽입하는 과정을 포함함을 특징으로 하는 상기 방법.
- 제9항에 있어서, 상기 오프셋 값은, 상기 터보 부호기의 부호율이 R=1/k일 때, 상기 부호율의 분모 k보다 작은 자연수로 결정됨을 특징으로 하는 상기 방법.
- 제9항에 있어서, 상기 주기는, 상기 터보 부호기의 부호율이 R=1/k일 때, 상기 부호율의 분모 k와 q(여기서, q는 자연수)의 곱셈 연산으로 정해짐을 특징으로 하는 상기 방법.
- L개의 부호어 심볼들의 열을 발생하는 부호기와, 상기 L보다 큰 N개의 심볼들의 열을 발생하기 위하여 상기 L개의 부호어 심볼들중에서 (N-L)개의 심볼들을 반복하는 심볼 반복기를 포함하는 통신시스템에서, 상기 L개의 부호어 심볼들의 열로부터 상기 N개의 심볼들의 열을 발생하는 방법에 있어서,상기 L개의 부호어 심볼들중 첫 번째 심볼에 대한 오차 누적값을 설정하는 (a) 과정과,상기 오차 누적값과 미리 설정된 기준값을 비교하는 (b) 과정과,상기 오차 누적값이 상기 기준값보다 작은 경우, 해당 심볼을 반복하고 상기 오차 누적값에 미리 설정된 증가값을 더한 값을 해당 심볼에 대한 새로운 오차 누적값으로 재설정하고 상기 (b) 과정으로 진행하는 (c) 과정과,상기 오차 누적값이 상기 기준값보다 큰 경우, 상기 오차 누적값으로부터 미리 설정된 감소값을 뺀 값을 다음 심볼에 대한 오차 누적값으로 설정하고 다음 심볼에 대하여 상기 (b) 과정으로 진행하는 (d) 과정과,상기 (c) 과정 또는 상기 (d) 과정 수행중에 상기 L개의 부호어 심볼들로부터 상기 N개의 심볼들의 열이 발생된 경우 종료하는 (e) 과정을 포함함을 특징으로 하는 상기 방법.
- 제12항에 있어서, 상기 (a) 과정은,미리 설정된 프레임내의 심볼들중에서 처음 반복될 심볼의 위치를 결정하기 위한 제1변수(Ia) 및 제2변수(Ib)(여기서, Ib는 1보다 크거나 같고 Ia보다 작거나 같은 정수)중에서 상기 제2변수와 L을 승산함에 의해 제1파라메터를 계산하는 (a1)과정과,상기 제1변수와 (N-L)을 승산함에 의해 제2파라메터를 계산하는 (a2)과정과,상기 제1파라메터에서 상기 제2파라메터를 감산함에 의해 상기 L개의 부호어 심볼들중 첫 번째 심볼에 대한 오차 누적값을 설정하는 (a3)과정을 포함함을 특징으로 하는 상기 방법.
- 제12항에 있어서, 상기 기준값은 0임을 특징으로 하는 상기 방법.
- 제13항에 있어서, 상기 증가값은 상기 제1변수와 L을 승산함에 의한 결과값임을 특징으로 하는 상기 방법.
- 제13항에 있어서, 상기 감소값은 상기 제1파라메터로 정해짐을 특징으로 하는 상기 방법.
- L개의 부호어 심볼들의 열을 발생하는 부호기와, 상기 L보다 큰 N개의 심볼들의 열을 발생하기 위하여 상기 L개의 부호어 심볼들중에서 (N-L)개의 심볼들을 반복하는 심볼 반복기를 포함하는 통신시스템에서, 상기 L개의 부호어 심볼들의 열로부터 상기 N개의 심볼들의 열을 발생하기 위한 장치에 있어서,미리 설정된 프레임내의 심볼들중에서 처음 반복될 심볼의 위치를 결정하기 위한 제1변수(Ia) 및 제2변수(Ib)(여기서, Ib는 1보다 크거나 같고 Ia보다 작거나 같은 정수)중에서 상기 제2변수와 L을 승산함에 의해 정해지는 제1 파라메터를 제1 오차 누적값으로 저장 및 출력하는 레지스터와,상기 제1 오차 누적값으로부터 상기 제1변수와 (N-L)을 승산함에 의해 정해지는 제2 파라메터를 감산하고, 그 감산 결과를 제2 오차 누적값으로 출력하는 감산기와,상기 제2 오차 누적값과 제3 오차 누적값을 입력하고, 상기 제2 오차 누적값과 상기 제3 오차 누적값을 선택적으로 제4 오차 누적값으로 출력하는 선택기와,상기 제4 오차 누적값을 입력하고, 상기 제4 오차 누적값과 상기 제1변수와 L을 승산함에 의해 정해지는 제3 파라메터를 가산하고, 그 가산 결과를 상기 제3 오차 누적값으로 출력하는 가산기와,상기 제4 오차 누적값과 미리 설정된 기준값을 비교하고, 상기 제4 오차 누적값이 상기 기준값보다 작거나 같은지 또는 큰지 여부를 판단하는 비교기와,상기 비교기에 의한 비교결과를 제공받고, 상기 L개의 부호어 심볼들 각각에 대해 계산된 오차의 누적값이 상기 기준값보다 작거나 같은 심볼들을 반복 삽입하여 상기 N개의 심볼들의 열을 발생하는 심볼 반복기를 포함하고,상기 비교기는,상기 제4 오차 누적값이 상기 기준값보다 큰 경우에는 상기 제2 오차 누적값이 상기 제4 오차 누적값으로 출력되도록 상기 선택기를 제어하기 위한 신호를 출력하고, 상기 제4 오차 누적값이 상기 기준값보다 작거나 같은 경우에는 상기 제3 오차 누적값이 상기 제4 오차 누적값으로 출력되도록 상기 선택기를 제어하기 위한 신호를 출력하고,상기 레지스터는,상기 L개의 부호어 심볼들중 초기의 심볼에 대해서는 상기 제1 파라메터를 상기 제1 오차 누적값으로 출력하고, 상기 초기 심볼 이후의 심볼들에 대해서는 이전의 심볼에 대한 상기 제2 오차 누적값을 상기 제1 오차 누적값으로 업데이트하여출력하는 것을 특징으로 하는 상기 장치.
- 제17항에 있어서, 상기 비교기와 상기 레지스터의 사이에 접속되고, 상기 비교기로부터의 출력 제어신호에 응답하여 상기 레지스터를 인에이블시켜 상기 레지스터가 상기 제2 오차 누적값을 상기 제1 오차 누적값으로 업데이트하여 출력하도록 하는 반전기를 더 포함함을 특징으로 하는 상기 장치.
- 제18항에 있어서, 상기 레지스터는, 상기 비교기로부터 상기 제4 오차 누적값이 상기 기준값보다 큰 것으로 판단되는 경우에 출력되는 제어신호에 응답하여 인에이블되어 상기 제2 오차 누적값을 상기 제1 오차 누적값으로 업데이트하여 출력하는 것을 특징으로 하는 상기 장치.
- 제17항에 있어서, 상기 기준값은 0임을 특징으로 하는 상기 장치.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000039157 | 2000-07-08 | ||
KR1020000039070 | 2000-07-08 | ||
KR20000039070 | 2000-07-08 | ||
KR20000039157 | 2000-07-08 | ||
KR20000042547 | 2000-07-19 | ||
KR1020000042547 | 2000-07-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020006592A KR20020006592A (ko) | 2002-01-23 |
KR100387058B1 true KR100387058B1 (ko) | 2003-06-12 |
Family
ID=27350284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0040687A KR100387058B1 (ko) | 2000-07-08 | 2001-07-07 | 데이터 통신시스템에서 심볼 삽입에 의한 가변데이터전송율 정합 방법 및 장치 |
Country Status (10)
Country | Link |
---|---|
US (1) | US20020031168A1 (ko) |
EP (1) | EP1305889A1 (ko) |
JP (1) | JP2004503173A (ko) |
KR (1) | KR100387058B1 (ko) |
CN (1) | CN1446408A (ko) |
AU (1) | AU2001269583A1 (ko) |
BR (1) | BR0112256A (ko) |
CA (1) | CA2414363A1 (ko) |
DE (1) | DE20122022U1 (ko) |
WO (1) | WO2002005445A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10207146A1 (de) | 2002-02-20 | 2003-08-28 | Infineon Technologies Ag | Hardware-Schaltung zur Punktierung und Wiederholungscodierung von Datenströmen und Verfahren zum Betrieb der Hardware-Schaltung |
US6973579B2 (en) | 2002-05-07 | 2005-12-06 | Interdigital Technology Corporation | Generation of user equipment identification specific scrambling code for the high speed shared control channel |
FR2860496B1 (fr) * | 2003-10-02 | 2006-06-23 | Oreal | Dispositif de conditionnement et d'application d'un produit cosmetique |
US8565721B2 (en) * | 2006-10-20 | 2013-10-22 | T-Mobile Usa, Inc. | System and method for rating an IP-based wireless telecommunications based on access point |
US8352843B2 (en) * | 2007-03-16 | 2013-01-08 | Qualcomm Incorporated | Method and apparatus for coding a communication signal |
US11330030B2 (en) | 2019-07-25 | 2022-05-10 | Dreamworks Animation Llc | Network resource oriented data communication |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990012754A (ko) * | 1997-07-30 | 1999-02-25 | 윤종용 | 대역확산 통신 시스템의 코드 천공 및 복구장치 및 방법 |
KR20000005958A (ko) * | 1998-06-05 | 2000-01-25 | 윤종용 | 레이트매칭을위한채널부호화장치및방법 |
KR20000067738A (ko) * | 1999-04-14 | 2000-11-25 | 서평원 | 이동 통신 시스템에서 채널 코드의 레이트 매칭 방법 |
KR20020003766A (ko) * | 2000-07-03 | 2002-01-15 | 서평원 | 가변 데이터 레이트 매칭 방법 |
KR20020011499A (ko) * | 2000-08-02 | 2002-02-09 | 서평원 | 가변 데이터 레이트 매칭 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US115468A (en) * | 1871-05-30 | Improvement in cooling and preserving beer and other liquids on draft | ||
US5537410A (en) * | 1994-09-15 | 1996-07-16 | Oki Telecom | Subsequent frame variable data rate indication method |
JP3169522B2 (ja) * | 1995-01-19 | 2001-05-28 | 沖電気工業株式会社 | データ受信装置 |
US6480521B1 (en) * | 1997-03-26 | 2002-11-12 | Qualcomm Incorporated | Method and apparatus for transmitting high speed data in a spread spectrum communications system |
US6067646A (en) * | 1998-04-17 | 2000-05-23 | Ameritech Corporation | Method and system for adaptive interleaving |
FI106897B (fi) * | 1998-09-14 | 2001-04-30 | Nokia Networks Oy | RAKE-vastaanotin |
DE19846721B4 (de) * | 1998-10-12 | 2009-09-10 | Ipcom Gmbh & Co. Kg | Verfahren zur Kodierung und Dekodierung und Vorrichtung zum Kodieren oder Dekodieren |
JP3239880B2 (ja) * | 1998-11-02 | 2001-12-17 | 日本電気株式会社 | レートマッチング方法及びデジタル通信システム |
FR2792788B1 (fr) * | 1999-04-21 | 2001-07-13 | Mitsubishi Electric France | PROCEDE D'EQUILIBRAGE DU RAPPORT Eb/I DANS UN SYSTEME cdma A MULTIPLEXAGE DE SERVICE ET SYSTEME DE TELECOMMUNICATION L'UTILISANT |
DE10030407B4 (de) * | 1999-07-14 | 2011-09-01 | Lg Electronics Inc. | Verfahren zur optimalen Ratenanpassung in einem Mobilkommunikationssystem |
-
2001
- 2001-07-07 JP JP2002509190A patent/JP2004503173A/ja not_active Ceased
- 2001-07-07 AU AU2001269583A patent/AU2001269583A1/en not_active Abandoned
- 2001-07-07 BR BR0112256-8A patent/BR0112256A/pt not_active IP Right Cessation
- 2001-07-07 CN CN01814087A patent/CN1446408A/zh active Pending
- 2001-07-07 KR KR10-2001-0040687A patent/KR100387058B1/ko not_active IP Right Cessation
- 2001-07-07 WO PCT/KR2001/001169 patent/WO2002005445A1/en not_active Application Discontinuation
- 2001-07-07 CA CA002414363A patent/CA2414363A1/en not_active Abandoned
- 2001-07-07 DE DE20122022U patent/DE20122022U1/de not_active Expired - Lifetime
- 2001-07-07 EP EP01948101A patent/EP1305889A1/en not_active Withdrawn
- 2001-07-09 US US09/901,397 patent/US20020031168A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990012754A (ko) * | 1997-07-30 | 1999-02-25 | 윤종용 | 대역확산 통신 시스템의 코드 천공 및 복구장치 및 방법 |
KR20000005958A (ko) * | 1998-06-05 | 2000-01-25 | 윤종용 | 레이트매칭을위한채널부호화장치및방법 |
KR20000067738A (ko) * | 1999-04-14 | 2000-11-25 | 서평원 | 이동 통신 시스템에서 채널 코드의 레이트 매칭 방법 |
KR20020003766A (ko) * | 2000-07-03 | 2002-01-15 | 서평원 | 가변 데이터 레이트 매칭 방법 |
KR20020011499A (ko) * | 2000-08-02 | 2002-02-09 | 서평원 | 가변 데이터 레이트 매칭 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2004503173A (ja) | 2004-01-29 |
US20020031168A1 (en) | 2002-03-14 |
BR0112256A (pt) | 2003-06-24 |
CA2414363A1 (en) | 2002-01-17 |
WO2002005445A1 (en) | 2002-01-17 |
EP1305889A1 (en) | 2003-05-02 |
DE20122022U1 (de) | 2003-12-18 |
CN1446408A (zh) | 2003-10-01 |
KR20020006592A (ko) | 2002-01-23 |
AU2001269583A1 (en) | 2002-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7237179B2 (en) | Data rate matching device | |
KR20030032781A (ko) | 부호분할다중접속 이동통신시스템에서 부호화 및 레이트매칭장치 및 방법 | |
JP2004072794A (ja) | データ通信システムの伝送率整合装置及び方法 | |
KR100782317B1 (ko) | 통신 시스템에서 코드 심볼들을 펑쳐링하는 방법 및 장치 | |
US6981202B2 (en) | Method and system for allocating convolutional encoded bits into symbols before modulation for wireless communication | |
JP3574434B2 (ja) | データ通信システムの可変データ伝送率整合方法及び装置 | |
KR100387058B1 (ko) | 데이터 통신시스템에서 심볼 삽입에 의한 가변데이터전송율 정합 방법 및 장치 | |
WO2002009294A2 (en) | Method and apparatus for combined puncturing and repeating of code symbols in a communications system | |
AU2001252744A1 (en) | Flexible data rate matching apparatus and method in a data communication system | |
KR101120368B1 (ko) | 통신 장치에서 데이터 레이트를 적응시키기 위한 방법 및 통신 장치 | |
KR100720566B1 (ko) | 데이터 레이트 매칭 방법 및 데이터 처리 장치 | |
KR100504463B1 (ko) | 병렬 펑쳐링 알고리즘의 파라미터 최적화 방법 | |
KR100404181B1 (ko) | 상향 링크에서의 레이트 매칭 방법 및 장치 | |
KR20010028530A (ko) | 하향 링크 레이트 매칭을 위한 파라미터 결정 방법 | |
KR20010009158A (ko) | 상향 링크에서의 채널화 코드 레이트 매칭 방법 | |
KR100404183B1 (ko) | 채널화 코드에 대한 레이트 매칭 방법 | |
KR100720539B1 (ko) | 레이트 매칭 방법 | |
KR20010037341A (ko) | 콘벌루션 코드의 펑쳐링패턴 서치 방법 | |
KR20020036373A (ko) | 차세대 이동통신 시스템에서의 데이터 레이트 매칭 방법 | |
KR20020000614A (ko) | 적응 레이트 펑쳐링 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20070409 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |