KR100336246B1 - 디지탈프로세서및코-프로세서를구비한집적회로 - Google Patents

디지탈프로세서및코-프로세서를구비한집적회로 Download PDF

Info

Publication number
KR100336246B1
KR100336246B1 KR1019940029744A KR19940029744A KR100336246B1 KR 100336246 B1 KR100336246 B1 KR 100336246B1 KR 1019940029744 A KR1019940029744 A KR 1019940029744A KR 19940029744 A KR19940029744 A KR 19940029744A KR 100336246 B1 KR100336246 B1 KR 100336246B1
Authority
KR
South Korea
Prior art keywords
processor
digital processor
digital
viterbi
integrated circuit
Prior art date
Application number
KR1019940029744A
Other languages
English (en)
Other versions
KR950015072A (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 KR950015072A publication Critical patent/KR950015072A/ko
Application granted granted Critical
Publication of KR100336246B1 publication Critical patent/KR100336246B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • 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/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations

Abstract

신호 프로세서(예컨대, 11)와 병렬 동작하는 삽입된 비터비 코-프로세서(예컨대, 15)를 구비한 신호 프로세서(예컨대, 11)가 개시된다.

Description

디지탈 프로세서 및 코-프로세서를 구비한 집적 회로
관련 출원에 대한 참조
본 출원은 다음의 동시 출원되어 계류중인 출원들에 관련되며, 이들 계류중인 각 출원은 이하 참조로 기록된다.
출원 번호 제 08/153,334호, "현재 상태/다음 상태 레지스터들의 효율적인 활용"이라는 제목으로 1993년 11월 16일 디.블레이커, 엠. 디아몬드스테인, 지. 엘라드, 엠. 모빈, 에이치.삼 및 엠. 티에르박 등에 의해 출원됨. 본사의 도켓 번호(docket number) 제 Blaker 3-2-3-3-4-10호임;
출원 번호 제 08/152,531호, "가변 길이 트레이스백"이라는 제목으로 1993년11월 16일 디. 블에이커, 지. 엘라드, 및 엠. 모빈 등에 의해 출원됨. 본사의 도켓 번호 제 Blaker 4-4-4호임;
출원 번호 제 08/153,333호, "전력 및 시간 절약 초기화 트레이스백"이라는 제목으로 1993년 11월 16일 디. 블에이커, 지. 엘라드, 및 엠. 모빈 등에 의해 출원됨. 본사의 도켓 번호 제 Blaker 6-6-6호임;
출원 번호 제 08/152,805호, "최소 비용 인덱스 레지스터를 갖는 디지탈 수신기"라는 제목으로 1993년 11월 16일 디. 블에이커, 지. 엘라드, 엠. 모빈 및 에이치. 삼 등에 의해 출원됨. 본사의 도켓 번호 제 Blaker 2-2-2-3호임;
출원 번호 제 08/153,405호, "공유된 메모리를 갖는 비터비 디코더 및 디지탈 프로세서"라는 제목으로 1993년 11월 16일 엠. 디아몬드스테인, 에이치.삼 및 엠. 티에르박 등에 의해 출원됨. 본사의 도켓 번호 제 Blaker 5-5-5-9호임;
기술 분야
본 발명은 일반적으로 디지탈 신호 프로세서에 관한 것으로, 보다 구체적으로 비터비(Viterbi) 처리를 실행하는 디지탈 신호 프로세서에 관한 것이다.
발명의 배경
이동 디지탈 셀룰러 전화들 등의 이동 통신 장치들은 송수신된 디지탈 신호들을 처리 및 필터링하기 위해 자주 디지탈 신호 프로세서를 사용한다. 흔히, 인입 신호들에서의 에러들 정정을 위한 비터비 처리를 구현하기 위해 별개의 칩이 제공된다. 대안적으로, 비터비 처리가 디지탈 신호 프로세서내의 소프트웨어에 인코딩된다.
비터비 처리는 포워드(forward) 에러 정정을 제공하는 최대 확률 디코딩 처리(maximum likelihood decoding process)이다. 비터비 처리는 비트 스트림 등의 인코딩된 신호들의 시퀀스를 디코딩하는데 이용된다. 비트 스트림은 심볼 순간(symbol instant)을 나타내는 각각의 비트들의 세트를 가지고 여러 매체를 통한 통신 시스템 전송에서의 인코딩된 정보를 나타낼 수도 있다. 디코딩 처리시에, 비터비 프로세서는 어느 한 비트 시퀀스가 전송되었을 가능성이 가장 큰지를 결정하기 위해 각각의 심볼 순간에서 가능한 비트 시퀀스들중 한 비트 시퀀스로 되돌아 작동한다. 한 심볼 순간에서의 비트 상태로부터 다음의 후속 심볼 순간에서의 비트 상태로의 가능한 전이들은 제한된다. 한 상태로부터 다음 상태로의 각각의 가능한 전이는 각각 그래프로 도시될 수 있고 브렌치로서 정의된다. 상호 접속된 브렌치들의 시퀀스는 경로(path)로서 정의된다. 각각의 상태는 비트 스트림내의 다음 비트를 수신하면 제한된 수의 다음 상태들로 전이할 수 있다. 디코딩 처리동안 몇몇의 경로들은 유지되지만 다른 경로는 유지되지 않는다. 허용될 수 없는 전이들을 제거함으로써, 유지될 확률이 가장 높은 경로들을 결정하는 데 있어 효율적인 동작이 이루어 질 수 있다. 비터비 처리는 전형적으로 각각의 브렌치에 관련된 브렌치 메트릭(metric)을 정의 및 계산하며 이 브렌치 메트릭을 이용하여 어느 경로들이 유지되고 어느 경로들이 유지되지 않을지를 결정한다.
전형적으로, 비터비 처리는 디지탈 신호 처리 칩으로부터 분리된 칩상에 구형된다(또는, 상기 언급된대로, 디지탈 신호 프로세서 소프트웨어로 구현될 수도 있음). 수신된 신호들은 디코딩을 위해 먼저 비터비 프로세서로 진행되는 반면에,디지탈 신호 프로세서는 작동하지 않는다. 그후, 디코딩된 신호들은 추후 처리를 위해 디지탈 신호 프로세서로 진행된다.
이동 통신 장치가 확산됨에 따라, 수신 신호들에 대한 더욱 신속하고 더욱 효율적인 처리에 대한 요구가 남아 있다.
발명의 개요
신호들의 효율적인 처리는 본 발명에 의해 성취되는데, 본 발명은 신호 처리 기능을 수행하는 디지탈 프로세서 및 비터비 디코딩 기능을 구현하는 삽입된 코-프로세서(co-processor)를 포함하며, 상기 디지탈 프로세서는 신호 처리 기능을 동시에 수행한다.
상세한 설명
디지탈 신호 프로세서(DSP)는 참조 번호(11)로 표시된다. 디지탈 신호 프로세서의 마스터 제어는 제어 유닛(13)에 의해 주어진다. 에러 정정 코-프로세서(ECCP)(15)는 디지탈 신호 프로세서(11)내에 삽입된다. ECCP(15)는 그 자체의 내부 제어 유닛(17)의 지시하에 동작한다. DSP 제어 유닛(13)으로부터의 단일 명령은 제어 유닛(17)이 ECCP(15)에 완전한 비터비 디코딩 동작의 수행을 지시하도록 야기한다. 비터비 처리가 ECCP 제어 유닛(17)내에 삽입되어 있으므로, 상당한 DSP 코드 압축이 달성된다.
DSP 제어 유닛(13)은 세개의 인터페이스 레지스터들을 통해 ECCP(15)와 통신한다. 어드레스 레지스터 ear(19)는 ECCP의 내부 메모리 맵핑된 레지스터(internal memory mapped register)를 간접적으로 어드레스 하는데 활용된다. 데이터 레지스터 edr(21)은, ECCP의 내부 메모리 맵핑된 레지스터로부터 간접적으로 판독하거나 그 레지스터에 기록하기 위해, 어드레스 레지스터(19)와 협력하여 작업한다. 각각의 액세스후에, 어드레스 레지스터(19)의 내용들은 한개씩 증가된다. ECCP(15)로의 명령들은 명령 레지스터 eir(23)를 통해 주어진다. 적절한 코드가 명령 레지스터(23)에 주어질때, ECCP(15)는 다음중 어느 하나를 수행할 것이다. 즉, ⅰ) MLSE(최대 확률 시퀀스 추정), ⅱ) 컨벌루션 디코딩, ⅲ) 간단한 트레이스백 동작, 당업자들에게는 비터비 처리가 MLSE 또는 컨벌루션 디코딩 둘 모두를 제공하는 데 사용될 수 있음이 주지되어 있다.
ECCP(15)내에 레지스터들(100)이 주어진다. 레지스터들(100)은 복합 채널 평가치들(estimates), 생성 다항식들, 복합 수신 신호들, 컨벌루션 디코딩을 위한 입력 신호들, 및 디코딩된 심볼들을 저장한다. 이들 각각의 레지스터들은 ear 레지스터(19)에 어드레스를 기록하고 edr 레지스터(21)에 기록 또는 판독함으로써 액세스된다. ECCP(15)가 가능하도록 지시하는 명령은 eir 레지스터(23)에 기록된다.
MLSE 동작이 희망된다면, 제어 유닛(17)내의 제어 레지스터 ECON(25)은 MLSE 동작에 요구된 탭들의 수를 레지스터 19 및 21을 통해 수신한다. 그러나, 컨벌루션 코딩을 위한 명령이 레지스터 23을 통해 주어진다면, 제어 레지스터 25는 2 내지 7의 여러 제한 길이(constraint length)들 및 1/1 내지 1/6 의 코드율들에 대해 구성될 수 있다.
ECCP(15)는 일반적으로 DSP(11)내의 나머지 다른 부분과 독립적으로, 및 그들과 병렬로 동작한다. 따라서, 예를들어 처리 시퀀스의 시작에서 ECCP(15)는 비활성일 수도 있다. 반면에, DSP(11)의 나머지 다른 부분은 신호를 수신 또는 송신하거나 다른 동작들을 수행한다. DSP(11)의 나머지 다른 부분은 ECCP(15)의 동작 모드들을 프로그램한다.
다음에, DSP 코어(13)는 ECCP(15)가 비터비 처리를 개시하도록 지시하는 동안, DSP(11)의 나머지 다른 부분은 음성 대역 또는 기저 대역 코덱으로부터 새로운 신호를 수신 또는 송신하고, 음성 처리 알고리즘을 실행하며, 채널 적응(adaptation)을 수행하고, 암호화/해독화 또는 인터리빙(interleaving)/디인터리빙(de-interleaving) 등의 다른 처리를 계속 수행한다. 그 동안, ECCP(15)는 코어 프로세서(13)에 의해 명령을 받아, MLSE 처리 또는 컨벌루션 디코딩 동작을 수행한다.
ECCP(15)가 비터비 처리를 실행하느라 바쁠 때, EBUSY 신호(29)가 코어 프로세서 유닛(13)에 공급된다.
ECCP(15)가 그 동작 수행을 종료했을때, ECCP(15)는 EREADY 신호(27)를 코어 프로세서(13)에 공급한다. EREADY 신호는 ECCP(15)에 공급된 정보가 MLSE를 위한 비터비 처리 또는 컨벌루션 디코딩됨을 코어 프로세서(13)에 나타낸다. 몇몇의 환경들에서는, 수신된 신호에 대해 먼저 MLSE를 수행하고 난 후 컨벌루션 디코딩을 수행하는 것이 바람직하다. 이와 같이, 발생된 비트 스트림은 MLSE를 위해 ECCP(15)에 공급된다. MLSE가 완료된 후, EREADY 신호(27)는 제어 유닛에 공급된다. MLSE 처리된 신호들을 그후 DSP(11)의 나머지 다른 부분에 의해 해독, 디인터리빙, 및 재정렬되고 레지스터 23을 통해 명령과 함께 ECCP(15)에 다시 입력되어,상기 MLSE 처리된 신호들은 컨벌루션 디코딩을 위해 비터비 처리된다.
또다른 환경들에서는, MLSE가 요구되지 않고 단지 컨벌루선 디코딩만이 수행될 수도 있다. 아뭏튼, ECCP가 종료된 후, 그것은 EREADY 신호를 공급하고 비터비 디코딩된 비트 스트림은 추후 처리를 위해 DSP(11)의 나머지 다른 부분에 이용될 수 있다. 그러한 추후 처리는 적정 포맷으로의 데이터 프리젠테이션 또는 음성 압축해제(decompression)를 포함할 수도 있다. ECCP 와 DSP(11)의 다른 부분간의 이러한 동작의 병렬화는 종래기술에서 지급까지 실현되지 않았던, 수신 신호에 대한 매우 시기 적절하고 효율적인 처리를 제공한다.
비터비 동작의 출력은 하드 출력 또는 소프트 출력중의 어느 하나일 수 있다. 하드 출력은 이진 판단(참/거짓, 또는 0-1 혹은 +1, -1)을 나타낸다. 소프트 출력은 신뢰 측정(confidence measure)에 관련된 하드 출력이다. 코어부(13)는 ECCP(15)가 하드 출력을 제공할 것인지 소프트 출력을 제공할 것인지를 지시한다. 당업자들에게 공지된 여러 유형의 소프트 판단 출력들이 제공될 수도 있다.
제 2 도는 ECCP(15)와 DSP(11)의 다른 부분과의 병렬 동작을 보다 상세하게 설명한 블럭도이다. 디코딩 동작의 시작에서, 블록 101에 표시된대로, EBUSY 신호는 거짓이며, ECCP(15)는 턴 오프되어 로드될 준비가 된다. 블럭(103)은 ECCP(15)가 코어 프로세서(13)에 의해 레지스터(23)를 통해 프로그램됨을 나타낸다. ECCP(15)에 공급된 정보중에는 비터비 트레이스백 및 제한 길이들, 생성 다항식이 있다. MLSE 동작이 희망된다면, 채널 탭들의 갯수가 또한 주어진다.
다음에, 입력 신호가 ECCP에 로드된다(블록 105). ECCP(15)가 제 1 업데이트명령을 수신할 때(블럭 103), EBUSY 플래그의 값은 하이이며, ECCP는 턴 온되어 완전한 비터비 동작을 시작한다. ECCP(15)는 제공된 컨벌루션 명령 또는 MLSE에 따라 업데이트 계산을 수행한다(블럭 109). 일반적으로, 업데이팅은 각각의 가능한 브렌치에 대한 브렌치 메트릭 계산, 그 브렌치 발생단의 상태에 관련된 누적 값에 상기 브렌치 메트릭을 부가, 상태에서의 각각의 가능한 브렌치 종료에 대한 그 누적 값을 비교, 및 브렌치 종료단에 관련된 최소 누적 값을 선택하는 동작을 포함한다. 그후, 심볼은 디코딩되어 경로 메모리에 대응한다(최대 확률의 측면에서).
다음, 블록 111에 표시된 대로, 제 1 심볼이 디코딩된다. 그러나, 불충분한 심볼들이 적절한 트레이스백을 수행하도록 수신되었기 때문에, 제 1 디코딩된 심볼은 무효이며 따라서 버려진다. 다음, 블록 113, 115, 117에 나타낸 대로, 트레이스백 길이와 동일한 입력 심볼들의 양은 순차적으로 DSP에 로드되었고, MLSE 또는 컨벌루션 명령은 업데이트되었으며, (다시 로딩된 심볼들의 수가 여전히 불충분하기 때문에) 트레이스백 길이 TL과 숫자상 동일한 무효 디코딩 심볼 개수가 얻어졌다. (물론, 필요하다면, 더 작은 트레이스백 길이를 이용하여 어떤 채널 적응 알고리즘들에 대해 유효 심볼 디코딩이 가능하다. 이론적으로, 최상의 디코딩된 심볼은 트레이스백 길이 TL 이 더욱 길 때 얻어진다). 만일 트레이스백 길이가 심볼 TL 로 표시된다면, 제 1 의 TL 신호들은 무효이며 버려진다.
블록들 119, 121, 123은 제 1 심볼의 유효 디코딩을 설명하며, 심볼 번호 TL+1가 로드된후, MLSE/컨벌루션 갱신이 수행되며, 제 1 유효 심볼이 디코딩되었다. 다음에, 그 남은 입력 심볼들은 심볼 수 n까지 로드되며, 블록들 125, 127,129 에 의해 표시된 바와 같이, n 개의 TL 유효 디코딩된 심볼들과 동일한 양이 얻어진다(n 은 입력 심볼들의 총 수). 처리내의 이 시점에서, 모든 입력 신호들은 ECCP에 제공되었다. n 개의 유효 디코딩된 심볼들을 제공하는 완전한 트레이스백들이 블록들 131, 133, 135, 137에 나타낸 대로 수행될 수도 있다. 각각의 트레이스백 명령에 이어, 한개의 유효 디코딩된 심볼이 얻어진다. 트레이스백 명령은 TL 번 실행되어, 트레이스백 메모리에 포착된 모든 디코딩된 심볼들을 얻는다.
블록 137에 나타낸 바와 같이, n 개의 유효 디코딩된 심볼들이 얻어진 후, EBUSY 플래그는 로우로 되며, ECCP는 턴 오프되고, 모든 유효 디코딩된 심볼들은 추후 처리를 위해 디지탈 신호 프로세서의 다른 부분에 전송된다.
제 1 도는 본 발명의 실시예를 설명하는 블럭도.
제 2 도는 본 발명에 따른 처리 과정을 설명하는 블럭도.
♣ 도면의 주요부분에 대한 부호의 설명 ♣
11 : 디지탈 신호 프로세서 15 : 에러 정정 코-프로세서(ECCP)
17 : 제어 유닛

