KR20030036660A - 비트 스트림을 인코딩하는 인코더 및 방법, 및 비트스트림을 디코딩하는 디코더 및 방법 - Google Patents

비트 스트림을 인코딩하는 인코더 및 방법, 및 비트스트림을 디코딩하는 디코더 및 방법 Download PDF

Info

Publication number
KR20030036660A
KR20030036660A KR10-2003-7001423A KR20037001423A KR20030036660A KR 20030036660 A KR20030036660 A KR 20030036660A KR 20037001423 A KR20037001423 A KR 20037001423A KR 20030036660 A KR20030036660 A KR 20030036660A
Authority
KR
South Korea
Prior art keywords
bit
stream
encoder
bit stream
decoder
Prior art date
Application number
KR10-2003-7001423A
Other languages
English (en)
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 KR20030036660A publication Critical patent/KR20030036660A/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • 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
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • 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/27Coding, 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)

Abstract

1 및 0을 포함하는 코드워드를 사용함으로써 비트 스트림을 인코딩 및 디코딩하는 방법 및 장치. 인코더는 비트 스트림을 변경해서, 변경된 비트 스트림이 다른 1 및 0의 조합을 포함한다. 변경된 비트 스트림 및 원래의 비트 스트림은 인코딩되고, 전송되고, 디코딩된다. 디코더는 변경의 영향을 반전시킴으로써 상이한 비트 스트림을 고려한다.

Description

비트 스트림을 인코딩하는 인코더 및 방법, 및 비트 스트림을 디코딩하는 디코더 및 방법{METHOD AND APPARATUS FOR A COMPLEMENTARY ENCODER/DECODER}
디지털 네트워크는 전송되는 신호상의 비트 스트림의 변조를 포함한다. 디지털 네트워크는 증가된 효율을 제공하지만, 디지털 네트워크는 빌딩, 나무, 차, 전기 소스, 자기 소스 등으로부터의 노이즈에 영향을 잘 받는다. 전형적으로, 디지털 메세지는 변조 및 전송 이전에 인코딩되고, 수신해서 디코딩되고, 복조된다. 인코딩된 디지털 메세지는 심볼을 형성하는 일 이상의 비트로 그룹화되는 것이 일반적이다. 그 심볼은, 그 심볼을 나타내는 것으로 식별된 높은 주파수의 사인파인 전자기(EM)파를 선택하는데 사용된다. 높은 주파수의 사인파에 의해 심볼을 전송하는데 일반적으로 사용되는 기술은 파장의 진폭, 주파수 및/또는 위상을 지정된 방식으로 변경하는 것이다. 따라서, 소정의 진폭, 주파수 및/또는 위상으로 이루어진 파(wave)는 심볼 즉, 소정의 비트 패턴을 나타낸다.
디지털 메세지를 이러한 방식으로 전송함으로써, 전송시의 노이즈에 의해 유발되는 일부 에러로부터 복구할 수 있다. 그러나, 에러의 복구는 기본적으로 랜덤한 0 및 1의 분포에 달려있다. 불행하게도, 메세지가 상당한 수의 0을 포함하면, 인코더 및 디코더는 좋지 않은 결과를 낸다. 더욱이, 전송시에 있어서의 동일한 심볼들의 시퀀스는 동기화 루프, 자동 이득 루프와 같은 다른 에러 보정 기능 루프에 오류를 발생시킬 수 있는데, 이는 상기 에러 보정 기능 루프가 적절하게 기능하기 위해서는 이전 수신 심볼과 다음 수신 심볼의 차분 정보를 필요로 하기 때문이다.
본 발명은 전체적으로 통신 시스템에 관한 것이고, 더 상세하게는 비트 메세지를 인코딩 및/또는 디코딩하는 방법 및 장치에 관한 것이다.
도 1은 본 발명의 특성을 실시하는 네트워크 환경을 도시한 도면,
도 2는 1의 보수기(complementer)가 인코딩 이전의 비트 스트림에 적용되는,본 발명의 일 실시예를 도시한 블록도,
도 3은 비트 스트림이 RSC(recursive systematic convolutional) 인코더를 사용해서 인코딩되는 본 발명의 일시예를 도시한 블록도,
도 4는 도 3에 도시된 인코더의 상태 전이를 도시하는 트렐리스 도면,
도 5는 비트 스트림이 디코딩되는 본 발명의 일 실시예를 도시한 블록도.
따라서, 상당한 수의 0을 포함하는 디지털 메세지를 전송하는 방법 및 장치가 요구된다.
본 발명은 인코딩된 비트 스트림이 0과 1을 포함하도록 비트 스트림을 인코딩 및/또는 디코딩하는 방법 및 장치를 제공한다. 인코딩은 버전이 상이한 즉, 상이한 대응하는 비트값의 순서를 포함하고 있는, 비트 스트림을 복수의 인코더로의 입력으로서 제공함으로써 이루어진다. 유사하게, 디코딩은 디코더로의 입력의 상이한 버전을 고려함으로써 이루어진다.
후술하는 설명에서, 상세한 수치가 본 발명의 이해를 위해 제공된다. 그러나, 본 발명이 이러한 상세한 수치가 없어도 실시될 수 있다는 것은 당업자에게는 자명할 것이다. 다른 실시예에서, 불필요한 세부사항으로 인해서 본 발명을 불분명하지 않게 하기 위해, 공지된 소자는 개략도 및 블록도의 형태로 도시될 것이다. 더욱이, 무엇보다도, 전기 통신 등과 관련된 세부 사항은 본 발명의 완벽한 이해를 획득하는데 필수적인 것이 아니고, 당업자의 기술 수준내에 있는 것이라면, 생략했다.
다른 특별한 설명이 없는 한, 여기의 설명되는 모든 기능은 하드웨어 또는 소프트웨어 또는 그들의 조합에 의해 수행될 수 있다. 그러나, 바람직한 실시예에서 기능은, 컴퓨터 프로그램 코드와 같은 코드에 따라서 컴퓨터 또는 전자 데이터 프로세서와 같은 프로세서에 의해 수행되거나, 소프트웨어 및/또는 이들 기능을 수행하도록 코딩된 집적 회로에 의해 수행된다.
본 발명의 원리 및 그 장점은 도 1-5에 도시된 실시예를 참조로 가장 잘 이해된다.
도 1을 참조하면, 참조 번호(100)는 전체적으로 본 발명의 특성을 실시하는 통신 네트워크의 일부를 나타내고 있다. 특히, 통신 부분(100)은 소스 비트 스트림(110)을 수신해서, 변조기(116)에 전송된 코드 워드(114)를 제공하도록 구성된 인코더(112)를 포함한다. 소스 비트 스트림은 전체적으로 일 이상의 프레임으로 조직되고, 각각의 프레임은 일 이상의 비트를 포함한다. 전형적으로, 소스 비트 스트림은 수백 또는 수천개의 비트로 조직된다.
변조기(116)는 직교 진폭 변조기(QAM), 펄스 진폭 변조(PAM), 펄스 코드 변조(PCM), 디지털 펄스 코드 변조(DPCM), 위상 변이 키잉(PSK), 차동 위상 변이 키잉(DPSK), 오프셋 직교 위상 변이 키잉(OQPSK), 차동 직교 위상 변이 키잉(π/4-QPSK), 가우스 필터된 최소 변이 키잉(GMSK) 등과 같은 디지털 변조기로서, 전송 기능부(120)에 도시된 바와 같이, 전송형 코드 워드(114)를 전송될 수 있는, 전송형 변조된 신호(118)로 변환하도록 구성된다.
전송 기능부(120)는 무선 또는 유선 기술을 통해서, 전송형 변조된 신호(118)의 전송을 제공하도록 구성되고, 이로써 변조된 신호(122)가 수신된다. 무선 또는 유선을 통한 신호의 전송은 당업자에게 공지되어 있고, 따라서 본 발명을 설명하는데 필수적인 것을 제외하고는 더 상세하게 설명되지 않는다.
수신된 변조 신호(122)는 수신된 변조기 신호(122)를 수신된 코드 워드(126)로 변환하도록 구성된 복조기(124)에 제공된다. 수신된 코드 워드(126)는 수신된 코드 워드(118)를 수신된 비트 스트림(130)으로 변환하도록 구성된 디코더(128)로의 입력으로서 제공된다.
인코더(120) 및/또는 디코더(128)는 송수신기와 같은 인코더 및/또는 디코더르 포함한 장치, 수신기, 무선 전화 등과 같은 독립형 장치, 또는 송수신기, 수신기 무선전화 등의 소자와 같은 장치용 모듈을 포함할 수 있다. 이와 같이, 본 발명은 독립형 인코더 및/또는 디코더, 인코더 및/또는 디코더를 포함하는 장치, 및 인코더 및/또는 디코더를 포함하는 모듈인 장치를 포함하도록 구성되어야 한다.
전송형 변조된 신호(118)의 전송 기능(120)의 노이즈는 전송 형 변조된 신호(118)와 같은 수신형 변조된 신호(122)의 수신을 방지할 수 있다. 결과적으로 복조된 신호, 즉 수신형 코드 워드(126)는 송신형 코드 워드(114)와는 다르다. 따라서, 인코더(112) 및 디코더(128)가 노이즈의 영향을 감소시키고, 에러 복구를 돕는 메카니즘을 사용하도록 구성되는 것이 바람직하다. 특히 유용하고 산업분야에서 통상적으로 사용되는 이러한 메카니즘은 특히 RSC(recursive systematic convolutional) 인코딩 기술을 사용하는 터보 인코더/디코더이다. 나머지 설명에서 RSC 터보 인코더 및 디코더의 사용을 가정하고, 예로서 제공하지만, RSC 터보 인코더 및 디코더는 예시의 목적으로 사용되는 것이지 본 발명이 RSC 터보 인코더 및 디코더를 사용하는 것으로 제한되는 것은 아니다. 해밍 코드, 골레이 코드, 리드 뮐러(Reed-Muller) 코드, 보스(Bose) 코드, BCH(Bose Chaudhuri Hocquenghem code BCH)코드, 리드 솔로몬(Reed-Solomon) 코드, 파이어 코드, 컨볼루션 코드 등과 같은 다른 코딩 기술이 본 발명에서 사용될 수 있고, 연구를 통해서 RSC 인코딩 기술을 포함하는 터보 인코더가 다른 다양한 인코더의 성능을 능가한다는 것을 나타내고 있기 때문에 이 기술이 사용된다. 대안의 인코더/디코더 방법의 사용 및 작동은 당업자에게는 자명하며, 따라서 본 발명의 범주에 포함된다.
도 2는 본 발명의 특성을 실시하는 인코더(112:도 1)의 일 실시예 1/5 비율의 터보 인코더, 즉 하나의 입력 비트가 5개의 출력 비트를 생성하는 것을 나타내고 있다. 전술된 부분에 있어서는 차동 인코더들이 본 발명과 관련되어 사용될 수 있지만, 간결하게 하기 위해 터보 인코더만이 도시된다.
인코더(112)는 하나의 조직 비트(systemic bit)를 두개 이상의 구성 인코더(institute encoder) 각각으로부터 수개의 비트로 다중화하는 것을 포함하고, 상기 인코더는 RSC 인코딩 기술을 사용하는 것이 바람직하다. 특히, 인코더(112)는 제 1 구성 인코더(210) 및 제 2 구성 인코더(212)를 포함하고, 이 인코더 각각은 도 3을 참조로 더 상세하게 설명된다.
제 1 구성 인코더(210)는 소스 비트 스트림(110:도 1)을 입력으로 받는다. 일반적으로, 제 1 구성 인코더(210)는 하나의 비트 스트림을 받아서, 소스 비트 스트림(110)의 각각의 비트를 위한, 패리티 비트라고 알려진 두개의 비트, 즉, 제 1 구성 인코더(CE1)의 제 1 비트(214) 및 CE1의 제 2 비트(215)를 출력한다.
제 2 구성 인코더(212)는 제 1 구성 인코더(210) 및 제 2 구성 인코더(212)가 동일한 결과를 내는 것을 방지하고, 노이즈에 대한 추가적인 보호를 제공하도록 변형된 소스 비트 스트림(110)을 받는 것이 바람직하다. 바람직하게는, 제 2 구성 인코더(212)는, 소스 비트 스트림(110)이 인코더의 1의 보수기(222)에 의해 인코딩되고, 인코더의 인터리버(224)에 의해 인터리브된(즉, 소스 비트 스트림(110)의 순서가 기본적으로 랜덤화됨) 이후에, 소스 비트 스트림(110)을 입력으로서 받아들이고, 제 2 구성 인코더(CE2)의 제 1 비트(216) 및 CE2의 제 2 비트(217)를 출력으로서 제공하도록 구성된다.
인코더의 1의 보수기(222)는 1의 보수기의 기능을 수행하도록, 즉 1을 0으로 변화시키고, 0을 1로 변화시키도록 구성된다. 도 3을 참조하여 후술되는 바와 같이, 제 2 구성 인코더(212)는 0이 아닌 출력을 생성하기 위해 1이상의 1의 입력을 필요로 한다. 인코더의 1의 보수기(222)는 전송형 코드 워드(114)에 실질적으로 랜덤한 방식으로 1을 입력해서, 노이즈가 감소된 디코딩 에러로부터 복구하기 어려운 모든 0의 전송을 실질적으로 제한하는 역할을 한다. 후술되는 바와 같이, 모든 0 비트 스트림은 1 및 0을 포함하는 전송형 코드 워드(114)로 변환된다.
전술된 바와 같이 인코더의 1의 보수기(222)는 차동 인코더(출력이 현재의 비트 및 이전 비트의 익스클루시브 오어의 역과 같다)와 같이, 대응하는 비트 값이 상이하도록 비트 스트림을 변경하는 다른 기능부로 대치된다. 1의 보수기(222) 및 차동 인코더의 목적은 적어도 두개의 인코더에 두개의 상이한 버전의 비트 스트림을 제공하는 것이다. 이러한 특성을 제공하는 임의의 기능부가 사용될 수 있다. 그러나, 대응하는 수정이 디코더(128)에 의해 행해질 수 있다는 것에 주목해야 한다.
인코더의 인터리버(224)는 전송에 대한 버스트 에러의 영향을 감소시키기 위해 각각의 프레임 내의 소스 비트 스트림(110)의 순서를 기본적으로 랜덤화하도록 구성된다. 일반적으로, 전송에 있어서의 노이즈는, 즉 버스트 에러와 같이 일련의 인접하는 비트에 영향을 미치고, 이는 손상된 인접하지 않는 비트보다 복구하기 어렵다. 인코더의 인터리버(224)는 이러한 현상을 인식해서, 비트가 수신시에 재순서화될 때 인접한 비트를 손상시키는 버스트 에러가 인접하지 않은 비트로 분산되도록 비트의 순서를 변경함으로써 노이즈의 영향을 감소시키려 하고, 이는 도 5를 참조로 후술될 것이다.
전술한 실시예에 있어서, 비트(0, 1, 2, 3, 4, 5)를 가진 6비트의 블록에서 인코더의 인터리버(224)는 2, 5, 3, 1, 4의 순서로 전송되도록 비트를 재순서화한다. 예컨대 5 및 3과 같은 두개의 인접한 비트를 손상시키는 버스트 에러는 수신시에 그들의 원래의 비트 위치로 재순서화되고 이로써, 버스트 에러가 인접하지 않은 비트로 분산되도록 하고, 노이즈의 영향을 인접하지 않은 비트로 제한해서 손상된 비트의 복구 가능성을 높인다. 인코더의 인터리버(224)의 설계는 무엇보다도, 데이터의 블록 크기 및 예상되는 신호-노이즈 비에 의존한다. 인터리버의 사용 및 설계는 당업자에게는 공지되어 있으므로, 본 발명을 설명하는데 필수적인 부분을 제외하고는 더 상세한 설명은 하지 않는다.
멀티플렉서(230)는, 원래의 소스 비트 스트림(110), CE1의 제 1 비트(214), CE1의 제 2 비트(215), CE2의 제 1 비트(216) 및 CE2의 제 2 비트(217)에서 변형되지 않은 비트인 조직 비트(213)를 입력으로서 받고, 전송형 코드 워드(114)를 출력한다. 이 비트는 직선형 비트 와이스 연쇄 알고리즘(straight bit wise concatenation algorithm) 및 펑쳐링 알고리즘을 사용해서 다중화되는 것이 바람직하다. 비트 와이스 연쇄 알고리즘은 입력 비트 스트림의 각각의 비트에 대해서, 조직 비트(213), CE1의 제 1 비트(214), CE1의 제 2 비트(215), CE2의 제 1비트(216) 및 CE2의 제 2 비트(217)를 실질적으로 연쇄화시킨다.
대안적으로, 펑쳐링 알고리즘은 코드워드(114)의 비트의 수를 감소시킴으로써 추가적인 효율을 획득하기 위해 사용될 수 있다. 펑쳐링은 당업자에게 공지되어 있기 때문에, 본 발명을 전개하는데 필수적인 부분을 제외하고는 더 상세하게 설명되지 않는다.
본 발명을 판독하는 당업자는 이해할 것이지만, 인코더(112)는 오직 예로서 제공되는 것으로 본 발명을 어떤 식으로든 제한하려는 것은 아니다. 예컨대, 추가적인 구성 인코더가 추가적인 데이터 복구를 위해 사용될 수 있고, 인코더의 1의 보수기가 제 1 구성 인코더(210)와 관련되어서 사용될 수 있고, 인코더의 1의 보수기(222) 및 인코더의 인터리버(224)의 위치는 개정될 수 있는 등이다. 그러나, 이러한 수정을 행하는 것은 도 5에 도시된 바와 같은 디코더에 유사한 수정을 요구하고, 이러한 수정은 본 발명을 판독하는 당업자에게는 자명하다.
도 3은 도 2를 참조해서 전술된 제 1 구성 인코더(210)를 수행하는 방법을 도시하고 있다. 제 1 구성 인코더(210)는 도 2의 제 2 구성 인코더(212)용으로 사용될 수 있다.
바람직하게는, 제 1 구성 인코더(210)는 도시된 바와 같은 메모리(3)를 구비한 RSC 인코더를 포함한다. RSC 인코더는 예의 목적으로 도시된 것으로, 본 발명을 어떤 식으로도 한정하려는 의도는 아니다. 재귀형(recursive) 또는 비재귀형, 컨볼루션 또는 블록 인코더의 다른 설계를 이용할 수 있고, 본 발명과 관련되어 사용될 수 있어서, 본 발명의 범주에 포함된다.
일반적으로, 제 1 구성 인코더(210)는 세가지 메모리, 즉 제 1 메모리(310), 제 2 메모리(312), 제 3 메모리(314)를 가지고 구성되고, 이는 또한 지연 및/또는 시프트 레지스터로 간주된다. 제 1 구성 인코더(210)는 제 2 메모리(312)의 익스클루시브 오어(316)의 결과를 적용시킴으로써 인코딩에 재귀적인 면을 제공하고, 메모리(314)의 값을 입력 비트를 가지고, 익스클루시브 오어(318)에 제공하도록 구성된다.
제 1 구성 인코더(210)의 출력은 CE1의 제 1 비트(214) 및/또는 CE2의 제 1 비트(216)와 같은 제 1 비트(320) 및 CE1의 제 2 비트(215) 및/또는 CE2의 제 2 비트(217)와 같은 제 2 비트(322)를 포함한다. 제 1 비트(320)는 익스클루시브 오어(318), 제 1 메모리(310) 및 제 3 메모리(314)의 결과의 익스클루시브 오어(326)의 결과인 것이 바람직하고, 제 2 비트(322)는 익스클루시브 오어(318), 제 1 메모리(310), 제 2 메모리(312) 및 제 3 메모리(314)의 결과의 익스클루시브 오어(324)의 결과인 것이 바람직하다.
도 4는 제 1 구성 인코더(210:도 3)에 의해 나타난 RSC 인코딩 기술을 나타내는 트렐리스도이고, 제 1 구성 인코더(210:도 3)에 도시된 RSC 인코딩 기술의 이해를 더 제공한다. 트렐리스도(400)는 현재의 상태(410)에서 새로운 상태(412)로의 전이를 나타낸다. 각각의 상태와 관련해서, "S0"-"S7"는 제 1 메모리(310), 제 2 메모리(312), 제 3 메모리(314) 각각의 상태를 나타내는 세개의 비트 값을 포함한다. 각각의 가능한 전이는 직선 또는 점선으로 표시되어 있다. 선의 라벨에서 슬래시 앞에 "1"로 표시되어 있는 바와 같이, "1"인 입력 비트의 결과로서, 점선 라인은 현재의 상태(410)로부터 새로운 상태(412)로의 전이를 나타내고, 선의 라벨에서 슬래시 앞에 "0"으로 표시되어 있는 바와 같이, "0"인 입력 비트의 결과로서, 점선 라인은 현재의 상태(410)로부터 새로운 상태(412)로의 전이를 나타내다.
각각의 선의 라벨은 슬래시 뒤에 두개의 비트를 포함한다. 각각의 비트는 도 2의 CE1의 제 1 비트(214) 및/또는 CE2의 제 2 비트(216)와 같이, 구성 인코더로부터의 제 1 비트를 나타낸다. 제 2 비트는 도 2의 CE1의 제 2 비트(215) 및/또는 CE2의 제 2 비트(217)와 같이, 구성 인코더로부터의 제 2 비트를 나타낸다.
예컨대, 현재의 상태(410)가 "S0"이면, 제 1 메모리(310), 제 2 메모리(312) 및 제 3 메모리(314)는 각각 "S0=000"과 같은 상태값(414)에 의해 도시된 바와 같이, "0"을 포함한다. "S0"의 현재의 상태(410)에서, 입력 비트가 "0"이면, "S0"의 현재의 상태(410)와 "S0"의 새로운 상태(412)사이에 직선으로 도시된 바와 같이, 제 1 구성 인코더(210)의 제 1 비트 및 제 2 비트의 출력값은 각각 "0"이다.
입력 비트가 "0"이고, RSC 인코더의 제 1 및 제 2 비트가 각각 "0"이기 대문에 라인에는 라벨"0/00"이 붙는다. "S0"의 새로운 상태(412)로 전이할 때, 제 1 메모리(310), 제 2 메모리(312) 및 제 3 메모리(314)의 값은 "000"이고, 각각 상태 값 "S0=000"으로 표시되어 있다.
그러나, 만약 "S0"의 현재의 상태에서 조직 비트가 "1"이면, 제 1 구성 인코더(210)의 제 1 비트(320) 및 제 2 비트(322)의 출력은 "S0"의 현재의 상태(410)와 "S4"의 새로운 상태(412) 사이에 점선으로 도시된 바와 같이, 각각 "1"이다. 입력 비트가 "1"이고, 제 1 구성 인코더(210)의 제 1 비트(320) 및 제 2 비트(322)의 출력은 각각 "1"이기 대문에 라인에는 라벨"1/11"이 붙는다. "S4"의 새로운 상태(412)로 전이할 때, 상태값 "S4=100"으로 표시된 바와 같이, 제 1 메모리(310), 제 2 메모리(320) 및 제 3 메모리(314)는 각각 "100"이다.
도 5는 도 1을 참조해서 설명된 디코더(128)를 수행하는 일 방법을 도시하고 있다. 바람직하게는 디코더(128)는 도 5에 도시된 바와 같이 터보 디코더를 포함한다. 특히, 참조 번호(128)는 도 2-4에 도시된 바와 같이, 터보 인코더에 의해 인코딩되도록 수신된 코드 워드(126)를 디코딩하기 위해 사용될 수 있는 터보 디코더이다. MAP(Maximum A-Posteriori) 알고리즘에 기초한 터보 디코더는 예시의 목적으로만 설명되고, 어떤 식으로도 본 발명을 한정하려는 것은 아니다. 본 발명은 판독하는 당업자는 로그-MAP, 맥스-로그-MAP, 소프트 출력 비터비 알고리즘(SOVA) 등과 같은 차동 디코더의 설계가 사용될 수 있고, 따라서 본 발명의 범주에 포함된다는 것을 이해할 것이다.
일반적으로, 이후에 더 상세하게 도시되는 바와 같이, 디코더(128)는 대안의 방식에서 직렬로 동작하는 제 1 디코더(512) 및 제 2 디코더(518)를 포함한다. 제 1 디코더(512)의 출력단, 즉 Le(12)는 제 2 디코더(518)의 입력단 중의 하나이고, 제 2 디코더(518)의 출력단 즉 Le(21)는 제 1 디코더(512)의 입력단 중의 하나이다. 제 1 디코더(512)는 제 1 구성 인코더(210:도 2)에 의해 인코딩된 비트를 디코딩하고, 제 2 디코더(518)는 제 2 구성 인코더(212:도 2)에 의해 인코딩된 비트를 디코딩한다.
디코더(128)는 수신형 코드 워드(126: 도 1)를, 조직 비트(213), CE1의 제 1 비트(214), CE1의 제 2 비트(215), CE2의 제 1 비트(216), CE2의 제 2 비트(217)에 대응하는, 수신형 조직 비트(502), 수신형 제 1 디코더(D1) 제 1 비트(504), 수신형 제 1 디코더(D1) 제 2 비트(506), 수신형 제 2 디코더(D2) 제 1 비트(508), 수신형 제 1 디코더(D1) 제 1 비트(510)의 5개의 비트로 역다중화하도록 구성된 디멀티플렉서(510)를 포함한다.
제 1 디코더(512)는 수신형 조직 비트(512), D1의 제 1 비트(504), D1의 제 2 비트(506)를 입력으로서 받도록 구성된다. 이 세개의 입력에 더해서, 제 1 디코더(512)는 수신된 조직 비트(502)가 1일 가능성의 자연로그(-Le(21))를 입력으로 받을 수 있도록 구성되었고, 여기서 "(21)"은 제 1 디코더에 전송되는 제 2 디코더의 결과값을 나타내고, 유사하게 "(12)"는 제 2 디코더에 전송되는 제 1 디코더의 결과값을 나타낸다. (-Le(21))는 0으로 초기화되고, 부호 인버터(526)을 참조로 더 상세하게 설명될 것이다.
제 1 디코더(512)는 선택된 인코더 타입에 대한 만족스러운 결과를 제공하는 임의의 디코딩 알고리즘이 될 수 있다. 예컨대, 도 2-4에 도시된 터보 인코더용 적절한 디코딩 기술은 MAP, SOVA, Log-MAP, Max-log-MAP 등이다. 디코딩 기술은 당업자에게 공지되어 있고, 디코딩 기술의 인터렉트는 본 발명은 판독하는 당업자에게는 자명할 것이다.
제 1 디코더(512)는 바람직하게는 특정 비트가 1일 가능성의 자연 로그의 형태로 출력을 제공하는 것이 바람직하다. 특히, 제 1 디코더(512)의 출력은 하기의 식으로 주어진다.
Le(12)=loge
여기서, p[수신형 조직 비트=1]는 수신형 조직 비트(502)가 1일 확률이고,
p[수신형 조직 비트=0]는 수신형 조직 비트(502)가 0일 확률이다.
따라서, 수신형 조직 비트(502)가 1일 확률이 더 높으면, Le(12)는 양수가 될 것이고, 수신형 조직 비트가 0일 확률이 더 높으면 네거티브가 될 것이다.
전술된 바와 같이, 제 1 디코더(512)의 출력값은 제 2 디코더(518)의 입력값이다. 그러나, 이 값은 인코더의 1의 보수기(222:도 2) 및 인코더의 인터리버(224:도 2)를 고려해서 조정되어야 한다. 도 2에 도시된 바와 같이 제 1 구성 인코더(210)는 인터리브되거나 또는 반전된 즉 1의 보수가 아닌 비트를 입력으로서 수신한다. 그러나, 제 2 인코더(212)는 인코더의 인터리버(224)에 의해 재순서화되고, 인코더의 1의 보수기(222)에 의해 반전된 비트를 입력으로서 수신한다.
따라서, 도 5를 다시 참조하면, 제 1 디코더(512)의 출력은 제 1 디코더 인터리버(514)에 의해 재순서화되어야 하고, 부호 인버터(516)에 의해 부호 반전되어야 한다. 제 1 디코더 인터리버(514) 및 부호 인버터(516)의 결과는 수신된 조직 비트(502)가 D2의 제 1 비트(508)와 D2의 제 2 비트(510)와 같은 방식으로 순서화된 0일 확률이다.
유사하게, 수신형 조직 비트(502)는 D2의 제 1 비트(508) 및 D2의 제 2비트(510)를 생성하기 위해, 입력을 제 2 구성 인코더(212:도 2)에 복제하기 위해 사용되는 것과 같은 순서 및 같은 반전 표현으로 비트를 제공하도록 조정되어야 한다. 결과적으로, 제 2 디코더 인터리버(520) 및 디코더의 1의 보수기(522)는 수신형 조직 비트(502)에 적용된다.
따라서, 제 2 디코더(518)로의 입력은 (-Le(21)), 재순서화되고 비트 반전된 수신형 조직 비트(502) 및 D2의 제 1 비트(508) 및 D2의 제 2 비트(510)를 포함한다. 제 2 디코더(518)의 동작은 제 1 디코더(512)를 참조로 전술된 바와 같다.
제 2 디코더(518)는 특정 비트가 1일 가능성의 자연로그의 형태로 출력을 제공하는 것이 바람직하다. 1의 보수 기능으로 인해서, 제 2 디코더(518)에서 비트가 1일 높은 확률은 실제로 비트가 0일 높은 확률이다. 특히, 제 2 디코더(518)의 출력은 하기의 식으로 주어진다.
Le(21)=loge
여기서 p[반전된 수신형 조직 비트=1]는 디코더의 1의 보수기(522)의 적용 이후에, 수신형 조직 비트(502)가 1일, 즉 실제로 0일 확률이다.
여기서 p[반전된 수신형 조직 비트=0]는 디코더의 1의 보수기(522)의 적용 이후에, 수신형 조직 비트(502)가 0일, 즉 실제로 1일 확률이다.
따라서, Le(21)는 수신형 조직 비트(502)가 0일 확률이 높다면 양수가 될 것이고, 수신형 조직 비트가 1일 확률이 높다면 음수가 될 것이다.
전술된 바와 같이, 제 2 디코더(518)의 출력은 제 1 디코더(512)에 입력으로서 사용된다. 그러나, Le(12)와 유사하게 출력 Le(21)은 1의 보수기 및 인터리빙 기능을 고려해서 조정되어야 한다. 따라서, 디인터리버(de-interleaver:524) 및 제 2 부호 인버터(526)는 제 1 디코더(512)로의 입력으로 사용되기 전에 제 2 디코더(518)로의 출력으로 인가된다.
전술된 터보 디코더 프로세스는, 판정 유닛(528)에서 판정된 바에 따라서, 일 이상의 반복을 통해서 수신형 비트의 블록에서 수행되는 것이 바람직하다. 바람직하게는, 프로세스는 8회 반복해서 수행된다. 대안적으로, 판정 유닛(528)은 확률, 반복 중의 변화 등에 기초해서 반복의 수를 변화시키도록 구성될 수 있다. 반복 횟수가 충분하다고 판정되면, 디코더(128)는 수신형 비트 스트림(130:도 1)을 출력한다.
전술된 바와 같이, 차동 디코더가 인코더의 1의 보수기(222:도 2) 대신에 사용된다면, 디코더의 1의 보수기(522)는 차동 인코더로 대치될 수 있다.
예컨대, 소스 비트 스트림(110)이 42개의 0의 스트림을 포함한다고 하자. 인코더의 인터리버(224)가 없다면, 인코더(112)의 출력은 하기의 테이블과 같이 된다. 첫번째 열은 조직 비트(213), CE1의 제 1 비트(214), CE1의 제 2 비트(215), CE2의 제 1 비트(216) 및 CE2의 제 2 비트(217)를 순서대로 포함하는 전송형 코드 워드를 나타낸다. 두번째 열은 조직 비트의 값을 나타내고, 이는 본 실시예에서 항상 0이다.
세번째 열은 제 1 구성 인코더(210)의 출력을 나타내고, 괄호안은 도 4에 도시된 바와 같은 상태 전이이다. 제 1 구성 인코더(210)는, 조직 비트의 값이 0일 때 모두 0을 출력하고, 상태 전이는 항상 상태 "S0"에서 상태 "S0"이라는 것에 주목해야 한다.
네번째 열은 제 2 인코더(212)의 출력을 나타내고, 괄호안은, 도 4에 나타낸바와 같은, 상태 전이이다. 1의 보수에 의해 출력은 항상 0이 아니라는 것이 주목해야 된다. 42개의 0의 입력 스트립은 이 패턴을 6번 반복한다.
따라서, 제 1 변조기(116:도 1)가 각각의 사이클마다 5개의 비트를 전송한다면, 0에는 4개의 다른 값 즉, 0, 1, 2, 3이 할당된다. 64QAM과 같이, 펄스당 6개의 비트를 전송하는, 인코더의 비율 (예컨대, 1/5)과는 다른 수의 비트를 전송하는 변조기(116)를 선택함으로써, 추가적인 변화를 획득할 수 있다.
예컨대, 하기의 문자열은 전기의 서로 인접하고, 6 비트 블록으로 나누어진 비트 패턴을 포함하고, 이는 1/5 비율의 터보 인코더가 64QAM과 관련되어서 사용되는 경우가 될 것이다.
비교를 용이하게 하기 위해서, 하기의 디지털 열이 2진 문자열을 동일한 10진수로 대치한다.
따라서, 본 발명에 포함된 1의 보수 인코더/디코더의 사용으로 인해서, 14개의 다른 심볼, 즉 64QAM을 사용하는 시스템의 펄스 즉 0, 1, 2, 4, 6, 8, 12, 16, 17, 24, 32, 35, 48, 49를 사용하게 한다.
본 발명이 많은 수의 형태와 실시예를 취할 수 있다는 것을 이해할 것이다. 따라서, 수개의 수정이 본 발명의 사상과 범주를 벗어남없이 이루어질 수 있다. 예컨대, 복수의 인코더에 다양한 버전의 비트 스트림을 제공하는 상이한 인코딩 방안이 사용될 수 있다.
바람직한 실시예를 참조해서 본 발명을 설명함으로써, 개시된 실시예가 한정이 아닌 예시이며, 넓은 범위의 수정, 변경, 변화 및 대치가 전기 개시물에 실시될 수 있고, 예컨대 본 발명의 특성이 다른 특성의 대응하는 사용없이 실시될 수 있다는 것에 주목해야 한다. 다양한 수정 및 변형이 바람직한 실시예의 설명을 실시하는 당업자에게는 자명하고, 바람직한 것으로 이해될 것이다. 따라서, 첨부된 청구의 범위는 넓고 본 발명과 일관되는 방식으로 구성된다.

Claims (35)

  1. 제 1 비트 스트림(110)을 인코딩하는 인코더(112)로서,
    상기 제 1 비트 스트림(110)으로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 수단(222)과,
    상기 제 2 비트 스트림을 인코딩하는 수단(212)을 포함하는
    인코더(112).
  2. 제 1 항에 있어서,
    상기 인코딩 수단(212)은 구성 인코더(constitute encoder)를 포함하는
    인코더(112).
  3. 제 1 항에 있어서,
    상기 제 2 비트 스트림을 생성하는 수단(222)은 1의 보수기 및 차동 인코더 중 적어도 하나를 포함하는
    인코더(112).
  4. 제 1 비트 스트림(110)을 인코딩하는 인코더(112)로서,
    상기 제 1 비트 스트림(110)으로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 -을 생성하는 수단(222)과,
    상기 제 1 비트 스트림(110)의 각각의 비트에 대해서 제 1 비트(214) 및 제 2 비트(215)를 생성하는 수단(210)과,
    상기 제 2 비트 스트림의 각각의 비트에 대해서 제 3 비트(216) 및 제 2 비트(217)를 생성하는 수단(212)을 포함하는
    인코더(112).
  5. 제 4 항에 있어서,
    상기 제 2 비트 스트림을 생성하는 수단(222)은 1의 보수기 및 차동 인코더 중 적어도 하나를 포함하는
    인코더(112).
  6. 제 1 비트 스트림(110)을 인코딩하는 인코더(112)로서,
    상기 제 1 비트 스트림(110)의 각각의 비트에 대해서, 제 1 인코더의 제 1비트(214) 및 제 1 인코더의 제 2 비트(215)를 생성하는 수단(210)과,
    상기 제 1 비트 스트림(110)으로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 수단(222)과,
    상기 제 2 비트 스트림의 각각의 비트에 대해서 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 생성하는 수단(212)과,
    상기 제 1 비트 스트림(110), 상기 제 1 인코더의 제 1 비트(214), 제 1 인코더의 제 2 비트(215), 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 다중화하는 수단(230)을 포함하는
    인코더(112).
  7. 제 6 항에 있어서,
    상기 제 1 인코더의 제 1 비트(214) 및 제 1 인코더의 제 2 비트(215)를 생성하는 수단(210)은 구성 인코더를 포함하는
    인코더(112).
  8. 제 6 항에 있어서,
    상기 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 생성하는 수단(212)은 구성 인코더를 포함하는
    인코더(112).
  9. 제 6 항에 있어서,
    상기 제 2 비트 스트림을 생성하는 수단(222)은 1의 보수기 및 차동 인코더 중 적어도 하나를 포함하는
    인코더(112).
  10. 제 6 항에 있어서,
    제 1 비트 스트림(110) 및 제 2 비트 스트림 중 적어도 하나를 인터리브하는 수단(224)을 더 포함하는
    인코더(112).
  11. 제 1 비트 스트림(110)을 인코딩하는 방법으로서,
    상기 제 1 비트 스트림(110)을 수신하는 단계와,
    제 1 인코더(210)를 사용해서 상기 제 1 비트 스트림(110)을 인코딩하여, 상기 제 1 비트 스트림(110)의 각각의 비트에 대해서, 제 1 인코더의 제 1 비트(214)및 제 1 인코더의 제 2 비트(215)를 생성하는 단계와,
    상기 제 1 비트 스트림(110)으로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 단계와,
    제 2 인코더(212)를 사용해서 상기 제 2 비트 스트림을 인코딩하여, 상기 제 2 비트 스트림의 각각의 비트에 대해서, 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 생성하는 단계와,
    상기 제 1 비트 스트림(110), 상기 제 1 인코더의 제 1 비트(214), 제 1 인코더의 제 2 비트(215), 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 다중화하는 단계를 포함하는
    제 1 비트 스트림(110)을 인코딩하는 방법.
  12. 제 11 항에 있어서,
    재순서화된 비트 스트림을 생성해서 상기 제 1 비트 스트림(110) 및 제 2 비트 스트림의 비트의 순서를 변화시키는 단계를 더 포함하는
    방법.
  13. 제 11 항에 있어서,
    상기 제 2 비트 스트림을 생성하는 단계는 1의 보수기 및 차동 인코더 중 적어도 하나를 포함하는
    방법.
  14. 제 1 비트 스트림(110)을 인코딩하는 방법으로서
    상기 제 1 비트 스트림(110)을 수신하는 단계와,
    제 1 인코더(210)를 사용해서 상기 제 1 비트 스트림(110)을 인코딩하여, 상기 제 1 비트 스트림(110)의 각각의 비트에 대해서, 제 1 인코더의 제 1 비트(214) 및 제 1 인코더의 제 2 비트(215)를 생성하는 단계와,
    상기 제 1 비트 스트림(110)으로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 단계와,
    상기 제 1 비트 스트림으로부터 인터리브된 비트 스트림을 생성하는 단계와,
    상기 인터리브된 비트 스트림을 인코딩하여, 상기 인터리브된 비트 스트림의 각각의 비트에 대해서 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 생성하는 단계와,
    상기 제 1 비트 스트림(110), 상기 제 1 인코더의 제 1 비트(214), 제 1 인코더의 제 2 비트(215), 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 다중화하는 단계를 포함하는
    제 1 비트 스트림(110)을 인코딩하는 방법.
  15. 제 14 항에 있어서,
    상기 제 1 비트 스트림(110)을 인코딩하는 단계는 구성 인코더를 사용해서 제 1 인코더의 제 1 비트(214) 및 제 1 인코더의 제 2 비트(215)를 생성하는 단계를 더 포함하는
    방법.
  16. 제 14 항에 있어서,
    상기 인터리브된 비트 스트림(110)을 인코딩하는 단계는 구성 인코더를 사용해서 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 생성하는 단계를 더 포함하는
    방법.
  17. 제 14 항에 있어서,
    상기 제 2 비트 스트림을 생성하는 단계는 1의 보수기 및 차동 인코더 중 적어도 하나를 포함하는
    방법.
  18. 수신된 비트의 제 1 비트 스트림(502)을 디코딩하는 디코더(128)로서,
    제 1 디코더의 제 1 비트(504)의 스트림, 제 1 디코더의 제 2 비트(506)의 스트림, 제 1 비트 스트림(502) 및 대응하는 수신된 비트가 초기 반복에서 1일 확률값의 제 2 스트림을, 대응하는 수신된 비트가 1일 확률의 제 1 스트림으로 변환하는 제 1 디코딩 수단(512)과,
    제 1 확률값의 스트림의 부호를 반전시키는 제 1 부호 반전 수단(516)과,
    상기 제 1 비트 스트림(502)로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 수단(522)과,
    제 1 확률값의 스트림, 제 2 비트 스트림, 제 2 디코더의 제 1 비트(508)의 스트림, 및 제 2 디코더의 제 2 비트(510)의 스트림을, 상기 제 2 비트 스트림의 대응하는 비트가 0일 제 2 확률값의 스트림으로 변환하는 제 2 디코딩 수단(518)과,
    상기 제 2 확률값의 스트림의 부호를 반전시키는 제 2 부호 반전 수단(526)을 포함하는
    디코더(128).
  19. 제 18 항에 있어서,
    상기 제 1 비트 스트림(502) 및 상기 제 2 비트 스트림 중 적어도 하나를 재순서화하는 인터리버 수단(520)을 더 포함하는
    디코더(128).
  20. 제 18 항에 있어서,
    상기 제 2 비트 스트림을 생성하는 수단(522)은 1의 보수기 및 차동 인코더 중 적어도 하나를 포함하는
    디코더(128).
  21. 수신된 비트의 제 1 비트 스트림(502)을 디코딩하는 디코더(128)로서,
    제 1 디코더의 제 1 비트(504)의 스트림, 제 1 디코더의 제 2 비트(506)의 스트림, 제 1 비트 스트림(502) 및 대응하는 수신된 비트가 초기 반복에서 1일 제 2 확률값의 스트림을, 대응하는 수신된 비트가 1일 확률의 제 1 스트림으로 변환하는 제 1 디코딩 수단(512)과,
    상기 확률값의 스트림을 제 2 디코더에 의해 요청된 순서로 재순서화하는 제 1 디코더 인터리버 수단(514)과,
    상기 제 1 확률값의 스트림의 부호를 반전시키는 제 1 부호 반전 수단(516)과,
    상기 수신된 비트의 스트림을 상기 제 2 디코더(518)에 의해 요청된 순서로 재순서화하는 제 2 디코더 인터리버 수단(520)과,
    상기 재순서화된 비트의 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 2 디코더 인터리버 수단(520)에 의해 생성된 재순서화된 비트와는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 수단(522)과,
    제 1 확률값의 스트림, 제 2 비트 스트림, 제 2 디코더의 제 1 비트(508)의 스트림, 및 제 2 디코더의 제 2 비트(510)의 스트림을, 상기 제 2 비트 스트림의 대응하는 비트가 1일 제 2 확률값의 스트림으로 변환하는 제 2 디코딩 수단(518)과,
    상기 제 1 디코더(512)에 의해 요청된 순서로 상기 제 2 확률값의 스트림을 재순서화하는, 제 2 확률값의 스트림을 재순서화하는 디인터리버 수단(524)과,
    상기 제 2 확률값의 스트림의 부호를 반전시키는 제 2 부호 반전 수단(526)과,
    제 2 확률값의 스트림 판정의 일 이상의 반복실행을 가능하게 하는 판정 유닛 수단(528)
    을 포함하는
    디코더(128).
  22. 제 22 항에 있어서,
    상기 제 2 비트 스트림을 생성하는 수단(522)은 적어도 하나의 1의 보수기 및 차동 인코더를 포함하는
    디코더.
  23. 수신된 비트의 제 1 비트 스트림(502)을 디코딩하는 방법으로서,
    제 1 디코더의 제 1 비트(504)의 스트림, 제 1 디코더의 제 2 비트(506)의 스트림, 제 1 비트 스트림(502) 및 대응하는 수신된 비트가 초기 반복에서 1일 제 2 확률값의 스트림을, 대응하는 수신된 비트가 1일 확률의 제 1 스트림으로 변환하는 단계와,
    상기 제 1 확률값의 스트림의 부호를 반전시키는 단계와,
    상기 제 1 비트 스트림(502)로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(502)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 단계와,
    제 1 확률값의 스트림, 제 2 비트 스트림, 제 2 디코더의 제 1 비트(508)의 스트림, 및 제 2 디코더의 제 2 비트(510)의 스트림을 상기 제 2 비트 스트림의 대응하는 비트가 0일 제 2 확률값의 스트림으로 변환하는 단계와,
    상기 제 2 확률값의 스트림의 부호를 반전시키는 단계와,
    상기 단계를 특정 회수 반복하는 단계
    를 포함하는
    수신된 비트의 제 1 비트 스트림(502)을 디코딩하는 방법.
  24. 제 23 항에 있어서,
    상기 제 1 비트 스트림(502) 및 상기 제 2 비트 스트림 중 적어도 하나를 인터리브하는 단계를 더 포함하는 방법.
  25. 제 23 항에 있어서,
    상기 제 2 비트 스트림을 생성하는 단계는 1의 보수기 및 차동 인코더 중 적어도 하나를 포함하는
    방법.
  26. 수신된 비트의 제 1 비트 스트림(502)을 디코딩하는 방법으로서,
    제 1 디코더의 제 1 비트(504)의 스트림, 제 1 디코더의 제 2 비트(506)의 스트림, 제 1 비트 스트림(502) 및 대응하는 수신된 비트가 초기 반복에서 1일 제 2 확률값의 스트림을, 제 1 비트 스트림(502)의 대응하는 수신된 비트가 1일 제 1확률값의 스트림으로 변환하는 단계와,
    상기 제 1 확률값의 스트림을 제 2 디코더(518)에 의해 요청된 순서로 재순서화하는 단계와,
    상기 제 1 확률값의 스트림의 부호를 반전시키는 단계와,
    상기 수신된 비트의 제 1 비트 스트림(502)을 상기 제 2 디코더(518)에 의해 요청된 순서로 인터리브해서 재순서화된 비트 스트림을 생성하는 단계와,
    상기 재순서화된 비트의 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(502)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 단계와,
    제 1 확률값의 스트림, 제 2 비트 스트림, 제 2 디코더의 제 1 비트(508)의 스트림, 및 제 2 디코더의 제 2 비트(510)의 스트림을 1의 보수 비트 스트림의 대응하는 비트가 0일 제 2 확률값의 스트림으로 변환하는 단계와,
    상기 제 1 디코더(512)에 의해 요청된 순서로 상기 제 2 확률값의 스트림을 재순서화하여, 디인터리브하는 단계와,
    상기 제 2 확률값의 스트림의 부호를 반전시키는 단계와,
    상기 단계를 특정 횟수 반복하는 단계
    를 포함하는
    수신된 비트의 제 1 비트 스트림(502)을 디코딩하는 방법.
  27. 제 26 항에 있어서,
    상기 제 2 비트 스트림을 생성하는 단계는 1의 보수기 및 차동 인코더 중 적어도 하나를 포함하는
    방법.
  28. 비트 스트림의 각각의 원래의 비트에 대해서,
    원래의 비트와 동일한 제 1 비트(213)와,
    일 이상의 원래의 비트의 인코더에 의한 인코딩을 나타내는 제 1 복수의 비트(214, 215)와,
    일 이상의 인코딩에 의한 변형된 비트 - 상기 변형된 비트는 1의 보수기 및 차동 인코더 중 적어도 하나를 적용시킴으로써 생성됨 - 를 나타내는 제 2 복수의 비트(216, 217)
    를 포함하며,
    상기 제 1 비트, 제 1 복수의 비트 및 제 2 복수의 비트는 함께 다중화되는
    비트 스트림을 나타내는 신호(118).
  29. 제 1 비트 스트림(100)을 인코딩하는 인코더(112)를 포함하는 장치로서
    제 1 비트 스트림(110)으로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 -을 생성하는 수단(222)과,
    제 1 비트 스트림(110)의 각각의 비트에 대해서 제 1 비트(214) 및 제 2 비트(215)를 생성하는 수단(210)과,
    제 2 비트 스트림의 각각의 비트에 대해서 제 3 비트(216) 및 제 2 비트(217)를 생성하는 수단(212)을 포함하는
    장치.
  30. 제 29 항에 있어서,
    상기 제 2 비트 스트림을 생성하는 수단(222)은 1의 보수기 및 차동 인코더 중 적어도 하나를 포함하는
    장치.
  31. 제 1 비트 스트림(110)을 인코딩하는 인코더(112)를 포함하는 장치로서,
    제 1 비트 스트림(110)의 각각의 비트에 대해서, 제 1 인코더의 제 1 비트(214) 및 제 1 인코더의 제 2 비트(215)를 생성하는 수단(210)과,
    상기 제 1 비트 스트림(110)으로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 수단(222)과,
    상기 제 2 비트 스트림의 각각의 비트에 대해서 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 생성하는 수단(212)과,
    상기 제 1 비트 스트림(110), 상기 제 1 인코더의 제 1 비트(214), 제 1 인코더의 제 2 비트(215), 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 다중화하는 수단(230)을 포함하는
    장치.
  32. 제 31 항에 있어서,
    제 2 비트 스트림을 생성하는 수단(222)은 1의 보수기 및 차동 인코더 중 적어도 하나를 포함하는
    장치.
  33. 제 1 비트 스트림(110)을 인코딩하는 인코더(112)를 포함하는 모듈로서,
    제 1 비트 스트림(110)의 각각의 비트에 대해서, 제 1 인코더의 제 1 비트(214) 및 제 1 인코더의 제 2 비트(215)를 생성하는 수단(210)과,
    상기 제 1 비트 스트림(110)으로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 수단(222)과,
    상기 제 2 비트 스트림의 각각의 비트에 대해서 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 생성하는 수단(212)과,
    상기 제 1 비트 스트림(110), 상기 제 1 인코더의 제 1 비트(214), 제 1 인코더의 제 2 비트(215), 제 2 인코더의 제 1 비트(216) 및 제 2 인코더의 제 2 비트(217)를 다중화하는 수단(230)을 포함하는
    모듈.
  34. 수신된 비트의 제 1 비트 스트림(502)을 디코딩하는 디코더(128)를 포함하는 장치로서,
    제 1 디코더의 제 1 비트(504)의 스트림, 제 1 디코더의 제 2 비트(506)의 스트림, 제 1 비트 스트림(502) 및 대응하는 수신된 비트가 초기 반복에서 1일 제 2 확률값의 스트림을, 대응하는 수신된 비트가 1일 확률의 제 1 스트림으로 변환하는 제 1 디코딩 수단(512)과,
    제 1 확률값의 스트림의 부호를 반전시키는 제 1 부호 반전 수단(516)과,
    제 1 비트 스트림(502)로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 수단(522)과,
    제 1 확률값의 스트림, 제 2 비트 스트림, 제 2 디코더의 제 1 비트(508)의 스트림, 및 제 2 디코더의 제 2 비트(510)의 스트림을 상기 제 2 비트 스트림의 대응하는 비트가 0일 제 2 확률값의 스트림으로 변환하는 제 2 디코딩 수단(518)과,
    상기 제 2 확률값의 스트림의 부호를 반전시키는 제 2 부호 반전 수단(526)을 포함하는
    장치.
  35. 수신된 비트의 제 1 비트 스트림(502)을 디코딩하는 디코더(128)를 포함하는 모듈로서,
    제 1 디코더의 제 1 비트(504)의 스트림, 제 1 디코더의 제 2 비트(506)의 스트림, 제 1 비트 스트림(502) 및 대응하는 수신된 비트가 초기 반복에서 1일 제 2 확률값의 스트림을, 대응하는 수신된 비트가 1일 확률의 제 1 스트림으로 변환하는 제 1 디코딩 수단(512)과,
    제 1 확률값의 스트림의 부호를 반전시키는 제 1 부호 반전 수단(516)과,
    제 1 비트 스트림(502)로부터 제 2 비트 스트림 - 상기 제 2 비트 스트림은 상기 제 1 비트 스트림(110)과는 상이한 일 이상의 대응하는 비트 값을 가짐 - 을 생성하는 수단(522)과,
    제 1 확률값의 스트림, 제 2 비트 스트림, 제 2 디코더의 제 1 비트(508)의 스트림, 및 제 2 디코더의 제 2 비트(510)의 스트림을 상기 제 2 비트 스트림의 대응하는 비트가 0일 제 2 확률값의 스트림으로 변환하는 제 2 디코딩 수단(518)과,
    상기 제 2 확률값의 스트림의 부호를 반전시키는 제 2 부호 반전 수단(526)을 포함하는
    모듈.
KR10-2003-7001423A 2001-05-31 2002-05-28 비트 스트림을 인코딩하는 인코더 및 방법, 및 비트스트림을 디코딩하는 디코더 및 방법 KR20030036660A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/871,274 US7313192B2 (en) 2001-05-31 2001-05-31 Method and apparatus for a complementary encoder/decoder
US09/871,274 2001-05-31
PCT/IB2002/001911 WO2002098001A1 (en) 2001-05-31 2002-05-28 Method and apparatus for a complementary encoder/decoder

Publications (1)

Publication Number Publication Date
KR20030036660A true KR20030036660A (ko) 2003-05-09

Family

ID=25357084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7001423A KR20030036660A (ko) 2001-05-31 2002-05-28 비트 스트림을 인코딩하는 인코더 및 방법, 및 비트스트림을 디코딩하는 디코더 및 방법

Country Status (6)

Country Link
US (1) US7313192B2 (ko)
EP (1) EP1400023A1 (ko)
JP (1) JP2004533175A (ko)
KR (1) KR20030036660A (ko)
CN (1) CN1463499A (ko)
WO (1) WO2002098001A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019156517A1 (ko) * 2018-02-09 2019-08-15 한국과학기술원 신호를 처리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
KR20190096789A (ko) * 2018-02-09 2019-08-20 한국과학기술원 신호를 처리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7360147B2 (en) 2005-05-18 2008-04-15 Seagate Technology Llc Second stage SOVA detector
US7502982B2 (en) * 2005-05-18 2009-03-10 Seagate Technology Llc Iterative detector with ECC in channel domain
US7797615B2 (en) * 2005-07-07 2010-09-14 Acer Incorporated Utilizing variable-length inputs in an inter-sequence permutation turbo code system
US20070011557A1 (en) * 2005-07-07 2007-01-11 Highdimension Ltd. Inter-sequence permutation turbo code system and operation methods thereof
US7856579B2 (en) * 2006-04-28 2010-12-21 Industrial Technology Research Institute Network for permutation or de-permutation utilized by channel coding algorithm
BRPI0921808A2 (pt) * 2008-11-17 2018-06-05 Thomson Licensing desenho de cabeçalho de quadro de fec para sinais de televisões a cabo.
CN102246450B (zh) 2008-12-10 2014-05-28 汤姆森特许公司 利用可变首标调制来传送和接收前向纠错帧首标的方法和装置
US9184958B2 (en) * 2011-11-07 2015-11-10 Blackberry Limited System and method of encoding and transmitting codewords
US20130326630A1 (en) * 2012-06-01 2013-12-05 Whisper Communications, LLC Pre-processor for physical layer security
US10382842B2 (en) * 2012-06-26 2019-08-13 BTS Software Software Solutions, LLC Realtime telemetry data compression system
US11128935B2 (en) * 2012-06-26 2021-09-21 BTS Software Solutions, LLC Realtime multimodel lossless data compression system and method
US9953436B2 (en) * 2012-06-26 2018-04-24 BTS Software Solutions, LLC Low delay low complexity lossless compression system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115453A (en) * 1990-10-01 1992-05-19 At&T Bell Laboratories Technique for designing a multidimensional signaling scheme
US6269129B1 (en) * 1998-04-24 2001-07-31 Lsi Logic Corporation 64/256 quadrature amplitude modulation trellis coded modulation decoder
US6298463B1 (en) * 1998-07-31 2001-10-02 Nortel Networks Limited Parallel concatenated convolutional coding
US6771705B2 (en) * 2001-02-01 2004-08-03 Nokia Corporation Turbo encoder with transmitter diversity

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019156517A1 (ko) * 2018-02-09 2019-08-15 한국과학기술원 신호를 처리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
KR20190096789A (ko) * 2018-02-09 2019-08-20 한국과학기술원 신호를 처리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
CN111937307A (zh) * 2018-02-09 2020-11-13 韩国科学技术院 信号处理方法和系统、以及非暂时性计算机可读记录介质
US11368341B2 (en) 2018-02-09 2022-06-21 Korea Advanced Institute Of Science And Technology Signal processing method and system, and non-transitory computer-readable recording medium

Also Published As

Publication number Publication date
WO2002098001A1 (en) 2002-12-05
US20030058954A1 (en) 2003-03-27
US7313192B2 (en) 2007-12-25
CN1463499A (zh) 2003-12-24
JP2004533175A (ja) 2004-10-28
EP1400023A1 (en) 2004-03-24

Similar Documents

Publication Publication Date Title
JP3610329B2 (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
US6807238B1 (en) Method and apparatus for decoding M-PSK turbo code using new approximation technique
EP1221772A2 (en) Pre-decoder for a turbo decoder, for recovering punctured parity symbols, and a method for recovering a turbo code
JP2000508849A (ja) データ・ブロックの畳み込み符号化方法及び装置及び対応する復号方法及び装置
KR20030036660A (ko) 비트 스트림을 인코딩하는 인코더 및 방법, 및 비트스트림을 디코딩하는 디코더 및 방법
CN102714504A (zh) 在通信系统中传送和接收数据的方法和装置
JP2012239240A (ja) 低密度パリティ検査符号のパリティ検査行列生成方法
CN115225202B (zh) 一种级联译码方法
JP2004511161A (ja) シンプレックス符号を使用した(n、3)符号と(n、4)符号を生成する装置及び方法
JP2002506599A (ja) 高ビットレートデジタルデータ伝送のためのエラー訂正符号化方法および装置と、対応する復号化方法および装置
US7873897B2 (en) Devices and methods for bit-level coding and decoding of turbo codes
WO2009146517A1 (en) Method of encoding and/or decoding multidimensional and a system comprising such method
JP4138723B2 (ja) 復号処理方法および通信装置
US6611940B1 (en) Decoding symbols representing digital words
KR101413783B1 (ko) 가변 블록 길이의 저밀도 패리티 검사 부호를 이용한 채널 부호화/복호화 방법 및 장치
US7170946B2 (en) System and method for reviving catastrophic codes
KR102547369B1 (ko) 수신 장치 및 그의 디코딩 방법
CN112398580B (zh) 一种调制方法和装置
EP0981863A1 (en) Method and apparatus for enhanced performance in a system employing convolutional decoding
US7225392B2 (en) Error correction trellis coding with periodically inserted known symbols
US20190132077A1 (en) Enhanced Decoding of Coded Sequences with Structured Data
KR101426557B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서데이터 송수신 장치 및 방법
JPH0993295A (ja) 符号化変調装置
KR101411777B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서데이터 송수신 장치 및 방법
Hanif Design of Single Kernel Polar Codes with Exible Lengths

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid