KR100212842B1 - 채널 부호기의 블럭 인터리버 - Google Patents
채널 부호기의 블럭 인터리버 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2732—Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/2312—Data placement on disk arrays
- H04N21/2315—Data placement on disk arrays using interleaving
Abstract
본 발명은 입력 데이터 스트림을 랜덤화시키는 블럭 인터리버에 관한 것으로, 특히 클럭신호만을 이용하여 블럭인터리버의 모든 제어가 가능하도록 구현한 채널 부호기의 블럭 인터리버에 관한 것으로서, 구성요소는 입력 버퍼(31)와; 쓰기 주소(WA), 읽기 주소(RA)를 저장하고 있는 롬(33, 34); 클럭의 반주기 동안은 쓰기 주소(WA)를 선택하고, 클럭의 다른 반주기 동안은 읽기 주소(RA)를 선택하는 주소 선택부(34); 소정블럭 시간마다 반전 신호를 출력하는 읽기/쓰기 전환부(35); 소정블럭 시간동안 읽기 동작만 하는 정적 램 및 쓰기 동작만 하는 정적 램을 선택하는 메모리 선택신호 발생부(36); 클럭신호를 읽기 제어 신호()로, 반전 클럭신호를 쓰기 제어 신호()로 입력 받는 한편, 상기 메모리 선택신호() 및 상기 주소신호(RA, WA)에 따라 소정블럭의 데이터를 저장하거나 출력하는 제 1 정적 램(37); 상기 메모리 선택신호(
Description
본 발명은 채널 부호기중 입력 데이터 스트림을 랜덤화시키는 블럭 인터리버에 관한 것으로, 더욱 상세하게는 클럭신호만을 이용하여 블럭인터리버의 모든 제어가 가능하도록 하므로써, 간단한 하드웨어로 구현할 수 있게 된 채널 부호기의 블럭 인터리버에 관한 것이다.
일반적으로 유럽 위성 방송 방식의 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)
- 전송중에 발생하는 군집 에러를 대비하기 위하여 입력 데이터열의 순서를 랜덤화시켜 전송하는 블럭 인터리버에 있어서,입력데이터(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);를 포함하여 구성되는 것을 특징으로 하는 채널 부호기의 블럭 인터리버.
- 제 1 항에 있어서, 상기 주소 선택부(34)는 상기 쓰기 주소(WA)를 일시 래치하는 D 플립플롭(34-1)와, 상기 읽기 주소(RA)를 일시 래치하는 D 플립플롭(34-2) 및 클럭 신호를 선택신호로 제공받는 제 1 멀티플렉서(34-3)로 구성되어 있으며, 클럭신호에 따라 클럭의 앞 반주기 동안에는 상기 쓰기 주소(WA)를 선택하여 출력하고, 클럭의 뒤 반주기 동안에는 상기 읽기 주소(RD)를 선택하여 출력하는 것을 특징으로하는 채널 부호기의 블럭 인터리버.
- 제 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)로 구성되는 것을 특징으로 하는 채널 부호기의 블럭 인터리버.
- 제 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); 를 포함하여 구성되는 것을 특징으로 하는 채널 부호기의 블럭인터리버.
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) |
-
1996
- 1996-08-23 KR KR1019960035239A patent/KR100212842B1/ko not_active IP Right Cessation
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 |