KR20050052787A - Apparatus of viterbi decoding in dmb receiver and method of the same - Google Patents

Apparatus of viterbi decoding in dmb receiver and method of the same Download PDF

Info

Publication number
KR20050052787A
KR20050052787A KR1020030086340A KR20030086340A KR20050052787A KR 20050052787 A KR20050052787 A KR 20050052787A KR 1020030086340 A KR1020030086340 A KR 1020030086340A KR 20030086340 A KR20030086340 A KR 20030086340A KR 20050052787 A KR20050052787 A KR 20050052787A
Authority
KR
South Korea
Prior art keywords
data
memory
port
dmb receiver
reading
Prior art date
Application number
KR1020030086340A
Other languages
Korean (ko)
Other versions
KR101029803B1 (en
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 엘지전자 주식회사
Priority to KR1020030086340A priority Critical patent/KR101029803B1/en
Publication of KR20050052787A publication Critical patent/KR20050052787A/en
Application granted granted Critical
Publication of KR101029803B1 publication Critical patent/KR101029803B1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/256Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services

Abstract

본 발명은 디지털 멀티미디어 방송(DMB) 수신기의 비터비 디코더에 관한 것으로, 본 발명에 따르면, DMB 수신기의 전송 에러를 보정하기 위해 길쌈 부호화된 데이터를 입력받아 트랠리스상의 각 상태로 들어오는 분기 중 가장 작은 패스 메트릭을 생존자 경로로써 역추적하여 디코딩하는 비터비 디코더는, 데이터를 읽고 쓰기 위한 포트가 하나로 구성된 싱글 포트 메모리와, 상기 싱글 포트 메모리에 상기 길쌈 부호화되어 전송된 데이터를 상기 하나의 포트를 통해 쓰고, 상기 쓰여진 데이터를 상기 포트를 통해 역추적하여 읽어오기 위한 제어부와, 상기 메모리에서 출력되는 데이터 속도를 낮춰주기 위해 상기 데이터를 임시 저장하기 위한 다수의 추가 버퍼를 포함하여 구성됨으로써, 비터비 디코더를 구현하는데 있어, 메모리의 효율적인 사용과 클럭 주파수를 낮춰 줌으로써 전체 시스템이 저전력으로 동작하는 효과가 있다.The present invention relates to a Viterbi decoder of a digital multimedia broadcasting (DMB) receiver. According to the present invention, a branch input of convolutional coded data for correcting a transmission error of a DMB receiver and entering each state on a trellis is most suitable. A Viterbi decoder that traces and decodes a small pass metric as a survivor path includes a single port memory having a single port for reading and writing data, and the convolutional coded data transmitted to the single port memory through the single port. And a plurality of additional buffers for temporarily storing the data in order to lower the data rate output from the memory, and a controller for writing and writing back traces of the written data through the port. In the implementation of the clock, the efficient use of memory and clock By giving the lower frequency has the effect that the entire system is in operation at low power.

Description

DMB 수신기의 비터비 디코딩 장치 및 방법{Apparatus of viterbi decoding in DMB receiver and Method of the same}Apparatus of viterbi decoding in DMB receiver and method of the same}

본 발명은 디지털 멀티미디어 방송(DMB) 수신기에 관한 것으로, 특히 전송 에러 정정을 위한 DMB 수신기 내의 비터비 디코딩 장치 및 방법에 관한 것이다.The present invention relates to a digital multimedia broadcasting (DMB) receiver, and more particularly, to a Viterbi decoding apparatus and method in a DMB receiver for transmission error correction.

방송의 디지털화는 종래 아날로그 라디오 방송에도 영향을 주어 디지털 라디오 방송의 도래를 앞당겼다. 또한 종래 음성 라디오 서비스뿐만 아니라, 데이터 전송과 멀티미디어 서비스를 포괄하는 디지털 멀티미디어 방송(Digital Multimedia Broadcasting : DMB)이 가능해졌다. 디지털 멀티미디어 방송은 전송 채널상의 잡음과 왜곡에 강하고, 전송 효율이 높을 뿐 아니라 다양한 멀티미디어 서비스를 가능하게 하는 장점을 갖는다.Digitization of broadcasts has also affected conventional analog radio broadcasts, speeding up the advent of digital radio broadcasts. In addition to the conventional voice radio service, digital multimedia broadcasting (DMB), which includes data transmission and multimedia services, has become possible. Digital multimedia broadcasting is resistant to noise and distortion on a transmission channel, has a high transmission efficiency, and has various advantages of enabling various multimedia services.

한국에서 채택된 이러한 디지털 멀티미디어 방송(DMB)은 유럽의 지상파 라디오 표준으로 채택된 Eureka-147 디지털 라디오 방송(DAB)에 기반하고 있다. This digital multimedia broadcasting (DMB), adopted in Korea, is based on the Eureka-147 digital radio broadcasting (DAB), which has been adopted as the European terrestrial radio standard.

상기 DAB에 멀티미디어 방송 성능을 향상시키기 위해 추가된 것은, 전송 채널상 발생 가능한 연집 에러(Burst error)에 강인한 RS 코드(Reed-Solomon Code)와 길쌈 인터리버(Convolutional Interleaver)이다. Added to the DAB to improve multimedia broadcasting performance, RS codes and convolutional interleavers that are robust to burst errors that may occur on a transmission channel are included.

