KR100265674B1 - 인코드된 데이타 스트림에 대한 에러 검출 및 정정시스템 - Google Patents

인코드된 데이타 스트림에 대한 에러 검출 및 정정시스템 Download PDF

Info

Publication number
KR100265674B1
KR100265674B1 KR1019960019952A KR19960019952A KR100265674B1 KR 100265674 B1 KR100265674 B1 KR 100265674B1 KR 1019960019952 A KR1019960019952 A KR 1019960019952A KR 19960019952 A KR19960019952 A KR 19960019952A KR 100265674 B1 KR100265674 B1 KR 100265674B1
Authority
KR
South Korea
Prior art keywords
data
traceback
state
puncture
path
Prior art date
Application number
KR1019960019952A
Other languages
English (en)
Other versions
KR970004374A (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
Priority claimed from US08/480,976 external-priority patent/US5724396A/en
Priority claimed from GB9605190A external-priority patent/GB2302779A/en
Application filed by 데니스 피셸, 디스커비젼 어소우쉬에이츠 filed Critical 데니스 피셸
Publication of KR970004374A publication Critical patent/KR970004374A/ko
Application granted granted Critical
Publication of KR100265674B1 publication Critical patent/KR100265674B1/ko

Links

Classifications

    • 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/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated 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
    • 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/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/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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
    • 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/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • 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/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Detection And Correction Of Errors (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 수신된 데이타의 심볼들의 디코더를 제공하며, 상기 데이타는 콘벌루션 인코딩 방식에 따라 인코드되어 통신 채널을 통해 전송된다. 상기 데이타는 펑쳐링 매트릭스에 따라 펑쳐되며, 상태 천이 시퀀스를 기술하는 복수의 상태값을 갖는다. 디코더는 그의 천이의 메트릭을 계산하기 위해 수신된 데이타를 억셉트하는 발생 유닛을 갖는다. 발생 유닛에 응답하는 선택기는 데이타 스트림의 전송기에 의해 생성된 경우에 대응하는 천이의 경로를 선택한다. 트레이스백 유닛은 선택기의 순차 결정 동작을 나타내는 이력 정보를 보유한다. 카운터는 선택기에 의해 선택된 경로의 불법 상태 천이를 카운트하기 위해 제공되며, 상기 카운터에 응답하여 제어 유닛은 펑쳐 레이트를 결정하고 수신된 데이타의 펑쳐 위상을 조정한다. 디코더는 QPSK 변조된 데이타의 수신에 적합한 VLSI 수신기 회로에서 사용될 수 있다.

Description

인코드된 데이타 스트림에 대한 에러 검출 및 정정 시스템
제1도는 본 발명의 개시 내용을 구현하는 수신기의 일부를 도시한 블럭도.
제2도는 제1도에 도시된 수신기의 타이밍 복원 회로 및 반송파 복원 회로를 도시한 상세 블럭도.
제3도는 제1도에 도시한 타이밍 복원 회로의 상세를 도시한 다른 블럭도.
제4도는 제3도에 도시한 타이밍 복원 회로의 수치 제어 발진기를 도시한 도면.
제5도는 제1도에 도시한 수신기의 DC 제거 회로를 상세히 도시한 블럭도.
제6도는 제5도에 도시한 DC 제거 회로의 일부를 도시한 일부 개략도.
제7도는 제6도에 도시한 DC 제거 회로의 일부를 보다 상세히 도시한 개략 회로도.
제8도는 제7도의 DC 제거 회로에 사용되는 3-스테이지 가산기의 개략 회로도
제9도는 제1도에 도시한 수신기의 반송파 복원 회로의 반송파 복원 루프를 도시한 도면.
제10도는 반송파 복원 회로의 다른 실시예에서 사용되는 적응형 루프 회로를 도시한 도면.
제11도는 제1도에 도시한 수신기의 자동 이득 제어 회로의 블럭도.
제12도는 제11도에 도시한 회로에 의해 생성된 AGC 레벨 및 시그마-델타 변조기 출력의 타임 플롯도.
제13도는 1-스텝 비터비 디코딩 프로세스에 따라 천이 격자 다이어그램을 도시한 도면.
제14도는 본 발명의 양호한 실시예에서 수행되는 비터비 디코딩 프로세스에 따른 천이 격자 다이어그램의 부분도.
제15도는 제1도에 도시된 수신기의 비터비 디코더의 블럭도.
제16도는 제11도에 도시된 자동 이득 제어 회로의 일부의 개략 회로도.
제17도는 제15도에 도시된 비터비 디코더내의 제어 유닛의 개략 회로도.
제18도는 제11도에 도시된 자동 이득 제어 회로의 제어 블럭의 개략 회로도.
제19도, 제20도, 및 제21도는 제17도에 도시된 제어 유닛내의 디코드 논리를 도시한 도면.
제22도는 제15도에 도시된 비터비 디코더의 브랜치 메트릭 발생 블럭의 개략 회로도.
제23도는 제22도의 회로의 일부를 더욱 상세히 도시한 개략 회로도.
제24도는 제23도의 회로내의 계산 유닛의 상세한 개략 회로도.
제25도는 제24도에 도시한 회로에 사용되는 논리적 회로망의 개략 회로도.
제26도는 제23도의 회로의 합산 유닛의 개략 회로도.
제27도는 제15도에 도시한 비터비 디코더의 경로 메트릭 발생 블럭내의 가산-비교-선택 유닛을 도시한 개략 회로도.
제28도는 경로 메트릭의 계산을 도시한 도면.
제29도는 제15도에 도시된 비터비 디코더의 경로 메트릭 발생 블럭내의 가산-비교-선택 유닛을 도시한 부분 블럭도.
제30도는 제27도에 도시된 비터비 디코더의 경로 메트릭 발생 블럭내의 가산-비교-선택 유닛의 일부의 개략 회로도.
제31도는 제15도에 도시한 비터비 디코더의 제어 블럭의 동작 시퀀스를 도시한 흐름도.
제32도는 제31도에 설명한 제어 블럭의 개략 회로도.
제33도는 제15도에 도시한 비터비 디코더내의 트레이스백 유닛의 트레이스백 컬럼의 개략 회로도.
제34도는 제23도에 도시한 트레이스백 유닛의 동작을 설명하는데 사용되는 시뮬레이션의 블럭도.
제35도는 제15도에 도시한 비터비 디코더의 동기 검색 유닛의 동작을 설명하는 상태선도.
제36도는 제35도에 설명된 동기 검색 유닛의 개략적인 논리 회로도.
제37도는 제1도에 도시된 수신기의 디인터리버에 사용되는 랜덤 억세스 메모리의 논리적 구성도.
제38도는 제37도에 표시된 디인터리버의 일부의 개략 회로도.
제39도는 제38도에 도시된 디인터리버의 블럭도.
제40도는 제1도에 도시된 수신기의 중앙 제어 블럭의 블럭도
제41도는 제40도의 회로내의 제어 디코드 블럭의 개략 회로도.
제42도는 제40도의 회로에 사용되는 레지스터를 도시한 개략 회로도.
제43도는 제40도의 중앙 제어 블럭의 상세를 도시한 개략 회로도.
제44도는 제43도에서의 역수 계산 유닛의 개략 회로도
제45도는 제43도내의 비트 에러 레이트 계산 유닛의 개략 회로도.
* 도면의 주요부분에 대한 부호의 설명
2 : 수신기 4 : I, Q 복조기
10 : 타이밍 복원 회로 12 : DC 제거기
28 : 나이키스트 정합 회로
본 발명은 통신 채널로부터 수신된 신호들을 처리하는 것에 관한 것이다.
더욱 상세하게는 본 발명은 비디오, "하이-파이" 오디오, 영상 또는 다른 고 비트 레이트 신호들(high bit rate signals)의 전송에서 사용하기에 적합한 신호 수신용 통합신호 처리 시스템(integrated signal processing system for receiving signals)에 관한 것이다.
채널에서 달성할 수 있는 비트 레이트를 증가시킨 신호 처리 기술의 진보의 결과, 본질적으로 아날로그인 신호를 인코드하여 전송하는 것이 오늘날 점차적으로 증가하고 있다. 그와 동시에, 새로운 데이타 압축 기술들이 아날로그 정보를 적절하게 표시하는데 필요한 대역폭을 줄여가고 있는 상황이다. 현재 디지탈 기술들을 사용하여 케이블 텔레비젼 등의 응용분야에서 비디오 및 오디오 데이타를 더욱 효과적으로 전송하기 위해 노력하고 있는 중이다.
여러가지 변조 기술들이 디지탈 통신에서 사용되어 왔다. 예를 들어, 직각 진폭 변조(quadrature amplitude modulation, QAM)는 비교적 복잡한 기술이지만 디지탈 통신의 실무자들이 선호하는 방법이다. 이 방법은 각 스트림이 직각 관계에 있는 2개의 반송파(two carriers in quadrature) 중 하나를 변조하는 2개의 별개의 심볼 스트림(symbol stream)을 포함하고 있다. QAM은 낮은 신호대 잡음비를 갖는 응용 분야에서 특히 유용하다. 다중 레벨 QAM 포맷도 또한 높은 신호대 잡음비를 갖는 응용 분야에서 스펙트럼 효율을 달성하는데 사용된다. 예를 들어, 64- 및 256-QAM은 케이블 텔레비젼 네트워크에서 5 - 7 비트/초-Hz의 스팩트럼 효율(spectral efficiencies)을 달성할 수 있다.
직각 위상 천이 변조(Quadrature Phase Shift Keying, QPSK)는 일반적인 직각 진폭 변조(Quadrature Amplitude Modulation, QAM) 방식의 특수한 경우를 말하는데, 낮은 신호대 잡음비를 갖는 응용 분야에서 유용하다.
ITU-T는 DVB QPAK 변조 방식을 가정으로의 직접 디지탈 위성 방송에 대한 국제 표준으로서 채택하였다. 유럽에서는, 디지탈 케이블 방송에 대한 DVB 표준에 16-QAM 및 64-QAM을 사용하고 있다. QPSK에서, 각각이 서로 다른 위상 및 일정 진폭을 갖는 4 심볼로 구성되는 신호 성좌(signal constellation)가 전송된다. 이 방식은 다음 식으로 표현된 직각 성분의 합으로서 구현된다:
Am = bejθm
여기서,θm은 {0, π/2, π, 3π/2} 중 어느 하나일 수 있다. 직각 위상 정보(quadrature information)를 보존하기 위하여 양측파대(both sidebands)를 전송할 필요가 있다.
따라서, 본 발명의 주된 목적은 고속 전송에서 콘벌루션 인코드된 데이타(convolutionally encoded data)를 수신하기 위한 장치를 개선하여 에러 정정된 출력 데이타 스트림을 송출(emit)하는 데 있다.
본 발명의 또다른 목적은 위성 방송 전송의 수신을 위한 소형 장치(miniaturized device)를 경제적으로 구현하는 데 있다.
본 발명은 랜덤화되며, 콘벌루션 인터리브되고 펑쳐 레이트로 펑쳐되어 펑쳐위상이 디코더에 의해 정렬되어 있는(randomized, convolutionally interleaved and punctured at a puncture rate and aligned by a decoder in a puncture phase) 직각 위상 천이 변조된 데이타 스트림에 대한 전송 수신 시스템(transmission receiving system)을 제공하는데, 데이타는 심볼 단위로 되어 있고 신호 성좌에서 심볼 레이트로 전송된다. 에러 정정된 데이타 스트림이 상기 시스템에 의해 출력된다. 상기 시스템은 전송된 심볼 레이트로 데이타를 수신하는 I, Q 복조기, I, Q 복조기의 아날로그 출력을 변환하기 위한 아날로그-디지탈 변환기, 및 아날로그-디지탈 변환기로부터 샘플들을 수신하는 싱크 인터리버(sinc interleaver)를 갖고 있다. 타이밍 복원회로(timing recovery circuit)는 주기 T로 동작하는 제1 수치 제어 발진기(numerically controlled oscillator), 상기 인터리버 및 제1 수치 제어 발진기에 결합된 제1 루프 필터(loop filter)를 가지고 있으며, 상기 주기 T와 수신된 심볼 레이트간의 차이에 응답하는 출력을 갖는다. 상기 제1 수치 제어 발진기는 제1 루프 필터에 응답하여 계속되는 샘플들간의 보간 거리(interpolation distance)를 나타내는 신호를 발생한다. 보간기(interpolator)는 상기 보간 거리에 따라 수신된 샘플들을 보간하여, 보간된 샘플들의 값을 나타내는 출력 신호를 생성한다. 나이키스트 정합필터(matched Nyquist filter)는 상기 보간기에 결합되어 있다. I, Q 복조기를 제어하기 위한 반송파 복원 회로는 제2 수치 제어 발진기를 가지고 있다. 디지탈 역회전 회로(digital derotation circuit)는 상기 제2 수치 제어 발진기에 응답하여 샘플링된 신호들의 동위상 성분과 직각 성분을 억셉트(accept)한다. 위상 에러 예측 회로(phase error estimation circuit)는 상기 역회전 회로의 출력에 결합되어 있으며, 제2루프 필터는 상기 위상 에러 예측 회로의 출력에 결합되어 있다. 제2 수치 제어 발진기는 제2 루프 필터에 응답한다. 복조기, 타이밍 복원 회로, 반송파 복원 회로, 필터 및 출력 인터페이스의 상호작용을 제어하기 위한 제2 제어 수단이 제공되어 있다. 심볼들의 신호 성좌를 회전시키기 위한 성좌 회전 유닛, 및 제1 모드와 제2 모드로 동작하는 m-스텝 내부 디코드(m-step inner decoder)가 있다. m-스텝 내부 디코드는 선택된 펑쳐 레이트(selected puncture rate)와 선택된 펑쳐 위상(selected puncture phase)에 대한 브랜치 메트릭(branch metric)을 출력하기 위한 브랜치 메트릭 계산 유닛(branch metric calculation unit)와, 상기 브랜치 메트릭으로부터 도출된 경로 메트릭(path metrics)의 값들을 출력하여 그 값들을 비교하고 최소 값을 선택하는 복수의 가산-비교-선택 블럭들(add-compare-select blocks)을 포함하고 있다. 리스케일링 유닛(rescaling unit)은 상기 최소값에 따라 상기 출력들을 리스케일링하기 위하여 상기 가산-비교-선택 블럭들의 출력에 대해 작용한다. 상태 천이 모듈(state transtion module)은 선택 블럭들을 가산-비교함으로써 선택된 경로 메트릭(path metrics)의 값의 불법 상태 천이(illegal state transition)를 검출하기 위하여 제1 동작 모드에서 동작한다. 상태 천이 모듈은 펑쳐 레이트, 펑쳐 위상, 및 심볼들에 대한 회전 정정(rotation correction)의 예측값을 출력하여, 펑쳐 레이트 및 펑쳐위상의 예측값에 따라 선택된 펑쳐 레이트 및 선택된 펑쳐 위상을 변경시키기 위해 브랜치 메트릭 계산 유닛을 제어한다. 상태 천이 모듈은 회전 정정의 예측값을 사용하여 성좌 회전 유닛(constellation rotation unit)을 제어한다. 동기 검색 유닛(synchronization search unit)은 제2 동작 모드에서 인에이블되어 데이타 스트림내의 동기 정보를 식별하기 위하여 상태 천이 모듈에 응답한다. 트레이스백 모듈(traceback module)은 가산-비교-선택 블럭들에 링크되고, 일련의 트레이스백 컬럼(a succession of traceback column)을 가지고 있으며, 각 컬럼은 가산-비교-선택 블럭들에 의해 시간상의 한 점에서 결정된 경로들의 선택된 값의 모든 이력 데이타(historical data)를 나타낸다. 트레이스백 컬럼 각각은 m 비트의 트레이스백 데이타를 각각 수신하는 복수의 트레이스백 요소들을 가지며, 트레이스백 요소들은 적어도 하나의 이전의 트레이스백 컬럼의 내용에 따라서 사전 디코드된 선택 라인들에 의해 어드레스된다. 디인터리버(deinterleaver)는 m-스텝 내부 디코더에 결합되어 있다. 외부 디코더는 상기 디인터리버로부터 디인터리브된 데이타를 수신하며, 역랜덤화기(derandomizer)는 외부 디코더에 결합되어 있다. 출력 인터페이스는 에러 정정된 데이타 스트림을 출력하기 위하여 역랜덤화기에 결합되어 있다.
본 발명의 한 특징에 따르면, 검출된 불법 상태 천이가 소정의 값을 초과할때, 상태 천이 모듈은 선택된 펑쳐 레이트 및 선택된 펑쳐 위상을 변경하기 위하여 브랜치 메트릭 계산 유닛을 제어한다.
본 발명의 다른 특징에 따르면, 리스케일 유닛(rescale unit)은 출력을 영이 아닌 숫자(non-zero number)로 리스케일하기 위하여 가산-비교-선택 출력들에 대해 작용한다. 양호하게는, 출력들은 출력의 이전의 상태의 함수로서 리스케일된다.
본 발명의 다른 특징들에 따르면, 각 트레이스 컬럼의 출력은 프리차아지(precharge)된 라인상에 놓이며, 브랜치 메트릭 계산 유닛은 한번에 m 심볼을 처리한다. 동기 검색 유닛은 제1 제어 유닛에 검색 결과를 나타내는 신호를 제공하는데, 상기 제1 제어 유닛은 그 신호가 실패한 검색 결과를 나타낼 때 제1 동작 모드의 상태로 돌아간다. 동기 검색 유닛은 또한 반전된 동기 바이트(inverted syncbyte)를 검색한다.
타이밍 복원 회로 및 반송파 복원 회로는 나이키스트 정합 필터로 필터링하기 이전에 데이타를 처리하기 위하여 피드백 기술을 사용하는데, 여기서 타이밍 복원 및 반송파 복원 에러 신호들은 각각의 복원 회로 다음에 오는 회로로부터 도출된다.
본 발명은 콘벌루션 인코딩 방식에 따라 인코드된 수신 데이타의 심볼들에 대한 디코더를 제공한다. 데이타는 펑쳐링 매트릭스(puncturing matrix)에 따라 펑쳐되며, 제1 상태로부터 그 다음 상태로의 상태 천이 시퀀스를 기술하는 복수의 상태값을 갖는데, 상태 천이의 시퀀스에 의해 경로가 정의된다. 디코더는 수신된 데이타를 억셉트하는 발생 유닛을 가지고 상기 제1 상태로부터 그 다음 상태로 그의 천이의 메트릭을 계산하는데, 여기서 메트릭은 측정 경로(measured path)가 데이타의 송신기에 의해 생성된 경로 다음에 올 확률에 대응한다. 트레이스백 유닛은 선택기의 순차 결정 동작들을 나타내는 이력 정보를 보유한다. 카운터는 선택기에 의해 선택된 경로의 불법 상태 천이를 카운트하기 위하여 제공되며, 제어 유닛은 상기 카운터에 응답하여 펑쳐 레이트를 결정하고, 펑쳐 위상 및 수신된 데이타의 반송파 회전 위상을 조절한다.
발생 유닛은 브랜치 메트릭을 사전 계산하기 위한 브랜치 메트릭 발생기를 포함하는데, 여기서, 브랜치 메트릭은 제1 상태로부터 그 다음 상태로 수신된 데이타의 모든 불법 천이와 관련된 확률값의 측정치이며, 상기 발생 유닛은 또한 상기 브랜치 메트릭 발생기로부터 사전 계산된 브랜치 메트릭을 수신하는 경로 메트릭 발생기도 포함하고 있다.
본 발명의 또다른 목적에 따르면, 경로 메트릭 발생기 및 선택기는 동작 사이클내에서 계속하는 m 천이들을 평가하며, 복수의 가산-비교-선택 블럭들로 구성된다. 가산-비교-선택 블럭들 각각은 한 클럭 사이클내에 m 심볼의 데이타를 트레이스백 -유닛에 전송한다.
본 발명의 이들 및 다른 목적들을 더 잘 이해하기 위하여, 첨부된 도면과 관련하여 기술되어 있는 본 발명의 상세한 설명을 참조하기 바란다.
[서론]
먼저 제1도를 참조하면, 본 발명의 개시 내용을 구현하는 수신기(2)의 일부를 도시한 블럭도이다. 지금 유럽 전기 통신 표준, 즉 ETS300421을 참조하여 양호한 실시예를 설명하고 있지만, 본 발명은 다른 표준들과 관련하여 즉시로 실시될 수 있다. I, Q 복조기(4) 및 그와 관련된 아날로그-디지탈 변환기를 제외하고는, 수신기(2)는 완전 CMOS 설계에 따라 구성되고 단일 VLSI 칩으로 구현된다. 따라서, 그동작은 종래의 보드 설계로 얻은 것보다 훨씬 더 효율적이다.
주지한 전기 통신 표준은 내부 콘벌루션 인코딩(inner convolution encoding) 및 전송된 데이타 심볼들의 외부 리드-솔로몬 인코딩(outer Reed-Solomin encoding)을 제공한다. 전송된 정보를 복원하기 위하여, 수신기(2)는 이하의 설명으로부터 알게 되는 바와 같이, 내부 디코더 및 외부 디코더를 제공한다.
수신기(2)는 채널, 예를 들어 위성 다운링크로부터 직각 위상 천이 변조된 데이타(quadrature phase shift keyed data)를 억셉트한다. 이 데이타는 랜덤화 및 동기를 위한 동기 바이트 반전; 리드-솔로몬 인코딩; 포니 인터리빙(Forney interleaving); 및 위성 전송의 경우는 콘벌루션 인코딩을 포함한, 주지한 유럽 전기통신 표준에 따라 몇가지 정의된 스테이지들에서 필터링되고 코딩된다. 특히, 전기통신 표준은 제한 길이 K=7인 펑쳐된 콘벌루션 코드를 제공하며,1/2, 2/3, 3/4, 5/6 및 7/8의 코드 레이트를 허용한다. 몇가지 정의된 펑쳐 메트릭들이 상기 표준에 의해 인정되어 있다· 또한 주지할 점은 변조하기 이전에 I 신호와 Q 신호가 롤오프 인자(rolloff factor)를 0.35로 하여 제곱 코사인 제곱근 필터링된다(square-root raised cosine-filtered).
종래의 전단부 처리 후에, 인코드되고 직각 복조된 근접 기저대역 신호(encoded, quadrature demodulated, near-baseband signal)는 동위상 데이타 스트림(6)과 직각 데이타 스트림(8)로서 I, Q 복조기(4)에 의해 제공된다. 피드백 타이밍 복원은 타이밍 복원 회로(10)에서 달성된다. 처리된 동위상 및 직각 데이타는 각각 라인(14, 16)상으로 DC 제거 블럭(12)로 전달된다. 심볼 타이밍 복원 이후에, T/2 떨어진 샘플들은 라인(18)상의 제어 신호의 판명에 의해 표시된다. 피드백 반송파 복원은 반송파 복원 회로(20)에서 달성되는데, 여기서 상기 반송파 복원 회로는 반송파 복원 회로(20)를 지나 한 점으로부터 피드백 루프에서 도출되는 에러 신호를 수신한다. DC 바이어스를 제거한 동위상 및 직각 데이타 신호들은 제어 신호(26)에 따라 각각 라인(22, 24)상으로 반송파 복원 회로(20)로 전송된다. 타이밍 복원 회로(10) 및 반송파 복원 회로(20)는 공동 계류중이며 공동 양수인에게 양도된 미국 특허출원 제08/480,976호 및 영국 특허출원 제9511551.5호에 개시된 것일 수 있으며, 이는 참조로 여기에 포함한다.
반송파 복원의 결과 생성된 동위상 및 직각 신호들은 제어 신호(34)에 따라 각각 라인(30, 32)상으로 나이키스트 정합 필터(28)로 전파된 다음에 블럭(36)에서 2로 데시메이션(decimation)된다. 타이밍 복원 회로(10) 및 반송파 복원 회로(20)으로의 피드백은 피드백 라인(38, 40, 42, 44)상으로 제공된다.
수신기(2)는 제어 신호(52)에 따라 각각 버스(48, 50)상으로 데시메이션된 동위상 및 직각 데이타를 억셉트하는 자동 이득 제어 회로(46)를 포함하며, 출력을 라인(54)상으로 수신기 전단부(도시안됨)로 제공한다. 버스(48, 50)상의 처리된 동위상 및 직각 데이타도 또한 비터비 디코더(56)로 제공된다. 수신된 콘벌루션 인코드된 데이타의 현재의 펑쳐 레이트는 버스(58)상에 표시된다. 수신된 신호 성좌의 반전은 라인(60)상의 신호로 표시된다.
I, Q 복조기(4)를 통해 처리된 데이타는 포니-인터리브되기(Fomey-interleaved) 때문에, 라인(64)상으로 데이타를 억셉트하는 디인터리버(deinterleaver, 62)를 제공할 필요가 있다. 유효 제어 신호 및 패킷-끝 신호(end-of-packet signal)는 비터비 디코더(56)에 의해 각각 라인(66, 68)상으로 디인터리버(62)에 제공된다. 디인터리버된 데이타 스트림은 그 다음에 라인(72)상으로 리드-솔로몬 디코더(70)로 전달된다. 유효 제어 데이타 및 패킷-끝 신호는 각각 라인(74, 76)상으로 리드-솔로몬 디코더(70)로 제공된다. 현재의 바이트에서 정정된 비트 에러의 수는 버스(78)상에 표시된다.
디코드된 데이타는 라인(84, 86, 88)상의 제어 신호를 사용하여 라인(82)를 통해 역랜덤화기 및 출력 인터페이스(80)으로 보내진다. 제어 신호들은 유효한 디코딩이 달성되었는지 여부, 패킷-끝 상태, 및 데이타에 에러가 있는지를 표시한다. 데이타는 라인(90)상에 출력된다. 라인(92)상의 신호는 동기 바이트(sync byte)가 출력중일 때를 표시한다. 라인(94, 96)은 각각 에러 상태 및 유효 데이타를 표시한다.
중앙 제어 블럭(98)은 수신기(2)의 다른 스테이지들의 동작 시퀀스를 조절한다.
타이밍 복원 회로(10) 및 반송파 복원 회로(20)는 제2도에 더욱 상세히 도시되어 있다. 이들 회로는 수신기(2)가 많은 다른 심볼 레이트로, 또는 가변 심볼 레이트 기술로 동작할 수 있도록 구성되어 있다. GEC 플레시 SL1710(GEC Plessey SL1710) I,Q 복조기 등의 종래의 오프-칩 I, Q 기저대역 복조기를 I, Q 복조기(4)로서 사용할 수 있다. 논리 회로를 클럭킹하는 고정 주파수 시스템 클럭(87)이 있다. 이 클럭은 데이타 나이키스트 주파수와 적어도 같거나 그렇지 않으면 데이타 나이키스트 주파수가 만족되도록 하여야만 한다. 타이밍 복원 루프(100)의 제어하에서 온-칩 보간기 회로(89)는 동기된 T/2 간격 샘플 값들을 발생한다. 각각의 시스템 클럭 틱(system clock tick)때마다 보간기 유닛(89)에 의해 T/2 샘플이 1개 또는 0개 발생된다. 한 샘플이 발생된 경우에는, "유효" 제어 스트로브(128, 제3도)를 확인하여 이후의 하드웨어 모듈들에 이러한 사실을 통보해준다.
고정 주파수 외부 수정 발진기(102)는 나이키스트 필터(28)보다 T/2 앞서 동작하는 온-칩 디지탈 역회전기(104) 및 온-칩 반송파 복원 루프(106)과 협동한다. 나이키스트 필터(28)은 양호하게는 유한-임펄스-응답(FIR) 필터이다. 반송파 복원 루프(106)은 T/2 간격의 샘플들로 동작한다. I 및 Q 출력(108, 110)은 각각 데시메이터 블럭(36, 제1도)에서 2로 데시메이션된 다음에 제1도의 하단부에 도시된 에러검출 및 정정 회로에 인가된다.
[타이밍 복원]
타이밍 복원 회로(10, 제1도)는 제3도 및 제4도에 보다 상세히 도시되어 있다. 직각 복조된 데이타는 상술한 바와 같이 적어도 입력 데이타의 나이키스트 주파수와 같아야만 하는 시스템 클럭 레이트로 샘플링된다. 제4도에서 잘 알 수 있는 바와 같이, 온-칩 수치 제어 발진기(l12)는 심볼 타임의 카운트값을 유지한다. 수치제어 발진기(112)의 상태 Ω는 경과한 심볼 주기의 수의 고정 소숫점 카운트값을 보유한다. 각 시스템 클럭 틱 때마다, 상태 Ω는 제어 신호(116)을 사용하여 공칭값으로부터 조정된 (공칭 보 레이트 + 시스템 클럭 레이트)와 같은 값만큼 레지스터(114)에서 증가된다. 레지스터(114)내의 값의 역수는 역수 발생기(118)에서 취한다. 이 역수는 곱셈기(120)에서 값[(2Ω)modl]÷2와 곱해지며, 포화 블럭(saturation block, 122)에서 1보다 작은 값으로 한정된다. 정합 필터 역회전기 유닛(matched-filter derotator unit, 129)는 정합 필터(124, 126)을 포함한다. 정합 필터(124, 126)은 유한 임펄스 필터로서 구현되며, 반송파 복원 회로(20, 제1도)에서 발생된 유효 신호에 의해 인에이블된다.
신호(137, Δ139)는 동위상 및 직각 성분들 각각에 대해 개개의 싱크 보간기(118, 115)를 구비하는 싱크 보간기 유닛(sinc interpolator unit, 130)에 의해 억셉트된다. 보간기 유닛(130)은 그 다음에 보간 거리(interpolation distance)에 근거하여 샘플 값을 발생한다. Δ는 1보다 크거나 같은 값을 가지며, 고정 소숫점 수로 표현된다. 1보다 크거나 같은 값은 1보다 작은 값으로 포화된다. 싱크 보간기 유닛(130)은 Δ가 1인지 0인지에 따라 각각 진상(leading) 또는 지상 샘플(lagging sample)을 발생하도록 명령받는다. 보간기에 의해 커버된 샘플 타임들의 확산은 한 시스템 클럭 주기이다.
수치 제어 발진기(112)는 공지된 가드너 알고리즘(Garder algorithm)에 근거하여 타이밍 루프내에서 동작한다. 뮐러 및 뮐러 알고리즘(Mller and Mller algorithm) 등의 다른 타이밍 복원 알고리즘도 사용할 수 있다. 섹션(132)는 비례-적분 제어기(134)로서 실현되는 2차 루프 필터를 포함하고 있다. 비례 적분 제어기의 비례 및 적분 이득 상수는 필요한 감쇄율(damping factor) 및 루프 대역폭(loop bandwidth)을 주도록 선택된다. 양호하게는, 로크 시간(lock time)을 최소화하고 획득(acquisition)을 보장하기 위하여 초기 채널 획득에 대해서는 비교적 넓은 대역폭을 사용한다. 그 후에, 루프 대역폭을 감소시키기 위하여 계수들을 변경하여 노이즈 및 변동에 덜 민감하도록 만든다. 이 "기어 시프팅"(gear shifting) 동작이 전체 시스템 비트 에러율을 개선한다.
양호하게는 제곱 코사인 제곱근 정합 필터인 정합 필터(124, 126)이 포함되어있는데, 그 이유는 가드너 알고리즘이 심볼간 간섭이 없는 데이타를 가정하고 있기 때문이다. 정합 필터들은 보간기 유닛(130) 앞에는 놓일 수 없는데, 왜냐하면 T/2샘플링된 데이타에 대해 설계된 하드와이어된 계수들(hard-wired coeffieients)을 가지고 있기 때문이다. 가드너 알고리즘은 T/2 샘플들을 사용하여 타이밍 샘플 포인트를 로크한다. 이 루프는 양호하게는 홀스 샘플들이 입력 데이타의 제로 교차점에 있도록 그 샘플 포인트를 획득하여 짝수 샘플들을 데이타 샘플로서 사용한다.
싱크 보간기 유닛(130)에 시스템 클럭 레이트 샘플들을 제공하는 것과 보간된 샘플들이 나타나게 되는 것과의 사이에는 다음 식에 따른 지연이 있게 된다:
지연 = D + kδ
여기서, δ는 (시스템 클럭 주기/N)이고, N은 싱크 보간 포인트들의 수이며, k는 (정수) 보간 거리이고, D는 하드웨어에 내재된 일정 지연을 나타낸다.
싱크 보간기 유닛(130)은 유한 임펄스 응답 필터에 근거하며, 이는 시스템 클럭 레이트로 클럭킹되고 그 계수들은 N 세트의 뱅크로부터 선택되며, 각각의 계수 세트는 다른 지연을 보간한다. 수치 제어 발진기(112)로부터 출력된 보간 거리는 Δ가 0에서 1까지 변함에 따라 어느 계수 뱅크를 사용하여 주어진 샘플을 발생하는지를 결정한다. 싱크 보간은 나이키스트 샘플링된 신호는 주파수 영역에서 저역 통과 필터링 동작을 수행하는 것과 등가인 싱크 펄스를 사용하여 재구성될 수 있다는 샘플링 이론에 근거한다. 그 출력은 다음 식으로 주어진다:
이상 설명한 바와 같이, 타이밍 복원 회로(10, 제1도)는 타이밍 복원 회로를 지나 한 점으로부터 피드백 루프에서 도출된 에러 신호를 수신한다.
[DC 제거]
DC 제거 블력(12, 제1도)는 제5도에 보다 상세히 도시되어 있으며, 3개의 모듈(113, 117, 122)를 구비하고 있다. 모듈(122)는 주로 회로를 테스트하는데 사용되며, 이에 대해서 더 이상 설명은 하지 않는다. 모듈(113)에 대해서만 논의하기로 하며, 모듈(113, 117)은 동일하며 각각 I 및 Q 데이타 스트림에 인가된다.
모듈(113)은 제6도에 상세히 도시되어 있다. 입력 데이타는 7-비트 버스(124)로 도착하여 플립-플롭(123)에서 재타이밍되어(retimed) 버스(125)상으로 일반적으로 128에서 참조된 가산 유닛에 제공된다. 서브모듈(127)은 버스(133)상으로 도착하는 피드백 데이타 스트림을 모니터하며 버스(136)상에 놓인 데이타 스트림에 대한 DC 옵셋을 계산한다. DC 옵셋은 가산 유닛(128)에서 입력 데이타로부터 감산된다. 가산 유닛(128)은 종래와 같은 구성을 가지며, 60MHz로 동작하도록 타이밍된다. 가산 유닛(128)의 출력은 7-비트 버스(138)상으로 출력된다.
서브모듈(127)의 구조는 제7도에 도시되어 있다. 이는 주로 캐리 저장 아키텍쳐(carry save architecture)를 갖는 24-비트 가산 유닛을 구비하고 있다. 그 입력신호는 버스(133)상에 있으며, 모듈(113, 제5도)의 최종 출력으로부터 도출된다. 타이밍 고려는 단일 데이타 사이클에서 전 가산(full addition)이 평가될 수 없기 때문에 캐리 저장 아키텍쳐를 필요로 한다. 각 캐리 출력은 그 다음 가산기로 전달되기 이전에 플립-플롭(142)에서 재타이밍된다. 가산을 완전히 완료하기 위해서, 24 캐리 모두를 리졸브(resolve)할 필요가 있다, 즉 이들이 전파될 수 있도록 하는 것이 필요하다. 이것은 일반적으로 참조번호가 144인 회로에서, 3개의 동일한 회로(146)에서, 및 일렬의 가산기(155)에서 달성된다. 양호한 실시예에서는 옵셋 값의 최상위 7비트를 이용하기만 하면 된다. 하위 16비트에 대해서는 캐리를 예측하기만 하면 된다. 이것은 회로(144, 146)내의 4개의 가산기의 각 뱅크에 대해서 행해진다. 멀티플렉서(148, 150, 152)는 그와 관련된 회로(146)이 이전의 스테이지로부터 캐리를 전파하는지, 캐리를 발생하게 되는지, 또는 제로 캐리 출력을 생성하는지에 따라 선택된다. 최종 가산 유닛(154)는 60MHz로 동작하기 때문에 시간 제한(time contraints)으로 재타이밍된다. 가산 유닛(154)내에는 3 스테이지 가산기 블럭(156)이 있으며,그 구조는 제8도에 도시되어 있다. 이것은 고속 가산기(fast adder)로서, 캐리 상태는 3개의 가산 스테이지(160, 162, 164)를 거쳐 리플되도록 하지 않고 조합 논리 회로망(158)에서 고속으로 선택된다.
[반송파 복원]
반송파 복원 루프는 코스타스 알고리즘 위상 에러 예측부(166), 2차 루프 필터(168), 수치 제어 발진기(170), 및 디지탈 역회전 회로(172)를 도시하고 있는 제9도 및 제10도를 참조하여 먼저 설명한다. 이 회로는 외부 변조 및 복조 체인에서의 주파수 에러 및 위상 드리프트(phase drift)를 트래킹한다. 험(hum) 및 지터(jitter)에 의해 야기되는 변조 위상 노이즈 에러를 적응적으로 예측하기 위해 최소 평균 제곱(least-mean-square, LMS) 알고리즘에 따라 동작하는 부가적인 적응형 루프 회로(adaptive loop circuit, 174)를 사용할 수 있다. 적응형 루프 회로(174)는 양호한 실시예에서는 포함되어 있지 않다.
ROM(도시안됨)에 저장된 룩-업 테이블 사용하여 발생되는 sinθ 및 cosθ는 역회전 회로(172)를 제어한다. 삼각함수 룩-업 테이블의 설계는 공지되어 있다.
역회전기는 입력 데이타를 θ만큼 회전시킨다. (I, Q)는 진폭이고 인수 tan-1(I/Q)=ø 인 벡터를 나타내는 것으로 한다. 이와 같이, I = sinφ 이고 Q = cosφ이다. 역회전된 I = I′과 역회전된 Q = Q′이 다음과 같이 되어야 한다.
I' = sin(φ + θ) 이고 Q' = cos(φ + θ),
I' = sinφcosθ - cosφsinθ = Icosθ - Qsinθ, 이고
Q' = Qcosθ + Isinθ
I' 과 Q'의 계산은 역회전 회로(172)에 도시된 곱셈기 및 가산기의 회로망에서 구현된다. 코스타스 위상 에러 예측부(166)이 루프를 완성한다.
역회전기(derotator, 172)는 위상 예측부(166)과 협동하여 위상 노이즈 및 지터를 정정하는데도 사용된다. 이 지터는 위상 에러의 LMS 적응 예측값에 의해 트래킹된다. 제10도를 참조하면, 소수부분을 갖는 고정 소숫점 수로 표현된 역회전된 I 및 Q 값은 슬라이서(176, 178)에서 각각 가장 가까운 적법한 성좌 값으로 슬라이스(slice)된다. QPSK의 경우, 이것은 +1 또는 -1이 된다. 역회전된 값과 슬라이스된 값의 차는 감산기(180, 182)에서 얻어지며 에러를 구성한다. I와 Q 에러 값은 각도 에러 예측 θ 에러로 변환된다. QPSK 변조의 경우에, θ에러는 이하의 도표 1에 따라 각변환기(angulator, 184)내에 포함된 스위칭 회로망으로부터 얻어진다. 각 변환기(184)의 출력은 위상 지터의 적응화된 LMS 예측값 또는 험 에러 θ 예측값이다. 예를 들어 코스타스 알고리즘을 구현하는 회로 등의 많은 다른 위상 에러 예측 회로와 같이, 공동 계류중이며 공동 양수인에게 양도된 미국 특허출원 제 08/481,107호와 영국 특허출원 제9511568.9호에 개시된 위상 에러 예측 회로를 사용할 수도 있으며, 이들을 참고로 여기에 포함한다.
LMS 알고리즘 및 그 부호 변형(sign variant)은 공지되어 있으며, 여기에서는 더 이상의 설명은 하지 않는다. 예를 들어, Edward A. Lee와 David G, Messerschmitt의 저서 Digital Communication, Kluwer Academic Publisher, 제2판, 제11장에 개시되어 있다.
적응형 알고리즘은 θ 예측값에 리크(leak)가 주어져 있다는 점에서 표준 LMS 알고리즘으로부터 약간 수정되었다. 통상적으로 리크는 영이지만, 매 N번째 사이클마다 그것은 -(sign(θ예측값))이 된다. 이것이 θ에러가 동작 한계를 넘어서 증가하게 되는 것을 막아준다.
코스타스 루프는 축상의 성좌 점과 로크한다, 즉 (1,0), (0,1), (-1,0), (0,-1). 이와같이, 에러는 주어진 예에서 θ에러 = sin-1(I에러) 예측될 수도 있으며, θ에러 = I에러에 근사한다. 마찬가지로, 다른 성좌 점의 경우에도, θ에러는 다음의 도표 1에 도시된 바와 같이 + 또는 - I에러 또는 Q에러이다.
[도표 1]
θ에러의 근사값
이상 논의한 타이밍 복원 제어 루프의 경우에서와 같이, 2차 루프(168)내의 비례 적분 제어기(186)의 비례 및 적분 이득 상수는 획득 시간을 최소화하기 위하여 넓은 대역폭 값으로부터 시작하며, 일단 로크가 달성되면 시스템 비트 에러 레이트를 최적화하기 위하여 더 낮은 대역폭 루프 값들의 세트로 시프트된다. 이 값들은 특정 응용 분야의 필요에 따라 즉시 선택될 수 있다. 양호하게는, 채널 획득 동안에, 대역폭 값은 가산기(153)에서 라인(151)상의 상수값을 적분 이득 상수에 반복하여 가산함으로써 스위프(sweep)된다. 스위프가 진행함에 따라 로크(lock)가 일어나게 된다.
[자동 이득 제어]
이제 제1도 및 제14도를 참조하면, 자동 이득 제어(AGC) 회로(46)는 버스(48, 50)상의 I, Q 입력 신호간의 에러 및 그의 기대 평균값(expected mean value)를 결정하는 AGC 에러 블럭(183)을 구비하고 있다. 에러 신호는 버스(190)상에 생성되며 AGC 제어 블럭(192)에 의해 수신된다. AGC 제어 블럭(192)는 버스(194)상에 출력되는 제어 전압을 계산한다. 제어 전압은 버스(190)상의 에러 전압에 종속되며, 시간상으로 평균된다. 시그마-델타 변조기(196)에 의해 처리된 후에, 제어 전압은 출력 라인(198)상으로 수신기의 전단부(도시안됨)에 피드된다.
에러 블럭(183)은 에러 값, 에러 = -|I| + |Q| + 2 * 평균(여기서 *은 곱셈을 의미함)을 계산하며, 제16도에 더 상세히 도시되어 있다. 버스(48, 50)상의 입력들은 플립-플롭(200, 202)에서 각각 재타이밍되며, 필요한 경우 절대값 함수의 일부로서 배타적 OR 게이트(204, 206)을 사용하여 보수로 된다(complemented). 일렬의 가산기(208)은 I 입력의 절대값과 Q 입력의 절대값을 가산한다. 보수를 행하는 경우, 가산기(210) 및 가산기(216)의 두번째 열에 있는 2개의 가산기(212, 214)를 사용하여 그 합의 최하위 2비트에 1을 가산한다. 1을 가산하는 것이 절대값 함수를 보수로 한다. 신호, 이진값 01000000의 기대 평균값은 그 다음에 가산기(208)의 열의 이같이 수정된 출력에 가산되고 그 결과는 버스(190)상에 출력된다.
제18도는 AGC 제어 블럭(192)의 구조를 설명한다. 버스(190)상의 에러 신호는 22-비트 가산기를 사용하여 일반적으로 218로 참조되는 버스상의 제어 전압에 부가된다. 8 최하위 비트에 대해서는 제1 스테이지(220)에서, 그리고 14 최상위 비트에 대해서는 제2 스테이지(222)에서 가산이 진행된다. 성능을 향상시키기 위하여, 개개의 가산기들(224)는 캐리-바이-패스전파(cay-by-pass propagation)를 사용하는 고속 가산기이다. 오버플로우(overflow) 및 언더플로우(underflow) 상태는 논리 회로망(226)에 의해 검출된다. 최종 제어 전압은 그 다음에 버스(194)상에 놓이게 되며 새로운 제어 전압으로서 22-비트 가산기(218)로 피드백된다. 양호한 실시예에서 제어 전압(CV)에 대한 피드백 함수는 다음 식으로 표현된다:
다시 제11도를 참조하면, 시그마-델타 면조기(196)은 종래의 것으로서, 양호한 실시예에서는 7.5MHz로 동작하기 위해 재타이밍된다. AGC 레벨 신호(234)는 라인(230)으로 표시된 버스(194)상의 제어 전압의 반전된 최상위 비트 및 버스(232)에 의해 표시된 제어 전압의 그 다음 7 비트를 사용하여 만들어진다. 제12도는 실선(163)으로 표시된 AGC 레벨 신호(234)와 출력 라인(198)상의 시그마-델타 변조기(196, 제11도)의 출력인 펄스열(165)의 시간 플릇이다.
[비터비 디코더]
이하의 설명은 1/2의 코딩 레이트로 1-스텝 비터비 디코딩 프로세스에 따라 천이 격자 다이어그램(167)를 도시한 제13도를 참조한 것으로, 발생기 다항식 G(x) = (x2+ x + 1, x2+ 1)으로 제한 길이(constraint length) K = 3을 갖는 콘벌루션 인코더(도시안됨)을 사용하고 있다. 레이트 1/2은 모든 1비트 입력에 대하여 인코더는 2비트를 발생한다는 것을 나타낸다. 제한 길이 K는 출력을 발생하는데 사용될 수 있는 신호들의 최대 수이다. 다이어그램(167) 등의 천이 격자 다이어그램 및 입력 데이타 시퀀스를 사용하여, 상태 시퀀스(S)에 뒤이어 출력 스트림을 발생하는 것이 가능하다. 다이어그램(167)에서, 특정 상태(St)은 2 비트로 표현될 수 있다. 예를 들어, 상태(Si)는 참조 번호(169)로 표시된 값 2(이진값 10)를 취할 수 있다. 다이어그램(167)의 표시에 있어서, 상태(St+1)에서 상태(St)의 비트들은 한 자리만큼 시프트되고, 입력 데이타 비트는 가장 우측(최하위 비트) 자리를 차지한다. 이와 같이, 상태값(169)는 상태(St+1)에서 값(171, 173)으로 적법하게 천이할 수 있다. 이 2가지 천이에 대해서, 콘벌루션 인코더는 보다 일반적으로 xtyt로 표시되는 값(175, 177)을 각각 생성한다. 모든 가능한 상태 천이는 인코더에 대해 계산될 수 있다, 즉 St및 데이타 비트 dt가 주어지면, 그 다음 상태(St+1, xt및 yt)를 평가할 수 있다.
경로 메트릭은 그 때에 상태가 원래의 인코더 상태 시퀀스상에 있을 확률의 측정치이다. 경로 메트릭이 작을수록, 상태는 더 가능성이 있으며, 그 역도 마찬가지이다. 브랜치 메트릭은 입력에 따라 각 브랜치에 부착된 확률값의 측정치이다. 브랜치 메트릭은 제13도에 도시된 각 천이에서 모든 브랜치를 따라 수신된 심볼(xyrx)과 기대된 심볼(xy)간의 서로 다른 비트의 수인 해밍 가중치(Hamming weight)로서 취해진다. 트레이스백(traceback)은 가장 작은 경로 메트릭을 갖는 상태를 생성한 초기 상태를 찾기 위해 격자를 통해 거꾸로 가는 방법이다.
양호한 실시예에서, 한번에 2 스텝씩 격자를 통해 이동하는 것에 대응하는 2-스텝 디코딩 프로세스를 사용한다. 이것은 각 스텝을 계산하는 시간을 두배로 하며, 각 트레이스백은 한 비트가 아닌 2 비트를 생성한다. 그러나, 각 상태가 계산할 4개의 가능한 경로를 가지기 때문에, 각 상태에 필요한 계산 수도 두배로 된다. 단지 한 경로만이 각 상태에 대해 메모리에 보유될 필요가 있다. 보존 경로(surviving path)라고 하는 이 경로는 가장 작은 경로 메트릭을 갖는 것이며, 따라서 가장 있을법한 경로이다.
펑쳐링(puncturing)은 주지의 유럽 전기통신 표준에서 인증된 것으로, 코드가 더 효율적이기 때문에 더 높은 데이타 전송 레이트를 생성하는 효과를 갖는다. 일례의 도표 2에서, 콘벌루션 인코더(도시안됨)은 데이타를 인코드하여 심볼xt, yt를 생성한 다음에 이하의 펑쳐링 매트릭스에 따라 펑쳐되어 그 다음에 직각 위상 천이 변조에서 I, Q로서 전송되기 위해 재타이밍되는 x't및 y't를 생성한다:
X : 10
y : 11
펑쳐된 데이타로 디코딩할 때, 생략된 비트들은 브랜치 메트릭 계산에 기여하지 않는다.
[도표 2]
이상 주어진 간단한 예에서, 브랜치 메트릭은 해밍 가중치를 사용하여 계산되었다. 1 또는 0을 수신하는 대신에 신호가 1 또는 0일 상태 확률을 나타내는 각 xrx및 yrx의 다중 비트 표현을 수신하게 되면 상당한 개선이 이루어진다. 이와 같이, 16 레벨(4 비트) 소프트 디코딩에서, 1은 15(이진값 1111)에 의해 표현된다.
16 레벨 디코딩에서, 예를 들어 xyrx= (3,14)가 수신되면, 브랜치 메트릭은 도표 3에 도시된 바와 같이 계산될 수 있다.
[도표 3]
새로운 경로 메트릭을 계산할 때, 각각의 경로 메트릭은 이들 소프트-계산된 브랜치 메트릭을 사용하여 계산되며, 디코더 성능에 상당한 개선을 준다. 양호한 실시예에서, 8 레벨(3 비트) 소프트 디코딩이 사용된다. 트레이스백은 이하에 상세히 설명하는 바와 같이 시스톨릭 배열(systolic array)를 사용하여 구현된다.
양호한 실시예에서, 데이타는 64 상태를 갖는 격자에 대응하는 제한 길이 K = 7을 사용하여 콘벌루션 인코드된다. 이 상황에 대한 2-스텝 천이 격자 다이어그램의 부분 표현도가 제14도에 도시되어 있다.
이제, 제1도 및 제15도를 참조하면, 비터비 디코더(56)는 라인(48, 50)상으로 동위상 및 직각 데이타를 수신하는 회전 조정 블럭(rotation adjustment block, 179)를 갖는다. 입력 데이타의 유효성은 라인(52)상의 신호의 상태에 의해 표시된다. 이전의 스테이지에서, 복조기는 수신된 신호 스펙트럼이 I, Q 심볼이 Q,I 심볼로서 수신된다는 점에서 반전될 수 있는지를 고려하여 8 반송파 회전 위상 중 어느 것에 신호 성좌를 로크할 수 있다. 그러나, 이 조건은 회전 조정 블럭(179)에서라기 보다는 이하에 논의하는 바와 같이 처리된다. 현재의 회전 위상은 버스(181)상에 놓인다.
모든 가능한 브랜치(양호한 실시예에서 제한 길이 K=7, 및 2-스텝 디코딩을 사용하여 256)에 대해서, 브랜치 메트릭은 위상 및 펑쳐 제어 블럭(phase and punctuation control block, 188)에 의해 제어되는 브랜치 메트릭 발생 블럭(186)에서 각 동작 사이클에서 계산된다. 버스(185)상의 현재의 펑쳐 레이트 및 버스(187)상의 현재의 펑쳐 위상은 비터비 제어 블럭(195) 등의 상위 제어 블럭으로부터 위상 및 펑쳐 제어 블럭(188)로 입력된다. 브랜치 메트릭 발생 블럭(186)에서의 상태는 매핑되고 라인(197, 199, 201, 203)의 상태에 따라 펑쳐링 및 위상 조정을 위해 선택된다.
위상 및 펑쳐 제어 블럭(188)은 제17도에 보다 상세히 도시되어 있다. 위상의 최대 수는 조합 논리 회로망(205)에 의해 버스(185)상의 펑쳐 레이트로부터 도출되어 버스(207)상에 놓이게 된다. 위상 카운팅은 일반적으로 211로 참조되는 3 비트 가산기와 그 뒤에 있는 213으로 표시된 4-비트 감산기에 의해 섹션(209)에서 달성된다. 위상 카운트, 모듈로 위상의 최대 수(a phase count, module the maximum number of phases)가 결정되어 위상 계산 섹션(215)로 보내져 섹션(209)에서와 동일한 방식으로 현재의 펑쳐 위상이 위상 카운트에 가산된다. 펑쳐된 데이타 스트림의 데이타 전송 레이트와 시스템 처리 속도간에 차이가 있기 때문에, 펑쳐 위상에 따라 비터비 디코더(56)를 인에이블 및 디스에이블할 필요가 있다. 범용 인에이블 신호(global enable signal, 219)는 작은 논리 회로망(221)에 의해 발생된다.
위상 계산 섹션(215)의 출력은 또한 버스(187, 217)상의 위상 및 레이트 정보를 디코드하여 브랜치 메트릭 발생 블럭(186, 제15도)로 통신되는 버스(197, 199, 201, 203)상에 신호들을 생성하기 위해 블럭(223)에서 사용된다. 버스(197, 199)에 대한 디코드 논리가 제19도, 제20도, 제21도에 도시되어 있으며, 여기에서 개별 비트 위치는 라인(225, 227, 228, 229, 231, 233, 236)상에서 참조된다. 버스(201, 203, 제15도)상의 신호들은 버스(197, 199)상의 신호들과 각각 보수관계에 있다. 이하에서 알게 되는 바와 같이, 버스(199)는 브랜치 발생 동안에 I, Q 입력 중 하나를 선택하며, 버스(203)은 펑쳐 위치의 데이타가 경로 메트릭 계산에 기여하지 않도록 펑쳐가 어디에서 발생하였는가를 표시한다.
브랜치 메트릭 발생 블럭(186, 제15도)는 제22도에 보다 상세히 도시되어 있다. I, Q 데이타 쌍은 라인(238, 240)상으로 각각 수신되며, 라인(197)(라인(244, 246, 248, 250)으로 표시됨)의 보수인 선택기 라인(225, 227, 228, 229)에 따라 4개의 조합적 논리 유닛(combinatiorial logic unit, 242)에서 처리되며 라인(252, 254)상에는 이전의 I, Q 데이타가 있게 된다. 이 데이타로부터, 2개의 심볼 XY 쌍은 재구성되어 라인(266)상에 16개의 모든 가능한 브랜치 메트릭의 발생을 위해 라인(258, 260, 262, 264)상으로 블럭(256)으로 제공된다. 이전의 I, Q 데이타는 2개의 지연 플립-플롭(268, 270)으로부터 얻게 된다.
블럭(256)은 제23도에 보다 상세히 도시되어 있으며, 16개의 가능한 브랜치 각각에 대해 하나씩 16개의 동일한 계산 유닛(272)를 구비하고 있다. 대표적 계산 유닛(272)는 제24도에 더더욱 상세히 도시되어 있다. 각각의 계산 유닛(272)는 기대된 데이타가 하드-와이어되어 있는 4개의 모듈(274)를 포함하고 있다. 모듈(274)는 도표 3에 도시된 방식으로 그 특정 브랜치에 대해 입력 데이타와 기대된 데이타간의 절대차를 합하여 펑쳐된 위치에 대응하는 데이타가 라인(201, 203)의 상태에 따라 영으로 되도록 한다. 제25도에 도시한 바와 같이, 모듈(274)는 교호 비트(alternate bit)를 반전시킴으로써 절대차를 결정하는 간단한 논리 회로망을 구비하고있다. 라인(278, 280, 282, 283)상에서 이와 같이 얻은 4개의 차는 제26도에 상세히 도시한 바와 같이 합산 유닛(284)에서 합산되어 라인(266)상에 브랜치 메트릭으로서 출력된다.
이제, 제15도 및 제27도로 가서, 경로 메트릭은 라인(288)상에서 브랜치 메트릭 발생 블럭(186)으로부터 얻은 사전 계산된 브랜치 메트릭을 이용하여 경로 메트릭 발생 블럭(189)에서 계산된다. 브랜치 메트릭의 사전 계산은 경로 메트릭의 계산을 크게 간단화시킨다. 경로 메트릭 발생 블럭(189)는 한 클럭 사이클에 2 심볼을 처리할 수 있다. 적당한 하드웨어 설계를 선택하여, 브랜치 메트릭 발생 블럭(186) 및 경로 메트릭 발생 블럭(189)는 m-스테이지 비터비 디코더를 사용하여 단일클럭 사이클에서 m 심볼을 처리하도록 선택적으로 일반화될 수 있다.
경로 메트릭 발생 블럭(189)의 구성은 일례로서 제28도에 처음으로 도시되어 있지만, 상태 0에 대한 경로 메트릭의 계산이 도시되어 있다. 제14도에 도시된 격자 다이어그램을 완전히 확장(full expansion)하게 되면, St+l에서, 상태 0은 290, 292, 294, 및 296으로 각각 참조되는 상태 0, 16, 32, 48으로부터의 천이를 합법적으로 수신할 수 있다는 것을 알게 된다. 이들 천이는 도표 4에서 그들 상태 번호의 2개의 최상위 비트에 대응하는 경로 0, -3으로 각각 언급되어 있다. 도표 4는 제14도의 천이 격자 다이어그램에서의 각각의 적법한 천이에 대한 브랜치 메트릭을 개시한다. 도표 4로부터, 상태 0에 대해 경로 0은 0의 기대된 브랜치 데이타를 가지며; 경로 1은 14를 기대하고; 경로 2는 3을 기대하며; 경로 3은 13을 기대한다는 것을 알 수 있다. 수신된 데이타를 사용하여, 각각의 기대된 브랜치 데이타에 대한 브랜치 메트릭이 계산된다. 상태 0의 그 다음 경로 메트릭에 대한 4가지 가능한 후보를 계산하기 위하여, 상태 0에 대한 이전의 경로 메트릭이 가산기(298)을 사용하여 라인(300)상에 후보 0을 주고 다른 3개의 경로에 대해서도 마찬가지로 하기 위해 기대된 데이타 0을 갖는 브랜치 메트릭에 가산된다. 그 다음에, 블럭(302)에서 4개의 후보들을 비교한 후에, 상태 0에 대한 그 다음 경로 메트릭은 가장 작은 후보 값이 되고 라인(304)상으로 출력된다. 다른 후보들은 최적 경로가 아니기 때문에 버려지게 된다.
시간상 트레이스 백하는 것이 필요한 때에, 트레이스백으로 전달된 2개의 데이타 비트는 어느 경로가 가장 작은 경로 메트릭을 갖는 것, 즉 경로 0, 1, 2, 또는 3으로 선택되었는지를 표시한다.
[도표 4]
경로 메트릭 발생 블럭(189)는 64 가산-비교-선택 블럭(306)을 구비하는데, 그 하나는 제29도에서의 일부 파단도에 상세히 도시되어 있다. 가산-비교-선택 블럭(306)은 경로 메트릭을 발생한다. 실제의 레이아웃에서는, 64 가산-비교-선택 블럭(306)을 32개로 된 2개의 그룹으로 배열하는 것이 편리하다. 이것이 길이 및 그에 따라 경로 메트릭 라우팅 크로스바(path metric routing crossbar)의 구동 요건을 최소화하는 보다 콤팩트한 디자인이다. 64 경로 메트릭중 가장 작은 것은 경로 메트릭 발생 블럭(189)에서 결정된다. 가산-비교-선택 블럭(306) 각각은 제14도에 도시된 천이에 대응하는 6 비트 버스(308, 310, 312, 314) 각각에 이전의 상태의 4개의 경로 메트릭을 수신한다. 대응하는 경로 메트릭은 5비트 버스(316, 318, 320, 322)상으로 수신된다.
제27도는 가산-비교-선택 블럭(306)의 배열을 보다 상세히 설명한 것으로서, 그에 입력되는 4개의 후보 경로 메트릭 중 최소 경로 메트릭이 결정된다. 후보 경로 메트릭은 버스(326, 328)상으로 각각 입력되는 경로 메트릭과 브랜치 메트릭을 가산함으로써 가산기(324)에서 얻어진다. 최소 경로 메트릭은 그 다음에 비교 모듈(330)에서 결정된다. 비교 모듈(330)은 제30도에 더욱 상세히 도시되어 있는데, 4개의 값들을 비교하여 최소값을 찾게 된다. 제30도의 좌측에 있는 6개의 유닛들(332)에서 모든 가능한 비교를 하여 라인(334, 336)상에 출력된다. 라인(336)상의 출력들은 단순히 각각의 유닛(332)에 대한 라인(334)상의 출력들의 반전이다. 이 결과는 그 다음에 논리 회로망(338)에서 디코드되어 4비트 선택 버스(340)상에 놓인다. 이 배열의 잇점은 이하에서 논의되는 바와 같이, 가산, 비교 및 리스케일(rescale) 동작이 시간을 절약하기 위해 파이프라인(pipeline)될 수 있다는 것이다.
다시 제15도 및 제27도를 참조하면, 2 비트의 정보가 각 가산-비교-선택 블럭(306)의 각 데이타 동작 사이클에서 라인(342, 344)상으로 트레이스백 유닛(191)에 제공된다. 가장 작은 경로 메트릭의선택은 일반적으로 346으로 참조되는 멀티플렉서를 사용하여 달성된다. 하드웨어를 줄이기 위해 경로 메트릭을 6 비트로 표현할 수 있도록 하기 위해, 리스케일링 유닛(348)은 가산기(350)에서 가장 작은 경로 메트릭을 리스케일한다. 가장 작은 경로값은 다음 식에 따라 리스케일된다.
여기에서 x는 가장 작은 경로 메트릭이고, RV는 리스케일 값이며, z-1과 z-2은 각각 가산-비교-선택 블럭(306)의 1 및 2 동작 사이클만큼 x 지연된다. 이 지연을 사용하는데 그 이유는 가장 작은 경로 메트릭을 계산하는데 2 사이클이 필요하기 때문이다. 이용된 리스케일링 함수는 리스케일된 값 RV가 결코 음수는 아니라는 것을 보장한다. 리스케일된 경로 메트릭은 버스(352)상으로 출력된다.
이제 제1도 및 제15를 참조하면, 비터비 디코더(56)는 몇가지 기능을 갖는 제어 블럭(195)를 갖는다. 제1 동작 모드에서, 가장 작은 경로 메트릭을 갖는 경로의 불법 상태 천이는 현재 예측된 펑쳐 레이트, 펑쳐 위상 및 반송파 위상이 정확하게 결정되었는지의 측정으로써 카운트된다. 불법 상태 천이 카운트에 근거하여, 펑쳐 레이트, 펑쳐 위상 및 반송파 위상의 새로운 조합이 선택된다. 불법 상태 천이 카운트가 규정된 공차 이내에 있는 경우에, 제2 동작 모드가 개시되며, 여기서 정확한 동기 패턴이 탐색된 출력 데이타 스트림이 인에이블된다. 그러나, 제1 동작 모드의 종류 상태(end-state)는 보유된다. 따라서 동기가 달성되지 않으면, 제1 동작 모드는 종료 상태에서 재기된다. 이것은 제31도를 참조하면 알 수 있다. 먼저, 단계(354)에서, 불법 상태 카운터 및 대기 카운터(wait counter)가 리세트된다. 결정단계(356)에서, 허용가능한 불법 상태 천이의 수가 초과되었는지를 결정하기 위해 즉시로 체크한다.
그 다음에 단계(370)에서 불법 상태 천이의 발생에 대한 테스트를 하게 된다. 불법 상태 천이가 발생하지 않은 경우에는, 제어는 즉시로 결정 단계(360)으로 가게된다. 불법 상태 천이가 발생한 경우에는, 불법 상태 천이 카운터가 단계(372)에서 증가된다. 그렇지 않은 경우에는, 제어는 단계(358)로 가게 된다. 불법 상태 천이의 누적 갯수의 테스트는 결정 단계(374)에서 수행된다. 불법 상태의 갯수가 아직도 공차내에 있는 경우에는, 제어는 단계(358)로 가게 된다. 그렇지 않은 경우에는 이하에서 설명하는 바와 같이 단계(366)이 실행된다.
대기 카운터는 단계(358)에서 증가된다. 그 다음에, 결정 단계(360)에서, 대기 카운터의 상태에 따라, 256 사이클이 평가되었는지를 결정하기 위하여 테스트를 하게 된다. 그렇지 않은 경우에, 제어는 단계(356)으로 복귀한다. 256 사이클이 평가되고 불법 상태 천이가 공차내에 있는 경우에, 동기 검색이 단계(362)에서 활성화된다. 제어는 그 다음에 결정 단계(364)로 진행하여, 동기 유닛의 작용을 테스트한다. 동기가 실패할 때까지, 제어는 단계(364)에 있게 된다.
동기가 실패하는 경우에, 제어는 결정 단계(366)에서 제1 동작 모드로 복귀한다. 제어는 또한 단계(356)의 실행시에 불법 상태 천이가 공차 내에 있지 않은 경우에는 단계(366)으로 이전한다. 단계(366)은 모든 가능한 펑쳐 위상 및 반송파 위상의 조합을 소진하였는지에 대한 테스트를 하는 결정 단계이다. 이들이 다 소진되지 않은 경우에, 반송파 위상은 단계(368)에서 면하게 되며, 제어는 단계(354)로 복귀한다. 결정 단계(366)에서의 테스트가 실패한 경우에, 결정 단계(376)에서 모든 펑쳐 레이트를 평가하였는지를 결정하기 위해 추가 테스트를 하게 된다. 다 소진하지 않은 경우에, 펑쳐 레이트 및 위상은 단계(378)에서 변하게 된다. 모든 펑쳐 레이트 및 위상이 평가된 경우에, 공차는 단계(380)에서 증가되며 제어는 다시 단계(354)로 복귀한다.
제3l도에 도시된 흐름도의 실현은 제32도에 도시되어 있다. 대기 카운터는 인크리멘터(incrementer, 382)에서 증가되고 그 값은 버스(384)에 놓인다. 대기 카운터는 조합적 논리(386)에서 데스트된다. 허용된 불법 천이의 갯수는 버스(388)로 신호되며, 비교기 유닛(392)에서 버스(390)상의 불법 상태 카운트에 대해 테스트된다. 그 다음에 라인(394)상에 펄스가 발생되어 라인(396)상으로 출력되며 논리 회로망(398)을 거쳐 제어기 유닛(400)으로 피드백된다. 제어기 유닛(400)은 새로운 반송파 위상, 펑쳐 레이트, 펑쳐 위상 및 새로운 공차 한계를 제31도를 참조하여 논의한 절차에 따라 일반적으로 402로 참조되는 라인상에 출력한다. 불법 상태 천이는 이전의 상태를 입력으로서 취하는 논리 회로망(406)에 의해 디코드되어 라인(404)상으로 신호된다. 라인(404) 상의 천이는 인크리멘터(408)에서 카운트되어 새로운 카운트 값은 버스(410)상에 놓인다.
데이타 스트림에서 동기 바이트를 찾는 제2 동작 모드는 라인(412)상에서 개시된다. 이 라인은 조합적 논리 회로망(414)의 출력으로서 몇가지 제어 신호들, 즉 공차 테스트 라인(396)의 상태, 라인(416)상의 대기 카운터의 상태, 및 라인(418)상에 표시된 디코더의 제22 동작 모드의 현재의 상태에 의해 통제된다.
시스톨릭 트레이스백 배열 유닛(systolic traceback array unit, 191, 제15도)은 양호한 실시예에서는 21 주기의 이력을 사용하여 동작하며, 제33도를 참조하면 더 잘 이해할 수 있다. 트레이스백 배열 유닛(191)은 경로 메트릭 발생 블럭(189)의 가산-비교-선택 블럭(306, 제29도)에 링크되어 있으며, 연속한 트레이스백 컬럼(420)을 포함하고 있고 각 트레이스백 컬럼(420)은 가산-비교-선택 블럭(306) 및 경로 메트릭 발생 블럭(189)에 의해 시간상의 한 점에서 결정된 모든 이전의 보존 경로를 나타낸다. 각 트레이스백 컬럼(420)은 복수의 트레이스백 요소(422)를 가지며, 각 트레이스백 요소(422)는 m 비트의 트레이스백 데이타(424)를 억셉트한다. 본 명세서에서 설명하는 바와 같이, m은 현재의 양호한 실시예에서는 2와 같다. 트레이스백 컬럼의 트레이스백 요소(424)는 3개의 디코더(432)에 의해 디코드된 적어도 하나의 이전 트레이스백 컬럼(도시안됨)의 내용에 따라 3개의 사전 디코드된 선택 라인(426, 428, 430)에 의해 어드레스된다. 각 트레이스백 컬럼(420)의 출력들은 프리차아지된 라인(434)상에 놓인다.
공지된 2-스텝 비터비 디코딩 이론에 따르면, 2 비트는 각 트레이스백 컬럼(420)에서 획득되어 그 다음 트레이스백 컬럼의 2개의 최상위 비트가 된다. 트레이스백의 각 스테이지에서, 6 비트 상태는 트레이스백 요소의 내용을 가져와서 트레이스백내의 그 다음 상태를 구성하기 위하여 64개의 장소중 한 장소를 어드레스한다. 이러한 64 대 1 멀티플렉싱은 2개의 데이타 라인(434)를 프리차아지함으로써 행해진다.
이상 설명한 바와 같이, 선택 라인(426, 428, 430)은 이전의 트레이스백 요소의 상태 수에 따라 접속되는데, 라인(426)은 그의 상태 수에 대응하는 디코드된 상태 [1:0]를 태핑(tapping)하고, 라인(428)은 상태 [3:2]를 태핑하며 라인(430)은 상태 [5:4]를 태핑한다. 클럭 Ph1(436)에서, 2개의 프리차아지 라인(434)는 VDD로 풀링된다. 클럭 Ph0(438)에서, 트레이스백 요소(424) 중 하나만이 선택 라인(426, 428, 430)에 의해 선택되고, 프리차아지 라인(434)는 트레이스백 데이타에 따라 풀 다운된다. 프리차아지 라인(434)의 상태는 래치(440, 442)에 래치되어 그 다음 트레이스백 컬럼(도시안됨)에 대한 2개의 최상위 비트에 대해 사용된다. 프리차아지된 라인(434)의 사용으로 트레이스백 유닛(191)이 차지하는 면적이 크게 감소됨을 알았다.
마지막 트레이스백 컬럼에 도달될 때, 2 비트의 완전 디코드된 I, Q 데이트는 프리차아지된 라인(434)상으로 출력되어 동기 블럭(193, 제15도)에 의해 사용된다. 트레이스백에서의 이력(history)의 양(윈도우의 사이즈) 및 양자화된 I, Q 데이타 스트림에서의 레벨의 수는 비터비 디코더(56, 제1도)의 성능에 크게 영향을 미친다.
[예]
이들 파라메타들을 정량화하는 방법은 시뮬레이션에 의하는 것이다. 시뮬레이션의 설계는 제34도에 도시되어 있다. 레이트 1/2 및 7/8에 대한 시뮬레이션만이 행해졌는데, 그 이유는 이들이 인코딩 오버헤드에서 2개의 극한값을 나타내기 때문이다. 곡선들은 RrHhQq와 같이 명명되어 있는데 여기서 r은 코드 레이트, h는 (K-1)의 배수로서의 이력이고, K는 제한 길이이고, q는 소프트 디코딩에서 사용되는 양자화 레벨의 수이다.
양자화 숫자(quantization figure)는 사용된 소프트 코딩 레벨의 수로서 말해진다. 예를 들어, 양자화 Q=8은 3비트 양자화를 나타낸다. 이력은 (K-1) =6의 배수로서 말해지는데, 여기서 K는 제한 길이이다. 이와 같이, 이력 H=4는 4*6=24 1-스텝 천이의 윈도우를 나타내며, 여기서 *는 곱셈을 나타낸다. 필요한 양자화 레벨을 결정하기 위하여, 이력, H는 H=8의 큰 윈도우로 설정되었다. 그 결과를 얻어 도표 5 및 6에 플롯되어 있다.
레이트 1/2에 대한 결과는 8과 16 양자화 레벨(3 및 4 비트)간에는 거의 개선이 없는 것을 보여준다. 레이트 7/8 결과로서, 8과 16 레벨간에는 약간의 개선이 있다. 3 비트에서 4 비트 양자화로 이동하게 되면 브랜치 메트릭의 최대값은 28(5비트)에서 60(6비트)로 이동하게 된다. 이것은 차례로 경로 메트릭 발생 블럭(189. 제15도), 전체 디코더의 시간 임계 블럭(time critical block)내에서 더 큰 비트 폭이 된다. 3 비트에서 4 비트 양자화로 이동할 때 이득은 중요치 않은 것으로 여겼으며, 양호한 실시예에서는 8-레벨 양자화를 채택하기로 하였다.
양자화를 8 레벨로 유지하면서, 트레이스백의 이력은 추가의 시뮬레이션 동안 변하였다. 이것으로부터의 걸과는 도표 7, 8, 9 및 10에 플롯하였다. 레이트 1/2에 대한 결과는 3, 즉 3*(K-1) = 18 이상의 이력에 대해서는 이득이 거의 없다는 것을 보여준다. 레이트 7/8 코드에서는, 이력을 증가시켜 7, 즉 7*(K-1)=42로 레벨오프(leveling-off)함으로써 꾸준한 개선이 있다. 부가의 컬럼상에 부가함으로써 이력을 증가시키는 것은 비교적 간단하지만, 7의 이력을 8로 함에 있어서의 이득은 필요한 컬럼에 대해 가치가 있는 것 같지는 않다.
[도표 5]
[도표 6]
[도표 7]
[도표 8]
[도표 9]
[도표 10]
[동기]
동기 전략은 데이타 스트림내의 일정 거리를 둔 동기 바이트를 가정한다. 주지의 유럽 전기통신 표준에 따라, 반전된 동기 바이트가 8번째 마다의 동기 바이트 대신에 전송된다. 동기 검색 유닛(193, 제15도)는 또한 라인(161)상의 트레이스백 유닛(191)로부터 수신된 2 비트 출력을 바이트로 어셈블한다. 이것은 먼저 9비트를 어셈블한 다음에 각각 1비트 자리 만큼 옵셋된 2개의 8비트 바이트를 평가함으로써 달성된다. 이와같이 어셈블된 2 바이트는 평가되고, 어느 것이 소정의 동기비트 패턴인지에 따라 그들중 하나를 출력하기 위하여 결정을 한다.
제15도는 동기 검색 유닛(193)을 도시한다. 동기 검색 유닛(193)은 제어 블럭(195)로부터 시작 동기 신호(159)를 수신한 후에 유효 동기 바이트에 대한 검색을 시작한다. 검색 유닛은 제어 유닛에 동기 활성 라인(157)상의 그의 상태를 다시 보고한다. 이전에 논의한 바와 같이, 제어 유닛은 불법 상태 천이가 공차 내에 있은 후에 검색 유닛을 인에이블한다.
동기 검색 유닛(193)의 동작의 상태도가 제35도에 도시되어 있다. INACTIVE 상태(452)에서, 검색 유닛은 도시된 바와 같이 비활성 상태에 있다. 신호 IN_START_SYNC(444)가 제어 유닛으로부터 수신될 때, 검색 유닛은 SEARCH ANYWHERE 상태(446)에서 47h 또는 B8h의 동기 바이트 패턴을 검색하기 시작한다. 바이트 47h는 포지티브 동기 패턴에 대응하고, B8h는 반전된 동기 패턴이다. 비터비 디코더는 반전된 데이타, 동기 바이트의 수를 주목하여 결정된 조건 및 동기 검색 유닛(193, 제15도)에 의해 발견된 반전된 동기 바이트의 수에 작용할 수 있다. 트레이스백 유닛(191, 제15도)으로부터 수신되는 데이타는 2비트 심볼로 되어 있다. 디코더가 2-스텝 프로세스를 이용하기 때문에, 바이트의 시작은 2개의 비트 위치 중 하나에 있게 된다. 검색 유닛은 그에 따라 2개의 시작 비트 위치에서 포지티브 및 네거티브 동기 바이트 패턴에 대해 검색을 시작한다. 검색은 NOT FOUND AND NOT DONE ALL PACKET 조건(458)에 의해 도시된 데이타의 패킷 길이의 모든 비트에 대해 계속된다. 전 데이타 패킷이 검색되었고 NOT FOUND DONE ALL PACKET 조건(450)에 의해 도시된 바와 같이, 포지티브 및 반전된 싱크 모두가 발견되지 않은 경우에, 검색 유닛은 INACTIVE 상태(454)로 복귀하고, 검색이 성공하지 못했다고 동기 활성 라인(157, 제15도)상으로 제어 유닛(195, 제15도)에 신호한다.
동기 패턴이 검출될 때에, 검색 유닛은 LOCKED SEARCH 상태(454)로 들어가며 이어서 단계 FOUNDSYNC(456)으로 들어간다. 이 상태에서, 검색 유닛은 유효 포지티브 또는 반전된 동기 바이트를 발견한 것으로 가정하고 동기가 발견될 것으로 기대되는 연속한 패킷 구간에서 동기 패턴을 검색함으로써 동기를 유효화하려고 한다. 이 상태에서 발견된 연속한 유효 및 무효 동기 바이트의 카운트가 보유된다. 검색 유닛은 458로 참조되는 루프 SEARCHING SYNC + NSYNC8에 의해 표시된 바와 같이 2개의 조건 중 하나가 만족할 때까지 이 상태에 있게 된다. 3개 또는 그 이상의 동기 바이트가 검색 범위내에서 오류가 있는 경우에, LOCKED SEARCH 상태(454)를 종료하고 검색 유닛은 경로 ERROR3(460)에 의해 도시된 바와 같이 SEARCH ANYWHERE 상태(446)으로 복귀한다. 여기에서는, 이전에 있었던 패킷내의 상대 위치로부터의 비트별 검색을 가정한다. 8개의 동기 또는 반전된 동기 바이트가 3개 이상의 에러없이 유효한 것으로 밝혀지면, 검색 유닛은 SYNCHRONIZED 상태(462)로 들어간다. 그 때 유효 데이타가 출력된다. 검색 유닛은 채널 변경이 있을 때까지 이 상태에 있게 된다.
이제 제35도 및 제36도를 참조하면, 동기 검색 유닛의 논리 다이어그램이 도시되어 있다. 입력 데이타로부터 동기 바이트 패턴을 디코딩하기 위한 조합 논리는 논리 게이트(464)에 의해 실현된다. 이들 게이트는 상기 주지한 9비트 어셈블리내의 2 비트 시작 장소로부터 포지티브 및 반전된 동기 바이트 패턴을 디코드한다. SEARCH_COUNTER(466)은 SEARCH ANYWHERE 상태(446)과 관련된 카운터이다. LOCKED SEARCH 상태(454) 동안에, LOOK_COUNTER(468)이 사용된다. 검색 유닛이 LOCKED SEARCH 상태(454)에 있을 때는, 카운터(470)은 발견된 반전된 동기 바이트의 카운트를 보유하며, 카운터(472)는 발견된 포지티브 동기 바이트를 카운트하고, 카운터(474)는 에러있는 동기 바이트를 카운트한다. 제어 유닛(195, 제15도)로부터의 IN_START_SYNC 신호는 라인(476)상에 도시되어 있다. 제어 유닛으로의 동기 활성 신호는 OUT_ACTIVE(478)로서 도시되어 있다.
[디인터리버]
디인터리버(62)는 제1도, 제37도 및 제38도를 참조하여 설명한다. 전송된 데이타의 12-웨이 포니 디인터리빙(twelve-way Forney deinterleaving)은 상기 주지한 유럽 전기통신 표준에 규정되어 있다. 인터리빙 프로세스에 따라, 제1 바이트는 지연없이 인터리버를 통과해 지나간다. 제2 바이트는 17 사이클 만큼 지연되고; 제3바이트는 2 x 17 사이클 만큼 지언된다. 이하 마찬가지이다. 디인터리버에서는, 제1 바이트는 11x 17 사이클 만큼 지연되고; 제2 바이트는 10 x 17 사이클 만큼 지연되며; 제3 바이트는 9 x 17 사이클 만큼 지연된다. 이하 마찬가지이다. 양호한 실시예에서는 데이타를 디인터리빙하기 위한 11개의 별도의 시프트 레지스터는 3 사이클 동기 정적 랜덤 억세스 메모리(RAM, 480)의 단일 블럭으로서 구현되었다. 대표 베이스 어드레스(482,484) 등의 메모리(480)내에서의 베이스 어드레스(base address)에 대한 포인터(pointer)는 일반적으로 회로(486)에 의해 발생된다.
메모리(480)내에서, 첫번째 11 x 17 바이트는 11 x 17 바이트 시프트 레지스터(488)을 구현하는데 사용된다. 그 다음 메모리(480) 블럭은 10 x 17 바이트 시프트 레지스터(490)에 할당되며, 이하도 같다. 이와 같이, 메모리(480)은 논리적으로 11개의 다른 섹션으로 분할되며 크기는 단조 증가한다.
제38도에서, 가산기(492)는 메모리(480)을 억세스하기 위한 유효 어드레스(effective address)를 출력한다. 가산기(492)의 제1 입력(494)는 현재의 시프트 레지스터, 즉(482)의 베이스 어드레스이다. 제2 입력(496)은 모듈로 17로 표시된 바이트 카운터(498)의 출력이다. 제3 입력(500)은 11 x 4 비트 시프트 레지스터(502)의 시프트-출력 값에 현재의 시프트 레지스터로의 패킷 인덱스, 즉 현재의 시프트 레지스터의 모듈로 길이인 17을 곱한 것이다.
디인터리버(62, 제1도)의 구성은 제39도를 참조하면 잘 알 수 있는데, 여기서 메모리(480)은 1122 바이트를 갖는다. 메모리(480)의 동작은 메모리 기록-판독 사이클을 개시하고 어드레스 카운터(506)을 증가시키는 타이밍 블럭(504)에 의해 제어된다. 메모리(480)은 기록 데이타 버스(508) 및 판독 데이타 버스(510)에 결합되어 있다. 제어 신호는 이전의 스테이지로부터 전파되어 오는 라인(512)상의 유효 신호, 및 메모리 판독 동작이 성공적이었는지를 표시하는 라인(514)상의 판독 데이타 유효신호를 포함한다.
[중앙 제어]
중앙 제어 블럭(98, 제1도)는 제40도를 참조하여 먼저 논의한다. 블럭(516)은 주 제어 블럭(518)내의 레지스터로 기록 및 그로부터의 판독에 사용되는 I2C 버스(도시안됨)에 대한 제어 디코드 블럭이다. 블럭(516)은 시리얼 데이타 버스를 나타내는 제41도를 참조하여 논의하는데, 데이타를 디코딩하기 위한 제1 시프트 레지스터(520) 및 제어 신호에 따라 어드레스를 디코딩하기 위한 제2 시프트 레지스터(522)를 포함한다. 시프트 레지스터(522)의 출력은 8-비트 버스(524)상에 놓인다. 상위 4비트는 논리 회로망(526)을 사용하여 현재 고려되고 있는 블럭을 디코드하는데 사용된다.
제42도는 중앙 제어 블럭(98)에 사용되는 모든 레지스터를 도시한 것이다. 레지스터(528, 530, 532, 534, 536, 538, 540)은 중앙 제어 블럭(98, 제1도)를 구성(configure)하기 위하여 I2C 버스에 의해 기록된다. 일반적으로 542로 참조되는 레지스터 컬럼은 중앙 제어 블럭(98)의 내부 상태를 모니터하고, 일반적으로 544로 참조되는 라인들, 라인(546) 및 라인(548) 상의 재타이밍된 입력 신호들을 모니터하는데 사용된다. 마이크로프로세서 등의 외부 제어 장치와 함께 중앙 제어 블럭(98)에 조회 및 그를 제어하는데 사용되도록 의도되어 있기 때문에, I2C 버스가 중앙 제어 블럭(98)을 판독하는 것이 가능하다. 중앙 제어 블럭(98)은 디지탈 위상 장비 제어 표준 DiSEqC(상표)에 호환하는 회로를 포함한다.
중앙 제어 블럭(98)의 상세한 설명은 제43도에 되어 있다. 몇가지 클럭 버퍼는 일반적으로 550으로 참조된다. 수신기(2, 제1도)의 다른 부분으로부터의 입력의 재타이밍은 5개의 플립 플롭(552)에서 일어난다. 2개의 멀티플렉서(554, 556)은 각각 채널 로크 상태 머신(562)의 상태에 따라 버스(558,560)상의 타이밍 복원 회로(10) 및 반송파 복원 회로(20, 제1도)으로의 출력을 선택한다.
버스(564)상의 값의 역수는 역수 발생기(118, 제4도)에 대응하는 블럭(566)에서 계산되어 타이밍 복원을 위해 사용된다. 리드-솔로몬 디코더(70, 제1도)에서 검출된 연속적이고 누적적인 패킷 에러는 블럭(568)에서 카운트된다. 다른 카운터 블럭(570)은 라인(52, 제1도)상의 입력을 억셉트하는 비터비 디코더(56)에 의해 처리되기 바로 전에 디코더 심볼을 카운트하여, 채널 로크 상태 머신(562)가 그의 그 다음 상태로 천이할 것이라는 것을 표시하기 위해 라인(572, 574, 576)상에 제어 신호를 생성한다.
블럭(566)의 상세는 제44도에 설명되어 있다. 고속 가사나기 열(578)은 버스(580)으로부터 취한 데이타 입력을 시프트 레지스터(582)에 보유된 값으로부터 반복하여 감산한다. 이 동작이 오버플로우를 야기하지 않는 경우에, 그 결과는 복수의 멀티플렉서(584)에서 선택된다. 그러나, 오버플로우가 일어나면, 시프트 레지스터(586)내의 원래의 값이 선택된다. 데이타는 그 다음에 제4도의 좌측에 있는 시프트 레지스터(580)의 최상의 비트 위치로 시프트되고, 감산 동작이 반복된다.
시프트 레지스터(582)에서의 일련의 시프트-감산 동작에 뒤이어 오버플로우의 검출에 대해 이제 설명한다. 제2 시프트 레지스터(586)은 최하위 비트 위치에 있는 레지스터(588)을 제외하고는 영으로 초기화된다. 시프트 레지스터(586)은 라인(590)상의 가산기(578) 열로부터 최종 캐리 출력을 수신한다. 시프트 레지스터(586)은 한 여분 레지스터(592)를 포함한다. 시프트 레지스터(582)의 사이클 시퀀스에 이어서, 처음에 레지스터(588)에 설정된 비트가 레지스터(594)에 도달한다. 선행 레지스터(591)는 그 다음에 오버플로우 비트의 존재를 테스트받는다. 오버플로우 비트가 레지스터(591)에 존재하면, 포화 신호가 라인(595)상에서 확인되고 시프트 레지스터(586)의 내용은 모두 1로 설정된다. 시프트 레지스터(586)의 한 사이클 이상 후에, 레지스터(588)에 설정된 원래의 비트는 레지스터(592)에 도달한다. 시프트 레지스터(582)는 그 다음에 제어 라인(596,599)에 따라 디스에이블된다. 그 역수는 시프트 레지스터(586)에서 버스(598)상으로 출력된다.
채널 로크 상태 머신(562, 제43도)는 블럭(570)의 입력 및 심볼 카운트에 의해 부분적으로 제어된다. 블럭(562)는 수신기(2, 제1도)의 여러 부분들로의 채널 변경 제어 신호를 구동하며, 또한 인터럽트 라인(600) 상의 여러 고장에 따라 인터럽트 신호룰 보낸다. 블럭(562)는 또한 멀티플렉서(554,556)을 제어한다.
블럭(602)는 비트 에러 레이트 표시를 제공하며, 제45도에 도시된 무한 임펄스 응답 필터를 포함한다. 플립 플롭(604)는 칩 사건 제어 라인(608) 및 라인(610)상의 인터럽트 마스크의 설정에 따라 수신기에 대한 메인 인터럽트 라인(606)을 재타이밍한다. 리드-솔로몬 디코더(70, 제1도)로부터의 출력을 모니터하는 블럭(602)는 제45도에 더 상세히 도시되어 있다. 각 바이트에 대해 검출된 비트 에러 카운트는 버스(612)상으로 수신된다. 감산기(614) 그룹은 64 심볼마다 비트 에러 레이트의 소수 부분, 1/213을 감산하며, 이는 매 심볼마다 한번씩 비트 에러 레이트의 1/218를 감산하는 것과 근사적으로 등가이다. 이 배열은 가산기의 수가 실질적으로 감소될 수 있기 때문에, 모듈에 필요한 면적을 감소시킨다. 특히, 각 유효 심볼에 대해 모듈은 다음 식에 따라 스케일된 비트 에러 레이트9bit error rate, BER)을 평가한다.
진짜 비트 에러 레이트는 3.8 x 10-8x BER이 된다.
본 발명은 여기 개시한 구조를 참조하여 설명되었지만, 여기 설명한 상세한 내용에 한정되는 것은 아니며, 본 출원은 첨부된 청구 범위의 범위내에서의 모든 수정 및 변경을 포함하는 것으로 한다.

Claims (7)

  1. 콘벌루션 인코딩 방식(convolutional encoding scheme)에 따라 인코드된 수신 데이타 심볼용 디코더(decoder for received data symbols)로서, 상기 데이타가 펑쳐링 매트릭스(puncturing matrix)에 따라 펑쳐되고(punctuated) 복수의 상태 값을 가지며 제1 상태로부터 후속 상태(succeeding state)로의 상태 천이 시퀀스(sequence of state transitions)를 기술하면, 경로(path)가 상기 상태 천이 시퀀스에 의해 규정되는, 수신된 데이타 심볼용 디코더에 있어서,
    측정된 경로(measured path)가 상기 데이타의 인코더에 의해 생성된 경로를 추종할 확률에 상응하는, 상기 제1 상태로부터 상기 후속 상태로의 천이 메트릭(metrics of the transitions)을 계산하기 위하여 상기 수신된 데이타를 수용(accept)하기 위한 발생 유닛(generation unit)과;
    상기 발생 유닛에 응답하여, 상기 데이타 스트림의 송신기에 의해 생성된 경로에 상응하는 경로를 선택하기 위한 선택기(selector)와;
    상기 선택기의 순차 결정 동작(sequential decision operation)을 나타내는 이력정보(historical information)를 보유하기 위한 트레이스백 유닛(traceback unit)과;
    상기 선택기에 의해 선택된 상기 경로의 불법 상태 천이(illegal state transitions)를 계수하기 위한 카운터; 및
    상기 카운터에 응답하여, 펑쳐 레이트(puncture rate)를 결정하고 상기 수신된 데이타의 펑쳐 위상(puncture phase)을 조정하기 위한 제어 유닛
    을 구비하는 것을 특징으로 하는 수신된 데이타 심볼용 디코더.
  2. 콘벌루션 인코딩 방식(convolutional encoding scheme)에 따라 인코드된 수신 데이타 심볼의 디코더(decoder of symbols of received data)로서, 상기 데이타가 펑쳐링 매트릭스(puncturing matrix)에 따라 펑쳐되고(punctuated) 복수의 상태값을 가지며 제1 상태로부터 후속 상태(succeeding state)로의 상태 천이 시퀀스(sequence of state transitions)를 기술하면, 경로(path)가 상기 상태 천이 시퀀스에 의해 규정되는 수신된 데이타 심볼의 디코더에 있어서,
    측정된 경로가 상기 데이타의 인코더에 의해 생성된 경로를 추종할 확률에 상응하는, 상기 제1 상태로부터 상기 후속 상태로의 천이 메트릭(metrics of the transitions)을 계산하기 위하여, 상기 수신된 데이타를 수용(accept)하기 위한 발생유닛(generation unit)과;
    상기 발생 유닛에 응답하여, 상기 데이타 스트림의 송신기에 의해 생성된 경로에 상응하는 경로를 선택하기 위한 선택기(selector); 및
    상기 선택기의 순차 결정 동작(sequential decision operation)을 나타내는 이력정보(historical information)를 보유하기 위한 트레이스백 유닛(traceback unit)을 구비하되, 상기 트레이스백 유닛은 일련의 트레이스백 컬럼(a succession of traceback column)을 가지며, 각 컬럼은 상기 이력 정보의 일부분을 보유하고, 각 트레이스백 컬럼은 복수의 트레이스백 요소(traceback element)를 가지며, 상기 하나의 트레이스백 컬럼의 하나의 트레이스백 요소는 적어도 하나의 이전 트레이스백 컬럼의 내용에 따라 미리 디코드된 선택 라인에 의해 어드레스(address)되고, 상기 각 트레이스백 컬럼의 출력은 프리차지된 라인(precharged line)상에 놓이게 되는 것을 특징으로 하는 수신된 데이타 심볼의 디코더.
  3. 랜덤화(randomize)되어 있고, 콘벌루션 인터리브(convolutionally interleave)되어 있으며 또한 펑쳐 레이트(puncture rate) 및 펑쳐 위상(puncture phase)에 따라 펑쳐되어 있는 데이타 스트림에 대한 에러 검출 및 정정 시스템으로서, 상기 데이타가 심볼 단위로 되어 있고 신호 성좌(signal constellation)로서 심볼 레이트에 따라 전송되는 에러 검출 및 정정 시스템에 있어서,
    제1 모드 및 제2 모드로 동작하는 m-스텝 내부 디코더로서,
    선택된 펑쳐 레이트 및 선택된 펑쳐 위상에 대해 브랜치 메트릭을 출력하기 위한 브랜치 메트릭 계산 유닛과,
    상기 브랜치 메트릭으로부터 경로 메트릭의 값들을 출력하고, 상기 값들을 비교하여 최소값에 대응하는 상기 값들중 한 값을 선택하기 위한 복수의 가산-비교-선택 블럭과,
    상기 가산-비교-선택 블럭의 상기 출력에 작용하여 상기 최소값에 따라 상기 출력을 리스케일링하기 위한 리스케일링 유닛과,
    상기 제1 동작 모드로 동작하며 상기 가산-비교-선택 블럭에 의해 선택된 상기 경로 메트릭의 상기 값의 불법 상태 천이를 검출하고, 상기 선택된 펑쳐 레이트와 상기 선택된 펑쳐 위상을 변화시키도록 상기 브랜치 메트릭 계산 유닛을 제어하기 위하여 상기 심볼의 상기 펑쳐 레이트 및 펑쳐 위상의 추정값들을 출력하기 위한 상태 천이 모듈과,
    상기 제2 동작 모드에서 인에이블되고 상기 상태 천이 모듈에 응답하여 상기 데이타 스트림에서 동기 정보를 식별하기 위한 동기 검색 유닛과, 및
    상기 가산-비교-선택 블럭에 링크되고, 일련의 트레이스백 컬럼을 갖는 트레이스백 모듈을 포함하되, 각각의 컬럼은 상기 가산-비교-선택 블럭에 의해 어느 한 시각에서 결정된 경로들의 선택된 값의 모든 이력 데이타를 나타내며, 상기 트레이스백 컬럼은 m 비트의 트레이스백 데이타를 각각 수용하는 복수의 트레이스백 요소들을 가지고, 상기 트레이스백 요소들은 적어도 하나의 이전 트레이스백 컬럼의 내용에 따라 미리 디코드된 선택 라인에 의해 어드레스되는 m-스텝 내부 디코더와;
    상기 m-스텝 내부 디코더에 결합된 디인터리버(deinterleaver)와;
    상기 디인터리버로부터 디인터리브된 데이타를 수신하는 외부 디코더(outer decoder)와; 및
    상기 외부 디코더에 결합된 역랜덤화기(derandomizer)
    를 포함하는 것을 특징으로 하는 에러 검출 및 정정 시스템.
  4. 랜덤화되어 있고, 콘벌루션 인터리브되어 있으며 펑쳐 레이트와 펑쳐 위상으로 펑쳐되어 있는 직각 위상 천이 변조된(quadrature phase shift keyed) 데이타 스트림용 전송 수신 시스템으로서, 상기 데이는 심볼 단위로 되어 있고 신호 성좌로서 심볼 레이트에 따라 전송되며, 에러 정정된 데이타 스트림을 출력하기 위한 전송 수신 시스템에 있어서,
    상기 전송된 심볼 레이트로 상기 데이타를 수용하기 위한 I, Q 복조기(I, Q demodulator)와;
    상기 I, Q 복조기의 아날로그 출력을 변환하기 위한 아날로그-디지탈 변환기와;
    샘플링 레이트(sampling rate)로 상기 아날로그-디지탈 변환기로부터 샘플들을 수신하는 싱크 보간기(sinc interpolator)와;
    주기 T로 동작하는 제1 수치 제어 발진기(first numerically controlled oscillator)와;
    상기 보간기와 상기 제1 수치 제어 발진기에 결합되고, 상기 주기 T와 상기 수신된 심볼 레이트간의 차이에 응답하는 출력을 갖는 제1 루프 필터(loop filter)를 포함하되, 상기 제1 수치 제어 발진기는 상기 제1 루프 필터에 응답하여 후속하는 샘플들간의 보간 거리를 나타내는 출력 신호를 발생하고, 상기 보간기는 상기 보간 거리에 따라 상기 수신된 샘플들을 보간하여 상기 보간된 샘플들을 나타내는 출력 신호를 생성하기 위한 타이밍 복원 회로와;
    상기 보간기에 결합된 나이키스트 정합 필터(matched Nyquist filter)와;
    제2 수치 제어 발진기와,
    상기 제2 수치 제어 발진기에 응답하여 샘플링된 신호들의 동위상 성분(in phase component) 및 직각 성분(quadrature component)을 수용(accept)하기 위한 디지탈 역회전 회로(digital derotation circuit)와,
    상기 역회전 회로의 출력에 결합되어 있는 위상 에러 추정 회로(phase error estimation circuit)와, 및
    상기 위상 에러 추정 회로의 출력에 결합된 제2 루프 필터를 포함하되, 상기 제2 수치 제어 발진기는 상기 제2 루프 필터에 응답하게 되어 있는, 상기 I, Q 복조기를 제어하기 위한 반송파 복원 회로와;
    상기 심볼들의 신호 성좌(signal constellation)를 회전시키는 성좌 회전 유닛(constellation rotation unit)과;
    제1 모드 및 제2 모드로 동작하며,
    선택된 펑쳐 레이트 및 선택된 펑쳐 위상에 대해 브랜치 메트릭을 출력하기 위한 브랜치 메트릭 계산 유닛과,
    상기 브랜치 메트릭으로부터 경로 메트릭의 값들을 출력하고, 상기 값들을 비교하여 최소값에 상응하는 상기 값들중 한 값을 선택하기 위한 복수의 가산-비교-선택 블럭과,
    상기 가산-비교-선택 블럭의 상기 출력에 작용하여 상기 최소값에 따라 상기 출력을 리스케일링하기 위한 리스케일링 유닛과,
    상기 제1 동작 모드로 동작하며 상기 가산-비교-선택 블럭에 의해 선택된 상기 경로 메트릭의 상기 값의 불법 상태 천이를 검출하며, 심볼들에 대한 펑쳐 레이트, 펑쳐 위상 및 회전 정정의 추정값들을 출력하고, 상기 펑쳐 레이트와 상기 펑쳐 위상의 상기 추정값들에 따라 상기 선택된 펑쳐 레이트와 상기 선택된 펑쳐 위상 제어를 변화시키도록 상기 브랜치 메트릭 계산 유닛을 제어하며, 상기 회전 정정의 상기 추정값을 사용하여 상기 성좌 회전 유닛을 제어하기 위한 상태 천이 모듈과,
    상기 제2 동작 모드에서 인에이블(enable)되고 상기 상태 천이 모듈에 응답하여 상기 데이타 스트림에서 동기 정보를 식별하기 위한 동기 검색 유닛(synchronization search unit)과, 및
    상기 가산-비교-선택 블럭에 링크되고, 일련의 트레이스백 컬럼을 갖는 트레이스백 모듈을 포함하되, 각각의 컬럼은 상기 가산-비교-선택 블럭에 의해 어느 한 시점에서 결정된 경로들의 선택된 값의 모든 이력 데이타를 나타내며, 상기 트레이스백 컬럼은 m 비트의 트레이스백 데이타를 각각 수용하는 복수의 트레이스백 요소들을 가지고, 상기 트레이스백 요소들은 적어도 하나의 이전 트레이스백 컬럼의 내용에 따라 미리 디코드된 선택 라인에 의해 어드레스되는 m-스텝 내부 디코더와;
    상기 m-스텝 내부 디코더에 결합된 디인터리버와;
    상기 디인터리버로부터 디인터리브된 데이타를 수신하기 위한 외부 디코더와;
    상기 외부 디코더에 결합된 역랜덤화기(derandomizer)와;
    상기 역랜덤화기에 결합되고 에러 정정된 데이타 스트림을 출력하기 위한 출력 인터페이스(output interface)와; 및
    상기 복조기, 상기 타이밍 복원 회로, 상기 반송파 복원 회로 및 상기 출력 인터페이스의 상호작용을 제어하기 위한 제2 제어 수단
    을 구비하는 것을 특징으로 하는 전송 수신 시스템.
  5. 콘벌루션 인코딩 방식에 따라 인코드된 수신 데이타 심볼을 디코딩하는 방법으로서, 상기 데이타는 펑쳐링 매트릭스(puncturing matrix)에 따라 펑쳐되고 (punctuated) 복수의 상태 값을 가지며 제1 상태로부터 후속 상태(succeeding state)로의 상태 천이 시퀀스(sequence of state transitions)를 기술하면, 경로(path)가 상기 상태 천이 시퀀스에 의해 정의되는 디코딩 방법에 있어서,
    상기 데이타를 수신하여, 측정된 경로가 상기 데이타의 인코더에 의해 생성된 경로를 추종할 확률에 상응하는, 상기 제1 상태로부터 상기 후속 상태로의 천이 메트릭(metrics of the transitions)을 계산하는 단계와;
    상기 계산 단계에 응답하여, 상기 데이타 스트림의 송신기에 의해 생성된 경로에 상응하는 경로를 선택하는 단계와;
    상기 선택기의 순차 결정 동작(sequential decision operation)을 나타내는 이력정보(historical information)를 보유하는 단계와;
    상기 선택기에 의해 선택된 경로의 불법 상태 천이(illegal state transitions)를 계수하는 단계와; 및
    상기 계수 단계에 응답하여, 펑쳐 레이트(puncture rate)를 결정하고 상기 수신된 데이타의 펑쳐 위상(puncture phase)을 조정하는 단계
    를 포함하는 것을 특징으로 하는 디코딩 방법.
  6. 랜덤화(randomize)되어 있고, 콘벌루션 인코드(convolutionally encode)되어 있으며 펑쳐 레이트(puncture rate) 및 펑쳐 위상(puncture phase)에 따라 펑쳐되어 있는 데이타 스트림에 대한 에러 검출 및 정정 방법으로서, 상기 데이타가 심볼단위로 되어 있고 신호 성좌(signal constellation)로서 심볼 레이트에 따라 전송되는 에러 검출 및 정정 방법에 있어서,
    선택된 펑쳐 레이트 및 선택된 펑쳐 위상에 대해 브랜치 메트릭을 미리 계산(precalculate)하는 단계와,
    상기 미리 계산된 브랜치 메트릭으로부터 경로 메트릭을 계산하는 단계와,
    상기 경로 메트릭을 비교하여 그 중 최소 경로 메트릭(minimum path metric)을 선택하는 단계와,
    상기 최소 경로 메트릭에 따라 값들을 리스케일링(rescaling)하는 단계와,
    제1 모드에서 상기 최소 경로 메트릭에 상응하는 경로의 불법 상태 천이를 검출하는 단계와,
    상기 검출된 불법 상태 천이의 개수에 응답하여 심볼들의 펑쳐 레이트, 및 펑쳐 위상을 추정하는 단계와,
    상기 추정 단계에 응답하여 상기 선택된 펑쳐 레이트와 상기 펑쳐 위상을 가변시키는 단계와,
    상기 검출된 불법 상태 천이에 응답하여 제2 모드의 상기 데이타 스트림에서 동기 정보를 식별하는 단계와, 및
    적어도 하나의 다른 트레이스백 컬럼(traceback column)의 내용에 따라 트레이스백 요소(traceback element)를 어드레스하기 위해 제1 트레이스백 컬럼내의 선택 라인들을 미리 디코딩(predecoding)함으로서, 트레이스백(traceback)을 실행하고 한번에 m 비트의 트레이스백 데이타를 처리하는 단계들에 의해 상기 제1 모드와 상기 제2 모드로 m-스텝 내부 디코딩하는 단계와;
    상기 m-스텝 내부 디코딩된 데이타를 디인터리브(deinterleave)하는 단계와;
    상기 디인터리브된 데이타를 외부 디코딩(outer-decoding)하는 단계와; 및
    상기 외부 디코드된 데이타를 역랜덤화(derandomizing)하는 단계
    를 포함하는 것을 특징으로 하는 에러 검출 및 정정 방법.
  7. 콘벌루션 인터리브되어 있으며 펑쳐 레이트와 펑쳐 위상에 따라 펑쳐되어 있는 랜덤화된 데이타의 직각 위상 천이 변조된(quadrature phase shift keyed) 스트림용 전송 수신 시스템으로서, 상기 데이타는 심볼 단위로 되어 있고 신호 성좌로서 심볼 레이트에 따라 전송되어 에러 정정된 데이타 스트림을 출력하기 위한 전송 수신 시스템에 있어서,
    상기 전송된 심볼 레이트에 따라 상기 데이타를 수용하기 위한 I, Q 복조기와;
    상기 I, Q 복조기의 아날로그 출력을 변환하기 위한 아날로그-디지탈 변환기와;
    샘플링 레이트에 따라 상기 아날로그-디지탈 변환기로부터 샘플들을 수신하기 위한 싱크 보간기(sinc interplator)와;
    타이밍 복원 회로와;
    상기 싱크 보간기에 결합된 나이키스트 정합 필터와;
    상기 I, Q 복조기를 제어하기 위한 반송파 복원 회로와;
    상기 심볼들의 신호 성좌를 회전시키기 위한 성좌 회전 유닛과;
    제1 모드와 제2 모드로 동작하는 m-스텝 내부 디코더와;
    상기 m-스텝 내부 디코더에 결합된 디인터리버와;
    상기 디인터리버로부터 디인터리브된 데이타를 수신하기 위한 외부 디코더와;
    상기 외부 디코더에 결합된 역랜덤화기와;
    상기 역랜덤화기에 결합되고 에러 정정된 데이타 스트림을 출력하기 위한 출력 인터페이스와; 및
    상기 복조기, 상기 타이밍 복원 회로, 및 상기 반송파 복원 회로의 상호작용을 제어하기 위한 제2 제어 수단
    을 구비하는 것을 특징으로 하는 전송 수신 시스템.
KR1019960019952A 1995-06-07 1996-06-05 인코드된 데이타 스트림에 대한 에러 검출 및 정정시스템 KR100265674B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US8/480,976 1995-06-07
US08/480,976 US5724396A (en) 1995-06-07 1995-06-07 Signal processing system
GB9605190.9 1996-03-12
GB9605190A GB2302779A (en) 1995-06-07 1996-03-12 Decoding punctured convolutionally encoded data

Publications (2)

Publication Number Publication Date
KR970004374A KR970004374A (ko) 1997-01-29
KR100265674B1 true KR100265674B1 (ko) 2000-09-15

Family

ID=26308915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960019952A KR100265674B1 (ko) 1995-06-07 1996-06-05 인코드된 데이타 스트림에 대한 에러 검출 및 정정시스템

Country Status (6)

Country Link
EP (1) EP0748056A3 (ko)
JP (1) JP3359817B2 (ko)
KR (1) KR100265674B1 (ko)
CN (1) CN1143288A (ko)
AU (1) AU699565B2 (ko)
CA (1) CA2178448A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170085066A (ko) * 2014-12-10 2017-07-21 제말토 에스에이 다수의 상이하고 독립적인 분기를 사용하여 민감한 계산을 실행하는 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437899B1 (ko) * 1996-12-26 2004-11-03 엘지전자 주식회사 디지털무선채널시뮬레이터
JP3388346B2 (ja) 1999-05-10 2003-03-17 アンリツ株式会社 ディジタル変調信号測定装置
FR2817091B1 (fr) * 2000-11-22 2003-03-21 St Microelectronics Sa Codeur a turbocodes a synchronisation facilitee
KR100441510B1 (ko) * 2002-02-01 2004-07-23 삼성전자주식회사 채널상태정보를 적용된 데이터 에러 정정장치
KR102675841B1 (ko) * 2016-05-17 2024-06-18 삼성전자주식회사 바이너리 벡터 기반의 테스트 장치
CN112114874B (zh) * 2020-08-20 2021-10-15 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ198844A (en) * 1980-11-14 1984-05-31 Plessey Overseas Digital information transmission: two dimensional code
US4932029A (en) * 1987-07-24 1990-06-05 Ant Nachrichtentechnik Gmbh Method and apparatus for correcting errors in convolutional code signals
US5416787A (en) * 1991-07-30 1995-05-16 Kabushiki Kaisha Toshiba Method and apparatus for encoding and decoding convolutional codes
US5363408A (en) * 1992-03-24 1994-11-08 General Instrument Corporation Mode selective quadrature amplitude modulation communication system
US5438590A (en) * 1993-05-24 1995-08-01 Comstream Corporation Transmitting and receiving apparatus and method including punctured convolutional encoding and decoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170085066A (ko) * 2014-12-10 2017-07-21 제말토 에스에이 다수의 상이하고 독립적인 분기를 사용하여 민감한 계산을 실행하는 방법
KR101889243B1 (ko) 2014-12-10 2018-09-20 제말토 에스에이 다수의 상이하고 독립적인 분기를 사용하여 민감한 계산을 실행하는 방법

Also Published As

Publication number Publication date
KR970004374A (ko) 1997-01-29
CN1143288A (zh) 1997-02-19
AU5582996A (en) 1996-12-19
JP3359817B2 (ja) 2002-12-24
CA2178448A1 (en) 1996-12-08
EP0748056A2 (en) 1996-12-11
EP0748056A3 (en) 1997-07-02
AU699565B2 (en) 1998-12-10
JPH09219652A (ja) 1997-08-19

Similar Documents

Publication Publication Date Title
US6154871A (en) Error detection and correction system for a stream of encoded data
US5724396A (en) Signal processing system
JP2768169B2 (ja) データ伝送方式
IE921372A1 (en) Method and apparatus for resolving phase ambiguities in trellis coded modulated data
JPH098853A (ja) 信号処理装置及び方法
JPH10150369A (ja) ビタビデコーダのトレースバック
KR100265674B1 (ko) 인코드된 데이타 스트림에 대한 에러 검출 및 정정시스템
JP3699344B2 (ja) 復号器
EP1195909A1 (en) Method and apparatus for demodulation
EP1495572A2 (en) Hdtv trellis decoder architecture
JP2004512742A (ja) グレイ符号化された信号からソフトビット情報を生成する方法
WO2003017500A1 (en) Coded modulation scheme for a wireless communication system and methods thereof
JP2000092139A (ja) パケットバイナリ畳み込み符号
US7191387B1 (en) Method and apparatus for forward error correction
US6075822A (en) Traceback device of a trellis decoder
JPS62190934A (ja) デ−タ復調装置
GB2302779A (en) Decoding punctured convolutionally encoded data
EP1428321A1 (en) Method and apparatus for constellation decoder
TW312072B (en) An error detection and correction system for a stream of encoded data
US6947503B2 (en) Method and circuit for synchronizing a receiver for a convolutionally coded reception signal
Chishtie Viterbi implementation on the TMS320C5x for V. 32 modems
JP3347682B2 (ja) 誤り訂正回路
JP3031697B2 (ja) 回線品質検出装置
KR0169775B1 (ko) 비터비 복호기에서의 동기 및 비동기/위상이동 검출 방법 및 장치
EP0312200A2 (en) Synchroniser for a decoder and decoder system

Legal Events

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

Payment date: 20130531

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 15

EXPY Expiration of term