KR100212842B1 - 채널 부호기의 블럭 인터리버 - Google Patents

채널 부호기의 블럭 인터리버 Download PDF

Info

Publication number
KR100212842B1
KR100212842B1 KR1019960035239A KR19960035239A KR100212842B1 KR 100212842 B1 KR100212842 B1 KR 100212842B1 KR 1019960035239 A KR1019960035239 A KR 1019960035239A KR 19960035239 A KR19960035239 A KR 19960035239A KR 100212842 B1 KR100212842 B1 KR 100212842B1
Authority
KR
South Korea
Prior art keywords
signal
read
static ram
write
output
Prior art date
Application number
KR1019960035239A
Other languages
English (en)
Other versions
KR19980015801A (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 KR1019960035239A priority Critical patent/KR100212842B1/ko
Publication of KR19980015801A publication Critical patent/KR19980015801A/ko
Application granted granted Critical
Publication of KR100212842B1 publication Critical patent/KR100212842B1/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/27Coding, 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 using interleaving techniques
    • H03M13/2732Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2315Data placement on disk arrays using interleaving

Abstract

본 발명은 입력 데이터 스트림을 랜덤화시키는 블럭 인터리버에 관한 것으로, 특히 클럭신호만을 이용하여 블럭인터리버의 모든 제어가 가능하도록 구현한 채널 부호기의 블럭 인터리버에 관한 것으로서, 구성요소는 입력 버퍼(31)와; 쓰기 주소(WA), 읽기 주소(RA)를 저장하고 있는 롬(33, 34); 클럭의 반주기 동안은 쓰기 주소(WA)를 선택하고, 클럭의 다른 반주기 동안은 읽기 주소(RA)를 선택하는 주소 선택부(34); 소정블럭 시간마다 반전 신호를 출력하는 읽기/쓰기 전환부(35); 소정블럭 시간동안 읽기 동작만 하는 정적 램 및 쓰기 동작만 하는 정적 램을 선택하는 메모리 선택신호 발생부(36); 클럭신호를 읽기 제어 신호()로, 반전 클럭신호를 쓰기 제어 신호()로 입력 받는 한편, 상기 메모리 선택신호() 및 상기 주소신호(RA, WA)에 따라 소정블럭의 데이터를 저장하거나 출력하는 제 1 정적 램(37); 상기 메모리 선택신호(

Description

채널 부호기의 블럭 인터리버(A block interleaver in channel encoder)
본 발명은 채널 부호기중 입력 데이터 스트림을 랜덤화시키는 블럭 인터리버에 관한 것으로, 더욱 상세하게는 클럭신호만을 이용하여 블럭인터리버의 모든 제어가 가능하도록 하므로써, 간단한 하드웨어로 구현할 수 있게 된 채널 부호기의 블럭 인터리버에 관한 것이다.
일반적으로 유럽 위성 방송 방식의 DVB(digital video brodcasting)규격과 미국의 HDTV의 지상방송에서 사용되고 있는 디지탈 통신 시스템에서는, 전송하기 이전에 전송클럭에 동기되어온 MPEG 데이터열을 랜덤화하고 부호화한 후, 변조기를 통해 변조시켜 전송 케이블로 전송하고 있다.
디지털 통신 시스템의 채널 부호기는 도 1에 도시한 바와 같이, MPEG비트스트림이 스크램블러(12)로 입력되어 스크램블링 처리된 후, 리드-솔로몬 부호기(14)를 거쳐 통신로상의 에러를 정정하기위한 코드 부호화가 행해진 다음, 인터리버(15)를 통해 데이터 비트열의 순서를 뒤섞어 군집에러 발생에 대비하게 되고, 최종적으로 변조기(16)에서 채널 부호화된 데이터를 변조시켜 전송케이블로 전송하도록 설계되어 있다.
여기서, 인터리버의 개념과 기능을 좀더 상세히 살펴보면 다음과 같다.
통상의 통신 시스템에서 전송중에 발생 가능한 에러의 종류로는 군데 군데 랜덤한 형태로 발생하는 랜덤 에러(random error)와 한 곳에 집중적으로 몰려서 발생하는 군집 에러(burst error)가 있다.
군집 에러가 발생하는 경우로는 예를 들어, 무선 통신시 번개로 인한 정전기가 지속되는 동안 만큼 에러가 한 군데 몰려 발생하게 될 수 있고 혹은, 수신된 신호전력의 레벨이 시간에 따라 증가했다 감소했다 하는 페이딩 통신로에서 수신전력이 약할 때에도 군집 에러가 발생하게 된다.
리드 솔로몬 부호와 같은 블럭 코드들은 각 부호어내에서 제한된 수의 비트 에러만을 정정할 수 있기 때문에, 랜덤 에러가 발생했을 경우 에러 정정 능력내에서 정정이 가능하지만, 군집 에러가 발생하는 경우에는 비효과적이다.
즉, 인터리버를 수행하는 목적은, 리드 솔로몬 부호등과 같은 부호화로 인해 각 부호어 내에서 제한된 수의 비트에러를 정정하게 되어 평균 비트에러율이 작아지더라도, 에러가 군집해서 발생하는 경우에는 에러 정정 부호가 비효율적인 경우가 생기게 되는 것에 대비하기 위함이다.
따라서, 부호화된 데이터열의 순서를 랜덤화시키는 인터리빙처리를 한 후, 전송시켰을 때, 통신로상에서 군집 에러가 발생되더라도, 이를 전송받은 수신측에서 원래의 데이터열로 복원시키는 디인터리빙 처리를 하므로써, 군집 에러가 랜덤 에러와 같이 변형되어 평균에러율을 낮출 수 있게 되는 것이다.
한편, 인터리버의 종류에는 입력 비트열을 섞는 방식에 따라 블럭 인터리버와 길쌈 인터리버가 있으며, 특히, 블럭 인터리버의 개념을 도 1의 블럭 인터리버의 개념도를 참조하여 설명하면 다음과 같다.
도 1에 도시된 바와같이 블럭 인터리버는 한 행이 k바이트로 이루어지고 l개의 열로 구성된 kl바이트 데이터 그룹을 블럭단위로 하여 인터리빙처리를 하게 되며, k바이트는 부호화된 부호어 길이(coed word length)이며, l은 인터리빙 간격(level)이다.
인터리빙 처리의 방식은 입출력 순서를 다르게 하므로써 데이터 스트림을 랜덤화시키는데, 예를 들어 기억 장치에 입력 데이터 스트림을 수평으로 스캔하는 방향으로 입력하여 저장해두고, 이 데이터를 출력은 수직으로 스캔하는 방향으로 출력하게 되면, 결과적으로 출력 데이터 순서는 두 입력 비트 사이에 인터리빙 간격 l비트 만큼의 비트열이 끼워진 채 통신로를 통해 전송되는 것이다.
이어서, 도 3는 일반적인 블럭 인터리버의 하드웨어 구성도로서, 블럭 인터리버는 입력 버퍼(21)와, 제 1 정적 램(22), 제 2 정적 램(23), 출력 버퍼(24), 주소 생성부(25), 및 제어부(26)로 구성되어 있다.
상기 입력 버퍼(21)는 부호화된 데이터 열을 바이트 단위로 입력받아 일시 래치하여 데이터 버스로 출력한다.
상기 제 1 정적 램(22)과 제 2 정적 램(23)은 상기 제어부(26)의 제어신호에 따라 데이터 버스상의 데이터를 저장하는 한편, 저장된 데이터를 상기 데이터 버스상에 출력한다.
상기 출력 버퍼(24)는 상기 데이터 버스상의 데이터를 일시 래치하여 출력한다.
상기 주소 생성부(25)는 주로 롬이나 카운터를 이용하여 상기 정적 램(22, 23)의 읽기 주소와 쓰기 주소를 발생시켜 상기 제어부(23)로 출력한다.
상기 제어부(26)는 상기 제 1 정적 램(22)과 제 2 정적 램(23)을 제어하는 제 1 선택신호, 제 1 주소, 읽기 신호, 쓰기 신호, 제 2 선택신호, 제 2 주소등의 제어신호들을 출력한다.
상기와 같이 구성된 블럭 인터리버의 동작을 살펴보면 다음과 같다.
즉, 첫번째 블럭 데이터열(kl바이트)가 전송되는 동안, 제 1 정적 램(22)에서는 1블럭 입력 데이터열을 미리 지정된 쓰기 주소(write address)에 따라 저장한다.
두 번째 블럭 데이터열(kl바이트)가 전송되는 동안, 제 1 정적 램(22)에서는 저장된 첫번째 블럭 데이터열을 미리 지정된 읽기 주소(read address)에 따라 출력하는 한편, 제 2 정적 램(23)에서는 현재 입력되는 두번째 블럭 입력 데이터열을 지정된 쓰기 주소(write address)에 따라 저장한다.
세번째 블럭 데이터열(kl바이트)가 전송되는 동안, 제 1 정적 램(22)에서는 현재 입력되는 세 번째 블럭 입력 데이터열을 미리 지정된 쓰기 주소(write address)에 따라 저장하는 한편, 제 2 정적 램(23)에서는 저장된 두번째 블럭 데이터열을 미리 지정된 읽기 주소(read address)에 따라 출력한다.
상기 읽기 주소(read address)와 쓰기 주소(write address)발생 순서는 동일해서는 안된다. 즉, 쓰기 주소가 메모리의 수평 주소를 증가시키면서 발생하여 데이터를 가로 방향으로 저장해 나간다면, 읽기 주소는 메모리의 수직 주소를 증가시키면서 발생하도록하여 데이터를 세로 방향으로 출력하므로써, 입력 순서열과 다른 순서열 의 랜덤 데이터를 전송하게 되는 것이다.
그런데, 종래의 블럭 인터리버의 제어장치는 블럭단위 데이터열을 처리할 때마다 두 메모리의 블럭을 읽기 모드에서 쓰기 모드로 다시 읽기 모드등으로 전환하여 동작시키기 위한 각종 제어신호들(읽기/쓰기 모드를 제어하는 메모리 선택 신호와 쓰기 신호 및 읽기 신호등)을 발생시키는 데 있어서, 상당히 복잡한 회로 구성을 갖는 문제점이 있었다.
이에, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위해서 안출된 것으로, 블럭 인터리버의 정적 램을 제어하기 위한 제어신호들을 클럭신호와 반전된 클럭신호로 제공받게 하므로써, 정확한 동작과 더불어 몇개의 멀티플렉서를 이용하여 간단한 하드웨어 구조를 갖는 채널 부호기의 블럭 인터리버를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명은, 부호어 길이가 k바이트이고, 인터리빙 간격이 l로서 블럭 단위가 kl 바이트인 (k,l)블럭 인터리버에 있어서, 입력데이터를 일시 래치하여 데이터 버스로 출력하는 입력버퍼와; 쓰기 주소가 저장된 롬; 읽기 주소가 저장된 롬; 클럭신호에 따라 클럭의 반주기동안은 상기 읽기 주소가 저장된 롬으로부터 읽기 주소를 선택하여 출력하고, 클럭의 다른 반주기 동안은 쓰기 주소가 저장된 롬으로부터 쓰기 주소를 선택하여 출력하는 주소 선택부; 소정블럭 데이터열이 입력되는 시간동안, 쓰기 전용 정적 램과, 읽기 전용 정적램을 구분지을 수 있도록, 소정블럭 시간마다 반전된 신호를 출력하는 읽기/쓰기 전환부; 인에이블신호 및, 상기 읽기/쓰기 전환부로부터 출력된 신호에 의해 클럭신호 및 반전된 클럭신호를 택일 하여 소정블럭의 시간동안, 읽기 전용 정적 램 및 쓰기 전용 정적 램의 선택신호로서 제공하는 메모리 선택신호 발생부; 클럭신호 및 반전 클럭 신호를 읽기 제어 신호 및 쓰기 제어 신호로 이용하는 한편, 상기 메모리 선택 신호 및 상기 읽기/쓰기 주소신호에 따라 소정블럭의 데이터열을 저장하거나 출력하는 제 1 정적 램; 상기 제 1 정적 램과 같은 구조를 갖고, 동일한 읽기/쓰기 제어신호를 이용하는 한편, 상기 제 1 정적 램의 읽기/쓰기 동작과 반대 동작을 하면서 소정블럭의 데이터열을 저장하거나 출력하는 제 2 정적 램; 및 상기 데이터 버스에 올려진 데이터를 래치하여 출력하는 출력 버퍼;를 포함하여 구성된 것을 특징으로 한다.
상기와 같이 소정블럭 시간동안 한쪽에서는 읽기 동작만 하고, 다른 한쪽에서는 쓰기 동작만 하는 두 정적 램의 동작을 소정 블럭 시간마다 전환시켜 주는 각종 제어 신호들을 클럭신호를 이용하여 발생시키므로써 정확한 동작을 하면서도 간단한 하드웨어 구조를 갖게 되는 것이다.
도 1은 일반적인 채널 부호기의 블럭도,
도 2는 일반적인 블럭 인터리버의 개념도,
도 3은 일반적인 블럭 인터리버의 하드웨어 구성도,
도 4는 본 발명에 따른 블럭 인터리버에 대한 세부 블럭도,
도 5는 도 4의 동작설명을 위한 제어신호들의 타이밍도이다.
* 도면의 주요 부분에 대한 부호의 설명
31 : 입력 버퍼부 32,33 : 롬
34 : 주소 선택부 34-1, 34-2 : D 플립플롭
34-3 : 제 1 멀티플렉서 35 : 읽기/쓰기 전환부
35-1 : 배타논리합 게이트 35-2 : D 플립플롭
35-4 : 반전 게이트 36 : 메모리 선택신호 발생부
36-1 : 제 2 멀티플렉서 36-2 : 제 3 멀티플렉서
36-3 : 제 4 멀티플렉서 36-4 : 제 5 멀티플렉서
37 : 제 1 정적 램 38 : 제 2 정적 램
39 : 출력 버퍼부
이하, 첨부된 도면을 참조하여 본 발명을 자세히 설명하기로 한다.
본 발명은 도 4에 도시된 바와 같이, 블럭 인터리버는 입력 버퍼(31)와 쓰기 주소가 저장된 롬(32), 읽기 주소가 저장된 롬(33), 주소 선택부(34), 읽기/쓰기 전환부(35), 메모리 선택신호 발생부(36), 제 1 정적 램(37), 제 2 정적 램(38), 및 출력 버퍼(39)로 구성되어 있다.
상기 입력 버퍼(31)는 입력데이터(Di)를 일시 래치하여 데이터 버스로 출력한다.
상기 주소 선택부(34)는 클럭신호에 따라 클럭의 반주기 동안은 상기 롬(32)으로부터 쓰기 주소(WA)를 선택하여 출력하고, 클럭의 다른 반주기 동안은 상기 롬(33)으로부터 읽기 주소(RA)를 선택하여 출력한다.
상기 읽기/쓰기 전환부(35)는 소정블럭 데이터열이 입력되는 시간 동안, 쓰기 전용 정적 램과, 읽기 전용 정적 램을 구분지을 수 있도록, 소정블럭 시간마다 반전된 신호를 상기 메모리 선택신호 발생부(33)로 출력한다.
상기 메모리 선택신호 발생부(36)는 인에이블신호(enable) 및, 상기 읽기/쓰기 전환부(35)로부터 출력된 신호에 의해 클럭신호 및 반전된 클럭신호를 택일하여, 소정블럭 시간동안 읽기 동작만 하는 읽기 전용 정적 램 및, 쓰기 동작만 하는 쓰기 전용 정적 램의 선택신호()로서 출력한다.
상기 제 1 정적 램(37)은 클럭신호()를 읽기 제어 입력단()으로, 반전 클럭 신호()를 쓰기 제어 입력단()으로 입력 받는 한편, 상기 메모리 선택신호() 및 상기 읽기/쓰기 주소신호(RA, WA)에 따라 소정블럭의 데이터열을 저장하거나 출력한다.
상기 제 2 정적 램(38)은 상기 제 1 정적 램(37)과 같은 구조를 갖고, 클럭신호()를 읽기 제어 입력단()으로 반전 클럭신호()를 쓰기 제어 입력단()으로 입력 받는 한편, 상기 메모리 선택신호() 및 상기 읽기/쓰기 주소 신호(RA, WA)에 따라 동작하여 소정블럭의 데이터열을 저장하거나 출력한다.
상기 출력 버퍼(39)는 상기 데이터 버스에 올려진 데이터(Si)를 래치하여 출력한다.
이어서, 본 발명의 바람직한 실시예의 세부 구성을 살펴보면 다음과 같다.
예를 들어, (198, 188)리드 솔로몬 부호를 인터리빙 간격 7로 블럭 인터리빙 처리하고자 한다면, 이때 필요한 최소 메모리 용량은 1블럭 데이터 열을 저장할 수 있는 두 개의 메모리만큼이 필요하다.
즉, 상기 제 1 정적 램(37) 및 상기 제 2 정적 램(38)은 동일한 구조로서, 최소 메모리 용량은 부호어 길이 198바이트를 1행으로 하여 7개의 부호어를 저장할 수 있는 198×7(bytes)가 되는 것이다.
그리고, 상기 주소 선택부(34)는 상기 쓰기 주소(WA)를 일시 래치하는 D 플립플롭(34-1)과, 상기 읽기 주소(RA)를 일시 래치하는 D 플립플롭(34-2), 및 클럭 신호()를 선택신호로서 제공받는 제 1 멀티플렉서(34-3)로 구성되어 있으며, 클럭의 앞 반주기 동안에는 상기 쓰기 주소(WA)를 선택하여 출력하고, 클럭의 뒤 반주기 동안에는 상기 읽기 주소(RD)를 선택하여 출력한다.
그리고, 상기 읽기/쓰기 전환부(35)는 배타논리합 게이트(35-1)와, D플립플롭(35-2) 및, 반전 게이트(35-4)로 구성되어 있으며, 상기 배타논리합 게이트(35-1)는 블럭시작신호(block_start)와 피드백 입력된 신호(35-5)를 배타논리합 연산(EXOR)하여 출력하고, 상기 D 플립플롭(35-2)은 상기 배타논리합 게이트(35-1)로부터 출력된 신호를 래치하여 상기 메모리 선택신호 발생부(36)로 출력함과 동시에, 상기 배타논리합 게이트(35-1)로 피드백 입력시킨다. 상기 반전 게이트(35-4)는 상기 D 플립플롭(35-2)으로부터 출력된 신호(35-3)를 논리 반전시킨 신호 (35-5)를 상기 메모리 선택신호 발생부(36)로 출력한다.
그리고, 상기 메모리 선택신호 발생부(36)는 제 2 멀티플렉서(36-1)와, 제 3 멀티플렉서(36-2), 제 4 멀티플렉서(36-3) 및, 제 5 멀티플렉서(36-4)로 구성되어 있다.
상기 제 2 멀티플렉서(36-1)는 상기 인에이블 신호가 0 일 경우는 반전 클럭 ?호()를 선택하여 출력하고, 상기 인에이블 신호가 1일 경우는 하이신호를 선택하여 출력한다.
상기 제 3 멀티플렉서(36-2)는 상기 인에이블 신호가 0 일 경우는 클럭신호()를 선택하여 출력하고, 상기 인에이블 신호가 1일 경우는 하이신홀르 선택하여 출력한다.
상기 제 4 멀티플렉서(36-3)는 상기 읽기/쓰기 전환부(35)의 출력신호(35-5)가 0일 경우는 상기 제 3 멀티플렉서(36-2)의 출력신호를 선택하여 출력하고, 출력신호(35-5)가 1일 경우는 상기 제 2 멀티플렉서(36-1)의 출력신호를 선택하여 출력하여 상기 정적 램 1의 메모리 선택 신호()로서 제공한다.
상기 제 5 멀티플렉서(36-4)는 상기 읽기/쓰기 전환부(35)의 출력신호(35-3)가 0일 경우는 상기 제 3 멀티플렉서(36-2)의 출력신호를 선택하여 출력하고, 출력신호(35-3)가 1일 경우는 상기 제 2 멀티플렉서(36-1)의 출력신호를 선택하여 출력하여 상기 정적 램 2의 메모리 선택 신호로서() 제공한다.
이어서, 본 실시예의 구체적인 작용을 도 4와 도 5를 참조하여 설명하면 다음과 같다.
우선, 도 4의 읽기/쓰기 전환부(35)의 동작을 통해 블럭 단위로 반전 신호(35-3, 35-5)를 출력하는 것을 보이고자 한다.
상기 블록시작신호(block_start)는 블록의 첫 번째 데이터가 입력되는 동안에만 1값을 갖고, 나머지 데이터가 입력되는 동안에는 0값을 갖는다.
상기 배타논리합 게이트(35-1)에서는 블럭의 첫번째 데이터(D0)가 입력되는 동안, 상기 D플립플롭(35-2)은 리셋되어 피드백신호(35-3)가 0값으로, 블록시작 신호는 1값으로 입력되어 배타논리합 연산되어 출력신호(35-3)는 1값이 된다.
계속해서, 블럭의 마지막 데이터가 입력되는 동안까지 상기 배타논리합 게이트의 출력신호(35-3)는 1값을 유지하고, 상기 반전 게이트의 출력신호(35-5)는 0값을 유지한다.
이제, 두 번째 블록의 시작을 알리는 블록시작신호(block_start)는 첫번째 데이터(D0')가 입력되는 동안 다시 1값으로 변하게 되어, 피드백 입력된 신호 1값과 배타논리합 연산되어 상기 배타논리합 게이트의 출력신호(35-3)는 0값을 갖고, 계속해서 두 번째 블럭의 마지막 데이터가 입력되는 동안까지 상기 출력신호(35-3)는 0값을 유지하고, 상기 반전 게이트의 출력신호(35-5)는 1값을 유지하게 되는 것이다.
이어서, 상기 읽기/쓰기 전환부(35)의 출력신호(35-3)가 0이고, 출력신호(35-5)가 1인 경우에 상기 제 1 정적 램(37)과 제 2 정적 램(38)의 읽기/쓰기 동작을 설명하고자 한다.
도 5는 도 4의 동작 설명을 위한 제어 신호의 타이밍도로서, 제어 신호들과 읽기 /쓰기 주소신호 및 입출력 데이터를 나타내었다.
도 5에서 보는 바와 같이, 상기 제 1 정적 램(37)과 제 2 정적 램(38)의 쓰기 제어 신호()는 반전 클럭신호()이고, 읽기 제어신호()는 클럭신호()로서, 로우에서 동작하는 액티브 로우 신호들이다
상기 메모리 선택신호 발생부(36)의 제 4 멀티플렉서(36-3)는 상기 출력신호(35-5) 1값에 의해 반전 클럭신호()를 선택하여 상기 제 1 정적 램 선택신호()로서 제공한다.
그리고, 메모리 선택신호 발생부(36)의 제 5 멀티플렉서(36-4)는 상기 출력신호(35-3) 0값에 의해 클럭신호()를 선택하여 상기 제 2 정적 램 선택신호()로서 제공한다.
여기서, 상기 선택신호()는 액티브 로우 신호이다.
따라서, 1블럭 데이터열이 입력되는 동안 상기 제 1 정적 램(37)에서는 클럭의 앞 반주기동안 제공되는 쓰기 주소(WA)에 따라 현재 입력된 데이터를 저장하는 쓰기 작업만 하고, 상기 제 2 정적 램(38)에서는 클럭의 뒤 반주기동안 제공되는 읽기 주소(RA)에 따라 저장된 데이터를 출력하는 읽기 동작만 하게 되는 것이다.
그리고, 상기에 설명한 읽기/쓰기 전환부(35)의 반전 신호(35-3, 35-5)에 따라 다음 블럭 데이터가 입력되는 동안, 상기 메모리 선택신호()가 뒤바뀌어 상기 제 1 정적 램(37)은 읽기 동작만 하게 되고, 상기 제 2 정적 램(38)은 쓰기 동작만 하게 되는 것이다.
여기서, 읽기 주소(RA)와 쓰기 주소(WA)의 순서는 이미 도 1에 도시된 바와 같이 송신측과 수신측이 미리 정해놓은 순서에 의해 인터리빙되어 지는 것이며, 수신측은 송신측의 읽는 순서와 쓰는 순서를 완전히 반대로 행하므로써 원래의 데이터 순
서로 복원할 수 있는 것이다.
상기의 동작에서 살펴본 바와 같이, 본 발명의 채널 부호기의 블럭인터리버는 클럭신호와 반전된 클럭신호를 사용하여 정적 램을 제어하고 있기 때문에 정확한 동작을 하면서도 간단한 하드웨어로 각종 제어 신호들을 발생시킬 수 있는 효과가 있는 것이다.

Claims (4)

  1. 전송중에 발생하는 군집 에러를 대비하기 위하여 입력 데이터열의 순서를 랜덤화시켜 전송하는 블럭 인터리버에 있어서,
    입력데이터(Di)를 일시 래치하여 데이터 버스로 출력하는 입력 버퍼(31)와;
    쓰기 주소(WA)를 저장하고 있는 롬(32);
    읽기 주소(RA)를 저장하고 있는 롬(33);
    클럭신호에 따라 클럭의 반주기동안은 상기 롬(32)으로부터 쓰기 주소(WA)를 선택하여 출력하고, 클럭의 다른 반주기 동안은 상기 롬(33)으로부터 읽기 주소(RA)를 선택하여 출력하는 주소 선택부(34);
    소정블럭 데이터열이 입력되는 시간 동안, 쓰기 전용 정적 램과 읽기 전용 정적 램을 구분지을 수 있도록, 소정블럭 시간마다 반전된 신호(35-3, 35-5)를 출력하는 읽기/쓰기 전환부(35);
    외부로부터 입력된 인에이블 신호(enable) 및, 상기 읽기/쓰기 전환부(35)로부터 출력된 신호(35-3, 35-5)에 의해 클럭 신호 및, 반전 클럭 신호를 택일하여 소정블럭의 시간동안, 읽기 전용 정적 램 및, 쓰기 전용 정적 램의 선택신호로서 제공하는 메모리 선택신호 발생부(36);
    소정블럭 데이터열이 입력되는 동안에, 클럭신호 및, 반전 클럭신호를 읽기 제어 신호() 및, 쓰기 제어 신호()로 이용하는 한편, 상기 메모리 선택신호() 및 상기 읽기/쓰기 주소신호(RA, WA)에 따라 소정블럭의 데이터를 저장하거나 출력하는 제 1 정적 램(37);
    상기 제 1 정적 램(37)과 같은 구조를 갖고, 소정블럭 데이터열이 입력되는 동안에 클럭 신호 및, 반전 클럭시호를 읽기 제어 신호() 및, 쓰기 제어 신호()로 이용하는 한편, 상기 메모리 선택신호() 및 상기 읽기/쓰기 주소 신호(RA, WA)에 따라 소정블럭 데이터를 저장하거나 출력하는 제 2 정적 램(38); 및
    상기 제 1 정적 램(37) 또는 제 2 정적 램(38)으로부터 출력된 데이터(Si)를 래치하여 출력하는 출력 버퍼(39);를 포함하여 구성되는 것을 특징으로 하는 채널 부호기의 블럭 인터리버.
  2. 제 1 항에 있어서, 상기 주소 선택부(34)는 상기 쓰기 주소(WA)를 일시 래치하는 D 플립플롭(34-1)와, 상기 읽기 주소(RA)를 일시 래치하는 D 플립플롭(34-2) 및 클럭 신호를 선택신호로 제공받는 제 1 멀티플렉서(34-3)로 구성되어 있으며, 클럭신호에 따라 클럭의 앞 반주기 동안에는 상기 쓰기 주소(WA)를 선택하여 출력하고, 클럭의 뒤 반주기 동안에는 상기 읽기 주소(RD)를 선택하여 출력하는 것을 특징으로하는 채널 부호기의 블럭 인터리버.
  3. 제 1 항에 있어서, 상기 읽기/쓰기 전환부(35)는 블럭시작신호(block_start)신호와 피드백 입력된 신호(35-5)를 배타논리합 연산(EXOR)하여 출력하는 배타논리합 게이트(35-1)와; 상기 배타논리합 게이트(35-1)로부터 출력된 신호(35-3)를 래치하여 상기 메모리 선택신호 발생부(36)로 출력함과 동시에, 상기 배타논리합 게이트(35-1)로 피드백 입력시키는하는 D플립플롭(35-2) 및; 상기 D 플립플롭(35-2)으로부터 출력된 신호(35-3)를 논리 반전시킨 출력신호(35-5)를 상기 메모리 선택신호 발생부(36)로 출력하는 반전 게이트(35-4)로 구성되는 것을 특징으로 하는 채널 부호기의 블럭 인터리버.
  4. 제 1 항에 있어서, 상기 메모리 선택신호 발생부(36)는 상기 인에이블 신호가 0 일 경우는 반전 클럭 ?호()를 선택하여 출력하고, 상기 인에이블 신호가 1일 경우는 하이신호를 선택하여 출력하는 제 2 멀티플렉서(36-1)와;
    상기 인에이블 신호가 0 일 경우는 클럭신호()를 선택하여 출력하고, 상기 인에이블 신호가 1일 경우는 하이신호를 선택하여 출력하는 제 3 멀티플렉서(36-2); 상기 읽기/쓰기 전환부(35)의 출력신호(35-5)가 0일 경우는 상기 제 3 멀티플렉서(36-2)의 출력신호를 선택하여 출력하고, 출력신호(35-5)가 1일 경우는 상기 제 2 멀티플렉서(36-1)의 출력신호를 선택하여 출력하여 상기 정적 램 1의 메모리 선택 신호()로서 제공하는 제 4 멀티플렉서(36-3); 상기 읽기/쓰기 전환부(35)의 출력신호(35-3)가 0일 경우는 상기 제 3 멀티플렉서(36-2)의 출력신호를 선택하여 출력하고, 출력신호(35-3)가 1일 경우는 상기 제 2 멀티플렉서(36-1)의 출력신호를 선택하여 출력하여 상기 정적 램 2의 메모리 선택 신호로서() 제공하는 제 5 멀티플렉서(36-4); 를 포함하여 구성되는 것을 특징으로 하는 채널 부호기의 블럭인터리버.
KR1019960035239A 1996-08-23 1996-08-23 채널 부호기의 블럭 인터리버 KR100212842B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960035239A KR100212842B1 (ko) 1996-08-23 1996-08-23 채널 부호기의 블럭 인터리버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960035239A KR100212842B1 (ko) 1996-08-23 1996-08-23 채널 부호기의 블럭 인터리버

Publications (2)

Publication Number Publication Date
KR19980015801A KR19980015801A (ko) 1998-05-25
KR100212842B1 true KR100212842B1 (ko) 1999-08-02

Family

ID=19470611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960035239A KR100212842B1 (ko) 1996-08-23 1996-08-23 채널 부호기의 블럭 인터리버

Country Status (1)

Country Link
KR (1) KR100212842B1 (ko)

Also Published As

Publication number Publication date
KR19980015801A (ko) 1998-05-25

Similar Documents

Publication Publication Date Title
EP0681373B1 (en) Convolutional interleaver with reduced memory requirements and address generator therefor
JP3274627B2 (ja) 入力信号のストリームを符号化する方法と出力信号ストリームを生成する方法
US4547887A (en) Pseudo-random convolutional interleaving
US4956709A (en) Forward error correction of data transmitted via television signals
KR100822397B1 (ko) 다중 데이터 형태의 송수신을 위한 맵핑 시스템
US4063038A (en) Error coding communication terminal interface
KR20050103928A (ko) 맵 데이터 송수신용 강건성 시스템
EP1383245A1 (en) Parallel punctured convolutional encoder
JPH06216882A (ja) 誤り訂正送信装置及び受信装置
AU669746B2 (en) Method and device for detection and correction of errors in ATM cell headers
KR20000046050A (ko) 이동통신시스템에서 터보 인코더의 펑처링 장치 및 방법
US4032886A (en) Concatenation technique for burst-error correction and synchronization
KR100638741B1 (ko) 프로그램 가능한 오류정정 부호화 장치
EP0668561A3 (en) Flexible error correction code / parity bit architecture.
US4217660A (en) Method and apparatus for the coding and decoding of digital data
US4293951A (en) Method and apparatus for encoding/decoding a convolutional code to a periodic convolutional code block
US6563436B2 (en) Kerdock coding and decoding system for map data
US6329935B1 (en) Temporally separating and re-organizing data using two-stage interleaving and de-interleaving
US4159469A (en) Method and apparatus for the coding and decoding of digital information
KR100212842B1 (ko) 채널 부호기의 블럭 인터리버
US5694405A (en) Encoder and decoder of an error correcting code
EP0818900A2 (en) Digital signal multiplexing apparatus
JPS636173B2 (ko)
US5124992A (en) Error correcting encoder/decoder for a digital transmission installation
KR100219631B1 (ko) 스크램블러 및 디스클램블러

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120503

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130502

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee