KR100888508B1 - 비터비 복호 장치 및 방법 - Google Patents

비터비 복호 장치 및 방법 Download PDF

Info

Publication number
KR100888508B1
KR100888508B1 KR1020070130384A KR20070130384A KR100888508B1 KR 100888508 B1 KR100888508 B1 KR 100888508B1 KR 1020070130384 A KR1020070130384 A KR 1020070130384A KR 20070130384 A KR20070130384 A KR 20070130384A KR 100888508 B1 KR100888508 B1 KR 100888508B1
Authority
KR
South Korea
Prior art keywords
block data
block
data group
data
decoder
Prior art date
Application number
KR1020070130384A
Other languages
English (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 KR1020070130384A priority Critical patent/KR100888508B1/ko
Priority to US12/188,416 priority patent/US20090158131A1/en
Application granted granted Critical
Publication of KR100888508B1 publication Critical patent/KR100888508B1/ko

Links

Images

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
    • 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/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/6566Implementations concerning memory access contentions

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

비터비 복호 장치는 시간 순으로 복수의 블록 데이터를 수신하고, 복수의 블록 데이터를 포함하는 블록 데이터 그룹을 전달한다. 이후 블록 데이터 그룹에 비터비 복호 알고리즘을 적용하여 블록 데이터 그룹 중 일부의 블록 데이터를 출력한다. 이를 통해 고속으로 동작이 가능하고, 데이터 전송량을 확장할 수 있는 비터비 복호 장치를 제공할 수 있다.
Figure R1020070130384
비터비, 복호, UWB, 데이터, 전송율

Description

비터비 복호 장치 및 방법{APPARATUS AND METHOD FOR VITERBI DECODING}
본 발명은 비터비 복호 장치 및 방법에 관한 것이다. 특히 본 발명은 초광대역 시스템에서 비터비 복호 장치 및 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-071-02, 과제명: 초고속 멀티미디어 전송 UWB 솔루션 개발].
유무선 데이터 통신에서 전송 중에 발생한 에러를 정정하기 위한 채널 부호로 컨볼루셔널 코드를 많이 사용하고, 이러한 컨볼루셔널 코드를 통해 채널 부호화된 데이터를 복호하기 위해 비터비 복호기가 주로 사용된다. 비터비 복호기는 성능이 우수하고 하드웨어가 비교적 간단하다는 장점이 있다.
그러나 기존의 비터비 복호기는 고속화가 필요한 통신 시스템에서 고속 동작이 어려워 데이터 전송량의 향상이 어렵다는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는 데이터 전송량을 확장하여 고속으로 동작이 가능한 비터비 복호 장치를 제공하는 것이다.
본 발명의 특징에 따른 비터비 복호 방법은 시간 순으로 복수의 블록 데이터를 수신하는 단계, 복수의 블록 데이터를 포함하는 제1 블록 데이터 그룹을 전달하는 단계, 제1 블록 데이터 그룹에 비터비 복호 알고리즘을 적용하여 제1 블록 데이터 그룹 중 일부의 블록 데이터를 출력하는 단계, 시간 순으로 복수의 블록 데이터에 연결되는 복수의 추가 블록 데이터를 수신하는 단계, 복수의 추가 블록 데이터와 제1 블록 데이터 그룹 중 일부의 블록 데이터를 포함하는 제2 블록 데이터 그룹을 전달하는 단계, 및 제2 블록 데이터 그룹에 비터비 복호 알고리즘을 적용하여 제2 블록 데이터 그룹 중 일부의 블록 데이터를 출력하는 단계를 포함한다.
이때 복수의 블록 데이터를 수신하는 단계는 시간 순으로 짝수개의 블록 데이터를 수신하는 단계를 포함하고, 복수의 추가 블록 데이터를 수신하는 단계는 시간 순으로 짝수개의 추가 블록 데이터를 수신하는 단계를 포함한다.
또한 짝수개의 블록 데이터는 4개의 블록 데이터이고, 짝수개의 추가 블록 데이터는 2개의 추가 블록 데이터이며, 제2 블록 데이터 그룹은 4개의 블록 데이터 중 2개의 블록 데이터 및 2개의 추가 블록 데이터를 포함한다.
또한 제2 블록 데이터 그룹은 4개의 블록 데이터 중 수신된 시간 순서에 따 라 늦게 수신된 2개의 블록 데이터를 포함한다.
또한 제1 블록 데이터 그룹 중 일부의 블록 데이터를 출력하는 단계는 제1 블록 데이터 그룹 중 수신된 시간 순서에 따라 두 번째로 수신된 블록 데이터 및 세 번째로 수신된 블록 데이터를 출력하는 단계를 포함한다.
또한 제2 블록 데이터 그룹 중 일부의 블록 데이터를 출력하는 단계는 제2 블록 데이터 그룹 중 수신된 시간 순서에 따라 두 번째로 수신된 블록 데이터 및 세 번째로 수신된 블록 데이터를 출력하는 단계를 포함한다.
또한 비터비 복호 알고리즘은 블록 프로세싱 비터비 복호 알고리즘이다.
본 발명의 다른 특징에 따른 비터비 복호 장치는 두 개의 메모리 버퍼를 포함하고 두 개의 메모리 버퍼를 통해 입력 클럭과 같거나 빠른 출력 클럭을 가지는 디펑처러로부터 데이터를 입력 받아 복호를 수행하는 비터비 복호 장치로써, 분배부, 복수의 메모리 뱅크, 복수의 스위치 및 복수의 복호부를 포함한다. 분배부는 디펑처러로부터 복수의 비트를 입력 받아, 입력된 복수의 비트를 블록 데이터 단위로 분배한다. 복수의 메모리 뱅크는 분배부로부터 일정한 순서대로 복수의 비트 중 일부에 해당하는 블록 데이터를 입력 받아, 입력된 블록 데이터를 저장한다. 복수의 스위치는 복수의 메모리 뱅크 중 일부의 메모리 뱅크와 연결되어, 일부의 메모리 뱅크 중 하나의 메모리 뱅크에 저장된 블록 데이터를 출력한다. 복수의 복호부는 복수의 스위치 중 일부의 스위치와 연결되어 일부의 스위치의 각각으로부터 복수의 블록 데이터를 입력 받아, 복수의 블록 데이터에 대해 비터비 복호 알고리즘을 수행하여 복수의 블록 데이터 중 일부의 블록 데이터를 출력한다.
이때 분배부로 동시에 입력되는 비트의 수에 따라 복수의 복호부 중 일부 또는 전부를 사용한다.
또한 복수의 메모리 뱅크는 짝수개의 메모리 뱅크에 해당하고, 복수의 스위치는 짝수개의 스위치에 해당하며, 짝수개의 스위치 중 홀수 번째 스위치는 짝수개의 메모리 뱅크 중 홀수 번째 메모리 뱅크와 병렬로 연결되고, 짝수개의 스위치 중 짝수 번째 스위치는 짝수개의 메모리 뱅크 중 짝수 번째 메모리 뱅크와 병렬로 연결된다.
또한 복수의 복호부의 각각은 블록 프로세싱 비터비 복호 방법을 따르는 슬라이딩 블록 비터비 복호부이다.
또한 복수의 메모리 뱅크는 8개의 메모리 뱅크를 포함하고, 복수의 스위치는 8개의 스위치를 포함하며, 복수의 복호부는 2개의 복호부를 포함한다.
또한 2개의 복호부의 각각은 비터비 복호 장치의 최대 전송용량의 절반의 전송용량을 가진다.
본 발명의 특징에 따른 비터비 복호 장치는 블록 프로세싱 복호 방법을 통해 고속으로 동작이 가능하고, 데이터 전송량을 확장할 수 있다. 또한 데이터 전송율에 따라 비터비 복호 장치의 동작을 제어하여 전력 소모를 줄일 수 있다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상 세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이제 도면을 참고하여 본 발명의 실시예에 따른 비터비 복호 장치 및 방법에 대해 설명한다.
먼저 도 1 내지 도 4를 참고하여 본 발명의 실시예에 따른 다중 대역 직교 주파수 분할다중화(Multi Band Orthogonal Frequency Division Multiplexing, 이하 'MB-OFDM'이라고도 함) 방식을 따르는 초광대역 시스템의 송/수신 장치에 대해 설명한다.
도 1은 본 발명의 실시예에 따른 MB-OFDM 방식을 따르는 초광대역 시스템의 송/수신 장치의 구성을 도시한 도면이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 초광대역 시스템의 송신 장치는 스크램블러(100), 컨볼루셔널 인코더(110), 펑처러(120), 인터리버(130), 성상 인코더(140), 심볼 매핑부(150), 고속 푸리에 역변환 연산부(Inverse Fast Fourier Transform 연산부, 이하 'IFFT 연산부'라고도 함)(160), 및 송신부(170)를 포함한다.
스크램블러(100)는 복수의 비트로 구성되는 소스 데이터(Source Data)를 입력받아, 입력된 데이터를 스크램블링(Scrambling)하여 스크램블링된 데이터를 출력한다.
컨볼루셔널 인코더(110)는 컨볼루션 코드(Convolution Code)에 따라 스크램블링된 데이터를 부호화하여 부호화된 데이터를 출력한다.
펑처러(120)는 부호화된 데이터를 펑처링(Puncturing) 즉, 데이터 코딩율을 변환하여 펑처링된 데이터를 출력한다. 이때 초광대역 시스템의 기본 데이터 코딩율은 1/3이고, 펑처러(120)는 기본 데이터 코딩율을 가지는 부호화된 데이터를 펑처링하여 1/2, 5/8, 또는 3/4 중 하나의 데이터 코딩율을 가지는 펑처링된 데이터를 출력한다.
인터리버(130)는 펑처링된 데이터를 인터리빙(Interleaving)하여 인터리빙된 데이터를 출력한다. 이때 인터리빙된 데이터는 복수의 비트로 구성된다.
성상 인코더(140)는 인터리빙된 데이터를 인코딩(Encoding)하여 복수의 심볼을 출력한다. 이때 성상 인코더(140)는 직교 위상 편이 변조(Quadrature Phase Shift Keying, QPSK) 방식, 이중 반송파 변조(Dual Carrier Modulation, DCM) 방식, 또는 16-직교 진폭 변조(16- Quadrature Amplitude Modulation, 16-QAM) 방식 등을 통해 인터리빙된 데이터를 인코딩 할 수 있다.
심볼 매핑부(150)는 복수의 심볼을 심볼 매핑(mapping)하여 복수의 주파수 영역 심볼을 출력한다. 심볼 매핑부(150)는 시간 스프레드 또는 주파수 스프레드 효과를 통해 복수의 심볼을 복수의 주파수 영역 심볼로 심볼 매핑 할 수 있다.
IFFT 연산부(160)는 복수의 주파수 영역 심볼에 대해 고속 푸리에 역변환(Inverse Fast Fourier Transform, 이하 'IFFT'라고도 함)을 수행하여 직교 주파수 분할 다중화 신호(Orthogonal Frequency Division Multiplexing Signal, OFDM 신호)를 출력한다.
송신부(170)는 안테나를 통해 OFMD 신호를 수신 장치로 전송한다. 이때 송신부(170)는 디지털 신호에 해당하는 OFDM 신호를 아날로그 신호로 변환하고, 아날로그 신호로 변환된 OFDM 신호를 증폭한 후 전송할 수 있다.
이때 본 발명의 실시예에 따른 초광대역 시스템이 지원하는 데이터 전송율은 표 1을 따른다.
Figure 112007089838377-pat00001
표 1과 같이 데이터 전송율에 따라 변조 방식, 코딩율, 6개의 OFDM 심볼 당 부호화 비트, 주파수 스프레딩 여부 및 타임 스프레딩 여부가 미리 정해질 수 있다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 초광대역 시스템의 수신 장치는 수신부(200), 동기화부(210), 고속 푸리에 변환 연산부(Fast Fourier Transform 연산부, 이하 'FFT 연산부'라고도 함)(220), 심볼 디매핑부(230), 등화부(240), 성상 디코더(250), 디인터리버(260), 디펑처러(270), 비터비 복호부(280), 및 디스크램블러(290)를 포함한다.
수신부(200)는 송신 장치가 전송하는 OFDM 신호를 수신한다. 이때 수신부(200)는 수신한 OFDM 신호를 증폭할 수 있고, 수신한 OFDM 신호가 아날로그 신호인 경우 디지털 신호로 변환할 수 있다.
동기화부(210)는 수신한 OFDM 신호를 동기화하여 동기화된 OFDM 신호를 출력한다. 이때 동기화부(210)는 신호의 시작을 찾는 프레임 동기화, 심볼의 시작을 찾는 심볼 동기화 및 위상 오차를 찾는 주파수 동기화를 수행할 수 있다.
FFT 연산부(220)는 동기화된 OFDM 신호를 고속 푸리에 변환(Fast Fourier Transform, 이하 'FFT'라고도 함)하여 복수의 주파수 영역 심볼을 출력한다.
심볼 디매핑부(230)는 복수의 주파수 영역 심볼을 심볼 디매핑(de-mapping)하여 복수의 심볼을 출력한다. 이때 심볼 디매핑부(230)는 시간 스프레드와 주파수 스프레드 효과를 제거하여 복수의 주파수 영역 심볼을 복수의 심볼로 심볼 디매핑 할 수 있다.
등화부(240)는 복수의 심볼을 채널 등화하여 복수의 채널 등화된 심볼을 출력한다.
성상 디코더(250)는 복수의 채널 등화된 심볼을 디코딩(Decoding)하여 복수의 비트를 포함하는 디코딩된 데이터를 출력한다. 이때 성상 디코더(250)는 복수의 채널 등화된 심볼을 연성 판정하여 디코딩된 데이터를 출력할 수 있다.
디인터리버(260)는 디코딩된 데이터에 대해 디인터리빙(De-Interleaving)을 수행하여 복수의 비트를 포함하는 디인터리빙된 데이터를 출력한다. 이때 디인터리버(260)는 두 개의 메모리 블록을 가지고, 하나의 메모리 블록에서 읽기를 수행하고 다른 메모리 블록에서는 쓰기를 수행한다. 또한 이때 디인터리버(260)는 두 개의 메모리 블록을 가지므로, 입력의 클럭과 출력의 클럭을 다르게 할 수 있다.
디펑처러(270)는 디인터리빙된 데이터에 대해 디펑처링(De-Puncturing)을 수행하여 복수의 비트를 포함하는 디펑처링된 데이터를 출력한다. 이때 디펑처러(270)는 두 개의 메모리 버퍼를 가지는 이중 버퍼 구조로서 입력 클럭과 출력 클럭을 다르게 사용할 수 있고, 입력 비트 수와 출력 비트 수를 다르게 선택할 수도 있다. 또한 이때 데이터 전송율에 따른 디인터리버(260)의 출력과 디펑처러(270)의 출력은 표 2를 따를 수 있다.
Figure 112007089838377-pat00002
표 2와 같이, 각각의 데이터 전송율에서 디인터리버의 출력과 디펑처러의 출력이 정해 질 수 있다. 이때 디인터리버의 출력과 디펑처러의 출력은 클럭, 비트 수 및 반복 회수에 따라 결정된다.
표 2에서 비트 수가 6 이면, 컨볼루셔널 코드의 코딩율이 1/3 이므로, 2비트의 컨볼루셔널 코딩 된 비트 수를 의미한다. 마찬가지로 비트 수가 12이면, 4비트의 컨볼루셔널 코딩 된 비트수를 의미한다.
또한 디인터리버의 출력은 디펑처러의 입력에 해당한다.
이하에서는 도 2, 도 3 및 도 4를 참고하여 본 발명의 실시예에 따른 디펑처러의 입력과 출력에 대해 설명한다.
도 2는 본 발명의 실시예에 따른 초광대역 시스템의 데이터 전송율이 53.3 Mbps인 경우에 디펑처러의 입력과 출력을 도시한 도면이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 디펑처러(270)는 제1 버퍼(271) 및 제2 버퍼(273)를 포함한다.
제1 버퍼(271)는 제1 입력(271a), 제2 입력(271b) 및 제3 입력(271c)을 순서대로 입력 받는다. 이때 제1 입력(271a), 제2 입력(271b) 및 제3 입력(271c)은 표 2에 따라 데이터 전송율이 53.3Mbps인 경우에 디인터리버(260)가 132MHz의 클럭으로 4비트씩 3번 출력하는 디인터리버(260)의 출력에 해당한다.
제2 버퍼(273)는 제1 출력(273a) 및 제2 출력(273b)을 순서대로 출력한다. 이때 제1 출력(273a) 및 제2 출력(273b)은 표 2에 따라 데이터 전송율이 53.3Mbps인 경우에 디펑처러(270)가 264MHz의 클럭으로 6 비트씩 2번 출력하는 디펑처러(270)의 출력에 해당한다.
이때 디펑처러(270)는 제1 버퍼(271)에 데이터를 쓸 때 제2 버퍼(273)의 데이터를 출력하고, 다음 데이터가 입력되면 제2 버퍼(273)에 데이터를 쓰고 제1 버퍼(271)의 데이터를 출력할 수 있다. 이와 같은 방법으로 제1 버퍼(271)와 제2 버퍼(273)는 입력이 계속되는 동안 읽기와 쓰기를 번갈아 수행할 수 있다.
도 3은 본 발명의 실시예에 따른 초광대역 시스템의 데이터 전송율이 480Mbps인 경우에 디펑처러의 입력과 출력을 도시한 도면이다.
도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 디펑처러(270)는 제1 버퍼(271) 및 제2 버퍼(273)를 포함한다.
제1 버퍼(271)는 제1 입력(271a), 제2 입력(271b), 제3 입력(271c) 및 제4 입력(271d)을 순서대로 입력 받는다. 이때 제1 입력(271a), 제2 입력(271b), 제3 입력(271c) 및 제4 입력(271d)은 표 2에 따라 데이터 전송율이 480Mbps인 경우에 디인터리버(260)가 132MHz의 클럭으로 4비트씩 4번 출력하는 디인터리버(260)의 출력에 해당한다.
이때 제1 입력(271a), 제2 입력(271b), 제3 입력(271c) 및 제4 입력(271d)의 각각에 포함된 4 개의 비트의 각각은 제1 경로, 제2 경로, 제3 경로, 또는 제4 경로 중 하나의 경로에 따라 제1 버퍼(271)의 일부에 써지고, 제1 버퍼(271)의 나머지는 더미 비트로 채워진다.
제2 버퍼(273)는 제1 출력(273a), 제2 출력(273b), 제3 출력(273c), 제4 출력(273d), 제5 출력(273e) 및 제6 출력(273f)을 순서대로 출력한다. 이때 제1 출력(273a), 제2 출력(273b), 제3 출력(273c), 제4 출력(273d), 제5 출력(273e) 및 제6 출력(273f)은 표 2에 따라 데이터 전송율이 480Mbps인 경우에 디펑처러(270)가 264MHz의 클럭으로 6 비트씩 6번 출력하는 디펑처러(270)의 출력에 해당한다.
이때 제1 버퍼(271)와 제2 버퍼(273)는 입력이 계속되는 동안 읽기와 쓰기를 번갈아 수행할 수 있다.
도 4는 본 발명의 실시예에 따른 초광대역 시스템의 데이터 전송율이 960Mbps인 경우에 디펑처러의 입력과 출력을 도시한 도면이다.
도 4에 도시된 바와 같이, 본 발명의 실시예에 따른 디펑처러(270)는 제1 버퍼(271) 및 제2 버퍼(273)를 포함한다.
제1 버퍼(271)는 제1 입력(271a), 제2 입력(271b), 제3 입력(271c) 및 제4 입력(271d)을 순서대로 입력 받는다. 이때 제1 입력(271a), 제2 입력(271b), 제3 입력(271c) 및 제4 입력(271d)은 표 2에 따라 데이터 전송율이 960Mbps인 경우에 디인터리버(260)가 264MHz의 클럭으로 4비트씩 4번 출력하는 디인터리버(260)의 출력에 해당한다.
이때 제1 입력(271a), 제2 입력(271b), 제3 입력(271c) 및 제4 입력(271d)의 각각에 포함된 4 개의 비트의 각각은 제1 경로, 제2 경로, 제3 경로, 또는 제4 경로 중 하나의 경로에 따라 제1 버퍼(271)의 일부에 써지고, 제1 버퍼(271)의 나머지는 더미 비트로 채워진다.
제2 버퍼(273)는 제1 출력(273a), 제2 출력(273b) 및 제3 출력(273c)을 순서대로 출력한다. 이때 제1 출력(273a), 제2 출력(273b) 및 제3 출력(273c)은 표 2에 따라 데이터 전송율이 960Mbps인 경우에 디펑처러(270)가 264MHz의 클럭으로 12 비트씩 3번 출력하는 디펑처러(270)의 출력에 해당한다.
이때 제1 버퍼(271)와 제2 버퍼(273)는 입력이 계속되는 동안 읽기와 쓰기를 번갈아 수행할 수 있다.
다시 도 1을 참고하여 본 발명의 실시예에 따른 MB-OFDM 방식을 따르는 초광대역 시스템의 송/수신 장치에 대해 설명한다.
비터비 복호부(280)는 디펑처링된 데이터를 복호하여 복수의 비트를 포함하는 복호된 데이터를 출력한다. 이때 비터비 복호부(280)는 디펑처링된 데이터의 비트수가 6비트이면 디펑처링된 데이터를 복호하여 2비트의 복호된 데이터를 출력할 수 있고, 디펑처링된 데이터의 비트수가 12비트이면 디펑처링된 데이터를 복호하여 4비트의 복호된 데이터를 출력할 수 있다. 또한 비터비 복호부(280)는 비터비 복호 장치 또는 비터비 복호기라고 할 수도 있다.
디스크램블러(290)는 복호된 데이터를 디스크램블링(De-Scrambling)하여 소스 데이터(Source Data)를 출력한다.
다음은 도 5를 참고하여 본 발명의 실시예에 따른 비터비 복호부에 대해 자세히 설명한다.
도 5는 본 발명의 실시예에 따른 비터비 복호부의 구성을 도시한 도면이다.
도 5에 도시된 바와 같이, 본 발명의 실시예에 따른 비터비 복호부(280)는 분배부(281), 8개의 메모리 뱅크(283a, 283b, 283c, 283d, 283e, 283f, 283g, 283h), 8개의 스위치(285a, 285b, 285c, 285d, 285e, 285f, 285g, 285h) 및 2개의 복호부(287a, 287b)를 포함한다.
이때 분배부(281)는 8개의 메모리 뱅크 즉, 제1 메모리 뱅크(283a), 제2 메모리 뱅크(283b), 제3 메모리 뱅크(283c), 제4 메모리 뱅크(283d), 제5 메모리 뱅크(283e), 제6 메모리 뱅크(283f), 제7 메모리 뱅크(283g) 및 제8 메모리 뱅크(283h)와 각각 연결된다.
또한 이때 제1 스위치(285a), 제3 스위치(285c), 제5 스위치(285e) 및 제7 스위치(285g)의 각각은 제1 메모리 뱅크(283a), 제3 메모리 뱅크(283c), 제5 메모리 뱅크(283e) 및 제7 메모리 뱅크(283g)와 각각 연결되고, 제2 스위치(285b), 제4 스위치(285d), 제6 스위치(285f) 및 제8 스위치(285h)의 각각은 제2 메모리 뱅크(283b), 제4 메모리 뱅크(283d), 제6 메모리 뱅크(283f) 및 제8 메모리 뱅크(283h)와 각각 연결된다.
분배부(281)는 복수의 비트를 포함하는 디펑처링된 데이터를 입력 받아, 디펑처링된 데이터에 포함된 복수의 비트를 8개의 메모리 뱅크(283a, 283b, 283c, 283d, 283e, 283f, 283g, 283h)로 분배한다. 이때 8개의 메모리 뱅크(283a, 283b, 283c, 283d, 283e, 283f, 283g, 283h)의 각각은 L 개의 비트를 저장할 수 있고, 분배부(281)는 제1 메모리 뱅크(283a)부터 순서대로 L 개의 비트씩을 분배한다.
8개의 메모리 뱅크(283a, 283b, 283c, 283d, 283e, 283f, 283g, 283h)의 각각은 분배부(281)로부터 L 개의 비트를 입력 받아, 입력된 L 개의 비트를 8개의 스위치(285a, 285b, 285c, 285d, 285e, 285f, 285g, 285h) 중 일부의 스위치로 전달한다. 이하에서는 하나의 메모리 뱅크에 저장되는 L 개의 비트를 블록 데이터라고도 한다.
이때 제1 메모리 뱅크(283a), 제3 메모리 뱅크(283c), 제5 메모리 뱅크(283e) 및 제7 메모리 뱅크(283g)의 각각은 저장된 블록 데이터를 제1 스위치(285a), 제3 스위치(285c), 제5 스위치(285e) 및 제7 스위치(285g)로 전달한다.
또한 이때 제2 메모리 뱅크(283b), 제4 메모리 뱅크(283d), 제6 메모리 뱅크(283f) 및 제8 메모리 뱅크(283h)의 각각은 저장된 블록 데이터를 제2 스위치(285b), 제4 스위치(285d), 제6 스위치(285f) 및 제8 스위치(285h)로 전달한다.
8개의 스위치(285a, 285b, 285c, 285d, 285e, 285f, 285g, 285h)의 각각은 하나 이상의 블록 데이터를 입력 받아, 입력된 하나 이상의 블록 데이터를 스위칭(Switching)하여 하나의 블록 데이터를 출력한다.
제1 복호부(287a)는 제1 스위치(285a), 제2 스위치(285b), 제3 스위치(285c) 및 제4 스위치(285d)의 각각으로부터 블록 데이터를 입력 받아, 입력된 4개의 블록 데이터에 대해 비터비 복호 알고리즘을 수행하여 2개의 블록 데이터를 출력한다.
제2 복호부(287b)는 제5 스위치(285e), 제6 스위치(285f), 제7 스위치(285g) 및 제8 스위치(285h)의 각각으로부터 블록 데이터를 입력 받아, 입력된 4개의 블록 데이터에 대해 비터비 복호 알고리즘을 수행하여 2개의 블록 데이터를 출력한다.
이때 제1 복호부(287a)와 제2 복호부(287b)는 블록 프로세싱 비터비 복호 방법을 따르는 블록 프로세싱 비터비 복호기에 해당할 수 있다. 또한 제1 복호부(287a)와 제2 복호부(287b)는 블록 프로세싱 비터비 복호기에 포함되는 슬라이딩 블록 비터비 복호기에 해당할 수도 있다.
다음은 도 6 또는 도 7을 참고하여 본 발명의 실시예에 따른 비터비 복호부가 디펑처링된 데이터를 복호하는 방법에 대해 설명한다.
도 6은 본 발명의 실시예에 따른 초광대역 시스템의 데이터 전송율이 480Mbps 이하인 경우 비터비 복호부가 디펑처링된 데이터를 복호하는 방법을 도시한 도면이다.
이때 표 2에 따라 데이터 전송율이 480Mbps 이하인 경우 디펑처러(270)는 디펑처링된 데이터에 포함된 복수의 비트를 동시에 6 비트씩을 출력하므로, 비터비 복호부(280)는 디펑처링된 데이터를 동시에 6 비트씩 입력 받는다.
비터비 복호부(280)의 분배부(281)는 디펑처링된 데이터에 포함된 복수의 비트를 하나의 메모리 뱅크 당 L 개의 비트씩 제1 메모리 뱅크(283a)부터 제8 메모리 뱅크(283h)까지 순서대로 분배하고, 제8 메모리 뱅크(283h)까지 분배가 끝나면 다시 제1 메모리 뱅크(283a)로 디펑처링된 데이터를 분배한다.
이때 8개의 메모리 뱅크(283a, 283b, 283c, 283d, 283e, 283f, 283g, 283h)의 각각은 분배부(281)가 분배한 L 개의 비트를 저장하고, 하나의 메모리 뱅크에 저장된 L 개의 비트를 블록 데이터(Bn, n=0,1,2,3 …)라고 한다.
도 6의 (a)는 시간에 따라 8개의 메모리 뱅크(283a, 283b, 283c, 283d, 283e, 283f, 283g, 283h)에 저장되는 블록 데이터를 도시한 도면이다.
도 6의 (a)에 도시된 바와 같이, 하나의 메모리 뱅크가 하나의 블록 데이터(Bn)를 쓰는데 걸리는 시간을 T1라고 하면, 0~T1 시간 동안 제1 메모리 뱅크(283a)는 분배부(281)로부터 제1 블록 데이터(B0)를 입력 받아 저장하고, T1~2T1 시간 동안 제2 메모리 뱅크(283b)는 분배부(281)로부터 제2 블록 데이터(B1)를 입력 받아 저장한다.
이와 같이 2T1~3T1 시간 동안 제3 메모리 뱅크(283c)는 제3 블록 데이터(B2)를 저장하고, 3T1~4T1 시간 동안 제4 메모리 뱅크(283d)는 제4 블록 데이터(B3)를 저장하며, 4T1~5T1 시간 동안 제5 메모리 뱅크(283e)는 제5 블록 데이터(B4)를 저장한다. 또한 5T1~6T1 시간 동안 제6 메모리 뱅크(283f)는 제6 블록 데이터(B5)를 저장하고, 6T1~7T1 시간 동안 제7 메모리 뱅크(283g)는 제7 블록 데이터(B6)를 저장하며, 7T1~8T1 시간 동안 제8 메모리 뱅크(283h)는 제8 블록 데이터(B7)를 저장한다.
이후에는 다시 제1 메모리 뱅크(283a)부터 위와 같은 시간 순서로 이후의 블록 데이터를 저장한다. 이때 각각의 메모리 뱅크는 이전에 저장되었던 블록 데이터를 지우고 새로운 블록 데이터를 저장한다.
도 6의 (b)는 제1 복호부(287a)의 입력과 출력을 도시한 도면이다.
도 6의 (b)에 도시된 바와 같이, 먼저 제1 복호부(287a)는 제1 블록 데이터(B0), 제2 블록 데이터(B1), 제3 블록 데이터(B2) 및 제4 블록 데이터(B3)를 입력 받아, 입력된 복수의 블록 데이터(B0, B1, B2, B3)에 대해 비터비 복호 알고리즘을 수행하여 제2 블록 데이터(B1) 및 제3 블록 데이터(B2)를 출력한다.
이때 제1 복호부(287a)는 4T1 시간이 경과한 후 제1 스위치(285a)를 통해 제1 메모리 뱅크(283a)에 저장된 제1 블록 데이터(B0)를 입력 받고, 제2 스위치(285b)를 통해 제2 메모리 뱅크(283b)에 저장된 제2 블록 데이터(B1)를 입력 받고, 제3 스위치(285c)를 통해 제3 메모리 뱅크(283c)에 저장된 제3 블록 데이터(B2)를 입력 받으며, 제4 스위치(285d)를 통해 제4 메모리 뱅크(283d)에 저장된 제4 블록 데이터(B3)를 입력 받을 수 있다.
다음, 제1 복호부(287a)는 제3 블록 데이터(B2), 제4 블록 데이터(B3), 제5 블록 데이터(B4) 및 제6 블록 데이터(B5)를 입력 받아, 입력된 복수의 블록 데이터(B2, B3, B4, B5)에 대해 비터비 복호 알고리즘을 수행하여 제4 블록 데이터(B3) 및 제5 블록 데이터(B4)를 출력한다.
이때 제1 복호부(287a)는 6T1 시간이 경과한 후 제1 스위치(285a)를 통해 제3 메모리 뱅크(283c)에 저장된 제3 블록 데이터(B2)를 입력 받고, 제2 스위치(285b)를 통해 제4 메모리 뱅크(283d)에 저장된 제4 블록 데이터(B3)를 입력 받고, 제3 스위치(285c)를 통해 제5 메모리 뱅크(283e)에 저장된 제5 블록 데이터(B4)를 입력 받으며, 제4 스위치(285d)를 통해 제6 메모리 뱅크(283f)에 저장된 제6 블록 데이터(B5)를 입력 받을 수 있다.
이후, 제1 복호부(287a)는 위와 동일한 방법으로 4개의 블록 데이터를 입력 받아, 4개의 블록 데이터에 대해 비터비 복호 알고리즘을 수행하여 2개의 블록 데이터를 출력한다.
이때 제1 복호부(287a)에 연결된 4개의 스위치(285a, 285b, 285c, 285d)의 각각의 시간에 따른 출력은 표 3을 따를 수 있다.
Figure 112007089838377-pat00003
도 7은 본 발명의 실시예에 따른 초광대역 시스템의 데이터 전송율이 480Mbps 보다 큰 경우 비터비 복호부가 디펑처링된 데이터를 복호하는 방법을 도시한 도면이다.
이때 표 2에 따라 데이터 전송율이 480Mbps 보다 큰 경우 디펑처러(270)는 디펑처링된 데이터에 포함된 복수의 비트를 동시에 12 비트씩 출력하므로, 비터비 복호부(280)는 디펑처링된 데이터를 동시에 12 비트씩 입력 받는다.
비터비 복호부(280)의 분배부(281)는 디펑처링된 데이터에 포함된 복수의 비트를 하나의 메모리 뱅크 당 L 개의 비트씩 제1 메모리 뱅크(283a)부터 제8 메모리 뱅크(283h)까지 순서대로 분배하고, 제8 메모리 뱅크(283h)까지 분배가 끝나면 다시 제1 메모리 뱅크(283a)로 디펑처링된 데이터를 분배한다.
이때 8개의 메모리 뱅크(283a, 283b, 283c, 283d, 283e, 283f, 283g, 283h)의 각각은 분배부(281)가 분배한 L 개의 비트를 저장하고, 하나의 메모리 뱅크에 저장된 L 개의 비트를 블록 데이터(Bn, n=0,1,2,3 …)라고 한다.
도 7의 (a)는 시간에 따라 8개의 메모리 뱅크(283a, 283b, 283c, 283d, 283e, 283f, 283g, 283h)에 저장되는 블록 데이터를 도시한 도면이다.
도 7의 (a)에 도시된 바와 같이, 하나의 메모리 뱅크가 하나의 블록 데이터(Bn)를 쓰는데 걸리는 시간을 T2 라고 하면, 0~T2 시간 동안 제1 메모리 뱅크(283a)는 분배부(281)로부터 제1 블록 데이터(B0)를 입력 받아 저장하고, T2~2T2 시간 동안 제2 메모리 뱅크(283b)는 분배부(281)로부터 제2 블록 데이터(B1)를 입력 받아 저장한다.
이와 같이 2T2~3T2 시간 동안 제3 메모리 뱅크(283c)는 제3 블록 데이터(B2)를 저장하고, 3T2~4T2 시간 동안 제4 메모리 뱅크(283d)는 제4 블록 데이터(B3)를 저장하며, 4T2~5T2 시간 동안 제5 메모리 뱅크(283e)는 제5 블록 데이터(B4)를 저장한다. 또한 5T2~6T2 시간 동안 제6 메모리 뱅크(283f)는 제6 블록 데이터(B5)를 저장하고, 6T2~7T2 시간 동안 제7 메모리 뱅크(283g)는 제7 블록 데이터(B6)를 저장하며, 7T2~8T2 시간 동안 제8 메모리 뱅크(283h)는 제8 블록 데이터(B7)를 저장한다.
이후에는 다시 제1 메모리 뱅크(283a)부터 위와 같은 시간 순서로 이후의 블록 데이터를 저장한다. 이때 각각의 메모리 뱅크는 이전에 저장되었던 블록 데이터를 지우고 새로운 블록 데이터를 저장한다.
도 7의 (b)는 제1 복호부(287a)과 제2 복호부(287b)의 입력과 출력을 도시한 도면이다.
도 6의 (b)에 도시된 바와 같이, 먼저 제1 복호부(287a)는 제1 블록 데이터(B0), 제2 블록 데이터(B1), 제3 블록 데이터(B2) 및 제4 블록 데이터(B3)를 입력 받아, 입력된 복수의 블록 데이터(B0, B1, B2, B3)에 대해 비터비 복호 알고리즘을 수행하여 제2 블록 데이터(B1) 및 제3 블록 데이터(B2)를 출력한다.
이때 제1 복호부(287a)는 4T2 시간이 경과한 후 제1 스위치(285a)를 통해 제1 메모리 뱅크(283a)에 저장된 제1 블록 데이터(B0)를 입력 받고, 제2 스위치(285b)를 통해 제2 메모리 뱅크(283b)에 저장된 제2 블록 데이터(B1)를 입력 받고, 제3 스위치(285c)를 통해 제3 메모리 뱅크(283c)에 저장된 제3 블록 데이터(B2)를 입력 받으며, 제4 스위치(285d)를 통해 제4 메모리 뱅크(283d)에 저장된 제4 블록 데이터(B3)를 입력 받을 수 있다.
다음, 제2 복호부(287b)는 제3 블록 데이터(B2), 제4 블록 데이터(B3), 제5 블록 데이터(B4) 및 제6 블록 데이터(B5)를 입력 받아, 입력된 복수의 블록 데이터(B2, B3, B4, B5)에 대해 비터비 복호 알고리즘을 수행하여 제4 블록 데이터(B3) 및 제5 블록 데이터(B4)를 출력한다.
이때 제2 복호부(287b)는 6T2 시간이 경과한 후 제5 스위치(285e)를 통해 제3 메모리 뱅크(283c)에 저장된 제3 블록 데이터(B2)를 입력 받고, 제6 스위치(285f)를 통해 제4 메모리 뱅크(283d)에 저장된 제4 블록 데이터(B3)를 입력 받고, 제7 스위치(285g)를 통해 제5 메모리 뱅크(283e)에 저장된 제5 블록 데이터(B4)를 입력 받으며, 제8 스위치(285h)를 통해 제6 메모리 뱅크(283f)에 저장된 제6 블록 데이터(B5)를 입력 받을 수 있다.
이후, 제1 복호부(287a)는 제5 블록 데이터(B4), 제6 블록 데이터(B5), 제7 블록 데이터(B6) 및 제8 블록 데이터(B7)를 입력 받아, 입력된 복수의 블록 데이터(B4, B5, B6, B7)에 대해 비터비 복호 알고리즘을 수행하여 제6 블록 데이터(B5) 및 제7 블록 데이터(B6)를 출력한다.
이때 제1 복호부(287a)는 8T2 시간이 경과한 후 제1 스위치(285a)를 통해 제5 메모리 뱅크(283e)에 저장된 제5 블록 데이터(B4)를 입력 받고, 제2 스위치(285b)를 통해 제6 메모리 뱅크(283f)에 저장된 제6 블록 데이터(B5)를 입력 받고, 제3 스위치(285c)를 통해 제7 메모리 뱅크(283g)에 저장된 제7 블록 데이터(B6)를 입력 받으며, 제4 스위치(285d)를 통해 제8 메모리 뱅크(283h)에 저장된 제8 블록 데이터(B7)를 입력 받을 수 있다.
다음, 제2 복호부(287b)는 제7 블록 데이터(B6), 제8 블록 데이터(B7), 제9 블록 데이터(B8) 및 제10 블록 데이터(B9)를 입력 받아, 입력된 복수의 블록 데이터(B6, B7, B8, B9)에 대해 비터비 복호 알고리즘을 수행하여 제8 블록 데이터(B7) 및 제9 블록 데이터(B8)를 출력한다.
이때 제2 복호부(287b)는 10T2 시간이 경과한 후 제5 스위치(285e)를 통해 제7 메모리 뱅크(283g)에 저장된 제7 블록 데이터(B6)를 입력 받고, 제6 스위치(285f)를 통해 제8 메모리 뱅크(283h)에 저장된 제8 블록 데이터(B7)를 입력 받고, 제7 스위치(285g)를 통해 제1 메모리 뱅크(283a)에 저장된 제9 블록 데이터(B8)를 입력 받으며, 제8 스위치(285h)를 통해 제2 메모리 뱅크(283b)에 저장된 제10 블록 데이터(B9)를 입력 받을 수 있다.
이후, 제1 복호부(287a)와 제2 복호부(287b)는 위와 동일한 방법으로 4개의 블록 데이터를 입력 받아, 4개의 블록 데이터에 대해 비터비 복호 알고리즘을 수행하여 2개의 블록 데이터를 출력한다.
이때 제1 복호부(287a)에 연결된 4개의 스위치(285a, 285b, 285c, 285d)의 시간에 따른 출력 및 제2 복호부(287b)에 연결된 4개의 스위치(285e, 285f, 285g, 285h)의 각각의 시간에 따른 출력은 표 4를 따를 수 있다.
Figure 112007089838377-pat00004
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 실시예에 따른 MB-OFDM 방식을 따르는 초광대역 시스템의 송/수신 장치의 구성을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 초광대역 시스템의 데이터 전송율이 53.3 Mbps인 경우에 디펑처러의 입력과 출력을 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 초광대역 시스템의 데이터 전송율이 480Mbps인 경우에 디펑처러의 입력과 출력을 도시한 도면이다.
도 4는 본 발명의 실시예에 따른 초광대역 시스템의 데이터 전송율이 960Mbps인 경우에 디펑처러의 입력과 출력을 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 비터비 복호부의 구성을 도시한 도면이다.
도 6은 본 발명의 실시예에 따른 초광대역 시스템의 데이터 전송율이 480Mbps 이하인 경우 비터비 복호부가 디펑처링된 데이터를 복호하는 방법을 도시한 도면이다.
도 7은 본 발명의 실시예에 따른 초광대역 시스템의 데이터 전송율이 480Mbps 보다 큰 경우 비터비 복호부가 디펑처링된 데이터를 복호하는 방법을 도시한 도면이다.

Claims (13)

  1. 적어도 하나 이상이 복호부를 포함하는 복호 장치가 데이터를 비터비 복호하는 방법에 있어서,
    복수의 블록 데이터를 수신하는 단계;
    상기 복수의 블록 데이터 중 4개의 블록 데이터를 포함하는 제1 블록 데이터 그룹을 상기 복호부로 전달하는 단계; 및
    상기 복호부가 상기 제1 블록 데이터 그룹에 비터비 복호 알고리즘을 적용하여 상기 제1 블록 데이터 그룹 중 2개의 블록 데이터를 출력하는 단계를 포함하는 비터비 복호 방법.
  2. 제1항에 있어서,
    상기 복수의 블록 데이터 중 4개의 블록 데이터를 포함하는 제2 블록 데이터 그룹을 상기 복호부로 전달하는 단계; 및
    상기 복호부가 상기 제2 블록 데이터 그룹에 비터비 복호 알고리즘을 적용하여 상기 제2 블록 데이터 그룹 중 2개의 블록 데이터를 출력하는 단계를 더 포함하고,
    상기 제2 블록 데이터 그룹은 상기 제1 블록 데이터 그룹에 포함된 4개의 블록 데이터 그룹 중 2개의 블록 데이터를 포함하는 비터비 복호 방법.
  3. 제2항에 있어서,
    상기 복호 장치는 제1 복호부 및 제2 복호부를 포함하며,
    상기 제1 블록 데이터 그룹을 상기 복호부로 전달하는 단계는
    상기 제1 블록 데이터 그룹을 상기 제1 복호부로 전달하고,
    상기 제1 블록 데이터 그룹 중 2개의 블록 데이터를 출력하는 단계는
    상기 제1 복호부가 상기 제1 블록 데이터 그룹에 비터비 복호 알고리즘을 적용하여 상기 제1 블록 데이터 그룹 중 2개의 블록 데이터를 출력하며,
    상기 제2 블록 데이터 그룹을 상기 복호부로 전달하는 단계는
    상기 제2 블록 데이터 그룹을 상기 제2 복호부로 전달하고,
    상기 제2 블록 데이터 그룹 중 2개의 블록 데이터를 출력하는 단계는
    상기 제2 복호부가 상기 제2 블록 데이터 그룹에 비터비 복호 알고리즘을 적용하여 상기 제2 블록 데이터 그룹 중 2개의 블록 데이터를 출력하는 비터비 복호 방법.
  4. 제2항에 있어서,
    상기 제2 블록 데이터 그룹은 상기 제1 블록 데이터 그룹에 포함된 4개의 블록 데이터 중 상기 복호 장치에 수신된 시간 순서에 따라 늦게 수신된 2개의 블록 데이터를 포함하는 비터비 복호 방법.
  5. 제2항에 있어서,
    상기 제2 블록 데이터 그룹 중 2개의 블록 데이터를 출력하는 단계는
    상기 제2 블록 데이터 그룹 중 상기 복호 장치에 수신된 시간 순서에 따라 두 번째로 수신된 블록 데이터 및 세 번째로 수신된 블록 데이터를 출력하는 비터비 복호 방법.
  6. 제1항에 있어서,
    상기 제1 블록 데이터 그룹 중 2개의 블록 데이터를 출력하는 단계는
    상기 제1 블록 데이터 그룹 중 상기 복호 장치에 수신된 시간 순서에 따라 두 번째로 수신된 블록 데이터 및 세 번째로 수신된 블록 데이터를 출력하는 비터비 복호 방법.
  7. 제1항 또는 제2항에 있어서,
    상기 비터비 복호 알고리즘은 블록 프로세싱 비터비 복호 알고리즘인 비터비 복호 방법.
  8. 두 개의 메모리 버퍼를 포함하고 상기 두 개의 메모리 버퍼를 통해 입력 클럭과 같거나 빠른 출력 클럭을 가지는 디펑처러로부터 데이터를 입력 받아 복호를 수행하는 비터비 복호 장치에 있어서,
    상기 디펑처러로부터 복수의 비트를 입력 받아, 입력된 복수의 비트를 블록 데이터 단위로 분배하는 분배부;
    상기 분배부로부터 일정한 순서대로 상기 복수의 비트 중 일부에 해당하는 블록 데이터를 입력 받아, 입력된 상기 블록 데이터를 저장하는 복수의 메모리 뱅크;
    상기 복수의 메모리 뱅크 중 일부의 메모리 뱅크와 연결되어, 상기 일부의 메모리 뱅크 중 하나의 메모리 뱅크에 저장된 블록 데이터를 출력하는 복수의 스위치; 및
    상기 복수의 스위치 중 일부의 스위치와 연결되어 상기 일부의 스위치의 각 각으로부터 복수의 블록 데이터를 입력 받아, 상기 복수의 블록 데이터에 대해 비터비 복호 알고리즘을 수행하여 상기 복수의 블록 데이터 중 일부의 블록 데이터를 출력하는 복수의 복호부를 포함하는 비터비 복호 장치.
  9. 제8항에 있어서,
    상기 분배부로 동시에 입력되는 비트의 수에 따라 상기 복수의 복호부 중 일부 또는 전부를 사용하는 비터비 복호 장치.
  10. 제9항에 있어서,
    상기 복수의 메모리 뱅크는 짝수개의 메모리 뱅크에 해당하고,
    상기 복수의 스위치는 짝수개의 스위치에 해당하며,
    상기 짝수개의 스위치 중 홀수 번째 스위치는 상기 짝수개의 메모리 뱅크 중 홀수 번째 메모리 뱅크와 병렬로 연결되고, 상기 짝수개의 스위치 중 짝수 번째 스위치는 상기 짝수개의 메모리 뱅크 중 짝수 번째 메모리 뱅크와 병렬로 연결되는 비터비 복호 장치.
  11. 제8항에 있어서,
    상기 복수의 복호부의 각각은 블록 프로세싱 비터비 복호 방법을 따르는 슬라이딩 블록 비터비 복호부인 비터비 복호 장치.
  12. 제8항에 있어서,
    상기 복수의 메모리 뱅크는 8개의 메모리 뱅크를 포함하고,
    상기 복수의 스위치는 8개의 스위치를 포함하며,
    상기 복수의 복호부는 2개의 복호부를 포함하는 비터비 복호 장치.
  13. 제12항에 있어서,
    상기 2개의 복호부의 각각은 상기 비터비 복호 장치의 최대 전송용량의 절반의 전송용량을 가지는 비터비 복호 장치.
KR1020070130384A 2007-12-13 2007-12-13 비터비 복호 장치 및 방법 KR100888508B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070130384A KR100888508B1 (ko) 2007-12-13 2007-12-13 비터비 복호 장치 및 방법
US12/188,416 US20090158131A1 (en) 2007-12-13 2008-08-08 Viterbi decoding apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070130384A KR100888508B1 (ko) 2007-12-13 2007-12-13 비터비 복호 장치 및 방법

Publications (1)

Publication Number Publication Date
KR100888508B1 true KR100888508B1 (ko) 2009-03-12

Family

ID=40698168

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070130384A KR100888508B1 (ko) 2007-12-13 2007-12-13 비터비 복호 장치 및 방법

Country Status (2)

Country Link
US (1) US20090158131A1 (ko)
KR (1) KR100888508B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101728567B1 (ko) * 2012-12-14 2017-04-19 한국전자통신연구원 병렬 처리 복호화 장치 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10159825B2 (en) 2009-09-17 2018-12-25 Zipline Medical, Inc. Rapid closing surgical closure device
CA2773915A1 (en) 2009-09-17 2011-04-14 Zipline Medical, Inc. Rapid closing surgical closure device
CN103002844B (zh) 2010-06-14 2016-08-31 奇普林医药公司 用于抑制疤痕形成的方法和装置
US9561034B2 (en) 2011-11-01 2017-02-07 Zipline Medical, Inc. Surgical incision and closure apparatus
US10123801B2 (en) 2011-11-01 2018-11-13 Zipline Medical, Inc. Means to prevent wound dressings from adhering to closure device
US10123800B2 (en) 2011-11-01 2018-11-13 Zipline Medical, Inc. Surgical incision and closure apparatus with integrated force distribution
WO2015103556A1 (en) 2014-01-05 2015-07-09 Zipline Medical, Inc. Instrumented wound closure device
WO2018081795A1 (en) 2016-10-31 2018-05-03 Zipline Medical, Inc. Systems and methods for monitoring physical therapy of the knee and other joints
GB2574074B (en) 2018-07-27 2020-05-20 Mclaren Applied Tech Ltd Time synchronisation
GB2588236B (en) 2019-10-18 2024-03-20 Mclaren Applied Ltd Gyroscope bias estimation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2594683B2 (ja) * 1990-05-18 1997-03-26 三菱電機株式会社 ヴィタビ・デコーダ
US7161994B2 (en) * 2001-09-17 2007-01-09 Digeo, Inc. System and method for shared decoding
WO2007014043A2 (en) * 2005-07-21 2007-02-01 Wionics Research Deinterleaver and dual-viterbi decoder architecture
US20080016425A1 (en) * 2006-04-04 2008-01-17 Qualcomm Incorporated Turbo decoder with symmetric and non-symmetric decoding rates
US7734984B2 (en) * 2006-04-13 2010-06-08 Trident Microsystems (Far East) Ltd. Erasures assisted block code decoder and related method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
2006년 11월 전자공학회 논문지 제43권 SD편 제11호

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101728567B1 (ko) * 2012-12-14 2017-04-19 한국전자통신연구원 병렬 처리 복호화 장치 및 방법

Also Published As

Publication number Publication date
US20090158131A1 (en) 2009-06-18

Similar Documents

Publication Publication Date Title
KR100888508B1 (ko) 비터비 복호 장치 및 방법
US8799735B2 (en) Channel interleaver having a constellation-based unit-wise permuation module
RU2448410C2 (ru) Способ и устройство перемежения данных в системе мобильной связи
US7827457B1 (en) Decoding data from multiple sources
US7756004B2 (en) Interleaver design with column swap and bit circulation for multiple convolutional encoder MIMO OFDM system
KR101224177B1 (ko) IEEE 802.11n 표준을 위한 열 스킵을 가지는 새로운인터리버 디자인
CN105340262B (zh) 传输广播信号的装置、接收广播信号的装置、传输广播信号的方法和接收广播信号的方法
KR101809966B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법 및 방송 신호 수신 방법
US20100146363A1 (en) Method and system of single carrier block transmission with parallel encoding and decoding
KR101801584B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법 및 방송 신호 수신 방법
KR101805536B1 (ko) 방송 신호 송신 장치, 방송 신호 수신 방법, 방송 신호 송신 방법 및 방송 신호 수신 방법
KR20060053962A (ko) 다수 안테나 통신 시스템을 위한 송신기 및 수신기와, 다수안테나 통신 시스템에서 데이터를 송신하는 방법 및수신하는 방법
US7379417B2 (en) Orthogonal frequency division multiplexing transmitter system and VLSI implementation thereof
CN105474632B (zh) 传输广播信号的装置及方法和接收广播信号的装置及方法
WO2011123458A1 (en) An enhanced frequency diversity technique for systems with carrier aggregation
GB2523363A (en) Bit interleaver and bit de-interleaver
CN111181572B (zh) Ldpc码字的交织映射方法及解交织解映射方法
JP4531734B2 (ja) インターリーブ方法及び送信装置
CN111628849B (zh) Ldpc码字的交织映射方法及解交织解映射方法
KR20080079163A (ko) 통신 시스템의 송신 장치 및 방법과, 수신 장치 및 방법
MX2013001764A (es) Aparato y metodo de transmision y recepcion de datos en sistema de comunicacion o radiodifusion utilizando codigo de bloque lineal.
JP2007037178A5 (ko)
CN104717039B (zh) 一种基于空时旋转的三维比特交织方法及装置
Indumathi et al. FPGA implementation of reliable and energy efficient architecture for a LTE uplink system
JP2011024258A (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: 20111208

Year of fee payment: 20