KR20020064199A - 에러 정정 방법 및 장치 - Google Patents

에러 정정 방법 및 장치 Download PDF

Info

Publication number
KR20020064199A
KR20020064199A KR1020020005555A KR20020005555A KR20020064199A KR 20020064199 A KR20020064199 A KR 20020064199A KR 1020020005555 A KR1020020005555 A KR 1020020005555A KR 20020005555 A KR20020005555 A KR 20020005555A KR 20020064199 A KR20020064199 A KR 20020064199A
Authority
KR
South Korea
Prior art keywords
rate
data
initial state
frame
setting
Prior art date
Application number
KR1020020005555A
Other languages
English (en)
Other versions
KR100484555B1 (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 KR20020064199A publication Critical patent/KR20020064199A/ko
Application granted granted Critical
Publication of KR100484555B1 publication Critical patent/KR100484555B1/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
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • 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
    • H03M13/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/413Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi decoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명의 컨볼루션 부호기(convolution encoder)(112)는 전송 속도(transmission rate)(예컨대, 프레임 속도)를 입력으로서 갖는 제어기(201)를 포함한다. 제어기는 현재 사용되고 있는 전송속도에 기초한 초기 상태로 부호기(112)를 초기화한다. 복호화시에, 복호기(decoder)(300)는 프레임 속도(frame rate)에 기초한 초기 및 최종 상태를 갖는 트렐리스도(Trellis diagram)를 사용한다.

Description

에러 정정 방법 및 장치{Method and apparatus for error correction}
본 발명은 일반적으로는 통신 시스템에 관한 것이고, 특히 그러한 통신 시스템에서의 에러 정정의 방법 및 장치에 관한 것이다.
코드 분할 다중 접속(CDMA)방식 그리고 다른 통신 시스템 타입에 있어서, 음성 또는 데이터와 같은 통신 정보는, 예를 들어, 무선 전화와 기지국과 같은 통신 자원들 사이에서 통신 채널상에서 운반된다. Interim Standard IS-95B에 따른 통신 시스템에 기초한 CDMA와 같은 광대역 확산 스팩트럼(broadband spread spectrum) 통신 시스템에서는 통신 채널을 규정하기 위해 확산 부호(spreading code)가 사용된다.
CDMA 시스템들은 사용자 정보를 가변 속도들로 전송할 수 있는 능력을 가지고 있다. 예를 들어 음성 통화에 있어서, 각각의 음성 프레임의 데이터 속도(data rate)는 음성 활동에 기초하여 가변된다. 사용자가 말하고 있을 때에는 압축된(compressed) 음성 정보가 보통 최고 속도(full rate)로 보내어 진다. 단어들과 문장들 사이에서는 데이터 속도가 보통 1/8 속도(eighth rate)로 감소된다. 전이들을 진정시키기 위해 또는 신호화 정보(signaling information)의 멀티플랙싱(multiplexing)을 고려하거나 시스템 능력의 증가를 위한 경우와 같이 데이터 속도 감소가 요구될 때에, 음성에 대해 1/2 속도(half rate)와 1/4 속도(quarter rate)들이 또한 사용된다. 데이터 서비스 콜(data service call)에서는 사용자 요구 정보의 데이터 속도에 기초하여 최고 속도, 1/2, 1/4, 1/8 속도(full, half, quarter, eighth rate) 프레임들이 선택될 수 있다.
CDMA 통신 시스템에서 수신기는 수신된 프레임의 데이터 속도를 미리 알지 못한다. 수신기는 프레임이 전송된 가능한 프레임 속도를 결정하기 위해, 허용될 수 있는 프레임 속도들 각각에 대해 복호화 메커니즘을 적용하고 수신된 데이터 프레임들의 어떤 특성들을 조사해야만 한다. 보통 적용되는 특성들은 SER(Symbol Error Rate), CRC(Cyclic Redundancy Check) 확인, 비터비 복호기 품질 비트들(Viterbi decoder Quality bits) 등이 있다. SER은 컨볼루션 복호화에 의해 회복된 정보 시퀀스(sequence)를 재부호화하고 수신된 심볼(symbol)과 다른 것으로 발견된 재부호화된 채널 심볼의 수를 축적하므로써 얻어진, 컨볼루션 부호화된 데이터에 있어서 심볼 에러들 수의 평가지표이다. 어떤 프레임 속도 즉, IS-95에 대한 최고 속도, 1/2 속도(full, half rate)들은 CRC 코드워드(codeword)에 의해서 보호된다. 이들은 데이터에 대해 축퇴 순환 부호화(degenerate cyclic coding) 타입을 수행하므로써 전송기에 의해 생성된다. 결과적인 CRC는 데이터와 함께 컨볼루션 부호화되고 전송된다. 수신기 또한 컨볼루션 복호화된 수신 데이터의 CRC를 생성한다. 그리고 그것을 전송기에 의해 첨부된 CRC와 비교한다. 비터비 복호기(Viterbi decoder)는 컨볼루션 복호화에 전형적으로 사용된다. 비터비 복호기는 때때로 데이터 시퀀스(data sequence)외에 복호화된 시퀀스가 유효 데이터 시퀀스(valid data sequence)로부터 과도하게 벗어났는지 여부를 가리키는 품질 비트 표시(Quality bit indication)를 제공한다.
전송기에 의해 어떤 속도로 채용되었는지에 대한 결정은 통상 수신기의 RDA(속도 결정 알고리즘 : Rate Determination Algorithm)에 의해 수행된다. 비록 RDA가 통상 프레임 속도간의 구분을 잘 하지만 여전히 부정확한 판단(falsing)을 범할 가능성이 있다. 예를 들어, 1/8속도(eighth rate) 프레임으로 전송된 프레임이 최고 속도(full rate) 프레임으로 수신기에 의해 잘못 해석될 수 있다. 이러한 잘못 결정된 속도들의 효과는 치명적일 수 있다. 때때로 음성 통화에 있어 소리 위조, 데이터 콜(data call)에 있어 데이터 처리량의 감소로 이어질 수 있다.
IS-95에 사용되는 FEC(Forward Error Correcting)프로토콜은 부정확한 판단을 야기할 수 있다고 여겨지고 있다. 특히 FEC 기술은 전송된 서브속도(sub-rate) 프레임과 이와 가능한한 가장 가까운 최고 속도(full rate) 프레임과의 사이에 적정한 부호 거리(code distance)를 제공하는 데 있어 바람직하지 않은 것으로 여겨지고 있다. 예를 들면, 침묵의 경우 CDMA 시스템에서 사용되는 EVRC(Enhanced Variable Rate Codec)는 16비트 1/8속도 프레임 0740H로 집중되고 이 프레임을 계속 반복하는 것으로 관찰되었다. IS-95 FEC 설계의 시뮬레이션은 1/8속도(eighth rate) 컨볼루션 부호기와 데이터 리피터(data repeater)를 통과할 때 1/8속도가 매우 낮은 SER로, 최대 속도 복호기(full rate decoder)에 의해 복호화될 수 있음을 보여 주었다. 부호화된 프레임이 파워 컨트롤 비트(power control bit)에 의해 천공(punctured)되고 공중 인터페이스상에서 몇몇 비트 에러가 발생한 경우, CRC가 또한 이를 통과시킬 수 있음이 관찰되었다. 따라서, 통신 시스템상에서 부정확한 판단을 줄여주는 FEC에 대한 어떤 방법과 장치의 필요성이 요구된다.
도 1은 본 발명의 바람직한 실시예에 따른 전송기의 블록 다이아그램.
도 2는 본 발명의 바람직한 실시예에 따른 도 1의 컨볼루션 부호기의 블록 다이아그램.
도 3은 본 발명의 바람직한 실시예에 따른 복호기의 블록 다이아그램.
도 4는 본 발명의 바람직한 실시예에 따른 트렐리스 다이아그램의 예시도.
도 5는 본 발명의 바람직한 실시예에 따른 도 1의 컨볼루션 부호기의 동작을 보여주는 플로우 차트(flow chart).
도 6은 본 발명의 바람직한 실시예에 따른 테일 비트(tail bit)의 부가를 예시하는 도면.
도 7은 본 발명의 바람직한 실시예에 따른 도 3의 복호기의 동작을 보여주는 플로우 차트.
<도면의 주요 부분에 대한 부호의 설명>
100 : 기지국 108 : 채널 멀티플렉서
112 : 컨볼루션 부호기 120 : 인터리버
124 : 롱 코드 스크램블러 128 : 직교 부호기
134 : 변조기 136 : 안테나
201 : 제어기 300 : 컨볼루션 복호기
305-311 : 복호기 313 : 속도 결정기
통신 시스템에 있어서 FEC(forward error correction)의 필요성을 검토하기 위해서 여기에서 컨볼루션 부호기/복호기가 제공된다. 컨볼루션 부호기는 전송 속도(가령, 프레임 속도)를 입력으로 갖는 제어기를 포함한다. 제어기는 현재 사용중인 전송 속도에 기초한 초기 상태로 부호기를 초기화한다. 복호화시에 복호기는 프레임 속도에 기초한 초기 및 최종 상태를 가지고 있는 트렐리스 다이아그램을 사용한다.
부호기의 초기 상태는 모든 가능한 데이터 속도에 따라서 다르기 때문에 부정확한 판단의 가능성이 크게 줄어든다. 특히, 어떤 하나의 전송 속도에 대한 유효 부호화 시퀀스(valid encoded sequence)와 또다른 전송 속도에 대한 유효 부호화 시퀀스 사이에 해밍거리(hamming distance)는 눈에 띄게 증가된다. 이러한 해밍거리의 증가는 프레임을 올바르게 복호화할 가능성을 개선한다.
본 발명은 통신 시스템에 있어서, 데이터를 부호화하는 방법을 포함한다. 그 방법은 데이터 속도를 수신하고 데이터 속도에 기초한 컨볼루션 부호기의 초기 상태를 세팅(setting)하는 단계들을 포함한다.
본 발명은 추가적으로 통신 시스템의 데이터를 복호화하는 방법을 포함한다. 그 방법은 데이터를 수신하고 데이터 속도에 기초한 트렐리스 다이아그램의 초기상태를 세팅하고 데이터를 복호화하기위해 트렐리스 다이아그램을 사용하는 단계들을 포함한다.
본 발명은 추가적으로 전송 속도를 입력으로 하고 그 전송 속도에 기초하여 부호기의 초기상태를 출력하는 제어기를 포함하는 컨볼루션 부호기를 포함한다.
본 발명은 추가적으로 전송 속도에 기초한 초기 및 최종 상태를 가지고 있는 트렐리스 다이아그램을 사용하는, 입력 데이터를 복호화하는 수단을 포함하는 장치를 포함한다.
도면을 살펴보면, 도면에서의 숫자들은 각각 같은 요소들을 의미한다. 도 1은 본 발명의 바람직한 실시예에 따른 기지국(100)의 블록선도이다. 본 발명의 바람직한 실시예에 있어서, 기지국(100)은 전자 산업 조합 및 원격 통신 산업 조합 임시 표준 95C(Electronic Industry Association/Telecommunication Industry Association Interim Standard 95C : TIA/EIA/IS-95C)의 셀룰러 시스템 원격 유닛-기지국 호환성 표준(Cellular System Remote unit-Base Station Compatibility Standard)에 기술된 것과 같이 직접-시퀀스 CDMA 시스템 프로토콜을 사용한다. 그러나 다른 대체 실시예들에서, 통신 시스템은 이와 다른 디지털 이동통신 시스템프로토콜을 사용한다. 물론 이에 한정되는 것은 아니지만 가령 UMTS Wideband cdma SMG2 UMTS Physical Layer Expert Group Tdoc SMG2 UMTS-L1 222/98(UMTS 222/98)에 기술된 것과 같은 차세대 CDMA 아키텍처, CDMA2000 International Telecommunication Union-Radiocommunication(ITU-R) Radio Transmission Technology(RTT) Candidate Submission document에 기술된 것과 같은 차세대 CDMA 아키텍처, "Personal Station-Base Station Compatibility Requirements for 1.8 to 2.0 GHz CDMA Personal Communication Systems"(ANSI J-STD-008:American National Standards Institute J-STD-008)에 기술된 것과 같은 CDMA 시스템 프로토콜, European Telecommunications Standard Institute(ETSI) Wideband CDMA(W-CDMA)프로토콜등이 있다. 본 발명은 또한 정보를 전달하기위해 코드 선택(code selection) 기술을 사용하는 직접 시퀀스 확산 스펙트럼(direct sequence spread spectrum) 시스템에 적용된다. 예를 들면, 사용자 정보는 n보다 큰 복수N개의 직교 파형(orthogonal waveform)으로부터 복수n개의 직교 파형의 특정 선택을 통해 전송된다. 본 발명은 이러한 통신 시스템의 순방향과 역방향 전송경로 둘 모두에 적용된다.
동작중에 신호(106)는 채널 멀티플랙서(channel multiplexer)(108)에 의해 특정 비트 속도(bit rate : 가령 8.6kbit/second)로 수신된다. 입력 트래픽 채널 데이터 비트(Input traffic channel data bit)(106)는 통상 보코더(vocoder)에 의해 데이터로 변환된 음성, 순수 데이터(pure data), 또는 그 두 타입의 데이터의 조합을 포함한다. 채널 멀티플랙서(108)는 트래픽 채널 데이터(traffic channeldata)(106)상에 이차 트래픽(secondary traffic)(가령, 데이터, 테일 비트들..등등)과/또는 신호화 트래픽(signaling traffic)(가령, 제어 또는 사용자 메시지)을 멀티플랙싱하고 멀티플랙싱된 데이터(110)를 컨볼루션 부호기(112)를 통해 9.6kbit/second로 출력한다. 컨볼루션 부호기(112)는 정해진 부호화 속도로, 후속하는 데이터 심볼(data symbol)에서 데이터 비트(data bit)로의 최대 가능성 복호화(maximum likelihood decoding)를 촉진시키는 부호화 알고리즘을 통해, 입력 데이터 비트(110)를 데이터 심볼로 부호화한다(가령, 컨볼루션 또는 블록 코딩 알고리즘). 예를 들면, 컨볼루션 부호기(112)가 9.6kbit/second 속도로 수신된 입력 데이터 비트(110)를 정해진 부호화 속도인 1 데이터 비트를 2 데이터 심볼로(즉 1/2 비율)부호화하여 데이터 심볼(114)을 19.2ksymbol/second 속도로 출력하게 된다.
그런 다음 데이터 심볼(114)은 심볼 리피터(symbol repeater)(116)에 입력된다. 심볼 리피터에서 각각의 심볼들은 그들의 전송 속도(가령 최고, 1/2, 1/4, 1/8 속도)에 따라서 반복(repeated)된다. 반복된 심볼들(118)은 리피터(116)를 나와서 인터리버(interleaver)(120)에 들어간다. 인터리버(120)는 그 심볼 레벨(symbol level)에서 입력 심볼들(118)을 인터리빙(interleaving) 한다. 인터리버(120)에서 데이터 심볼들(118)은 미리 결정되어 있는 사이즈의 데이터 심볼(118) 블록으로 정의된 매트릭스로 각각 입력된다. 데이터 심볼들(118)은 한 열씩(in a column by column manner) 매트릭스안의 위치에 채워진다. 데이터 심볼들(118)은 매트릭스가 한 행씩(in a row by row manner) 비워지도록 매트릭스의 위치들로부터 각각 출력된다. 통상, 매트릭스는 열의 수와 같은 행의 수를 갖는 정방행열이다. 그러나, 연속적으로 입력된 인터리빙되지 않은 데이터 심볼들(input non-interleaved data symbols) 사이에 출력된 인터리빙 거리(output interleaving distance)를 늘이기 위해 다른 매트릭스 형이 선택될 수도 있다. 인터리빙된 데이터 심볼들(Interleaved data symbols)(122)은 그들이 입력된 것과 동일한 데이터 심볼 속도(data symbol rate)로 인터리버(120)에 의해 출력된다. 매트릭스에 의해서 규정되는 데이터 심볼 블록의 미리 결정되는 사이즈는 미리 결정된 길이 전송 블록(length transmission block)과 미리 결정된 심볼 속도로 전송될 수 있는 데이터 심볼의 최대 숫자로부터 유도된다. 예를 들어, 만일 미리 결정된 전송 블록의 길이가 20 밀리초(20 milliseconds)라면 미리 결정된 사이즈의 데이터 심볼들 블록은 19.2 킬로심볼/초(19.2 ksymbol/second) 곱하기 20 밀리초(20 milliseconds)가 되어 384 데이터 심볼들(384 data symbols)이 되며 이는 16 * 24의 매트릭스가 된다.
인터리빙된 데이터 심볼(122)은 심볼들(122)을 롱 코드(long code)로 스크램블(scramble)되게하는 롱 코드 스크램블러(long code scrambler)(124)로 입력된다. 스크램블된 심볼들(scrambled symbols)(126)은 직교 부호기(orthogonal encoder)(128)로 들어간다. 직교 부호기(128)는 각각의 인터리빙되고 스크램블된 데이터 심볼(interleaved and scrambled data symbol)(126)에 직교 부호(orthogonal code : 가령, 64-ary Walsh code)를 모듈로 2 덧셈(modulo 2 addition)한다. 예를 들어, 64-ary 직교 부호화(64-ary orthogonal encoding)에서 인터리빙되고 스크램블된 데이터 심볼들(interleaved and scrambled datasymbols)(126)은 각각 64 심볼 직교 부호(64 symbol orthogonal code) 또는 그 역으로 대체된다. 이러한 64 직교 부호들은 왈시 코드(Walsh code)가 매트릭스의 행 또는 열인 64 * 64 하다마드 매트릭스(64 by 64 Hadamard matrix)의 왈시 코드에 바람직하게 대응한다. 직교 부호기(orthogonal encoder)(128)는 정해진 심볼 속도로 (가령, 19.2ksymbol/second) 입력 데이터 심볼(126)에 대응하는 왈시 코드 또는 그 역을 반복해서 출력한다.
왈시 코드들의 시퀀스(sequence of Walsh codes)(130)는 한 쌍의 쇼트 의사랜덤 코드(short pseudorandom code)(132)(long code에 비교할 경우 short)에 의해 I-channel 및 Q-channel 부호 확산 시퀀스(code spread sequence)를 발생시키기위해 스크램블(scrambled)된다. I-channel 과 Q-channel 부호 확산 시퀀스가 사인파 쌍의 파워 레벨 제어(power level control)를 조정하므로써 직교(quadrature) 사인파 쌍을 바이-페이즈 변조(bi-phase modulate)하기 위하여 사용된다. 그 사인파 출력 신호는 채널 데이터 비트(channel data bit)(110)의 전송을 완성하기위해 합해지고, 대역 통과 필터링되고, RF 주파수로 번역되고, 증폭되고, 변조기(134)에의해 필터링되고, 그리고 안테나(136)에 의해 발산된다.
도 2는 본 발명의 바람직한 실시예에 따른 컨볼루션 부호기(112)의 블록 다이아그램이다. 부호기(112)의 메모리는 v-bit 이진수 X= x0x1...xv-1으로 표현되는 상태로 특징지워진다. 매 m 입력 비트에 대해 부호기는 m 입력, v 상태 비트(state bit)에 기초한 n 비트를 출력한다. 그리고 나서 다음 상태로 전환된다. 특히 부호기로 들어가는 매 비트는 극좌측(leftmost) 메모리 위치에 저장되고 모든 이전 저장 비트들은 오른쪽으로 이동된다. 매 비트 타임에 두 연산(g0, g1)이, 보여진 바와 같이, 지정된 쉬프트 레지스터(specified shift register)의 내용들을 배타적 'OR'연산(exclusive OR)을 함으로써 행해진다.
본 발명의 바람직한 실시예에서 부호기(112)는 전송 속도(이를테면 프레임 속도)를 입력으로 갖는 제어기(201)를 포함한다. 제어기(201)는 현재 사용중인 전송 속도에 기초를 둔 초기 상태로 부호기(112)를 초기화한다. 특히 선행 기술의 부호기들(prior-art encoders)은 통상 올-제로(all-zero)상태, 즉 X=0000...0 으로 초기화된다. 본 발명의 바람직한 실시예에서 서로 다른 초기 상태가 각각의 전송 속도에 대해 사용된다. 예를 들어, 한 실시예에서 길이(length)가 K=9인 IS2000 컨볼루션 부호기는 선택 가능한 2(k-1)개의 상태를 가지고 있다. 부호기(112)는 최고 속도(full rate)에 대해서 X=01010111로 초기화되고, 1/2 속도(half rate)에 대해서는 X=10101010으로, 1/4 속도(quarter rate)에 대해서는 X=01100110으로, 1/8 속도(eighth rate)에 대해서는 X=10101011로 초기화 된다. 테일 비트는 부호기(112)를 이미 알고 있는 최종 상태로 귀환시키기 위해, 멀티플렉서(multiplexer)(108)에 의해 각각의 데이터 프레임(data frame) 끝에 삽입된다. 특히, 테일 비트는 데이터 속도에 따른 상태로 부호기(112)를 "체인 백"("chain back")시키기 위해 더하여 진다. 바람직한 실시예에서 최종 상태는 초기 상태와 동일하다. 그러나, 대체적인 어떤 실시예에서는 최종 상태가 초기 상태와 다른 상태일 수도 있다.
부호기의 초기상태가 모든 가능한 데이터 속도에 따라 다르기 때문에 부정확한 판단(falsing)의 가능성이 크게 줄어든다. 특히, 해밍 거리는 어떤 하나의 전송 속도에 대한 유효 부호화 시퀀스와 또다른 전송 속도에 대한 유효 부호화 시퀀스 사이에 눈에 띄게 증가된다. 이러한 해밍 거리의 증가는 프레임을 올바르게 복호화할 가능성을 개선한다.
도 3은 본 발명의 바람직한 실시예에 따른 컨볼루션 복호기(300)의 블록 다이아그램이다. 전송된 신호의 데이터 속도는 미리 알려지지 않기 때문에 복호기는 데이터를 복호화하는 것과 적당한 데이터 속도를 결정하는데에 몇개의 복호기(305-311)를 사용한다. 특히, 전송기에 의해 어떤 속도가 채용되었는지에 대한 결정은 통상 RDA(Rate Deternimation Algorithm)를 사용하는 수신기의 속도 결정기(rate determiner)(313)에 의해 수행된다. 복호기들(305-311)은 매트릭스들, 또는 복호화 특성들(decoding characteristics)을 결정기(determiner)(313)에 전달하고 결정기(313)는 어떤 속도로 수신된 프레임이 전송되었는지 그리고/또는 그 프레임이 사용 가능한 것인지 여부를 판단하기 위해 각 복호기들(305-311)로부터의 복호화 특성들을 사용한다. 만일 그 프레임이 너무 많은 비트 에러를 포함하거나 그것의 속도를 결정할 수 없다면 그 프레임은 삭제 부분(erasure)으로 선언된다. RDA는 통상 속도를 결정하기 위해 따라야 할 일련의 규칙들을 가지고 있다. 이를 테면, 그러한 규칙들은 다음과 같을 수 있다.
IF CRCfull== TRUE AND SERfull<= SERfullthreshold
THEN FRAME_RATE=FULL
IF CRCfull== FALSE AND SERfull> SERfullthreshold
AND CRChalf== FALSE AND SERhalf> SERhalfthreshold
AND SEReighth< SEReighththreshold
THEN FRAME_RATE=EIGHTH
여기서,
CRCx는 특정 속도에 대한 CRC(Cyclic Redundancy Check)결과이고,
SERx는 특정 속도에 대한 SER(Symbol Error Rate)이고,
SERxthreshold는 SERx비교 문턱치(comparison threshold)이다.
다양한 전송 속도의 데이터를 복호화 함에 있어서, Digital Communications Fundamentals and Applications, N.J., Prentice Hall, 1988에 기술되어 있다시피 비터비 알고리즘(Viterbi Algorithm)이 사용된다. 특히, 각각의 복호기(이를 테면, 1/8속도, 1/2속도, 그리고 최고 속도 복호기들)는 들어오는 데이터를 복호화 하기 위해서 비터비 알고리즘을 사용한다. 비터비(Viterbi)에 의해 제공되었다시피 트렐리스 다이아그램이 복호화를 단순화하기 위해 사용된다. 단순화된 트렐리스 다이아그램이 도 4에 보여지고 있다. 그 기술에 있어서 통상의 기술 중 하나가 인정하다시피, 패스(path) 매트릭스는 트렐리스 다이아그램에 의해 어떤 초기 상태에서 어떤 최종 상태로 결정된다. 본 발명의 바람직한 실시예에서 트렐리스 다이아그램의 초기 및 최종 상태는 전송 속도에 기초를 두고 있다. 예를 들어, 어떤 한 실시예에서 길이(length)가 K=9인 IS2000 컨볼루션 부호기는 선택할 수 있는 2(K-1)개의 상태를 가지고 있다. 복호기들(305-311)은 최고 속도(full rate)인 경우 X=01010111, 1/2 속도(half rate)인 경우 X=10101010, 1/4 속도(quarter rate)인 경우 X=01100110, 그리고 1/8 속도(eighth rate)인 경우 X=10101011이다.
도 5는 본 발명의 바람직한 실시예에 따른 도 1의 컨볼루션 부호기의 동작을 보여주는 플로우 차트이다. 논리 흐름은 전송 속도에 따라서 데이터(106)가 채널 멀티플렉서(channel multiplexer)(108)로 들어가는 과정 501에서 시작한다. 본 발명의 바람직한 실시예에서 채널 멀티플렉서는 컨볼루션 부호기(112)를 초기 상태로 "체인 백"("chain back")하기 위해서 채널 데이터(channel data)에 테일 비트를 덧붙인다(과정 503). 위에서 살펴본 것처럼 테일 비트는 전송 속도(가령, full, half, quarter, 또는 eighth rate)에 의존하는 v-bit 이진수 X= x0x1...xv-1이다. 그러한 테일 비트는 도 6에 예시되어 있다. 보다시피 테일 비트 10101010은 데이터에 덧붙여져 있다.
계속해서, 과정 505에서 멀티플렉싱된 데이터(110)는 컨볼루션 부호기(112)에 들어간다. 컨볼루션 부호기(112)는 위에서 살펴본 멀티플렉싱된 데이터를 컨볼루션 부호화한다. 특히, 과정 507에서 전송 속도가 컨볼루션 부호기(112)에 들어간다. 제어기(201)는 전송 속도를 분석하고 전송 속도에 기초한 초기 상태를 선택한다(과정 509). 과정 511에서, 통상의 CDMA 채널 프로세싱(normal CDMA channel processing)이 일어난다.
위에서 살펴본 것처럼, 부호기(112)의 초기상태는 모든 가능한 데이터 속도에 대해 다르기 때문에 부정확한 판단(falsing)의 가능성이 크게 줄어든다. 특히, 어떤 하나의 전송 속도에 대한 유효 부호화 시퀀스와 또다른 전송 속도에 대한 유효 부호화 시퀀스 사이의 해밍 거리는 눈에 띄게 증가한다. 이러한 해밍 거리의 증가는 프레임을 올바르게 복호화하는 가능성을 개선한다.
도 7은 본 발명의 바람직한 실시예에 따른 도 3의 컨볼루션 복호기(300)의 동작을 보여주는 플로우 차트이다. 논리 흐름은 1/8 속도 복호화 과정(8thrate decoding procedure)을 이용하는 복호기(311)를 통해 데이터가 복호화되고, SEReighth가 결정되는 과정 701에서 시작된다. 특히, 복호기(311)는 SEReighth를 결정하기 위해 첫번째 시작 상태(first beginning state)와 첫번째 종료 상태(first ending state)(가령, 10101011)를 가진 트렐리스 다이아그램을 사용한다. 과정 703에서 SEReighth는 RDA로 보내어 진다. 과정 705에서 데이터는 CRChalf와 SERhalf를 결정하기 위해서 1/2속도 복호화 과정(half rate decoding procedure)을 사용하는 복호기(307)를 통해 복호화된다. 특히, CRChalf와 SERhalf를 결정하기 위해 두번째 시작 상태(second beginning state)와 두번째 종료 상태(second ending state)(가령,01100110)를 갖는 트렐리스 다이아그램이 사용된다. 과정 707에서CRChalf와 SERhalf는 RDA로 전달된다. 과정 709에서 데이터는 CRCfull와 SERfull을 결정하기 위해서 최고 속도 복호화 과정(full rate decoding procedure)을 사용하는 복호기(305)를 통해 복호화된다. 특히, CRCfull과 SERfull을 결정하기 위해 최고 속도에만(가령, 01010111) 사용되는 세번째 시작 상태(third beginning state)와 세번째 종료 상태(third ending state)를 가지고 있는 트렐리스 다이아그램이 사용된다. 과정 711에서 CRCfull과 SERfull은 결정기(313)로 운반된다. 과정 713에서 결정기(313)는 RDA를 사용하여 적당한 데이터 속도를 결정한다.
위에서 살펴본 것처럼, 부호기(112)의 초기상태는 모든 가능한 데이터 속도에 대해 다르기 때문에 부정확한 판단(falsing)의 가능성이 크게 줄어든다. 특히, 어떤 하나의 전송 속도에 대한 유효 부호화 시퀀스와 또다른 전송 속도에 대한 유효 부호화 시퀀스 사이의 해밍 거리는 눈에 띄게 증가한다. 이러한 해밍 거리의 증가는 프레임을 올바르게 복호화하는 가능성을 개선한다.
본 발명이 특정 실시예에 기해 특정되어 보여지고 기술되는 동안에, 그 발명의 정신과 범위를 벗어남이 없이 그 안에서 형태 및 세부적인 사항들에 있어서 다양한 변화들이 이루어질 수 있음이 그 분야의 숙련된 사람들에 의해 이해되어질 수 있을 것이다. 예를 들어, 위에서 기술된 부호기/복호기는 기반 시설물(가령, 기지국) 또는 이동 유닛들(mobile units) 모두에 존재될 수 있을 것이다. 덧붙여서,서로 다른 RDA들이 데이터 속도를 결정하기 위해 사용될 수 있을 것이다. 끝으로, 본 발명의 바람직한 실시예가 모든 가능한 데이터 속도에 대해 각기 다른 초기 상태를 갖는 것으로 위에서 기술되었다고 하더라도 모든 가능한 프레임 속도의 수 이하에 대해서만 서로 다른 초기 상태를 가지도록 선택할 수도 있다. 그러한 변화 사항들은 다음의 청구범위내에 오도록 의도되어진다.

Claims (10)

  1. 통신 시스템에서 데이터를 부호화하는 방법에 있어서,
    데이터 속도를 수신하는 단계, 및
    그 데이터 속도에 기초하여 컨볼루션 부호기의 초기 상태를 세팅하는 단계를 포함하는 데이터 부호화 방법.
  2. 제1항에 있어서,
    데이터 속도를 수신하는 단계는,
    최고 속도, 1/2 속도, 1/4 속도, 그리고 1/8 속도로 이루어진 그룹으로부터 데이터 속도를 수신하는 단계를 포함하는 데이터 부호화 방법.
  3. 제1항에 있어서,
    데이터 속도에 기초하여 컨볼루션 부호기의 초기 상태를 세팅하는 단계는,
    모든 가능한 데이터 속도들에 대해 서로 다른 부호기의 초기 상태를 세팅하는 단계를 포함하는 데이터 부호화 방법.
  4. 제1항의 방법에 있어서,
    데이터 속도에 기초한 컨볼루션 부호기를 가지고 데이터를 부호화하는 단계를 포함하는 데이터 부호화 방법.
  5. 통신 시스템에서 데이터를 복호화하는 방법에 있어서,
    데이터를 수신하는 단계,
    데이터 속도에 기초한 트렐리스 다이아그램의 초기 상태를 세팅하는 단계, 및
    그 데이터를 복호화하는 트렐리스 다이아그램을 사용하는 단계를 포함하는 데이터 복호화 방법.
  6. 제5항에 있어서,
    데이터 속도에 기초한 트렐리스 다이아그램의 최종 상태를 세팅하는 단계를 포함하는 데이터 복호화 방법.
  7. 전송 속도에 기초한 초기 상태 및 최종 상태를 갖는 트렐리스 다이아그램을 이용하는, 입력 데이터를 복호화하는 수단을 포함하는 장치.
  8. 제7항의 장치에 있어서,
    전송 속도가 프레임 속도인 장치.
  9. 제8항의 장치에 있어서,
    프레임 속도가 최고 속도, 1/2속도, 1/4속도, 1/8속도 프레임들로 이루어진그룹으로 부터의 프레임 속도인 장치.
  10. 제9항의 장치에 있어서,
    초기 상태가 모든 가능한 속도들에 대해 서로 다른 장치.
KR10-2002-0005555A 2001-01-31 2002-01-31 에러 정정 방법 및 장치 KR100484555B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/774,893 US7003045B2 (en) 2001-01-31 2001-01-31 Method and apparatus for error correction
US09/774,893 2001-01-31

Publications (2)

Publication Number Publication Date
KR20020064199A true KR20020064199A (ko) 2002-08-07
KR100484555B1 KR100484555B1 (ko) 2005-04-22

Family

ID=25102609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0005555A KR100484555B1 (ko) 2001-01-31 2002-01-31 에러 정정 방법 및 장치

Country Status (3)

Country Link
US (1) US7003045B2 (ko)
KR (1) KR100484555B1 (ko)
CN (1) CN1369980B (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020829B2 (en) 2002-07-03 2006-03-28 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
ES2427179T3 (es) * 2002-07-03 2013-10-29 Dtvg Licensing, Inc Codificación de los códigos de comprobación de paridad de baja densidad
US7577207B2 (en) * 2002-07-03 2009-08-18 Dtvg Licensing, Inc. Bit labeling for amplitude phase shift constellation used with low density parity check (LDPC) codes
US7864869B2 (en) * 2002-07-26 2011-01-04 Dtvg Licensing, Inc. Satellite communication system utilizing low density parity check codes
US20040019845A1 (en) * 2002-07-26 2004-01-29 Hughes Electronics Method and system for generating low density parity check codes
US7023880B2 (en) * 2002-10-28 2006-04-04 Qualcomm Incorporated Re-formatting variable-rate vocoder frames for inter-system transmissions
CN101341659B (zh) 2004-08-13 2012-12-12 Dtvg许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
JP5041715B2 (ja) * 2006-03-15 2012-10-03 富士通株式会社 周波数分割多重送受信装置及びその方法
KR101609367B1 (ko) * 2009-06-29 2016-04-20 삼성전자주식회사 플래시 메모리 시스템 및 플래시 메모리의 프로그래밍 방법
US8745474B2 (en) * 2010-07-30 2014-06-03 Michael Anthony Maiuzzo Method and apparatus for determining bits in a convolutionally decoded output bit stream to be marked for erasure
US8583996B2 (en) * 2010-07-30 2013-11-12 Michael Anthony Maiuzzo Method and apparatus for determining bits in a convolutionally decoded output bit stream to be marked for erasure
JP5648440B2 (ja) * 2010-11-22 2015-01-07 ソニー株式会社 データ処理装置、及び、データ処理方法
EP2688211A4 (en) * 2011-07-29 2014-08-06 Huawei Tech Co Ltd NESTING AND NESTING METHODS, NESTING AND DECORATING
US9571232B2 (en) * 2014-03-14 2017-02-14 Huawei Technologies Co., Ltd. System and method for faster than Nyquist transmission

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978414A (en) * 1996-07-03 1999-11-02 Matsushita Electric Industrial Co., Ltd. Transmission rate judging unit
US6064663A (en) * 1996-09-10 2000-05-16 Nokia Mobile Phones Limited Cellular CDMA data link utilizing multiplexed channels for data rate increase
US5751725A (en) * 1996-10-18 1998-05-12 Qualcomm Incorporated Method and apparatus for determining the rate of received data in a variable rate communication system
US6496543B1 (en) * 1996-10-29 2002-12-17 Qualcomm Incorporated Method and apparatus for providing high speed data communications in a cellular environment
KR19980075613A (ko) * 1997-03-31 1998-11-16 배순훈 트렐리스 디코더의 경로 메트릭 네트워크 장치
JPH11163962A (ja) * 1997-11-25 1999-06-18 Toshiba Corp 可変レート通信システム、送信装置および受信装置
US6097716A (en) * 1997-12-12 2000-08-01 Lucent Technologies Inc. Rate detection for multi-rate communications
US6510536B1 (en) * 1998-06-01 2003-01-21 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Reduced-complexity max-log-APP decoders and related turbo decoders

Also Published As

Publication number Publication date
US7003045B2 (en) 2006-02-21
US20020141507A1 (en) 2002-10-03
CN1369980A (zh) 2002-09-18
KR100484555B1 (ko) 2005-04-22
CN1369980B (zh) 2010-09-29

Similar Documents

Publication Publication Date Title
RU2212102C2 (ru) Устройство и способ канального кодирования для согласования скорости передачи
KR100429506B1 (ko) 통신시스템의 채널부호/복호장치 및 방법
JP3795743B2 (ja) データ伝送方法、データ伝送システム、送信装置および受信装置
KR100484555B1 (ko) 에러 정정 방법 및 장치
US6430721B2 (en) Method for decreasing the frame error rate in data transmission in the form of data frames
JP3825750B2 (ja) 畳み込みエンコード化ビットを変調前にシンボルに割り当てる方法およびシステム
JPH09116440A (ja) 誤り訂正符号化装置、誤り訂正復号化装置及び通信システム
KR20000046050A (ko) 이동통신시스템에서 터보 인코더의 펑처링 장치 및 방법
US6490260B1 (en) Transmitter with increased traffic throughput in digital mobile telecommunication system and method for operating the same
US6385752B1 (en) Method and apparatus for puncturing a convolutionally encoded bit stream
KR0145867B1 (ko) 코드분할 다원접속 셀룰라 통신시스템의 단말기 및 송수신데이타 처리방법
US6182260B1 (en) Channel encoding apparatus using single concatenated encoder
KR20000070900A (ko) 확산 스펙트럼 통신 시스템에서 콘볼루션 코드화된 신호를 인터리빙하는 방법
JP4357784B2 (ja) 通信システムにおいてシンボルを拡散する方法および装置
AU2002365790B2 (en) Encoding/decoding apparatus and method in a communication system
US7027518B2 (en) Method and arrangement for providing optimal bit protection against transmission errors
KR100222408B1 (ko) 디지털 이동통신시스템에서의 정보 전송량 증가를 위한송신기 및 방법
KR20060063012A (ko) 통신 시스템에서 성상도 조합을 통한 데이터 전송 장치 및방법
KR20050054405A (ko) 이동통신시스템에서 상이한 전송시간간격들을 가지는채널들을 다중화하는 전송률 정합 방법 및 장치
US7145917B1 (en) Frame matching method and apparatus for use in a communication system
RU2299515C1 (ru) Способ передачи информации с использованием адаптивного помехоустойчивого кодирования
KR20010084832A (ko) 직렬 연쇄 컨벌루션 부호화 장치 및 방법
KR100830492B1 (ko) 부호 비트 펑처링 방법

Legal Events

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

Payment date: 20120329

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130329

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160328

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180330

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190329

Year of fee payment: 15