추가된 상기 두 블록은 송신기에서 DAB 앙상블(Ensemble) 입력 신호에 대해 적용하며, 이동 수신환경에서도 비디오 서비스가 가능할 만큼 충분히 낮은 에러율을 제공한다.The two additional blocks are applied to the DAB Ensemble input signal at the transmitter and provide an error rate low enough for video service even in a mobile receiving environment.

상기 DMB 방송의 전송 채널은 무선 이동 수신 채널로써, 수신 신호의 크기(Amplitude)가 시변(Time-varying)할 뿐만 아니라, 이동 수신기의 영향으로 수신 신호 스펙트럼(Spectrum)의 도플러 확산(Doppler Spreading)이 발생한다.The transmission channel of the DMB broadcast is a wireless mobile reception channel, and the amplitude of the received signal is not only time-varying but also the Doppler Spreading of the received signal spectrum due to the influence of the mobile receiver. Occurs.

또한, DMB 전송 신호는 종래 아날로그 라디오 방송 신호에 비해 매우 작은 신호 세기로 전송되며, 도심과 같은 심한 페이딩(Fading) 채널 환경에서 자동차에서와 같은 이동 수신을 고려하면 실제 수신 신호의 신호 세기는 매우 작다.In addition, the DMB transmission signal is transmitted with a very small signal strength compared to the conventional analog radio broadcast signal, and the signal strength of the actual received signal is very small considering the mobile reception such as in a car in a severe fading channel environment such as downtown. .

따라서, DMB 수신기는 이러한 열악한 수신 환경에서 최대한 수신 신호를 받아들여 전송에러를 보정할 수 있어야 한다. Therefore, the DMB receiver should be able to correct the transmission error by receiving the received signal as much as possible in such a poor reception environment.

또한, 이동 수신 단말기라는 점을 고려하면 제한된 비용을 들여서 최대의 수신 성능을 발휘해야 하며, 배터리의 용량 등을 고려하여 저전력으로 동작하도록 하는 것이 DMB 수신기 구성의 핵심 요건이 된다.In addition, considering the fact that it is a mobile receiving terminal, it is necessary to exhibit maximum reception performance at a limited cost, and to operate at low power in consideration of battery capacity, etc., becomes a key requirement of the DMB receiver configuration.

따라서, 본 발명의 목적은 이와 같은 종래 기술의 문제점을 해결하기 위해 안출한 것으로서, 전송 에러 보정을 위한 DMB 수신기 내의 비터비 디코더를 구현하는데 있어 효율적인 디코딩 장치 및 방법을 제안하는데 있다.Accordingly, an object of the present invention is to solve the problems of the prior art, to propose an efficient decoding apparatus and method for implementing a Viterbi decoder in a DMB receiver for transmission error correction.

본 발명의 다른 목적은 전력 소모를 줄일 수 있는 비터비 디코더를 제안하는데 있다.Another object of the present invention is to propose a Viterbi decoder which can reduce power consumption.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 DMB 수신기의 비터비 디코딩 장치는, 길쌈 부호화된 데이터를 입력받아 트랠리스상의 각 상태로 들어오는 분기 중 가장 작은 패스 메트릭을 생존자 경로로써 역추적하여 디코딩하기 위해, 데이터를 읽고 쓰기 위한 포트가 하나로 구성된 싱글 포트 메모리와, 상기 싱글 포트 메모리에 상기 길쌈 부호화되어 전송된 데이터를 상기 하나의 포트를 통해 쓰고, 상기 쓰여진 데이터를 상기 포트를 통해 역추적하여 읽어오기 위한 제어부와, 상기 메모리에서 출력되는 데이터 속도를 낮춰주기 위해 상기 데이터를 임시 저장하기 위한 다수의 추가 버퍼를 포함하여 구성됨을 특징으로 한다.Viterbi decoding apparatus of the DMB receiver according to the present invention for achieving the above object, the traceback decoding of the smallest path metric among the branches coming into each state on the trellis receiving convolutional coded data as a survivor path decoding In order to read and write data, the single port memory includes a single port, and the convolutional coded data transmitted to the single port memory is written through the one port, and the written data is read back through the port. And a plurality of additional buffers for temporarily storing the data in order to reduce the data rate output from the memory.

상기 하나의 포트를 통해 데이터가 한번 기록되고, 세 번 읽혀지는 주기가 반복되는 것을 특징으로 한다.The data is recorded once through the one port, and the cycle of reading three times is repeated.

상기 추가 버퍼에 쓰여진 데이터는 쓰여진 방향과 반대 방향으로 읽혀짐을 특징으로 한다.The data written to the additional buffer is characterized in that it is read in the opposite direction to the written direction.

본 발명에 따른 비터비 디코딩 방법은, 길쌈 부호화된 데이터를 입력받아 트랠리스상의 각 상태로 들어오는 분기 중 가장 작은 패스 메트릭을 생존자 경로로써 역추적하여 디코딩하기 위해, 상기 전송된 길쌈 부호화된 데이터가 하나의 포트를 갖는 메모리에 쓰여지는 단계와, 상기 쓰여진 데이터를 상기 포트를 통해 역추적하여 읽어오는 단계와, 상기 읽혀진 데이터를 다수개의 버퍼에 임시 저장하는 단계와, 상기 임시 저장된 데이터를 다시 역방향으로 읽어오는 단계를 포함하여 이루어짐을 특징으로 한다. In the Viterbi decoding method according to the present invention, the transmitted convolutional coded data is decoded in order to trace back and decode the smallest path metric among the branches which enter convolutional coded data and enter each state on the trellis as a survivor path. Writing to a memory having a single port, backtracking and reading the written data through the port, temporarily storing the read data in a plurality of buffers, and backing up the temporarily stored data back in the reverse direction Characterized in that it comprises a step of reading.

상기 하나의 포트를 갖는 메모리에 쓰여진 데이터를 읽어오는 속도는 상기 쓰는 속도의 4배인 것을 특징으로 한다.The speed of reading data written to the memory having the one port is four times the writing speed.

상기 임시 저장된 데이터를 역방향으로 읽어오는 속도는 전체 DMB 수신기의 시스템 클럭과 같은 속도임을 특징으로 한다.The speed of reading the temporarily stored data in the reverse direction is the same as the system clock of the entire DMB receiver.

이하 발명의 바람직한 실시예에 따른 구성 및 작용을 첨부한 도면을 참조하여 설명한다.Hereinafter, a configuration and an operation according to a preferred embodiment of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명에 따른 비터비 디코더를 포함한 DMB 수신 시스템의 전체 구성을 나타낸 블록도이다.1 is a block diagram showing the overall configuration of a DMB receiving system including a Viterbi decoder according to the present invention.

도 1과 같이, DMB 수신기는, 전송된 방송 신호를 안테나(1)를 통해 수신하고, 수신된 방송 신호는 튜너(2)를 통해 원하는 중간 주파수(Intermediate Frequency)의 통과 대역(Pass-band) 신호로 변환된다.As shown in FIG. 1, the DMB receiver receives a transmitted broadcast signal through an antenna 1, and the received broadcast signal is a pass-band signal of a desired intermediate frequency through a tuner 2. Is converted to.

상기 튜너(2)를 통해 튜닝된 신호는 그 크기를 일정하게 유지시켜 주기 위해 기준 신호 크기에 따라 계산한 이득값이 AGC(Automatic Gain Control)부(3)에서 곱해지고, 이후 A/D(Analog-Digital Converter)블록(4)에서 상기 일정 크기의 신호에 표본화(Sampling)를 수행하여 디지털 신호로 변환한다. 상기 변환된 디지털 신호는 I/Q 분배기(5)를 통해 복소 신호(Complex Signal)의 실수부(Real Part)를 복소 신호로 복원된다. In order to keep the signal tuned through the tuner 2, the gain value calculated according to the reference signal size is multiplied by the AGC (Automatic Gain Control) unit 3, and then A / D (Analog). In the digital converter block 4, sampling is performed on the signal having a predetermined size and converted into a digital signal. The converted digital signal recovers the real part of the complex signal into a complex signal through the I / Q divider 5.

이때, 전송 모드 검출부(6)에서는 정확한 프레임 동기와 OFDM 심볼 동기 신호를 얻기 위해 수신된 신호의 전송 모드를 검출하게 되고, 이후 OFDM 복조기(8)에서는 불필요한 보호구간(Guard Interval)을 제거한 후 FFT(Fast Fourier Transform)을 통해 시간 영역의 신호를 주파수 영역으로 변환한다. 상기 OFDM 복조기(8)의 입력과 출력 신호는 신호 동기부(7)의 입력 신호가 되고, 상기 신호 동기부(7)에서는 시간/주파수 영역에서의 동기에 필요한 정보를 추출해낸다. At this time, the transmission mode detection unit 6 detects the transmission mode of the received signal in order to obtain an accurate frame synchronization and OFDM symbol synchronization signal, and then the OFDM demodulator 8 removes unnecessary guard intervals and then removes the FFT ( Fast Fourier Transform) transforms the time domain signal into the frequency domain. The input and output signals of the OFDM demodulator 8 become input signals of the signal synchronizer 7, and the signal synchronizer 7 extracts information necessary for synchronization in the time / frequency domain.

상기 주파수 영역으로 변환된 신호는 주파수 역인터리버(De-interleaver)(9)를 통해 송신단에서 인터리빙(Interleaving)한 부반송파(Sub-carrier) 신호들의 위치를 원래대로 복원시키고, 이렇게 복원된 신호는 채널 분배기 1(10)를 통해 제어 채널인 FIC(Fast Information Channel) 채널과 데이터 채널인 MSC(Main Service Channel)로 분리되어 출력된다. The signal transformed into the frequency domain restores the positions of the sub-carrier signals interleaved by the transmitter through a frequency de-interleaver (9). Through 1 (10), the control channel is divided into a fast information channel (FIC) channel and a data channel (MSC) main service channel and outputted.

상기 FIC 채널은 FIC 복호화기(11)로 입력되어 MSC 채널을 복호화하는데 필요한 정보들이 복호되고, 상기 FIC 채널을 통해 전송된 별도의 데이터(ex. 교통정보 등)는 FIC 데이터 복호화기(12)를 통해 복호된다.The FIC channel is input to the FIC decoder 11 so that information necessary to decode the MSC channel is decoded. Separate data (ex. Traffic information, etc.) transmitted through the FIC channel is used for the FIC data decoder 12. Decoded via

상기 MSC 채널은 시간 역인터리버(13)를 통해 송신기에서 인터리빙한 16개의 논리적인 프레임(Logical Frame)들을 다시 원래의 프레임 순서대로 복원시키며, 이렇게 인터리빙된 MSC 채널은 전송 중 발생 가능한 랜덤한 에러(Random error)를 정정정하는 길쌈 복호화기(Convolutional decoder)(14)를 통해 에러 정정된다.The MSC channel restores the 16 logical frames interleaved at the transmitter through the time deinterleaver 13 in the original frame order, and the interleaved MSC channel is a random error that may occur during transmission. Error correction is performed through a convolutional decoder 14 that corrects an error.

상기 에러 정정된 데이터는 에너지 역스크램블러(15)를 통해 암호화를 위해 스크램블되었던 데이터가 원래의 데이터로 복구되어 채널 분배기2(16)로 입력된다.The error corrected data is inputted to the channel divider 2 (16) after the data that was scrambled for encryption by the energy descrambler 15 is restored to the original data.

상기 채널 분배기 2(16)에서는 전송된 MSC 데이터 채널이 DAB 서비스를 위한 오디오/데이터 신호인지, DMB 서비스를 위한 비디오 신호인지를 구별하여 분리 출력한다. 상기 DAB 서비스를 위한 오디오/데이터는 오디오/데이터 복호화기(17)를 통해 복호되어 오디오/데이터 신호로 출력된다.The channel divider 2 (16) distinguishes and outputs whether the transmitted MSC data channel is an audio / data signal for a DAB service or a video signal for a DMB service. The audio / data for the DAB service is decoded through the audio / data decoder 17 and output as an audio / data signal.

상기 DMB 서비스를 위한 신호는 다시 길쌈 역인터리버(18)를 통해 송신단에서 추가적으로 인터리빙한 데이터를 원래의 순서대로 정렬하고, RS 복호화기(19)를 통해 송신단에서 RS 인코딩(Encoding)한 데이터를 복원해 낸다.The signal for the DMB service is again arranged in the original order of the data additionally interleaved by the transmitter through the convolutional deinterleaver 18, and the RS-encoded data is restored by the transmitter through the RS decoder 19. Serve

상기 복원된 데이터는 비디오 복호화기(20)를 통해 비디오 신호로 복원되어 출력된다.The reconstructed data is reconstructed and output as a video signal through the video decoder 20.

이와 같이 동작하는 DMB 수신기의 구성 중 상기 랜덤한 에러를 정정하기 위한 길쌈 복호화기(14)는, 송신단에서 현재의 입력 데이터와 과거의 저장된 입력 데이터들 사이에 길쌈 복호화를 수행하여 순차적으로 진행되는 데이터들 사이에 상관 관계를 높여 줌으로써 수신단에서 이 특징을 이용하여 에러를 제거하게 된다.In the configuration of the DMB receiver operating as described above, the convolutional decoder 14 for correcting the random error performs convolutional decoding between the current input data and the past stored input data at the transmitting end and proceeds sequentially. By increasing the correlation between them, the receiver uses this feature to eliminate the error.

이러한, 길쌈 복호화기(14)의 가장 대표적인 구현 방식이 바로 비터비 디코딩 알고리즘이다.The most representative implementation of the convolutional decoder 14 is the Viterbi decoding algorithm.

상기 비터비 알고리즘은 송신단의 트렐리스(trellis)와 수신된 신호 사이에서 발생한 차이를 나타내는 척도로 가지 메트릭(brench metric)과 패스 메트릭(path metric)을 사용한다.The Viterbi algorithm uses a branch metric and a path metric as a measure of the difference between the trellis of the transmitting end and the received signal.

상기 가지 메트릭은 채널 모델에 따라 해밍 거리(Hamming distance) 또는 유클리디안 거리(Euclidian distance)로 구해지며, 패스 메트릭은 상기 가지 메트릭의 합으로 구해진다.The branch metric is obtained as a Hamming distance or Euclidian distance according to the channel model, and the pass metric is obtained as the sum of the branch metrics.

이러한 비터비 알고리즘은 트렐리스 상의 각 상태로 들어오는 분기 중 가장 작은 패스 메트릭을 선택하여 그 상태의 가지 메트릭을 더함으로써, 새로운 패스 메트릭을 생성하고 이때의 정보를 저장한다. 상기 가장 작은 패스 메트릭을 갖는 경로를 생존자 경로로 정의하며 일정한 시간(T : Truncation depth)이 지난 후에 현재 시간 축에서 생존자 경로를 역추적(trace back)함으로써 디코딩 출력을 결정하게 된다.This Viterbi algorithm selects the smallest path metric among the branches coming into each state on the trellis and adds the branch metric of that state to generate a new pass metric and store the information at this time. The path having the smallest path metric is defined as a survivor path, and a decoding output is determined by tracing back the survivor path on the current time axis after a truncation depth (T).

이러한 비터비 알고리즘을 구현하기 위한 방법으로는 레지스터 교환(register exchange) 방법과 역추적(trace back) 방법이 있다.Methods for implementing such a Viterbi algorithm include a register exchange method and a trace back method.

이 중, 상기 레지스터 구현 방법은 빠른 동작 특성을 갖게 하기 위하여 추가적인 메모리와 하드웨어가 필요하며 이에 따라 요구되는 전력 소비량도 크다는 특징이 있으며, 상기 역추적 방법은 요구되는 전력 소모는 적으나 최초의 값이 복호될때까지 일정한 지연 시간이 걸린다는 특징이 있다.Among these, the register implementation method is characterized in that additional memory and hardware are required in order to have fast operation characteristics, and accordingly, the required power consumption is large, and the backtracking method requires less power but has an initial value. It is characterized by a constant delay time until decoding.

따라서, 본 발명에서는 저전력에 초점을 맞추고 전체적인 시스템을 구성하기 위해, 상기 역추적 방식을 사용하여 비터비 디코더를 구현한다.Accordingly, the present invention implements a Viterbi decoder using the above traceback method to focus on low power and to construct the whole system.

도 2는 하나의 포인터를 사용하는 방식의 역추적 알고리즘을 간략하게 나타낸 도면으로, 상기 하나의 포인터(One-pointer) 방식은 기록(write)과 읽는(read) 시점을 각각의 포인터(pointer)로 보고 역추적을 효율적으로 수행하기 위한 알고리즘이다.FIG. 2 is a diagram schematically illustrating a backtracking algorithm using a single pointer. In the one-pointer method, a write and read time point is represented by each pointer. An algorithm for efficiently performing report traceback.

도 2와 같이, 역추적 방식으로 생존자 경로를 찾아가는 비터비 디코딩 구현 방법은 메모리를 사용하며, 기록(write) 하는 부분과 읽기(read) 위한 부분이 필요하다.As shown in FIG. 2, the Viterbi decoding implementation method of searching for a survivor path by using a backtracking method uses a memory, and requires a part to write and a part to read.

즉, 도 2의 Bank0, Bank1, Bank2, Bank3는 메모리 블록을 나타내며 모두 같은 크기이고, T는 Truncation depth를 나타낸다. 'tb'는 역추적(trace back) 구간을 나타내며, 'dc'는 결정(decision) 구간을, 'wr'은 기록(write)하는 블록을 나타낸다.That is, Bank0, Bank1, Bank2, and Bank3 of FIG. 2 represent memory blocks and all have the same size, and T represents the truncation depth. 'tb' represents a trace back section, 'dc' represents a decision section, and 'wr' represents a block to write.

올바른 디코딩 값을 얻기 위해서는 Truncaton depth 만큼의 길이를 역추적하여야 하며 상기 'tb','dc'블록 부분은 모두 읽기 동작이 수행되는 부분이다.In order to obtain the correct decoding value, the length of the Truncaton depth must be traced back, and the 'tb' and 'dc' block parts are all read operations.

하나의 포인터 방식의 역추적 알고리즘은 기록 포인터(write pointer)와 읽기 포인터(read pointer)가 동시에 동작하기 시작하되, 상기 읽기 포인터는 기록 포인터가 움직이는 속도의 정확히 3배로 동작하여야 한다. In the one-point traceback algorithm, the write pointer and the read pointer start to operate at the same time, but the read pointer must operate at exactly three times the speed at which the write pointer moves.

이는, 상기 메모리에서 기록 포인터와 읽기 포인터가 충돌하지 않고 정확한 값을 디코딩하기 위함이다.This is to decode the correct value without conflicting the write pointer and the read pointer in the memory.

본 발명에 따르면, 상기 하나의 포인터 알고리즘을 실제 하드웨어로 구현하는데 있어, 기록 포트(write port)와 읽기 포트(read port)의 두 개의 포트를 사용하는 것이 아니라 하나의 포트를 사용하여 구현한다.According to the present invention, the single pointer algorithm is implemented in real hardware by using one port rather than two ports, a write port and a read port.

즉, 적은 전력 소비를 위해 메모리 어드레싱 방법을 효율적으로 구성하여, 듀얼 포트 메모리(dual port memory)가 아닌 싱글 포트 메모리(single port memory)를 사용하는 것이다.That is, by efficiently configuring a memory addressing method for low power consumption, a single port memory is used instead of dual port memory.

상기 싱글 포트 메모리를 사용하기 위해서는 메모리에 접근(access)하는 클럭도 하나의 클럭만을 사용해야 하는데, 기록과 읽기의 속도 차이를 반영하기 위해서 데이터 클럭의 4배에 해당하는 클럭을 사용한다.In order to use the single port memory, only one clock may be used to access the memory, and a clock corresponding to four times the data clock is used to reflect the speed difference between writing and reading.

이와 같은 관계를 좀 더 자세히 알아보기 위해 첨부한 도면을 통해 설명하면 다음과 같다.To describe in more detail such a relationship through the accompanying drawings as follows.

도 3은 본 발명에 따른 싱글 포트 메모리를 사용할 때 메모리 어드레싱 방법과 클럭과의 관계를 나타낸 도면이다.3 is a diagram illustrating a relationship between a memory addressing method and a clock when using a single port memory according to the present invention.

도 3과 같이, 기록 어드레스(write address)는 데이터 클럭에 따라 증가(0,1,2,3,‥·)되고, 읽기 어드레스(read address)는 메모리 접근 클럭에 따라 감소(2T-1,2T-2,2T-3,‥·)된다.As shown in Fig. 3, the write address is increased (0, 1, 2, 3, ...) with the data clock, and the read address is decreased with the memory access clock (2T-1, 2T). -2,2T-3, ...).

또한, 한번 기록한 후 세 번 읽을 수 있도록 기록 인에이블(write_enb) 신호와 읽기 인에이블(read_enable) 신호를 도 3과 같이 조절하여 싱글 포트 메모리만으로도 원하는 동작을 구현하게 된다. 이러한 동작 관계는 비터비 디코더 내 제어부(미도시)의 제어를 통해 이루어진다.In addition, the write enable (write_enb) signal and the read enable (read_enable) signal are adjusted as shown in FIG. 3 so that they can be read three times after writing once. This operation relationship is achieved through the control of a controller (not shown) in the Viterbi decoder.

이러한 하나의 포인터 알고리즘을 이용하여 역추적을 수행하는 경우 역방향으로 역추적을 수행하여 디코딩 되어지므로, 출력되는 결과 값도 메모리 뱅크(memory bank) 단위로 역순서의 값이 출력되어 진다.In the case of performing the back trace using one pointer algorithm, the back trace is decoded by performing the back trace in the reverse direction. Therefore, the output result value is also output in the reverse order in units of the memory bank.

따라서, 이를 올바른 순서로 출력값을 얻기 위해서는 T/2의 메모리 뱅크에 해당하는 추가 버퍼가 필요하다. 이때, 추가 버퍼에 입력되는 값은 읽는 속도(4배 클럭)와 같은 값으로 입력이 되며, 버퍼에 입력되는 값이 겹쳐쓰이는(overwrite) 경우를 방지하기 위해서 버퍼의 출력값 또한 상기 읽는 속도와 같은 속도로 출력되어야 한다.Therefore, to obtain the output values in the correct order, an additional buffer corresponding to the memory bank of T / 2 is required. At this time, the value input to the additional buffer is input at the same value as the reading speed (4 times the clock), and the output value of the buffer is also at the same speed as the reading speed in order to prevent overwriting the value input to the buffer. Should be printed as

그러나, DMB 수신기의 경우, 상기 채널 분배기1(10) 이후의 역변조(demodulation) 블록에서 I, Q 값을 나누어 전달해 주기 위해서 원래 수신기 클럭의 두배의 클럭으로 데이터를 전달하며, 이 두배 클럭 속도로 비터비 디코더에 입력된다.However, in the case of the DMB receiver, data is transmitted at twice the clock of the original receiver clock in order to divide the I and Q values in the demodulation block after the channel divider 1 (10), and at this double clock speed. It is input to the Viterbi decoder.

때문에, 상기 비터비 디코더에서 하나의 포인터 방식의 역추적을 수행하기 위해서는 상기 4배의 속도와 2배의 속도가 곱해진 8배속에 해당하는 클럭 속도가 된다.Therefore, in order to perform back-tracking of one pointer method in the Viterbi decoder, the clock speed corresponding to 8 times speed multiplied by the 4 times speed and 2 times speed is obtained.

상기 8배속의 속도로 버퍼로 입력된 데이터가 겹쳐쓰기(overwrite) 되는 것을 방지하기 위해 버퍼의 출력은 버퍼 입력 속도와 같은 8배의 속도로 출력되어야 한다.In order to prevent the data input into the buffer at the speed of the 8 times speed, the output of the buffer should be output at the same speed as the buffer input speed.

그러나, 높은 주파수의 클럭 사용은 전력의 소모량을 증가시키고, 비터비 디코더 후단부터는 원래의 시스템 클럭만으로도 동작이 가능하므로, 버퍼의 입력을 위해서는 8배속의 클럭을, 출력을 위해서는 1배속의 클럭을 사용하는 것이 효율적이다. However, the use of high frequency clock increases power consumption, and since the Viterbi decoder can operate only with the original system clock, 8x clock is used for buffer input and 1x clock is used for output. It is efficient.

이를 위해서는 추가로 요구되는 버퍼의 크기가 메모리 뱅크의 8배에 해당하는 버퍼가 요구된다. 이를 첨부한 도 4에 나타내었다.To do this, an additional buffer size of 8 times the memory bank is required. This is shown in Figure 4 attached.

도 4는 본 발명에 따른 하나의 포인터 방식으로 비터비 역추적 알고리즘을 구현하는데 필요한 메모리와 추가되는 버퍼의 크기를 나타낸 도면이다.FIG. 4 is a diagram illustrating the size of a memory and a buffer added to implement a Viterbi traceback algorithm using a single pointer method according to the present invention.

도 4와 같이, 싱글 포트 메모리는 하나의 포인터(One-pointer) 알고리즘에 따라 (2T * state수)에 해당하는 메모리가 필요하며, 추가로 요구되는 버퍼의 크기는 (T/2 * 1 * 8)의 크기이다.As shown in FIG. 4, the single port memory requires a memory corresponding to (2T * state number) according to one-pointer algorithm, and the size of the additionally required buffer is (T / 2 * 1 * 8). ) Is the size.

즉, 상기 추가로 요구되는 버퍼는 0부터 7까지의 8개의 버퍼가 필요하며, 첫 번째 들어간 데이터가 가장 마지막에 나오는 FILO(First Input Least Output)인 동작을 수행한다. That is, the additionally required buffer requires eight buffers from 0 to 7, and performs an operation of first input least output (FILO), in which the first data entered last.

상기 추가되는 버퍼의 동작 과정을 살펴보면, 최초, 8배속의 클럭으로 첫 번째 버퍼에 0번지부터 역추적한 결과 값이 쓰여져서 첫 번째 버퍼가 다 차면 계속해서 두 번째 버퍼의 0번지부터 채워 나간다. Looking at the operation of the added buffer, the first, 8 times the clock is written back to the first buffer from the address 0, the result value is written, and when the first buffer is full, it continues to fill from the address 0 of the second buffer.

상기 첫 번째 버퍼의 마지막 번지 T/2가 다 채워지고, 두 번째 버퍼의 0번지에 값이 쓰여지는 순간부터 첫 번째 버퍼의 마지막 번지인 T/2에서부터 역방향으로 값을 읽어 내오면 올바로 디코딩된 비터비 결과 값을 얻게 된다.If the last address T / 2 of the first buffer is filled up and the value is written to address 0 of the second buffer, the value is read backwards from T / 2, the last address of the first buffer, and then decoded correctly. You get a non-resulting value.

이상의 설명에서와 같이 본 발명에 따른 DMB 수신기의 비터비 디코딩 장치 및 방법은 비터비 디코더를 구현하는데 있어, 메모리의 효율적인 사용과 클럭 주파수를 낮춰 줌으로써 전체 시스템이 저전력으로 동작하는 효과가 있다.As described above, in the Viterbi decoding apparatus and method of the DMB receiver according to the present invention, the entire system is operated at low power by reducing the clock frequency and using the memory efficiently in implementing the Viterbi decoder.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.

따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정하는 것이 아니라 특허 청구 범위에 의해서 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the examples, but should be defined by the claims.

도 1은 본 발명에 따른 비터비 디코더를 포함한 DMB 수신 시스템의 전체 구성을 나타낸 블록도1 is a block diagram showing the overall configuration of a DMB receiving system including a Viterbi decoder according to the present invention

도 2는 본 발명에 따른 하나의 포인터를 사용하는 방식의 역추적 알고리즘을 간략하게 나타낸 도면2 is a simplified diagram of a backtracking algorithm using a pointer according to the present invention.

도 3은 본 발명에 따른 싱글 포트 메모리를 사용할 때 메모리 어드레싱 방법과 클럭과의 관계를 나타낸 도면3 is a diagram illustrating a relationship between a memory addressing method and a clock when using a single port memory according to the present invention.

도 4는 본 발명에 따른 하나의 포인터 방식으로 비터비 역추적 알고리즘을 구현하는데 필요한 메모리와 추가되는 버퍼의 크기를 나타낸 도면4 is a diagram illustrating the size of a memory and an additional buffer required to implement a Viterbi traceback algorithm in a single pointer method according to the present invention.

- 도면의 주요 부분에 대한 부호의 설명 --Explanation of symbols for the main parts of the drawing-

1 : 안테나 2 : 튜너1: antenna 2: tuner

3 : AGC 부 4 : A/D 변환기3: AGC part 4: A / D converter

5 : I/Q 분배기 6 : 전송 모드 판별기5: I / Q distributor 6: transmission mode discriminator

7 : 신호 동기부 8 : OFDM 복조기7: signal synchronizer 8: OFDM demodulator

9 : 주파수 역인터리버 10 : 채널 분배기 19: frequency reverse interleaver 10: channel divider 1

11 : FIC 복호화기 12 : FIC 데이터 복호화기 11: FIC decoder 12: FIC data decoder

13 : 시간 역인터리버 14 : 길쌈 복호화기13: time deinterleaver 14: convolutional decoder

15 : 에너지 역스크램블러 16 : 채널 분배기 215: energy descrambler 16: channel divider 2

17 : 오디오/데이터 복호화기 18 : 길쌈 역인터리버17 audio / data decoder 18 convolutional deinterleaver

19 : RS 복호화기 20 : 비디오 복호화기19: RS decoder 20: video decoder

Claims (6)

DMB 수신기의 전송 에러를 보정하기 위해 길쌈 부호화된 데이터를 입력받아 트랠리스상의 각 상태로 들어오는 분기 중 가장 작은 패스 메트릭을 생존자 경로로써 역추적하여 디코딩하는 비터비 디코더에 있어서,A Viterbi decoder that receives convolutional coded data to correct a transmission error of a DMB receiver and traces and decodes the smallest path metric among branches entering each state on a trellis as a survivor path. 데이터를 읽고 쓰기 위한 포트가 하나로 구성된 싱글 포트 메모리와,Single port memory with one port for reading and writing data, 상기 싱글 포트 메모리에 상기 길쌈 부호화되어 전송된 데이터를 상기 하나의 포트를 통해 쓰고, 상기 쓰여진 데이터를 상기 포트를 통해 역추적하여 읽어오도록 제어하는 제어부와,A control unit which writes the convolutional coded data transmitted to the single port memory through the one port, and controls to read back the read data through the port; 상기 메모리에서 출력되는 데이터 속도를 낮춰주기 위해 상기 데이터를 임시 저장하기 위한 다수의 추가 버퍼를 포함하여 구성됨을 특징으로 하는 DMB 수신기의 비터비 디코딩 장치.Viterbi decoding apparatus of the DMB receiver comprising a plurality of additional buffers for temporarily storing the data to lower the data rate output from the memory. 제 1 항에 있어서, The method of claim 1, 상기 하나의 포트를 통해 데이터가 한번 기록되고, 세 번 읽혀지는 주기가 반복되는 것을 특징으로 하는 DMB 수신기의 비터비 디코딩 장치.Viterbi decoding apparatus of the DMB receiver, characterized in that the data is written once through the one port, and the cycle of reading three times is repeated. 제 1 항에 있어서,The method of claim 1, 상기 추가 버퍼에 쓰여진 데이터는 쓰여진 방향과 반대 방향으로 읽혀짐을 특징으로 하는 DMB 수신기의 비터비 디코딩 장치.Viterbi decoding apparatus of the DMB receiver, characterized in that the data written to the additional buffer is read in the opposite direction to the written direction. DMB 수신기의 전송 에러를 보정하기 위해 길쌈 부호화된 데이터를 입력받아 트랠리스상의 각 상태로 들어오는 분기 중 가장 작은 패스 메트릭을 생존자 경로로써 역추적하여 디코딩하는 비터비 디코딩 방법에 있어서,A Viterbi decoding method that receives convolutional coded data to correct a transmission error of a DMB receiver and traces and decodes the smallest path metric among branches entering each state on a trellis as a survivor path. 상기 전송된 길쌈 부호화된 데이터가 하나의 포트를 갖는 메모리에 쓰여지는 단계와,Writing the transmitted convolutional coded data to a memory having one port; 상기 쓰여진 데이터를 상기 포트를 통해 역추적하여 읽어오는 단계와,Reading back and reading the written data through the port; 상기 읽혀진 데이터를 다수개의 버퍼에 임시 저장하는 단계와,Temporarily storing the read data in a plurality of buffers; 상기 임시 저장된 데이터를 다시 역방향으로 읽어오는 단계를 포함하여 이루어짐을 특징으로 하는 DMB 수신기의 비터비 디코딩 방법.Viterbi decoding method comprising the step of reading the temporarily stored data back in the reverse direction. 제 4 항에 있어서,The method of claim 4, wherein 상기 하나의 포트를 갖는 메모리에 쓰여진 데이터를 읽어오는 속도는 상기 쓰는 속도의 4배인 것을 특징으로 하는 DMB 수신기의 비터비 디코딩 방법.And a read speed of data written to the memory having one port is four times the write speed. 제 4 항에 있어서,The method of claim 4, wherein 상기 임시 저장된 데이터를 역방향으로 읽어오는 속도는 전체 DMB 수신기의 시스템 클럭과 은 속도임을 특징으로 하는 DMB 수신기의 비터비 디코딩 방법.The rate of reading the temporarily stored data in the reverse direction is the system clock and the silver speed of the entire DMB receiver Viterbi decoding method of the DMB receiver.
KR1020030086340A 2003-12-01 2003-12-01 Apparatus of viterbi decoding in DMB receiver and Method of the same KR101029803B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030086340A KR101029803B1 (en) 2003-12-01 2003-12-01 Apparatus of viterbi decoding in DMB receiver and Method of the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030086340A KR101029803B1 (en) 2003-12-01 2003-12-01 Apparatus of viterbi decoding in DMB receiver and Method of the same

Publications (2)

Publication Number Publication Date
KR20050052787A true KR20050052787A (en) 2005-06-07
KR101029803B1 KR101029803B1 (en) 2011-04-20

Family

ID=37248623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030086340A KR101029803B1 (en) 2003-12-01 2003-12-01 Apparatus of viterbi decoding in DMB receiver and Method of the same

Country Status (1)

Country Link
KR (1) KR101029803B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100946266B1 (en) * 2008-01-28 2010-03-09 (주)블루버드 소프트 Image processing apparatus and processing method thereof
US9585151B2 (en) 2009-05-08 2017-02-28 Sony Corporation Communication apparatus and method, computer program, and communication system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100946266B1 (en) * 2008-01-28 2010-03-09 (주)블루버드 소프트 Image processing apparatus and processing method thereof
US9585151B2 (en) 2009-05-08 2017-02-28 Sony Corporation Communication apparatus and method, computer program, and communication system
US9930662B2 (en) 2009-05-08 2018-03-27 Sony Corporation Communication apparatus and method to generate and transmit MAC information fields
US10306631B2 (en) 2009-05-08 2019-05-28 Sony Corporation Communication apparatus, communication method and communication system
US10631293B2 (en) 2009-05-08 2020-04-21 Sony Corporation Communication apparatus, communication method, and communication system
US11039437B2 (en) 2009-05-08 2021-06-15 Sony Corporation Communication apparatus, communication method, and communication system

Also Published As

Publication number Publication date
KR101029803B1 (en) 2011-04-20

Similar Documents

Publication Publication Date Title
KR101191181B1 (en) Transmitting/receiving system of digital broadcasting and data structure
US20050226354A1 (en) Memory control method for time deinterleaving in DMB receiver
US6861964B2 (en) Robust system for transmitting and receiving map data
KR101464761B1 (en) Data processing apparatus and method
JP4284125B2 (en) Continuous code decoder and method for recirculating parity bits
KR100811184B1 (en) Outer encoder, and, method thereof
US6927708B2 (en) Mapping system for transmission and reception of multiple data types
KR101370889B1 (en) Digital broadcasting system and processing method
KR101208509B1 (en) Digital broadcasting system and processing method
KR101463623B1 (en) Data processing apparatus and method
US8413012B2 (en) Burst-error correction methods and apparatuses for wireless digital communications systems
US9124396B2 (en) COFDM digital television receivers for iterative-diversity reception
KR20070055671A (en) Digital broadcasting system and processing method
US20070121491A1 (en) Digital demodulating apparatus, digital receiver, controlling method of the apparatus, computer program product for the apparatus, and recording medium recording thereon the product
US20110138247A1 (en) Frequency-diversity 8-VSB am broadcasting to mobile/handheld receivers
US6563436B2 (en) Kerdock coding and decoding system for map data
KR101029803B1 (en) Apparatus of viterbi decoding in DMB receiver and Method of the same
US6762698B2 (en) Robust system for transmitting and receiving map data
KR100565673B1 (en) Method for reducing time de-interleaving memory in DMB receiver
EP1553711A2 (en) Deinterleaving device for digital broadcast receivers having a downsized deinterleaver memory and deinterleaving method thereof
US20190319744A1 (en) Device and method for receiving broadcast signal
US8441581B2 (en) Slot-interleaved decoding of concatenated convolutional coding in mobile/hand-held digital television receivers
KR20050052855A (en) Method for reducing time de-interleaving memory in dmb receiver
CN100531164C (en) Time inverse-interlacing memory reducing method for DMB signal receiver
JP2000221996A (en) Dab voice recording and regenerating device

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160324

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee