KR980012968A - 정적 램을 이용한 길쌈인터리버의 구조 - Google Patents

정적 램을 이용한 길쌈인터리버의 구조 Download PDF

Info

Publication number
KR980012968A
KR980012968A KR1019960026592A KR19960026592A KR980012968A KR 980012968 A KR980012968 A KR 980012968A KR 1019960026592 A KR1019960026592 A KR 1019960026592A KR 19960026592 A KR19960026592 A KR 19960026592A KR 980012968 A KR980012968 A KR 980012968A
Authority
KR
South Korea
Prior art keywords
address
memory
data
static ram
convolutional interleaver
Prior art date
Application number
KR1019960026592A
Other languages
English (en)
Other versions
KR100192797B1 (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 KR1019960026592A priority Critical patent/KR100192797B1/ko
Priority to GB9713825A priority patent/GB2315002B/en
Priority to JP17598097A priority patent/JP3882097B2/ja
Priority to US08/886,514 priority patent/US6035427A/en
Priority to CN97117190A priority patent/CN1104778C/zh
Publication of KR980012968A publication Critical patent/KR980012968A/ko
Application granted granted Critical
Publication of KR100192797B1 publication Critical patent/KR100192797B1/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
    • 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/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Static Random-Access Memory (AREA)

Abstract

본 발명은 디지탈 송신 시스템의 길쌈 인터리버에 관한 것으로, 필요한 최소의 메모리를 정적 램(SRA턴)을 사용하여 구현하므로써 메모리 부피 및 비용에 대한 부담을 줄인 정적 램을 이용한 길쌈 인터리버의 구조에 관한 것으로서, 입력 데이터(Di)를 래치하여 데이터버스로 출력하는 입력 버퍼부(21) ; 와 수직단이 (B-1)개이고 수평길이가 (B-1)*M(bytes)인 기본 메모리중에서 (B, M)길쌈 인터리버가 사용하는 일부 메모리를 사웅하 지 않는 메모리위치로 이동시켜 수직단이 (B-1)개이고 수평길이가 (B/2)*M(Bytes)인 중간 메모리구조를 변환시킨 후, 상기 중간 메모리를 접근하기 위한 실제 주소(PA)를 발생하는 주소 생성부(23) : 상기 실제 주소 (PA)가 1 클럭주기 동안 유지되는 동안, 클럭의 앞 반주기와 클럭의 뒤 반주기 동안에 각각 쓰기와 읽기동작 을 하는 정적 램(25) ; 상기 데이터 버스상의 데이터를 래치하여 인터리빙 처리된 데이터스트림을 출력하는 출력 버퍼부(26) ; 및 제어신호들을 발생시키는 제어부(29) : +를 포함하여 구성되어서, 정적 램(SRA틴)을 사 용하여 길쌈 인터리버를 구현하면서 메모리소자를 최적으로 사용하는 주소 할당방법을 적용한 주소 생성부를 통하여 하드웨어의 크기와 비용을 감소시킨 최적의 메모리사용의 효과가 있는 것이다.

Description

정적 램을 이용한 길쌈인터리버의 구조
본 발명은 디지탈 송신 시스템의 채널부호기에서 군집에러발생에 대처하기위해 입력데이터스트링을 랜덤 화시키는 길쌈 인터리버에 관한 것으로, 필요한 최소의 메모리를 정적 램(SRAM)을 사용하여 구현하므로써 메모리 부피 및 비용에 대한 부담을 줄인 정적 램을 이용한 길쌈 인터리버의 구조에 환한 것이다.
일반적으로 디지탈 송신시스템은 크게 MPEG, 채널부호기, 변조기 등으로 구성된다.
특히, 채널부호기는 전송로에서 발생가능한 에러를 수신기에서 정정하기 위해 필요한 것으로서, 전송클럭에 동기되어 은데이터 스트림을 입력순서와 다른 순서의 데이터 스트링으로 랜덤화하고 부호화하여 변조기로 보내는 역할을 한다. 상기 채널 부호기중에서도 비트에러가 한군데에 몰려서 발생하는 군집에러를 효과적 으로 개선하기 위해 입력 데이터 스트링을 랜덤화시키는 인터리빙기법이 사용된다.
이러한 인터리빙기법의 종류에는 블록 인터리빙과 길쌈인터리빙이 있으며, 그중 길쌈인터리빙 기법은 몇 개의 입력비트들을 임시저장하여 얼마간 지연시킨 후 출력시키므로써 입력당시 인접한 두 비트사이에, 지연 되어 출력되는 몇 개의 비트들이 기워겨서 전송되므로써 입력순서와 다른 순서의 인터리빙터리된 데이터스 트림을 얻는 것이다. 이렇게 인터러빙된 데이터스트링은 수신란에서 디인터리빙처리를 하여 다시 원래의 입 력비트열로 복원하므로써, 전송시 인터리빙된 데이터열중 군집에러가 발생했다하더라도 이를 수신 단에서 원 래대로 복원하면 랜덤에러로 바꾸어주기 때문에 에러정정을 효과적으로 실행할 수 있도록 하는 역할을 한다.
도 1은 일반적인 길쌈인터리버의 개념도로서, 길쌈인터리버는 입력 스위치(11)와, 복수개의 시프트레지스 터(0∼B-1) 및. 출력스위치(19)로 구성되어 있고, 각각의 시프트레지스터(0∼B-1)를 선택하는 입력스위치(11) 와 출력스위치(19)는 서로 동기되어 동작한다.
길쌈 인터리버의 시프트레지스터 구조를 좀 더 자세히 설명하인, 제 1 도에 표시한 바와 같이 맨 횟단(0) 은 시프트레지스터가 언이 곧바로 입력과 출력이 연결되지만 레지긴터가 있는 것으로 간주하여 시프트레지 스터길이는 "0" 이고, 그 다음단(1∼B-1)부터는 계속해서 "M" "27" , "377‥‥‥‥(B-1)M" 만름의 길이 를 가지고 있는 것으로, 각 시프트레지스터간의 길이차이가 바로 "77" 바이트이다.
일반적으로 길쌈 인터리버의 사양을 (B, 린)란위로 나타내고. 여기서 림는 시프트레지스터의 수직 단 갯수 를 나타내고, 리은 레지스터의 기본길이 즉, 단위바이트를 나타낸다.
여기서 요구된 최소한의 메모리양은 다음식으로 주어진다.
(수식 1)
77777717? ? = -777f7777(bytes)
예를 들어, 유럽식 DVB(Digital Video Brodcasting)규격의 방송시스뎀에서 사용하는 (12, 17)길쌈 인터리버에서 필요한 최소메모리양은 17(=M)바이트로 구성된 단위군이 66(=(B-1)유B/2)개 필요하므로, 1122 바이트 (byte7) 즉, 8976비트(bits)의 시프트레지스터가 필요하게 된다.
가장 기본적으로 간단히 구현된 한 개의 레지스터는 6개의 게이트(gate)가 사용되고, 1 게이트는 4 개의 트 랜지스터로 구현되므로써, 결국에는 1 개의 레지스터를 설계하는 데에 24개의 트랜지스터가 필요하게 된다.
이것을 일반적인 로직(LOGIC)으로 구켠한다면 상당히 큰 양이 되고, 주문령 반도체(ASIC)로 구현한다하더 라도 그 양은 무시할 수 업을 정도여서 상당한 하드웨어의 부피나 비용 부담에 대한 문제점이 있었다.
이에, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 안출된 것으로. 정적 램(SRAM)을 이용하여 간단한 하드웨어구조를 갖으면서도 필요한 최소한의 메모리만을 사웅하므로써 부퍼 및 비용을 감소시킨 정적 램을 이용한 길쌈 인터리버의 구조를 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 최소 메모리 용량 (B-1)골(B/2)골M (bytes)인 정적 램을 이용란 (B,건)길쌈인터리버의 구조는, 입력 데이터(Di)를 래치하여 데이터버스로 출력하는 입력 버퍼부와 : 수직단이 (B-1)개이고 수평길이가 (B-1)틱러(bytes)인 기본 메또리구조 중에서 (B, 커)길쌈 인터리버가 사용하는 일부 메모 리위치를 사용하지 않는 메모리위치로 이동시켜, 수직단이 (B-1)개이고 수평길이가 (B/2)유M(bytes)인 중간 메모리구조로 변환시킨 후. 상기 중간 메모리를 접근(acces7)하기 위한 실제 주소(PA)를 발생하는 주소 생성부 : 상기 실제 주소(PA)가 1 클럭주기 동안 유지되는 한편, 각 물럭의 앞 반주기 또는 물럭의 뒤 반주기 동안 에 각각 쓰기와 읽기동작을 하런서 상기 입력데이터들중 일부 데이터를 임시 저장했다가 출력하는 정적 램 :상기 데이터 버스상의 데이터 즉. 현재 입력되는 데이터 흑은 상기 정적 램에서 임시저장되었다가 출력된 예 전 데이터들을 래치하여 출력하는 출력 버퍼부 ; 및 입력버퍼 출력신호(out)와, 러기신호(RD), 쓰기신호(WT)및 출력버퍼 래치신호(latch) 등의 제어신호를 발생시키는 제어부를 포함하여 구성되는 것을 특징으로 한다.
일반적으로, 정적 램의 경우는 하나의 정적 램 셀(cell)당 대략 1.5 게이트. 즉 6개의 트랜지스터만으로 구현할 수 있다 그러므로, 길쌈 인터리버가 요구하는 메모리 양이 상당히 플 경우에는 시프트레지스터를 사용하는 것보다 정적 램(SRA리)을 사용하여 구현하는 것이 하드웨어가 차지하는 부피나 비용면에서 경제적일 뿐만아 니라, 년 발명에서는. 길쌈인터리버의 동작 결과는 종전과 같으면서도 사용하는 정적 램을 최소한의 메모리용 량만을 사용하도록 하는 메모리 주소 할당방법을 적용하여 용량이 (B-1)골(B/2*넓) (bytes)인 정적 램을 사 용참으로써 하드웨어 부피와 비용 넉담을 줄일 수 있는 것이다 발명의 구성 및 작용
이하, 텀부된 도면을 탐조하여 본 발명을 자세히 설명하기로 한다.
도 2a와 도 2b는 메모리 주소 할당에 대한 개념도로서, 본 개념도는 (12, 17)길쌈 인터리버에 대한 실시예 를 도7.1한 것이다.
도 2a7· 기본 주소 할당에 대한 개념도로서, 기본 주소 할당은 도 1의 시프트레지스터 단의 배열과 같으며 기본 수직 주소(AV . 1∼11)로 메모리의 수직 단을 선택하고, 기본 수평 군주소(MAH : 0∼10)와 수평 셀주 소(LAH'0∼16)를 사용하여 수평위치를 선택하도록 되어 있다.
상기 도 2a와 같이 할당된 주소로 메모리를 사용할 때 실제 사용하는 메모리 양을 계산해 보면, 단위 1 군이 17(=M) 바이트로 구성퇴는 121군(=11*11) 크기의 정적 램중 빗금친 부분으로 나타낸 66군만을 사용하는 반 먼, 사용하지 않는 나머지 55군의 메모리 때문에 쓸데없이 공간을 차지하고, 비용을 추가 부담하게 된다.
이에, 상기 도 2a와 같은 낭비가 없도록 메모리 사용을 최적화시키는 메모리 주소 할당방법이 바로 도 2b에 도시 되 어 있 다.
도 2b의 중간 주소 할당에 대한 개념도에서 보여주는 바와 같이, 도 2a에 기본 수평 군주소(MA트) 6∼10번 에 해당하는 15개의 군(알파벳 a∼o 로 표시됨)들을 기본 수평 군주소(MAH) 0∼5 번에서 사용하지 않는 부 분으로 옮겨 할당하였다. 이동된 군들의 위치는 (a)에서 표기한 동일한 알파벳(a∼o)으로 나타내었다.
상기와 같은 중간 주소 할당을 적용한 정적 램(SRAM)의 주소는 중간 수직 주소 (AV': 1∼11)로 메모리의 수직 단을 선 중간 수평 군주소(MAH'. 0∼5)와 수평 겔주소(LAH : 0∼16)를 사용하여 수평위치를 선 택 하도록 되 어 있 다.
중간 주소 할당 방법에 의해서 정적 램(SRAM)은 단위 1군이 17(=M)바이트로 구성된 66군(=(B-1)골B/2)의 최소한의 용량 만을 필요하게 되므로써 사용하지않는 메모리로 인한 공간차지나 비용의 낭비없이 최소한의 메모리만으로 제작 · 구성 하게 되는 것이다.
이어서, 도 3은 본 발명에 따른 정적 램을 이용한 (12, 17)길쌈 인터리버의 블록도로서, 본 발명의 길쌈 인터리버 구조는 입력 버퍼부(21)와 주소 생성부(23), 정적 램 (25 : SRAM), 출력 버퍼부(26) 및 제어부(29)로 구성 된다.
상기 입력 버퍼부(21)는 입력되는 데이터(Di)를 래치하여 입력버퍼 출력신호(out)에 의해 데이터버스(Data Bus)로 출력 한다.
상기 주소 생성부(23)는 기본 주소부(23-1)와 중간 주소부(23-2) 및 실제 주소부(23-3)로 구성된다.
상기 기년 주소부(23-1)에서는 수직단이 11(=B-1)개, 수평길이가 11유17(=(B-)초M)바이트인 기본 메모리 구조를 접근하기 위한 기년 주소들을 발생시키는데, 11개의 수직단 중 수직 위치를 지정하는 기본 수직 주소 (AV)와 11개 군중에서 임의 1군을 지정하는 기년 수평 군주소(MAH) 및 상기 지정된 1군의 17바이트중 임의 1바이트를 지정하여 수평위치를 지정하는 수평 셀주소(LAH)를 출력한다. 상기 중간 주소부(23-2)에서는 상기 기본 메모리구조 중에서 (B, M)길쌈인터리버가 사용하는 일부 메모리위 치를 사용하지 않는 메모리위치로 이동시켜 수직단이 11(=B-1)개. 수평길이가 6(=B/2)인 중간 메모리 구조를 접근하기 위한 중간 수직 주소(AV')와 중간 수평 군주소(MAH')를 상기 기본 주소부에서 출력된 기본 수직 주소(AV)와 기본 수평 군주소(MAH)를 이용하여 변환시켜 출력한다.
상기 실제 주소부(23-3)에서는 상기 기본 수평 셀주소(LAH)와 상기 중간 수직 주소(AV') 및 중간 수평 군 주소(MAH')를 이용하여 상기 중간 메모리구조를 수평 혹은 수직으로 스캐닝하여 1차원의 실제주소(PA)를 계산하여 출력 한다. 상기 정적 램(25 SRA닌)에서는 실제 주소(PA)에 해당하는 메모리에저장되어 있던 과거 입력데이터(Mi)를 클럭의 앞 반주기 동안에 출력하고, 주기 12(=B)로 입력되는 현재 입력데이터(Di)줌 첫 번째 데이터(DO)를 제외한 나머지 Dl∼Dll데이터를 상기 클릭의 뒤 만주기 동안에는 저장하므로써 입력데이터중 일부를 지연시 켜 출력하는 역할을 한다. 상기 출력 버퍼부(26)는 주기 12 중 첫 번째 데이터(DO) 혹은 상기 정적 램 (25 . SRAM)으로부터 출력된 과거 입력데이터(7i)를 래치하여 최종적으로 입력당시 데이터순서와는 다른순서의 인터리빙 처리된 데이터를 출력 한다.
상기 제어부(27)는 상기 기본 주소부(27-1)의 기본 수직 주소(AV)와 클럭에 따라 입력버퍼 출력신호(out)와 읽기신호(RD), 쓰기신호(WT) 및 출력버퍼 래치신호(latch) 등의 제어신호들을 발생시킨다. 이어서, 상기와 같이 구성되는 본 발명의 작용 및 효과를 자세히 설명한다 길쌈 인터리버에서 정적 램(SRAM)을 이용하여 데이터비트 스티림순서를 바꾸는 방법을 요약 하면, 한 클 럭동안 주소버스(Address Bus)의 주소는 변하지 않으면서, 클럭의 앞 반주기동안 소정의 주소가 가르키는 메 모리의 과거입력데이터(77i)를 읽어 데이터버스(Data Bus)에 출력해 놓고,그 클럭의 뒤 반주기 동안 현재입력 데이터(Di)를 메모리로 저장하는 작업을 통해 데이터의 일부가 지연되어 출력되므로써 데이터비트순서가 바꿔지는 방법을 이용한 것이다. 여기서, 메모리 주소는 클럭의 한 주기동안 같은 값을 유지하면서, B 주기인 12 클럭마다 동일한 기본 수직 주소(AV)를 가리키게 된다.
그러나, 기본 수직 주소(AV)에 따라 수평 위치를 기리키는 주소인 기본 수평 군주소(MAH)와 수평 셀주소 (LAH)는 변하며, 특히 기본 수평군주소(보AH)의 변화 주기는 기본 수직 주소(AV)에 따라 달라지게 된다. 수평 군주소(러AH)의 변화주기는 제 1 도의 시프트레지스터 달의 길이(length)와 같은 주기성을 갖는다. 기본 수평 군주소(MAH)의 변화주기(period)를 표 1에 나타내었다.
(표 1)
기본 수직 주소에 따른 기본 수굉군 주소의 변동주기
@
상기 표 1과 같이 기본 수평 군주소(보AH)의 변화는 수평 셀주소(LAH)가 (0∼16)가지 변화한 다음에 다시 치음 "0" 이 되는 순간에 기년 수평 군주소(키A보)는 "1" 증가된 값으로 변하게 되는 관계를 갖는다.
이어서, 도 4는 본 발명에 따른 실시 예로서 (12, 17) 길쌈 인터리버의 정적 램(SRAM)의 접근을 위한 기본 주소부(23-1)의 세구 ◎록도이다.
기본 주소확(23-1)는 기년 수찌 주소(AV)를 발생하는 제 1 카운터(41)와 수평셀주소(LAH)를 밭생하는 제 ? 카운터(44)및 기본 수평군주소(러AH)의 변화를 위한 제 3 카운터(45)와 모듈러 연산기(43,46)로 구성된다.
상기와 같이 구성되어 전체 시스템의 바이트 찰럭에 동기되어 동작하면서 주기가 12(=B) 인 제 1 카운터에 서 4비트의 기본 수직 주소(AV)를 출력한다.
상기 제 1 카운터(41)의 주기인 12번의 클러이 틴 후, 제 2 카운터(44)로 넘어온 캐리(Carryl)에 의왜 주기 17 (=M)를 갖는 제 2 카운터(44)가 동작되어 5비트의 수평 셀주소(LAH)를 출력한다.
이제, 상기 제 2 카운터(44)에서 넘어온 캐리(Carry2)에 의해 동작하는 주기가 27720인 제 3 카운터(45)의 출력값(15비트)은. 상기 기본 수직 주소(AV)값으로 모듈러(modulo)연산기(46)에서 모듈러 계산되어져서 4비트의 기녁 수평 군주소(러AH)를 출력한다. 여기서, 22720은 1∼10 범위 정수들의 최소공배수로써 표 1에서 기본 수직 주소(AV)에 따른 기본 수평 군주소(MAH)의 변화의 주기이다.
상기와 같이 발생된 기본 주소들은 다음 주어진 식에 의해 실제 정적 램을 접근할 수 있는 1차원의 실제 주소(PA)로 변환된다.
기본 수직 주소(AV)와 기본 수평 군추소(보AH)로부터 중간 수직 주소(AV')와 중간 수평 군주소(런AH')를 계산하는 식은 다음의 수학식 7와 수학식 3에 나타내었다.
(수학식 2)
AV'= AV, (0 르 7AH 프 폭즌)
B-AV, (뜰 f MAH)
(수학식 3)
렀AH· = 씬AH. (? ? MAH 르 플·)
(B-1)-MAH. (릎 f 7AH)
상기와 같이 계산된 2 타훤의 중간 수직 주소(AV')와 중간 수평 군주소(MAH')는 1 차훤의 실제 주소(PA :Phy7i7al address)로 할당되어 실제 정적 램(SRAM)을 접근 (a77e7곯하게 된다.
실제 주소(PA)로 할당되는 규칙은 도 2b의 메모리 배열을 수직 또는 수평으로 스캐닝하여 순차적으로 주소 값을 할당하는 것이다.
실제 주소값(PA)의 계산식은 다음 수찰식 4a과 수학식 4b에 나타내었다.
(수학식 4a)
PA = (MA딘'x 7AH) x(B-1)? (AV'-1) 수직으로 스캐닝하였을 때 (수학식 4b)
PA = (AV'x-틀XM+MAH')X러누LAH 수평으로 스캐닝하였을 때 여기서, 중간 수찌 주소(AV')에서 1을 감산하는 이유는 중간 수직 주소(AV')가 "0" 일 때, 실제로 메모리를 접근하지 않기 때문에 중간 수찌 주소에서 1을 감산한 값(AV'-1)으로 매굉한 것이다.
상기와 같은 변환식을 수행하는 중간 주소부(23-2)와 실제 주소부(23-3)는 잘 판려진 가산기와 연산기들로 간단하게 구현이 가능하다
한편 상기 기본 주소확(23-리의 클럭과 기본 수직 주소(AV)를 체크하는 제어부(29)에서는 정적 램(25)을 접 근(access)하기위한 제어신호들을 박생시킨다
여기7·1 제공하는 제어신호들은 ◎_두 "로우" 일 때 "가능" (enable)을 표시하는 액티브 로우(active l7w) 신 호이며, 12를럭중 몇 번째 클럭인가를 판단하는 역찰은 기본 주소부(23-1)의 주기가 12인 제 1 카운터(41)에서 발생한 기본 수찌 주소(AV)를 이용한다.
12클럭 주기중에서 첫 번째 플럭에 등기되어 데이터(DO)가 입력되면, 첫 번째 데이터(DO)는 정적 램을 거치 지 않고 그대로 출력 버퍼부(27)를 통해 출력시켜야 한다.
고래서, 두 번째 클럭동안 입력버퍼 출력신호(out) "로우" 를 입력 버퍼◎(71)로 제공하고. 동시에 읽기 신 호(RD)와 산기 신호(WT) "하이" 를 정적 램(25)으로 제공한다.
또한, 출력버퍼 래치신호(l7t7h) "로우" 를 보내어 상기 출력 버퍼◎('!띠는 첫 올.째 데이터(DO)를 래치하여 출력 한다.
주기 12중에서 첫 번 째 데이터를 제외한 나머지 데이터들(Dl-Dll)은 정적 램(25)에 저장시키고,과거에 입력되었던 데이터중 정적 램(25)에 현재 저장되어 있는 데이터(Mi)를 출력시켜야 한다.
고래서, 두 번째 클릭에 동기되어 데이터(Bl)가 입력되면, 세 번째 클럭의 앞 반주기에서는 정적 램(25)의 과거입력데이터(러1)를 저어 데이터 버스로 출력하도록 읽기신호(RD) "로우" 를 출력하고, 그 를려의 뒤 반주 기에서는 입력버퍼 출력신호(out) "로우" 를 제공하여 데이터버스(Data Bua)상에 입력데이터(Dl)를 을려 놓아 서, 쓰기신호(WT) "로우" 를 제공하여 동일한 메모리 자리에 현재 입력된 데이터(Dl)을 저장한다.
또한, 클럭의 앞 반주기에 상기 정적 램으로부터 출력된 과거입력데이터(Ml)를 래치하여 출력하도록 출력 버퍼 래치신호(latch) "로우" 를 제공한다.
계속해서, 상기 두 번째 데이터(Dl)를 처리하는 과정을 나머지 (D2∼Dll)데이터에서도 동일하게 반복하여 수행하므로써, 입력당시의 데이터비트순서와 출력되는 데이터비트순서는 바뀌어져 랜덤하게 인터리빙처리된 데이터스트림을 생성하게 되는 것이다.
상기와 같은 동작을 요약하면, 12주기의 첫 번째 입력된 데이터(DO)는 상기 입력 버퍼부(21)에서 상기 정적 램(25 · SRAM)를 거치지 않고 곧바로 출력 버퍼부(26)를 통해 출력하게 되고, 12주기의 두 번겔 이하로 입력 된 데이터들(Dl∼Dll)은 를럭의 뒤 반주기동안 상기 램(25)에 저장되고, 물럭의 앞 반주기동안에는 상기 램 (25)에 저장되어 있던 과거입력데이터들(Ml-Mll)이 출력된다.
이어서, 도 5는 본 발명에 따른 (12, 17)길쌈 인터리버의 동작을 나타낸 타이밍도로서, 도 5 에서 보는 바와 같이 바이트 를럭에 동기되어 입력 버퍼부(21)에 입력된 데이터(DO. Dl, D2, D3‥‥‥ Dll, D'0, D'1‥‥)는 상기기본 주소7진23-1)를 모니터하는 제어부(29)에서 반생된 제어신호들에 의해 데이터 버스에 실려 출력 버퍼부 (27)로 전탄되고 찍종적으로 인터리빙 터리되어(DO, Ml. M2, M3‥‥‥Mll, D'0, M'1, M'2‥‥) 출력된다.
입력데이터열(Di)이 입력버퍼부(21)를 거치면서 란 물럭지연되어 출력되는 이유는, 입력버퍼부(21)에 입력된 데이터(Di)는 상기 제어부(27)에서 몇 번째 를럭에 동기되어 들어오는 데이터인가를 판단하여 입력버퍼 출력 신호(out)를 입력버퍼부(21)로 제공하므로씬, 결국은 한 플럭 지연되어 데이터버스(Data Bus)에 실리게 된다.
한편, 메모리 주소는 한 클럭동안 유지되어야 하며, 도 3에서 보여준 메모리주소 할당방식에 의해 계산되어 진 수식 4a 또는 수식 4b의 실제 주소(PA)를 이용하여 정적 램(25)을 접근하게 된다.
결국, 데이터 버스상에는 현제 입력된 데이터(Di)와 정적 램(25)에 저장되었던 과거입력데이터(Mi)들이 뒤 섞어서 올려지게 되고. 수직 단 주기12(=B)의 첫 번엘 데이터(DO)는 곧바로 출력 버퍼부(26)를 거쳐서 출력 되고, 수직단 주기의 두 번째 데이터(Dl)는 물럭의 뒤 반주기 동안 정적 램(25)에 저장되고, 정적 램(25)에서 읽혀진 과거입력데이터(닌i)가 클릭의 앞 반주기 동안 출력되어 데이터 버스에 실리므로써 과거입력데이터 (Mi)를 출력 버퍼부(26)에서 래치하여 출력시키므로써 최종적으로 인터리빙처리된 데이터 스트림(DO, 린0. 러1, 러2‥‥‥ 커11, DO' 씬0',..)을 얻게 되는 것이다.
도 1은 일반적인 길쌈인터리버의 개념도.
도 2a는 메모리 주소 할당에 대한 개념도로서, 기본 주소 할당에 대한 개념도,
도 2b는 메모리 주소 할당에 대한 개념도로서, 최소 메모리만을 사용하는 중간 주소 할당에 대한 개념도,
도 3은 본 발명에 따른 정적 램을 이용한 길쌈 인터리버의 블록도,
도 4는 본 발명에 따른 길쌈인터리버의 기본 주소부를 도시한 세부 블럭도,
도 5는 본 발명에 따른 길쌈인터리버의 동작을 나다낸 타이밍도 이다
* 도면의 주요부분에 대한 부호의 설명
21 : 입력 버퍼부 23 : 주소 생성부
23-1 : 기본 주소부 23-2 : 중간 주소부
23-3 : 실제 주소부 25 : 정적 램(SRAM)
25 : 술력 버퍼부 29 : 제어부
41 : 제 1카운터 44 : 71 2카운터
45 : 71 3카운터 46 : 모듈러 연산기
AV : 기본 수직 주소 AV' : 중간 수직 주소
리AH : 기본 수평 군주소 러AH': 숭간 수평 군주소
LAH : 수굉 셀주소 PA : 실제 주소
이상에서 설명한 바와 같이 본 발명은 정적 램(SRA썼)을 사용하여 길쌈 인터리버를 구현하면서 메모리소 자를 낭비없이 사용하는 주소 할당방법을 적용한 주소 생성부를 통하여서 하드웨어의 크기와 비용을 감소시 켜 경제적인 메모리사용 효과가 있는 것이다.

Claims (7)

  1. 입력 데이터스트립의 순서를 바꾸어 랜덤한 데이터스트림을 발생시키는 (B,러)길쌈 인터리버에 있어서, 입력 데이터(Di)를 래치하여 데이터버스로 출력하는 입력 버퍼부(21) ; 와 수직단이 (B-1)개이고 수평길이가 (B-1)*M(bytes)인 기본 메모리중에서 (B, M)길쌈 인터리버가 사용하는 일부 메모리를 사용하지 않는 메모리 위치로 이동시켜, 수직단이 (B-1)개이고 수평길이가 (B/2)휴M(bytes)인 중간 메모리구조를 변환시킨 후, 상기 중간 메모리를 접근하기 위한 실제 주소(PA)를 발생하는 주소 생성부(73) : 상기 실제 주소(PA)가 1 물럭주 기 동안 유지되는 동안, 클럭의 앞 반주기와 플럭의 뒤 반주기 동안에 각각 읽기 와 쓰기 동작을 하는 정적 램(25) : 상기 데이터 버스상의 데이터를 래치하여 인터리빙 처리된 데이터스트림을 출력하는 출력 버퍼부 (26) ; 및 입력버퍼 출력신호(out)차, 읽기신호(RD), 쓰기신호(WT) 및 출력버퍼 래치신호(latch) 등의 제어신 호를 발생시키는 제어부(29) :를 포함하여 구성되는 정적 램을 이용한.길쌈인터리버의 구조.
  2. 제 1 항에 있어서, 상기 주소 생성부(23)는 수직 단이 (B-1)이고. 수평길이가 (B-1)*M(byte7) 인 기본 메모리를 접근하는 기본 수직 주소(AV: 1∼(B-1))와 기본 수평 군주소(MAH: 0∼(B-2)) 밋 수평 겔주소(LAH:0∼(M-1))를 생성하는 기본 주소부(23-1) ;와 상기 기본 메모리구조를 (B, M)길쌉 인터리버에서 필요한 최소 메모리용량으로 변환시킨 상기 중간 메모리를 접근하기 위한 중간 수직 주소(AV" 1∼B-1)와 중간 수평 군주 소(MAH'· 0∼(B/2-1))를 상기 기본 주소들(AV, MAH)을 이웅하여 변환시키는 중간 주소부(23-2) : 및 상기 2 차원의 중간 수직 주소(AV')와 중간 수평 군주소(MAH') 및 수평 셀주소(LAH)를 이웅하여 상기 중간 메모 리구조를 수멱 흑은 수직으로 스캐닝하여 정적 램(25)을 접근하기위한 1 차원의 실제 주소(PA)를 최종 생성 하는 실제 주소부(23-3) :를 포함하여 구성되는 것을 특징으로 하는 정적 램을 이용한 길쌈인터리버의 구조.
  3. 제 1 항에 있어서, 상기 제어◎(29)는 상기 주소 생성부(23)를 체크하여 주기 B중에서 첫 번째 입력데이 터(DO)는 한 를럭주기동안 데이터버스에 실려있고, 나머지 B-1개의 입력데이터(01∼D(B-1))는 각 클려의 뒤 반주기동안 데이터버스에 실려있도록 입력버퍼 출력신호(out)를 입력 버퍼부(71)로 제공하는 것을 특징으로하 는 정적 램을 이용한 길쌈인터리버의 구조.
  4. 제 1 항에 있어서, 상기 제어부(29)는 상기 주소 생성부(23)를 체크하여 클럭의 앞 반주기동안에 정적 램(25)에 저장되어 있던 과거입력데이터(Ml∼M(B-1))를 읽어서 데이터버스로 출력하도록 상기 읽기 신호(RD)를 상기 정적 램(27)으로 제공하는 것을 특징으로 하는 정적 램을 이용한 길쌈인터리버의 구조.
  5. 제 1 항에 있어서, 상기 제어부(29)는 상기 주소 생성부(23)를 체크하여 주기 B중 첫 번째 입력 데이터 (BO)를 제외한 각 클럭의 뒤 반주기동안 데이터버스에 실려있는 나머지 B-1개의 입력 데이터(Dl∼D(B-1))를 저장하도록 상기 쓰기 신호(7r)를 상기 정적 램(25)으로 제공하는 것을 특징으로 하는 정적 램을 이용란 길 쌈인터리버의 구조.
  6. 제 1 항에 있어서, 상기 제어부(27)는 상기 주소 생성부(23)를 체크하여 주기 B중 첫 번째 입력 데이터 (DO)를 래치하고, 또한 나머지 데이터(Dl∼D(B-1))가 입력되는 동안의 각 클럭의 뒤 반주기 동안에 상기 정적램(25)으로부터 출력된 과거입력데이터(Ml∼M(B-1))를 차례로 래치하도록 출력버퍼 래치신호(latch)를 출 력버퍼부(26)로 제공하는 것을 특징으로 하는 정적 램을 이용한 길쌈인터리버의 구조.
  7. 제 1 항에 있어서, 상기 정적 램(25)은 주기 B중 첫 번째 입력데이터(DO)는 저장하지 않으면서, 상기실제주소(PA)에 해당하는 메모리위치에 저장된 과거입력데이터(M1∼M(B-1)를 상기 읽기 신호(RD)에 따라 읽어 데이터 버스로 출력하면서, 동시에 클럭의 뒤 반주기동안 그 메모리위치에다가 나머지 현재 입력데이터 (Dl∼D(B-1))를 상기 쓰기 신호(WT)에 따라 저장하는 것을 특징으로하는 정적 램을 이용한 길쌈 인터리버의 구조.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960026592A 1996-07-01 1996-07-01 정적 램을 이용한 길쌈인터리버의 구조 KR100192797B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1019960026592A KR100192797B1 (ko) 1996-07-01 1996-07-01 정적 램을 이용한 길쌈인터리버의 구조
GB9713825A GB2315002B (en) 1996-07-01 1997-06-30 Convolutional interleaver and method for generating address therefor
JP17598097A JP3882097B2 (ja) 1996-07-01 1997-07-01 重畳インターリーバ及びメモリのアドレス発生方法
US08/886,514 US6035427A (en) 1996-07-01 1997-07-01 Convolutional interleaver and method for generating memory address therefor
CN97117190A CN1104778C (zh) 1996-07-01 1997-07-02 产生地址的卷积交错器及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960026592A KR100192797B1 (ko) 1996-07-01 1996-07-01 정적 램을 이용한 길쌈인터리버의 구조

Publications (2)

Publication Number Publication Date
KR980012968A true KR980012968A (ko) 1998-04-30
KR100192797B1 KR100192797B1 (ko) 1999-06-15

Family

ID=19465250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960026592A KR100192797B1 (ko) 1996-07-01 1996-07-01 정적 램을 이용한 길쌈인터리버의 구조

Country Status (5)

Country Link
US (1) US6035427A (ko)
JP (1) JP3882097B2 (ko)
KR (1) KR100192797B1 (ko)
CN (1) CN1104778C (ko)
GB (1) GB2315002B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100362557B1 (ko) * 1999-04-06 2002-11-27 삼성전자 주식회사 이차원 인터리빙 장치 및 방법
KR100645730B1 (ko) * 1999-12-30 2006-11-13 주식회사 케이티 매직 매트릭스를 이용한 인터리빙 방법

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE292336T1 (de) * 1997-01-31 2005-04-15 Cit Alcatel Verfahren und geräte zur schachtelung/entschachtelung von digitalen daten und kommunikationssystem
US5974058A (en) * 1998-03-16 1999-10-26 Storage Technology Corporation System and method for multiplexing serial links
CN100375393C (zh) * 1998-04-27 2008-03-12 松下电器产业株式会社 卷积交错装置、方法、卷积解交错装置、方法
DE19824280B4 (de) * 1998-05-29 2004-08-19 Bruker Daltonik Gmbh Mutationsanalyse mittels Massenspektrometrie
US6347385B1 (en) * 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code
AU1330000A (en) 1998-10-30 2000-05-22 Broadcom Corporation Generalized convolutional interleaver/deinterleaver
JP3549756B2 (ja) 1998-12-21 2004-08-04 日本電気株式会社 ブロックインターリーブ回路
US6536001B1 (en) * 1999-03-11 2003-03-18 Globespanvirata, Inc. Circuit and method for convolutional interleaving using a single modulo operation
JP3063414U (ja) * 1999-04-27 1999-11-05 新日本印刷株式会社 ディスク所持はがき
KR100338635B1 (ko) * 1999-07-13 2002-05-30 윤종용 다단계 채널 인터리버/디인터리버에 사용하기 위한어드레스 생성 장치 및 방법
JP4077993B2 (ja) * 1999-07-30 2008-04-23 株式会社日立グローバルストレージテクノロジーズ 性能評価方法及び性能評価装置並びにこれらを用いた記録再生装置
WO2001069392A2 (en) * 2000-03-16 2001-09-20 Boden Scott T Method and apparatus for secure and fault tolerant data storage
US6671792B1 (en) * 2000-04-28 2003-12-30 Hewlett-Packard Development Company, L.P. Share masks and alias for directory coherency
AU5679401A (en) * 2000-05-22 2001-12-03 Yozan Inc. Address converter, interleaver and de-interleaver
US6651194B1 (en) * 2000-08-14 2003-11-18 Silicon Integrated Systems Corp. Method and apparatus for interleaving an incoming stream of data blocks
US7272769B1 (en) * 2001-06-05 2007-09-18 Broadcom Corporation System and method for interleaving data in a wireless transmitter
JP2003177960A (ja) * 2001-12-12 2003-06-27 Matsushita Electric Ind Co Ltd 演算装置及び記憶装置
US6718503B1 (en) 2002-01-04 2004-04-06 Itran Communications Ltd. Reduced latency interleaver utilizing shortened first codeword
KR100518295B1 (ko) * 2003-03-14 2005-10-04 삼성전자주식회사 디지털 통신 시스템의 디인터리빙장치 및 그의디인터리빙방법
US7051171B1 (en) 2003-04-11 2006-05-23 Broadlogic Network Technologies, Inc. Method and system for providing a multi-channel interleaver/deinterleaver using SDRAM
US20040267968A1 (en) * 2003-06-25 2004-12-30 Agilent Technologies Belgium S.A./N.V Implementation of a column interleaving function with a limited amount of columns
US7600163B2 (en) * 2003-09-23 2009-10-06 Realtek Semiconductor Corp. Convolutional interleaver and deinterleaver
US7415584B2 (en) * 2003-11-26 2008-08-19 Cygnus Communications Canada Co. Interleaving input sequences to memory
WO2005052808A1 (en) * 2003-11-26 2005-06-09 Cygnus Communications Canada Co. Pipelined fft processor with memory address interleaving
KR100520934B1 (ko) * 2003-12-30 2005-10-17 삼성전자주식회사 디인터리버 메모리의 크기가 절감된 디지털 방송 수신기의디인터리빙장치 및 그의 디인터리빙방법
JP2006048767A (ja) * 2004-07-30 2006-02-16 Elpida Memory Inc 半導体メモリ試験装置
EP1633052A1 (en) * 2004-09-07 2006-03-08 STMicroelectronics N.V. Block de-interleaving system
US7716563B2 (en) * 2004-11-30 2010-05-11 Ciena Corporation Method and apparatus for the efficient implementation of a totally general convolutional interleaver in DMT-based xDSL systems
US7376882B2 (en) * 2005-04-14 2008-05-20 The Boeing Company Adaptable channel compensation for reliable communication over fading communication links
US7502982B2 (en) * 2005-05-18 2009-03-10 Seagate Technology Llc Iterative detector with ECC in channel domain
US7360147B2 (en) * 2005-05-18 2008-04-15 Seagate Technology Llc Second stage SOVA detector
US7395461B2 (en) 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US9712279B2 (en) 2007-10-04 2017-07-18 Samsung Electronics Co., Ltd. Method and apparatus for interleaving data in a mobile communication system
US8352834B2 (en) * 2009-11-12 2013-01-08 Broadlogic Network Technologies Inc. High throughput interleaver / deinterleaver
PL2972864T3 (pl) * 2013-03-15 2020-12-14 Michelle Effros Sposób i urządzenie do poprawy wydajności komunikacji przez kodowanie sieciowe
CN106843809B (zh) * 2017-01-25 2019-04-30 北京大学 一种基于nor flash阵列的卷积运算方法
CN110009103B (zh) * 2019-03-26 2021-06-29 深兰科技(上海)有限公司 一种深度学习卷积计算的方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4333160A (en) * 1978-11-20 1982-06-01 Victor Company Of Japan, Ltd. Memory control system
US5042033A (en) * 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
JP3415693B2 (ja) * 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド インターリーブプロセス
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
US5537420A (en) * 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100362557B1 (ko) * 1999-04-06 2002-11-27 삼성전자 주식회사 이차원 인터리빙 장치 및 방법
KR100645730B1 (ko) * 1999-12-30 2006-11-13 주식회사 케이티 매직 매트릭스를 이용한 인터리빙 방법

Also Published As

Publication number Publication date
JPH10214486A (ja) 1998-08-11
GB2315002A (en) 1998-01-14
GB2315002B (en) 2001-01-10
KR100192797B1 (ko) 1999-06-15
US6035427A (en) 2000-03-07
JP3882097B2 (ja) 2007-02-14
GB9713825D0 (en) 1997-09-03
CN1179651A (zh) 1998-04-22
CN1104778C (zh) 2003-04-02

Similar Documents

Publication Publication Date Title
KR980012968A (ko) 정적 램을 이용한 길쌈인터리버의 구조
KR0138749B1 (ko) 디인터리브방법 및 그 장치
US6138262A (en) Memory address generator in convolutional interleaver/deinterleaver
JP3239084B2 (ja) マルチキャリア伝送インターリーブ装置及び方法
US7945780B1 (en) Apparatus for dynamically configurable interleaver scheme using at least one dynamically changeable interleaving parameter
KR100196599B1 (ko) 데이터 단위 군의 버퍼링을 위한 장치
US7185241B2 (en) Deinterleaving apparatus and method for a digital communication system
KR100485545B1 (ko) 블럭 인터리브 장치, 블럭 디인터리브 장치, 블럭인터리브 방법 및 블럭 디인터리브 방법
US5008852A (en) Parallel accessible memory device
JP3549756B2 (ja) ブロックインターリーブ回路
KR100499467B1 (ko) 블록 인터리빙 방법 및 그를 위한 장치
KR100215566B1 (ko) 정적 램을 이용한 길쌈 인터리버/디인터리버 및정적 램의 주소 생성 방법
US7610453B1 (en) Reordering each array in a sequence of arrays
US20060155927A1 (en) Single memory with multiple shift register functionality
JP2001332980A (ja) インタリーブ装置及びインタリーブ方法
JP2827978B2 (ja) インターリーブ装置
JPH0974361A (ja) 変復調装置
KR0123088B1 (ko) 메모리를 이용한 길쌈 디인터리버
US11836376B2 (en) Convolution time de-interleaver and method for operating a convolution time de-interleaver
KR100556469B1 (ko) 인터리브/디인터리브 장치
KR0183171B1 (ko) 인터리버 및 디인터리버와 그 방법
KR100215565B1 (ko) 정적 램을 이용한 길쌈 인터리버/디인터리버 및정적 램의 주소 생성 방법
KR100255304B1 (ko) 디지탈 통신기기의 컨벌루셔널 디인터리버
KR930007193Y1 (ko) 음성 디코더
KR19980057000A (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: 20130107

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20140106

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee