KR100195004B1 - 비트시리얼 비터비 디코더의 가산/비교/선택 어레이 - Google Patents
비트시리얼 비터비 디코더의 가산/비교/선택 어레이 Download PDFInfo
- Publication number
- KR100195004B1 KR100195004B1 KR1019940012171A KR19940012171A KR100195004B1 KR 100195004 B1 KR100195004 B1 KR 100195004B1 KR 1019940012171 A KR1019940012171 A KR 1019940012171A KR 19940012171 A KR19940012171 A KR 19940012171A KR 100195004 B1 KR100195004 B1 KR 100195004B1
- Authority
- KR
- South Korea
- Prior art keywords
- output
- read
- metric value
- value
- metric
- Prior art date
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
디지털 통신시스템의 비트 시리얼 비터비 디코더에 관한 것으로, 특히 전송채널상의 노이즈로 인한 데이터를 정정하여 신뢰성있는 통신을 구현할 수 있는 비트 시리얼 디코더에서 하나의 가산/비교/선택 어레이로 모든 상태에 대한 처리를 수행하는 가산/비교/선택 (ACS) 어레이에 관한 것이다.
통상의 비터비 디코더는 가산/비교/선택 (ACS)블럭을 상태의 수만큼 늘어놓고 병렬로 가산/비교/선택 기능을 수행하도록 설계되어 있으므로 매우 많은 게이트가 소요되는 문제를 해결하기 위해 데이터 클럭(DCLK)과 제어클럭(CCLK)을 입력하여 스타트비트(STARTB), 리드 어드레스(RD_ADDR), 라이트 어드레스(WR_ADDR), 상태 최대값의 절반값(
Description
제1도는 컨볼루션 엔코더의 구성도.
제2도는 콘볼루션 엔코더의 격자구조도.
제3도는 제2도에서 격자구조 상태 제로의 ACS회로를 인지하기 위한 블록 형태도.
제4도는 본 발명에 따른 비트시리얼 ACS 어레이의 회로도.
* 도면의 주요부분에 대한 부호의 설명
11 : T플립플롭 12,13 : 상태 메트릭 메모리
14,15,16,24,26 : 제1-제5MUX 17,18,19,20,27,29,30 : 플립플롭
21,22 : 제1-제2가산기 23,28 : 비교기
25 : 감산기 31 : 제어부
본 발명은 디지털 통신시스템의 비트 시리얼 비터비 디코더(BIT SERIAL VITERBI DECODER)에 관한 것으로, 특히 전송채널상의 노이즈로 인한 데이터를 정정하여 신뢰성있는 통신을 구현할 수 있는 비트시리얼 디코더에서 하나의 가산/비교/선택 어레이로 모든 상태에 대한 처리를 수행하는 가산/비교/선택(ACS) 어레이에 관한 것이다.
일반적으로 디지털 통신 시스템에서는 전송채널상의 노이즈 등으로 인한 데이터 에러를 정정하여 보다 신뢰성 있는 통신을 구현하기 위한 FEC(FORWARD ERROR CORRECTION)가 널리 사용되고 있으며, 그중의 하나가 컨볼루션얼 엔코딩(CONVOLUTIONAL ENCODING)과 비터비 디코딩(VITERBI DECODING)을 사용한다. 비터비 디코딩은 60년대 비터비에 의해 제안된 비터비 알고리즘(VITERBI ALGORITHM)을 이용하여 컨볼루션얼 엔코딩된 데이터로부터 본래의 데이터를 복원해내는 방법으로 그 우수한 성능으로 널리 이용되고 있다. 그러나 비터비 디코딩을 구현하기 위해서는 많은 계산이 필요하게 되어 고속의 디지털 시그널 프로세서를 사용하더라도 소프트웨어로 구현하기에는 어려운 점이 많았다. 따라서 컨스트레인트 길이(CONSTRAT LENGTH)가 5이하인 경우에만 일부 시스템에서 소프트웨어로 비터비 디코딩을 구현하고, 비교적 컨스트레인드 길이가 긴 경우에는 전용의 하드웨어를 사용하여 구현하는 것이 일반적이다. 하드웨어 비티비 디코더에는 기본 모듈을 병렬로 하여 처리하는 방식과 한 개의 모듈을 가지고 일정횟수만큼 루핑(LOOPING)을 시켜 처리하는 시리얼방식이 있을 수 있다. 상기 병렬방식은 고속의 데이터 복원시 필요하며 하드웨어 복잡도가 매우 높게 되며, 수십 Kbps정도의 데이터 전송속도에서는 시리얼 방식으로도 처리가 가능하며 하드웨어 크기도 줄일 수 있다. 상기와 같은 컨볼루션얼 엔코더는 미합중국 특허 5,027,374호 개시되어 있다.
제1도는 컨볼루션 엔코더의 구성도로서, 컨스트레인트 길이(CONSTRAINT LENGTH) K=3이고 R=1/2인 컨볼루션 엔코더이다.
입력단자(P1)를 통해 입력된 데이터는 제1지연기(3)에서 한클럭 지연되어 제2가산기(2)와 제2지연지(4)로 각각 출력된다. 상기 제1지연기(3)로부터 지연출력된 데이터는 제2지연기(4)에서 다시 1 클럭지연되어 제1-제2가산기(1,2)로 각각 출력된다. 상기 제1가산기(1)는 입력단자(P1)을 통해 입력된 데이터와 상기 제2지연기(4)로부터 2클럭지연된 데이터를 가산하여 라인(5)을 통해 출력하게 된다. 상기 제2가산기(2)는 입력단자(P1)와 제1-제2지연기(3,4)로부터 각각 지연된 데이터를 가산하여 라인(6)을 통해 출력하게 된다. 이때 상기 제1-제2가산기(1,2)로부터 가산 출력된 데이터는 코드워드(CODE WORD)가 된다.
제2도는 콘볼루션 엔코더의 격자구조도로서, 각각의 엔코더 상태에 대해 현재의 입력에 따라 상개가 천이하는 모양을 나타낸 것이다.
제2도에서 실선은 입력으로 0이 입력되었을 때이고, 점선은 1이 입력되었을때의 상태 천이 경로이다. 한 상태로 천이하는 이전상태는 2개가 존재하며, 그 2상태는 현재 상태에 의해 완전히 결정된다. 즉, 0상태로 천이하는 이전상태는 0과 10이 있으며, 이때 입력은 0'이 입력될 때 해당한다. 그리고 엔코더의 출력은 00→00일 경우와 10→00일 경우 각각 다른 코드를 발생시키게 되므로 디코더에서는 수신한 코드와 각 브랜치(Branch)의 엔코더의 출력을 비교하여 보다 확률이 높은 브랜치(Branch)를 선택하는 과정을 반복하여 데이터를 복원하게 된다.
이러한 기능을 하는 기본 블록을 가산/비교/선택(ACS)이라하며, 제3도와 같은 구조를 갖는다. 상기 제3도에서 가산기(7)는 제로상태로부터 이전에 누산된 메트릭을 입력하기 위한 제1입력단과, 제로상태의 제1-제2상태 노드들 사이에 상태 제로로부터 상태 제로로 브랜치(Branch)의 메트릭값을 입력하는 제2입력단을 갖는다. 가산기(12)의 출력단은 비교기(9)의 제1입력단과 멀티플렉서(10)의 제1입력단에 연결되어 있다. 가산기(8)는 상태2로부터 이전에 누산된 메트릭을 입력하는 제1입력단과, 상태제로의 제2상태 노드와 상태2의 제1상태 노드사이에 상태2로부터 상태로 메르릭값을 입력하는 제2입력단을 갖는다. 상기 가산기(8)의 출력은 멀티플렉서(10)의 제1입력단과 비교기(8)의 제2입력단에 연결되어 있다. 비교기(9)의 출력단은 멀티플렉서(10)의 제어입력단에 연결되어 있다. 멀티플렉서(10)의 출력단은 상태제로의 제2상태 노드에서 상태제로로 새로운 메트릭을 공급한다. 가산기(7,8)는 각각 가산동작을 수행한다. 그리고 비교기(9)는 2가지 합의 결과중 가장 작은 출력값으로 멀티플렉서(10)을 제어한다.
그런데 통상의 비터비 디코더는 이러한 가산/비교/선택(ACS) 블록을 상태의 수만큼 늘어놓고 병렬로 가산/비교/선택 기능을 수행하도록 설계되어 있으므로 매우 많은 게이트가 소요된다. 그러나 처리속도는 매우 빠르게 되어 수십 Mbps의 데이터 속도로 처리가 가능한 장점이 있다. 그러나 상기 가산/비교/선택(ACS) 블록을 하나만 사용하고 상태 메트릭의 저장용으로 메모리를 사용하게 되면 회로의 복잡도는 크게 낮아지며, 수십 Kbps정도의 데이터 속도를 복원하는데 매우 접합하다고 할 수 있다. 그런데 메모리를 사용하고 가산/비교/선택(ACS) 블록을 루핑을 통해 시리얼하게 사용하면 전체적으로 제어가 복잡해져 이를 효율적으로 설계하는 기술이 요구되었다.
따라서 본 발명의 목적은 상태 메트릭을 저장하는 메모리를 사용하여 이전상태 메트릭의 독출과 새로운 메트릭의 라이트를 동시에 수행하는 ACS 어레이를 제공함에 있다.
본 발명의 다른 목적은 상태 메트릭 리드 및 라이트시 동시에 메트릭의 정상기능을 수행하는 ACS 어레이를 제공함에 있다.
상기 목적을 달성 하기 위한 본 발명은 데이터 클럭(DCLK)와 제어클럭(CCLK)을 입력하여 스타트비트(STARTB), 리드 어드레스(RD_ADDR), 라이트 어드레스(WR_ADDR), 상태 최대값의 절반값(), 2배의 제어클럭(CCLK2)을 출력하는 제어수단과 전원단이 입력단(T)에 접속되고, 클럭단(CK)으로 데이터 클럭신호를 입력하여 매 클럭마다 리드/라이트 모드 선택신호를 출력하는 리드/라이트 모드 선택 수단과, 상기 제어수단으로부터 출력된 리드 어드레스(RD_ADDR) 및 라이트 어드레스(WR_ADDR)를 상기 리드/라이트 모드 선택 수단으로부터 출력되어 반전된 리드/라이트 모드 선택신호에 의해 하나를 선택 출력하는 제2멀티플렉서와, 상기 제1-제2멀티플렉서로부터 각각 선택 출력된 리드/라이트 어드레스 신호를 저장하고, 새로운 멀트릭값을 매 클럭시마다 각각 업데이트 저장하는 상태 메트릭 메모리 수단과, 상기 상태 메트릭 메모리수단으로부터 상기 리드/라이트 모드 선택신호에 대응하여 출력된 메트릭값을 입력하여 제어클럭(CCLK) 및 2배의 제어클럭신호(CCLK2)에 의해 저장된 현재의 메트릭값과 이전상태의 메트릭값으로 선택 정보와 새로운 메트릭값을 생성하여 출력하는 메트릭 생성수단으로 구성함을 특징으로 한다.
이하 본 발명은 첨부된 도면을 참조하여 상세히 설명한다.
제4도는 본 발명에 따른 비트시리얼 ACS 어레이의 회로도로서, 데이터 클럭(DCLK)과 제어클럭(CCLK)을 입력하여 스타트비트(STARTB), 리드 어드레스(RD_ADDR), 라이트 어드레스(WR_ADDR), 상태 최대값의 절반값(), 2배의 제어클럭(CCLK2)을 출력하는 제어부(31)와, 전원단이 입력단(T)에 접속되고, 클럭단(CK)으로 데이터 클럭신호를 입력하는 T플립플롭(11)로 구성되어 매 클럭마다 토글되어 리드/라이트 모드 선택신호를 출력하는 리드/라이트 모드 선택수단과, 상기 제어부(31)로부터 출력된 리드 어드레스(RD_ADDR) 및 라이트 어드레스(WR_ADDR)를 상기 리드/라이트 모드 선택 수단으로부터 출력되는 리드/라이트 모드 선택신호에 의해 하나를 선택 출력하는 제1MUX(14)와, 상기 제어부(31)로부터 출력된 리드 어드레스(RD_ADDR) 및 라이트 어드레스(WR_ADDR)를 상기 리드/라이트 모드 선택수단으로부터 출력되어 반전된 리드/라이트 모드 선택신호에 의해 하나를 선택출력하는 제2MUX(15)와, 상기 제1-제2MUX(12,13)로부터 각각 선택출력된 리드/라이트 어드레스 신호를 매 클럭시마다 각각 업데이트 저장하는 상태 메트릭 메모리(STAT METRIC MEMORY)(12,13)와, 상기 상태 메트릭 메모리(12)로부터 저장된 어드레스 신호를 입력단(A)으로 입력하고, 상기 상태 메트릭 메모리(13)로부터 저장된 어드레스 신호를 입력단(B)으로 입력하여 상기 리드/라이트 모드 선택부(11)로부터 출력된 리드/라이트 모드 선택 신호에 의해 하나를 선택출력하는 제3MUX(16)와, 상기 제3MUX(16)로부터 선택 출력된 메트릭값을 제어클럭(CCLK)에 의해 래치시켜 현재의 메트릭값을 저장하는 플립플롭(17)과, 상기 플립플롭(17)으로부터 출력된 현재의 메트릭값을 상기 제어클럭(CCLK)에 의해 래치시켜 이전상태 메트릭값을 저장하는 플립플롭(19)고, 상기 플립플롭(17)으로부터 출력된 현재의 메트릭값을 2배의 제어클럭신호(CCLK2)로 래치시켜 이전상태의 메트릭값을 저장하는 플립플립(19)과, 상기 플립플롭(18)으로부터 출력된 현재의 메트릭값을 2배의 제어클럭신호(CCLK2)로 래치시켜 이전상태의 메트릭값을 정장하는 플립플롭(20)과, 상기 플립플롭(19)로부터 출력된 이전상태의 메트릭값을 입력단(A)로 입력하고 브랜치 메트릭 연산기(BRANCH METRIC CALCULATOR)(도시하지 않음)로부터 연산된 브랜치 메트릭값(BM1)을 입력단(B)으로 입력하여 가산 출력하는 제2가산기(22)와, 상기 제1가산기(21)로부터 가산된 값과 제2가산기(22)로부터 가산된 값을 비교하여 출력하는 비교기(23)와, 상기 제1가산기(21)로부터 가산된 제2가산기(22)로부터 가산된 값을 상기 비교기(23)로부터 출력된 신호에 의해 작은 값을 선택 출력하는 제4MUX(24)와, 입력단(A)으로 제로값을 입력하고 입력단(B)으로 상기 제어부(31)로부터 출력된 상태 최대값의 절반값()을 입력하여 노말라이즈 플랙에 의해 하나선택 출력하는 제5MUX(26)와, 상기 제4MUX(24)로부터 선택 출력된 신호를 입력단(A)로 입력하고 상기 제5MUX(26)로부터 선택 출력된 신호를 입력단(B)으로 입력하여 상기 입력단(A)으로 입력된 신호로부터 상기 입력단(B)로부터 입력된 신호를 감산하여 출력하는 감산기(25)와, 상기 감산기(24)로부터 감산된 신호를 데이터단(D)으로 입력하여 제어클럭(CCLK)에 의해 래치시켜 상기 제1-제2 상태 메트릭 메모리(12,13)로 각각 출력하는 플립플롭(27)과, 상기 감산기(24)로부터 감산된 신호를 입력단(A)으로 입력하고 상기 제어부(31)로부터 출력된 상태 최대값의 절반값()을 입력단(B)으로 입력하여 비교 출력하는 비교기(28)와, 상기 비교(28)로부터 비교 출력된 신호를 데이터단(D)으로 입력하여 스타트비트(STARTB)에 의해 로드되어 상기 제어클럭신호(CCLK)에 의해 래치시켜 출력하는 플립플롭(29)과, 상기 플립플롭(29)으로부터 래치 출력된 신호를 상기 데이터 클럭에 동기시켜 노말라이즈 플랙(NORMALIZE FLAG)을 출력하는 플립플롭(30)으로 구성되어 있다.
상술한 제1, 제3도를 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명한다.
본 발명에서는 상태 개수만큼의 어드레스를 갖는 두 개의 상태 메트릭 메모리(12,13)을 상용하여 하나는 이전상태 메트릭의 리드에 사용하고, 다른 하나는 새로 계산된 상태 메트릭의 라이트에 사용한다.
제어부(31)는 데이터 클럭(DCLK)과 제어클럭(CCLK)을 입력하여 스타트비트(STARTB), 리드 어드레스(RD_ADDR), 라이트 어드레스(WE_ADDR), 상태 최대값의 절반값(), 2배의 제어클럭(CCLK2)을 출력한다. 여기서 제어클럭(CCLK)은 데이터클럭(DCLK)의 주기에 비해 빠른 클럭으로 루핑의 기본 클럭으로 사용되며, 외부의 클럭 발생부로부터 인가된다. 그리고 T플립플롭(11)은 입력단(T)을 전원단에 접속하고, 클럭단(CK)으로 데이터 클럭신호를 입력하여 매 클럭마다 토글되어 리드/라이트 모드 선택신호를 제1-제2MUX(14,15)의 제어단자(S)으로 각각 출력한다. 제1MUX(14)는 상기 제어부(31)로부터 출력된 리드 어드레스(RD_ADDR) 및 라이트 어드레스(WR_ADDR)를 상기 리드/라이트 모드 선택수단인 T플립플롭(11)으로부터 출력되는 리드/라이트 모드 선택신호에 의해 하나를 선택하여 상태 메트릭 메모리(12)로 출력한다. 제2MUX(15)는 상기 제어부(31)로부터 출력된 리드 어드레스(RD_ADDR) 및 라이트 어드레스(WR_ADDR)를 상기 리드 / 라이트 모드 선택수단인 T플립플롭(11)으로부터 출력되어 인버터(11)를 통해 반전된 리드/라이트 모드 선택신호에 의해 하나를 선택하여 상태 메트릭 메모리(13)로 출력한다. 상기 상태 메트릭 메모리(STATE METRIC MEMORY)(12,13)는 상기 제1-제2MUX(12,13)로부터 각각 선택 출력된 리드/라이트 어드레스 신호를 어드레스단(ADD)으로 입력하여 저장하고, 데이터 입력단(Din)을 통해 입력된 새로운 매트릭값을 매 클럭시마다 각각 업데이트하여 저장한다. 이때 제3MUX(16)는 상기 상태 메트릭 메모리(12)로부터 저장된 어드레스 신호를 입력단(A)으로 입력하고, 상기 상태 메트릭 메모리(13)로부터 저장된 어드레스 신호를 입력단(B)으로 입력하여 상기 T플립플롭(11)으로부터 출력된 리드/라이트 모드 선택신호에 의해 하나를 선택하여 플립플롭(17)의 데이터단(D)으로 출력한다. 상기 플립플롭(17)은 상기 제3MUX(16)로부터 선택 출력된 메트릭값을 제어클럭(CCLK)에 의해 래치시켜 현재의 메트릭값을 저장한다. 플립플롭(18)은 상기 플립플롭(17)으로부터 출력된 현재의 메트릭값을 상기 제어클럭(CCLK)에 의해 래치시켜 이전상태의 메트릭값을 저장한다. 플립플롭(19)은 상기 플립플롭(17)으로부터 출력된 현재의 메트릭값을 2배의 제어클럭신호(CCLK2)로 래치시켜 이전상태의 메트릭값을 저장한다. 플립플롭(20)은 상기 플립플롭(18)으로부터 출력된 현재의 메트릭값을 2배의 제어클럭신호(CCLK2)로 래치시켜 이전상태의 메트릭값을 저장한다. 플립플롭(20)은 상기 플립플롭(18)으로부터 출력된 현재의 메트릭값을 저장한다. 예를들어 0 상태의 새로운 메트릭을 계산하기 위해서는 0과 10상태의 이전 메트릭값이 필요하다. 그리고 제1가산기(21)는 상기 플립플롭(19)으로부터 출력된 이전상태의 메트릭값을 입력단(A)로 입력하고 브랜취 메트릭 연산기(BRANCH METRIC CALCULATOR)(도시하지 않음)로부터 연산된 브랜치 메트릭값(BM0)을 입력단(B)으로 입력하여 가산 출력한다. 제2가산기(22)는 상기 플립플롭(20)로부터 출력된 이전상태의 메트릭값을 입력단(A)로 입력하고 브랜취 메트릭 연산기(BRANCH METRIC CALCULATOR)(도시하지 않음)로부터 연산된 브랜치 메트릭값(BM1)을 입력단(B)으로 입력하여 가산 출력한다. 예를들어 상기 브랜치 메트릭값 BM0는 00→00으로 천이할 때 발생되는 엔코더의 출력과 현재 수신된 코드와의 메트릭이며, BM1은 10→00으로 천이때의 메트릭이다. 비교기(23)는 상기 제1가산기(21)로부터 가산된 값과 제2가산기(22)로부터 가산된 값을 비교하여 출력한다. 제4MUX(24)는 상기 제1가산기(21)로부터 가산된 값과 제2가산기(22)로부터 가산된 값을 상기 비교기(23)로부터 출력된 신호에 의해 작은 값을 선택 출력하여 패스메모리에 라이트한다. 제5MUX(26)는 입력단(A)으로 제로값을 입력하고 입력단(B)으로 상기 제어부(31)로부터 출력된 상태 최대값의 절반값()을 입력하여 노말라이즈 플랙에 의해 하나를 선택 출력한다. 즉, 상기 제5MUX(26)는 상기 노말라이즈 플랙이 1이면 상태 최대값의 절반값()을 선택하고, 상기 노말라이즈 플랙이 0이면 제로(0)를 선택한다. 감산기(25)는 상기 제4MUX(24)로부터 선택 출력된 신호를 입력단(A)로 입력하고 상기 제5MUX(26)로부터 선택 출력된 신호를 입력단(B)으로 입력하여 상기 입력단(A)으로 입력된 신호로부터 상기 입력단(B)로부터 입력된 신호를 감산하여 출력한다. 플립플롭(27)은 상기 감산기(24)로부터 감산된 신호를 데이터단(D)으로 입력하여 제어클럭(CCLK)에 의해 래치시켜 상기 제1-제2 상태 메트릭 메모리(12,13)의 데이터 입력단(Din)으로 각각 출력한다. 비교기(28)는 상기 감산기(24)로부터 감산된 신호를 입력단(A)으로 입력하고 상기 제어부(31)로부터 출력된 상태 최대값의 절반값()을 입력단(B)으로 입력하여 비교 출력한다. 이때 비교기(28)는 모든 상태의 값이 상태 최대값의 절반값()보다 크면 1을 출력하고, 모든 상태의 값이 상태 최대값의 절반값()보다 작으면 0를 출력한다. 따라서 상기 비교기(28)의 출력은 앤드게이트(AN)의 한단자로 인가되며, 상기 앤드게이트(AN)의 출력은 플립플롭(29)의 데이터단(D)으로 인가된다. 플립플롭(29)은 상기 앤드게이트(AN)로부터 출력된 신호를 데이터단(D)으로 입력하여 스타트비트(STARTB)에 의해 로드되어 상기 제어클럭신호(CCLK)에 의해 래치시켜 출력한다. 플립플롭(30)은 상기 플립플롭(29)으로부터 래치 출력된 신호를 상기 데이터 클럭에 동기시켜 노말라이즈 플랙(NORMALIZE FLAG)을 상기 제5MUX(26)의 제어단(S)으로 출력한다.
여기서 상태 메트릭은 일정비트로 표현되고, 비트수는 항상 증가하므로 오버플로우가 발생하게 된다. 이 오버플로우가 발생되는 것을 방지하기 위해서는 상기와 같이 노말라이즈 플랙을 발생하여 제어하여야 한다. 이때 모든 상태의 메트릭값은 상태 최대값의 절반값()을 넘으면 모든 상태에 대해서 가산기(25)에서 상태 최대값의 절반값()을 빼주어 노말라이즈 플랙을 발생시켜 오버플로우 발생을 방지한다. 여기서 최대값(MAX)은 최대 표현가능한 메트릭값으로, 6비트인 경우 63이 된다.
상술한 바와 같이 모든 상태에 대해 가산/비교/선택 기능을 수행하여 새로운 상태 메트릭을 계산하여 상태 메트릭 메모리에 업데이하고 선택정보는 패스 메모리에 라이트하며, 트레이스 백(Trace Back)에 의해 테이타를 복원하므로 ACS어레이 칩의 부피를 줄일 수 있는 이점이 있다.
Claims (6)
- 비트시리얼 비터비 디코더의 가산/비교/선택 어레이에 있어서, 데이터 클럭(DCLK)과 제어클럭(CCLK)을 입력하여 스타트비트(STARTB), 리드 어드레스(RD_ADDR), 라이트 어드레스(WR_ADDR), 상태 최대값의 절반값(), 2배의 제어클럭(CCLK2)을 출력하는 제어수단과, 전원단이 입력단(T)에 접속되고, 클럭단(CK)으로 데이터 클럭신호를 입력하여 매 클럭마다 리드/라이트 모드 선택신호를 출력하는 리드/라이트 모드 선택수단과, 상기 제어수단으로부터 출력된 리드 어드레스(RD_ADDR) 및 라이트 어드레스(WR_ADDR)를 상기 리드/라이트 모드 선택수단으로부터 출력되는 리드/라이트 모드 선택신호에 의해 하나를 선택 출력하는 제1멀티플렉서와, 상기 제어수단으로부터 출력된 리드 어드레스(RD_ADDR) 및 라이트 어드레스(WR_ADDR)를 상기 리드/라이트 모드 선택수단으로부터 출력되어 반전된 리드/라이트 모드 선택신호에 의해 하나를 선택 출력하는 제1멀티플렉서와, 상기 제1-제2멀티플렉서로부터 각각 선택출력된 리드/라이트 어드레스 신호를 저장하고, 새로운 메트릭값을 매 클럭시마다 각각 업데이트 저장하는 상태 메트릭 메모리 수단과, 상기 상태 메트릭 메모리 수단으로부터 상기 리드/라이트 모드 선택신호에 대응하여 출력된 메트릭값을 입력하여 제어클럭(CCLK) 및 2배의 제어클럭신호(CCLK2)에 의해 저장된 현재의 메트릭값과 이전의 메트릭값으로 선택 정보와 새로운 메트릭값을 생성하여 출력하는 메트릭 생성수단으로 구성함을 특징으로 하는 비트시리얼 비터비 디코더의 가산/비교/선택 어레이.
- 상기 메트릭 생성수단으로부터 생성된 메트릭값을 입력하여 노말라이즈 플랙을 생성하여 오버플로우를 방지하는 오버플로우 제어수단으로 구성함을 특징으로 하는 비트시리얼 비터비 디코더의 가산/비교/선택 어레이.
- 제1항에 있어서 상기 메트릭 생성수단은, 상기 상태 메트릭 메모리 수단으로부터 상기 리드/라이트 모드 선택신호에 대응하여 출력된 메트릭값을 제어클럭(CCLK)에 의해 래치시켜 현재의 메트릭값을 저장하는 플립플롭(17)과, 상기 플립플롭(17)으로부터 출력된 현재의 메트릭값을 상기 제어클럭(CCLK)에 의해 래치시켜 이전상태 메트릭값을 저장하는 플립플롭(18)과, 상기 플립플롭(17)으로부터 출력된 현재의 메트릭값을 2배의 제어클럭신호(CCLK2)로 래치시켜 이전상태의 메트릭값을 저장하는 플립플롭(19)과, 상기 플립플롭(18)으로부터 출력된 현재의 메트릭값을 2배의 제어클럭신호(CCLK2)로 래치시켜 이전상태의 메트릭값을 저장하는 플립플롭(20)과, 상기 플립플롭(19)로부터 출력된 이전상태의 메트릭값을 입력단(A)로 입력하고 브랜치 메트릭값(BM0)을 입력단(B)으로 입력하여 가산 출력하는 제1가산기(21)와, 상기 플립플롭(20)로부터 출력된 이전상태의 메트릭값을 입력단(A)로 입력하고 브랜치 메트릭값(BM1)을 입력단(B)으로 입력하여 가산 출력하는 제2가산기(22)와, 상기 제1가산기(21)로부터 가산된 값과 제2가산기(22)로부터 가산된 값을 비교하여 선택정보를 출력하는 비교기(23)와, 상기 제1가산기(21)로부터 가산된 값과 제2가산기(22)로부터 가산된 값을 입력하여 상기 비교기(23)로부터 출력된 신호에 의해 작은 값을 선택 출력하는 제4MUX(24)로 구성함을 특징으로 하는 비트 시리얼 비터비 디코더의 가산/비교/선택 어레이.
- 제2항에 있어서 상기 오버플로우 제어수단은, 입력단(A)으로 제로값을 입력하고 입력단(B)으로 상기 제어부(31)로부터 출력된 상태 최대값의 절반값()을 입력하여 노말라이즈 플랙에 의해 하나 선택 출력하는 제5MUX(26)와, 상기 제4MUX(24)로부터 선택 출력된 신호를 입력단(A)로 입력하고 상지 제5MUX(26)로부터 선택 출력된 신호를 입력단(B)으로 입력하여 상기 입력단(A)으로 입력된 신호로부터 상기 입력단(B)로부터 입력된 신호를 감산하여 출력하는 감산기(25)와, 상기 감산기(24)로부터 감산된 신호를 입력단(A)으로 입력하고 상기 제어부(31)로부터 출력된 상태 최대값의 절반값()을 입력단(B)으로 입력하여 비교 출력하는 비교기(28)와, 상기 비교기(28)로부터 비교 출력된 신호를 데이터단(D)으로 입력하여 스타트비트에 의해 로드되어 상기 제어클럭신호(CCLK)에 의해 래치시켜 출력하는 플립플롭(29)과, 상기 플립플롭(29)으로부터 래치 출력된 신호를 상기 데이터 클럭에 동기시켜 노말라이즈 플랙을 출력하는 플립플롭(30)으로 구성함을 특징으로 하는 비트 시리얼 비터비 디코더의 가산/비교/선택 어레이.
- 비트시리얼 비터비 디코더의 가산/비교/선택 어레이 있어서, 데이터 클럭(DCLK)과 제어클럭(CCLK)을 입력하여 스타트비트(STARTB), 리드 어드레스(RD_ADDR), 라이트 어드레스(WR_ADDR), 상태 최대값의 절반값(), 2배의 제어클럭(CCLK2)을 출력하는 제어수단과, 전원단이 입력단(T)에 접속되고, 클럭단(CK)으로 데이터 클럭신호를 입력하는 매 클럭마다 리드/라이트 모드 선택신호를 출력하는 리드/라이트 모드 선택수단과, 상기 제어수단으로부터 출력된 리드 어드레스(RD_ADDR) 및 라이트 어드레스(WR_ADDR)를 상기 리드/라이트 모드 선택수단으로부터 출력되는 리드/라이트 모드 선택신호에 의해 하나를 선택 출력하는 제1멀티플렉서와, 상기 제어수단으로부터 출력된 리드 어드레스(RD_ADDR) 및 라이트 어드레스(WR_ADDR)를 상기 리드/라이트 모드 선택수단으로부터 출력되어 반전된 리드/라이트 모드 선택신호에 의해 하나를 선택 출력하는 제2멀티플렉서, 상기 제1-제2멀티플렉서로부터 각각 선택 출력된 리드/라이트 어드레스신호를 매 클럭시마다 각각 업데이트 저장하는 제1-제2 상태 메트릭 메모리와, 상기 제1-제2상태 메트릭 메모리로부터 저장된 어드레스신호를 입력단(A)으로 입력하고, 상기 상태 메트릭 메모리(13)로부터 저장된 어드레스신호를 입력단(B)으로 입력하여 상기 리드/라이트 모드 선택부(11)로부터 출력된 리드/라이트 모드 선택신호에 의해 하나를 선택 출력하는 제3멀티플렉서와, 상기 제3MUX(16)로부터 선택 출력된 메트릭값을 제어클럭(CCLK) 및 2배의 제어클럭신호(CCLK2)에 의해 저장된 현재의 메트릭값과 이전상태의 메트릭값으로 선택 정보와 새로운 메트릭값을 생성하여 출력하는 매트릭 생성수단으로 구성함을 특징으로 하는 비트시리얼 비터비 디코더의 가산/비교/선택 어레이.
- 제5항에 있어서, 상기 메트릭 생성수단은, 상기 제3멀티플렉서로부터 선택 출력된 메트릭값을 제어클럭(CCLK)에 의해 래치시켜 현재의 메트릭값을 저장하는 플립플롭(17)과, 상기 플립플롭(17)으로부터 출력된 현재의 메트릭값을 상기 제어클럭(CCLK)에 의해 래치시켜 이전상태 메트릭값을 저장하는 플립플롭(18)과, 상기 플립플롭(17)으로부터 출력된 현재의 메트릭값을 2배의 제어클럭신호(CCLK2)에 의해 래치시켜 이전상태 메트릭값을 저장하는 플립플롭(19)과, 상기 플립플롭(18)으로부터 출력된 현재의 메트릭값을 2배의 제어클럭신호(CCLK2)에 의해 래치시켜 이전상태 메트릭값을 저장하는 플립플롭(20)과, 상기 플립플롭(19)로부터 출력된 이전상태의 메트릭값을 입력단(A)로 입력하고 브랜치 메트릭값(BM0)을 입력단(A)으로 입력하여 가산 출력하는 제1가산기(21)와, 상기 플립플롭(20)로부터 출력된 이전상태의 메트릭값을 입력단(A)로 입력하고 브랜치 메트릭값(BM1)을 입력단(B)으로 입력하여 가산 출력하는 제2가산기(22)와, 상기 제1가산기(21)로부터 가산된 값과 제2가산기(22)로부터 가산된 값을 비교하여 선택정보를 출력하는 비교기(23)와, 상기 제1가산기(21)로부터 가산된 값과 제2가산기(22)로부터 가산된 값을 입력하여 상기 비교기(23)로부터 출력된 신호에 의해 작은값을 선택 출력하는 제4MUX(24)로 구성함을 특징으로 하는 비트시리얼 비터비 디코더의 가산/비교/선택 어레이.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940012171A KR100195004B1 (ko) | 1994-05-31 | 1994-05-31 | 비트시리얼 비터비 디코더의 가산/비교/선택 어레이 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940012171A KR100195004B1 (ko) | 1994-05-31 | 1994-05-31 | 비트시리얼 비터비 디코더의 가산/비교/선택 어레이 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950035178A KR950035178A (ko) | 1995-12-30 |
KR100195004B1 true KR100195004B1 (ko) | 1999-06-15 |
Family
ID=66685669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940012171A KR100195004B1 (ko) | 1994-05-31 | 1994-05-31 | 비트시리얼 비터비 디코더의 가산/비교/선택 어레이 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100195004B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100437818B1 (ko) * | 1998-03-05 | 2004-07-16 | 주식회사 하이닉스반도체 | 디코더의acs회로 |
-
1994
- 1994-05-31 KR KR1019940012171A patent/KR100195004B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR950035178A (ko) | 1995-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3900637B2 (ja) | ビタビ復号装置 | |
US6324226B1 (en) | Viterbi decoder | |
KR940010435B1 (ko) | 비터비 복호기의 경로기억장치 | |
US5272706A (en) | State metric memory | |
US6725418B2 (en) | Decoding circuit using path sequence including feed-back type path sequence storing blocks | |
JP3747604B2 (ja) | ビタビ復号装置 | |
KR100197633B1 (ko) | 흔적삭제방법을 이용하는 비터비복호기에서의 생존자메모리 | |
US5887007A (en) | Viterbi decoding method and viterbi decoding circuit | |
US6792570B2 (en) | Viterbi decoder with high speed processing function | |
US5878060A (en) | Viterbi decoding apparatus and viterbe decoding method | |
US8401126B2 (en) | Viterbi decoding apparatus | |
KR100311504B1 (ko) | 비터비디코더의스태이트메트릭메모리및이를이용한복호화방법 | |
KR100195004B1 (ko) | 비트시리얼 비터비 디코더의 가산/비교/선택 어레이 | |
US8489972B2 (en) | Decoding method and decoding device | |
JP2010206570A (ja) | 復号装置、復号方法 | |
JP4047697B2 (ja) | ビタビ復号装置 | |
JP3753822B2 (ja) | ビタビ復号方法および装置 | |
US7231586B2 (en) | Multi-rate viterbi decoder | |
JP3260714B2 (ja) | ビタビ復号化装置およびビタビ復号化方法 | |
US20070230606A1 (en) | Viterbi traceback | |
KR0155516B1 (ko) | 비터비 복호기에서 한개의 메모리를 사용한 상태 매트릭 메모리 운용방법 및 그 장치 | |
JPH0361376B2 (ko) | ||
KR100564757B1 (ko) | 저전력 비터비 복호기 및 역추적 방법 | |
JP3235333B2 (ja) | ビタビ復号方法およびビタビ復号化装置 | |
KR0183115B1 (ko) | 비터비 디코더의 패스 메모리의 제어회로 |
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: 20080130 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |