KR100350683B1 - Data de-interleaver and address generation method - Google Patents

Data de-interleaver and address generation method Download PDF

Info

Publication number
KR100350683B1
KR100350683B1 KR1019990036163A KR19990036163A KR100350683B1 KR 100350683 B1 KR100350683 B1 KR 100350683B1 KR 1019990036163 A KR1019990036163 A KR 1019990036163A KR 19990036163 A KR19990036163 A KR 19990036163A KR 100350683 B1 KR100350683 B1 KR 100350683B1
Authority
KR
South Korea
Prior art keywords
memory
counter
counting
address
low
Prior art date
Application number
KR1019990036163A
Other languages
Korean (ko)
Other versions
KR20010019641A (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 KR1019990036163A priority Critical patent/KR100350683B1/en
Publication of KR20010019641A publication Critical patent/KR20010019641A/en
Application granted granted Critical
Publication of KR100350683B1 publication Critical patent/KR100350683B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 디지털 텔레비젼 수신 시스템에서의 데이터 디인터리버에 관한 것으로, 특히 메모리를 사용하여 인터리브된 데이터를 디인터리빙시키기 위한 데이터 디인터리버에 관한 것이다. 본 발명은 인터리브된 데이터가 저장되는 메모리와, 인터리버 깊이 만큼 시스템 클럭을 순환 카운팅하는 로우 카운터와, 상기 로우 카운터의 1싸이클 순환 카운팅 완료시마다 카운팅 증가하여 일련의 순환 카운팅 동작을 반복하는 인터리버 깊이 만큼의 컬럼 카운터들과, 상기 로우 카운터 값 입력에 따라 상기 컬럼 카운터들의 출력을 순차적으로 선택 출력하는 멀티플렉서와, 상기 멀티플렉서의 출력에 상기 인터리버 깊이를 승산한후 상기 로우 카운터 값을 가산하여 상기 인터리브된 데이터의 디인터리브 시 사용되는 상기 메모리의 어드레스를 발생시키는 연산부로 구성함으로써, 칩 구현시 게이트 수를 감소시킬 수 있는 장점이 있다.The present invention relates to a data deinterleaver in a digital television reception system, and more particularly to a data deinterleaver for deinterleaving interleaved data using a memory. According to the present invention, a memory for storing interleaved data, a low counter for cyclically counting a system clock by an interleaver depth, and an interleaver depth for repeating a series of cyclic counting operations by counting each time the cycle counter completes one cycle A multiplexer for sequentially selecting and outputting column counters, an output of the column counters according to the row counter value input, and multiplying the interleaver depth by an output of the multiplexer, and then adding the row counter value to add the interleaved data. By configuring the operation unit for generating the address of the memory used in the deinterleave, there is an advantage that can reduce the number of gates when implementing the chip.

Description

데이터 디인터리버 및 어드레스 발생방법{DATA DE-INTERLEAVER AND ADDRESS GENERATION METHOD}DATA DE-INTERLEAVER AND ADDRESS GENERATION METHOD}

본 발명은 콘볼루셔널 데이터 디인터리버에 관한 것으로, 특히 메모리를 사용한 데이터 디인터리버와 상기 메모리를 액세스하기 위한 어드레스 발생방법에 관한 것이다.The present invention relates to a convolutional data deinterleaver, and more particularly, to a data deinterleaver using a memory and an address generating method for accessing the memory.

전송로에 있어서 디지털 신호의 에러는 랜덤하게 발생하는 것이 아니라 버스트적으로 발생한다. 이러한 버스트적인 에러를 분산시켜 평균적으로 효율이 좋은 에러정정부호의 능력을 뽑아내기 위한 기술이 인터리브 방식이며, 디지털 텔레비젼 방송 시스템에 있어서도 인터리브 방식이 채용되고 있다. 디지털 텔레비젼 방송 시스템에서의 콘볼루션널 데이터 인터리버는 데이터 전송시 채널에 의한 버스트 에러를 분산시킴으로써 수신 시스템에서의 에러정정 능력을 향상시킨다. 그리고 데이터 디인터리버는 인터리버의 역과정으로 이루어지는 것은 일반적인 공지 사실이다.Errors in digital signals in the transmission path occur not in random but in bursts. The interleaving technique is a technique for distributing such bursty errors and extracting the ability of an error correcting code with good efficiency on average, and an interleaving scheme is also employed in digital television broadcasting systems. The convolutional data interleaver in the digital television broadcasting system improves the error correction capability in the receiving system by distributing the burst error by the channel during data transmission. It is generally known that the data deinterleaver is a reverse process of the interleaver.