Claims (12)

  1. 집적 회로에 있어서:
    신호 처리 기능을 수행하기 위한 디지탈 프로세서(예컨대, 11);
    비터비(Viterbi) 디코딩 기능을 구현하는 삽입된 코-프로세서(예컨대, 15)로서, 상기 코-프로세서(예컨대, 15)가 상기 비터비 디코딩 기능을 수행하는 동안, 상기 디지탈 프로세서(예컨대, 11)는 신호 처리 기능을 동시에 수행하는, 상기 코-프로세서와;
    상기 코-프로세서의 복수의 내부 메모리 맵핑된 레지스터들(internal memory mapped registers) 중 적어도 하나를 어드레스하기 위한 어드레스 레지스터와;
    상기 복수의 내부 메모리 맵핑된 레지스터들 중 상기 적어도 하나로부터 판독하고 상기 복수의 내부 메모리 맵핑된 레지스터들 중 상기 적어도 하나에 기록하기 위해, 상기 어드레스 레지스터와 함께 연결되어있는(co-pending) 데이터 레지스터를 포함하며,
    상기 코-프로세서는 상기 디지탈 프로세서의 제어하에 작동하고, 상기 디지탈 프로세서로부터의 명령이 수신되면 동작을 시작하고, 상기 코-프로세서가 종결된 때 상기 디지탈 프로세서에 신호를 제공하는, 집적 회로.
  2. 제 1 항에 있어서, 상기 코-프로세서(예컨대, 15)는 최대 확률 시퀀스 추정(maximum likelihood sequence estimation) 또는 컨벌루션 디코딩을 수행하도록 상기 디지탈 프로세서(예컨대, 11)에 의해 프로그래밍되는, 집적 회로.
  3. 제 2 항에 있어서, 상기 디지탈 프로세서(예컨대, 11)는 최대 확률 시퀀스 추정이 수행될 때 상기 코-프로세서에 채널 탭들의 수를 제공하는, 집적 회로.
  4. 제 2 항에 있어서, 상기 디지탈 프로세서(예컨대, 11)는 컨벌루션 디코딩이 수행될 때 상기 코-프로세서(예컨대, 15)에 비터비 트레이스백 길이, 제한 길이, 및 생성 다항식을 제공하는, 집적 회로.
  5. 제 1 항에 있어서, 상기 디지탈 프로세서(예컨대, 11)는 상기 코-프로세서(예컨대, 15)로 하여금 제 1 비트 스트림에 대한 최대 확률 신호 추정을 수행하도록 명령할 수 있으며, 이에 의해 제 2 비트 스트림을 생성하고 그후 상기 제 2 비트 스트림에 대한 컨벌루션 디코딩을 수행하며, 이에 의해, 제 3 비트 스트림을 생성하는, 집적 회로.
  6. 제 1 항에 있어서,
    a) 상기 디지탈 프로세서(예컨대, 11)가 상기 코-프로세서를 프로그램하며(예컨대, 103);
    b) 상기 디지탈 프로세서가 제 1 심볼을 상기 코-프로세서에 로드하며(예컨대, 105);
    c) 상기 코-프로세서가 상기 심볼에 대해 비터비 업데이트 동작을 수행하며, 이에 의해, 디코딩된 심볼을 얻게 되며(예컨대, 111);
    d) 상기 디지탈 프로세서가 다른 신호 처리 기능들(예컨대, 113, 115, 117)을 수행하는 동안에 단계들 b) 및 c)가 TL-1번 반복되며;
    e) 상기 디지탈 프로세서는 TL+1 심볼을 상기 코-프로세서에 로드하며(예컨대, 119);
    f) 상기 코-프로세서는 상기 TL+1 심볼에 대해 비터비 트레이스백 동작을 수행하며, 이에 의해 유효 디코딩된 심볼을 얻게 되며(예컨대, 123);
    g) 상기 디지탈 프로세서가 마지막 n 번째의 심볼을 로드하며(예컨대, 125);
    이에 의해 상기 코-프로세서는 상기 n 개의 심볼들을 활용하여 트레이스백 길이 TL을 갖는 비터비 트레이스백 동작을 수행하며, 그에 의해 n 개의 유효 디코딩된 심볼들을 얻게 되는(예컨대, 137), 집적 회로.
  7. 제 6 항에 있어서, 상기 디지탈 프로세서(예컨대, 11)는 상기 코-프로세서가 상기 비터비 처리를 수행하는 동안, 채널 적응, 암호화, 해독화, 인터리빙(interleaving) 또는 디인터리빙(de-interleaving) 음성 처리 및 입력/출력 동작들로 구성된 그룹으로부터 선택된 기능을 수행하는 집적 회로.
  8. 제 1 항에 있어서, 상기 디지탈 프로세서(예컨대, 11)는 단일 명령을 상기 코-프로세서(예컨대, 15)에 제공하며, 상기 단일 명령은 상기 코-프로세서(예컨대,15)로 하여금,
    모든 상태들로의 가능한 모든 상태 전이들에 대한 적절한 브렌치 메트릭의 계산들을 수행하고;
    비터비 알고리즘의 더하고-비교하며-선택하는(add-compare-select) 모든 해당 처리들을 수행하며;
    완전한 트레이스백 디코딩 처리를 수행하며;
    상기 트레이스백 동작의 끝에서 디코딩된 심볼들을 생성하게 하는 집적 회로.
  9. 제 1 항에 있어서, 상기 디지탈 프로세서(예컨대, 11)는 상기 코-프로세서(예컨대, 15)에 코드율(code rate)을 제공하는 집적 회로.
  10. 제 1 항에 있어서, 상기 디지탈 프로세서(예컨대, 11)는 상기 코-프로세서(예컨대, 15)에 상기 브렌치 메트릭 계산 유형을 제공하는 집적 회로.
  11. 제 1 항에 있어서, 상기 디지탈 프로세서(예컨대, 11)는 소프트 또는 하드 판단 출력을 제공할 것인지의 여부를 상기 코-프로세서(예컨대, 15)에 명령하는, 집적 회로.
  12. 제 1 항에 있어서, 상기 디지탈 프로세서(예컨대, 11)는 상기 코-프로세서(예컨대, 15)에 제한 길이를 제공하는, 집적 회로.
KR1019940029744A 1993-11-16 1994-11-14 디지탈프로세서및코-프로세서를구비한집적회로 KR100336246B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US153,391 1988-02-08
US15339193A 1993-11-16 1993-11-16
US153391 1993-11-16

Publications (2)

Publication Number Publication Date
KR950015072A KR950015072A (ko) 1995-06-16
KR100336246B1 true KR100336246B1 (ko) 2002-11-23

Family

ID=22547025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940029744A KR100336246B1 (ko) 1993-11-16 1994-11-14 디지탈프로세서및코-프로세서를구비한집적회로

Country Status (6)

Country Link
US (1) US5748650A (ko)
EP (2) EP1111798B1 (ko)
JP (1) JPH07202726A (ko)
KR (1) KR100336246B1 (ko)
DE (1) DE69434249T2 (ko)
TW (1) TW243568B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2724273B1 (fr) * 1994-09-05 1997-01-03 Sgs Thomson Microelectronics Circuit de traitement de signal pour mettre en oeuvre un algorithme de viterbi
US8489860B1 (en) * 1997-12-22 2013-07-16 Texas Instruments Incorporated Mobile electronic device having a host processor system capable of dynamically canging tasks performed by a coprocessor in the device
KR100572945B1 (ko) * 1998-02-04 2006-04-24 텍사스 인스트루먼츠 인코포레이티드 효율적으로 접속 가능한 하드웨어 보조 처리기를 구비하는디지탈 신호 처리기
US20020110206A1 (en) * 1998-11-12 2002-08-15 Neal Becker Combined interference cancellation with FEC decoding for high spectral efficiency satellite communications
US7051189B2 (en) * 2000-03-15 2006-05-23 Arc International Method and apparatus for processor code optimization using code compression
WO2002021699A2 (en) * 2000-09-08 2002-03-14 Avaz Networks Programmable and multiplierless viterbi accelerator
US6944206B1 (en) * 2000-11-20 2005-09-13 Ericsson Inc. Rate one coding and decoding methods and systems
EP1410513A4 (en) * 2000-12-29 2005-06-29 Infineon Technologies Ag CHANNEL CODEC PROCESSOR CONFIGURABLE FOR MULTIPLE WIRELESS COMMUNICATION STANDARDS
JP2007299279A (ja) * 2006-05-01 2007-11-15 Toshiba Corp 演算装置、プロセッサシステム、及び映像処理装置
US8694878B2 (en) * 2011-06-15 2014-04-08 Texas Instruments Incorporated Processor instructions to accelerate Viterbi decoding
DE102014107297A1 (de) 2014-05-23 2015-11-26 Karl Storz Gmbh & Co. Kg Positionsgeregelter elektrodynamischer Linearantrieb
JP6883012B2 (ja) 2017-12-01 2021-06-02 ゴゴロ インク ハブ装置および関連システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930020264A (ko) * 1992-03-23 1993-10-19 미셀 달사세 비터비 알고리즘을 프로세싱하기 위한 프로세서를 포함하는 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2564805B2 (ja) * 1985-08-08 1996-12-18 日本電気株式会社 情報処理装置
US4748626A (en) * 1987-01-28 1988-05-31 Racal Data Communications Inc. Viterbi decoder with reduced number of data move operations
US5151904A (en) * 1990-09-27 1992-09-29 The Titan Corporation Reconfigurable, multi-user viterbi decoder
FR2669445B1 (fr) * 1990-11-15 1993-01-08 Alcatel Radiotelephone Dispositif prevu pour le traitement de l'algorithme de viterbi comprenant un processeur et un operateur specialise.
US5220570A (en) * 1990-11-30 1993-06-15 The Board Of Trustees Of The Leland Stanford Junior University Programmable viterbi signal processor
BE1004814A3 (nl) * 1991-05-08 1993-02-02 Bell Telephone Mfg Decodeerinrichting.
US5432804A (en) * 1993-11-16 1995-07-11 At&T Corp. Digital processor and viterbi decoder having shared memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930020264A (ko) * 1992-03-23 1993-10-19 미셀 달사세 비터비 알고리즘을 프로세싱하기 위한 프로세서를 포함하는 장치

Also Published As

Publication number Publication date
EP1111798A1 (en) 2001-06-27
EP1111798B1 (en) 2005-01-26
KR950015072A (ko) 1995-06-16
TW243568B (en) 1995-03-21
EP0653848A3 (en) 1997-02-05
US5748650A (en) 1998-05-05
JPH07202726A (ja) 1995-08-04
DE69434249D1 (de) 2005-03-03
EP0653848A2 (en) 1995-05-17
DE69434249T2 (de) 2005-12-22

Similar Documents

Publication Publication Date Title
US5502735A (en) Maximum likelihood sequence detector
JP3900637B2 (ja) ビタビ復号装置
JP3677257B2 (ja) 畳込み復号装置
US5375129A (en) Maximum likelihood sequence detector
US7603613B2 (en) Viterbi decoder architecture for use in software-defined radio systems
KR100336246B1 (ko) 디지탈프로세서및코-프로세서를구비한집적회로
US5454014A (en) Digital signal processor
KR20020048975A (ko) 비터비 디코더 용 고속 acs 유닛
US8566683B2 (en) Power-reduced preliminary decoded bits in viterbi decoders
JPH07202727A (ja) 電力および時間を節約した初期トレースバック
US7979781B2 (en) Method and system for performing Viterbi decoding using a reduced trellis memory
KR20030036845A (ko) 트렐리스에 기초한 채널 부호화를 위한 복호기
EP1056213A2 (en) Decoding method and apparatus for decoding
US6886128B2 (en) Decoding apparatus, decoding method, data-receiving apparatus and data-receiving method
US6857101B1 (en) Apparatus and method of storing reference vector of state metric
US20110235757A1 (en) Decoding method and decoding device
US7120851B2 (en) Recursive decoder for switching between normalized and non-normalized probability estimates
JP2000224054A (ja) ビタビデコ―ディングの速度を増大させる方法と装置
US7652597B2 (en) Multimode decoder
US20050257123A1 (en) Memory management algorithm for trellis decoders
KR19990016432A (ko) 비터비 알고리즘을 적용하는 복호 과정에서의 생존 경로 역추적 방법 및 그 장치
Saleem et al. Design and Tradeoff Analysis of an Area Efficient Viterbi Decoder
KR100491016B1 (ko) 역방향 상태 천이의 연속적 제어에 의한 역추적 비터비복호기 및 그 방법
JP3231647B2 (ja) ビタビ復号器
JPH0730438A (ja) ビタビ復号方法

Legal Events

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