KR20030030996A - 디코딩 방법 및 장치 - Google Patents

디코딩 방법 및 장치 Download PDF

Info

Publication number
KR20030030996A
KR20030030996A KR1020027015437A KR20027015437A KR20030030996A KR 20030030996 A KR20030030996 A KR 20030030996A KR 1020027015437 A KR1020027015437 A KR 1020027015437A KR 20027015437 A KR20027015437 A KR 20027015437A KR 20030030996 A KR20030030996 A KR 20030030996A
Authority
KR
South Korea
Prior art keywords
data symbol
estimate
data
data symbols
estimates
Prior art date
Application number
KR1020027015437A
Other languages
English (en)
Other versions
KR100799147B1 (ko
Inventor
울프잭케이
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20030030996A publication Critical patent/KR20030030996A/ko
Application granted granted Critical
Publication of KR100799147B1 publication Critical patent/KR100799147B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6513Support of multiple code types, e.g. unified decoder for LDPC and turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

디코딩 방법 및 장치는 송신기에서 SCC (serial-concatenated code) 또는 터보 코드 중의 하나에 의해 병렬 처리 방식으로 인코딩된 데이터 심볼을 디코딩하는 기능을 제공하는 것을 포함한다. 수신기가 인코딩 방법을 인지하면, 적절한 디코딩 처리를 적용할 수 있도록 표 (600) 로부터 데이터 심볼의 선택을 재구성할 수 있다. 초기에, 복수의 데이터 심볼 Xi, Yi 및 Wi 의 다수 데이터 심볼에 대한 데이터 심볼 추정값을 결정한다. 제 1 및 제 2 판정 노드 (610, 620) 로 전달되는 데이터 심볼 Xi, Yi 및 Wi 의 추정값은 하나 이상의 인코딩 등식에서의 변수에 대한 추정값을 포함한다. 초기 단계에서 결정된 추정값 및 제 1 및 제 2 판정 노드에서의 데이터 심볼 Xi 의 각 발생에 대한 새로운 추정값에 기초하여, 데이터 심볼 Xi 에 대해 새로운 추정값이 결정된다. 데이터 심볼 Xi, Yi, 및 Wi 의 추정값을 정규화 한 후, 이전에 결정된 추정값보다 데이터 심볼 Xi 에 대한 참값을 보다 신뢰성있게 보유하는 데이터 심볼 Xi 에 대한 새로운 추정값이 결정될 수 있다.

Description

디코딩 방법 및 장치{DECODING METHOD AND APPARATUS}
발명의 배경
본 발명은 일반적으로 통신 시스템에 관한 것으로, 보다 구체적으로는, CDMA (code division multiple access) 통신 시스템에 관한 것이다. 본 발명은 CDMA 통신 시스템의 수신부에서 데이터 심볼 (data symbol) 을 디코딩하는 효율적인 방법 및 장치를 제공한다.
CDMA 시스템의 통신은 상이한 단계에서 데이터 심볼을 코딩하고 디코딩하는 것을 필요로 한다. 목적지 사용자에게 송신하기 위한 데이터 심볼은, 무선 링크와 같은 통신 링크를 통해 송신되기 전에, CDMA 시스템의 송신부에서 인코딩된다. 송신된 신호를 수신하면, 목적지 사용자는 데이터 심볼을 디코딩하여 정보를 복구한다. 컨볼루션 코드 (convolutional code) 는 인코딩 연산에 사용되는 널리 공지된 코드이다. 사용자간에 효과적인 통신을 실현하기 위해서, 코딩에 더하여, 데이터 심볼은 인터리브된다. 정보를 수신하는 처리의 목적지 사용자는 수신된 데이터 심볼을 디코딩하고 디-인터리브하여 정보를 복구한다. 인터리빙 및 컨볼루션 코딩의 조합은, 예를 들어, 노이즈, 페이딩 또는, CDMA 시스템과 같은 통신 시스템의 다른 사용자로부터의 간섭으로 인한 채널 교란 (channel disturbance) 을 보다 효과적으로 다룰 수 있는 방법을 제공한다.
CDMA 통신 시스템의 송신기에서 수행되는 터보 코드 (turbo code) 로서 널리 공지된 코딩 및 인터리빙의 조합은, 채널 교란을 다루는 방법에 우수한 결과를 제공해 왔다. SCC (serial-concatenated code) 로서 널리 공지된 코딩 및 인터리빙의 조합 또한, 우수한 결과를 제공해 왔다. 이와 같이, CDMA 시스템은 터보 코드 또는 SCC 중의 하나를 이용할 수 있다.
일반적으로, 터보 코드 및 SCC 각각은 2 이상의 인코딩 블록을 포함한다. 이와 같이, 수신된 데이터 심볼을 디코딩하려는 수신기는 2 개의 디코딩 연산을 다룰 수 있어야 한다. 수신기의 다중 디코딩 연산은 시간이 걸리며, CDMA 시스템의 수신부에 복잡성 (complexity) 및 비용을 부가한다.
터보와 SCC 간에는 몇가지 상이점이 존재한다. 터보 코드는, SCC 에 사용되는 직렬 인코딩에 대조적인, 병렬 인코딩을 사용한다. 이러한 상이점은 터보 및 SCC 양자를 위해 디코딩 기능을 제공하려는 수신기에 어려움을 준다.
따라서, 최소의 복잡성으로, 인코딩된 데이터 심볼을 수신기에서 빠르고 효과적으로 디코딩하기 위한 방법 및 장치가 필요하다.
발명의 요약
본 발명의 다양한 실시예에 따르면, 1 내지 k 인 값을 갖되 k 는 유한수 (finite number) 인 첨자 i 를 갖는 복수의 데이터 심볼 Xi 중 하나의 데이터 심볼 Xi 를 디코딩하는 방법 및 장치는, 우선 복수의 데이터 심볼 Xi 의 다수의 데이터 심볼에 대한 데이터 심볼 추정값을 결정하는 단계를 포함한다. 복수의 데이터심볼 Yi 의 다수 데이터 심볼에 대해 데이터 심볼 추정값이 결정된다. 복수의 데이터 심볼 Yi 는 통신 시스템의 송신기에서 복수의 데이터 심볼 Xi 를 제 1 컨볼루션 코드에 따라 인코딩하는 것에 의해 생성된다. 복수의 데이터 심볼 Wi 의 다수 데이터 심볼에 대해 데이터 심볼 추정값이 결정된다. 복수의 데이터 심볼 Wi 는 송신기에서, SCC 의 경우에는, 복수의 데이터 심볼 Yi 및 Xi 를, 터보 코드의 경우에는, 복수의 데이터 심볼 Xi 를 인터리빙하는 것에 의해 생성된다. 복수의 데이터 심볼 Zi 는 제 2 컨볼루션 코드에 따라 인코딩되어 복수의 데이터 심볼 Wi 를 생성한다. 데이터 심볼 Xi 및 Yi 의 추정값은 제 1 판정 노드로 전달된다. 제 1 판정 노드로 전달되는 데이터 심볼 Xi 및 Yi 의 추정값은 등식 F1(Xi, Yi) 의 변수에 대한 추정값을 포함한다. 등식 F1 의 변수 Xi 및 Yi 는 제 1 컨볼루션 코드에 따라 결정된다. 데이터 심볼 Wi 및 Zi 의 추정값은 제 2 판정 노드로 전달된다. 제 2 판정 노드로 전달되는 데이터 심볼 Wi 및 Zi 의 추정값은 등식 F2(Wi, Zi) 의 변수에 대한 추정값을 포함한다. 등식 F2 의 변수 Wi 및 Zi 는 제 2 컨볼루션 코드에 따라 결정된다. 변수 Zi 에 대한 추정값은 인터리빙에 따라 결정된 데이터 심볼 Xi, 또는 Yi, 또는 Xi 및 Yi 의 추정값을 포함한다. 제 1 및 제 2 판정 노드 각각에서 등식 F1 및 F2 를 0 으로 동일시 하면서, 제 1 및 제 2 판정 노드에서의 데이터 심볼 Xi 의 각 발생에 대해 새로운 추정값을 결정한다. 데이터 심볼 Xi 에 대한 새로운 추정값은 초기 단계에서 결정된 추정값 및 제 1 및 제 2 판정 노드에서의 데이터 심볼 Xi 의 각 발생에 대한 새로운 추정값에 기초하여 결정된다.
데이터 심볼 Xi 에 대한 새로운 추정값은 신뢰성있게 (confidently) 데이터 심볼 Xi 에 대한 참값 (true value) 을 보유할 수 있다. 이 처리는, 데이터 심볼 Xi 에 대한 새로운 추정값이 데이터 심볼 Xi 에 대한 참값을 신뢰성있게 보유할 때까지 여러번 반복될 수 있다. 신뢰 수준을 형성하는데 한번 이상의 반복이 필요할 경우, 본 발명의 실시예는, 초기 단계에서 결정된 추정값 및 제 1 및 제 2 판정 노드에서의 데이터 심볼 Xi 의 각 발생에 대한 하나 이상의 새로운 추정값에 기초하여, 데이터 심볼 Xi 의 정규화된 추정값을 결정하는 단계를 포함한다. 데이터 심볼 Xi 의 하나 이상의 추정값이 데이터 심볼 Xi 의 정규화된 추정값으로 대체될 때까지, 데이터 심볼의 추정값을 제 1 및 제 2 노드로 전달하는 단계가 반복된다. 이와 같이, 본 발명의 실시예는, 최소의 지연 및 복잡성으로써, 복수의 데이터 심볼 Xi 의 병렬형 추정값을 동시에 결정하는 방법 및 장치를 제공한다.
도면의 간단한 설명
도 1 은 종래 인코더의 일반적인 블록도.
도 2 는 SCC (serial-concatenated code) 에 따라 데이터 심볼을 인코딩하는 종래 인코더의 일반적인 블록도.
도 3 은 SCC 에 따라 인코딩된 데이터 심볼을 디코딩하는 종래 디코더의 블록도.
도 4 는 터보 코드에 따라 데이터 심볼을 인코딩하는 종래 인코더의 일반적인 블록도.
도 5 는 터보 코드에 따라 인코딩된 데이터 심볼을 디코딩하는 종래 디코더의 블록도.
도 6 은 유한수 (finite number) 인 "k" 개 데이터 심볼의 길이를 가진 데이터 블록상의 디코딩 연산을 위한, 본 발명의 다양한 실시예에 따른 디코딩 처리를 나타내는 도면.
도 7 은 본 발명의 다양한 실시예에 따른 디코딩 처리의 일부로서, 데이터 심볼 Xi 및 Yi 의 추정값을 제 1 판정 노드로 전달하는 단계를 나타내는 도면.
도 8 은 본 발명의 다양한 실시예에 따른 디코딩 처리의 일부로서, 데이터 심볼 Wi 및 Zi 의 추정값을 제 2 판정 노드로 전달하는 단계를 나타내는 도면.
도 9 는 데이터 심볼 Xi 에 대해 정규화된 값 및 새로운 추정값을 결정하기 위해, 판정 노드에서의 3 회 발생에 관련된 데이터 심볼 Xi 의 추정값 3 개를 전달하는 일례를 나타내는 도면.
도 10 및 도 11 은, 데이터 심볼 Xi 에 대해 새로운 추정값 및 정규화된 값을 결정하는 처리와 유사한, 데이터 심볼 Yi 및 Wi 에 대해 새로운 추정값 및 정규화된 값을 결정하는 처리를 나타내는 도면.
바람직한 실시예(들)의 상세한 설명
본 발명의 다양한 실시예를 다음의 도면을 참조하여 보다 상세히 설명한다.
도 1 을 참조하면, 종래 인코더 (100) 의 일반적인 블록도를 나타낸다. 인코더 (100) 는 입력 (101) 에서 인코딩하기 위한 데이터 심볼 Xi 를 입력한다.인코딩 블록 (102) 은 입력된 데이터 심볼을 전달 함수 (F(D)) 에 의해 규정된 컨볼루션 코드에 따라 인코딩한다. 전달 함수 (F(D)) 는 어떤 컨볼루션 코드 전달 함수에 따른 것이라도 될 수 있다. 일반적으로 사용되는 함수는 F(D)=(1+D+D**2)/(1+D) 의 관계에 의해 규정될 수 있으며, 여기서, D 는 지연 단계 (delay step) 를 나타내고 + 는 배타적 OR 연산 (exclusive OR operation) 을 나타낸다. 당업자라면 이러한 함수의 구현을 잘 알고 있다. 인코딩 블록 (102) 은 데이터 심볼 Yi 를 출력한다. 데이터 심볼 Xi 및 Yi 는 데이터 심볼 선택 블록 (103) 으로 전달된다. 데이터 선택 블록 (103) 은 (나타내지 않은) 데이터 심볼 다중화 및 펑쳐링 함수 (multiplexing and puncturing functions) 를 포함할 수 있다. 블록 (103) 은 1/2 의 코딩율 (coding rate) 을 위해 모든 입력 데이터 심볼 Xi 에 대해 2 개의 데이터 심볼을 출력한다. 다른 가능한 코딩율 또한 가능하다. 그 결과, 인코더 (100) 는 출력 (104) 에서 데이터 심볼 Xi 및 Yi 로 구성되는 인코딩된 데이터 심볼을 출력한다.
도 2 를 참조하면, 종래 SCC (serial-concatenated code) 의 일반적인 블록도를 나타낸다. SCC (200) 는 제 1 및 제 2 인코더 블록 (201, 202) 을 포함한다. 인코더 (201 및 202) 사이에 인터리버 블록 (203) 이 개재된다. SCC (200) 는 인코더 (201) 의 입력 (210) 에 데이터 심볼 Xi 를 입력한다. 인코더 (201) 는 인코딩 후에, 도 1 의 인코더 (100) 에 대해 나타내고 설명한 연산에 따라, 데이터 심볼 Xi 및 Yi 를 생성한다. 인터리버 (203) 는 인터리빙 연산을 위해 데이터 심볼 Xi 및 Yi 를 입력한다. 인터리버 (203) 의 인터리빙 연산은어떤 공지된 인터리버 연산이라도 따를 수 있다. 인터리빙 연산은 입력 데이터 심볼을 판독하고 이들을 매핑 방식에 따른 데이터 심볼 Zi 로서 출력하는 단계를 포함할 수 있다. 이러한 매핑 방식은 랜덤 처리 (random process) 에 기초할 수 있다. 데이터 심볼 Zi 는 매핑 함수에 따른 순서로 재배열된 데이터 심볼 Xi 및 Yi 로 구성된다. 당업자라면 이러한 인터리빙 연산을 잘 알고 있다. 매핑 함수에 따라, 데이터 심볼 Zi 가 몇개의 연속되는 데이터 심볼 Zi 에 대해 데이터 심볼 Xi 또는 데이터 심볼 Yi 만을 포함할 수도 있다. 인코더 (202) 는 데이터 심볼 Zi 를 인코딩하여, 인코더 (202) 에서 사용되는 인코딩 함수에 따른 데이터 심볼 Wi 를 출력한다. SCC (200) 는 데이터 심볼 Zi 및 Wi 를 출력한다. 인코더 (201 및 202) 에 사용된 인코딩 함수는 동일하거나 상이할 수 있다.
데이터 심볼 Wi 및 Zi 는 통신 시스템의 송신기로부터 목적지 사용자에게로 송신된다. 데이터 심볼 Zi 및 Wi 의 송신은 신호 처리, 적절한 주파수로의 상향-변환, 및 신호 증폭을 포함할 수 있다. 당업자라면 이러한 송신기를 잘 알고 있다. 송신, 전파, 및 목적지 사용자에 의한 수신의 전체 처리는 채널 (250) 로서 집합적으로 모델링할 수 있다. 송신된 신호의 채널에서의 전파 및 수신은 주로, Wi 및 Zi 의 잡음 버젼을 위한 Win 및 Zin 으로 나타낸 바와 같이, 데이터 심볼 Wi 및 Zi 에 잡음 및 간섭을 부가하는 단계를 포함한다. 잡음을 부가하는 처리는 합산 블록 (290) 에 집합적으로 나타낸다. 그 다음, 수신기의 디코더는 데이터 심볼 Win 및 Zin 을 수신한다. 데이터 심볼을 디코딩하기위해서, 수신 신호는 신호 처리, 주파수 변환 및 신호 조정을 거칠 수 있다. 당업자라면 이러한 기능을 잘 알고 있다. 수신기의 데이터 심볼의 잡음 버젼에 대한 첨자 (n) 가 본 발명의 다양한 관련 실시예에 대한 설명을 간략히 하기 위해 이하의 설명에서는 생략된다. 당업자라면 첨자 (n) 가 없더라도 수신기에서 처리된 데이터 심볼이 잡음 버젼임을 알 수 있다.
도 3 을 참조하면, 데이터 심볼 Wi 및 Zi 를 디코딩하여 데이터 심볼 Xi 의 추정값을 생성하는 종래 디코더 (300) 의 블록도를 나타낸다. 디코딩 처리는 SCC (200) 에서 사용된 인코딩 처리의 역 (reverse) 이다. 디코더 (300) 는 송신부의 제 2 인코더 블록 (202) 에 사용된 코딩 함수에 따라 데이터 심볼 Wi 및 Zi 를 디코딩하는 디코더 (301) 를 포함한다. 디코더 (301) 는 출력 (350) 에서 데이터 심볼 Zi 의 추정값을 생성한다. 출력 (350) 에서의 데이터 심볼 Zi 의 추정값은 디-인터리버 (302) 를 통과해 데이터 심볼 Xi 및 Yi 의 추정값을 생성한다. 디-인터리버 (302) 는 인터리버 (203) 에서 사용된 인터리빙 함수의 역함수에 따라 연산한다. 데이터 심볼 Xi 및 Yi 의 추정값은 디코더 (303) 로 전달되어 데이터 심볼 Xi 의 추정값을 생성한다. 디코더 (303) 는 제 1 인코더 블록 (201) 에 사용된 코딩 함수에 따라 연산한다.
데이터 심볼 Xi 의 추정값의 정확도에 대한 신뢰 수준을 높이기 위해서, 디코더 (303) 는 데이터 심볼 Yi 의 추정값도 생성하고 데이터 심볼 Xi 및 Yi 의 추정값을 인터리버 (304) 로 전달하여 Zi 의 추정값을 생성한다. 인터리버 (304) 는 송신부의 인터리버 (203) 의 연산에 따라 연산한다. 인터리버 (304) 에 의해 생성된, 데이터 심볼 Zi 의 추정값은 입력 (311) 에서 디코더 (301) 로 입력된다. 데이터 심볼 Zi 의 추정값은 디코더 (301) 에서 데이터 심볼 Wi 및 Zi 와 함께 사용되어 출력 (350) 에 데이터 심볼 Zi 의 추정값을 생성한다. 각각의 반복후에는 출력 (350) 에 각각의 데이터 심볼 Zi 에 대한 새로운 추정값이 생성된다. 데이터 심볼 Zi 의 새로운 추정값은 디-인터리버 (303) 로 전달되어 데이터 심볼 Xi 및 Yi 의 새로운 추정값을 생성한다. 데이터 심볼 Xi 및 Yi 의 새로운 추정값으로, 디코더 (303) 의 처리가 반복되어 데이터 심볼 Xi 에 대한 새로운 추정값을 생성한다. 각각의 반복 후에, 데이터 심볼 Xi 의 새로운 추정값은 이전의 추정값보다 참값을 보유할 보다 높은 신뢰 수준을 갖는다. 데이터 심볼 Xi 의 추정값의 신뢰 수준이 수용가능한 레벨에 도달할 때까지, 이 처리가 반복될 수 있다. 데이터 심볼 Xi 의 참값을 보유하기 위해서, 가장 높은 신뢰 수준을 가진 추정값이 선택된다.
따라서 디코딩 처리는 긴 시간이 걸릴 수 있다. 각 데이터 심볼이 2 이상의 디코딩 단계, 즉 디코더 301 및 303 을 통해 처리되지 않으면, 데이터 심볼 Xi 의 추정값이 생성되지 않을 수 있다. 또한, 데이터 심볼 Xi 의 디코딩 처리는 데이터 심볼의 직렬 처리를 포함한다. 따라서, 종래 방법에 따른 데이터 심볼 Xi 의 디코딩은 고속 디코딩 처리를 요하는 응용에 대해 비효율적이다. 이러한 응용은 CDMA 통신 시스템의 음성 및 데이터 무선 통신을 포함한다. 이러한 시스템은 TIA/EIA/IS-95 로서 널리 공지된 통신 표준에, 그리고, 그에 이어지는 진보는 TIA/EIA/IS-2000 에 기술되어 있다. "Mobile Base-stationCompatibility Standard" 라는 제목의 IS-95 및 IS-2000 시스템을 설명하는 공보가 있으며, 여기에서 참조하고 있다.
송신된 데이터 심볼이 터보 코드를 이용하여 인코딩 된다면, 유사한 문제점과 어려움이 존재한다. 도 4 를 참조하면, 종래 터보 코드 (400) 의 일반적인 블록도를 나타낸다. 터보 코드 (400) 는 제 1 및 제 2 인코더 블록 (401 및 402) 과 인터리버 블록 (403) 을 포함한다. 데이터 심볼 Xi 는 인코더 (401) 의 입력에서 터보 코드 (400) 로 입력된다. 인코더 (401) 는, 인코딩 후에, 인코더 (102) 에 대해 나타내고 설명한 연산에 따라 데이터 심볼 Yi 를 생성한다. 데이터 심볼 Xi 는 데이터 심볼 Zi 를 생성하는 인터리빙 연산을 위해서 인터리버 (403) 로 입력된다. 인터리버 (403) 의 인터리빙 연산은 공지된 인터리버 연산의 어떤 것도 따를 수 있다. 데이터 심볼 Zi 는 매핑 함수에 따른 순서로 재배열된 데이터 심볼 Xi 로 구성된다. 인코더 (402) 는 데이터 심볼 Zi 를 인코딩하여, 인코더 (402) 에서 사용되는 인코딩 함수에 따라 데이터 심볼 Wi 를 출력한다. 인코더 (401 및 402) 에 사용되는 인코딩 함수는 동일하거나 상이할 수 있다. 데이터 심볼 Xi, Yi 및 Wi 는 펑쳐링 블록 (420) 으로 전달된다. 펑쳐링 블록 (420) 은 입력 410 에서는 데이터 심볼 Xi 를, 입력 411 에서는 인코더 401 에 의해 생성된 데이터 심볼 Yi 를, 그리고 입력 412 에서는 인코더 402 에 의해 생성된 데이터 심볼 Wi 를 수신한다. 펑쳐링 블록 (420) 은 펑쳐링 패턴에 따라 데이터 심볼 Xi, Yi 및 Wi 로부터 데이터 심볼을 선택한다. 선택된 데이터 심볼은 원격 수신기로의 송신을 위해서 송신부로 전달된다. 이와 같이, 송신된 데이터 심볼은 주로 데이터 심볼 Xi, Yi 및 Wi 로 구성된다.
데이터 심볼 Xi, Yi 및 Wi 의 송신은 신호 처리, 적절한 주파수로의 상향-변환 및 신호 증폭을 포함할 수 있다. 당업자라면 이러한 송신기를 잘 알고 있다. 송신, 전파 및 목적지 사용자에 의한 수신의 전체 처리는 채널 (450) 로서 집합적으로 모델링할 수 있다. 이 처리는 주로, 각각의 데이터 심볼 Xi, Yi 및 Wi 의 잡음 버젼용 데이터 심볼 Xin, Yin 및 Win 로서 표시된 바와 같이, 데이터 심볼 Xi, Yi 및 Wi 에 잡음 및 간섭을 부가하는 단계를 포함한다. 잡음을 부가하는 처리는 합산 블록 (490) 에 집합적으로 나타낸다. 그 다음, 수신기의 디코더는 데이터 심볼 Xin, Yin 및 Win 를 수신한다. 데이터 심볼을 디코딩하기 위해서, 수신 신호는 신호 처리, 주파수 변환 및 신호 조정을 거칠 수 있다. 당업자라면 이러한 기능을 잘 알고 있다. 본 발명의 다양한 관련 실시예에 대한 설명을 간략히 하기 위해서, 수신기의 데이터 심볼의 잡음 버젼을 위한 첨자 (n) 는 생략된다. 당업자라면, 첨자 (n) 가 없더라도, 수신기에서 처리된 데이터 심볼이 잡음 버젼이라는 것을 알 수 있다.
도 5 를 참조하면, 데이터 심볼 Xi, Yi 및 Wi 를 디코딩하여 데이터 심볼 Xi 의 추정값을 생성하는 종래 디코더 (500) 의 블록도를 나타낸다. 디코딩 처리는 인코더 (400) 에 사용된 인코딩 처리의 역이다. 데이터 심볼 Xi, Yi 및 Wi 는, 입력 (542) 에서 디코더 블록 (501) 으로 라우팅하기 위한 데이터 심볼 Xi 및 Yi 를 선택하도록 연산하는 데이터 심볼 선택기 블록 (520) 을 통과한다. 데이터 심볼 Xi 는 내부적으로 인터리버 (599) 를 통과하여 데이터 심볼 Zi 를 재생성한다. 데이터 심볼 Zi 및 Wi 는 입력 (540) 에서 디코더 블록 (502) 으로 전달된다. 디코더 (501) 는 인코더 블록 (401) 에 사용된 코딩 함수에 따라 데이터 심볼 Xi 및 Yi 를 디코딩한다. 디코더 (501) 는 출력 (550) 에 데이터 심볼 Xi 의 추정값을 생성한다. 디코더 (502) 는 인코더 블록 (402) 에 사용된 코딩 함수에 따라 데이터 심볼 Zi 및 Wi 를 디코딩한다. 디코더 (502) 는 출력 (560) 에 데이터 심볼 Zi 의 추정값을 생성한다.
추정값이 데이터 심볼 Xi 의 참값을 보유한다는 신뢰를 증가시키기 위해서, 출력 (550) 에서의 데이터 심볼 Xi 의 추정값은 인터리버 (530) 를 통과해 디코더 (502) 의 입력 (532) 에 데이터 심볼 Zi 의 추정값을 생성한다. 디코더 (502) 는 입력 (540) 에서의 데이터 심볼의 추정값과 함께 입력 (532) 에서의 데이터 심볼 Zi 의 추정값을 사용하여 출력 (560) 에 데이터 심볼 Zi 의 새로운 추정값을 생성한다. 출력 (560) 에서의 데이터 심볼 Zi 의 추정값은, 터보 코드 (400) 에서의 인터리버 (430) 의 인터리빙 함수를 역으로 하는 디-인터리버 (531) 를 통과해 입력 (541) 에 데이터 심볼 Xi 의 추정값을 생성한다. 입력 (541) 에서의 데이터 심볼 Xi 의 추정값은 입력 (542) 에서의 데이터 심볼의 추정값과 함께 사용되어 출력 (550) 에 데이터 심볼 Xi 의 추정값을 생성한다. 데이터 심볼 Xi 의 추정값에 대한 신뢰가 수용가능한 레벨에 도달할 때까지, 이 처리가 반복될 수 있다.
따라서, 터보 인코딩된 신호에 대한 디코딩 처리는 긴 시간이 걸릴 수 있다. 데이터 심볼이 2 이상의 디코딩 단계, 즉 디코더 501 및 502 를 통해 처리되지 않으면, 높은 신뢰도를 가진 데이터 심볼 Xi 의 추정값이 생성되지 않을 수 있다. 또한, 이 처리는 데이터 심볼의 직렬 처리를 포함한다. 따라서, 종래 방법에 따라 데이터 심볼 Xi 를 디코딩하는 것은 고속 디코딩 처리를 요하는 응용을 위해서는 비효율적이다. 이러한 응용은 CDMA 통신 시스템의 음성 및 데이터 무선 통신을 포함한다. 이러한 시스템은 TIA/EIA/IS-95 로서 널리 공지된 통신 표준에, 그리고 그에 따른 진보는 TIA/EIA/IS-2000 에 설명되어 있다. "Mobile Base-station Compatibility Standard" 라는 제목의, IS-95 및 IS-2000 시스템을 설명하는 공보가 있다.
본 발명의 실시예를 구체화하는 수신기는 본 발명의 다양한 측면으로부터 상당한 이점은 갖는다. 본 발명의 실시예는 높은 신뢰도를 가지고 데이터 심볼 Xi 의 정확한 추정값을 결정하는 고속 디코딩 연산을 제공한다. 본 발명의 실시예의 이점은, SCC 또는 터보 코드 중의 하나에 따라 인코딩된 데이터 심볼에 대한 실시예에 디코딩 연산을 제공하는 단계를 포함하는 것이다.
본 발명의 실시예에 따르면, 디코딩 처리는 데이터 심볼 Xi, Yi 및 Wi 에 대한 동작으로 한정된다. 데이터 심볼이 SCC (200) 에 따라 인코딩된 경우라면, 데이터 심볼 Xi, 인코더 (201) 출력의 데이터 심볼 Yi, 및 인코더 (202) 출력의 데이터 심볼 Wi 가 디코딩 연산에 사용된다. 데이터 심볼이 터보 코드 (400) 에 따라 인코딩된 경우라면, 데이터 심볼 Xi, 인코더 (401) 출력 (411) 의 데이터 심볼 Yi, 및 인코더 (402) 출력 (412) 의 데이터 심볼 Wi 가 디코딩 연산에 사용된다. 이와 같이, SCC (200) 및 터보 코드 (400) 에 동일한 데이터 심볼 참조 부호를 사용하면서, 본 발명의 다양한 실시예를 설명할 수 있다.
도 6 을 참조하면, 본 발명의 다양한 실시예에 따른 디코딩 처리는 유한수의 "k" 개 데이터 심볼의 길이를 가진 데이터 블록상의 연산을 포함한다. 처음에는, 복수의 데이터 심볼 Xi 의 다수 데이터 심볼에 대해 데이터 심볼 추정값이 결정된다. 데이터 심볼 Xi 의 각 추정에 대한 값이 열 601 에 표시된다. 복수의 데이터 심볼 Yi 의 다수 데이터 심볼에 대해 데이터 심볼 추정값이 결정된다. 데이터 심볼 Yi 의 각 추정에 대한 값이 열 602 에 표시된다. 통신 시스템의 송신기에서 복수의 데이터 심볼 Xi 를 제 1 컨볼루션 코드에 따라 인코딩함으로써, 복수의 데이터 심볼 Yi 가 생성된다. 제 1 컨볼루션 코드가, SCC (200) 의 경우에는 인코더 201 에서, 터보 코드 (400) 의 경우에는 인코더 401 에서 사용된다. 복수의 데이터 심볼 Wi 의 다수 데이터 심볼에 대해 데이터 심볼 추정값이 결정된다. 데이터 심볼 Wi 의 각 추정에 대한 값이 열 603 에 표시된다. SCC (200) 의 경우에는 복수의 데이터 심볼 Yi 및 Xi 가, 그리고 터보 코드 (400) 의 경우에는 복수의 데이터 심볼 Xi 가 인터리브되어 복수의 데이터 심볼 Zi 를 생성한다. 복수의 데이터 심볼 Zi 는 제 2 컨볼루션 코드에 따라 인코딩되어 복수의 데이터 심볼 Wi 를 생성한다. 제 2 컨볼루션 코드는, SCC (200) 의 경우에는 인코더 202 에서, 터보 코드 (400) 의 경우에는 인코더 402 에서 사용된다.
가우스 잡음 (Gaussian noise) 의 경우, 각 데이터 심볼에 대한 추정값은 가우스 확률 처리 (Gaussian probability process) 에 의해 결정될 수 있다. 예를 들어, 데이터 심볼 Xi 의 추정값을 결정하기 위해서, 이 처리는 잡음 버젼 메트릭 (noisy version metric) 의 값으로 주어진 "1" 과 동일한 값을 갖는 데이터 심볼 Xi 의 확률을 결정한다. 당업자라면 확률 처리에 기초하여 데이터 심볼의 값을 추정하는 것을 잘 알고 있다. 이와 같이, 데이터 심볼 Xi, Yi 및 Wi 의 초기 추정값은 결정되어 각각의 데이터 심볼 Xi, Yi 및 Wi 에 대한 열 (601, 602 및 603) 을 가진 표 (600) 에 저장될 수 있다. 표 (600) 에 담긴 정보는 메모리 장치에 저장될 수 있다.
도 6 및 도 7 은 제 1 판정 노드 (610) 로 전달되고 있는 데이터 심볼 Xi 및 Yi 의 추정값을 나타낸다. 제 1 판정 노드로 전달되는 데이터 심볼 Xi 및 Yi 의 추정값은 등식 F1(Xi,Yi) 의 변수에 대한 추정값을 포함한다. 등식 F1 의 변수 Xi 및 Yi 는 제 1 컨볼루션 코드에 따라 결정된다. 예를 들어, 제 1 컨볼루션 코드가 F1(D)=(1+D+D**2)/(1+D) 에 의해 규정된 관계에 의해 지배된다면, F1(Xi,Yi) 는 Yi+Y(i+1)+Xi+X(i-1)+X(i-2) 가 된다. 예를 들어, "i" 가 7 이면, F1 은 Y7+Y6+X7+X6+X5 가 된다. 데이터 심볼 Y7, Y6, X7, X6 및 X5 에 대한 추정값은 열 (601 및 602) 로부터 가져올 수 있다.
도 6 및 도 8 을 참조하면, 데이터 심볼 Wi 및 Zi 의 추정값은 제 2 판정 노드 (620) 로 전달되는 것으로 표시된다. 제 2 판정 노드 (620) 로 전달되는 데이터 심볼 Wi 및 Zi 의 추정값은 등식 F2(Wi,Zi) 의 변수에 대한 추정값을 포함한다. 등식 F2 의 변수 Wi 및 Zi 는 제 2 컨볼루션 코드에 따라 결정된다. 제 1 및 제 2 컨볼루션 코드는 동일할 수 있다. 변수 Zi 에 대한 추정값은, SCC (200) 의 경우라면 인터리버 203 에, 터보 코드 (400) 의 경우라면 인터리버403 에 사용된 인터리빙 함수에 따라 결정된, 데이터 심볼 Xi, 또는 Yi, 또는 Xi 및 Yi 의 추정값을 포함한다. 등식 F2 를 위해 선택된 변수들은 열 601, 602 및 603, 또는 열 601 및 603, 또는 열 602 및 603 으로부터 취한 변수를 포함한다.
예시적인 목적을 위해서, 예를 들어, F2(D)=(1+D+D**2)/(1+D) 이면, F2(Zi,Wi)= Wi+W(i-1)+Zi+Z(i-1)+Z(i-2) 이다. SCC (200) 의 경우, 인터리버 (203) 로의 입력이 데이터 심볼 Xi 및 Yi 양자를 포함하기 때문에, 변수 Zi 는 Xi, 또는 Yi, 또는 Xi 및 Yi 를 포함할 수 있다. 인터리빙 함수에 따라, 몇개의 연속되는 데이터 심볼에 대한 인터리버의 출력이 데이터 심볼 Xi 또는 데이터 심볼 Yi 를 배타적으로 포함할 수 있다. 다른 경우에, 출력은 몇개의 연속되는 데이터 심볼에 대해 데이터 심볼 Xi 및 Yi 양자를 포함할 수 있다. 이와 같이, 변수 Zi 에 대한 추정값은 열 (601 및 602) 로부터 취한 데이터 심볼 Xi, 또는 Yi, 또는 Xi 및 Yi 의 추정값을 포함한다. 변수 Wi 및 W(i+1) 에 대한 추정값은 열 (603) 로부터 취한다.
터보 코드 (400) 의 경우, 인터리버 (403) 로의 입력은 데이터 심볼 Xi 만을 포함하기 때문에, 등식 F2 에 대해 선택된 변수는 열 (601 및 603) 로부터 취한 변수를 포함한다. 이와 같이, 터보 코드 (400) 의 경우, 등식 F2 에 대해 선택된 변수들은 열 (601 및 603) 로부터 각각 취한 변수 Xi 및 Wi 를 포함한다.
SCC 또는 터보 코드 모드 중의 어디에서든 데이터 심볼을 디코딩할 수 있도록 하기 위해서, 본 발명의 실시예에 따른 디코딩 처리는 열 (601, 602 및 603) 로부터 변수를 선택할 수 있도록 한다. 이와 같이, 디코딩 처리는 송신기에서SCC 또는 터보 코드 중의 어느 것에 따라 인코딩된 데이터 심볼을 디코딩하게 한다.
등식 F1 및 F2 를 제 1 및 제 2 판정 노드 (610 및 620) 각각에서 영 (0) 과 동일시하면서, 제 1 및 제 2 판정 노드 (610 및 620) 에서의 데이터 심볼 Xi 의 각 발생에 대해 새로운 추정값을 결정한다. 등식 F1 에 대한 노드 (610) 에서의 일례로서 "i=7" 일 경우, Y7, Y6, X7, X6 및 X5 에 대한 추정값의 확률은 각각 P(Y7)=.8, P(Y6)=.7, P(X7)=.5, P(X6)=.2 및 P(X5)=.6 이다. X7 에 대한 새로운 추정값은 데이터 심볼 Y7, Y6, X6 및 X5 를 포함하는 한 세트의 데이터 심볼에 대한 추정값에 기초하여 계산된다. 따라서, 등식 F1 이 0 일 경우, P(X(i=7)) 가 "1" 일 경우에 대한 새로운 추정값은 데이터 심볼 Y7, Y6, X6 및 X5 의 세트가 홀수개의 "1" 을 가질 확률과 동일할 수 있다. 이 경우, 4 개의 데이터 심볼이 있으므로, 1 또는 3 개의 데이터 심볼이 "1" 의 값을 가질 확률이 존재한다. 따라서, 데이터 심볼 X7 의 확률은 다음과 같이 결정될 수 있다.
P(X7)=P(Y7)*(1-P(Y6))*(1-P(X6))*(1-P(X5))+(1-P(Y7))*P(Y6)*P(X6)*P(X5)+
P(Y6)*(1-P(Y7))*(1-P(X6))*(1-P(X5))+(1-P(Y6))*P(Y7)*P(X6)*P(X5)+
P(X6)*(1-P(Y7))*(1-P(Y6))*(1-P(X5))+(1-P(X6))*P(Y7)*P(Y6)*P(X5)+
P(X5)*(1-P(Y7))*(1-P(Y6))*(1-P(X6))+(1-P(X5))*P(Y7)*P(Y6)*P(X6)
예를 들어, P(1-X6) 의 확률은, 열 (601) 의 Xi 의 추정이 "1" 의 값을 가진 Xi 의 추정값을 나타낼 경우, 0 의 값을 가진 X6 의 확률을 나타낸다.
등식 F2 에서 X7 의 발생 횟수는 개별적인 인코더 인터리버 (인터리버 403또는 203) 에 사용된 인터리빙 함수에 의존한다. 지적한 바와 같이, "i" 의 소정치에 대해, F2 는 데이터 심볼 Xi 에 관한 어떠한 변수도 포함하지 않을 수 있다. 이와 같이, 소정치의 "i" 에 대해 등식 F2 에서 Xi 가 발생하거나 발생하지 않을 수 있다. 이러한 일례에서, 등식 F2 에서 X7 이 발생하면, 데이터 심볼 Xi 에 대한 새로운 추정값이, 등식 F1 에 대해 나타낸 일례에서와 같이, 결정된다.
또한, 상이한 값의 "i" 에 대해 연산함과 동시에 열 (601, 602 및 603) 의 값이 노드 (610 및 620) 로 전달될 수 있으므로, 하나 이상의 P(Xi) 값이 노드 (610 및 620) 로 전달될 수 있다. 등식 F1 과 관련되는 동안, 소정 "i" 값의 경우, 변수에 대한 값으로 Yi+Y(i-1)+Xi+X(i-1)+X(i-2) 가, "i+1" 의 경우, 변수에 대한 값으로 Y(i+1)+Y(i)+X(i+1)+X(i)+X(i-1) 가, 그리고 "i+2" 의 경우, 변수에 대한 값으로 Y(i+2)+Y(i+1)+X(i+2)+X(i+1)+X(i) 가 노드 (620) 로 전달되는 것에 주목함으로써, 이것이 분명해질 수 있다. 이와 같이, 본 발명의 실시예는 데이터 심볼의 병렬 처리를 포함하므로, 이러한 일례에서, Xi 추정의 3 회 발생이 노드 (610) 에 나타날 수 있다. 3 개의 연속되는 "i" 값에 관한 Xi 의 값은 (1+D+D**2)/(1+D) 의 관계에 의해 규정된 인코딩 함수를 사용하기 때문이다. 상이한 인코딩 함수가 사용되면, 소정 "i" 값에 대한 Xi 의 발생 횟수가 달라질 수 있다.
데이터 심볼 Xi 에 대한 새로운 추정값은 초기 단계에서 결정된 추정값 및 제 1 및 제 2 판정 노드 (601 및 602) 에서의 데이터 심볼 Xi 의 각 발생에 대한새로운 추정값에 기초하여 결정된다. 도 9 를 참조하면, 예를 들어, 노드 (610) 에서의 3 회 발생에 관한 데이터 심볼 Xi 의 3 회 추정값은 데이터 심볼 Xi 에 대한 새로운 추정값을 위해 노드 (900) 로 전달된다. 또한, 인코딩 처리에 사용된 인터리버 함수에 따라, 데이터 심볼 Xi 의 추정값 또한 인코딩 함수에 관한 데이터 심볼 Zi 의 일부로서 노드 (620) 로 전달된다. 이와 같이, 노드 (900) 에서 Xi 에 대한 새로운 추정값을 결정하기 위해 노드 (620) 로부터 노드 (900) 로 전달되는 데이터 심볼 Xi 의 추정값을 가질 수 있다. 데이터 심볼 Xi 에 대한 새로운 추정값은 초기 추정값과 노드 610 으로부터 노드 620 으로 전달되는 데이터 심볼 Xi 에 대한 모든 추정값의 정규화된 곱 (normalized product) 일 수 있다. 예를 들어, Xi 가 총 "L" 회 발생했다면, 노드 (900) 는 데이터 심볼 Xi 에 대한 추정값을 "L" 번 수신한다. 그러면, Xi 에 대한 새로운 추정값은 (P(0)P(1)P(2)...P(L-1)P(L))/[P(0)P(1)P(2)...P(L-1)P(L)+(1-P(0))(1-P(1))(1-P(2))(1-P(3))...(1-P(L-1))(1-P(L))] 이 되며, 여기서 P 는 노드 (900) 로 전달된 각 발생에 대한 Xi 의 추정값을 나타낸다. P(0) 는 초기 추정값이고 나머지는 제 1 및 제 2 판정 노드에서의 데이터 심볼 Xi 의 각 발생에 대한 새로운 추정값이다.
데이터 심볼 Xi 에 대해 노드 (900) 에서 결정된 새로운 추정값은 신뢰성있게 데이터 심볼 Xi 에 대한 참값을 보유할 수 있다. 데이터 심볼 Xi 에 대한 새로운 추정값이 신뢰성있게 데이터 심볼 Xi 에 대한 참값을 보유할 때까지, 이 처리가 반복될 수 있다. 신뢰 수준을 형성하기 위해 1 회 이상의 반복이 필요할경우, 본 발명의 실시예는, 초기 단계에서 결정된 추정값 및 제 1 및 제 2 판정 노드 (610 및 620) 에서의 데이터 심볼 Xi 의 각 발생에 대한 하나 이상의 새로운 추정값에 기초하여, 데이터 심볼 Xi 의 정규화된 추정값을 결정하는 단계를 포함한다. 그 다음, 제 1 및 제 2 노드 (610 및 620) 로 전달되는 데이터 심볼 Xi 의 하나 이상의 추정값을 데이터 심볼 Xi 의 정규화된 추정값으로 대체하면서, 제 1 및 제 2 노드 (610 및 620) 로 데이터 심볼을 전달하는 단계가 반복된다. 바람직하게, 제 1 반복 후에 노드 (610 및 620) 로 전달되는 데이터 심볼 Xi 의 모든 추정값은 정규화된 버젼이다.
데이터 심볼 Xi 의 정규화된 버젼에 대한 추정값을 결정하기 위해서, 노드 (610 및 620) 에서의 데이터 심볼 Xi 의 각 발생에 대해 결정된 데이터 심볼 Xi 의 각 추정값 및 Xi 의 초기 추정값이 사용된다. 예시적인 목적을 위해서, 데이터 심볼 Xi 가, 예를 들어, 노드 (620) 에서는 발생하지 않고, 노드 (610) 에서 3 회 발생했다고 가정하자. 데이터 심볼 Xi 의 발생에 대해 결정된 추정값은 Xi1, Xi2 및 Xi3 로 표시될 수 있다. 이러한 일례에서, 3 회가 발생하는 것은 3 개의 F1 등식과 관련된 Xi 를 갖기 때문이다. 첨자 "i" 에 수반되는 숫자는 Xi 값을 사용하는 F1 등식을 식별한다. 초기값은 Xi0 로 표시될 수 있다. 제 1 F1 등식에 사용될 데이터 심볼 Xi 에 대해 정규화된 값은 (P(Xi0)*P(Xi2)*P(Xi3))/[(P(Xi1)*P(Xi2)*P(Xi3))+(1-P(Xi0))*(1-P(Xi2))*(1-P(Xi3))] 일 수 있다. 예를 들어, 노드 (610) 에서, 제 2 F1 등식에 사용될 데이터 심볼 Xi 의 정규화된 값은(P(Xi0)*P(Xi1)*P(Xi3))/[(P(Xi1)*P(Xi2)*P(Xi3))+(1-P(Xi0))*(1-P(Xi1))*(1-P(Xi3))] 일 수 있다. 제 3 F1 등식에 사용될 데이터 심볼 Xi 에 대한 정규화된 값 또한 유사한 방식으로 결정된다. 제 3 F1 등식에 사용될 데이터 심볼 Xi 의 정규화된 값은 (P(Xi0)*P(Xi2)*P(Xi3))/[(P(Xi1)*P(Xi2)*P(Xi3))+(1-P(Xi0))*(1-P(Xi1))*(1-P(Xi2))] 일 수 있다.
도 10 및 도 11 은, 데이터 심볼 Xi 에 대해 새로운 추정값 및 정규화된 값을 결정하기 위해서 설명한 처리와 유사한, 데이터 심볼 Yi 및 Wi 에 대해 새로운 추정값 및 정규화된 값을 결정하는 처리를 나타낸다. 데이터 심볼 Xi 에 대해 새로운 추정값을 결정하기 위해 등식 F1 및 F2 가 0 으로 설정될 경우, 이 처리가 1 회 이상의 반복을 취할 때, 제 1 및 제 2 판정 노드에서의 데이터 심볼 Yi 의 각 발생에 대한 새로운 추정값이 또한 결정된다. 따라서, 등식 F1 및 F2 를 0 으로 동일시하면서, 추정값의 후속 결정을 위해, 데이터 심볼 Yi 의 정규화된 추정값 또한 결정된다. 데이터 심볼 Yi 의 정규화된 추정값은 초기 추정값 및 제 1 및 제 2 판정 노드 (610 및 620) 에서의 데이터 심볼 Yi 의 각 발생에 대한 하나 이상의 새로운 추정값에 기초한다. 노드 (1000) 로부터 노드 (610 및 620) 로 전달되는 데이터 심볼 Yi 의 하나 이상의 추정값을 데이터 심볼 Yi 의 정규화된 추정값으로 대체하면서, 데이터 심볼의 추정값을 제 1 및 제 2 판정 노드 (610 및 620) 로 전달하는 단계가 반복된다. 바람직하게, 노드 (1000) 로부터 노드 (610 및 620) 로 전달되는 데이터 심볼 Yi 의 추정 모두는 제 1 반복 후에 정규화된 버젼을 포함한다.
데이터 심볼 Wi 에 대해서도 유사하게, 데이터 심볼 Xi 에 대한 새로운 추정값을 결정하기 위해 등식 F1 및 F2 가 0 으로 설정될 경우, 이 처리가 1 회 이상 의 반복을 취할 때, 제 1 및 제 2 판정 노드에서의 데이터 심볼 Wi 의 각 발생에 대해서도 새로운 추정값이 결정된다. 따라서, 등식 F1 및 F2 를 0 으로 동일시하면서, 추정값의 후속 결정을 위해, 데이터 심볼 Wi 의 정규화된 추정값 또한 결정된다. 데이터 심볼 Wi 의 정규화된 추정값은 초기 추정값 및 제 2 판정 노드 (620) 에서의 데이터 심볼 Wi 의 각 발생에 대한 하나 이상의 새로운 추정값에 기초한다. 데이터 심볼 Wi 는 노드 (620) 에서만 발생할 수도 있다. 노드 (1100) 로부터 노드 (620) 로의 데이터 심볼 Wi 의 하나 이상의 추정값을 데이터 심볼 Wi 의 정규화된 추정값으로 대체하면서, 데이터 심볼의 추정값을 제 1 및 제 2 노드 (610 및 620) 로 전달하는 단계가 반복된다. 바람직하게, 노드 (1100) 로부터 노드 (610 및 620) 로 전달되는 데이터 심볼 Wi 의 추정값 모두는 제 1 반복 후에 정규화된 버젼을 포함한다.
추정값이 데이터 심볼 Xi 에 대한 참값을 보유할 신뢰 수준이 수용가능한 레벨로 상승할 때까지, 데이터 심볼 Xi 의 새로운 추정값을 결정하는 것에 의해 디코딩하는 처리가 필요한 횟수만큼 반복될 수 있다. 본 발명의 다양한 실시예는 당업자에게 공지된 특정한 응용 신호 처리 하드웨어로 구현될 수 있다. 다른 방법으로, 또는 조합으로, 본 발명의 다양한 실시예는, 당업자에게 공지된 마이크로 프로세서 환경에서 구현될 수 있다.
본 발명의 실시예의 이점은 송신기에서 SCC 나 터보 코드 어느 것에 의해 인코딩된 데이터 심볼이라도 디코딩할 수 있다는 것이다. 수신기가 인코딩 방법을 인지하면, 적절한 디코딩 처리를 적용하기 위해 표 (600) 로부터 데이터 심볼의 선택을 재구성할 수 있다. 또한, 다중 데이터 심볼에 관한 연산을 허용하면서 디코딩 처리가 발생하기 때문에, 많은 데이터 심볼 Xi 가 동시에 디코딩될 수 있다. 각 데이터 심볼에 대한 처리 및 연산이 아주 유사하다. 따라서, 다양한 단계를 실행하도록 기록된 소프트웨어 루틴이 최소의 재구성으로써 SCC 및 터보 코드 어느 것에 대해서도 재사용될 수 있다. 대부분의 범용 마이크로프로세서 및 디지털 신호 처리기가 처리 속도를 희생하지 않으면서 병렬 처리 연산이 수행될 수 있게 한다. 이와 같이, 본 발명의 실시예는 데이터 심볼의 블록을 고속으로 그리고 효율적으로 디코딩하게 한다.

Claims (17)

1 내지 k 의 값을 갖되 k 는 유한수 (finite number) 인 첨자 i 를 갖는 복수의 데이터 심볼 Xi 중 하나의 데이터 심볼 Xi 을 디코딩하는 방법에 있어서,
상기 복수의 데이터 심볼 Xi, 상기 복수의 데이터 심볼 Xi 의 제 1 컨볼루션 인코딩 (convolutional encoding) 에 의해 상기 통신 시스템의 송신기에서 생성되는 복수의 데이터 심볼 Yi, 및 상기 복수의 데이터 심볼 Xi, 또는 Xi 및 Yi 를 인터리빙하여 복수의 데이터 심볼 Zi 를 생성하고, 상기 복수의 데이터 심볼 Zi 를 제 2 컨볼루션 인코딩하는 것에 의해 상기 송신기에서 생성되는 복수의 데이터 심볼 Wi 의 다수 데이터 심볼에 대해 데이터 심볼 초기 추정값을 결정하는 단계;
상기 제 1 및 제 2 컨볼루션 인코딩에 따라 결정된 추정값을 포함하는 데이터 심볼 Xi, Yi 및 Wi 의 상기 추정값을 판정 노드로 전달하는 단계;
상기 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대해 새로운 추정값을 결정하는 단계; 및
상기 초기 추정값 및 상기 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대한 상기 새로운 추정값에 기초하여, 상기 데이터 심볼 Xi 에 대해 새로운 추정값을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
제 1 항에 있어서,
데이터 심볼 Xi 의 상기 초기 추정값 및 상기 판정 노드에서의 상기 데이터심볼 Xi 의 하나 이상의 발생에 대한 데이터 심볼 Xi 의 상기 새로운 추정값에 기초하여, 데이터 심볼 Xi 의 정규화된 추정값을 결정하는 단계; 및
데이터 심볼 Xi 의 상기 추정값의 하나 이상을 데이터 심볼 Xi 의 상기 정규화된 추정값으로 대체하면서, 데이터 심볼 Xi, Yi 및 Wi 의 추정값의 상기 전달 단계를 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
제 1 항에 있어서,
상기 판정 노드에서의 상기 데이터 심볼 Yi 의 각 발생에 대해 새로운 추정값을 결정하는 단계;
데이터 심볼 Yi 의 상기 초기 추정값 및 상기 판정 노드에서의 상기 데이터 심볼 Yi 의 하나 이상의 발생에 대한 데이터 심볼 Yi 의 상기 새로운 추정값에 기초하여, 데이터 심볼 Yi 의 정규화된 추정값을 결정하는 단계; 및
데이터 심볼 Yi 의 상기 추정값의 하나 이상을 데이터 심볼 Yi 의 상기 정규화된 추정값으로 대체하면서, 데이터 심볼 Xi, Yi 및 Wi 의 추정값의 상기 전달 단계를 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
제 1 항에 있어서,
상기 판정 노드에서의 상기 데이터 심볼 Wi 의 각 발생에 대해 새로운 추정값을 결정하는 단계;
데이터 심볼 Wi 의 상기 초기 추정값 및 상기 판정 노드에서의 상기 데이터심볼 Wi 의 하나 이상의 발생에 대한 데이터 심볼 Wi 의 상기 새로운 추정값에 기초하여, 데이터 심볼 Wi 의 정규화된 추정값을 결정하는 단계; 및
데이터 심볼 Wi 의 상기 추정값의 하나 이상을 데이터 심볼 Wi 의 상기 정규화된 추정값으로 대체하면서, 데이터 심볼 Xi, Yi 및 Wi 의 추정값의 상기 전달 단계를 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
1 내지 k 인 값을 갖되 k 는 유한수인 첨자 i 를 갖는 복수의 데이터 심볼 Xi 중 하나의 데이터 심볼 Xi 를 디코딩하는 장치에 있어서,
상기 복수의 데이터 심볼 Xi, 상기 복수의 데이터 심볼 Xi 의 제 1 컨볼루션 인코딩에 의해 상기 통신 시스템의 송신기에서 생성되는 복수의 데이터 심볼 Yi, 및 상기 복수의 데이터 심볼 Xi, 또는 Xi 및 Yi 를 인터리빙하여 복수의 데이터 심볼 Zi 를 생성하고, 상기 복수의 데이터 심볼 Zi 를 제 2 컨볼루션 인코딩하는 것에 의해 상기 송신기에서 생성되는 복수의 데이터 심볼 Wi 의 다수 데이터 심볼에 대해 데이터 심볼 초기 추정값을 결정하는 수단;
상기 제 1 및 제 2 컨볼루션 인코딩에 따라 결정된 추정값을 포함하는 데이터 심볼 Xi, Yi 및 Wi 의 상기 추정값을 판정 노드로 전달하는 수단;
상기 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대해 새로운 추정값을 결정하는 수단; 및
상기 초기 추정값 및 상기 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대한 상기 새로운 추정값에 기초하여, 상기 데이터 심볼 Xi 에 대해 새로운 추정값을 결정하는 수단을 구비하는 것을 특징으로 하는 장치.
제 5 항에 있어서,
데이터 심볼 Xi 의 상기 초기 추정값 및 상기 판정 노드에서의 상기 데이터 심볼 Xi 의 하나 이상의 발생에 대한 데이터 심볼 Xi 의 상기 새로운 추정값에 기초하여, 데이터 심볼 Xi 의 정규화된 추정값을 결정하는 수단; 및
데이터 심볼 Xi 의 상기 추정값의 하나 이상을 데이터 심볼 Xi 의 상기 정규화된 추정값으로 대체하면서, 데이터 심볼 Xi, Yi 및 Wi 의 추정값의 상기 전달을 반복하는 수단을 더 구비하는 것을 특징으로 하는 장치.
제 5 항에 있어서,
상기 판정 노드에서의 상기 데이터 심볼 Yi 의 각 발생에 대해 새로운 추정값을 결정하는 수단;
데이터 심볼 Yi 의 상기 초기 추정값 및 상기 판정 노드에서의 상기 데이터 심볼 Yi 의 하나 이상의 발생에 대한 데이터 심볼 Yi 의 상기 새로운 추정값에 기초하여, 데이터 심볼 Yi 의 정규화된 추정값을 결정하는 수단; 및
데이터 심볼 Yi 의 상기 추정값의 하나 이상을 데이터 심볼 Yi 의 상기 정규화된 추정값으로 대체하면서, 데이터 심볼 Xi, Yi 및 Wi 의 추정값의 상기 전달을 반복하는 수단을 더 구비하는 것을 특징으로 하는 장치.
제 5 항에 있어서,
상기 판정 노드에서의 상기 데이터 심볼 Wi 의 각 발생에 대해 새로운 추정값을 결정하는 수단;
데이터 심볼 Wi 의 상기 초기 추정값 및 상기 판정 노드에서의 상기 데이터 심볼 Wi 의 하나 이상의 발생에 대한 데이터 심볼 Wi 의 상기 새로운 추정값에 기초하여, 데이터 심볼 Wi 의 정규화된 추정값을 결정하는 수단; 및
데이터 심볼 Wi 의 상기 추정값의 하나 이상을 데이터 심볼 Wi 의 상기 정규화된 추정값으로 대체하면서, 데이터 심볼 Xi, Yi 및 Wi 의 추정값의 상기 전달을 반복하는 수단을 더 구비하는 것을 특징으로 하는 장치.
1 내지 k 인 값을 갖되 k 는 유한수인 첨자 i 를 갖는 복수의 데이터 심볼 Xi 중 하나의 데이터 심볼 Xi 를 디코딩하는 방법에 있어서,
(a) 상기 복수의 데이터 심볼 Xi 의 다수 데이터 심볼에 대해 데이터 심볼 초기 추정값을 결정하는 단계;
(b) 상기 복수의 데이터 심볼 Xi 의 제 1 컨볼루션 인코딩에 의해 상기 통신 시스템의 송신기에서 생성되는 복수의 데이터 심볼 Yi 의 다수 데이터 심볼에 대해 데이터 심볼 초기 추정값을 결정하는 단계;
(c) 상기 복수의 데이터 심볼 Xi, 또는 Xi 및 Yi 를 인터리빙하여 복수의 데이터 심볼 Zi 를 생성하고, 상기 복수의 데이터 심볼 Zi 를 제 2 컨볼루션 인코딩하는 것에 의해 상기 송신기에서 생성되는 복수의 데이터 심볼 Wi 의 다수 데이터심볼에 대해 데이터 심볼 초기 추정값을 결정하는 단계;
(d) 데이터 심볼 Xi 및 Yi 의 상기 추정값을 제 1 판정 노드로 전달하는 단계로서, 상기 제 1 판정 노드로 전달되는 데이터 심볼 Xi 및 Yi 의 상기 추정값은 등식 F1(Xi,Yi) 의 변수에 대한 추정값을 포함하고, 상기 등식 F1 의 변수 Xi 및 Yi 는 상기 제 1 컨볼루션 코드에 따라 결정되는 단계;
(e) 데이터 심볼 Wi 및 Zi 의 상기 추정값을 제 2 판정 노드로 전달하는 단계로서, 상기 제 2 판정 노드로 전달되는 데이터 심볼 Wi 및 Zi 의 상기 추정값은 등식 F2(Wi,Zi) 의 변수에 대한 추정값을 포함하고, 상기 등식의 변수 Wi 및 Zi 는 상기 제 2 컨볼루션 인코딩에 따라 결정되고, 상기 변수 Zi 에 대한 추정값은 상기 인터리빙에 따라 결정된 데이터 심볼 Xi, 또는 Yi, 또는 Xi 및 Yi 를 포함하는 단계;
(f) 상기 제 1 및 제 2 판정 노드 각각에서 상기 등식 F1 및 F2 를 0 으로 동일시하면서, 상기 제 1 및 제 2 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대해 새로운 추정값을 결정하는 단계; 및
(g) 상기 단계 (a) 에서 결정된 상기 추정값 및 상기 제 1 및 제 2 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대한 상기 새로운 추정값에 기초하여, 상기 데이터 심볼 Xi 에 대해 새로운 추정값을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
제 9 항에 있어서,
(h) 상기 단계 (a) 에서 결정된 상기 추정값 및 상기 제 1 및 제 2 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대한 상기 새로운 추정값의 하나 이상에 기초하여, 데이터 심볼 Xi 의 정규화된 추정값을 결정하는 단계; 및
(i) 데이터 심볼 Xi 의 상기 추정값의 하나 이상을 데이터 심볼 Xi 의 상기 정규화된 추정값으로 대체하면서, 상기 단계 (d 및 e) 를 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
제 9 항에 있어서,
(j) 상기 제 1 및 제 2 판정 노드 각각에서 상기 등식 F1 및 F2 를 0 으로 동일시하면서, 상기 제 1 및 제 2 판정 노드에서의 상기 데이터 심볼 Yi 의 각 발생에 대해 새로운 추정값을 결정하는 단계;
(k) 상기 단계 (b) 에서 결정된 상기 추정값 및 상기 제 1 및 제 2 판정 노드에서의 상기 데이터 심볼 Yi 의 각 발생에 대한 상기 새로운 추정값의 하나 이상에 기초하여, 데이터 심볼 Yi 의 정규화된 추정값을 결정하는 단계; 및
(l) 데이터 심볼 Yi 의 상기 추정값의 하나 이상을 데이터 심볼 Yi 의 상기 정규화된 추정값으로 대체하면서, 상기 단계 (d 및 e) 를 반복하는 단계를 포함하는 것을 특징으로 하는 방법.
제 9 항에 있어서,
(m) 상기 제 2 판정 노드에서 상기 등식 F2 를 0 으로 동일시하면서, 상기제 2 판정 노드에서의 상기 데이터 심볼 Wi 의 각 발생에 대해 새로운 추정값을 결정하는 단계;
(n) 상기 단계 (c) 에서 결정된 상기 추정값 및 상기 제 2 판정 노드에서의 상기 데이터 심볼 Wi 의 각 발생에 대한 상기 새로운 추정값의 하나 이상에 기초하여, 데이터 심볼 Wi 의 정규화된 추정값을 결정하는 단계; 및
(o) 데이터 심볼 Wi 의 상기 추정값의 하나 이상을 데이터 심볼 Wi 의 상기 정규화된 추정값으로 대체하면서, 상기 단계 (d 및 e) 를 반복하는 단계를 더 포함하는 것을 특징으로 하는 방법.
1 내지 k 인 값을 갖되 k 는 유한수인 첨자 i 를 갖는 복수의 데이터 심볼 Xi 중 하나의 데이터 심볼 Xi 를 디코딩하는 장치에 있어서,
(a) 상기 복수의 데이터 심볼 Xi 의 다수 데이터 심볼에 대해 데이터 심볼 초기 추정값을 결정하는 수단;
(b) 상기 복수의 데이터 심볼 Xi 의 제 1 컨볼루션 인코딩에 의해 상기 통신 시스템의 송신기에서 생성되는 복수의 데이터 심볼 Yi 의 다수 데이터 심볼에 대해 데이터 심볼 초기 추정값을 결정하는 수단;
(c) 상기 복수의 데이터 심볼 Xi, 또는 Xi 및 Yi 를 인터리빙하여 복수의 데이터 심볼 Zi 를 생성하고, 상기 복수의 데이터 심볼 Zi 를 제 2 컨볼루션 인코딩하는 것에 의해 상기 송신기에서 생성되는 복수의 데이터 심볼 Wi 의 다수 데이터 심볼에 대해 데이터 심볼 초기 추정값을 결정하는 수단;
(d) 데이터 심볼 Xi 및 Yi 의 상기 추정값을 제 1 판정 노드로 전달하는 수단으로서, 상기 제 1 판정 노드로 전달되는 데이터 심볼 Xi 및 Yi 의 상기 추정값은 등식 F1(Xi,Yi) 의 변수에 대한 추정값을 포함하고, 상기 등식 F1 의 변수 Xi 및 Yi 는 상기 제 1 컨볼루션 인코딩에 따라 결정되는 수단;
(e) 데이터 심볼 Wi 및 Zi 의 상기 추정값을 제 2 판정 노드로 전달하는 수단으로서, 상기 제 2 판정 노드로 전달되는 데이터 심볼 Wi 및 Zi 의 상기 추정값은 등식 F2(Wi,Zi) 의 변수에 대한 추정값을 포함하고, 상기 등식 F2 의 변수 Wi 및 Zi 는 상기 제 2 컨볼루션 인코딩에 따라 결정되고, 상기 변수 Zi 에 대한 추정값은 상기 인터리빙에 따라 결정된 데이터 심볼 Xi, 또는 Yi, 또는 Xi 및 Yi 의 상기 추정값을 포함하는 수단;
(f) 상기 제 1 및 제 2 판정 노드 각각에서 상기 등식 F1 및 F2 를 0 으로 동일시하면서, 상기 제 1 및 제 2 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대해 새로운 추정값을 결정하는 수단; 및
(g) 데이터 심볼 Xi 의 상기 초기 추정값 및 상기 제 1 및 제 2 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대한 상기 새로운 추정값에 기초하여, 상기 데이터 심볼 Xi 에 대해 새로운 추정값을 결정하는 수단을 구비하는 것을 특징으로 하는 장치.
제 13 항에 있어서,
(h) 데이터 심볼 Xi 의 상기 초기 추정값 및 상기 제 1 및 제 2 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대한 상기 새로운 추정값의 하나 이상에 기초하여, 데이터 심볼 Xi 의 정규화된 추정값을 결정하는 수단; 및
(i) 데이터 심볼 Xi 의 상기 추정값의 하나 이상을 데이터 심볼 Xi 의 상기 정규화된 추정값으로 대체하는 수단을 더 구비하는 것을 특징으로 하는 장치.
제 13 항에 있어서,
(j) 상기 제 1 및 제 2 판정 노드 각각에서 상기 등식 F1 및 F2 를 0 으로 동일시하면서, 상기 제 1 및 제 2 판정 노드에서의 상기 데이터 심볼 Yi 의 각 발생에 대해 새로운 추정값을 결정하는 수단;
(k) 데이터 심볼 Yi 의 상기 초기 추정값 및 상기 제 1 및 제 2 판정 노드에서의 상기 데이터 심볼 Yi 의 각 발생에 대한 상기 새로운 추정값의 하나 이상에 기초하여, 데이터 심볼 Yi 의 정규화된 추정값을 결정하는 수단; 및
(l) 데이터 심볼 Yi 의 상기 추정값의 하나 이상을 데이터 심볼 Yi 의 상기 정규화된 추정값으로 대체하는 수단을 더 구비하는 것을 특징으로 하는 장치.
제 13 항에 있어서,
(m) 상기 제 2 판정 노드에서 상기 등식 F2 를 0 으로 동일시하면서, 상기 제 2 판정 노드에서의 상기 데이터 심볼 Wi 의 각 발생에 대해 새로운 추정값을 결정하는 수단;
(n) 데이터 심볼 Wi 의 상기 초기 추정값 및 상기 제 2 판정 노드에서의 상기 데이터 심볼 Wi 의 각 발생에 대한 상기 새로운 추정값의 하나 이상에 기초하여, 데이터 심볼 Wi 의 정규화된 추정값을 결정하는 수단; 및
(o) 데이터 심볼 Wi 의 상기 추정값의 하나 이상을 데이터 심볼 Wi 의 상기 정규화된 추정값으로 대체하는 수단을 더 구비하는 것을 특징으로 하는 장치.
1 내지 k 의 값을 갖되 k 는 유한수인 첨자 i 를 갖는 복수의 데이터 심볼 Xi 중 하나의 데이터 심볼 Xi 을 디코딩하는 장치에 있어서,
상기 복수의 데이터 심볼 Xi, 상기 복수의 데이터 심볼 Xi 의 제 1 컨볼루션 인코딩에 의해 상기 통신 시스템의 송신기에서 생성되는 복수의 데이터 심볼 Yi, 및 상기 복수의 데이터 심볼 Xi, 또는 Xi 및 Yi 를 인터리빙하여 복수의 데이터 심볼 Zi 를 생성하고, 상기 복수의 데이터 심볼 Zi 를 제 2 컨볼루션 인코딩하는 것에 의해 상기 송신기에서 생성되는 복수의 데이터 심볼 Wi 의 다수 데이터 심볼에 대해 데이터 심볼 초기 추정값을 결정하는 프로세서;
상기 제 1 및 제 2 컨볼루션 인코딩에 따라 결정된 추정값을 포함하는 데이터 심볼 Xi, Yi 및 Wi 의 상기 추정값을 판정 노드로 전달하는 제어기; 및
상기 복수의 데이터 심볼 Xi, Yi 및 Wi 의 추정값을 저장하는 메모리 소자를 구비하고,
상기 프로세서는, 상기 초기 추정값 및 상기 결정 수단에서의 상기 데이터 심볼 Xi 의 각 발생에 대한 상기 새로운 추정값에 기초하여, 상기 판정 노드에서의 상기 데이터 심볼 Xi 의 각 발생에 대해 새로운 추정값을 더 결정하는 것을 특징으로 하는 장치.
KR1020027015437A 2000-05-15 2001-05-14 디코딩 방법 및 장치 KR100799147B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/571,066 US6542559B1 (en) 2000-05-15 2000-05-15 Decoding method and apparatus
US09/571,066 2000-05-15
PCT/US2001/015542 WO2001089095A2 (en) 2000-05-15 2001-05-14 Decoding method and apparatus

Publications (2)

Publication Number Publication Date
KR20030030996A true KR20030030996A (ko) 2003-04-18
KR100799147B1 KR100799147B1 (ko) 2008-01-29

Family

ID=24282196

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027015437A KR100799147B1 (ko) 2000-05-15 2001-05-14 디코딩 방법 및 장치

Country Status (10)

Country Link
US (2) US6542559B1 (ko)
EP (1) EP1285499A2 (ko)
JP (1) JP4842493B2 (ko)
KR (1) KR100799147B1 (ko)
CN (1) CN1254923C (ko)
AU (1) AU2001269692A1 (ko)
BR (1) BR0110840A (ko)
HK (1) HK1056794A1 (ko)
TW (1) TWI236231B (ko)
WO (1) WO2001089095A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020150246A1 (en) * 2000-06-28 2002-10-17 Akira Ogino Additional information embedding device and additional information embedding method
US7194021B2 (en) 2002-04-15 2007-03-20 Stmicroelectronics, Inc. Digital matched filter
US7073114B2 (en) * 2002-06-24 2006-07-04 Massey Peter C Method of decoding utilizing a recursive table-lookup decoding method
US20040170233A1 (en) * 2003-02-27 2004-09-02 Onggosanusi Eko N. Symbol normalization in MIMO systems
US7502983B2 (en) * 2004-06-28 2009-03-10 Massey Peter C Binary error-correction coding method and decoding method for trellis with permuted and sequential symbols
US20090022079A1 (en) * 2005-05-04 2009-01-22 Fei Frank Zhou Method and apparatus for providing enhanced channel interleaving
WO2010008165A2 (ko) * 2008-07-13 2010-01-21 엘지전자 주식회사 이동통신 시스템에서 ctc(convolutional turbo code) 인코더를 이용하여 데이터를 전송하기 위한 장치 및 그 방법.
CN112398486B (zh) * 2020-11-10 2023-01-31 中国人民解放军战略支援部队信息工程大学 利用多种纠错方式进行优化的Turbo码交织参数识别方法及系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4881241A (en) * 1988-02-24 1989-11-14 Centre National D'etudes Des Telecommunications Method and installation for digital communication, particularly between and toward moving vehicles
US4998253A (en) * 1988-03-11 1991-03-05 Kokusai Denshin Denwa Co., Ltd. Syndrome sequential decoder
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
US5233629A (en) * 1991-07-26 1993-08-03 General Instrument Corporation Method and apparatus for communicating digital data using trellis coded qam
US5329547A (en) * 1993-03-11 1994-07-12 Motorola, Inc. Method and apparatus for coherent communication in a spread-spectrum communication system
US5937015A (en) * 1994-01-11 1999-08-10 Dent; Paul W. Interference mitigation by joint decoding of overlapped signals
US5577053A (en) * 1994-09-14 1996-11-19 Ericsson Inc. Method and apparatus for decoder optimization
EP0749211B1 (de) * 1995-06-12 2003-05-02 Siemens Aktiengesellschaft Verfahren und Codiereinrichtung zur gesicherten Übertragung von Daten mittels Mehrkomponenten-Codierung
US6028899A (en) * 1995-10-24 2000-02-22 U.S. Philips Corporation Soft-output decoding transmission system with reduced memory requirement
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
US5734962A (en) * 1996-07-17 1998-03-31 General Electric Company Satellite communications system utilizing parallel concatenated coding
JP3407558B2 (ja) * 1996-08-23 2003-05-19 ソニー株式会社 送信方法、送信装置、受信方法、受信装置、多元接続方法及び多元接続システム
US5777053A (en) 1997-01-17 1998-07-07 Gencorp Inc. In-mold coating compositions suitable as is for an end use application
US5983385A (en) * 1997-08-14 1999-11-09 Ericsson Inc. Communications systems and methods employing parallel coding without interleaving
EP1033004A1 (en) * 1998-09-18 2000-09-06 Hughes Electronics Corporation Method and constructions for space-time codes for psk constellations for spatial diversity in multiple-element antenna systems
US6014411A (en) * 1998-10-29 2000-01-11 The Aerospace Corporation Repetitive turbo coding communication method
US6308294B1 (en) * 1999-11-17 2001-10-23 Motorola, Inc. Adaptive hybrid ARQ using turbo code structure

Also Published As

Publication number Publication date
WO2001089095A3 (en) 2002-04-11
US6542559B1 (en) 2003-04-01
EP1285499A2 (en) 2003-02-26
KR100799147B1 (ko) 2008-01-29
TWI236231B (en) 2005-07-11
HK1056794A1 (en) 2004-02-27
CN1448007A (zh) 2003-10-08
JP4842493B2 (ja) 2011-12-21
BR0110840A (pt) 2006-10-24
US6836516B2 (en) 2004-12-28
JP2004523137A (ja) 2004-07-29
WO2001089095A2 (en) 2001-11-22
US20030112886A1 (en) 2003-06-19
AU2001269692A1 (en) 2001-11-26
CN1254923C (zh) 2006-05-03

Similar Documents

Publication Publication Date Title
JP4194015B2 (ja) 通信システムおよび方法
US5349589A (en) Generalized viterbi algorithm with tail-biting
EP1221772B1 (en) Pre-decoder for a turbo decoder, for recovering punctured parity symbols, and a method for recovering a turbo code
EP1628405B1 (en) List output Viterbi decoding using CRC constraint tests and physical constraint tests
CN108540141B (zh) Polar码编译码方法及装置
US20190081646A1 (en) Devices and methods implementing polar codes
JP3153425B2 (ja) デジタル信号プロセッサ
KR100799147B1 (ko) 디코딩 방법 및 장치
EP3476052A1 (en) Coding and decoding of polar codes extended to lengths which are not powers of two
KR20100008849A (ko) 통신 시스템에서 순환중복검사 방법 및 장치
EP1152540A1 (en) Error control device and method using cyclic code
KR20030036845A (ko) 트렐리스에 기초한 채널 부호화를 위한 복호기
CN101753261B (zh) 一种编码器、译码器及编码、译码方法
CN101411071A (zh) 具有双向滑动窗口体系结构的map译码器
US20120326898A1 (en) Coding and Decoding by Means of a Trellis Coded Modulation System
US20030074627A1 (en) Convolutional encoder and method of operation
US6510538B1 (en) Method and apparatus for Viterbi decoding of punctured codes
JP4116554B2 (ja) 無線通信のためのターボ復号方法および装置
US6889353B2 (en) Method and arrangement for decoding convolutionally encoded code word
EP1587218B1 (en) Data receiving method and apparatus
KR100447175B1 (ko) 터보 디코딩 방법 및 이를 위한 장치
WO2015039521A1 (zh) 解码方法和装置
JP2004222197A (ja) データ受信方法及び装置
KR100317377B1 (ko) 변복조 시스템의 부호화 및 복호화 장치
JP2001144742A (ja) データ通信装置

Legal Events

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

Payment date: 20121227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 12