도 1은 일반적인 콘볼루셔널(convolutional) 인터리버(10)와 디인터리버(20)의 구성을 보인 도면이다. 도 1에 도시한 바와 같이 콘볼루셔널 인터리버(10)와 디인터리버(20)의 구성은 시프트 레지스터(shift register)로 구성되어 있는데, 이와 같이 레지스터를 이용하여 데이터 인터리버와 디인터리버 칩을 구성하는 경우에는 상당한 수의 게이트 소자가 필요하기 때문에 결과적으로 코스트(cost)가 상승하게 된다.1 is a diagram illustrating a configuration of a general convolutional interleaver 10 and a deinterleaver 20. As shown in FIG. 1, the convolutional interleaver 10 and the deinterleaver 20 have a shift register. In this case, the data interleaver and the deinterleaver chip are configured using the register. Requires a significant number of gate elements, resulting in an increase in cost.

따라서 본 발명의 목적은 데이터 디인터리버를 구성하는 게이트 소자들의 수를 감소시켜 코스트를 낮출 수 있는 데이터 디인터리버를 제공함에 있다.Accordingly, an object of the present invention is to provide a data deinterleaver that can reduce the cost by reducing the number of gate elements constituting the data deinterleaver.

본 발명의 또 다른 목적은 메모리를 사용하여 인터리브된 데이터를 디인터리브시킬 수 있는 데이터 디인터리버와 상기 메모리를 액세스하기 위한 어드레스를발생시키기 위한 어드레스 발생방법을 제공함에 있다.It is still another object of the present invention to provide a data deinterleaver capable of deinterleaving interleaved data using a memory and an address generating method for generating an address for accessing the memory.

상기 목적을 달성하기 위한 본 발명은 데이터 디인터리버에 있어서,The present invention for achieving the above object in the data deinterleaver,

인터리브된 데이터가 저장되는 메모리와,A memory in which interleaved data is stored;

인터리버 깊이 만큼 시스템 클럭을 순환 카운팅하는 로우 카운터와,A low counter that cyclically counts system clocks by the interleaver depth,

상기 로우 카운터의 1싸이클 순환 카운팅 완료시마다 카운팅 증가하여 일련의 순환 카운팅 동작을 반복하는 인터리버 깊이 만큼의 컬럼 카운터들과,Column counters corresponding to the depth of the interleaver to increase the counting at the completion of one cycle cyclic counting of the low counter to repeat a series of cyclic counting operations;

상기 로우 카운터 값 입력에 따라 상기 컬럼 카운터들의 출력을 순차적으로 선택 출력하는 멀티플렉서와,A multiplexer for sequentially selecting and outputting outputs of the column counters according to the row counter value input;

상기 멀티플렉서의 출력에 상기 인터리버 깊이를 승산한후 상기 로우 카운터 값을 가산하여 상기 인터리브된 데이터의 디인터리브 시 사용되는 상기 메모리의 어드레스를 발생시키는 연산부로 구성되며,상기 메모리의 어드레스는 하기 식이 이용되어 발생됨을 특징으로 한다.<식>어드레스= I+로우카운터값,여기서, I는 인터리버 깊이,는 컬럼 카운터 값들.The multiplier output is multiplied by the interleaver depth and the low counter value is added to generate an address of the memory used when deinterleaving the interleaved data. It is characterized by the fact that it is generated. I + low counter value, where I is the interleaver depth, Is the column counter values.

또한 본 발명은 인터리브된 데이터가 저장되는 메모리를 액세스하기 위한 어드레스를 발생하는 방법에 있어서,The present invention also provides a method for generating an address for accessing a memory in which interleaved data is stored.

인터리버 깊이(I) 만큼 시스템 클럭을 반복 순환 카운팅하면서 로우 카운터 값을 발생하는 제1과정과,A first step of generating a low counter value while repeatedly cyclically counting a system clock by an interleaver depth (I),

상기 인터리버 깊이(I) 각각에 대하여 상기 로우 어드레스의 1싸이클 순환 카운팅 완료시마다 카운팅 증가하여 일련의 순환 카운팅 동작을 반복하면서 상기 인터리버 깊이(I) 만큼의 컬럼 카운터 값들을 발생하는 제2과정과,A second process of generating a column counter value equal to the interleaver depth I while repeating a series of cyclic counting operations by increasing the counting for each of the interleaver depths I for each cycle cyclic counting of the row address;

상기 로우 카운터 값 출력에 따라 상기 컬럼 카운터 값들을 순차적으로 선택하여 상기 인터리버 깊이(I)를 승산한후 상기 로우 카운터 값을 가산하는 하기 식을 이용하여 상기 메모리의 어드레스를 발생시키는 제3과정으로 이루어짐을 특징으로 한다.<식>어드레스= I+로우카운터값,여기서, I는 인터리버 깊이,는 컬럼 카운터 값들.And a third step of generating the address of the memory using the following equation of multiplying the interleaver depth (I) by sequentially selecting the column counter values according to the low counter value output and adding the low counter value. It is characterized by. <Expression> address = I + low counter value, where I is the interleaver depth, Is the column counter values.

도 1은 일반적인 콘볼루셔널(convolutional) 인터리버(10)와 디인터리버(20)의 구성을 보인 도면.1 is a diagram showing the configuration of a typical convolutional interleaver 10 and a deinterleaver 20. FIG.

도 2는 본 발명의 실시예에 따른 데이터 디인터리버에서 사용되는 메모리의 2차원 구조(a)와 상기 메모리 어드레스 제어구조 예시도(b).Figure 2 is a two-dimensional structure (a) of the memory used in the data deinterleaver according to an embodiment of the present invention and the memory address control structure illustration (b).

도 3은 본 발명의 실시예에 따른 데이터 디인터리버에서 메모리 어드레스를 발생시키기 위한 어드레스 발생부의 상세 구성 예시도.3 is an exemplary detailed configuration diagram of an address generator for generating a memory address in a data deinterleaver according to an exemplary embodiment of the present invention.

도 4는 본 발명의 또 다른 실시예에 따른 데이터 디인터리버에서 사용되는 메모리의 2차원 구조(a)와 상기 메모리 어드레스 제어구조 예시도(b).4 is a two-dimensional structure (a) and a memory address control structure (b) of a memory used in a data deinterleaver according to another embodiment of the present invention.

이하 첨부한 도면을 참조하여 본 발명의 실시예에 따른 데이터 디인터리버의 구성 및 동작을 상세히 설명하기로 한다.Hereinafter, the configuration and operation of a data deinterleaver according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 실시예에 따른 데이터 디인터리버에서 사용되는 메모리의 2차원 구조(b)와 메모리 어드레스 제어구조 예시도(a)를 도시한 것이다. 본 발명의 실시예에 따른 데이터 디인터리버는 크게 인터리브된 데이터가 저장되는 메모리와, 상기 메모리를 액세스하기 위한 어드레스를 발생하는 어드레스 발생부로 구성된다. 그리고 상기 어드레스 발생부는 도 3에 예시한 바와 같이 로우(row) 카운터와 다수개의 컬럼(column) 카운터 및 소수의 로직으로 구성할 수 있는데, 이러한 경우 컬럼 카운터의 수는 메모리 사이즈에 따라 변동한다.FIG. 2 illustrates a two-dimensional structure (b) and a memory address control structure (a) of a memory used in a data deinterleaver according to an embodiment of the present invention. The data deinterleaver according to the embodiment of the present invention includes a memory in which large interleaved data is stored, and an address generator for generating an address for accessing the memory. As shown in FIG. 3, the address generator may include a row counter, a plurality of column counters, and a few logics. In this case, the number of the column counters varies according to the memory size.

이하 도 2를 참조하여 본 발명의 실시예에 따른 데이터 디인터리버를 구성하는 메모리의 구조와 그에 따른 어드레스 발생부의 구성을 개략적으로 설명하면, 우선 인터리브된 데이터가 저장되는 메모리가 도 2 (b)에 도시한 바와 같이 I×J의 크기를 갖는다고 가정하면, 메모리 어드레스 발생부는 인터리버 깊이(I)를 순환 카운팅할 수 있는 하나의 로우(row) 카운터()와, 인터리버 깊이(I) 각각의 넓이(J)를 순환 카운팅할 수 있는 인터리버 깊이(I)만큼의 컬럼(column) 카운터(42∼52)가 구비되어야 한다. 이때 상기 로우 카운터()는 0∼I-1까지 순차적으로 순환 카운트 하고, 인터리버 깊이(I) 만큼의 컬럼 카운터들(42∼52)은 상기 로우 카운터()의 순환 카운팅 완료시마다 카운팅 값을 증가시키는 순환 카운트이다.Hereinafter, referring to FIG. 2, a structure of a memory constituting a data deinterleaver according to an exemplary embodiment of the present invention and a configuration of an address generator according to the present invention will be described. First, a memory in which interleaved data is stored is illustrated in FIG. Assuming that it has a size of I × J, the memory address generator may include one row counter (cyclically counting the interleaver depth I). And a column counter 42 to 52 corresponding to the interleaver depth I, which can cyclically count the width J of each of the interleaver depths I. At this time, the low counter ( ) Cyclically counts from 0 to I-1, and the column counters 42 to 52 corresponding to the interleaver depth I are counted as the row counter ( It is a cyclic count that increments the counting value at each completion of cyclic counting.

이와 같이 본 발명의 실시예에 따른 어드레스 발생부는 상술한 로우 카운터()와 컬럼 카운터들(42∼52)의 카운팅값을 조합하여 어드레스를 발생시킬 수 있는데, 이를 수학식으로 표현하면 하기와 같고, 이와 같이 발생된 어드레스에 의해 인터리브된 데이터는 디인터리브될 수 있다.Thus, the address generator according to the embodiment of the present invention described above the row counter ( ) And a counting value of the column counters 42 to 52 may be combined to generate an address. The following equation may be used to express an interleaved data by the generated address.

어드레스= I+로우카운터값,여기서 I는 인터리버 깊이,는 컬럼 카운터 값들.Address = I + low counter value, where I is the interleaver depth, Is the column counter values.

이하 도 3을 참조하여 본 발명의 실시예에 따른 데이터 디인터리버의 일 구성요소인 어드레스 발생부의 구성 및 동작을 설명하면, 도 3은 본 발명의 실시예에 따른 데이터 디인터리버에서 메모리 어드레스를 발생시키기 위한 어드레스 발생부의 상세 구성도를 도시한 것이다. 하기 설명에서 인터리브버의 깊이(I)와 넓이(J)는 각각 6,6인 것으로 가정한다. 이러한 가정에 따라 도 3에 도시된 로우 카운터()는 데이터 동기신호(D_sync) 입력시 인에이블되어 시스템클럭(SCLK)을 카운팅하여 로우 카운팅 값(R_cnt)(0,1,2,3,4,5)을 3비트 데이터로 출력한다. 이와 같이 로우 카운터()로부터 출력되는 값은 비교기(56)와 가산기(62)에 동시 입력된다.Hereinafter, referring to FIG. 3, a configuration and an operation of an address generator that is one component of a data deinterleaver according to an embodiment of the present invention will be described with reference to FIG. 3. The detailed configuration diagram of the address generator for the above is shown. In the following description, it is assumed that the depth I and the width J of the interleaver are 6 and 6, respectively. According to this assumption, the low counter shown in FIG. ) Is enabled when the data synchronization signal D_sync is input, and counts the system clock SCLK to output the low counting value R_cnt (0,1,2,3,4,5) as 3-bit data. Thus, the low counter ( The value outputted from) is input to the comparator 56 and the adder 62 simultaneously.

비교기(56)는 상기 로우 카운터()의 카운터 값을 인터리버 깊이(I)와 비교하여 동일하면 '하이'상태의 로우 카운터 순환 완료펄스를 발생시킨다. 그리고 6개의 컬럼 카운터들(42∼52) 각각은 상기 로우 카운터 순환 완료펄스를 카운팅 출력한다. 이러한 경우 컬럼 카운터1(42)은 0∼5까지의 값을 순환 카운팅하여 출력하며, 컬럼 카운터2(44)는 0∼4까지의 값을 순환 카운팅하여 출력한다. 그리고 컬럼 카운터6(54)은 로우 카운터 순환 완료펄스 입력시마다 0의 값을 출력한다. 한편 MUX(58)는 상기 로우 카운팅 값(R_cnt) 입력에 따라 상기 컬럼 카운터들(42∼54)의 출력중 하나를 선택 출력한다. 이에 따라 MUX(58)에서는 하나의 컬럼 카운팅값이 출력되고, 이 값은 인터리버 깊이(I)에 승산되어 가산기(62)로 입력됨으로써, 상기 수학식 1에 따른 어드레스가 발생되게 되는 것이다.Comparator 56 is the low counter ( ) Is compared with the interleaver depth (I), and if it is the same, it generates a low counter cycle completion pulse of 'high' state. Each of the six column counters 42 to 52 counts the low counter cycle completion pulse. In this case, the column counter 1 42 cyclically counts values from 0 to 5, and the column counter 2 44 cyclically counts values from 0 to 4, and outputs them. Column counter 6 (54) outputs a value of 0 every time the low counter cycle complete pulse is input. Meanwhile, the MUX 58 selects and outputs one of the outputs of the column counters 42 to 54 according to the low counting value R_cnt. Accordingly, the MUX 58 outputs one column counting value, which is multiplied by the interleaver depth I and input to the adder 62, thereby generating an address according to Equation 1 above.

만약 인터리버 깊이(I)가 6이라면 상술한 구성 내지 상기 수학식 1에 따라 얻어지는 어드레스를 구해 보면 다음과 같다.If the interleaver depth I is 6, the address obtained according to the above-described configuration or Equation 1 is obtained as follows.

우선 로우 카운터()가 인에이블되어 최초 카운팅 동작을 수행하면 어드레스는 0,1,2,3,4,5가 되고, 1번 순환한 후에는 6(×6+ 로우 카운팅값 0),7,8,9,10,5가 된다. 그리고 2번 순환한 후에는 12,13,14,15,4,5가 되고, 5번 순환한 경우에는 30,1,8,15,10,5가 된다. 이러한 경우 어드레스 발생부에서 발생된 어드레스 값은 0∼30까지이며, 이러한 어드레스를 2차원 구조의 메모리상에 나타내면 도 2에 도시된 (b)와 같다. 그러나 도 3과 같이 어드레스 발생부를 구성하는 경우에는 도 2의 (b)에 도시된 바와 같이 비가용 메모리 셀이 존재하게 됨으로, 메모리 사용 효율이 저하되는데 이를 방지하기 위해 도 4의 (a)와 같이 어드레스 발생부를 구성할 수 있다.First, the low counter ( ) Is enabled and the first counting operation results in an address of 0,1,2,3,4,5, and 6 cycles after 1 cycle. X6 + low counting values 0), 7, 8, 9, 10 and 5. After 2 cycles, 12, 13, 14, 15, 4, and 5 cycles, and 5 cycles, 30, 1, 8, 15, 10, and 5 cycles. In this case, the address value generated by the address generator is 0 to 30. When such an address is displayed on a memory having a two-dimensional structure, it is as shown in FIG. However, in the case of configuring the address generator as shown in FIG. 3, since the non-available memory cells exist as shown in FIG. 2B, the memory usage efficiency is lowered. As shown in FIG. The address generator can be configured.

도 4는 본 발명의 또 다른 실시예에 따른 데이터 디인터리버에서 사용되는 메모리의 2차원 구조(b)와 상기 메모리 어드레스 발생부의 구성 예시도(a)를 나타낸 것이다. 도 4의 (a)를 참조하면 본 발명의 실시예에 따른 또 다른 메모리 어드레스 발생부는 도 2의 (a)에 도시한 바와 같이 인터리버 깊이(I) 만큼의 컬럼 카운터들(90∼100)과, 로우 업-카운터()(70) 및 로우 다운-카운터()로 구성할 수 있다. 상기 로우 업-카운터()(70)는 0∼(I/2)-1까지 순환 카운팅하고, 로우 다운-카운터()(80)는 (I/2)-1∼0까지 순환 카운팅한다. 그리고 상기 로우 업/다운 카운터(70,80)가 한번 순환을 하면 컬럼 카운터들(90∼100)의 카운팅 값은 1씩 증가한다. 상기 컬럼 카운터들(90∼100) 역시 0에서 카운팅 시작하는 순환 카운터들이다. 메모리 어드레스는 상기 로우 업/다운 카운터(70,80)들과 컬럼 카운터들(90∼100)들의 카운팅 값 조합에 의해 생성되어지며 이를 수학식으로 표현하면 하기 수학식 2와 같다.4 is a diagram illustrating a two-dimensional structure (b) of a memory used in a data deinterleaver and a configuration diagram (a) of the memory address generator according to another exemplary embodiment of the present invention. Referring to FIG. 4A, another memory address generation unit according to an embodiment of the present invention may include column counters 90 to 100 corresponding to the interleaver depth I, as shown in FIG. Low up-counter ) 70 and low down-counter ) Can be configured. The low up-counter ( 70 cycles through 0 to (I / 2) -1 and the low down-counter ( ) 80 cyclically counts from (I / 2) -1 to 0. When the row up / down counters 70 and 80 are cycled once, the counting value of the column counters 90 to 100 increases by one. The column counters 90-100 are also circular counters that start counting at zero. The memory address is generated by a combination of counting values of the row up / down counters 70 and 80 and the column counters 90 to 100, which is represented by Equation 2 below.

상기 수학식 2에서는 각각 메모리의 오른쪽으로 시프트된 양 만큼의 오프셋을 갖는다. 오프셋의 값은의 값으로 할당된다. 즉, 인터리버 깊이(I)가 6이라면는 4,는 5,은 6의 오프셋을 갖는다. 만약 로우 카운터가 0번 순환하는 경우의 어드레스는 상0,1,2,14,16,18이 되고, 로우 카운터가 1번 순환하는 경우에는 3,4,5,17,19,18이 된다. 그리고 로우 카운터가 2번 순환하면 어드레스는 6,7,8,20,16,18이 되고, 4번 순환 및 5번 순환하는 경우에는 각각 12,13,2,17,16,18과 15,1,5,20,19,18이 된다.In Equation 2 Each has an offset by the amount shifted to the right of the memory. The value of the offset Is assigned the value of. That is, if the interleaver depth I is 6 Is 4, Is 5, Has an offset of 6. If the row counter cycles 0 times, the addresses are 0, 1, 2, 14, 16, 18, and if the row counter cycles once, it is 3, 4, 5, 17, 19, 18. If the low counter cycles twice, the address becomes 6,7,8,20,16,18, and in the fourth cycle and the fifth cycle, 12,13,2,17,16,18, and 15,1, respectively. , 5, 20, 19, 18.

이러한 경우 어드레스 발생부에서 발생된 어드레스 값은 0∼20까지이며, 이러한 어드레스를 2차원 구조의 메모리상에 나타내면 도 4의 (b)에 도시한 바와 같게 된다. 즉, 로우 카운터 2개를 이용하면 하나의 로우 카운터를 사용하는 경우 보다 메모리 사이즈를 1/2배로 줄일 수 있기 때문에 메모리 사이즈를 소형화할 수 있게 되는 것이다.In this case, the address value generated by the address generator is from 0 to 20. When such an address is displayed on a memory having a two-dimensional structure, it is as shown in Fig. 4B. In other words, by using two row counters, the memory size can be reduced by 1/2 times as compared to using one row counter, thereby miniaturizing the memory size.

상술한 바와 같이 본 발명은 데이터 디인터리버를 메모리를 사용하여 구현할 수 있기 때문에 인터리버의 깊이(I) 및 넓이(J) 변화에 대해서 신축성 있게 대처할 수 있으며, 메모리 사이즈를 효율적으로 사용함으로써 칩 구현에 따른 게이트 수를 감소시킬 수 있는 장점이 있다.As described above, since the data deinterleaver can be implemented using a memory, the present invention can flexibly cope with a change in the depth (I) and the width (J) of the interleaver. There is an advantage that can reduce the number of gates.

Claims (3)

데이터 디인터리버에 있어서,In the data deinterleaver, 인터리브된 데이터가 저장되는 메모리와,A memory in which interleaved data is stored; 인터리버 깊이 만큼 시스템 클럭을 순환 카운팅하는 로우 카운터와,A low counter that cyclically counts system clocks by the interleaver depth, 상기 로우 카운터의 1싸이클 순환 카운팅 완료시마다 카운팅 증가하여 일련의 순환 카운팅 동작을 반복하는 인터리버 깊이 만큼의 컬럼 카운터들과,Column counters corresponding to the depth of the interleaver to increase the counting at the completion of one cycle cyclic counting of the low counter to repeat a series of cyclic counting operations; 상기 로우 카운터 값 입력에 따라 상기 컬럼 카운터들의 출력을 순차적으로 선택 출력하는 멀티플렉서와,A multiplexer for sequentially selecting and outputting outputs of the column counters according to the row counter value input; 상기 멀티플렉서의 출력에 상기 인터리버 깊이를 승산한후 상기 로우 카운터 값을 가산하여 상기 인터리브된 데이터의 디인터리브 시 사용되는 상기 메모리의 어드레스를 발생시키는 연산부로 구성되며,And an operation unit generating an address of the memory used to deinterleave the interleaved data by multiplying the output of the multiplexer by the interleaver depth and adding the low counter value. 상기 메모리의 어드레스는 하기 식이 이용되어 발생됨을 특징으로 하는 데이터 디인터리버.The address of the memory is generated using the following equation. 데이터 디인터리버에 있어서,In the data deinterleaver, 인터리브된 데이터가 저장되는 메모리와,A memory in which interleaved data is stored; 인터리버 깊이(I) 절반 만큼의 시스템 클럭을 순환 카운팅하는 로우 업/다운 카운터들과,Low up / down counters for cyclically counting the system clock by half the interleaver depth (I), 상기 로우 업/다운 카운터 각각의 1싸이클 순환 카운팅 완료시마다 카운팅 증가하여 일련의 순환 카운팅 동작을 반복하는 인터리버 깊이(I) 만큼의 컬럼 카운터들과,Column counters equal to the interleaver depth (I) for increasing the counting upon completion of one cycle cyclic counting of each of the low up / down counters and repeating a series of cyclic counting operations; 상기 인터리버 깊이(I)의 절반 만큼의 컬럼 카운터 출력을 순차적으로 선택하여 상기 인터리버 깊이(I)의 절반 값을 승산한후 상기 로우 업 카운터의 값을 가산하고, 나머지 상기 인터리버 깊이(I) 절반 만큼의 컬럼 카운터 출력을 순차적으로 선택하여 각각의 오프셋 값을 준 카운터값에 상기 인터리버 깊이(I)의 절반 값을 승산한후 상기 로우 다운 카운터의 값을 가산하여 메모리 어드레스를 발생시키는 연산부로 구성되며,Select the column counter output as much as half of the interleaver depth I, multiply the half value of the interleaver depth I, add the value of the low up counter, and add the remaining half of the interleaver depth I by half. And a multi-counter that sequentially selects the column counter output of the multiplier and multiplies one half of the interleaver depth (I) by the counter value given the respective offset value, and then adds the value of the low down counter to generate a memory address. 상기 메모리의 어드레스는 하기 식이 이용되어 발생됨을 특징으로 하는 데이터 디인터리버.The address of the memory is generated using the following equation. 인터리브된 데이터가 저장되는 메모리를 액세스하기 위한 어드레스를 발생하는 방법에 있어서,A method of generating an address for accessing a memory in which interleaved data is stored, the method comprising: 인터리버 깊이(I) 만큼 시스템 클럭을 반복 순환 카운팅하면서 로우 카운터 값을 발생하는 제1과정과,A first step of generating a low counter value while repeatedly cyclically counting a system clock by an interleaver depth (I), 상기 인터리버 깊이(I) 각각에 대하여 상기 로우 어드레스의 1싸이클 순환 카운팅 완료시마다 카운팅 증가하여 일련의 순환 카운팅 동작을 반복하면서 상기 인터리버 깊이(I) 만큼의 컬럼 카운터 값들을 발생하는 제2과정과,A second process of generating a column counter value equal to the interleaver depth I while repeating a series of cyclic counting operations by increasing the counting for each of the interleaver depths I for each cycle cyclic counting of the row address; 상기 로우 카운터 값 출력에 따라 상기 컬럼 카운터 값들을 순차적으로 선택하여 상기 인터리버 깊이(I)를 승산한후 상기 로우 카운터 값을 가산하는 하기 식을 이용하여 상기 메모리의 어드레스를 발생시키는 제3과정으로 이루어짐을 특징으로 하는 메모리 어드레스 발생방법.And a third step of generating the address of the memory using the following equation of multiplying the interleaver depth (I) by sequentially selecting the column counter values according to the low counter value output and adding the low counter value. Memory address generation method characterized in that.
KR1019990036163A 1999-08-28 1999-08-28 Data de-interleaver and address generation method KR100350683B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990036163A KR100350683B1 (en) 1999-08-28 1999-08-28 Data de-interleaver and address generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990036163A KR100350683B1 (en) 1999-08-28 1999-08-28 Data de-interleaver and address generation method

Publications (2)

Publication Number Publication Date
KR20010019641A KR20010019641A (en) 2001-03-15
KR100350683B1 true KR100350683B1 (en) 2002-08-28

Family

ID=19609134

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990036163A KR100350683B1 (en) 1999-08-28 1999-08-28 Data de-interleaver and address generation method

Country Status (1)

Country Link
KR (1) KR100350683B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930017444A (en) * 1992-01-23 1993-08-30 강진구 Deinterleave Method and Deinterleave Device of D2 MAC Receiver
US5537420A (en) * 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
KR970031526A (en) * 1995-11-30 1997-06-26 유기범 A clock-address comparator in a synchronous transmission system
KR19980067969A (en) * 1997-02-14 1998-10-15 김광호 Interleaving and Deinterleaving with Convolutional Interleaver and Deinterleaver in High Definition Television
JPH10336594A (en) * 1997-05-30 1998-12-18 Jisedai Digital Television Hoso Syst Kenkyusho:Kk Multi-carrier transmission interleave device and its method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930017444A (en) * 1992-01-23 1993-08-30 강진구 Deinterleave Method and Deinterleave Device of D2 MAC Receiver
US5537420A (en) * 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
KR970031526A (en) * 1995-11-30 1997-06-26 유기범 A clock-address comparator in a synchronous transmission system
KR19980067969A (en) * 1997-02-14 1998-10-15 김광호 Interleaving and Deinterleaving with Convolutional Interleaver and Deinterleaver in High Definition Television
JPH10336594A (en) * 1997-05-30 1998-12-18 Jisedai Digital Television Hoso Syst Kenkyusho:Kk Multi-carrier transmission interleave device and its method

Also Published As

Publication number Publication date
KR20010019641A (en) 2001-03-15

Similar Documents

Publication Publication Date Title
US5940863A (en) Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators
EP1138121B1 (en) Efficient implementation of proposed turbo code interleavers for third generation code division multiple access
JP5464752B2 (en) Receiver, interleave and deinterleave circuit, and method
US6748561B2 (en) Interleavers and de-interleavers
US6178530B1 (en) Addressing scheme for convolutional interleaver/de-interleaver
GB2315002A (en) Convolutional interleaver and method for generating address
EP1125366B1 (en) Generalized convolutional interleaver/deinterleaver
JP3553546B2 (en) Address generator for use in a multi-stage channel interleaver / deinterleaver
US6138262A (en) Memory address generator in convolutional interleaver/deinterleaver
JP3361812B2 (en) Interleaving and deinterleaving processing and device for each block
US6748033B1 (en) De-interleave circuit
JP3796250B2 (en) Deinterleaving apparatus for digital communication system and deinterleaving method thereof
WO2009060185A2 (en) Interleaving or de-interleaving a stream of data received in successive frames
KR100350683B1 (en) Data de-interleaver and address generation method
EP1610467A1 (en) Efficient address generation for Forney&#39;s modular periodic interleavers
JP3549756B2 (en) Block interleave circuit
KR100230912B1 (en) Error data removing unit and its method by decoding delay of hdtv
KR20030062079A (en) Turbo permutator and turbo decoder using the same
GB2272983A (en) Calculating the reciprocal of an arbitrary element in a finite field.
JPH08265177A (en) Interleave data processing unit
KR930011573B1 (en) Bch codec capable of double error correct
KR100338635B1 (en) Address generating device and method for use in multi-stage channel interleaver/deinterleaver
JPH08335887A (en) Interleave address generation circuit for plural interleave matrixes
KR20000040826A (en) Convolutional deinterleaver
JPH10308677A (en) Convolutional deinterleaver for digital communication equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080731

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee