KR100396827B1 - 데이터 전송 시스템에서 병렬 길쌈 부호화 장치 - Google Patents

데이터 전송 시스템에서 병렬 길쌈 부호화 장치 Download PDF

Info

Publication number
KR100396827B1
KR100396827B1 KR10-2000-0032943A KR20000032943A KR100396827B1 KR 100396827 B1 KR100396827 B1 KR 100396827B1 KR 20000032943 A KR20000032943 A KR 20000032943A KR 100396827 B1 KR100396827 B1 KR 100396827B1
Authority
KR
South Korea
Prior art keywords
data
bits
shift register
puncturing
encoding
Prior art date
Application number
KR10-2000-0032943A
Other languages
English (en)
Other versions
KR20010112751A (ko
Inventor
이연성
이훈복
Original Assignee
쎄트리마이크로시스템(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쎄트리마이크로시스템(주) filed Critical 쎄트리마이크로시스템(주)
Priority to KR10-2000-0032943A priority Critical patent/KR100396827B1/ko
Publication of KR20010112751A publication Critical patent/KR20010112751A/ko
Application granted granted Critical
Publication of KR100396827B1 publication Critical patent/KR100396827B1/ko

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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • 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

Landscapes

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

Abstract

본 발명은 데이터 전송 시스템에서 병렬 길쌈 부호화 장치에 있어서, 출력 부호화 데이터 비트 개수(n) 만큼의 부호화부들을 포함하며 상기 부호화부들이 해당 천공 로직과 상기 생성 다항식에 의해 쉬프트 레지스터와 연결되어, 입력되는 데이터들에 대하여 부호화 및 천공 동작을 동시에 병렬로 수행하는 부호화 및 천공부와, 상기 n개의 출력 부호화 데이터들을 생성하기 위해 필요한 데이터 비트 수(k)와 구속장(K)의 길이에 대응하는 만큼의 비트 셀 개수를 가지며 현재 부호화 및 천공 단계에서 외부로부터 바이트 단위 또는 k 보다 큰 병렬 단위 데이터들이 입력될 때마다 상기 각 비트 셀들에 저장된 데이터들을 상기 구속장 길이의 비트씩 쉬프트 하고 해당되는 저장 데이터들을 상기 부호화 및 천공부로 출력하며 부호화 및 천공 동작의 이전 단계들에서 사용되지 않은 미처리 입력 데이터 비트들을 저장하는 상기 쉬프트 레지스터와, 상기 바이트 단위 또는 병렬 단위의 데이터들을 입력하여 상기 쉬프트 레지스터에 출력하며, 상기 부호화 및 천공 단계들 마다 발생하며 상기 쉬프트 레지스터에 저장되는 미처리 입력 데이터 비트들이 상기 k 비트 개수가 되면 이를 감지하고 한 클럭 동안 데이터를 입력하지 않아서, 상기 쉬프트 레지스터가 상기 k 비트의 미처리 입력 데이터들을 K 비트 쉬프트 하고 출력할 수 있도록 하는 데이터 정렬부가 적어도 포함됨을 특징으로 한다.

Description

데이터 전송 시스템에서 병렬 길쌈 부호화 장치{PARALLEL CONVOLUTIONAL ENCODER IN DATA TRANSMISSION SYSTEM}
본 발명은 오류정정부호에 관한 것으로, 특히 디지털 전송 시스템에서 광범위하게 사용되는 길쌈부호의 처리장치에 관한 것이다.
본 발명의 기술분야는 디지털 전송 시스템(예:위성 통신 시스템, 디지털 셀룰러 시스템, W-CDMA, B-WLL, IMT-2000)등에서 광범위하게 사용되는 길쌈부호(Convolutional Codes)의 처리장치에 관한 것이다. 일반적으로 길쌈부호는 통신시스템 등과 같은 데이터 전송 시스템 등에서 전송되는 또는 기록되는 데이터에 발생된 오류를 복구하고자 하는 경우에 사용되며, 보통 1/2, 1/3, 1/4등과 같은 특정 부호화율(Code Rate: R)의 길쌈부호가 주로 사용된다.
또한 길쌈 부호화 분야에서 천공기법(Puncturing Method)은 부호율이 R=1/n인 길쌈부호(Convolutional Code)로부터 이보다 높은 부호율을 가지는 새로운 길쌈부호를 생성하기 위하여 사용되어질 수 있다. 상기 천공기법을 사용하는 이유는 수신기에 있는 비터비 디코더(Viterbi Decoder)의 Decoding Complexity는 부호율의 증가에 따라 지수적으로 증가하기 때문에 동일 Decoding Complexity로 높은 부호율을 전송하기 위함이다. 다시말해, High Rate Convolutional Code를 위하여 원래의 부호율이 R=k/n(k>1)인 길쌈부호를 사용하면 비터비 디코더의 Trellis 에서 각각의 State에 Merging 하고 Departing 하는 Branch의 수가 지수적으로 증가하게 된다. 따라서 이러한 Decoding Complexity를 줄이고자 부호율 R=1/n인 길쌈부호에 대하여 천공기법을 사용한다. 상기 천공기법을 사용하는 경우의 Decoding Complexity 는 상기 부호율 R=1/n인 길쌈부호의 Decoding Complexity 와 거의 동일하게 된다.
도 1은 디지털 통신 시스템에서 종래의 길쌈 부호 장치의 일 예를 도시한 도면이다.
병/직렬 변환기(Parallel-to-Serial Converter)(110)는 외부로부터 입력되는 병렬 단위 데이터를 제1 클럭(160)에 대응하여 직렬 데이터로 변환하여 쉬프트 레지스터(Shift Register)(120)로 출력한다. 이때, 상기 병렬 단위 데이터는 소스 코딩(Source Coding) 및 압축된 것이 될 수가 있다.
쉬프트 레지스터(120)는 입력되는 제2 클럭(170)에 대응하여 상기 입력되는 직렬 데이터를 비트 단위씩 쉬프트 시키며 부호화부(Encoder)(130)로 출력한다. 제2 클럭(170)은 상기 병렬 데이터 입력시에 사용되는 제1 클럭(160)으로부터 체배된 즉, 데이터 입력시에 사용되는 클럭보다 더 빠른 예를 들면 병렬 단위 데이터의 비트 배수 만큼 더 빠른 클럭이 될 수가 있다.
부호화부(130)는 쉬프트 레지스터(120)내의 셀들(도시하지 않음) 중에서 기설정된 셀들에 저장된 값들에 대한 배타적 논리합 연산을 수행하고, 그 연산 결과값, 즉 길쌈 부호화된 데이터값을 천공부(Puncturing)(140)로 출력한다.
천공부(140)는 해당 펑처드 코드 레이트(Puncturing Code Rate)에 따라 입력되는 상기 길쌈 부호화된 데이터값들의 열에 대하여 천공 알고리즘에 따라 해당되는 번째의 값들을 천공한다. 이때, 상기 천공 알고리즘은 추가 하드웨어 또는 소프트웨어적으로 수행되며 메모리 등과 같은 저장 수단에 의해 저장되게 된다.
한편, 디지털 전송 시스템에서 최근에는 병렬 길쌈 부호화 장치가 대두되고 있다. 병렬 길쌈 부호화의 기본 개념에 대하여 간단히 알아보면 하기와 같다.
즉, 입력되는 병렬 데이터를 직렬 비트 단위로 쉬프트 레지스터에 입력시켜 단일의 길쌈 부호화부에 의해 처리하는 것이 아니라, 병렬 길쌈 부호화란 상기 병렬 단위의 입력 데이터에 대한 병렬 처리를 위해 복수개의 부호화부들을 쉬프트 레지스터에서 쉬프트된 상태의 해당 셀들로 각각 연결되고, 상기 미리 쉬프트되어 연결된 다수의 부호화부들이 병렬 단위 비트 데이터들을 각각 입력받아 동시에 병렬로 길쌈 부호화 과정을 수행하는 것이다.
도 2는 디지털 전송 시스템에서 병렬 길쌈 부호화 장치의 일 예를 도시한 도면이다. 설명의 편의를 위해 상기 도 2는 구속장이 3(K=3)이고 부호화율이 1/2(R=1/2)이며 부호화부가 2개인 경우로 가정한다.
쉬프트 레지스터(200)는 제1 쉬프트 레지스터(210)와 제2 쉬프트 레지스터(220)로 구분될 수가 있다. 제1 부호화부(230a, 230b)는 해당 생성 다항식에 의하여 와이어링되어 즉, 제1 쉬프트 레지스터(210)의 해당 셀들에 저장된 값들에 대하여 길쌈 부호화를 수행한다. 제2 부호화부(240a, 240b)는 상기 제1 쉬프트 레지스터(210)에 저장된 값들에 비하여 한 비트씩 쉬프트된 상태의 값들 즉, 제2 쉬프트 레지스터(220)에 저장된 값들에 대하여 길쌈 부호화를 수행한다.
도 3은 디지털 전송 시스템에서 병렬 길쌈 부호화 장치의 다른 일 예를 도시한 도면이다. 상기 도 3은 바이트 단위의 병렬 데이터가 입력되며 부호화율이 1/2(R=1/2) 그리고 천공된 부호화율(Punctured Code Rate)이 8/9(k/n)인 경우로 가정한다.
참조부호 311은 이전 단계에서 입력되어 길쌈 부호화 처리가 되었으며, 현재 단계에서 부호화 데이터를 생성하는데 필요한 데이터들을 저장하는 데이터 저장부이다.
부호화부(315) 내지 부호화부(329)는 해당 생성 다항식에 의해 병렬 단위(8 비트)의 모든 입력 데이터들(313)(~)에 대하여 길쌈 부호화를 수행하여, 부호화율(1/2)에 따라 총 16개의 부호화 데이터들(331)(~~)을 출력한다. 이때, 상기 부호화 데이터들(331)은 병렬 레지스터 등과 같은 일정한 저장부에 의해 일시 저장될 수가 있다. 또한 이때, 상기 부호화부들의 각각은 부호화율(1/2)에 따라 두 개의 코드 데이터를 생성하기 위한 두 개의 구성 블록으로 이루어져있으며, 각 블록은 생성 다항식에 따라 대응되는 XOR 게이트들로 구성된다.
천공부(333)는 상기 16개의 부호화 데이터들(331)에 대하여 기지정된 천공 로직에 따라 천공 동작을 수행하고 인터리버(Interleaver)(도시하지 않음.) 또는 FIFO(선입선출) 메모리(도시하지 않음.)등으로 출력한다.
도 4는 디지털 전송 시스템에서 종래의 천공 동작을 설명하기 위한 도면이다. 이하 상기 도 3을 참조하여 설명한다.
도 4a는 상기 도 3에서 천공부(333)의 천공 로직 테이블(411)의 일 예를 도시하며, 상기 도 4b는 천공부(333)의 천공 동작을 나타낸다. 도시된 바와 같이, 천공 로직 테이블(411)은 부호화율(R)이 1/2이며, 천공된 부호화율이 8/9(k/n) 인 경우이다. 여기서 상기 n은 천공된 출력 부호화 데이터의 비트 개수를 의미하며, 상기 k는 상기 n개의 천공된 부호화 데이터를 생성하기 위해 필요한 데이터 비트수를의미한다. 따라서, 부호화율(R)이 1/2이고, k/n가 8/9인 경우에, 천공 테이블은 16 비트(k x 1/R)로 구성되고, 16비트 코드 데이터를 입력받아 9개의 천공된 부호화 데이터를 생성시킨다. 또한, k가 8인 경우에 천공 테이블은 16 비트(k x 1/R)의 코드 데이터 단위로 천공 동작을 수행하고, k가 7인 경우는 14 비트(k x 1/R) 코드 데이터 단위로 천공 동작을 수행한다.
상기 도 3의 16개의 부호화 데이터들(331)(~~) 각각은 천공 로직 테이블(411)의 로직에 의해 천공 또는 출력이 결정된다. 여기서 천공 로직 테이블의 "0"의 의미는 해당되는 부호화 데이터가 천공되어 천공부(333)로부터 출력되지 않음을 의미하고, 상기 천공 로직 테이블의 "1"의 의미는 해당되는 부호화 데이터가 천공부(333)로부터 출력됨을 의미한다. 도 4b는 상기 도 3의 천공부(433)가 16개의 부호화 데이터들(331)(~~)에 대하여 해당 천공 로직에 따라 천공 동작을 수행하여 총 9개의 천공된 부호화 데이터가 출력하는 동작을 보여준다.
상기 도 4a 및 도 4b의 설명에서 볼 때, 디지털 전송 시스템의 종래의 병렬 길쌈 부호화 장치는 부호율이 1/2이고 입력 데이터가 바이트 단위로 입력되며 천공된 출력 부호화율이 8/9 인 경우에는 상기 도 4b와 같이 길쌈 부호화된 데이터들에 대하여 간단한 연결 구성만으로 천공 동작을 수행할 수가 있다. 상기 천공 동작은 i 번째 뿐만 아니라 (i-1) 번째 및 (i+1) 번째에서도 동일하게 수행된다.
그러나 예를 들어, 천공된 출력 부호화율이 7/8인 경우에는 종래의 병렬 길쌈 부호화 장치를 구성하는 기능 블록을 사용하여 간단한 연결 구성만으로 천공 동작을 수행하는 천공부를 구성하는 것은 불가능하다.
왜냐하면, 부호화율이 1/2이고, 천공된 출력 부호화율이 7/8 이기 때문에 간단한 연결 구성으로 천공부를 구성하기 위해서 부호화 데이터들은 14 비트 단위로 천공 테이블에 입력되어야 하는데, 16 비트의 부호화 데이터가 병렬 길쌈 부호기로부터 생성되기 때문에 출력 코드 데이터의 각 비트와 천공 테이블의 각 비트에 대한 연결은 천공 동작 처리가 이루어지는 매 단계마다 바뀌게 된다. 예를 들어, 도 4c에서처럼 현재 단계 코드 데이터는 천공 테이블에 각각 연결되고,은 천공 데이블에 연결된다면, 다음 단계의 천공 동작에서는는 천공 데이블에 각각 연결되고,은 천공 데이블에 연결되어야 한다.
따라서, 디지털 전송 시스템의 종래의 병렬 길쌈 부호화 장치는 소정 단위의 입력 데이터를 모두 사용하여 병렬 길쌈부호화를 수행하기 때문에 부호화부로부터 출력되는 데이터 단위와 부호화율과 천공된 부호화율에 따라 결정되는 천공 테이블의 데이타 비트수가 서로 다른 경우에는 간단한 연결 구성으로 천공 동작을 수행할 수가 없고, 이로 인하여 복잡한 하드 와이어링 또는 소프트웨어적으로 천공 동작을 수행하여야 한다.
또한, 디지털 전송 시스템의 종래의 병렬 길쌈 부호화 장치는 소정 단위의 병렬 데이터가 입력될 때 입력 데이터 전체를 부호화 하지 않고, 천공된 출력 부호화율(k/n)에 따라 입력 데이터 중 일부 데이터인 k 비트만을 부호화한다면, 입력 데이터 비트수가 부호화된 코드 데이터의 비트수 보다 적기 때문에 상기의 복잡한 하드 와이어링으로 천공부를 구성하는 것 보다 더 적고 간단한 하드웨어를 추가하여, 간단한 연결 구성만으로 천공부를 구성할 수 있다. 하지만, 이와 같은 경우 부호화 되지 않은 비트들에 대하여 관리해주는 구성이 있어야 하는데 종래의 병렬 길쌈 부호화 장치에는 그러한 구성이 없다.
따라서, 종래의 병렬 길쌈 부호화기를 사용하여 천공 과정을 수행할 때, 다양한 천공된 부호화율을 지원하기 위해서 상기와 같은 두가지 사유로 인하여 천공부를 복잡한 하드 와이어링 또는 소프트웨어적으로 처리해야하는 불편함이 있었다.
따라서, 본 발명의 목적은 데이터 전송 시스템에서 k 보다 큰 다양한 병렬 단위의 데이터가 입력될 때, 천공된 부호화율(k/n)에 따라 한번에 병렬 길쌈 부호화 처리시에 사용되는 데이터 비트 수를 k 비트로 조정할 수 있도록 하여, 부호화 로직과 천공 로직을 간단하게 구성할 수가 있는 병렬 길쌈 부호화 장치를 제공함에 있다.
본 발명의 다른 목적은 데이터 전송 시스템에서 입력되는 k 보다 큰 다양한 병렬 단위의 데이터의 길이와 다양한 부호화 출력 데이터의 길이에 대해 간단한 연결 구성으로 부호화 동작 및 천공 동작을 수행할 수가 있는 병렬 길쌈 부호화 장치를 제공함에 있다.
본 발명의 또 다른 목적은 데이터 전송 시스템에서 입력되는 k 보다 큰 다양한 병렬 단위의 데이터의 길이와 다양한 부호화 출력 데이터의 길이에 대해 상기 입력 데이터들 중에서 현재 단계에서 처리되지 않는 비트들을 관리하여, 간단한 연결 구성으로 부호화 동작 및 천공 동작을 수행할 수가 있는 병렬 길쌈 부호화 장치를 제공함에 있다.
이러한 목적들을 달성하기 위한 본 발명은 데이터 전송 시스템에서 병렬 길쌈 부호화 장치가, 출력 부호화 데이터 비트 개수(n)만큼의 부호화부들을 포함하며 상기 부호화부들이 해당 천공 로직과 상기 생성 다항식에 의해 쉬프트 레지스터와 연결되어, 입력되는 데이터들에 대하여 부호화 및 천공 동작을 동시에 병렬로 수행하는 부호화 및 천공부와, 상기 n개의 출력 부호화 데이터들을 생성하기 위해 필요한 데이터 비트 수(k)와 구속장(K)의 길이에 대응하는 만큼의 비트 셀 개수를 가지며 현재 부호화 및 천공 단계에서 외부로부터 k 보다 큰 다양한 병렬 단위의 데이터들이 입력될 때마다 상기 각 비트 셀들에 저장된 데이터들을 상기 구속장 길이의 비트(K 비트)씩 쉬프트하고 해당되는 저장 데이터들을 상기 부호화 및 천공부로 출력하며 부호화 및 천공 동작의 이전 단계들에서 사용되지 않은 미처리 입력 데이터 비트들을 저장하는 상기 쉬프트 레지스터와, k 보다 큰 다양한 병렬 단위 데이터들을 입력하여 상기 쉬프트 레지스터에 출력하며, 상기 부호화 및 천공 단계들마다 발생하며 상기 쉬프트 레지스터에 저장되는 미처리 입력 데이터 비트들이 상기 k비트 개수가 되면 이를 감지하고 한 클럭 동안 데이터를 입력하지 않아서, 상기 쉬프트 레지스터가 상기 k 비트의 미처리 입력 데이터들을 K 비트 쉬프트 하고 출력할 수 있도록 하는 데이터 정렬부가 적어도 포함됨을 특징으로 한다.
도 1은 디지털 전송 시스템에서 종래의 길쌈 부호 장치의 일 예를 도시한 도면.
도 2는 디지털 전송 시스템에서 병렬 길쌈 부호화 장치의 일 예를 도시한 도면.
도 3은 디지털 전송 시스템에서 병렬 길쌈 부호화 장치의 다른 일 예를 도시한 도면.
도 4는 디지털 전송 시스템에서 종래의 천공 동작을 설명하기 위한 도면.
도 5는 디지털 전송 시스템에서 본 발명의 실시예에 따른 병렬 길쌈 부호화 장치의 일 예를 도시한 도면.
이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 5는 디지털 전송 시스템에서 본 발명의 실시예에 따른 병렬 길쌈 부호화 장치의 일 예를 도시한 도면이다. 상기 도 5는 바이트 단위의 병렬 데이터가 입력되며 부호화율이 1/2(R), 천공된 부호화율이 7/8(k/n) 그리고, 구속장이 7(K)인 경우로 가정한다.
쉬프트 레지스터(5)의 길이는 본 발명에 대한 구체적인 구현에 따라 가변될 수가 있다. 즉, 쉬프트 레지스터(5)는 n개의 천공된 출력 부호화 데이터를 생성하기 위해 필요한 데이터 비트 수(k)와 구속장(K)의 길이에 대응하는 만큼의 셀 개수를 가진다. 상기 비트 셀 개수는 하기 <수학식 1>로 계산되어 질 수가 있다.
쉬프트레지스터 비트 셀의 개수 = k+(k-1)+K
여기서, 상기 k는 출력 부호화 데이터를 생성하기 위해 필요한 데이터 비트 수이며, 상기 K는 병렬 길쌈 부호화기의 구속장이다.
쉬프트 레지스터(5)의 제0 비트 셀부터 제12 비트 셀까지의 구성은 7의 구속장을 가지는 쉬프트 레지스터가 7개로 이루어진다고 말 할 수가 있다. 이때, 제0 비트 셀부터 제6 비트 셀까지를 제1 쉬프트 레지스터라 할 수가 있으며, 제1 비트 셀부터 제7 비트 셀까지를 제2 쉬프트 레지스터라 할 수가 있으며, 제2 비트 셀부터 제8 비트 셀까지를 제3 쉬프트 레지스터라 할 수가 있으며, 제3 비트 셀부터 제9 비트 셀까지를 제4 쉬프트 레지스터라 할 수가 있으며, 제4 비트 셀부터 제10 비트 셀까지를 제5 쉬프트 레지스터라 할 수가 있으며, 제5 비트 셀부터 제11 비트 셀까지를 제6 쉬프트 레지스터라 할 수가 있으며, 제6 비트 셀부터 제12 비트 셀까지를 제7 쉬프트 레지스터라 할 수가 있다. 이들 중에서 상기 제2 쉬프트 레지스터 내지 제7 쉬프트 레지스터는 각각 상기 제1 쉬프트 레지스터에 저장된 값들에 비하여 순차적으로 해당 비트씩 쉬프트된 상태의 값들을 저장한다. 예를 들어 상기 제3 쉬프트 레지스터는 상기 제1 쉬프트 레지스터에 비하여 2비트 쉬프트된 상태의 값들을 저장한다.
쉬프트 레지스터(5)의 제13 비트 셀부터 제19 비트 셀까지의 구성은 후술되는 부호화 및 천공 동작에서 사용되지 않은 미처리 입력 데이터 비트들을 저장하는 동작을 수행한다.
그리고 쉬프트 레지스터(5)는 현재 단계에서 외부로부터 데이터(입력데이터Din[7:0])가 입력될 때마다 상기 각 비트 셀들에 저장된 데이터들을 상기 구속장 길이의 비트씩(K=7비트) 쉬프트 하고, 상기 제0 비트 셀부터 제12 비트 셀까지의 저장된 값들을 부호화 및 천공부(6)로 출력한다.
부호화 및 천공부(6)는 출력 부호화 데이터 비트 개수(n=8) 만큼의 부호화부들을 포함할 수가 있다. 그런데 상기 부호화부들은 천공 로직에 의해 쉬프트 레지스터(5)의 해당 비트 셀들에 연결되기 때문에 상기 도 5와 같이 출력 부호화 데이터 비트 개수 만큼만이 존재하게 되며, 각각의 부호화부들은 단일의 배타적 논리합 게이트(XOR Gate)로 이루어 질 수가 있다. 부연하면 종래의 병렬 길쌈 부호화 장치에 구비되는 부호화 동작과 천공 동작이 분리되어 있으므로 각 부호화부들은 두 개의 배타적 논리합 게이트들로 이루어져야 한다. 그러나 쉬프트 레지스터(5)의 해당 비트 셀들로부터의 출력이 천공 알고리즘에 의한 것이라고 하면, 어떤 셀에 저장된 값에 대하여 길쌈 부호화를 수행하는 2 개의 배타적 논리합 게이트들이 필요가 없다. 본 발명의 실시예에서는 천공 로직에 따라, 부호화 동작을 수행하는 배타적 논리합 게이트를 천공되지 않는 셀들 출력에 대해서만 연결 및 배치한다. 그리고 부호화 및 천공부(6)에 구비되는 상기 부호화부들이 해당 천공 로직 및 해당 생성 다항식에 의해 쉬프트 레지스터(5)의 해당 셀들에 연결되어, 입력되는 데이터에 대하여 부호화 및 천공 동작을 동시에 병렬로 수행한다.
데이터 정렬부(2)는 바이트 단위로 입력되는 데이터 비트수와 상기 n개의 출력 부호화 데이터를 생성하기 위해 필요한 데이터 비트 수(k)가 서로 다름으로 인하여, 상기 부호화 및 천공 동작의 단계마다 발생하는 상기 미처리 데이터 비트들을 관리하는 동작을 수행한다.
데이터 정렬부(2)는 부호화 및 천공 단계들마다 발생하며 쉬프트 레지스터(5)의 해당 셀들에 저장되는 미처리 입력 데이터 비트들이 상기 k 비트 개수가 되면 이를 감지한다. 그러면 데이터 정렬부(2)는 한 클럭 동안 데이터 (Din[7:0])를 입력하지 않고, 상기 k 비트의 미처리 입력 데이터가 처리될 수 있도록 쉬프트 레지스터(5)내에서 쉬프트(K 비트)를 시킨다.
한편, 데이터 정렬부(2)는 데이터 선택부(4)와 배럴 쉬프터(1) 및 카운터(3)로 이루어 질 수가 있다. 데이터 정렬부(2)에 구비되는 데이터 선택부(4)는 상기 데이터 비트수(k) 만큼의 길이를 가지며, 배럴 쉬프터(1)에 의해 쉬프트 레지스터(5)에 저장되어 있는 미처리 입력 데이터 비트수 만큼 쉬프트된 입력 데이터(Din[7:0])와 쉬프트 레지스터(5)내(제13 비트 셀부터 제19 비트 셀까지)에 저장되는 미처리 입력 데이터 각 비트들을 입력받아 두 입력 중 선택적으로 어느 한 데이터 비트를 쉬프트 레지스터(5)로 출력한다.
데이터 선택부(4)는 카운터(3)의 제어신호에 의해, 각 처리 단계마다 발생하여 쉬프트 레지스터(5)내(제13 비트 셀부터 제19 비트 셀까지)에 저장되는 미처리 입력 데이터의 비트 개수를 감지할 수가 있다.
상기 데이터 선택부(4)의 기능 및 동작을 예를 들어 부연 설명하기 위해 쉬프트 레지스터(5)의 제13 비트와 제14 비트에 전 단계에 입력되어 미처리된 데이터가 저장되어 있다고 가정하자. 배럴 쉬프터(1)는 입력 데이터(Din[7:0])를 카운터(3)의 제어신호에 따라 미처리 데이터 비트 수(2 비트)만큼 쉬프트시켜 데이터 선택부(4)의 Ain[6:0]에 입력시킨다. 즉, 상기 Ain[6:0] 중 입력 데이터 Din[7]부터 Din[3]은 각각 상기 Ain[2]부터 Ain[6]으로 입력되고, Din[2]부터 Din[0]은 쉬프트 레지스터(5)의 제13 셀부터 제15 셀에 입력된다. 쉬프트 레지스터(5)는 미처리 데이터가 저장되는 제13 셀부터 제19 셀까지의 저장값을 각각 데이터 선택부(4)의 Bin[0]부터 Bin[6]에 입력시킨다. 이때, 상기 가정에 따라 제13 셀과 제14 셀에 저장된 미처리 데이터가 각각 Bin[0]과 Bin[1]에 입력되고, Din[7]부터 Din[3]이 각각 Ain[2]부터 Ain[6]에 입력됨을 주목할 필요가 있다. 데이터 선택부(4)는 상기 카운터(3)의 제어신호에 따라 Bin[0], Bin[1]과 Ain[2]부터 Ain[6]까지를 선택적으로 출력시켜 쉬프트 레지스터(5)에 입력시킨다. 따라서, 상기 데이터 선택부(4)는 두 입력 데이터를 선택적으로 비트 단위로 출력시킴으로서 입력 데이터(Din[7:0])와 미처리 데이터가 쉬프트 레지스터(5)의 동일한 위치에 겹쳐서 저장되지 않도록 한다.
카운터(3)는 쉬프트 레지스터(5)에 저장되며 상기 부호화 및 길쌈 부호 동작마다 발생하는 미처리 입력 데이터 비트들의 개수를 카운트하고, 이에 의한 카운트 제어신호를 데이터 선택부(4) 및 배럴 쉬프터(213)로 출력한다.
배럴 쉬프터(1)는 8비트(입력 데이터 단위) 길이의 입력단자와 입력 데이터를 (k-1)비트까지 쉬프트시켜 출력시킬 수 있는 14비트(입력 데이터 단위 + k - 1) 길이의 출력단자 그리고 입력 데이터를 쉬프트시킬 비트 수를 나타내는 제어단자를 가진다. 상기 카운트 제어신호에 따라 입력되는 데이터(Din[7:0])를 미처리 데이터 비트수 만큼 쉬프트 시켜서 데이터 선택부(4) 및 쉬프트 레지스터(221)의 해당 셀들(제 13비트 셀부터 제 19셀 비트 셀까지)로 출력한다.
이하 상기 도 5를 참조하여 본 발명의 실시예에 따른 병렬 길쌈 부호화 장치에 대한 동작 과정을 상세히 설명한다.
제1 단계에서 바이트 단위의 입력 데이터는 쉬프트 레지스터(5)내의 제6 비트 셀부터 제13비트 셀까지에 저장된다. 제13 비트 셀을 제외한 상기 비트 셀에 저장된 입력 데이터들은 제0 비트 셀부터 제5 비트 셀까지 초기값으로 저장된 값들과 함께 부호화 및 천공부(6)로 입력되어 병렬적으로 길쌈 부호화 및 천공된다. 제2 단계에서 새로운 바이트 단위의 데이터가 입력될 때, 쉬프트 레지스터(5)는 제1 단계에서 저장된 값들을 K 비트 쉬프트 시킨다. 이때, 제13 비트 셀에 저장된 값은 데이터 선택부(4)를 경유하여 제6 비트 셀로 쉬프트된다. 그리고 제2 단계 입력 데이터들은 배럴 쉬프터(1)와 데이터 선택부(4)를 경유하여 제7 비트 셀부터 제13비트 셀까지에 저장됨을 주목할 필요가 있다. 즉, 제1단계에서 입력된 상기 제13 비트 셀 저장값(1 단계에서 미처리된 입력 데이터)은 제 2단계에서 입력된 데이터와 함께 데이터 입력순서로 부호화 및 천공부(6)에 입력된다.
배럴 쉬프터(1)는 상기와 같이 제1 단계에서 제13 비트 셀에 저장되어 부호화 및 천공부(6)에 의해 미처리되었으며, 제2 단계에서 K 비트 쉬프트되어 제6 비트 셀에 저장된 제1 단계 미처리 데이터와 제2 단계 입력 데이터가 겹쳐 저장되지 않도록, 카운터 제어신호(전 단계 입력 데이터 중 미처리 데이터의 비트수를 카운트한 값)에 의해 상기 제2 단계에서 입력되는 데이터들을 1 비트(제 1단계에서 입력된 데이터중 미처리 데이터 비트수는 1 비트임) 쉬프트 시켜서 출력한다. 상기데이터들은 쉬프트 레지스터(5) 내의 제7 비트 셀부터 제14 비트 셀까지에 저장된다. 따라서, 제0 비트 셀부터 제6 비트 셀에는 제 1단계에서 입력된 데이터들이 저장되어 있고, 제7 비트 셀부터 제14비트 셀까지는 제2 단계에서 입력된 데이터들이 저장되며, 제 0 비트 셀부터 제 12비트 셀에 저장된 값들은 부호화 및 천공부(6)로 입력되어 병렬적으로 길쌈 부호화 및 천공된다. 이때, 제2 단계에서 입력되어 미처리된 데이터 비트수는 제13 비트 셀부터 제14 비트 셀까지 2비트가 된다.
제3 단계에서도 상기 제2 단계에서 처럼 제2 단계 미처리 데이터(제13, 제14 셀 저장값)는 각각 데이터 선택부(4)를 경유하여 K 비트 쉬프트되어 제6 셀, 제7 셀에 저장되고, 제3 단계 입력 데이터는 배럴 쉬프터(1)와 데이터 선택부(4)를 경유하여 제8 비트 셀부터 제15비트 셀까지에 저장된다. 제0 셀부터 제12 셀에 저장된 값은 상기 제1 단계 또는 제2 단계에서 처럼 부호화 및 천공부(6)에 입력되어 병렬적으로 길쌈 부호화 및 천공된다. 이때, 제 3단계에서 입력되어 미처리된 데이터 비트수는 제13비트 셀부터 제15비트 셀까지 3비트가 된다. 따라서, 미처리 데이터 비트수는 제1 단계에서는 1비트(제13 비트 셀), 제 2단계에서는 2비트(제13 비트 셀부터 제14 비트셀), 제 3단계에서는 3비트(제13 비트 셀부터 제15 비트 셀)로 매 단계마다 1비트씩 누적되어 저장된다.
이런 식으로 제7 단계에서는 제13 비트 셀부터 제19 비트 셀까지(총 k비트) 미처리 입력 데이터값들이 저장되고, 제8 단계에서는 클럭 발생기(도시하지 않음)로부터의 클럭이 발생되지 않아서, 한 클럭 동안 데이터(Din[7:0])가 입력되지 않는다. 이때, 상기 미처리 입력 데이터들은 K 비트 쉬프트 되어 제6 비트 셀부터제12 비트셀에 저장되고, 길쌈 부호 및 천공이 수행된다. 제9 단계부터는 상기 제1 단계부터 다시 반복하여 상기와 동일한 동작이 수행된다.
한편, 본 발명의 상세한 설명에서는 입력 데이터 단위가 8비트, 부호화율이 1/2, 천공된 부호화율이 7/8, 구속장이 7인 경우에 적용된 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 입력 데이터 단위가 바이트 단위가 아닌 부호화 데이터를 생성하기 위한 입력된 데이터의 해당 비트수의 개수보다 더 큰 길이의 데이터등과 같은 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 않되며 후술하는 특허청구의 범위뿐 만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 데이터 전송 시스템에서 병렬 길쌈 부호화 장치에 있어서, k 보다 큰 소정 단위의 병렬 데이터가 입력되고, 천공된 부호화율이 k/n 일 때, 데이터가 입력될 때 마다 발생하는 병렬 길쌈 부호화 과정시 사용되는 데이터 비트 수를 k 비트로 조정할 수 있도록 하여, 한번에 n개의 출력 부호화 데이터 비트 수를 생성할 수 있고, 이로 인하여 부호화 로직과 천공 로직을 간단하게 구성할 수가 있는 이점이 있다.

Claims (5)

  1. 데이터 전송 시스템에서 병렬 길쌈 부호화 장치에 있어서,
    출력 부호화 데이터 비트 개수(n) 만큼의 부호화부들을 포함하며 상기 부호화부들이 해당 천공 로직과 해당 생성 다항식에 의해 쉬프트 레지스터와 연결되어, 입력되는 데이터들에 대하여 부호화 및 천공 동작을 동시에 병렬로 수행하는 부호화 및 천공부와,
    상기 출력 부호화 데이터 비트 개수(n)의 출력 부호화 데이터들을 생성하기 위해 필요한 데이터 비트 수(k)와 구속장(K)의 길이에 대응하는 만큼의 비트 셀 개수를 가지며 각 부호화 및 천공 단계에서 외부로부터 상기 k보다 큰 소정 단위의 병렬 데이터들이 입력될 때마다 상기 각 비트 셀들에 저장된 데이터들을 상기 구속장 길이의 비트씩 쉬프트 하고 해당되는 저장 데이터들을 상기 부호화 및 천공부로 출력하며 부호화 및 천공 동작의 이전 단계들에서 사용되지 않은 미처리 입력 데이터 비트들을 해당 비트 셀들에 저장하는 상기 쉬프트 레지스터와,
    상기 k보다 큰 소정 단위의 병렬 데이터들을 입력하여 상기 쉬프트 레지스터에 출력하며, 각 부호화 및 천공 단계들 마다 발생하며 상기 쉬프트 레지스터에 저장되는 미처리 입력 데이터 비트들이 상기 출력 부호화 데이터들을 생성하기 위해 필요한 데이터 비트 수(k) 비트 개수가 되면 이를 감지하고 한 클럭 동안 데이터를 입력하지 않아서, 상기 쉬프트 레지스터가 상기 k 비트의 미처리 입력 데이터들을 구속장(K) 비트 쉬프트 하고 출력할 수 있도록 하는 데이터 정렬부가 적어도 포함됨을 특징으로 하는 디지털 전송 시스템에서 병렬 길쌈 부호화 장치.
  2. 제 1항에 있어서, 상기 데이터 정렬부가,
    상기 쉬프트 레지스터에 저장되며 상기 부호화 및 길쌈 부호 동작마다 발생하는 미처리 입력 데이터 비트들의 개수를 카운트하여 이에 의한 카운트 제어신호를 출력하는 카운터와,
    상기 카운트 제어신호에 의해 각 부호화 및 천공 단계마다 입력되는 상기 k보다 큰 소정 단위의 병렬 데이터들을 이전 단계 미처리 입력 데이터 비트 수만큼 쉬프트 시켜서 데이터 선택부 및 상기 쉬프트 레지스터로 출력하는 배럴 쉬프터와,
    상기 데이터 비트 수(k) 개수만큼의 길이를 가지며, 상기 미처리 입력 데이터 비트수 만큼 쉬프트된 상기 k보다 큰 소정 단위 입력 데이터들 중에서 각 k 비트들과 상기 쉬프트 쉬프트 레지스터내의 해당 비트 셀들에 저장된 이전 단계 미처리 입력 데이터들의 각 비트들 중에서 어느 한 데이터 비트를 상기 쉬프트 레지스터로 출력하는 상기 데이터 선택부로 이루어짐을 특징으로 하는 디지털 전송 시스템에서 병렬 길쌈 부호화 장치.
  3. 제 1항에 있어서, 상기 쉬프트레지스터의 비트 셀 개수가,
    아래의 <수학식 2>에 의해 결정됨을 특징으로 하는 디지털 전송 시스템에서 병렬 길쌈 부호화 장치.
    쉬프트레지스터의 비트 셀 개수=k+(k-1)+K
    여기서, 상기 k는 상기 출력 부호화 데이터를 생성하기 위해 필요한 데이터 비트 수이며, 상기 K는 상기 병렬 길쌈 부호화 장치의 구속장이다.
  4. 제 1항에 있어서, 상기 출력 부호화 데이터 비트 개수(n) 만큼의 부호화부들 각각이,
    단일의 배타적 논리합 게이트로 구성됨을 특징으로 하는 디지털 전송 시스템에서 병렬 길쌈 부호화 장치.
  5. 제 1항에 있어서, 상기 k보다 큰 소정 단위의 병렬 데이터가 바이트 단위임을 특징으로 하는 디지털 전송 시스템에서 병렬 길쌈 부호화 장치.
KR10-2000-0032943A 2000-06-15 2000-06-15 데이터 전송 시스템에서 병렬 길쌈 부호화 장치 KR100396827B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0032943A KR100396827B1 (ko) 2000-06-15 2000-06-15 데이터 전송 시스템에서 병렬 길쌈 부호화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0032943A KR100396827B1 (ko) 2000-06-15 2000-06-15 데이터 전송 시스템에서 병렬 길쌈 부호화 장치

Publications (2)

Publication Number Publication Date
KR20010112751A KR20010112751A (ko) 2001-12-22
KR100396827B1 true KR100396827B1 (ko) 2003-09-02

Family

ID=19672009

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0032943A KR100396827B1 (ko) 2000-06-15 2000-06-15 데이터 전송 시스템에서 병렬 길쌈 부호화 장치

Country Status (1)

Country Link
KR (1) KR100396827B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100617770B1 (ko) * 2003-12-24 2006-08-28 삼성전자주식회사 채널 부호화 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06177779A (ja) * 1992-12-02 1994-06-24 Kokusai Denshin Denwa Co Ltd <Kdd> フィードバック付き畳込み演算回路および組織符号器
US5438590A (en) * 1993-05-24 1995-08-01 Comstream Corporation Transmitting and receiving apparatus and method including punctured convolutional encoding and decoding
JPH09232974A (ja) * 1996-02-22 1997-09-05 Kenwood Corp パンクチャード回路
JPH10163883A (ja) * 1996-11-25 1998-06-19 Matsushita Electric Ind Co Ltd 符号化率可変誤り訂正送信装置
JPH1146148A (ja) * 1997-05-30 1999-02-16 Matsushita Electric Ind Co Ltd 演算処理装置とその利用装置
JP2000022556A (ja) * 1998-04-27 2000-01-21 Matsushita Electric Ind Co Ltd コンボリュ―ショナルインタリ―ブ装置,コンボリュ―ショナルデインタリ―ブ装置,コンボリュ―ショナルインタリ―ブ方法,およびコンボリュ―ショナルデインタリ―ブ方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06177779A (ja) * 1992-12-02 1994-06-24 Kokusai Denshin Denwa Co Ltd <Kdd> フィードバック付き畳込み演算回路および組織符号器
US5438590A (en) * 1993-05-24 1995-08-01 Comstream Corporation Transmitting and receiving apparatus and method including punctured convolutional encoding and decoding
JPH09232974A (ja) * 1996-02-22 1997-09-05 Kenwood Corp パンクチャード回路
JPH10163883A (ja) * 1996-11-25 1998-06-19 Matsushita Electric Ind Co Ltd 符号化率可変誤り訂正送信装置
JPH1146148A (ja) * 1997-05-30 1999-02-16 Matsushita Electric Ind Co Ltd 演算処理装置とその利用装置
JP2000022556A (ja) * 1998-04-27 2000-01-21 Matsushita Electric Ind Co Ltd コンボリュ―ショナルインタリ―ブ装置,コンボリュ―ショナルデインタリ―ブ装置,コンボリュ―ショナルインタリ―ブ方法,およびコンボリュ―ショナルデインタリ―ブ方法

Also Published As

Publication number Publication date
KR20010112751A (ko) 2001-12-22

Similar Documents

Publication Publication Date Title
US5436626A (en) Variable-length codeword encoder
EP0967730B1 (en) Convolutional decoder with modified metrics
US6598203B1 (en) Parallel punctured convolutional encoder
EP1805899B1 (en) Puncturing/depuncturing using compressed differential puncturing pattern
CN103380585B (zh) 输入位错误率推定方法及其装置
US20050229075A1 (en) Parallel processing for decoding and cyclic redundancy checking for the reception of mobile radio signals
US20020053059A1 (en) CRC encoding circuit, CRC encoding method, data sending device and data receiving device
US7872598B2 (en) Accelerated decompression
JPS62151032A (ja) たたみ込み符号器および最尤復号器
US6081921A (en) Bit insertion approach to convolutional encoding
JPWO2009019763A1 (ja) 誤り検出装置及び誤り訂正/誤り検出復号装置並びに方法
JP4071879B2 (ja) 誤り検出器、この誤り検出器を備えた通信システム、および誤り検出方法
US7216285B2 (en) System and method for generating cyclic redundancy check
JP2000174732A5 (ja) 誤り検出器、この誤り検出器を備えた通信システム、および誤り検出方法
KR20040085545A (ko) 통신 시스템에서 오류 정정 부호의 복호 장치 및 방법
US7095808B1 (en) Code puncturing method and apparatus
EP1427109A2 (en) Apparatus and method of calculating a cyclic redundancy check value for a multi bit input data word
KR100396827B1 (ko) 데이터 전송 시스템에서 병렬 길쌈 부호화 장치
US20030038739A1 (en) Method for compressing data
JP4045521B2 (ja) 符号化装置および方法
JPH05183448A (ja) 誤り訂正符復号化装置
KR20230033623A (ko) 데이터 부호화 방법 및 부호기와 데이터 복호화 방법
EP1300954A1 (en) Encoding device and method, decoding device and method, providing medium, and method for generating data substitution position information
US6829742B1 (en) Coding method and coding apparatus for coding a serial data stream
EP1445885B1 (en) Code puncturing method and apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20060822

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee