KR100528873B1 - 구현이 간단한 채널 복호 장치 및 그의 채널 복호 방법 - Google Patents
구현이 간단한 채널 복호 장치 및 그의 채널 복호 방법 Download PDFInfo
- Publication number
- KR100528873B1 KR100528873B1 KR10-2003-0073466A KR20030073466A KR100528873B1 KR 100528873 B1 KR100528873 B1 KR 100528873B1 KR 20030073466 A KR20030073466 A KR 20030073466A KR 100528873 B1 KR100528873 B1 KR 100528873B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- depuncturing
- puncturing pattern
- output
- decoded data
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
구현이 간단한 채널 복호 장치 및 그의 채널 복호 방법이 개시된다. 채널 복호 장치는, 펑처링 패턴에 기초하여 펑처링된 위치에 임의의 데이터를 삽입하여 디펑처링 데이터를 출력하는 디펑처링부와, 디펑처링 데이터를 디코딩하여 디코딩데이터를 출력하고 디펑처링 데이터 및 펑처링 패턴을 일시적으로 저장하여 독출하는 비터비디코더, 및 디펑처링 데이터, 디코딩 데이터, 및 펑처링 패턴을 이용하여 디코딩 데이터의 에러율을 산출하는 성능 측정부를 갖는다. 따라서, 비터비 디코더를 이용하여 디코딩 데이터의 에러율을 산출함으로써 성능 측정부의 하드웨어를 줄일 수 있으며, 이에 의해 전력소모 및 비용을 저감시킬 수 있다.
Description
본 발명은 채널 복호 장치에 관한 것으로, 보다 상세하게는 구현이 간단한 채널 복호 장치 및 그의 채널 복호 방법에 관한 것이다.
도 1은 종래의 채널 복호 장치에 대한 개략적인 블록도이다.
채널 복호 장치는, 디펑처링(Depuncturing)부(40)와, 비터비 디코더(Viterbi decoder)(50), 및 성능 측정부(60)를 가지고 있다.
디펑처링부(40)는 펑처링 패턴에 기초하여 수신된 펑처링된 데이터의 위치에 임의값을 삽입하여 디펑처링을 수행한다. 즉, 송신단에서 하나의 데이터에 대해 콘벌루셔널 인코딩(convolutional encoding)을 수행하여 소정개의 데이터를 만들고, 콘벌루셔널 인코딩된 데이터의 전송률을 향상시키기 위해 일부의 데이터를 빼고(puncturing) 전송한다. 이렇게 펑처링되어 전송된 데이터를 디펑처링부(40)에서는 펑처링 패턴에 기초하여 임의값을 삽입하여 디펑처링을 수행한다.
비터비 디코더(50)는 디펑처링된 데이터에 대해 비터비 디코딩을 수행한다.
성능 측정부(60)는 비터비 디코더(50)에서 디코딩 성능을 측정하는 장치로서, 지연부(61), 리인코더(63), 펑처링 패턴 발생부(65), 제어부(66), 및 에러산출부(67)를 가지고 있다.
지연부(61)는 비터비 디코더(50)에 입력된 데이터가 디코딩되어 출력되는 시간만큼의 시간동안 비터비 입력데이터를 지연시키어 출력한다.
리인코더(63)는 비터비 디코더(50)에서 디코딩된 데이터에 대해 콘벌루셔널 인코딩을 수행하여 비터비 입력데이터와 동일한 형태의 인코딩 데이터를 출력한다.
펑처링 패턴 발생부(65)는 송신단의 펑처링 패턴에 대응하는 펑처링 패턴을 발생한다.
제어부(66)는 지연부(61) 및 펑처링 패턴 발생부(65)의 동작을 제어한다. 즉, 비터비 입력데이터를 소정시간동안 지연시키도록 제어하며, 또한, 비터비 입력데이터에 대응하는 펑처링 패턴을 발생시키도록 제어한다.
에러 산출부(67)는 지연부(61)에서 출력되는 비터비 입력데이터와 리인코더(63)에서 출력되는 인코딩 데이터를 펑처링 패턴 발생부(65)에서 발생된 펑처링 패턴에 기초하여 비교연산하여 에러율을 산출한다. 즉, 펑처링 패턴에 기초하여 펑처링되지 않은 데이터에 대해 비교연산하여 디코딩 에러율을 계산하여 출력한다.
이와 같이, 종래의 성능 측정부(60)는, 비터비 입력데이터를 비터비 디코딩되기까지 소요되는 일정시간만큼 지연시키는 지연부(61)와, 펑처링 패턴을 발생하는 펑처링 패턴 발생부(65)를 갖으며, 또한, 지연부(61) 및 펑처링 패턴 발생부(65)를 제어하는 별도의 제어부(66)를 가지고 있다.
이와 같은 지연소자를 이용하는 시스템 구현은, 하드웨어 면적을 많이 차지하며 전력소모도 상대적으로 다른 소자들을 이용하는 경우 보다 크다는 단점을 가지며, 이에 따라서 채널 복호 장치의 구현이 복잡해지는 문제점을 갖는다.
또한, 펑처링 패턴이 매우 복잡한 시스템을 경우, 그를 위한 제어로직이 상당히 복잡해지는 문제점을 갖는다.
상기와 같은 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은, 구현이 간단한 채널 복호 장치 및 그의 채널 복호 방법을 제공하는데 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 채널 복호장치는, 펑처링 패턴에 기초하여 펑처링된 위치에 임의의 데이터를 삽입하여 디펑처링 데이터를 출력하는 디펑처링부; 디펑처링 데이터를 디코딩하여 디코딩데이터를 출력하고, 상기 디펑처링 데이터 및 상기 펑처링 패턴을 일시적으로 저장하여 독출하는 비터비디코더; 및 상기 디펑처링 데이터, 상기 디코딩 데이터, 및 상기 펑처링 패턴을 이용하여 상기 디코딩 데이터의 에러율을 산출하는 성능 측정부;를 포함하며, 상기 비터비디코더는, 상기 디코딩 데이터가 출력될 때 상기 디코딩 데이터에 대응하는 상기 디펑처링 데이터 및 상기 펑처링 패턴을 독출시킨다.
바람직하게 상기 비터비디코더는, 상기 디펑처링 데이터 및 상기 펑처링 패턴을 기록하기 위한 메모리; 및 상기 디코딩 데이터가 출력될 때 상기 디코딩 데이터에 대응하는 상기 디펑처링 데이터 및 상기 펑처링 패턴을 독출시키도록 제어하는 메모리제어부;를 갖는다.
상기 비터비디코더는, 상기 디펑처링 데이터를 이용하여 가지메트릭을 생성하는 가지메트릭생성부; 상기 가지메트릭 및 경로메트릭에 대해 가산/비교/선택과정을 통해 상태천이정보를 출력하는 가산비교선택부; 상기 상태천이정보, 상기 디펑처링 데이터, 및 상기 펑처링 패턴을 기록하는 트레이스백 메모리; 및 상기 트레이스백 메모리에 기록된 상태천이정보를 역추적하여 상기 디펑처링 데이터의 디코딩 데이터를 출력시키며, 상기 디코딩 데이터가 출력될 때 상기 디코딩 데이터에 대응하는 상기 디펑처링 데이터 및 상기 펑처링 패턴을 독출시키는 트레이스백 제어부;를 갖는다.
바람직하게 상기 트레이스백 제어부는, 상기 가산비교선택부로부터 출력된 상기 상태천이정보가 상기 트레이스백 메모리에 기록될 때, 상기 디펑처링 데이터 및 상기 펑처링 패턴을 상기 트레이스백 메모리에 기록하도록 제어한다.
상기 성능 측정부는, 상기 디코딩 데이터를 인코딩하여 인코딩 데이터를 출력하는 리인코더; 및 상기 독출된 디펑처링 데이터와 상기 인코딩 데이터를 상기 독출된 펑처링 패턴에 기초하여 비교 연산함으로써 상기 디코딩 에러율을 산출하는 에러산출부;를 갖는다.
바람직하게 상기 에러산출부는, 상기 펑처링 패턴에 기초하여, 펑처링되지 않은 위치의 상기 디펑처링 데이터와 상기 인코딩 데이터를 비교 연산하여 상기 디코딩 에러율을 산출한다.
한편, 본 발명에 따른 채널 복호 방법은, 펑처링 패턴에 기초하여 펑처링된 위치에 임의의 데이터를 삽입하여 디펑처링 데이터를 출력하는 디펑처링단계; 상기 디펑처링 데이터를 디코딩하여 디코딩데이터를 출력하고 상기 디펑처링 데이터와 상기 펑처링 패턴을 기록하며, 상기 디코딩 데이터가 출력될 때 상기 디코딩된 데이터에 대응하는 상기 디펑처링 데이터 및 상기 펑처링 패턴을 독출하는 비터비디코딩단계; 및 상기 디펑처링 데이터, 상기 디코딩 데이터, 및 상기 펑처링 패턴을 이용하여 상기 디코딩 에러율을 산출하는 성능측정단계;를 포함하는 것을 특징으로 한다.
상기 비터비디코딩단계는, 상기 디펑처링 데이터를 이용하여 가지메트릭을 생성하는 단계; 상기 가지메트릭 및 경로메트릭에 대해 가산/비교/선택과정을 통해 상태천이정보를 출력하는 단계; 상기 상태천이정보, 상기 디펑처링 데이터 및 상기 펑처링 패턴을 기록하는 단계; 및 상기 트레이스백 메모리에 기록된 상태천이정보를 역추적하여 상기 디펑처링 데이터의 디코딩 데이터를 출력시키며, 상기 디코딩 데이터가 출력될 때 상기 디코딩 데이터에 대응하는 상기 디펑처링 데이터 및 상기 펑처링 패턴을 독출하는 단계;를 갖는다.
상기 성능 측정단계는, 상기 디코딩 데이터를 인코딩하여 인코딩 데이터를 출력하는 단계; 및 상기 독출된 디펑처링 데이터와 상기 인코딩 데이터를 상기 독출된 펑처링 패턴에 기초하여 비교 연산함으로써 상기 디코딩 에러율을 산출하는 단계;를 갖는다.
바람직하게 상기 디코딩 에러율은, 상기 펑처링 패턴에 기초하여 펑처링되지 않은 위치의 상기 디펑처링 데이터와 상기 인코딩 데이터를 비교 연산하여 산출한다.
따라서, 채널 복호 장치의 하드웨어를 줄일 수 있으며, 이에 의해 전력소모 및 비용을 저감시킬 수 있다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 2는 본 발명에 따른 채널 복호 장치에 대한 개략적인 블록도이다.
채널 복호 장치는 디펑처링부(240)와, 비터비 디코더(250), 및 성능 측정부(260)를 가지고 있다.
디펑처링부(240)는 입력된 데이터에 대해 펑처링 패턴에 기초하여 펑처링된 위치에 임의값의 데이터를 삽입하여 디펑처링을 수행한다.
즉, 송신단에서 하나의 데이터에 대해 콘벌루셔널 인코딩을 수행하여 소정개의 데이터를 만들고, 콘벌루셔널 인코딩된 데이터의 전송률을 향상시키기 위해 일부의 데이터를 빼고(puncturing) 전송한다.
[표 1]은 콘벌루셔널 인코더의 코드 레이트에 대응하는 펑처링 패턴을 나타낸 것이다.
Code | Puncturing Pattern Matrix(C0, C1) |
1/2 | (1,1) |
2/3 | (11,10) |
3/4 | (110,101) |
5/6 | (11010,10101) |
7/8 | (1111010,1000101) |
예컨데, 코드 레이트이 3/4인 경우, 펑처링 패턴(110,101)에 따라서 펑처링되는 데이터는 [표 2]에 나타낸 바와 같다.
t | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ... |
u(t) | u(0) | u(1) | u(2) | u(3) | u(4) | u(5) | u(6) | u(7) | u(8) | ... |
C0(t) | C0(0) | C0(1) | C0(2) | C0(3) | C0(4) | C0(5) | C0(6) | C0(7) | C0(8) | ... |
C1(t) | C1(0) | C1(1) | C1(2) | C1(3) | C1(4) | C1(5) | C1(6) | C1(7) | C1(8) | ... |
[표 2]에 나타낸 바와 같이, 데이터 u(t)는 콘벌루셔널 인코딩되어 C0채널데이터 C0(t)와, C1채널데이터 C1(t)로 인코딩되고, 인코딩된 데이터는 펑처링 패턴(110,101)에 따라서 진하게 표시된 데이터는 펑처링되어 송신된다.
이와 같이, 펑처링되어 전송된 데이터는 디펑처링부(240)에서 송신단에서 적용된 펑처링 패턴에 기초하여 펑처링된 위치에 임의의 데이터값을 삽입하여 디펑처링을 수행한다.
비터비 디코더(250)는 입력되는 데이터(Vi_IN)에 대해 비터비 디코딩을 수행한다. 비터비 디코더(250)는 먼저, 입력데이터(Vi_IN)를 이용하여 브랜치 메트릭(Branch metric)과 패스 메트릭(Path metric)을 구하고, 브랜치 메트릭과 패스 메트릭을 이용하여 비교가산선택부(후술됨)에서 입력데이터의 상태 천이 정보(State Transition Information)를 트레이스백 메모리(미도시:후술됨)에 저장한다. 트레이스백 메모리(미도시)에 저장된 상태 천이 정보에 기초하여 입력데이터(Vi_IN)를 디코딩하여 출력한다.
또한, 트레이스백 메모리(미도시)에는 입력데이터(Vi_IN)와, 입력데이터에 대응하는 펑처링 패턴(Pun_P)이 저장된다.
비터비 디코더(250)에서 디코딩된 데이터(Decoded data)가 출력될 때, 디코딩된 데이터에 대응하는 입력데이터(Vi_IN) 및 펑처링 패턴(Pun_P), 역시 트레이스백 메모리(미도시)에서 독출된다.
성능 측정부(260)는 비터비 디코더(250)의 디코딩 에러율을 산출하여 비터비 디코더(250)의 성능을 측정한다. 성능 측정부(260)는 리인코더(263), 및 에러산출부(267)를 가지고 있다 .
리인코더(263)는 비터비 디코더(250)에서 디코딩된 데이터(decoded data)에 대해 콘벌루셔널 인코딩을 수행한다. 즉, 비터비 디코더(250)에 입력되는 데이터(Vi_IN)와 동일한 형태가 되도록 인코딩을 수행한다.
에러산출부(267)는 비터비 디코더(250)의 트레이스백 메모리(미도시)로부터 독출된 입력데이터(Vi_IN)와 리인코더(263)에서 콘벌루셔널 인코딩된 데이터(Encoded data)간을 비교 연산하여 디코딩 에러율을 산출한다. 비교 연산시, 비터비 디코더(250)의 트레이스백 메모리(미도시)로부터 독출된 펑처링 패턴(Pun_P)에 기초하여 비교 연산한다. 즉, 펑처링 패턴이 '1'인 경우에만 입력데이터(Vi_IN)와 인코딩 데이터(Encoded data)를 비교하여 에러율을 산출한다.
이에 의해, 비터비 디코더(250)의 디코딩 성능을 측정한다.
따라서, 비터비 디코더(250)를 이용하여 성능 측정부를 구현함으로써, 지연소자 및 펑처링 패턴 발생부와 같은 하드웨어를 제거함으로써 시스템의 사이즈를 줄일 수 있고, 또한, 이에 따른 전력소모 및 비용절감 등의 효과를 얻을 수 있다.
도 3은 본 발명에 따른 채널 복호 장치의 비터비 디코더(350)를 보다 상세하게 도시한 도이며, 도 4는 트레이스백 메모리(355-1)의 기록 제어 타이밍 도이며, 도 5는 트레이스백 메모리(355-1)의 구조를 도시한 것이다. 이하에서는 도 3 내지 도 5를 참조하여 본 발명을 보다 상세하게 설명한다.
디펑처링부(340)에서 디펑처링된 데이터는 비터비 디코더(350)에 입력된다. 비터비 디코더(350)에 입력된 데이터는 가지메트릭생성부(351), 가산비교선택부(353), 및 트레이스백부(355)를 통해서 디코딩된다.
가지메트릭생성부(351)는 입력데이터(Vi_IN)를 통해 브랜치 메트릭(branch metric:BM)을 구한다. 예컨데, 전송률이 1/2인 브랜치 메트릭 생성기인 경우, 00,01,10,11인 4가지의 코드워드와, 각각의 코드워드에 대응하는 입력 데이터들간의 유클리디언 또는 해밍 디스턴스를 구한다.
가산비교선택부(353)는 브랜치 메트릭(BM)과 경로 메트릭(Path metric:PM)을 가산하고, 가산된 값 중 같은 상태로 천이하는 두 값을 비교하여 작은 값을 경로 메트릭 메모리(미도시)에 저장하고, 이 때의 상태 천이 정보를 트레이스백부(355)로 출력한다.
트레이스백부(355)는 입력데이터(Vi_IN)에 대한 상태 천이 정보와, 성능 측정부(360)와 연동하기 위한 입력데이터(Vi_IN) 및 펑처링 패턴(Pun_P)이 기록되는 트레이스백 메모리(355-1)와, 트레이스백 메모리(355-1)의 기록 및 읽기를 제어하는 트레이스백 제어부(355-2)를 가지고 있다.
도 4는 트레이스백 메모리(355-1)의 기록 제어 타이밍 도이다. 도시된 바와 같이, 입력데이터(Vi_IN)가 비터비 디코더(350)에 입력되어 상태 천이 정보를 얻기까지 소비되는 클럭은 구속장(Depth)이 7이고, 1개의 버터플라이구조 ACS(Add Compare Select)로 처리하였을 경우에, 일반적으로 32 내지 34 클럭이다. 따라서, 32 내지 34 클럭 이후의 클럭(Wt)에 트레이스백 메모리(355-1)에 입력데이터(Vi_IN)에 대한 상태 천이 정보를 기록한다. 이때, 성능 측정부(360)와 연동하기 위한 입력데이터(Vi_IN), 및 펑처링 패턴(Pun_P) 역시, 동일한 클럭(Wt)에 기록한다.
도 4에 도시된 메모리 기록 제어 방식은, 기존 트레이스백 제어부(355-2)의 제어 방식을 활용하여 본 발명에 따른 입력데이터(Vi_IN), 및 펑처링 패턴(Pun_P)을 기록하는 예를 설명한 것이며, 그외의 다른 방식으로 기록 제어를 할 수 있음은 당연한다.
도 5는 전송률이 1/2인 입력데이터(Vi_IN)에 대한 트레이스백 메모리(355-1)의 구조를 일 예로서 도시한 것이다. 트레이스백 메모리(355-1)는 송신단의 콘벌루셔널 인코더의 레지스터 개수에 대응하는 상태 개수(W)와, 역추적 길이(L)에 대응하는 메모리 공간을 가지며, 성능 측정부(360)와 연동하기 위한 입력데이터(Vi_IN) 및 펑처링 패턴(Pun_P)을 기록하기 위한 메모리 공간을 갖는다.
따라서, 트레이스백 메모리(355-1)에는 입력데이터(Vi_IN)에 대한 상태 천이 정보와, I/Q 입력데이터(Vi_INi,Vi_INq), 및 I/Q채널 입력데이터(Vi_INi,Vi_INq)에 대응하는 펑처링 패턴(Pun_Pi,Pun_Pq)을 기록된다.
트레이스백 제어부(355-2)는 일정시간 후 트레이스백 메모리(355-1)에 기록된 상태 천이 정보에 기초하여 역추적함으로써 입력데이터(Vi_IN)에 대한 디코딩 데이터를 출력시킨다. 디코딩 데이터가 출력될 때, 트레이스백 메모리(355-1)에 기록된 입력데이터(Vi_IN) 및 펑처링 패턴(Pun_P)을 독출하여 성능 측정부(360)로 출력시킨다.
성능 측정부(360)는 비터비 디코더(350)로부터 출력되는 디코딩 데이터(decoded data), 입력데이터(Vi_IN), 및 그에 대응하는 펑처링 패턴(Pun_P)을 이용하여 비터비 디코더(350)의 성능을 측정한다.
리인코더(363)는 디코딩 데이터(decoded data)에 대해 비터비 디코더(350)의 입력데이터(Vi_IN)와 동일한 형태가 되도록 콘벌루셔널 인코딩을 수행한다.
에러산출부(367)는 비터비 디코더(350)의 트레이스백 메모리(355-1)로부터 독출된 입력데이터(Vi_IN)와 리인코더(363)에서 콘벌루셔널 인코딩된 데이터간을 비교 연산하여 디코딩 에러율을 산출한다. 비교 연산시, 비터비 디코더(350)의 트레이스백 메모리(미도시)로부터 독출된 펑처링 패턴(Pun_P)에 기초하여 비교 연산한다. 즉, 펑처링 패턴이 '1'인 경우에만 입력데이터(Vi_IN)와 인코딩 데이터를 비교하여 에러율을 산출한다.
도 6은 본 발명에 따른 디지털 방송 수신기의 비터비 디코더의 성능 측정 방법에 대한 흐름도이며, 도 3 및 도 6을 참조하여 본 발명에 따른 디지털 방송 수신기의 비터비 디코더의 성능 측정 방법을 설명한다.
디펑처링부(340)에서 디펑처링된 데이터(Vi_IN)와 펑처링 패턴(Pun_P)은 비터비 디코더(350)에 입력된다(S611).
비터비 디코더(350)에 입력된 데이터(Vi_IN)는 가지메트릭생성부(351), 및 가산비교선택부(353)를 통해 상태 천이 정보를 구해 트레이스백 메모리(355-1)에 기록한다. 상태 천이 정보를 기록한 후, 입력데이터(Vi_IN) 및 펑처링 패턴(Pun_P)를 트레이스백 메모리(355-1)에 기록한다(S613).
일정시간 이후, 트레이스백 제어부(355-2)는 트레이스백 메모리(355-1)에 기록된 상태 천이 정보에 기초하여 역추적함으로써 입력데이터(Vi_IN)에 대한 디코딩 데이터를 출력시킨다. 디코딩 데이터가 출력될 때, 트레이스백 메모리(355-1)에 기록된 입력데이터(Vi_IN) 및 펑처링 패턴(Pun_P)을 독출하여 성능 측정부(360)로 출력시킨다(S615).
성능 측정부(360)의 리인코더(363)에서는 디코딩 데이터를 콘벌루셔널 인코딩을 수행한다(S621).
에러산출부(367)는 비터비 디코더(350)의 트레이스백 메모리(355-1)로부터 독출된 입력데이터(Vi_IN)와 리인코더(363)에서 인코딩된 데이터를 펑처링 패턴(Pun_P)에 기초하여 비교 연산함으로써 디코딩 에러율을 산출한다(S623).
이상과 같이, 비터비 디코더의 트레이스백 메모리에 입력데이터와 펑처링 패턴을 저장하고, 소정시간 후 디코딩 데이터가 출력될 때 입력데이터와 펑처링 패턴을 독출하여 성능 측정시 이용한다.
따라서, 채널 복호 장치의 하드웨어를 줄일 수 있으며, 이에 의해 전력소모 및 비용을 저감시킬 수 있다.
본 발명에 따르면, 비터비 디코더의 성능 측정시에 필요한 비터비 입력데이터와, 펑처링 패턴을 비터비 디코더 내의 트레이스백 메모리에 기록한 후 이를 활용함으로써 성능 측정부의 하드웨어를 줄일 수 있다.
즉, 종래의 성능 측정부에서는 비터비 디코더에 입력되는 데이터를 지연시키기 위한 지연소자와, 지연소자를 제어하기 위한 제어로직, 펑처링 패턴을 발생하는 장치와, 입력데이터에 대응하는 펑처링 패턴을 발생시키기 위한 제어로직 등을 마련하여 디코딩 성능을 측정하였다. 그러나, 본 발명에 따라서는 입력데이터 및 펑처링 패턴을 트레이스백 메모리에 기록 및 읽기를 제어함으로써 종래의 지연소자, 펑처링 패턴 발생장치, 및 이들을 위한 제어로직의 기능을 효과적으로 대신할 수 있다.
특히, 펑처링 패턴이 매우 복잡한 시스템인 경우에도 그를 위한 별도의 제어로직이 필요없이, 기존의 트레이스백 제어로직으로 대체하여 사용할 수 있음으로써 하드웨어의 복잡도를 크게 줄일 수 있다.
따라서, 채널 복호 장치의 구현을 간단하게 할 수 있으며, 또한, 전력소모 및 비용 절감 등의 효과를 얻을 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대해서 도시하고 설명하였으나, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
도 1은 종래의 채널 복호 장치에 대한 개략적인 블록도,
도 2는 본 발명에 따른 구현이 간단한 채널 복호 장치에 대한 개략적인 블록도,
도 3은 본 발명에 따른 채널 복호 장치에 대한 상세한 블록도,
도 4는 도 3의 트레이스백 메모리에 대한 기록 제어 타이밍 도,
도 5는 도 3의 트레이스백 메모리 구조도, 그리고
도 6은 본 발명에 따른 채널 복호 방법에 대한 흐름도이다.
* 도면의 주요부분에 대한 부호의 설명 *
340 : 디펑처링부 350 : 비터비 디코더
351 : 가지메트릭생성부 353 : 가산비교선택부
355 : 트레이스백부 355-1 : 트레이스백 메모리
355-2 : 트레이스백 제어부 360 : 성능 측정부
363 : 리인코더 365 : 에러산출부
Claims (10)
- 펑처링 패턴에 기초하여 펑처링된 위치에 임의의 데이터를 삽입하여 디펑처링 데이터를 출력하는 디펑처링부;디펑처링 데이터를 디코딩하여 디코딩데이터를 출력하고, 내장된 메모리를 이용하여, 상기 디펑처링 데이터 및 상기 펑처링 패턴을 일시적으로 저장하여 독출하는 비터비디코더; 및상기 디펑처링 데이터, 상기 디코딩 데이터, 및 상기 펑처링 패턴을 이용하여 상기 디코딩 데이터의 에러율을 산출하는 성능 측정부;를 포함하며,상기 비터비디코더는, 상기 디코딩 데이터가 출력될 때 상기 디코딩 데이터에 대응하는 상기 디펑처링 데이터 및 상기 펑처링 패턴을 독출하는 것을 특징으로 하는 채널 복호 장치.
- 제 1항에 있어서,상기 비터비디코더는,상기 디펑처링 데이터 및 상기 펑처링 패턴을 기록하기 위한 메모리; 및상기 디코딩 데이터가 출력될 때 상기 디코딩 데이터에 대응하는 상기 디펑처링 데이터 및 상기 펑처링 패턴을 독출시키도록 제어하는 메모리제어부;를 포함하는 것을 특징으로 하는 채널 복호 장치.
- 제 1항에 있어서,상기 비터비디코더는,상기 디펑처링 데이터를 이용하여 가지메트릭을 생성하는 가지메트릭생성부;상기 가지메트릭 및 경로메트릭에 대해 가산/비교/선택과정을 통해 상태천이정보를 출력하는 가산비교선택부;상기 상태천이정보, 상기 디펑처링 데이터 및 상기 펑처링 패턴을 기록하는 트레이스백 메모리; 및상기 트레이스백 메모리에 기록된 상태천이정보를 역추적하여 상기 디펑처링 데이터의 디코딩 데이터를 출력시키며, 상기 디코딩 데이터가 출력될 때 상기 디코딩 데이터에 대응하는 상기 디펑처링 데이터 및 상기 펑처링 패턴을 독출시키는 트레이스백 제어부;를 포함하는 것을 특징으로 하는 채널 복호 장치.
- 제 3항에 있어서,상기 트레이스백 제어부는,상기 가산비교선택부로부터 출력된 상기 상태천이정보가 상기 트레이스백 메모리에 기록될 때, 상기 디펑처링 데이터 및 상기 펑처링 패턴을 상기 트레이스백 메모리에 기록하도록 제어하는 것을 특징으로 하는 채널 복호 장치.
- 제 1항에 있어서,상기 성능 측정부는,상기 디코딩 데이터를 인코딩하여 인코딩 데이터를 출력하는 리인코더; 및상기 독출된 디펑처링 데이터와 상기 인코딩 데이터를 상기 독출된 펑처링 패턴에 기초하여 비교 연산함으로써 상기 디코딩 에러율을 산출하는 에러산출부;를 포함하는 것을 특징으로 하는 채널 복호 장치.
- 제 5항에 있어서,상기 에러산출부는,상기 펑처링 패턴에 기초하여, 펑처링되지 않은 위치의 상기 디펑처링 데이터와 상기 인코딩 데이터를 비교 연산하여 상기 디코딩 에러율을 산출하는 것을 특징으로 하는 채널 복호 장치.
- 펑처링 패턴에 기초하여 펑처링된 위치에 임의의 데이터를 삽입하여 디펑처링 데이터를 출력하는 디펑처링단계;상기 디펑처링 데이터를 디코딩하여 디코딩데이터를 출력하고, 내장된 메모리를 이용하여, 상기 디펑처링 데이터와 상기 펑처링 패턴을 기록하며, 상기 디코딩 데이터가 출력될 때 상기 디코딩된 데이터에 대응하는 상기 디펑처링 데이터 및 상기 펑처링 패턴을 독출하는 비터비디코딩단계; 및상기 디펑처링 데이터, 상기 디코딩 데이터, 및 상기 펑처링 패턴을 이용하여 상기 디코딩 에러율을 산출하는 성능측정단계;를 포함하는 것을 특징으로 하는 채널 복호 방법.
- 제 7항에 있어서,상기 비터비디코딩단계는,상기 디펑처링 데이터를 이용하여 가지메트릭을 생성하는 단계;상기 가지메트릭 및 경로메트릭에 대해 가산/비교/선택과정을 통해 상태천이정보를 출력하는 단계;상기 상태천이정보, 상기 디펑처링 데이터 및 상기 펑처링 패턴을 기록하는 단계; 및상기 트레이스백 메모리에 기록된 상태천이정보를 역추적하여 상기 디펑처링 데이터의 디코딩 데이터를 출력시키며, 상기 디코딩 데이터가 출력될 때 상기 디코딩 데이터에 대응하는 상기 디펑처링 데이터 및 상기 펑처링 패턴을 독출하는 단계;를 포함하는 것을 특징으로 하는 채널 복호 방법.
- 제 7항에 있어서,상기 성능 측정단계는,상기 디코딩 데이터를 인코딩하여 인코딩 데이터를 출력하는 단계; 및상기 독출된 디펑처링 데이터와 상기 인코딩 데이터를 상기 독출된 펑처링 패턴에 기초하여 비교 연산함으로써 상기 디코딩 에러율을 산출하는 단계;를 포함하는 것을 특징으로 하는 채널 복호 방법.
- 제 9항에 있어서,상기 디코딩 에러율은,상기 펑처링 패턴에 기초하여, 펑처링되지 않은 위치의 상기 디펑처링 데이터와 상기 인코딩 데이터를 비교 연산하여 산출하는 것을 특징으로 하는 채널 복호 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0073466A KR100528873B1 (ko) | 2003-10-21 | 2003-10-21 | 구현이 간단한 채널 복호 장치 및 그의 채널 복호 방법 |
CNB2004100789593A CN100502247C (zh) | 2003-10-21 | 2004-09-16 | 简化的信道译码设备及其信道译码方法 |
JP2004306063A JP3909069B2 (ja) | 2003-10-21 | 2004-10-20 | 具現が簡単なデジタル放送チャネル復号装置及びそのデジタル放送チャネル復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0073466A KR100528873B1 (ko) | 2003-10-21 | 2003-10-21 | 구현이 간단한 채널 복호 장치 및 그의 채널 복호 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050038228A KR20050038228A (ko) | 2005-04-27 |
KR100528873B1 true KR100528873B1 (ko) | 2005-11-16 |
Family
ID=34651237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0073466A KR100528873B1 (ko) | 2003-10-21 | 2003-10-21 | 구현이 간단한 채널 복호 장치 및 그의 채널 복호 방법 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP3909069B2 (ko) |
KR (1) | KR100528873B1 (ko) |
CN (1) | CN100502247C (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527573B (zh) * | 2009-04-29 | 2012-01-11 | 威盛电子股份有限公司 | 维特比解码器 |
-
2003
- 2003-10-21 KR KR10-2003-0073466A patent/KR100528873B1/ko not_active IP Right Cessation
-
2004
- 2004-09-16 CN CNB2004100789593A patent/CN100502247C/zh not_active Expired - Fee Related
- 2004-10-20 JP JP2004306063A patent/JP3909069B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1610266A (zh) | 2005-04-27 |
KR20050038228A (ko) | 2005-04-27 |
JP2005130500A (ja) | 2005-05-19 |
JP3909069B2 (ja) | 2007-04-25 |
CN100502247C (zh) | 2009-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100542051C (zh) | 解码方法和设备 | |
KR100580160B1 (ko) | 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기 | |
CN1808912B (zh) | 纠错译码器 | |
JP3900637B2 (ja) | ビタビ復号装置 | |
US7765459B2 (en) | Viterbi decoder and viterbi decoding method | |
JP2004040818A (ja) | 適用形チャネル符号化方法及び装置 | |
JP2004080508A (ja) | 誤り訂正符号の復号方法、そのプログラム及びその装置 | |
KR100285067B1 (ko) | 비터비 디코더의 가산 비교 선택 회로 | |
JPH0316046B2 (ko) | ||
US7793200B1 (en) | Method of and circuit for accessing a memory of a trellis decoder | |
US7278088B2 (en) | Configurable architecture and its implementation of viterbi decorder | |
KR100737648B1 (ko) | 비터비 복호장치 및 비터비 복호방법 | |
KR101212856B1 (ko) | 통신 시스템에서 데이터를 복호하는 방법 및 장치 | |
KR100528873B1 (ko) | 구현이 간단한 채널 복호 장치 및 그의 채널 복호 방법 | |
CN206099947U (zh) | 一种低资源消耗的多参数可配置Viterbi译码器 | |
US20070201586A1 (en) | Multi-rate viterbi decoder | |
US7225393B2 (en) | Viterbi decoder and Viterbi decoding method | |
JP3823731B2 (ja) | 誤り訂正復号器 | |
US7263653B2 (en) | Algorithm for a memory-based Viterbi decoder | |
US20090172504A1 (en) | Memory architecture for viterbi decoder and operating method therefor | |
WO1997013327A1 (en) | Viterbi co-processor and method of operation therefor | |
JP4047697B2 (ja) | ビタビ復号装置 | |
US6904105B1 (en) | Method and implemention of a traceback-free parallel viterbi decoder | |
Latha et al. | Low-Power Adaptive Viterbi Decoder for TCM Using T-Algorithm | |
JP2006115534A (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 |
Payment date: 20121016 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20131022 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20141022 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20151020 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20161018 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |