KR20020052112A - 부호분할다중접속 이동통신시스템의 오류정정장치 및 방법 - Google Patents
부호분할다중접속 이동통신시스템의 오류정정장치 및 방법 Download PDFInfo
- Publication number
- KR20020052112A KR20020052112A KR1020000081387A KR20000081387A KR20020052112A KR 20020052112 A KR20020052112 A KR 20020052112A KR 1020000081387 A KR1020000081387 A KR 1020000081387A KR 20000081387 A KR20000081387 A KR 20000081387A KR 20020052112 A KR20020052112 A KR 20020052112A
- Authority
- KR
- South Korea
- Prior art keywords
- decoding
- absolute
- value
- reliability
- stop
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
-
- 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/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
- H04L1/0051—Stopping criteria
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2975—Judging correct decoding, e.g. iteration stopping criteria
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Mobile Radio Communication Systems (AREA)
- Detection And Correction Of Errors (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
본 발명은 부호분할다중접속 이동통신시스템에서 터보코드를 사용한 순방향 오류정정장치 및 방법에 관한 것으로, 특히 터보부호기에 입력되는 프레임에 오류검출을 위한 CRC가 사용되지 않거나 혹은 사용할 수 없는 경우 이를 대신하여 불필요한 반복 복호를 줄이고, 터보 복호를 중단시킬 수 있는 새로운 정지기준을 구현하였다. 또한 터보부호기에 입력되는 프레임에 오류검출을 위한 CRC가 사용되더라도 복호시간을 단축하고 복호기의 전력소모를 줄이기 위해서 오류검출부호와 앞에서 제안하고 있는 새로운 터보복호 정지기준을 복합적으로 적용하는 장치 및 방법을 구현하였다.
Description
본 발명은 부호분할다중접속 이동통신시스템에서 오류정정장치 및 방법에 관한 것으로, 특히 터보코드를 사용한 순방향 오류정정(forward error correction, FEC)장치 및 방법에 관한 것이다.
통상적으로 부호분할다중접속 이동통신시스템은 부호분할다중접속(CDMA)방식을 채택하여 무선 통신서비스를 수행하는 이동통신시스템을 통칭하는 의미로서 사용된다. 이와 같은 이동통신시스템은 전송 채널에서 발생하는 잡음으로 인한 오류를 정정하기 위한 오류정정을 수행한다. 상기 오류정정은 순방향 오류정정(forward error correction, FEC)과 역방향 오류정정(Reverse error correction, REC)으로 크게 구분된다. 상기 순방향 오류정정은 기지국으로부터 이동단말기로의 전송 채널에 대해 수행하는 오류정정이며, 상기 역방향 오류정정은 이동단말기로부터 기지국으로의 전송 채널에 대해 수행하는 오류정정이다. 전술한 오류정정들 중 부호분할다중접속 이동통신시스템에서 보다 중요시되고 있는 것이 순방향 오류정정이다. 통상적으로 부호분할다중접속 이동통신시스템에서 이루어지는 FEC는 대표적으로 컨벌루션널 코드(Convolutional code)를 이용하는 방식과 터보 코드(turbo code)를 이용하는 방식이 있다.
특히 최근 제3세대 이동통신시스템으로서 주목받고 있는 동기방식(3GPP2; 3rd Generation Partnership Project 2)과 비동기방식(3GPP; 3rd Generation Partnership Project) 모두에서 오류정정부호로서 터보코드가 채택되었다. 상기 터보코드는 기존에 주로 사용되던 컨벌루션널 코드(Convolutional codes)에 비하여 고속 데이터 전송 시에 성능 이득이 우수한 것으로 알려져 있다. 또한, 상기 FEC의 한 종류인 터보코드는 전송 채널에서 발생하는 잡음에 의한 오류를 효과적으로 정정하여 데이터 전송의 신뢰도를 높일 수 있다는 장점을 가진다.
하지만, 기존에 사용되던 컨벌루션널 코드는 매 입력 프레임마다 한번의 복호화를 수행한 후 복호된 데이터를 출력하는데 반하여 상기 터보코드는 매 입력 프레임마다 복수 번의 복호화를 수행한 후에 복호된 데이터를 출력하는 반복복호방식(iterative decoding)이 일반적으로 사용된다.
이러한 반복복호방식에서는 어느 시점에서 복호를 중단하는가를 판단하는 것이 매우 중요한 변수가 된다. 즉, 반복복호방식에서 복호시간을 단축하고 복호에 따른 전력소모를 최소화하기 위해서는 복호하는 프레임의 오류발생 유무를 수시로 점검해야 한다. 보통 이를 위한 방법으로 CRC (Cyclic redundancy check)를 포함하는 터보코드가 사용되고 있다. 상기 CRC를 이용하는 방법은 반복복호과정에서 일정한 복호과정의 반복 수행된 후 복호를 중단함으로써 전력 소모를 줄이고, 복호 지연시간을 감소시킬 수 있다.
전술한 CRC를 이용한 복호 방법은 송신단에서 터보 부호기로 입력되는 하나의 입력 프레임마다 CRC를 덧붙이고, 수신단의 반복복호과정마다 출력되는 프레임에 대해 CRC를 이용한 오류검출(error detection)을 수행하는 동작으로 이루어진다. 이때, 상기 오류 검출과정에서 프레임에 에러가 발생하지 않았다고 판단되면 더 이상의 복호를 진행하지 않고, 해당 프레임의 복호를 중단한다.
따라서, 상기 CRC에 의한 에러 검출방식은 덧붙이는 CRC 비트수가 증가하면 발생하는 거의 모든 에러를 검출할 수 있으므로, 복호 중단에 의한 프레임 오율(Frame Error Rate, FER)의 증가를 최소화할 수 있는 장점이 있다. 하지만, 실제 시스템의 경우 상기 CRC에 의한 방식에도 문제점이 있으며, 그 예를 아래에 구체적으로 기술한다.
첫째, 앞서 언급하였듯이 3GPP(3rd Generation Partnership Project)에서도 수신단에서 이루어지는 반복복호과정마다 해당 프레임의 오류발생여부를 검출하여 불필요한 반복복호를 줄이고, 복호된 데이터의 신뢰성을 측정하기 위해 전송하는 전송 블록마다 CRC(Cyclic Redundancy Check)를 사용한다. 하지만, 상기 CRC를 사용하는 경우 송신단에서 상기 CRC를 전송 블록에 연결(concatenation)하고, 수신단에서 수신 프레임으로부터 상기 CRC를 분할(segmentation)하는 과정을 수행함에 따라 상기 CRC들이 자신의 전송 블록과 분리되어 전송될 수 있다. 이는 도 1과 도 2에서 보다 구체적으로 보여지고 있다. 상기 도 1은 3GPP 하향채널(down Link)에서 사용되는 채널멀티플렉싱과 채널부호과정을 블록도로서 보여주고 있는 도면이며, 상기 도 2는 연결 전송블록(concatenated transport block)을 전송을 위해 분할하는 일 예를 보여주고 있는 도면이다.
상기 도 1과 상기 도 2에서 보여지고 있는 구성들 중 CRC와 관련된 부분을 구체적으로 살펴보면 다음과 같다.
상기 도 2에서 보듯이 연결 전송블록은 코드블록으로 분할되고 있다. 이로 인해, 앞에서 밝힌 바와 같이 전송 블록에 덧붙이는 CRC가 코드블록 분할(codeblock segmentation) 과정에서 자신의 전송블록과 분리될 수 있음을 상기 도 2를 통해 알 수 있다. 따라서, 이러한 경우 CRC가 존재하지 않는 전송블록은 반복복호과정에서 더 이상 CRC를 정지기준으로 사용할 수 없게 된다.
상기 도 1과 상기 도 2에서 보듯이 3GPP에서는 오류정정부호로서 터보코드를 사용하는 경우, i번째 전송채널(transport channel)의 연결 전송블록(concatenated transport block)의 크기(Xi)가 5114보다 크면 상기 연결 전송블록을 Ci=??Xi/5114??개의 코드블록으로 분할한다. 이 때, 각 코드블록의 크기(Ki)는 "Ki=??Xi/Ci??" 비트이고, 모자라는 비트는 제일 첫 번째 코드블록의 시작 부분에 0을 삽입하여 채운다. 그리고, 이와 같이 생성된 코드블록들은 각각 터보 엔코딩(turbo encoding)의 과정을 통하여 전송채널로 전송된다. 이에 반한, 수신기에서는 이를 수신하여 터보 디코딩(turbo decoding)을 수행하는 데 이 때 복호 단위 또한 송신기에서 결정된 코드블록 단위로 이루어지게 된다. 따라서, 상기 도 2에서 보듯이 전송블록의 끝 부분에 덧붙여져 있던 CRC 비트들은 코드블록으로 분할하는 과정에서 자신의 전송블록과 분리되는 경우가 발생한다. 이는, CRC가 존재하지 않는 코드블록들은 터보 디코딩 과정에 있어 더 이상 CRC를 복호 중단의 척도로서 사용할 수 없음을 알 수 있다. 따라서 CRC를 터보 디코딩의 정지기준으로 사용하는 현재의 3GPP 시스템은 상기와 같은 문제점을 지니고 있음을 알 수 있다.
둘째, 상기 CRC를 터보 디코딩의 정지기준으로 사용하는 현재의 3GPP 시스템은 코드블록, 즉 터보 디코더에 입력되는 프레임의 크기가 작은 경우, 매 프레임마다 사용되는 CRC는 데이터의 전송에 과도한 부하로 작용하여 전송효율이 감소되는 문제점을 가진다. 예를 들어 매 초당 입력되는 입력 프레임의 크기를 N이라 하고 이 때 사용되는 CRC의 비트의 총 수를 C라고 하면 실제 데이터의 전송율 효율은 N/(N+C)이다. 따라서 C가 N에 비해서 그리 작지 않다면 전송율 효율은 1.0보다 매우 작게 감소된다.
셋째, 상기 CRC를 터보 디코딩의 정지기준으로 사용하는 현재의 3GPP나 혹은 3GPP2 시스템의 경우, 만일 전송채널상에 발생된 과도한 오류로 인해서 이미 터보복호기가 송신한 부호어가 아닌 잘못된 부호어를 오류정정된 올바른 부호어로 잘못 인식하는 경우(이것을 검출불가능오류사건: Undetectable error event라고도 함) 매 복호과정(iteration)마다 CRC는 계속해서 오류검출을 알리게 된다. 따라서, 터보복호기는 최대 복호과정까지 계속해서 복호를 시도하게 되고 종국에 가더라도 복호된 결과는 오류가 발생된 부호어가 출력된다. 이런 경우 최대 복호과정 이전에 이 사실을 파악하고 복호를 중단하는 것이 바람직하나 CRC만을 사용하는 경우에는 이것이 불가능하다. 또한 이와 같은 경우 터보복호기는 최대 복호과정까지 복호를 수행해야 하므로 전력소모와 복호 시간 또한 증가하는 문제점을 지니고 있다.
따라서, 전술한 바와 같은 문제점을 해결하고자 CRC를 사용하지 않으면서 터보코드의 복호 과정의 반복을 중단하는 방식들이 연구된 바 있다. 예를 들어 터보코드의 반복복호과정에서 매 복호과정마다 복호기에서 출력되는 신뢰도(LLR: Log Likelihood Ratio)의 최소 절대값을 이용하는 방식이 있다. 즉, 이는 매 프레임마다 출력되는 LLR 절대값의 최소값이 어느 문턱값(threshold)이상이 되면 복호를 중단하는 방식이다. 이러한 방식은 비교적 우수한 FER성능을 보이고, 평균 반복복호 횟수를 감소시켜 전력소모를 줄일 수 있을 뿐만 아니라 하드웨어적으로 구현이 매우 쉽다는 장점을 가지고 있다. 하지만, 전술한 방식은 우수한 FER성능을 보장하기 위한 문턱값이 Eb/No와 프레임 크기에 종속적이다. 이로 인해 이들 값이 변화할 때마다 민감하게 변해야 한다는 문제점이 있다. 특히 수신신호의 Eb/No를 정확하게 측정하기 어려운 실제 시스템에서는 전송환경의 변화에 따른 이들 값의 변화를 정확하게 예측(Estimation)한다는 것이 매우 큰 문제점으로 지적되고 있으며, 반복복호의 정지기준으로 사용하기에는 부적합하다고 판단된다.
이하 상술한 터보코드를 이용한 오류정정방식에 의해 발생할 수 있는 문제점들을 정리하면 다음과 같다.
먼저, CRC를 이용한 터보복호 정지방식을 사용하는 경우에 발생할 수 있는 문제점들은 다음과 같다.
첫 번째로 3GPP의 경우 전송블록을 위한 CRC는 코드블록 분할과정에서 타 전송블록으로 분리되어 CRC를 더 이상 에러검출을 위한 척도로 사용할 수 없는 경우가 발생할 수 있다.
두 번째로 터보부호기에 입력되는 입력프레임의 크기가 작은 경우(예를 들어 3GPP의 경우 전송블록의 크기가 작은 경우) 각각의 입력프레임에 사용되는 CRC는 과도한 오버헤드(overhead)가 될 수 있으며, 이로 이한 전송율 손실(Rate loss)이 발생할 수 있다.
세 번째로 만일 전송채널상에 발생된 과도한 오류로 인해서 이미 터보복호기가 송신한 부호어가 아닌 잘못된 부호어를 오류정정된 올바른 부호어로 잘못 인식하는 경우 매 복호과정(iteration)마다 CRC는 계속해서 오류검출을 알리게 된다. 따라서 터보복호기는 최대 복호과정까지 계속해서 복호를 시도하게 되고 종국에 가더라도 복호된 결과는 오류가 발생된 부호어가 출력된다. 이런 경우 최대 복호과정 이전에 이 사실을 파악하고 복호를 중단하는 것이 바람직하나 CRC만을 사용하는 경우에는 이것이 불가능하다. 또한 이와 같은 경우 터보복호기는 최대 복호과정까지 복호를 수행해야 하므로 전력소모와 복호시간 또한 증가하는 문제점을 지니고 있다.
다음으로 LLR을 이용한 터보복호 정지방식을 사용하는 경우 발생할 수 있는 문제점들은 다음과 같다.
첫 번째로 실제 전송채널 환경에서는 Eb/No, 프레임 크기에 무관한 복호정지 기준이 필요하지만 기존의 방식은 이들과 종속적이다.
두 번째로 LLR에 의한 터보복호 정지방식에 사용되는 문턱값을 Eb/No과 프레임 크기에 따라 변화시켜야 의미 있는 FER성능을 얻으면서 반복 복호를 중단할 수 있으나, 실제 환경에서 이를 위한 예측기 (Estimator)를 구현하기란 매우 어려운 난제이다.
상술한 바와 같은 문제점을 해결하기 위한 본 발명의 목적은 부호분할다중접속 이동통신시스템에서 반복 복호를 보다 효율적인 정지시키기 위한 오류정정장치및 방법을 제공함에 있다.
본 발명의 다른 목적은 터보 코드를 사용하는 부호분할다중접속 이동통신시스템에서 복호기의 반복복호에 따른 복호 시간을 단축하는 정지기준을 가지는 오류정정장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 터보 코드를 사용하는 부호분할다중접속 이동통신시스템에서 복호기의 반복복호에 따른 소비전력을 감소시키는 오류정정장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 터보 코드를 사용하는 부호분할다중접속 이동통신시스템에서 터보 복호를 중지할 수 있는 척도로서 신뢰도를 사용하는 오류정정장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 부호분할다중접속 이동통신시스템에서 프레임 분할로 인해 할당될 CRC가 분리 소멸되는 경우 이를 대신할 터보복호 정지방식을 가지는 오류정정장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 부호분할다중접속 이동통신시스템에서 신뢰도의 최소 절대값을 사용하여 복호 정지를 판단의 기준이 되는 문턱값을 갱신하는 오류정정장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 부호분할다중접속 이동통신시스템에서 매 복호과정마다 CRC 검사결과와 신뢰도에 의한 정지기준을 모두 사용하여 복호 중지를 수행하는 오류정정장치 및 방법을 제공함에 있다.
상기한 바와 같은 목적을 달성하기 위해 본 발명은 터보코드를 사용하는 부호분할다중접속 이동통신시스템에서 터보부호기에 입력되는 프레임에 오류검출을 위한 CRC가 사용되지 않거나 혹은 사용할 수 없는 경우 이를 대신하여 불필요한 반복 복호를 줄이고, 터보 복호를 중단시킬 수 있는 새로운 정지기준을 구현하였다. 이때, 본 발명에서 구현한 정지 기준은 하드웨어로 구현이 간편하면서도 어떠한 Eb/No, 어떠한 프레임 크기에도 동일하게 적용할 수 있는 터보복호 정지기준이 되어야 할 것이다. 또한 터보부호기에 입력되는 프레임에 오류검출을 위한 CRC가 사용되더라도 복호시간을 단축하고 복호기의 전력소모를 줄이기 위해서 오류검출부호와 앞에서 제안하고 있는 새로운 터보복호 정지기준을 복합적으로 적용하는 장치 및 방법을 구현하였다.
도 1은 통상적인 부호분할다중접속 이동통신시스템의 하향채널에서 사용되는 채널멀티플렉싱과 채널부호과정을 블록도로서 보여주고 있는 도면.
도 2는 통상적인 부호분할다중접속 이동통신시스템에서 연결 전송블록의 전송을 위한 프레임을 분할하는 일 예를 보여주고 있는 도면.
도 3은 본 발명의 일 실시 예에 따른 터보 복호의 중단 기준을 적용한 터보 디코더의 구성을 보여주고 있는 도면.
도 4는 도3의 최소 신뢰도 검출부의 상세 구성을 보여주고 있는 도면.
도 5는 본 발명의 일 실시 예에 따른 터보 복호 중단을 위한 제어 흐름을 보여주고 있는 도면.
도 6은 본 발명의 다른 실시 예에 따른 터보 복호의 중단 기준을 적용한 터보 디코더의 구성을 보여주고 있는 도면.
도 7 및 도 8은 본 발명의 실시 예에 따른 실험 결과를 보여주고 있는 도면.
이하 본 발명의 일 실시 예에 따라 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 우선, 본 발명은 터보코드를 사용하는 시스템에서 수신된 하나의 프레임에 발생하는 오류의 형태에 따라 출력되는 LLR의 최소 절대값의 크기변화 형태가 달라지는 현상을 감안하여 제안한다. 즉, 터보복호기에서 하나의 프레임을 반복 복호할 때, 각각의 프레임에서는 몇 가지 형태의 오류가 발생한다. 즉, 정정가능오류(Correctable error), 검출가능오류(Detectable error), 검출불가능오류(Undetectable error)가 발생할 수 있는 몇 가지의 오류 형태이다. 한편, 상기 각각의 오류 형태들의 발생확률은 정정가능오류확률(Correctable error probability), 검출가능오류확률(Detectable error probability), 검출불가능오류확률(Undetectable error probability)로 분류한다. 그리고, 이에 따른 LLR 최소 절대값 크기의 반복 복호에 따른 변화는 아래에 기술한 바와 같은 특징을 가진다.
1. 정정가능오류(Correctable error)
하나의 수신된 프레임이 반복 복호가 진행됨에 따라 특정한 하나의 부호어로 수렴하게 된다. 정정가능오류를 가진 프레임을 수신하였을 경우에 이 부호어는 올바르게 복호된 부호어에 해당되고, 더 이상의 반복 복호를 수행하더라도 복호결과가 변하지 않는다. 즉, 송신기에서 전송한 올바른 부호어로서 복호가 완료된 경우이다. 이때 LLR의 최소 절대값은 복호 반복횟수에 따라 점점 증가하게 된다. 왜냐하면 복호된 부호어의 신뢰도를 LLR이 제시하기 때문이다.
2. 검출불가능오류(Undetectable error)
상기 정정가능오류와 유사하게 수신된 하나의 프레임이 반복복호가 진행됨에 따라 특정한 한 부호어로 수렴하지만, 이 부호어는 송신기가 전송한 올바른 부호어에 오류가 발생되어 전이된 부호어로, 더 이상의 반복 복호를 수행하더라도 이 오류를 정정할 수 없으며 오류의 양과 위치는 복호 반복에 따라 일정하다. 이러한 오류사건은 전송로상의 과다한 오류로 인해서 발생하며, 이 경우에도 LLR의 최소 절대값은 복호 반복횟수에 따라 점점 증가하여 상기 정정가능오류의 경우와 구분이 불가능하게 된다.
3. 검출가능오류(Detectable error)
상기 정정가능오류 및 검출불가능오류와는 다르게 수신된 하나의 프레임은 반복 복호가 진행됨에 따라 특정한 하나의 부호어로 수렴하지 않고, 계속 복수개의부호어 사이를 천이한다. 따라서, 이러한 복호 결과에는 비교적 많은 양의 오류가 발생하고 반복 복호를 계속 진행하더라도 오류의 양이 크게 감소하는 바가 없이 계속해서 변하게 된다. 이러한 오류사건도 전송로상의 과다한 오류로 인해서 발생하며 LLR의 최소 절대값은 아주 작은 값을 가지면서 복호 반복횟수가 증가하더라도 거의 증가하지 않게 되어 상기 정정가능오류 및 검출불가능오류와는 구별이 가능하게 된다.
본 발명의 터보복호 정지기준은 반복 복호 시마다 출력되는 LLR의 최소 절대값을 척도로 하여 터보복호기에 입력되는 임의의 한 프레임을 상기 세 가지 오류사건 중 첫 번째와 두 번째에 해당되는 형식 A와 세 번째에 해당되는 형식 B의 두 가지로 구분 가능하다. 따라서, 복호하고자 하는 입력프레임이 형식 A에 해당된다고 판단될 때에는 더 이상의 복호를 시도하지 않고 터보복호를 중단하는 것에서 출발한다. 여기에는 두 가지 방식이 가능하며, 상기 두 가지 방식은 다음과 같다.
첫 번째 방식, 터보복호기에 입력되는 하나의 프레임에 대한 반복복호과정에서 해당 프레임의 LLR의 최소 절대값이 미리 정한 문턱값(threshold)보다 크게 되면, 이 프레임은 상기 형식 A에 해당하는 프레임으로 간주한다. 이 때, 채널의 수신상황을 나타내는 척도인 Eb/No와 프레임 크기에 따라 안정적인 FER 성능을 얻기 위해 문턱값은 Eb/No과 프레임 크기에 따라 고정된 값을 사용하지 않고, 이전 반복 복호과정에서 생성되는 LLR의 최소 절대값을 정하고, 이 중 가장 작은 값에 다음에 기술할 계산 요소(adding factor)를 더한 값으로 결정하여 사용한다. 그리고, 위 조건을 만족하면 복호를 중단하는 것이 아니라, 한 번 더 반복 복호를 수행한 후복호를 중단한다. 이는 상기 정지조건 만으로 미리 복호를 중단함으로 인해 정정하지 못하는 오류의 영향이 Eb/No가 높은 영역에서 FER 성능에 안 좋은 영향을 미칠 수 있으므로 이를 방지하기 위함이다. 이를 본 발명에서는 첫 번째 정지조건으로 칭한다.
두 번째 방식, 보다 우수한 FER 성능을 보장하기 위해 상기 첫 번째 정지조건을 만족 후 수행하는 추가적인 복호과정에서 얻은 LLR의 최소 절대값과, 상기 첫 번째 정지조건을 만족하였을 때 얻게 되는 LLR의 최소 절대값의 차를 측정하여 이 차가 미리 정한 또 다른 문턱값보다 크게 되면 복호를 중단하는 방식이다. 이를 본 발명에서는 두 번째 정지조건으로 칭한다. 이러한 알고리즘을 추가함으로써 터보부호를 반복 복호함에 있어 Eb/No와 프레임 크기에 무관하게 FER 성능의 손실이 거의 없이 터보 복호를 중단할 수 있다.
우선 본 발명의 동작 설명에 앞서 본 발명에서 사용될 용어들을 정의하면 다음과 같다.
프레임 길이(FL: frame length)는 터보부호기에 입력되는 입력프레임의 크기, 즉 하나의 입력 프레임에 해당되는 정보어 비트수를 의미한다. k는 입력프레임을 구성하는 정보어 비트들의 번호순서(0≤k<FL)를 의미하며, MAX_ITERATION은 터보 디코더에서 미리 정한 최대 반복복호(Iteration) 횟수를 의미한다. I는 현재 수행중인 디코딩 반복복호의 번호(0≤i<MAX_ITERATION)를 의미하며, j는 이전 디코딩 반복복호(decoding iteration)의 번호(0≤j<i)를 나타낸다. LLR(k)는 한 프레임의 k번째 정보어 비트에 대한 터보 디코더의 소프트 출력(Soft output)(LogLikelihood Ratio)을 나타내며, MAX는 가능한 모든 LLR값보다도 더 큰 값으로 결정되는 상수로 알고리즘이 동작하기 시작할 때 초기화를 위한 값으로서, 본 발명에 따른 알고리즘의 동작에는 크게 영향을 미치지 않는 상수이다. Tf는 첫 번째 터보복호 정지테스트에 사용되는 정지기준의 문턱값을 위한 계산 요소(Adding factor)이며, Td는 두 번째 터보복호 정지테스트에 사용되는 정지기준의 문턱값을 위한 계산 요소(Adding factor)이다. Fmin은 현재 복호가 진행 중인 하나의 프레임에 대해서 현재까지 복호과정까지 구한 LLR의 절대값 중 최소의 값들만을 가지고 비교할 때 그 중의 최소값을 의미하며, Imin는 현재 복호가 진행 중인 하나의 프레임이 첫 번째 정지 기준을 만족시켰을 때 프레임의 출력 LLR의 최소 절대값을 나타낸다.T1(i)은첫 번째 터보복호 정지테스트에 사용되는 문턱값,T2(i):두 번째 터보복호 정지테스트에 사용되는 문턱값을 나타내며, m_flag는 터보복호 정지테스트의 방식을 결정하는 인자(m_flag=1 or 2)를 의미한다.
다음으로 아래에 본 발명이 고안하는 새로운 터보복호 정지방식에 관해서 전체 알고리즘의 개요를 설명하였으며, 이를 다음에 각각 세부적으로 기술하였다. 아래에 보듯이 본 발명에서 제안하는 새로운 터보복호 정지방식은 다음과 같은 3가지의 측정(measure)과 문턱값(threshold)으로 구성된다.
1. 중단 기준(M(i))의 계산(Measure of Stopping Criterion M(i)) : Turbo decoding과정에서 효율적인 복호 중단을 위하여 각 프레임의 반복복호과정마다 관측하는 값이다. i번째 복호시 프레임에서 출력되는 LLR의 최소 절대값으로 정한다.
2. 중단 기준(T1(i))의 제1문턱값(1st Threshold of Stopping CriterionT1(i)) : 반복복호를 중단하기 위한 첫 번째 문턱값이다. 상기 M(i)가 상기 제1문턱값을 넘는 첫 번째 터보복호 정지조건을 만족하면 한 번의 추가적인 반복복호를 수행한 후 복호를 정지하거나 두 번째 터보복호 정지조건 만족여부를 조사한다.
3. 중단 기준(T2(i))의 제2문턱값(2nd Threshold of Stopping Criterion T2(i)) : 반복복호를 중단하기 위한 두 번째 문턱값이다. 상기 M(i)가 상기 제2문턱값까지 만족하면 복호를 중단한다.
상기 각 measure와 threshold를 구하는 방법을 아래에 기술하였다. 즉, 상기 M(i), 제1문턱값, 제2문턱값은 각각의 복호과정에서 모든 정보어 비트마다 구해지는 LLR들의 절대치들(|LLR(k)|)로부터 구해진다. 아래의 <수학식 1>식에서 min 은 최소값을 구하는 함수를 나타내며 아래의 첨자 0<=k<=FL-1, iteration=i의 의미는 최소값을 구하는 대상범위가 i번째 복호과정에서 k는 0에서 FL-1 즉, 입력 프레임의 모든 정보어 비트들을 대상으로 하는 것을 의미한다. 따라서 아래의 <수학식 1>은 i번째 복호과정에서 k는 0에서 FL-1 중 가장 작은 |LLR(k)|를 가지는 것을 M(i)로 선택하는 것을 의미한다.
즉, 상기 <수학식 1>에 의해 구해지는 M(i)는 현재 i번째 복호과정에서 복호가 진행되고 있는 프레임에서 출력되는 LLR 값들의 절대값들 중 최소 절대값이며, T1(i)는 현재 복호가 진행되는 바로 이전인 (i-1)번째 복호과정까지 구한 모든 LLR 값들의 절대값들 중에서 최소의 절대값에 계산 요소(adding factor) Tf를 더한 값이다. T2(i)는 첫 번째 터보복호 정지테스트를 통과하였을 경우의 M(i)값에 계산 요소(adding factor) Td를 더한 값이다. 본 발명에서는 터보 디코더의 반복복호 정지기준이 Eb/No, 프레임 크기에 관계없이 동작하도록 정지기준에 사용되는 문턱값(T1(i),T2(i))을 Eb/No에 따라 사전에 결정하는 상수로 사용하지 않는다. 대신에 터보 반복복호를 진행하면서 계속해서 출력되는 LLR값들의 정보를 사용하여 문턱값(T1(i),T2(i))을 갱신되도록 하였다. LLR 값들은 그 안에 Eb/No에 대한 정보를 포함하고 있으므로, 종래 문턱값을 Eb/No에 따라 사전에 결정해야하는 종속적 관계를 제거하였다.
도 3은 본 발명의 일 실시 예에 따른 터보 복호의 중단 기준을 적용한 터보 디코더의 구성을 보여주고 있는 도면이다.
상기 도 3을 참조하면, 소프트 입력버퍼(310)는 전송채널을 통한 수신 프레임들을 입력으로 하고, 상기 수신 프레임들을 프레임 단위로 버퍼링한다. 디코딩부(320)는 상기 소프트 입력버퍼(310)로부터의 프레임에 대해 터보 디코딩을 수행한다. 또한, 소정의 터보 복호 정지기준에 의해 터보 디코딩의 중단 여부를 결정하여 상기 터보 디코딩된 값들을 출력 버퍼(330)로 출력한다. 상기 디코딩부(320)는 터보 디코더(322), 최소 LLR 검출부(324), 비교 선택부(326) 및제어부(328)로 구성된다. 상기 터보 디코더(322)는 상기 소프트 입력버퍼(310)로부터의 프레임을 구성하는 비트들에 대해 터보 디코딩을 통화 에러 정정 및 복호화를 수행하며, 상기 제어부(328)로부터의 중단신호(STOP_TURBO)에 의해 복호된 결과를 출력버퍼(330)로 출력한다. 또한, 상기 터보 디코더(322)는 상기 소프트 입력버퍼(310)로부터의 프레임을 구성하는 비트들 각각에 대응하는 LLR들의 절대치들(|LLR(k)|)을 계산하여 출력한다. 최소 LLR 검출부(324)는 상기 터보 디코더(322)로부터의 현재 복호 중인 프레임에 대응한 |LLR(k)|들과 상기 제어부(328)로부터의 초기 최대값(MAX) 및 선택신호(SEL)를 입력으로 하고, 상기 MAX와 상기 SEL에 의해 상기 |LLR(k)|들 중 최소의 절대치 LLR(min|LLR(k)|, M(i))을 출력한다. 상기 최소 LLR 검출부(324)의 상세 구성의 일 예는 도 4에서 도시하고 있는 바와 같다. 비교 선택부(326)는 상기 최소 LLR 검출부(324)에 의해 현재 복호 중인 프레임에 대해 얻은 M(i)를 문턱값과 비교하고, 상기 M(i)가 상기 문턱값보다 작으면 Fmin 또는 Imin의 값에 대한 업데이트를 수행한다. 제어부(328)는 상기 비교 선택부(326)로부터의 Fmin 또는 Imin의 값을 저장하며, 상기 Fmin 또는 Imin의 값에 의해 터보 복호 중단 여부를 결정한다. 또한, 상기 결정된 복호 중단 여부에 의해 상기 STOP_TURBO를 출력한다. 예컨대, 터보 복호 중단이 결정되면 상기 STOP_TURBO를 '0'에서 '1'로 전환하여 상기 터보 디코더(322)로 출력함으로서 상기 터보 디코더(322)에게 터보 복호를 중단하고, 소정 프레임에 대해 복호된 결과를 출력 버퍼(330)로 출력하도록 한다. 상기 터보 복호 중단을 위한 상기 디코딩부(320)의 동작은 도 5에서 보여지고 있는 제어 흐름에 의해 수행된다.
전술한 구성에서도 알 수 있는 바와 같이 본 발명을 구현함에 있어 가장 중요한 것은 각각의 부호블록들에 대한 복호과정에서 출력되는 LLR의 절대값들(|LLR(k)|)을 비교하는 구성이라 할 수 있다. 즉, 최소의 |LLR(k)|의 값을 구하면 이를 레지스터에 저장하고, 이 값을 상위계층에서 소정의 테스트 방식에 의해서 비교 검토하여 더 이상의 터보복호 여부를 결정할 수 있다. 상기 도 4는 상기 도 3의 최소 LLR 검출부(324)의 상세 구성을 도시한 도면으로서, 본 발명의 실시 일 예에 따른 터보 복호 중단을 위해 최소 LLR인 M(i)를 검출하기 위한 구성의 일 예를 보여주고 있는 도면이다. 즉, 상기 도 4에서도 나타내고 있는 바와 같이 i번째 프레임을 복호 후 상기 i번째 프레임을 구성하는 비트들 각각의 LLR들 중 최소 절대값을 구하는 것은 비교기(comparator)와 선택기(selector)를 이용하여 간단히 구현할 수 있다.
상기 도 4를 참조하면, 제1선택기(410)는 상기 도 3에서의 제어부(328)로부터의 초기 최대값 MAX와 상기 최소 LLR 검출부(324)의 출력(M(i))을 입력으로 하고, 상기 제어부(328)로부터의 선택신호 SEL에 의해 상기 두 입력 중 어느 하나를 선택하여 출력한다. 상기 제어부(328)는 최초에는 MAX를 선택하기 위한 SEL을 제공할 것이며, 그 후에는 상기 최소 LLR 검출부(324)의 출력을 선택하는 SEL을 제공할 것이다. 즉, 상기 SEL신호는 첫 번째 bit에 대해서만 0의 값을 갖고, 그 이후에는 1의 값을 갖는다. 비교기(412)는 상기 제1선택기(410)로부터의 출력과 상기 터보 디코더(310)로부터의 |LLR(k)|들을 입력(a,b)으로 하고, 상기 두 입력(a,b)을 비교하여 상기 비교 결과에 의해 상기 두 입력(a,b) 중 어느 하나를 선택하여 출력한다. 예컨대, 상기 |LLR(k)|, 즉 b가 상기 제1선택기(410)로부터의 출력, 즉 a보다 큰 조건(a〈b)을 만족하면 상기 비교기(412)는 "1"을 출력하며, 그렇지 않고 상기 조건(a〈b)을 만족하지 않으면 상기 비교기(412)는 "0"을 출력한다. 제2선택기(414)는 상기 |LLR(k)|와 상기 제1선택기(410)로부터의 출력 각각을 입력포트 0과 입력포트 1의 입력으로 하고, 상기 비교기(412)로부터의 출력을 선택신호로 하여 상기 입력포트 0과 1 중 어느 하나를 선택하여 선택된 입력포트로 입력되는 신호를 M(i)로 출력한다. 예컨대, 상기 제2선택기(414)는 상기 비교기(412)로부터의 선택신호가 '0'이면 상기 입력포트 0의 입력이 출력으로 선택되고, 상기 비교기(412)로부터의 선택신호가 '1'이면 상기 입력포트 1의 입력이 출력으로 선택된다. 전술한 바와 같이 도 4에서 보여지고 있는 최소 LLR 검출부(324)는 레지스터의 값을 MAX로 초기화한 후, 각 프레임을 이루는 정보어 비트에 대한 |LLR| 값들을 레지스터에 저장된 값과 비교해가면서 레지스터를 업데이트함으로서 최종적으로 레지스터에 남는 값이 M(i)가 된다.
한편, 전술한 바와 같은 구성을 통해 본 발명을 구현하기 위해서는 도 5에서 도시하고 있는 디코딩부(320)의 제어 흐름이 정의되어야 할 것이다. 따라서, 상기 도 5에서는 본 발명의 일 실시 예에 따른 터보 디코더의 반복복호과정을 정지시키기 위한 터보 복호 정지방식의 제어 흐름을 보여주고 있는 도면이다.
상기 도 5를 참조하면, 본 발명에서 제안하고자 하는 터보복호 정지방식에서 m_flag의 값을 1로 하면, 첫 번째 터보복호 정지테스트 조건이 만족되는 경우에 한해 추가적인 1회의 복호만을 수행한 후 복호를 중단하게 된다. 반면에 상기 m_flag의 값을 2로 하면, 첫 번째 터보복호 정지테스트 조건을 만족한 후에도 추가적인 반복복호과정에서 두 번째 터보복호 정지테스트 조건까지 검사하여 두 조건을 동시에 만족시키는 경우에 한하여 복호를 중단하게 된다. 본 발명에서 제안하고 있는 터보 복호 정지방식에서는 m_flag에 설정된 값에 관계없이 첫 번째 터보복호 정지테스트 조건은 반드시 만족하여야 한다. 즉, 첫 번째 터보복호 정지테스트 조건을 한번이라도 만족하지 못한 상태에서는 두 번째 터보복호 정지테스트 조건을 만족시킬 수 없다는 것이다.
상기 도 5에서 보여지고 있는 본 발명의 일 실시 예에 따른 터보 디코더의 복호 정지 알고리즘을 소정의 소프트웨어 언어(C 언어)로 기술하면 하기 <표 1>과 같이 나타낼 수 있다. 하기 <표 1>에서 보여주고 있는 알고리즘에서 MAX는 127로 초기에 결정한다. 상기 MAX는 충분히 큰 값으로 결정되면 본 발명을 수행하는 데에는 크게 영향을 주지 않는 초기 값이다.
i = 0, Fmin = MAX, Imin = MAXdoTurbo decoding of ith iterationFind M(i) (minimum |LLR|)flag = 0 -- flag 값에 대한 초기화if ( M(i) > Fmin + Tf) -- 복호 중단을 위한 첫 번째 조건flag = flag + 1end ifFmin = minimum M(j) for all j<=iif (flag == 1) -- 복호 중단을 위한 두 번째 조건if ( M(i) > Imin + Td )flag = flag + 1else Imin = M(i)end ifend ifi = i + 1while (flag < m_flag and i < MAX_ITERATION)if (flag == 1 and i < MAX_ITERATION) one more turbo decodingend if |
상기 <표 1>에서 보여주고 있는 터보복호 정지 알고리즘에서는 임의의 한 프레임에 대한 LLR의 최소 절대값이 주어진 터보복호 정지조건을 만족시키는지 여부를 나타내는 플래그(flag)의 값이 m_flag 이상 되어야 복호를 중단하게 된다. 여기서 m_flag를 사용하는 이유는 다음과 같다. 물론 m_flag의 값은 미리 정한 복호방식에 따라 사전에 사용자가 정하는 값이다.
m_flag의 값이 1인 경우는 첫 번째 터보복호 정지테스트만을 검사하며, 만일 조건을 만족하는 경우 추가적인 1회의 복호 후 터보복호를 중단한다. 이에 반하여 m_flag의 값이 2인 경우는 추가적인 복호과정에서 두 번째 터보복호 정지테스트 조건까지 만족시켜야 복호를 중단할 수 있다. 따라서, 전술한 바와 같이 본 발명의 일 실시 예에서는 첫 번째 터보복호 정지테스트 조건을 한 번이라도 만족시키지 못한 상태에서는 두 번째 터보복호 정지테스트 조건을 만족시킬 수 없다(Imin =MAX).
이하 상술한 구성을 참조하여 본 발명의 일 실시 예에 따른 동작을 상세히 설명하면 다음과 같다.
도 3의 제어부(328)는 도 5의 510단계에서 초기화 설정과정을 수행한다. 상기 510단계에서의 초기화 설정과정은 첫 번째 터보복호 정지테스트 기준을 위한 제1계산 요소 Tf와 두 번째 터보복호 정지테스트 기준을 위한 제2계산 요소 Td 및 터보복호 정지방식 결정을 위한 m_flag의 값을 결정한다. 또한, 상기 초기화 설정과정에서는 제1문턱값 Fmin과 제2문턱값 Imin을 MAX로 설정하고, 복호 수행 횟수를 카운팅하기 위한 i를 0으로 초기화한다.
상기 초기화 설정과정이 완료되면 상기 도 5의 512단계로 진행하여 터보 디코딩을 통한 LLR들을 구한다. 즉, 상기 512단계에서 상기 도 3의 디코딩부(320)를 구성하는 터보 디코더(322)는 소프트 입력 버퍼(310)로부터 제공되는 프레임에 대해 터보 디코딩을 수행한다. 또한, 상기 프레임을 구성하는 비트들 각각에 대응하는 LLR값들을 구하여 상기 구하여진 LLR 값들의 절대값들(|LLR(k)|)을 출력한다. 상기 출력되는 |LLR(k)|들은 상기 디코딩부(320)를 구성하는 최소 LLR 검출부(324)로 제공된다.
상기 512단계에서 터보 디코딩과 함께 |LLR(k)|들이 구하여지면 514단계로 진행하여 상기 제어부(328)는 미리 정하여진 최대 반복복호의 수행을 완료하였는지를 판단한다. 상기 판단은 미리 정한 최대의 복호 횟수(MAX_ITERTION)에서 1을 감산한 횟수(MAX_ITERTION-1)와 현재까지 수행된 복호 횟수 I를 비교함으로서 가능하다. 예컨대, 상기 512단계에서 복호를 수행한 후i가 MAX_ITERATTION - 1과 같다면 상기 제어부(328)는 534단계로 진행하여 터보 복호 동작을 중단시킨 후 상기 512단계에서 복호된 결과의 출력을 요구한다. 즉, 상기 제어부(328)는 터보 복호 중단을 요구하는 명령에 대응하는 제어신호 STOP_TURBO를 상기 터보 디코더(322)로 출력한다. 상기 제어신호 STOP_TURBO를 제공받은 상기 터보 디코더(322)는 터보 복호 동작에 의해 복호된 결과를 출력버퍼(330)로 출력한다.
하지만, 상기 514단계에서 설정된 횟수의 반복복호 동작이 완료되지 않았다고 판단되면 516단계로 진행하여 상기 512단계에서 구하여진 |LLR(k)|들 중 최소값에 해당하는 M(i)를 결정하여 이를 저장한다. 즉, 상기 터보 디코더(322)로부터 |LLR(k)|들을 제공받은 상기 최소 LLR 검출부(324)는 상기 초기 설정과정에서 설정되어 상기 제어부(328)로부터 제공되는 MAX와 선택신호 SEL에 의해 상기 M(i)를 결정한다. 상기 M(i)를 계산하는 일 예를 상술한 <수학식 1>에서 보여주고 있으며, 도 4는 이를 하드웨어 구성으로 보여주고 있다. 상기 도 4를 참조하면, 레지스터의 값을 MAX로 초기화한 후 각 프레임을 이루는 정보어 비트들에 대한 |LLR| 값을 레지스터에 저장된 값과 비교해가면서 레지스터를 업데이트하면 최종적으로 레지스터에 남는 값이 M(i)가 된다. 한편, 상기 결정된 M(i)는 비교 선택부(326)와 상기 제어부(328)로 제공된다.
상기 516단계에서 M(i)가 결정되면 상기 제어부(328)는 518단계로 진행하여 첫 번째 터보복호 정지 테스트 조건(M(i)〉Fmin+Tf)을 만족하는지를 판단한다. 상기첫 번째 터보복호 정지 테스트 조건 "M(i)〉Fmin+Tf"를 만족하는 것은 상기 결정된 M(i)가 초기 설정과정에서 설정된 Tf와 현재 설정되어 있는 Fmin을 가산한 문턱값보다 큼을 의미한다. 상기 Fmin은 소정 절차에 의해 가변되는 값으로 상기 절차는 추후에 설명되어질 것이다.
상기 518단계에서 첫 번째 터보복호 정지 테스트 조건을 만족하게 되면 526단계로 단계로 진행하며, 그렇지 않으면 상기 Fmin의 재 설정을 위해 520단계로 진행한다. 예컨대, 상기 520단계로 진행하면 상기 제어부(328)는 상기 M(i)와 상기 Fmin을 비교하여 상기 Fmin의 재 설정 여부를 결정한다. 만약, 상기 520단계에서 상기 M(i)가 상기 Fmin보다 작다고 판단되면 상기 제어부(328)는 522단계에서 상기 M(i)를 상기 Fmin으로 설정한 후 524단계로 진행한다. 하지만, 상기 520단계에서 상기 M(i)가 상기 Fmin보다 작지 않다고 판단되면 상기 Fmin의 재 설정과정을 수행하지 않고 상기 524단계로 진행한다. 상기 524단계로 진행하면 상기 제어부(328)는 상기 i를 하나 증가시킨 후 상기 512단계로 리턴하여 터보 반복복호과정을 수행한다. 만약, 상기 터보 디코더(322)에서 fixed point RESOVA 알고리즘을 사용한다면 상기 Fmin의 값을 항상 0으로 하여 상기 522단계에서 수행하는 업데이트 과정을 생략할 수 있다. 이는 Fixed point 알고리즘의 경우 임의의 프레임에 대한 LLR 최소 절대값의 반복에 따른 최소값이 0으로 근사화될 수 있다는 가정에 근거하였다.
상기 526단계로 진행하게 되면 상기 제어부(328)는 상기 초기 설정과정에 의해 설정된 m_flag를 체크하여 현재 설정된 복호 중지방법을 판단한다. 상기 복호중지방법은 앞에서 밝힌 바와 같이 두 가지 방안을 제안하고 있다. 그 첫 번째가 상기 m_flag가 1로 설정된 경우로 첫 번째 터보복호 정지 테스트 조건만을 만족하면 터보복호를 중지시키는 방안이다. 그 두 번째가 상기 m_flag가 2로 설정된 경우로 첫 번째 뿐만 아니라 두 번째 터보복호 정지 테스트 조건마저 만족하여야만 터보복호를 중지시키는 방안이다.
따라서, 상기 제어부(328)는 현재 설정된 m_flag가 1로 설정되어있으면 이미 518단계에서 상기 첫 번째 터보복호 정지 테스트 조건이 만족되었음으로 532단계로 진행하여 추가적인 복호를 수행한 후 상기 534단계에서 터보복호를 중지하게 하여 복호된 결과의 출력을 요구한다. 즉, 상기 제어부(328)는 터보 복호 중단을 요구하는 명령에 대응하는 제어신호 STOP_TURBO를 상기 터보 디코더(322)로 출력한다. 상기 제어신호 STOP_TURBO를 제공받은 상기 터보 디코더(322)는 추가적인 복호를 수행한 후 터보 복호 동작에 의해 복호된 결과를 출력버퍼(330)로 출력한다.
이에 반하여, 상기 제어부(328)는 현재 설정된 m_flag가 2로 설정되어있으면 상기 두 번째 터보복호 정지 테스트 조건을 만족할 때까지 528단계, 530단계와 524단계 및 전술한 단계들에 대응하는 절차를 수행한다. 즉, 상기 제어부(328)는 상기 m_flag가 2로 설정되어 있으면 528단계로 진행하여 상기 두 번째 터보복호 정지 테스트 조건(M(i)〉Imin+Td)을 만족하는지를 판단한다. 상기 두 번째 터보복호 정지 테스트 조건 "M(i)〉Imin+Td"를 만족하는 것은 상기 결정된 M(i)가 초기 설정과정에서 설정된 Td와 현재 설정되어 있는 Imin을 가산한 문턱값보다 큼을 의미한다. 상기528단계에서 두 번째 터보복호 정지 테스트 조건을 만족하게 되면 상기 534단계로 진행하며, 그렇지 않으면 상기 Imin의 재 설정을 위해 530단계로 진행한다. 상기 Imin의 재 설정을 위해 상기 530단계로 진행하면 상기 제어부(328)는 상기 M(i)를 상기 Imin으로 설정한 후 상기 524단계로 진행한다. 상기 524단계로 진행하면 상기 제어부(328)는 상기 i를 하나 증가시킨 후 상기 512단계로 리턴하여 터보 반복복호과정을 수행한다. 만일, i=0인 첫 번째 터보복호의 경우였다면 Imin이 MAX로 초기화되어 있으므로 상기 두 번째 터보복호 정지 테스트 조건은 절대로 만족시킬 수 없다. 따라서, 항상 530단계에서 Imin을업데이트 후 터보 반복복호과정을 수행하여야 할 것이다.
하지만, 전술한 동작에 의해 상기 두 번째 터보복호 정지 테스트 조건이 만족되면 상기 제어부(328)는 534단계로 진행하여 터보복호를 중지하게 하여 복호된 결과의 출력을 요구한다. 즉, 상기 제어부(328)는 터보 복호 중단을 요구하는 명령에 대응하는 제어신호 STOP_TURBO를 상기 터보 디코더(322)로 출력한다. 상기 제어신호 STOP_TURBO를 제공받은 상기 터보 디코더(322)는 전술한 터보 복호 동작에 의해 복호된 결과를 출력버퍼(330)로 출력한다.
이하 본 발명의 다른 실시 예에 따른 도면을 참조하여 상세히 설명하면 다음과 같다.
본 발명의 다른 실시 예에서는 보다 우수한 성능을 얻을 수 있도록 하기 위해 본 발명의 일 실시 예에서 제시한 LLR을 이용한 터보복호 정지 방식과 기존의 CRC를 이용한 터보복호 정지 방식을 함께 사용하도록 하는 것이다. 즉, 임의의 한프레임에 대한 한 번의 터보복호 후 CRC 체크와 LLR의 최소 절대값에 의한 정지 테스트를 모두 수행함으로서 두 방식 중 어느 한 방식의 정지 조건을 만족하면 복호를 중단하도록 하는 것을 제안하고 있다.
도 6은 본 발명의 다른 실시 예에 따른 터보 복호의 중단 기준을 적용한 터보 디코더의 구성을 보여주고 있는 도면으로, 본 발명의 일 실시 예에 따른 복호정지 방식과 CRC에 의한 복호정지 방식을 함께 적용한 구조를 보이고 있다.
상기 도 6을 참조하면, 터보 디코더(610)는 소프트 입력버퍼(310)로부터의 프레임을 입력으로 하고, 상기 입력되는 프레임에 대해 터보 디코딩을 수행하여 에러 정정 및 복호화를 수행한다. CRC 검사부(612)는 상기 터보 디코더(610)로부터의 복호 결과를 입력으로 하고, 상기 터보 디코더(610)에 의한 한 번의 복호를 수행할 때마다 상기 복호 결과에 대해 CRC 비트를 이용하여 매 프레임의 에러를 검출한다. 또한, 상기 CRC 검사부(612)는 상기 CRC 검사 결과에 대응하여 결과신호(CRC_FLAG)를 출력한다. 예컨대, 상기 CRC 검사부(612)는 CRC 검사 결과가 'good'이면 'CRC_FLAG'를 '0'에서 '1'로 바꾸어 복호를 중단하도록 한다. LLR 정지 제어부(LLR Stop Controller)(614)는 본 발명의 일 실시 예에서 제안하고 있는 LLR을 이용한 복호 정지 조건을 테스트하는 기능을 수행한다. 즉, 상기 도 3에서 보여지고 있는 구성 중 최소 LLR 검출부(324)와 비교 선택부(326)가 이에 대응한다 할 것이다. 예컨대, 상기 LLR 정지 제어부(614)는 임의의 한 프레임이 복호정지 기준을 만족시키면 'LLR_FLAG'신호를 '0'에서 '1'로 하여 복호를 중단하도록 한다. 정지 선택 제어부(616)는 상기 CRC 검사부(612)로부터의 CRC_FLAG와 상기 LLR 정지 제어부(614)로부터의 LLR_FLAG를 입력으로 한다. 상기 정지 선택 제어부(616)는 상기 두 입력에 의해 터보복호의 정지를 위해 어떠한 복호 정지 방식을 사용할 것인지를 선택하고, 상기 선택된 복호 정지 방식의 '_FLAG (CRC_FLAG 또는 LLR_FLAG)'신호가 '1'이 되면 상기 터보 디코더(610)에 의해 수행되고 있는 터보 복호를 중지하도록 하기 위한 제어신호 STOP_TURBO를 출력한다. 예컨대, 상기 정지 선택 제어부(616)는 성가 '_FLAG (CRC_FLAG 또는 LLR_FLAG)'에 의해 정지 요구가 발생하면 상기 STOP_TURBO를 '0'에서 '1'로 하여 출력함으로서 더 이상의 복호를 중단시킨다. 이 때, 복호 정지 방식의 선택을 제어하는 신호는 'MODE_SELECT'신호이며, 다음의 각 모드에 따라 다른 복호 정지 방식을 선택한다. 각 모드 가운데 CRC 복호 정지 방식만을 사용하는 경우에는 'CRC_FLAG' 신호가 '0'에서 '1'로 바뀌면 'STOP_TURBO'를 '0'에서 '1'로 바꾸어 복호를 중단시킨다. 한편, CRC 복호 정지 방식과 LLR 복호 정지 방식을 함께 사용하는 경우에는 'CRC_FLAG' 신호와 'LLR_FLAG' 가운데 어느 한 신호가 '1'이 되면 'STOP_TURBO'를 '0'에서 '1'로 바꾸어 복호를 중단시킨다. 전술한 동작에 의해 복호가 중지되면 상기 터보 디코더(610)로부터 복호된 결과를 출력버퍼(330)에 출력하도록 한다.
상기 MODE_SELECT신호에 대응하여 상기 정지 선택 제어부(616)가 선택하게 되는 모드들의 일 예는 하기 <표 2>와 같이 나타낼 수 있다.
mode | 복호 정지 방식 |
00 | CRC only |
01 | CRC or LLR(m_flag=1) |
10 | CRC or LLR(m_flag=2) |
11 | Reserved bit |
상기 <표 1>에서 보여지고 있는 바와 같이 '00"의 MODE_SELECT신호가 제공되면 CRC를 통한 복호 정지 방식을 선택하며, '01"의 MODE_SELECT신호가 제공되면 CRC 또는 m_flag가 1로 설정된 LLR을 통한 복호 정지 방식을 선택한다. 한편, '10"의 MODE_SELECT신호가 제공되면 CRC 또는 m_flag가 2로 설정된 LLR을 통한 복호 정지 방식을 선택하며, '11"의 MODE_SELECT신호가 제공되면 보류 상태(reserved bit)를 선택한다.
이하 전술한 본 발명의 실시 예들을 적용한 터보 디코더에 소정 실험 환경에서의 실험 결과를 살펴보면 다음과 같다.
실험1: 첫 번째와 두 번째 터보복호 정지기준 모두를 사용하는 테스트(m_flag=2)
실험 환경 1
- AWGN Channel- Turbo encoder: rate 1/3, 3GPP RSC encoderRecursive Systematic Convolutional encoder: Turbo code의 구성 부호기에 해당., PIL interleaver3GPP에서 사용하는 Turbo code의 internal interleaver, 12 tail bits for trellis termination, interleaver size FL = {336, 1296, 4096}- Turbo Decoder: Fixed Point RESOVARegister Exchange Soft Output Viterbi Algorithm: Turbo code를 복호하는 알고리즘의 한 종류, MAX_ITERATION = 8- Tf = 5, Td = 10, m_flag = 2- T1(i) = Tf- CRC 사용안함. |
실험 환경 1에서 사용한 반복 복호 정지 알고리즘에서는 임의의 한 프레임에서 구한 LLR의 최소 절대값의 반복에 따른 최소값을 0으로 정하였다(T1(i) = Tf, Fmin = 0). 이로 인해 두 번째 정지 기준 테스트를 위한 Fmin의 최소화 과정을 생략할 수 있도록 하였다. 이는 Fixed point 알고리즘의 경우, 임의의 프레임에 대한 LLR의 최소 절대값의 반복에 따른 최소값이 0으로 근사화될 수 있다는 가정에 근거하였다.
위의 실험 환경에서 본 발명의 정지 기준에 의해 얻는 터보코드의 FER성능과 평균 반복 복호 횟수를 Genie-aided Turbo decoding에 의해 얻을 수 있는 FER성능, 평균 반복 복호 횟수와 비교한다. 여기서 Genie-aided decoding이라 함은 복호과정마다 실험자가 프레임에 발생하는 에러의 수를 관찰하여 에러가 발생하지 않으면 복호를 중단하는 방식이다. 즉, FER관점에서 가장 이상적인 경우를 의미한다.
전술한 실험에 의해 얻어지는 실험 결과에 따른 비교를 표로서 보이면 하기 <표 3>과 같다.
Genie-aided decoding | stopping rule | |
FER 성능 | best | almost best |
평균 반복 복호 회수 | best | Good |
실제 구현 가능 여부 | impossible | simply realizable |
도 7은 Genie-aided decoding에 의해 얻게 되는 터보 코드 프레임의 FER성능과, 본 발명의 정지 기준을 적용하여 디코딩하였을 때 얻게 되는 FER성능을 비교하고 있는 도면이다. 상기 도 7에서 볼 수 있는 바와 같이 본 발명의 정지 기준을 이용한 터보 디코딩은 프레임의 크기와 Eb/No에 관계없이 매우 우수한 FER 성능을 보장하고 있음을 알 수 있다.
하기의 <표 4> 내지 <표 6>은 Genie-aided turbo decoding과 본 발명의 정지 기준을 적용한 터보 디코딩의 평균 반복 복호 횟수를 비교한 것이다.
Eb/No(dB) | Genie-aided | stopping rule |
0.4 | 7.39 | 7.86 |
0.6 | 6.03 | 7.20 |
0.8 | 4.69 | 6.17 |
Eb/No(dB) | Genie-aided | stopping rule |
0.6 | 5.43 | 6.67 |
0.8 | 4.30 | 5.68 |
1.0 | 3.53 | 4.92 |
Eb/No (dB) | Genie-aided | stopping rule |
0.8 | 3.96 | 5.20 |
1.0 | 3.21 | 4.58 |
1.2 | 2.69 | 4.01 |
1.4 | 2.23 | 3.63 |
1.6 | 2.09 | 3.33 |
상기 <표 4> 내지 <표 6>에서 보여지고 있듯이 최대 반복 복호 횟수를 8회로 제한하였을 때, 본 발명의 정지 기준을 적용한 터보 디코딩은 Genie-aided decoding에 비해 약 1.5회 정도 평균 반복 복호 횟수가 증가하였음을 알 수 있다. 이러한 평균 반복 복호 횟수의 증가는 LLR의 최소 절대값의 측정이 본 발명의 문턱값을 만족시켰을 때 반드시 수행하도록 되어 있는 추가적인 1회의 복호가 가장 큰 발생 요인이다. 그렇지만, 3GPP의 코드블록 분할에 의한 전송 블록의 분할로 CRC 비트가 없는 경우, 최대 반복 복호를 수행해야하는 것에 비해서는 전력 소모와 지연 시간을 매우 많이 줄일 수 있다.
실험2: 첫 번째 정지기준만을 사용하는 테스트(m_flag=1) + CRC를 병용하는 경우
실험 환경 2
- AWGN Channel- Turbo encoder: 3GPP2 RSC encoder (RC5), LCS interleaver3GPP2에서 사용하는 Turbo code의 internal interleaver, 12 tail bits for trellis termination, interleaver size FL = {2296, 4600}, 16 bit CRC- Turbo Decoder: Fixed Point LogMAPTurbo code의 복호 알고리즘인 MAP알고리즘에 Log연산을 적용하여 구현한 터보복호 알고리즘, MAX_ITERATION = 8- Tf = 2 (m_flag = 1) |
실험 환경 2에서는 m_flag의 값을 1로 하여 LLR의 최소 절대값이 첫 번째 문턱값만을 만족시키면 추가적인 1회의 복호 후 복호를 중단하였다. 또한 상기 실험 환경 2에서는 16 비트 CRC를 사용하여 CRC에 의한 정지 기준과 본 발명의 알고리즘에 의한 정지 기준을 동시에 사용하였다. 즉, 터보 코드의 임의의 한 프레임을 반복 복호하는데 있어서 CRC가 "good"이면 복호를 중단하거나, 또는 최소 |LLR|이 문턱값을 만족하면 추가적인 1회의 복호 후 복호를 중단하였다 (CRC or LLR stop). 그리고, 이러한 실험에 의해 얻은 FER & BER결과를 CRC만을 이용하여 복호 정지한 경우(CRC only stop)와 비교하였다.
전술한 실험에 의해 얻어지는 실험 결과를 분석하면, 도 8은 CRC or LLR stop 방식과 CRC only stop 방식의 FER 및 BER 결과를 비교하여 보여주고 있는 도면이다. 상기 도 8에서 'S-'는 CRC or LLR stop방식을 나타낸다. 이 실험은 3GPP의 실험(실험 환경 1)과는 달리 CRC 비트가 항상 존재한다는 가정에서 실험한 것으로서, CRC only stop 방식에 본 발명의 알고리즘에 의한 LLR stop 방식을 추가하여 터보 디코딩을 한 경우 또한 우수한 성능을 나타내고 있음을 보이고 있다.
전술한 바와 같은 본 발명은 하기와 같은 효과를 가진다.
첫 번째로, CRC 비트에 의한 복호 정지가 불가능한 터보 디코더에 간단한 모듈만을 추가하여 불필요한 반복 복호를 수행하지 않음으로써 전력 소모와 지연 시간을 줄일 수 있게 된다.
두 번째로, 크기가 작은 터보 코드 프레임의 경우, CRC 비트에 의한 오버 헤드(overhead)를 없앨 수 있다.
세 번째로, 3GPP의 터보 디코더에서 전송블록의 에러 검출을 위한 CRC 비트가 분산될 경우, CRC 비트가 없이도 터보 디코더의 복호 정지가 가능하게 된다.
Claims (8)
- 수신 프레임을 버퍼링하는 입력버퍼와 복호된 결과를 버퍼링하는 출력버퍼를 구비하여 터보코드를 사용한 순방향 오류정정을 수행하는 장치에 있어서,상기 입력버퍼로부터의 수신 프레임을 입력으로 하여 복호 중지 명령이 인가될 때까지 상기 수신 프레임에 대해 반복복호를 수행하고, 상기 수신 프레임을 구성하는 비트들 각각의 절대치 신뢰도들을 출력하는 터보 디코더와,상기 절대치 신뢰도들을 입력으로 하고, 상기 입력된 절대치 신뢰도들 중 가장 작은 값을 가지는 최소 절대치 신뢰도를 검출하는 최소 신뢰도 검출부와,상기 검출부로부터의 최소 절대치 신뢰도에 의해 문턱값을 갱신하는 비교 선택부와,상기 검출부로부터의 최소 절대치 신뢰도와 상기 문턱값을 입력으로 하고, 상기 최소 절대치 신뢰도와 상기 문턱값의 비교 결과에 의해 상기 복호 중지 명령을 출력하는 제어부를 포함함을 특징으로 하는 상기 장치.
- 제1항에 있어서, 상기 최소 신뢰도 검출부는,초기 설정에 의해 설정된 문턱값과 상기 최소 절대치 신뢰도를 입력으로 하고, 상기 제어부로부터의 선택신호에 의해 상기 문턱값과 상기 최소 절대치 신뢰도 중 어느 하나를 선택하는 제1선택기와,상기 절대치 신뢰도들과 상기 제1선택기로부터의 출력을 입력으로 하고, 상기 절대치 신뢰도들과 상기 제1선택기로부터의 출력을 비교하여 그 비교 결과에 따른 선택신호를 출력하는 비교기와,상기 절대치 신뢰도들과 상기 제1선택기로부터의 출력을 입력으로 하고, 상기 비교기로부터의 선택신호에 의해 상기 절대치 신뢰도들과 상기 제1선택기로부터의 출력 중 어느 하나를 선택하여 상기 최소 절대치 신뢰도로 출력하는 제2선택기를 포함함을 특징으로 하는 상기 장치.
- 수신 프레임을 버퍼링하는 입력버퍼와 복호된 결과를 버퍼링하는 출력버퍼를 구비하여 터보코드를 사용한 순방향 오류정정을 수행하는 방법에 있어서,상기 수신 프레임을 입력으로 하여 복호 중지 명령이 인가될 때까지 상기 수신 프레임에 대해 반복복호를 수행하고, 상기 수신 프레임을 구성하는 비트들 각각의 절대치 신뢰도들을 출력하는 과정과,상기 절대치 신뢰도들을 입력으로 하고, 상기 입력된 절대치 신뢰도들 중 가장 작은 값을 가지는 최소 절대치 신뢰도를 검출하는 과정과,상기 최소 절대치 신뢰도에 의해 문턱값을 갱신하는 과정과,상기 최소 절대치 신뢰도와 상기 문턱값을 입력으로 하고, 상기 최소 절대치 신뢰도와 상기 문턱값의 비교 결과에 의해 상기 복호 중지 명령을 출력하는 과정을 포함함을 특징으로 하는 상기 방법.
- 제3항에 있어서, 상기 최소 절대치 신뢰도를 검출하는 과정은,초기 설정에 의해 설정된 문턱값과 상기 최소 절대치 신뢰도를 입력으로 하고, 선택신호에 의해 상기 문턱값과 상기 최소 절대치 신뢰도 중 어느 하나를 선택하는 과정과,상기 절대치 신뢰도들과 상기 선택과정에 의한 출력을 입력으로 하고, 상기 절대치 신뢰도들과 상기 선택과정에 의한 출력을 비교하여 그 비교 결과에 따른 선택신호를 출력하는 과정과,상기 절대치 신뢰도들과 상기 선택과정에 의한 출력을 입력으로 하고, 상기 선택신호에 의해 상기 절대치 신뢰도들과 상기 선택과정에 의한 출력 중 어느 하나를 선택하여 상기 최소 절대치 신뢰도로 출력하는 과정을 포함함을 특징으로 하는 상기 방법.
- 수신 프레임을 버퍼링하는 입력버퍼와 복호된 결과를 버퍼링하는 출력버퍼를 구비하여 터보코드를 사용한 순방향 오류정정을 수행하는 장치에 있어서,상기 입력버퍼로부터의 수신 프레임을 입력으로 하여 복호 중지 명령이 인가될 때까지 상기 수신 프레임에 대해 반복복호를 수행하고, 상기 수신 프레임을 구성하는 비트들 각각의 절대치 신뢰도들을 출력하는 터보 디코더와,상기 절대치 신뢰도들을 입력으로 하고, 상기 입력된 절대치 신뢰도들 중 가장 작은 값을 가지는 최소 절대치 신뢰도를 검출하여 문턱값을 갱신하고, 상기 최소 절대치 신뢰도와 상기 갱신한 문턱값을 비교하여 비교 결과에 의해 복호 중지신호를 출력하는 정지 제어부와,상기 터보 디코더에 의한 한번의 복조 수행에 의한 복조 결과를 입력으로 하고, 상기 복조 결과의 CRC 비트를 이용하여 매 프레임의 에러를 검출하여 상기 검출 결과에 대응하는 복조 중지신호를 출력하는 CRC 검사부와,상기 정지 제어부로부터의 복조 중지신호와 상기 CRC 검사부로부터의 복조 중지신호를 입력으로 하고, 상기 두 복조 중지신호에 대응하여 상기 복조 중지 명령을 출력하는 정지 선택 제어부를 포함함을 특징으로 하는 상기 장치.
- 제5항에 있어서, 상기 정지 제어부는,상기 절대치 신뢰도들을 입력으로 하고, 상기 입력된 절대치 신뢰도들 중 가장 작은 값을 가지는 최소 절대치 신뢰도를 검출하는 최소 신뢰도 검출부와,상기 검출부로부터의 최소 절대치 신뢰도에 의해 문턱값을 갱신하는 비교 선택부와,상기 검출부로부터의 최소 절대치 신뢰도와 상기 문턱값을 입력으로 하고, 상기 최소 절대치 신뢰도와 상기 문턱값의 비교 결과에 의해 상기 복호 중지신호를 출력하는 제어부를 포함함을 특징으로 하는 상기 장치.
- 수신 프레임을 버퍼링하는 입력버퍼와 복호된 결과를 버퍼링하는 출력버퍼를 구비하여 터보코드를 사용한 순방향 오류정정을 수행하는 방법에 있어서,상기 입력버퍼로부터의 수신 프레임을 입력으로 하여 복호 중지 명령이 인가될 때까지 상기 수신 프레임에 대해 반복복호를 수행하고, 상기 수신 프레임을 구성하는 비트들 각각의 절대치 신뢰도들을 출력하는 과정과,상기 절대치 신뢰도들을 입력으로 하고, 상기 입력된 절대치 신뢰도들 중 가장 작은 값을 가지는 최소 절대치 신뢰도를 검출하여 문턱값을 갱신하고, 상기 최소 절대치 신뢰도와 상기 갱신한 문턱값을 비교하여 비교 결과에 의해 제1복호 중지신호를 출력하는 과정과,상기 한번의 복조 수행에 의한 복조 결과를 입력으로 하고, 상기 복조 결과의 CRC 비트를 이용하여 매 프레임의 에러를 검출하여 상기 검출 결과에 대응하는 제2복조 중지신호를 출력하는 과정과,상기 제1 및 상기 제2복조 중지신호를 입력으로 하고, 상기 제1 및 제2복조 중지신호에 대응하여 상기 복조 중지 명령을 출력하는 과정을 포함함을 특징으로 하는 상기 방법.
- 제7항에 있어서, 상기 제1복조 중지신호를 출력하는 과정은,상기 절대치 신뢰도들을 입력으로 하고, 상기 입력된 절대치 신뢰도들 중 가장 작은 값을 가지는 최소 절대치 신뢰도를 검출하는 과정과,상기 최소 절대치 신뢰도에 의해 문턱값을 갱신하는 과정과,상기 최소 절대치 신뢰도와 상기 문턱값을 입력으로 하고, 상기 최소 절대치 신뢰도와 상기 문턱값의 비교 결과에 의해 상기 제1복호 중지신호를 출력하는 과정을 포함함을 특징으로 하는 상기 방법.
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000081387A KR100713331B1 (ko) | 2000-12-23 | 2000-12-23 | 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법 |
US10/027,395 US6888901B2 (en) | 2000-12-23 | 2001-12-20 | Apparatus and method for stopping iterative decoding in a CDMA mobile communication system |
GB0130843A GB2374500B (en) | 2000-12-23 | 2001-12-24 | Apparatus and method for stopping iterative decoding in a CDMA mobile communication system |
AU2002217598A AU2002217598B2 (en) | 2000-12-23 | 2001-12-24 | Apparatus and method for stopping iterative decoding in a CDMA mobile communication system |
JP2002553314A JP3556943B2 (ja) | 2000-12-23 | 2001-12-24 | 符号分割多重接続移動通信システムの反復復号中止装置及び方法 |
CA002400469A CA2400469C (en) | 2000-12-23 | 2001-12-24 | Apparatus and method for stopping iterative decoding in a cdma mobile communication system |
CNB018055303A CN1211932C (zh) | 2000-12-23 | 2001-12-24 | 在码分多址移动通信系统中终止叠代解码的设备和方法 |
PCT/KR2001/002256 WO2002052734A1 (en) | 2000-12-23 | 2001-12-24 | Apparatus and method for stopping iterative decoding in a cdma mobile communication system |
DE60107527T DE60107527T2 (de) | 2000-12-23 | 2001-12-27 | Einrichtung und Verfahren zum Anhalten einer iterativen Dekodierung in einem CDMA Mobilkommunikationssystem |
EP01130922A EP1217776B1 (en) | 2000-12-23 | 2001-12-27 | Apparatus and method for stopping iterative decoding in CDMA mobile communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000081387A KR100713331B1 (ko) | 2000-12-23 | 2000-12-23 | 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020052112A true KR20020052112A (ko) | 2002-07-02 |
KR100713331B1 KR100713331B1 (ko) | 2007-05-04 |
Family
ID=19703540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000081387A KR100713331B1 (ko) | 2000-12-23 | 2000-12-23 | 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법 |
Country Status (10)
Country | Link |
---|---|
US (1) | US6888901B2 (ko) |
EP (1) | EP1217776B1 (ko) |
JP (1) | JP3556943B2 (ko) |
KR (1) | KR100713331B1 (ko) |
CN (1) | CN1211932C (ko) |
AU (1) | AU2002217598B2 (ko) |
CA (1) | CA2400469C (ko) |
DE (1) | DE60107527T2 (ko) |
GB (1) | GB2374500B (ko) |
WO (1) | WO2002052734A1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100472678B1 (ko) * | 2001-06-29 | 2005-03-09 | 주식회사 엔터보 | 터보코드 병렬형 복호화 과정에서의 반복 복호 조기정지 방법 |
KR100516586B1 (ko) * | 2002-12-10 | 2005-09-22 | 삼성전자주식회사 | 부호 분할 다중 접속 이동 통신 시스템의 오류 정정 장치및 방법 |
KR100776910B1 (ko) * | 2006-09-11 | 2007-11-15 | 포항공과대학교 산학협력단 | 비이진부호에서의 scr/sdr을 이용한 반복 복호 장치및 그 동작 방법 |
KR100848779B1 (ko) * | 2001-08-27 | 2008-07-28 | 엘지전자 주식회사 | 반복 복호기에서 두 가지 레벨 이상의 복호능력 표시방법 |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7012911B2 (en) * | 2001-05-31 | 2006-03-14 | Qualcomm Inc. | Method and apparatus for W-CDMA modulation |
US7505534B1 (en) * | 2002-11-04 | 2009-03-17 | Nortel Networks Limited | Method for determination of discontinuous transmission, frame erasure, and rate |
JP4227425B2 (ja) * | 2003-01-23 | 2009-02-18 | キヤノン株式会社 | 情報処理方法及び装置、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
FR2850810B1 (fr) * | 2003-02-03 | 2005-05-13 | Nortel Networks Ltd | Procede de controle du nombre d'iterations d'un processus de decodage iteratif et dispositif pour la mise en oeuvre du procede |
TWI350066B (en) * | 2003-04-17 | 2011-10-01 | Icera Inc | Apparatus and method for turbo decoder termination |
JP4244700B2 (ja) * | 2003-05-21 | 2009-03-25 | 日本電気株式会社 | ターボ復号器及びそれに用いるダイナミック復号方法 |
US7272771B2 (en) * | 2003-10-30 | 2007-09-18 | Nokia Corporation | Noise and quality detector for use with turbo coded signals |
US7660568B2 (en) * | 2004-09-27 | 2010-02-09 | Alcatel-Lucent Usa Inc. | Method and apparatus for generating a channel estimate using a non-pilot portion of a signal |
US7684779B2 (en) * | 2005-05-31 | 2010-03-23 | Broadcom Corporation | Wireless terminal baseband processor high speed turbo decoding module |
US7532638B2 (en) * | 2005-06-01 | 2009-05-12 | Broadcom Corporation | Wireless terminal baseband processor high speed turbo decoding module supporting MAC header splitting |
CN101194428A (zh) * | 2005-06-27 | 2008-06-04 | 汤姆森许可贸易公司 | 迭代解码器中的停止准则 |
US7853854B2 (en) * | 2005-11-15 | 2010-12-14 | Stmicroelectronics Sa | Iterative decoding of a frame of data encoded using a block coding algorithm |
JP4092352B2 (ja) * | 2005-11-16 | 2008-05-28 | Necエレクトロニクス株式会社 | 復号装置、復号方法、及び受信装置 |
JP4229948B2 (ja) * | 2006-01-17 | 2009-02-25 | Necエレクトロニクス株式会社 | 復号装置、復号方法、及び受信装置 |
US7861135B2 (en) * | 2006-02-03 | 2010-12-28 | Electronics And Telecommunications Research Institute Of Daejeon | Low-complexity and low-power-consumption turbo decoder with variable scaling factor |
US7616697B2 (en) * | 2006-04-07 | 2009-11-10 | Intel Corporation | Cooperative inter-carrier channel coding apparatus, systems, and methods |
KR101037243B1 (ko) | 2006-08-02 | 2011-05-26 | 후지쯔 가부시끼가이샤 | 수신 장치 및 그 복호 방법 |
US8356232B2 (en) * | 2006-10-06 | 2013-01-15 | Motorola Mobility Llc | Method and apparatus for encoding and decoding data |
US8024644B2 (en) * | 2006-11-14 | 2011-09-20 | Via Telecom Co., Ltd. | Communication signal decoding |
US7949926B2 (en) * | 2006-11-30 | 2011-05-24 | Motorola Mobility, Inc. | Method and apparatus for encoding and decoding data |
US8051239B2 (en) * | 2007-06-04 | 2011-11-01 | Nokia Corporation | Multiple access for parallel turbo decoder |
US8037394B2 (en) * | 2007-06-29 | 2011-10-11 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques for generating bit reliability information in a post-processor using an error correction constraint |
US8386878B2 (en) * | 2007-07-12 | 2013-02-26 | Samsung Electronics Co., Ltd. | Methods and apparatus to compute CRC for multiple code blocks |
US20090077457A1 (en) | 2007-09-19 | 2009-03-19 | Rajaram Ramesh | Iterative decoding of blocks with cyclic redundancy checks |
US7917830B2 (en) * | 2007-09-28 | 2011-03-29 | Via Technologies, Inc. | Turbo decoder and iteration stopping method thereof |
KR100943519B1 (ko) | 2007-11-22 | 2010-02-22 | 한국전자통신연구원 | 로그우도비 산출 방법 및 송신 신호 검출 방법 |
KR20090083758A (ko) * | 2008-01-30 | 2009-08-04 | 삼성전자주식회사 | 연접 부호 복호화 방법 및 장치 |
EP2258065B1 (en) * | 2008-02-05 | 2017-01-11 | Telefonaktiebolaget LM Ericsson (publ) | A method and system for stopping execution of a turbo decoder |
JP4863519B2 (ja) * | 2008-02-14 | 2012-01-25 | シャープ株式会社 | 復号化装置、復号化方法、復号化プログラム、受信装置、及び通信システム |
US8370711B2 (en) | 2008-06-23 | 2013-02-05 | Ramot At Tel Aviv University Ltd. | Interruption criteria for block decoding |
US20090319860A1 (en) * | 2008-06-23 | 2009-12-24 | Ramot At Tel Aviv University Ltd. | Overcoming ldpc trapping sets by decoder reset |
JP2010011119A (ja) * | 2008-06-27 | 2010-01-14 | Nec Electronics Corp | 復号方法および復号装置 |
US8090896B2 (en) * | 2008-07-03 | 2012-01-03 | Nokia Corporation | Address generation for multiple access of memory |
KR20110011223A (ko) * | 2009-07-28 | 2011-02-08 | (주)네스랩 | 저전력 터보복호기의 조기정지 시스템 및 방법 |
US8989320B2 (en) * | 2009-09-02 | 2015-03-24 | Qualcomm Incorporated | Hardware simplification of sic-MIMO decoding by use of a single hardware element with channel and noise adaptation for interference cancelled streams |
US8514984B2 (en) | 2009-09-02 | 2013-08-20 | Qualcomm Incorporated | Iterative decoding architecture with HARQ combining and soft decision directed channel estimation |
US8976903B2 (en) * | 2009-09-02 | 2015-03-10 | Qualcomm Incorporated | Unified iterative decoding architecture using joint LLR extraction and a priori probability |
US8199034B2 (en) | 2010-04-20 | 2012-06-12 | Qualcomm Incorporated | Method and apparatus for soft symbol determination |
KR101228624B1 (ko) * | 2010-09-28 | 2013-01-31 | 동아대학교 산학협력단 | 일반화된 정규-라플라스 분포 잡음 환경에서의 신호 검출 장치 |
EP2625905B1 (en) * | 2010-10-05 | 2018-04-04 | Google Technology Holdings LLC | Method and apparatus for reliable control channel performance |
DE112011103868B4 (de) | 2010-11-23 | 2024-01-25 | Intel Corporation (N.D.Ges.D. Staates Delaware) | Füllung nach Kanalkodierung (Wiederholung) und Verschachteln |
US8869000B2 (en) * | 2011-01-31 | 2014-10-21 | Marvell World Trade Ltd. | Methods and systems for efficient decoding of concatenated error correction codes |
US8522119B2 (en) * | 2011-12-07 | 2013-08-27 | Xilinx, Inc. | Reduction in decoder loop iterations |
US8897399B2 (en) | 2012-03-07 | 2014-11-25 | Samsung Electronics Co., Ltd. | Communication system with signal-to-noise ratio adjustment mechanism and method of operation thereof |
US8744018B2 (en) | 2012-04-05 | 2014-06-03 | Qualcomm Incorporated | Early termination schemes for turbo decoding in a wireless communication system |
US8839079B2 (en) * | 2012-08-20 | 2014-09-16 | Qualcomm Incorporated | Methods and apparatuses for saving power during transport block decoding in UMTS systems |
CN108282246B (zh) * | 2017-01-05 | 2023-09-01 | 华为技术有限公司 | 信息处理的方法、设备和通信系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19736625C1 (de) * | 1997-08-22 | 1998-12-03 | Siemens Ag | Verfahren zur Datenübertragung auf Übertragungskanälen in einem digitalen Übertragungssystem |
EP1127413B1 (en) | 1998-11-05 | 2011-06-22 | Qualcomm Incorporated | Efficient iterative decoding |
US6298084B1 (en) * | 1998-11-24 | 2001-10-02 | Motorola, Inc. | Bad frame detector and turbo decoder |
JP3545623B2 (ja) * | 1999-01-05 | 2004-07-21 | 株式会社エヌ・ティ・ティ・ドコモ | 復号方法 |
US6665357B1 (en) * | 1999-01-22 | 2003-12-16 | Sharp Laboratories Of America, Inc. | Soft-output turbo code decoder and optimized decoding method |
JP3244121B2 (ja) * | 1999-04-07 | 2002-01-07 | 株式会社ワイ・アール・ピー移動通信基盤技術研究所 | 復号装置 |
FR2805106A1 (fr) * | 2000-02-14 | 2001-08-17 | Mitsubishi Electric Inf Tech | Procede de transmission numerique de type a codage correcteur d'erreurs |
US6829313B1 (en) * | 2000-07-17 | 2004-12-07 | Motorola, Inc. | Sliding window turbo decoder |
US6956912B2 (en) * | 2000-11-14 | 2005-10-18 | David Bass | Turbo decoder with circular redundancy code signature comparison |
JP2002158633A (ja) | 2000-11-20 | 2002-05-31 | Mitsubishi Electric Corp | 通信装置および通信方法 |
US6745352B2 (en) * | 2000-12-13 | 2004-06-01 | Ericsson Inc. | Methods of estimating error rates for communications received using iterative processing and related receivers |
KR100516586B1 (ko) * | 2002-12-10 | 2005-09-22 | 삼성전자주식회사 | 부호 분할 다중 접속 이동 통신 시스템의 오류 정정 장치및 방법 |
-
2000
- 2000-12-23 KR KR1020000081387A patent/KR100713331B1/ko not_active IP Right Cessation
-
2001
- 2001-12-20 US US10/027,395 patent/US6888901B2/en not_active Expired - Fee Related
- 2001-12-24 AU AU2002217598A patent/AU2002217598B2/en not_active Ceased
- 2001-12-24 WO PCT/KR2001/002256 patent/WO2002052734A1/en active IP Right Grant
- 2001-12-24 CA CA002400469A patent/CA2400469C/en not_active Expired - Fee Related
- 2001-12-24 CN CNB018055303A patent/CN1211932C/zh not_active Expired - Fee Related
- 2001-12-24 GB GB0130843A patent/GB2374500B/en not_active Expired - Fee Related
- 2001-12-24 JP JP2002553314A patent/JP3556943B2/ja not_active Expired - Fee Related
- 2001-12-27 DE DE60107527T patent/DE60107527T2/de not_active Expired - Lifetime
- 2001-12-27 EP EP01130922A patent/EP1217776B1/en not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100472678B1 (ko) * | 2001-06-29 | 2005-03-09 | 주식회사 엔터보 | 터보코드 병렬형 복호화 과정에서의 반복 복호 조기정지 방법 |
KR100848779B1 (ko) * | 2001-08-27 | 2008-07-28 | 엘지전자 주식회사 | 반복 복호기에서 두 가지 레벨 이상의 복호능력 표시방법 |
KR100516586B1 (ko) * | 2002-12-10 | 2005-09-22 | 삼성전자주식회사 | 부호 분할 다중 접속 이동 통신 시스템의 오류 정정 장치및 방법 |
KR100776910B1 (ko) * | 2006-09-11 | 2007-11-15 | 포항공과대학교 산학협력단 | 비이진부호에서의 scr/sdr을 이용한 반복 복호 장치및 그 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN1211932C (zh) | 2005-07-20 |
CA2400469A1 (en) | 2002-07-04 |
WO2002052734A1 (en) | 2002-07-04 |
GB2374500B (en) | 2003-04-30 |
CN1406415A (zh) | 2003-03-26 |
CA2400469C (en) | 2006-11-28 |
DE60107527T2 (de) | 2005-04-07 |
DE60107527D1 (de) | 2005-01-05 |
EP1217776A2 (en) | 2002-06-26 |
KR100713331B1 (ko) | 2007-05-04 |
US6888901B2 (en) | 2005-05-03 |
US20030066018A1 (en) | 2003-04-03 |
GB0130843D0 (en) | 2002-02-06 |
JP3556943B2 (ja) | 2004-08-25 |
JP2004516769A (ja) | 2004-06-03 |
EP1217776B1 (en) | 2004-12-01 |
GB2374500A (en) | 2002-10-16 |
AU2002217598B2 (en) | 2004-04-22 |
EP1217776A3 (en) | 2003-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100713331B1 (ko) | 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법 | |
US6988233B2 (en) | Decoding device and decoding method | |
US8018902B2 (en) | Methods and apparatus for channel quality indicator determination | |
KR101341279B1 (ko) | 변형된 코드워드 전송의 선험 지식에 기초하여 디코딩이전에 메시지 차이를 처리하는 장치 및 방법 | |
KR100516586B1 (ko) | 부호 분할 다중 접속 이동 통신 시스템의 오류 정정 장치및 방법 | |
US6813323B2 (en) | Decoding method and communication terminal apparatus | |
CA2354580C (en) | An iterative decoder and an iterative decoding method for a communication system | |
US8462890B2 (en) | Apparatus and methods for jointly decoding messages based on apriori knowledge of modified codeword transmission | |
EP1010305A1 (en) | Method and apparatus for determining the rate of received data in a variable rate communication system | |
US20050138531A1 (en) | Apparatus and method for receiving a forward packet data control channel in a mobile communication system supporting packet data service | |
EP1056212A2 (en) | Viterbi decoding using single-wrong-turn correction | |
EP1821415B1 (en) | Hybrid decoding using multiple turbo decoders in parallel | |
KR101462211B1 (ko) | 이동통신 시스템의 복호 장치 및 방법 | |
US7272771B2 (en) | Noise and quality detector for use with turbo coded signals | |
KR20060059286A (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 | ||
FPAY | Annual fee payment | ||
FPAY | Annual fee payment |
Payment date: 20160330 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |