KR19990085749A - Bit deinterleaving method - Google Patents

Bit deinterleaving method Download PDF

Info

Publication number
KR19990085749A
KR19990085749A KR1019980018358A KR19980018358A KR19990085749A KR 19990085749 A KR19990085749 A KR 19990085749A KR 1019980018358 A KR1019980018358 A KR 1019980018358A KR 19980018358 A KR19980018358 A KR 19980018358A KR 19990085749 A KR19990085749 A KR 19990085749A
Authority
KR
South Korea
Prior art keywords
data
address
read
block
bit
Prior art date
Application number
KR1019980018358A
Other languages
Korean (ko)
Other versions
KR100493268B1 (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 KR1019980018358A priority Critical patent/KR100493268B1/en
Publication of KR19990085749A publication Critical patent/KR19990085749A/en
Application granted granted Critical
Publication of KR100493268B1 publication Critical patent/KR100493268B1/en

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6112Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving terrestrial transmission, e.g. DVB-T
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J11/00Orthogonal multiplex systems, e.g. using WALSH codes
    • H04J2011/0003Combination with other multiplexing techniques
    • H04J2011/0009Combination with other multiplexing techniques with FDM/FDMA

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Error Detection And Correction (AREA)

Abstract

DVB-T 시스템에서 인터리빙되어 수신되는 데이터를 다시 원래 상태로 디인터리빙하는 방법에 관한 것으로서, 특히 처음에 수신되는 데이터는 한 블록 사이즈에 해당하는 만큼 메모리에 순차적으로 라이트한 후 한 블록 사이즈에 해당하는 데이터의 라이트가 완료되면 소정 간격만큼 쉬프트되어 순차 발생되는 어드레스에 따라 라이트된 데이터의 리드를 수행하고 데이타가 리드된 바로 그 어드레스 위치에 입력되는 데이타를 라이트하는 과정을 블록마다 반복 수행함으로써, 여러개의 캐리어를 사용하는 OFDM 시스템의 비트 인터리버/디인터리버의 구현이나 입력되는 비트의 순서가 일정한 크기만큼 쉬프트되어 출력되는 모든 종류의 인터리버/디인터리버를 구현할 때에 단지 한 블록 사이즈에 해당하는 메모리의 양으로도 데이터 손실없이 인터리빙/디인터리빙이 가능하므로, 실제 이러한 인터리버/디인터리버를 IC로 디자인할 때에 필요로하는 내부 메모리의 양을 줄일 수 있어 IC화가 용이해진다.The present invention relates to a method of deinterleaving data interleaved and received in a DVB-T system to an original state, and more particularly, to a method of deinterleaving data received in a DVB- When the writing of the data is completed, the process of reading the written data according to the address sequentially shifted by the predetermined interval and writing the data inputted at the immediately address position where the data is read is repeated for each block, When implementing a bit interleaver / deinterleaver of an OFDM system using a carrier or implementing all kinds of interleavers / deinterleavers in which the order of input bits is shifted by a predetermined magnitude and output, the amount of memory corresponding to only one block size Interleaving / di Since emitter Living is possible, it is easily upset IC can reduce the amount of internal memory required when the actual design of these interleaver / deinterleaver to the IC.

Description

비트 디인터리빙 방법Bit deinterleaving method

본 발명은 유럽의 디지털 TV 전송에 관한 것으로서, 특히 DVB-T(Digital Video Broadcasting-Terrestrial) 시스템에서 인터리빙(Interleaving)되어 수신되는 데이터를 다시 원래 상태로 디인터리빙(Deinterleaving)하는 비트 디인터리빙 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital TV transmission in Europe and, more particularly, to a bit deinterleaving method for deinterleaving data received in interleaving in a DVB-T (Digital Video Broadcasting-Terrestrial) will be.

디지털 TV의 전송 방식에는 지금까지의 전송 방식과 같이 하나의 단일 캐리어를 이용하는 싱글 캐리어 변조 방식과 복수의 다중 캐리어를 이용하여 원하고자 하는 데이터를 전송하는 멀티-캐리어의 전송 방식으로 크게 구분할 수 있다. 즉, 하나의 단일 캐리어를 이용하는 VSB 방식과 여러개의 복수 캐리어를 이용하는 부호화 직교주파수 분할 다중(Coded Orthogonal Frequency Division Multiplexing ; COFDM) 변조 방식으로 구분된다.The transmission method of the digital TV can be largely classified into a single carrier modulation method using one single carrier and a multi-carrier transmission method using multiple carriers to transmit desired data as in the conventional transmission methods. In other words, it is divided into a VSB scheme using one single carrier and a Coded Orthogonal Frequency Division Multiplexing (COFDM) modulation scheme using multiple carriers.

그리고, DVB-T 시스템은 유럽의 지상파 디지털 TV 전송 시스템으로 현재 유럽의 몇몇 국가에서 시험방송 중인데, 이 DVB-T 시스템의 전송 방식은 COFDM 방식을 사용한다. 상기 COFDM 방식은 전송하는 한 심볼내의 캐리어의 수에 따라 캐리어의 수가 1705개인 2K 모드와 6817개인 8K 모드로 다시 나뉘어진다.The DVB-T system is a terrestrial digital TV transmission system in Europe and is currently under trial broadcast in several European countries. The DVB-T system uses a COFDM transmission method. The COFDM scheme is divided into a 2K mode with 1705 carriers and an 8K mode with 6817 carriers according to the number of carriers in a symbol to be transmitted.

이러한 COFDM 방식은 그 전송방식이 종래의 DVB-C(Cable)나 DVB-S(Satellite)와 달리 송신단에서 역 고속 푸리에 변환(Inverse Fast Fourier Transform ; IFFT)을 이용하여 전송을 하고 수신단에서는 FFT를 이용하여 복조하는 것이 차이가 있으나, 오류 정정 부호화(FEC) 부분은 다른 DVB-C나 DVB-S와 공유를 하고 있는 특징을 가지고 있다. 이러한 다른 규격과의 공유 부분 이외에 새로이 첨가되는 부분이 바로 내부 인터리버(Inner Interleaver)라 할 수 있다. 즉, 송신측에서 내부 인터리브를 수행하여 데이터를 전송하게 되면 전송 주파수 대역에서 특정한 부분에 발생하게 되는 주파수 널(Frequency Null)이 전체 주파수 대역으로 조금씩 나누어 퍼지게 되어 멀티패스 채널 환경에서 발생하게 되는 주파수 널에 의한 성능 저하를 향상시킬 수 있다.Unlike the conventional DVB-C (cable) or DVB-S (Satellite), the COFDM scheme transmits data using an Inverse Fast Fourier Transform (IFFT) at a transmitter and uses an FFT (FEC) part is characterized by sharing with other DVB-C or DVB-S. In addition to the sharing with other standards, a newly added portion is an inner interleaver. That is, when data is transmitted by performing internal interleaving at the transmitting end, a frequency null that occurs in a specific part of the transmission frequency band is divided into a whole frequency band, It is possible to improve the performance degradation due to the above-mentioned problems.

이를 위해 상기 내부 인터리버는 다시 비트 인터리버와 심볼 인터리버로 이루어진다. 비트 인터리버는 전송하려는 디지털 데이터를 각각 일정한 크기의 비트 단위로 인터리빙하는 것이고, 심볼 인터리버는 비트 단위로 인터리빙된 데이터를 다시 심볼 단위로 인터리빙하는 것을 말한다. 여기서, 비트 인터리버는 일정한 COFDM 비트 단위로 송신단에서는 인터리빙을, 수신단에서는 디인터리빙을 행하는 것이다. 이러한 비트 인터리버/디인터리버에서 주된 동작은 메모리에 입력되는 데이터를 비트 인터리빙/디인터리빙 규칙에 의해 발생되는 어드레스에 의해 라이트하여 주고 다시 리드하여 주는 것이다.To this end, the inner interleaver is composed of a bit interleaver and a symbol interleaver. The bit interleaver interleaves the digital data to be transmitted in a bit unit of a predetermined size, and the symbol interleaver interleaves the data interleaved on a bit by bit basis. Here, the bit interleaver performs interleaving at the transmitting end and deinterleaving at the receiving end in units of constant COFDM bits. The main operation in such a bit interleaver / deinterleaver is to write data inputted to the memory by an address generated by the bit interleaving / deinterleaving rule and to read the data again.

도 1은 종래의 인터리빙/디인터리빙 방법을 나타낸 것으로서, 인터리빙/디인터리빙의 기본이 되는 입력되는 데이터의 순서가 어느 일정한 크기만큼 쉬프트되어 출력이 되려면 일반적으로 블록 사이즈(N) 만큼의 크기를 가지는 메모리가 2개 필요하게 된다. 이것은 데이터의 순서를 원하는 규칙으로 바꾸기 위해 우선 입력되는 신호를 매 심볼마다 일정한 크기의 메모리에 모두 저장한 후 정해진 규칙에 의해서 발생된 다른 순서로 다시 데이터를 출력시켜야 하기 때문이다.FIG. 1 illustrates a conventional interleaving / deinterleaving method. In order to shift the order of input data, which is the basis of interleaving / de-interleaving, by a predetermined amount and output, a memory having a size of block size (N) 2 " This is because in order to change the order of data into a desired rule, the input signal must first be stored in a memory of a predetermined size for each symbol, and then the data must be output again in a different order generated by the predetermined rule.

이를 위해 상기 2개의 메모리중 스위칭에 의해 하나의 메모리에 데이터를 라이트(Write)하고 한 블록이 다 라이트된 후에는 다시 다른 메모리에 데이터를 라이트한다. 즉, 입력되는 데이터의 메모리 라이트는 우선 하나의 메모리에 데이터를 라이트한 후 한 블록의 라이트가 끝나면 다시 다른 메모리에 라이트를 하는 과정을 번갈아 가며 교대로 수행한다. 리드 과정도 동일하다.To do so, data is written to one memory by switching among the two memories and data is written again to another memory after one block is written. That is, the memory write of the input data alternately performs the process of alternately writing data to one memory and writing data to another memory after completing writing of one block. The lead process is the same.

예컨대, 인터리빙 또는 디인터리빙 규칙에 따라 발생하는 어드레스를 입력받아 메모리 1에 데이터를 라이트하고 있으면 메모리 2로부터 데이터를 리드하고, 메모리 1에의 데이터 라이트 및 메모리 2로부터의 데이터 리드가 모두 끝나면 다시 메모리 1로부터 데이터를 리드하고 동시에 메모리 2에는 데이터를 라이트하는 과정을 교대로 수행한다.For example, if an address generated in accordance with the interleaving or deinterleaving rule is input and the data is written in the memory 1, the data is read from the memory 2. When the data write to the memory 1 and the data reading from the memory 2 are completed, Data is read and data is written to the memory 2 at the same time.

그러나, 상기된 방법은 메모리의 제어는 쉬울 수 있으나 메모리의 용량이 인터리빙(또는 디인터리빙)에 필요한 블록 사이즈(N)의 2배가 필요하게 되므로, 실제 IC로 구현할 때에 게이트의 수가 증가할 뿐만 아니라 IC의 크기도 커져 DVB-T 수신 시스템을 IC화하는데 있어서 큰 장애가 된다.However, since the above-described method can easily control the memory, the memory capacity needs to be twice the block size (N) required for interleaving (or deinterleaving). Therefore, The size of the DVB-T receiving system becomes large, which is a great obstacle to the integration of the DVB-T receiving system into an IC.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 심볼 디인터리빙된 데이터를 블록 단위로 메모리에 라이트하고 나서 라이트된 데이타의 리드 후 라이트를 수행할 수 있도록 함으로써, 메모리 크기를 줄이는 비트 디인터리빙 방법을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to reduce the memory size by allowing the symbol deinterleaved data to be written to the memory block unit, And a bit deinterleaving method.

도 1은 종래의 인터리빙/디인터리빙 처리에 필요한 메모리를 나타낸 블럭도1 is a block diagram showing a memory required for a conventional interleaving / deinterleaving process

도 2는 본 발명에 따른 DVB-T 수신 시스템의 전체 블록도2 is an overall block diagram of a DVB-T receiving system according to the present invention

도 3은 본 발명에 따른 인터리빙/디인터리빙 처리에 필요한 메모리를 나타낸 블록도3 is a block diagram showing a memory required for interleaving / deinterleaving processing according to the present invention.

도 4는 도 3의 비트 디인터리버의 상세 블록도4 is a detailed block diagram of the bit deinterleaver of FIG.

도 5의 (a) 내지 (d)는 도 4의 비트 디인터리버의 각 부의 입/출력 타이밍도5 (a) to 5 (d) are input / output timing diagrams of respective parts of the bit deinterleaver of FIG. 4

도 6의 (a) 내지 (c)는 도 4의 비트 디인터리버의 어드레스 발생 타이밍도6 (a) to (c) show the address generation timing diagram of the bit deinterleaver of FIG. 4

도 7은 본 발명에 따른 비트 디인터리빙 방법을 나타낸 흐름도7 is a flowchart illustrating a bit deinterleaving method according to the present invention.

도 8의 (a) 내지 (c)는 비터비 디코더와의 접속을 위한 비트 디인터리버의 출력 상태를 나타낸 타이밍도8A to 8C are timing diagrams showing output states of a bit deinterleaver for connection with a Viterbi decoder.

도면의 주요부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS

21 : 제어부 22 : 디맵퍼 및 심볼 디인터리버21: control unit 22: demapper and symbol deinterleaver

23 : 비트 인터리버 41 : 카운터23: bit interleaver 41: counter

42 : 어드레스 발생부 43 : 메모리42: address generator 43: memory

44 : 멀티플렉서44: Multiplexer

상기와 같은 목적을 달성하기 위한 본 발명에 따른 비트 디인터리빙 방법은 처음에 수신되는 데이터는 한 블록 사이즈에 해당하는 만큼 메모리에 순차적으로 라이트한 후 한 블록 사이즈에 해당하는 데이터의 라이트가 완료되면 소정 간격만큼 쉬프트되어 순차 발생되는 어드레스에 라이트된 데이터의 리드를 수행하고 데이타가 리드된 바로 그 어드레스 위치에 입력되는 데이타를 라이트하는 과정을 블록마다 반복 수행함을 특징으로 한다.According to another aspect of the present invention, there is provided a bit de-interleaving method for sequentially writing data received in a memory to a block size corresponding to a block size, And a process of reading data written in an address sequentially shifted by an interval and writing the data input at the immediately address position where data is read is repeated for each block.

이러한 비트 디인터리빙 방법에 의해 비트 디인터리빙에 필요한 블록 사이즈에 해당하는 메모리 용량만으로 비트 디인터리빙을 수행할 수 있으며, 마찬가지로 송신측에서는 비트 인터리빙을 수행할 수 있다.With such a bit deinterleaving method, bit deinterleaving can be performed only with a memory capacity corresponding to a block size necessary for bit deinterleaving, and bit interleaving can be performed on the transmitting side as well.

여기서, 인터리빙은 송신측에서 수행하는 것이고 디인터리빙은 수신측에서 수행하는 것으로, 데이터의 입/출력 순서만 다를뿐이다. 그러므로, 본 발명에서는 실시예로 디인터리빙에 대해서만 설명한다.Here, the interleaving is performed by the transmitting side, and the deinterleaving is performed by the receiving side, and only the input / output order of the data is different. Therefore, in the present invention, only deinterleaving is described as an embodiment.

본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the detailed description of embodiments with reference to the accompanying drawings.

이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 DVB-T 수신 시스템의 구성 블록도로서, 등화기로부터 출력되는 데이터를 디맵핑한 후 디매핑된 데이터에 대해 심볼 디인터리빙을 수행하는 디맵퍼 및 심볼 디인터리버(22), 심볼 단위로 디인터리빙된 데이터를 다시 비트 단위로 디인터리빙하는 비트 디인터리버(23), 및 수신되는 TPS 정보를 이용하여 디맵핑 및 디인터리빙을 제어하는 TPS 제어부(21)로 구성된다.FIG. 2 is a block diagram of a DVB-T receiving system according to the present invention. The DVB-T receiving system includes a demapper and a symbol deinterleaver 22 for demapping data output from an equalizer and performing symbol deinterleaving on demapped data, A bit deinterleaver 23 for deinterleaving the data deinterleaved on a symbol basis by bit basis, and a TPS controller 21 for controlling de-mapping and deinterleaving using the received TPS information.

이와같이 구성된 본 발명에서 디맵퍼(22)는 등화기로부터 출력되는 데이터를 디매핑한다. 이때 디매핑 방법은 보통 3비트나 4비트의 소프트 디시젼을 이용하여 행한다. COFDM 규격은 여러 가지 모드에 대해 다 수용하도록 정의되어 있으며 이러한 여러 가지 모드의 정보는 TPS(Transmission Parameter Signaling)에 의해 보내어지게 되고 수신단에서는 TPS 정보를 이용하여 디맵퍼 및 심볼 디인터리버(22), 비트 디인터리버(23), 비터비 디코더등 기타 여러 가지 부분에 이용을 한다.In the present invention configured as described above, the demapper 22 demaps the data output from the equalizer. In this case, the demapping method is usually performed using 3-bit or 4-bit soft decision. The COFDM standard is defined to be compatible with various modes. The information of the various modes is sent by TPS (Transmission Parameter Signaling). At the receiving end, the demapper and symbol deinterleaver 22, A deinterleaver 23, a Viterbi decoder, and the like.

즉, TPS 제어부(21)는 전송에 관련된 여러 가지 파라미터 데이터를 송신단에서 삽입하여 전송하는데 이러한 데이터가 TPS 디코더에서 TPS 인에이블 신호(tps_en)와 TPS 데이터(tps_data)로 복호되어 출력되며, TPS 제어부(21)로 입력되면 TPS 제어부(21)는 이를 각기 필요한 여러 가지 블록에 제공하는데, 그 중 별자리에 관한 정보 tps_const를 디맵퍼 및 심볼 디인터리버(22), 비트 디인터리버(23)에 제공하고 각각의 OFDM 심볼에 대한 정보 symbol_index를 심볼 디인터리버에 제공한다.That is, the TPS controller 21 inserts various parameter data related to the transmission at the transmitting end and transmits the data. The TPS decoder decodes the data into the TPS enable signal (tps_en) and the TPS data (tps_data) 21, the TPS controller 21 provides the tps_const information about the constellation to the demapper and symbol deinterleaver 22 and the bit deinterleaver 23, And provides information symbol_index for the OFDM symbol to the symbol deinterleaver.

또한, 등화기로부터 출력되는 데이터는 등화기의 turn_on을 나타내는 eg_flag, OFDM 심볼의 시작을 나타내는 eq_sync, 파일롯이 아닌 액티브 캐리어 데이터를 나타내는 carrier_en, 그리고 각각의 I,Q 데이터를 나타내는 equal_I, equal_Q, 채널 상태 정보를 나타내는 CSI(Channel State Information)등이 디맵퍼 및 심볼 디인터리버(22)로 입력된다.The data output from the equalizer includes eg_flag indicating the turn_on of the equalizer, eq_sync indicating the beginning of the OFDM symbol, carrier_en indicating the active carrier data, not the pilot, and equal_I, equal_Q indicating the respective I and Q data, And CSI (Channel State Information) indicating information are input to the demapper and symbol deinterleaver 22.

상기 디맵퍼 및 심볼 디인터리버(22)에서는 등화기의 출력과 채널 상태 정보인 CSI(Channel State Information)를 이용하여 송신단에서 매핑시킨 원래의 데이터로 디매핑을 하며, 디매핑된 데이터는 일정한 OFDM 심볼 단위로 데이터를 뒤섞는 심볼 디인터리빙을 한 후 비트 디인터리버(23)로 출력한다. 상기 비트 디인터리버(23)에서는 심볼 단위의 데이터를 다시 비트 단위로 뒤섞는 비트 디인터리빙을 한 후 최종적으로 FEC단으로 출력한다.The demapper and symbol deinterleaver 22 demaps the output of the equalizer and the original data mapped by the transmitter using CSI (Channel State Information), which is channel state information, and the demapped data is a constant OFDM symbol And outputs the resultant data to a bit deinterleaver 23. The bit deinterleaver 23 performs bit deinterleaving for bit-by-bit interleaving of the symbol-by-symbol data, and finally outputs the data to the FEC stage.

도 3은 본 발명에 따른 비트 디인터리빙을 위한 메모리 제어 방법을 나타낸 것으로서, 블록 사이즈 N(COFDM 시스템에서는 126비트가 한 블록 사이즈임.)만큼의 메모리 크기로 구현된다. 이는 입력되는 데이터를 우선 일정한 순서에 의해 메모리에 라이트를 하여 한 블록의 크기가 라이트된 후에는 다시 어느 일정한 어드레스에 의해 리드를 하면서 더불어 그 어드레스에 라이트함에 의해 가능해진다.FIG. 3 shows a memory control method for bit deinterleaving according to the present invention, which is implemented with a memory size of block size N (126 bits in COFDM system is one block size). This is achieved by first writing the input data into the memory in a predetermined order and writing the address to the address while reading the size of one block after reading it by a certain address.

도 4는 비트 디인터리버의 상세 블록도로서, 상기 디맵퍼 및 심볼 디인터리버(22)에서 출력되는 각종 제어 신호에 의해 입력되는 데이터를 카운트하고 그에 따른 제어 신호를 출력하는 카운터(41), 상기 카운터(41)에서 발생되는 제어 신호에 따라 리드/라이트 어드레스를 발생하는 어드레스 발생부(42), 및 상기 어드레스 발생부(43)에서 제공하는 어드레스에 따라 입력되는 데이터를 라이트하고 리드하여 디인터리빙을 수행하는 블록 사이즈의 메모리(43)로 구성되며, 상기 메모리(43)에서 출력되는 데이터를 이후의 연결(비터비 디코더)을 위하여 적절한 데이터 순서로 출력하는 멀티플렉서(44)가 구비된다.4 is a detailed block diagram of a bit deinterleaver, which includes a counter 41 for counting data input by various control signals output from the demapper and symbol deinterleaver 22 and outputting a control signal corresponding thereto, An address generator 42 for generating a read / write address in accordance with a control signal generated by the address generator 41, and a controller 42 for writing and reading the data input in accordance with the address provided by the address generator 43 and performing deinterleaving And a multiplexer 44 for outputting the data output from the memory 43 in a proper data order for a subsequent connection (Viterbi decoder).

즉, 상기 디맵퍼 및 심볼 디인터리버(22)로부터의 출력 즉, 심볼의 인덱스를 나타내는 bit_index 신호와 앞단 동작의 턴-온을 나타내는 bit_flag 신호와 매 심볼의 시작을 나타내는 bit_sync 신호와 매 심볼에서의 유효한 액티브 캐리어의 구간을 나타내는 bit_dvald 신호가 카운터(41)로 입력된다. 상기 카운터(41)는 앞단의 동작 턴-온 신호(bit_flag)가 하이로 된 이후 입력되는 심볼의 시작점 신호(bit_sync)가 도 5의 (a)와 같이 하이로 된 후 액티브 캐리어의 구간을 나타내는 bit_dvald 신호가 도 5의 (b)와 같이 하이일때만 입력 데이터를 카운팅한다. 상기 bit_sync 신호 이후 유효한 데이터의 구간인 bit_dvald 신호의 처음부터 즉, 카운터(41)의 카운팅이 시작되면 도 5의 (c)와 같이 입력되는 데이터는 일정한 어드레스로 메모리(43)에 라이트하게 된다.In other words, a bit_index signal indicative of an output of the demapper and the symbol deinterleaver 22, that is, a symbol index, a bit_flag signal indicating the turn-on of the front end operation, a bit_sync signal indicating the start of each symbol, A bit_dvald signal indicative of a section of the active carrier is input to the counter 41. 5 (a), after the start signal (bit_sync) of a symbol input after the previous operation turn-on signal (bit_flag) becomes high, the counter 41 outputs a bit_dvald The input data is counted only when the signal is high as shown in FIG. 5 (b). When counting of the counter 41 starts from the beginning of the bit_dvald signal which is a valid data interval after the bit_sync signal, the data input as shown in FIG. 5C is written to the memory 43 at a constant address.

이때, 카운팅 값이 일정한 블록 사이즈 N이 되면 read_flag 신호를 하이로 만들어준다. 즉, 상기 메모리(43)의 라이트가 일정한 블록 사이즈 N만큼 행해져 상기 read_flag 신호가 하이로 되면 도 5의 (d)와 같이 메모리(43)에 저장된 데이터의 리드를 시작한다.At this time, when the count value reaches a constant block size N, the read_flag signal is made high. That is, when the memory 43 is written by a predetermined block size N and the read_flag signal becomes high, the reading of the data stored in the memory 43 is started as shown in FIG. 5 (d).

이렇게 라이트 시작 시점 이후 한 블록 사이즈 N만큼의 데이터 라이트 이후에 리드를 행하게 함으로써, 한 블록 사이즈의 메모리만으로도 충분히 구현이 가능하게 된다.By reading the data after the data write of one block size N after the write start time, the memory of one block size can be sufficiently implemented.

그리고, 도 5의 (d)에서와 같은 블록 간격(block interval)은 이러한 블록의 크기에 해당하는 구간을 나타내며, bit_dvald 신호에 있어서 bit_sync가 하이로 입력되는 이후의 구간에서의 로우 신호는 보호 구간이나 파일롯 신호(non-active carrier)에 해당하는 데이터를 나타낸다. 또한, 한번의 bit_sync가 출력된 후 그 다음의 bit_sync 신호가 입력될 때까지의 구간이 바로 한 OFDM 심볼 구간이 된다.The block interval shown in (d) of FIG. 5 represents a period corresponding to the size of the block. In the bit_dvald signal, a low signal in a period after the bit_sync is input as high is a protection interval And represents data corresponding to a pilot signal (non-active carrier). In addition, the interval from the output of one bit_sync to the input of the next bit_sync signal is just one OFDM symbol interval.

그러므로, bit_sync 신호가 하이로 된 이후 입력되는 데이터는 메모리(43)에 계속 라이트된다.Therefore, the data to be inputted after the bit_sync signal becomes high is continuously written in the memory 43.

한편, 도 4의 어드레스 발생부(42)에서는 각기 라이트와 리드시에 필요한 어드레스를 발생시키는데, OFDM의 경우에는 6가지 종류의 어드레스 발생(I0∼I5)으로서 필요한 어드레스가 모두 만족된다. 또한, 메모리(43)는 입력되는 심볼 디인터리버의 출력 데이터(bd0∼bd5)를 라이트하며 어드레스 발생부(42)에서 발생된 어드레스에 따라 각기 필요시에 데이터를 리드 또는 라이트하여 준다.On the other hand, the address generating unit 42 shown in Fig. 4 generates addresses necessary for writing and reading, respectively. In the case of OFDM, all the addresses required for six types of address generation (I0 to I5) are satisfied. The memory 43 writes the output data (bd0 to bd5) of the input symbol deinterleaver and reads or writes the data according to the address generated by the address generating unit 42, when necessary.

도 6은 상기 메모리(43)에 데이터를 라이트하고 리드하기 위한 어드레스 종류의 발생 타이밍도이다.6 is a timing chart of the generation of the address type for writing and reading data in the memory 43. Fig.

즉, 입력되는 데이터 B(e)의 순서가That is, the order of input data B (e) is

B(e) = (be,0,be,1,be,2,...,be,N)(E) = (b e, 0 , b e, 1 , b e, 2 , ..., b e, N )

의 형태로 입력되고 출력 데이터 A(e)가And the output data A (e) is < RTI ID = 0.0 >

A(e) = (ae,0,ae,1,ae,2,...,ae,N)(A , 0 , a e, 1 , a e, 2 , ..., a e, N )

의 형태로 출력될 경우를 나타내고 있다. 우선 블록 사이즈 N=126이라 가정하면, 입/출력식은 하기의 수학식 1의 형태로 되며,As shown in FIG. First, assuming that the block size N = 126, the input / output expression has the following formula (1)

ae,H(w)= be,w a e, H (w) = b e, w

H(w)는 하기 수학식 2의 관계에 의해 쉬프트될때를 나타내고 있다.And H (w) is shifted by the relation of the following equation (2).

H(w) = (w + 105) mod N(w=0,1,...,125)H (w) = (w + 105) mod N (w = 0,1, ..., 125)

여기서, e는 QAM 방식 즉, 별자리수에 따라 달라지는데, 16QAM인 경우는 0∼3의 값을 갖고, 64QAM인 경우는 0~5의 값을 갖는다. 그리고, 상기 수학식 2의 상수 105는 스펙에 정해져 있는 것중 하나로서, 스펙에 따라 달라질 수 있다.Here, e varies depending on the QAM scheme, that is, the number of constellations. In the case of 16QAM, it has a value of 0 to 3. In the case of 64QAM, it has a value of 0 to 5. The constant 105 in Equation (2) is one of the specifications, and may vary depending on the specification.

이때, w값으로 0∼125까지를 수학식 2에 대입해보면,In this case, if the w value is substituted into the equation (2) from 0 to 125,

H(0) = (0+105) mod 126 = 105H (0) = (0 + 105) mod 126 = 105

H(1) = (1+105) mod 126 = 106H (1) = (1 + 105) mod 126 = 106

. .. .

. .. .

. .. .

H(20) = (20+105) mod 126 = 125H (20) = (20 + 105) mod 126 = 125

H(21) = (21+105) mod 126 = 0H (21) = (21 + 105) mod 126 = 0

H(22) = (22+105) mod 126 = 1H (22) = (22 + 105) mod 126 = 1

. .. .

. .. .

. .. .

H(124) = (124+105) mod 126 = 103H (124) = (124 + 105) mod 126 = 103

H(125) = (125+105) mod 126 = 104H (125) = (125 + 105) mod 126 = 104

이 된다..

즉, 0,1,2,...,125의 순서로 입력된 데이터가 출력측에서는 21,22,...,0,1,...,20의 순서로 순서가 바뀌어 출력된다.That is, the data input in the order of 0, 1, 2, ..., 125 is output in the order of 21, 22, ..., 0, 1, ..., 20 on the output side.

이 경우 우선 도 6의 (a)에서와 같이 처음 한 블록 구간 동안에는 입력되는 데이터를 메모리(43)에 라이트한다(write_flag가 이를 나타낸다). 이때의 어드레스 발생부(42)에서 발생하는 어드레스 종류는 I0 어드레스가 되며 I0 = 0,1,2,...,124,125가 된다.In this case, as shown in FIG. 6A, the input data is written into the memory 43 during the first block period (write_flag indicates this). At this time, the address type generated by the address generating unit 42 becomes I0 address, and I0 = 0,1,2, ..., 124,125.

또한, 한 블록의 데이터를 메모리에 라이트한 후에는 이제 메모리(43)에 라이트된 데이터를 리드하여 주며 동시에 라이트도 하여준다. 즉 한 블록의 구간이후에 read_flag를 하이로 하여 데이터를 리드한다.After the data of one block is written in the memory, the data written in the memory 43 is read and written at the same time. That is, read_flag is set to high after one block period to read data.

이때, 비트 디인터리버(23)의 입력에서의 순서 0,1,...,125는 출력측에서 21,22,...의 순서로 되어 있으므로(이러한 출력의 순서를 r로 정의) 2번째 블록의 메모리 라이트나 리드의 어드레스는 I1의 어드레스로 메모리(43)에 라이트/리드를 하여 준다. 이때 I1의 어드레스는 I0의 어드레스에 r(=21)을 더한 어드레스 즉, I1=21,22,...,0,1,...,20의 어드레스가 된다. 이어서 3번째의 어드레스도 역시 I1의 어드레스에 다시 r(=21)을 더한 어드레스 즉, I2=42,43,...,0,1,...,40의 어드레스가 된다. 이후의 블록에 대해서도 역시 마찬가지로 r(=21)씩 증가시켜 어드레스를 발생시키면,At this time, the order 0, 1, ..., 125 in the input of the bit deinterleaver 23 is in the order of 21, 22, ... on the output side (the order of such output is defined as r) And the address of the memory write or read in the memory 43 is written / read in the memory 43 by the address of I1. At this time, the address of I1 is the address of I0 = 21, 22, ..., 0, 1, ..., 20 plus r (= 21) The third address is also the address of I1 = I2 = 42, 43, ..., 0, 1, ..., 40 which is obtained by adding r (= 21) Likewise, if the address is generated by increasing r (= 21) in the subsequent blocks as well,

I3 = 63,64,...,0,1,...,61,62I3 = 63,64, ..., 0,1, ..., 61,62

I4 = 84,85,...,0,1,...,82,83I4 = 84,85, ..., 0,1, ..., 82,83

I5 = 105,106,...,0,1,...,103,104I5 = 105,106, ..., 0,1, ..., 103,104

I0 = 0,1,...,125I0 = 0,1, ..., 125

가 된다..

6번째의 어드레스는 105에 r(=21)을 더하면 블록의 크기인 126이 되므로 다시 I0부터 I5의 어드레스를 반복하게 되는 것이다. 즉, 상기 카운터(41)에서는 카운팅 값이 일정한 블록 사이즈 N이 될 때마다 I0부터 I5 까지를 순차적으로 반복하여 어드레스 발생부(42)로 출력한다. 그러면, 상기 어드레스 발생부(42)는 카운터(41)로부터 I1 카운트 신호가 입력되면 I1에 해당하는 어드레스를 발생시켜 메모리(43)로 출력하고, I2 카운트 신호가 입력되면 I2에 해당하는 어드레스를 발생시켜 메모리(43)로 출력한다.When the sixth address is added to the address 105 (r = 21), the address of the address I0 to I5 is repeated because the block size is 126. That is, the counter 41 sequentially repeats I0 to I5 every time the count value becomes a constant block size N, and outputs it to the address generator 42. [ When the I1 count signal is input from the counter 41, the address generator 42 generates an address corresponding to I1 and outputs the address to the memory 43. When the I2 count signal is input, the address generator 42 generates an address corresponding to I2 And outputs it to the memory 43.

만약 일정한 규칙에 의해 어드레스가 반복되지 않으면 다음의 어드레스는 계속 일정한 크기만큼 증가시켜서 반복하게 된다.If the address is not repeated by a certain rule, the next address is repeatedly increased by a constant size.

도 7은 이러한 어드레스 발생 방법의 흐름도로서, 처음 한 블록 동안에는 순차적인 어드레스가 발생되며 그 다음 블록부터는 계속 r만큼씩 증가하여 어드레스가 발생한다.FIG. 7 is a flow chart of such an address generating method, in which a sequential address is generated during the first block, and the address is incremented by r continuously from the next block.

즉, 심볼 디인터리버(22)로부터 심볼 데이터가 입력되면(단계 701), 변수 k=0, a=0으로 초기화한 후(단계 702), 메모리(43)에 입력 데이터를 라이트하는데, 어드레스 k(k=0) 위치에 라이트한다. 그리고나서, 하기의 수학식 3에 의해 다음 어드레스를 지정한다(단계 704).That is, after the symbol data is input from the symbol deinterleaver 22 (step 701), the variable k is initialized to 0 (step 702) and the input data is written into the memory 43 k = 0). Then, the next address is designated by the following equation (3) (step 704).

k = (k+1) mod Nk = (k + 1) mod N

이때, 상기 단계 702에서 k는 0으로 초기화되어 있으므로, 상기 수학식 3에 적용하면 k는 1이 된다. 여기서, N은 블록 사이즈 즉, 126이다.In this case, since k is initialized to 0 in step 702, k is 1 when applied to Equation (3). Here, N is the block size, i.e. 126.

그리고, 상기 수학식 3에 의해 다음 어드레스가 결정되면 결정된 어드레스 k가 126인지를 판단한다(단계 705). 여기서, 126은 블록 사이즈로서, 블록 사이즈에 따라 수학식 3의 N과 같이 달라진다.If the next address is determined by Equation (3), it is determined whether the determined address k is 126 (Step 705). Here, 126 is a block size, which is different from N in Equation 3 according to the block size.

상기 단계 705에서 k가 126보다 작다고 판별되면 다시 상기 단계 703로 되돌아가 어드레스 k(k=1) 위치에 다음 데이터를 라이트한 후 다시 수학식 3을 적용하여 다음 어드레스를 결정하고, 결정된 어드레스가 126과 같은지를 비교하는 과정을 수행한다.If it is determined in step 705 that k is smaller than 126, the process returns to step 703 to write the next data to the address k (k = 1) and then applies the equation 3 again to determine the next address. And the like are compared with each other.

이때, 상기 수학식 3에서 이전 k 값이 1이므로,In Equation (3), since the previous k value is 1,

k = (1 + 1) mod 126을 하면, 다음 어드레스로 결정되는 k는 2가 된다.When k = (1 + 1) mod 126, k determined as the next address becomes 2.

이때에도, 결정된 어드레스 k는 126이 안되므로 상기 단계 703로 되돌아가 상기 과정들을 반복 수행하면, k는 1씩 순차적으로 증가한다.At this time, since the determined address k is not 126, the process returns to step 703 and the above processes are repeated, k is incremented by 1 sequentially.

그리하여, k가 126이 되면 한 블록 사이즈에 대한 데이터가 모두 메모리(43)에 라이트되었음을 의미한다.Thus, when k is 126, it means that all the data for one block size has been written into the memory 43.

따라서, 라이트 시작 시점 이후 메모리(43)에 한 블록 사이즈 N만큼의 데이터 라이트가 이루어지면, 라이트된 데이터의 리드 및 다음 블록 사이즈 N에 해당하는 데이터를 저장하기 위한 초기 어드레스를 하기 수학식 4를 적용하여 결정한다(단계 706, 707).Therefore, if a data write of one block size N is made in the memory 43 after the write start time, the initial address for storing the read data and the data corresponding to the next block size N is expressed by Equation 4 below (Steps 706 and 707).

a = (a+r) mod Na = (a + r) mod N

여기서, N은 블록 사이즈이고, r은 디인터리빙 규칙에 따라 어드레스 종류가 바뀔 때 어드레스를 쉬프트시킬 상수로서, 본 발명에서는 21로 설정하였다. 그리고, r과 더해지는 a는 이전 a로서 상기 단계 702에서 0으로 초기화되어 있다. 그러므로, 이 값들을 수학식 4에 적용하면, a = (0 + 21) mod 126가 되고, 결국 a는 21이 된다.Here, N is the block size, and r is a constant for shifting the address when the address type is changed according to the deinterleaving rule, and is set to 21 in the present invention. Then, a added to r is initialized to 0 in step 702 as a previous a. Therefore, applying these values to Equation 4 results in a = (0 + 21) mod 126, which results in a = 21.

따라서, 상기 수학식 4에서 구해진 a를 k로 치환하고, c를 0으로 초기화하면(k=a, c=0), 상기 단계 701 내지 단계 705가 수행되어 최초 한 블록 사이즈에 해당하는 데이터가 라이트된 이후 라이트된 데이터의 리드 및 다음 블록의 데이터 라이트에 대한 어드레스가 결정된다. 즉, k는 21부터 순차 증가하게 된다.Accordingly, when a obtained in Equation (4) is replaced by k and c is initialized to 0 (k = a, c = 0), the steps 701 to 705 are performed to write data corresponding to the first block size The address of the read data and the data write address of the next block are determined. That is, k increases sequentially from 21.

다시말해, 메모리(43)의 어드레스 k(k=21) 위치에 라이트된 데이터를 리드하고 리드가 이루어지면 바로 그 위치(k=21)에 입력되는 데이터를 라이트한다(단계 708).In other words, the data written to the address k (k = 21) of the memory 43 is read, and when the read is made, the data inputted at the position (k = 21) is written (step 708).

그리고나서, 하기의 수학식 5에 의해 리드/라이트를 위한 다음 어드레스 k를 지정하고, c를 1 증가시킨다(단계 709).Then, the next address k for the read / write is designated by the following expression (5), and c is incremented by 1 (step 709).

k = (k+1) mod Nk = (k + 1) mod N

이때, 상기 단계 707에서 k는 21이었으므로, 상기 수학식 5에 적용하면 k= (21+1) mod 126가 되어 결국 다음 어드레스 k는 22가 된다.In this case, k is 21 in the step 707, so that k = (21 + 1) mod 126 is applied to the equation (5).

그리고, 상기 수학식 5에 의해 다음 어드레스 k가 결정되면 상기 단계 709에서 증가시킨 c가 126인지를 판단한다(단계 710). 이때는 k가 0부터 증가하는 것이 아니라 21부터 증가하므로, c를 이용하여 한 블록 사이즈에 해당하는 데이터의 리드/라이트 완료를 판단한다.If the next address k is determined by Equation (5), it is determined whether the incremented value c in step 709 is 126 (step 710). At this time, since k does not increase from 0 but increases from 21, it is judged that the read / write completion of data corresponding to one block size is made by using c.

상기 단계 710에서 c가 126보다 작다고 판별되면 다시 상기 단계 708로 되돌아가 어드레스 k(k=22) 위치에 다음 데이터를 라이트한 후 다시 수학식 5를 적용하여 다음 어드레스 k를 결정하고 c를 증가시키며, 증가된 c(c=2)가 126과 같은지를 비교하는 과정을 수행한다.If it is determined in step 710 that c is smaller than 126, the process returns to step 708 to write the next data to the address k (k = 22) and then applies the equation 5 again to determine the next address k and increase c , And whether the incremented c (c = 2) is equal to 126 is performed.

이때, 이전 k=22이므로 상기 수학식 5에 의해At this time, since k = 22,

k = (22 + 1) mod 126이 되고, 다음 어드레스로 결정되는 k는 23이 된다.k = (22 + 1) mod 126, and k determined by the next address becomes 23.

이때에도, 증가된 c는 126이 안되므로 상기 단계 708로 되돌아가 상기 과정들을 반복 수행하면, k와 c는 1씩 순차적으로 증가한다. 여기서, 상기 과정 중에 k가 125가 되어 수학식 5에 대입되면, k=(125+1) mod 126에 의해 0이 된다. 그러면, 어드레스 0의 위치에 있는 데이터의 리드 및 라이트가 이루어진다. 이때, c는 126이 안되므로 k와 c의 증가는 계속되며, c가 126이 되면 즉, k가 21이 되면 한 블록 사이즈에 대한 데이터의 리드 및 라이트가 모두 완료되었음을 의미한다.At this time, since the incremented c is not 126, the process returns to the step 708 and the above processes are repeated, and k and c are incremented by 1 sequentially. When k is 125 in the above process and is substituted into Equation (5), k becomes 0 by k = (125 + 1) mod 126. Then, the data at the address 0 is read and written. In this case, since c is not 126, the increase of k and c continues, and when c is 126, that is, when k is 21, it means that the reading and writing of data for one block size are all completed.

상기 단계 710에서 c=126이라고 판별되면 상기 단계 706로 되돌아가 다시 라이트된 데이터의 리드 및 다음 블록 사이즈 N에 해당하는 데이터를 저장하기 위한 초기 어드레스를 상기 수학식 4를 적용하여 결정한 후 단계 708 내지 단계 710을 반복 수행하여 한 블록 사이즈에 해당하는 데이터의 리드/라이트를 수행한다.If it is determined in step 710 that c = 126, the process returns to step 706 to determine the initial address for storing the data corresponding to the next block size N and the read data rewritten by applying Equation (4) Step 710 is repeatedly performed to read / write data corresponding to one block size.

즉, 어드레스 k가 42부터 순차 증가하여 125가 된 후 0이 되고 다시 43이 되면 한 블록 사이즈에 대한 데이터의 리드 및 라이트가 완료된다.That is, when the address k increases from 42 to 125 and then to 0, and again to 43, the reading and writing of data for one block size is completed.

그 다음 블록에서는 어드레스 k가 63부터 순차 증가하여 125가 된 후 0이 되고 다시 62이 되면 한 블록 사이즈에 대한 데이터의 리드 및 라이트가 완료된다.In the next block, the address k sequentially increases from 63 to 125, then becomes 0, and again reaches 62, the reading and writing of data for one block size is completed.

이와 같은 과정에 의해 데이터의 리드 및 라이트가 이루어지면, 블록 사이즈 N만큼의 크기인 메모리만으로 충분히 비트 디인터리빙이 가능하게 된다.When data is read and written by such a process, bit de-interleaving can be sufficiently performed only by the memory having the size of the block size N. [

즉, 도 7에서 단계 701 내지 단계 705는 초기에 입력되는 한 블록 사이즈에 대한 데이터의 라이트 과정을 나타낸 것이고, 단계 706 내지 단계 710는 이후의 입력 데이터들에 대한 데이터 리드/라이트 과정을 나타낸 것이다.That is, in FIG. 7, steps 701 to 705 illustrate a process of writing data to a block size that is initially input, and steps 706 to 710 illustrate data read / write processes for subsequent input data.

마지막으로 도 4의 멀티플렉서(44)는 메모리(43)에서 출력되는 데이터를 이후의 연결(비터비 디코더)을 위하여 적절한 데이터 순서로 출력한다.Finally, the multiplexer 44 of FIG. 4 outputs the data output from the memory 43 in a proper data order for a subsequent connection (Viterbi decoder).

도 8은 16QAM인 경우에 이러한 비트 디인터리버의 출력을 다음단에 이어지는 비터디 디코더와의 연결을 위한 출력 방법을 나타내고 있다. 즉, 16-QAM의 경우는 4비트가 한 심볼로 이루어져 있으므로 각각 비터비 디코더 입력을 위해 1번째와 3번째는 I로 출력되고 2번째와 4번째는 Q로 출력되는 경우의 예를 나타내고 있다. 또한, dvaldout 신호는 이러한 I나 Q 신호의 유효한 구간을 나타내는 신호로 쓰인다.FIG. 8 shows an output method for connecting the output of the bit deinterleaver to the Viterdecoder in the next stage in the case of 16QAM. That is, in the case of 16-QAM, since 4 bits are composed of one symbol, the first and third are outputted as I and the second and fourth are outputted as Q for Viterbi decoder input, respectively. The dvaldout signal is also used as a signal indicating the effective period of the I or Q signal.

한편, 본 발명은 비트 디인터리버뿐만 아니라 송신측의 비트 인터리버에도 동일하게 적용할 수 있으며, 이로인해 송신측에서도 비트 인터리빙을 수행할 때 메모리의 양을 줄일 수 있다.Meanwhile, the present invention can be applied not only to the bit deinterleaver but also to the bit interleaver on the transmission side, thereby reducing the amount of memory when bit interleaving is performed on the transmitting side.

이상에서와 같이 본 발명에 따른 비트 디인터리빙 방법에 의하면, 여러개의 캐리어를 사용하는 OFDM 시스템의 비트 인터리버/디인터리버의 구현이나 입력되는 비트의 순서가 일정한 크기만큼 쉬프트되어 출력되는 모든 종류의 인터리버/디인터리버를 구현할 때에 단지 한 블록 사이즈에 해당하는 메모리의 양으로도 데이터 손실없이 인터리빙/디인터리빙이 가능하므로, 실제 이러한 인터리버/디인터리버를 IC로 디자인할 때에 필요로하는 내부 메모리의 양을 줄일 수 있어 IC화가 용이해진다. 또한, 인터리빙/디인터리빙을 위한 메모리의 제어도 아주 쉽게 이루어진다.As described above, according to the bit deinterleaving method of the present invention, the bit interleaver / deinterleaver of the OFDM system using a plurality of carriers and the interleaver / When implementing a deinterleaver, it is possible to perform interleaving / deinterleaving without data loss even by the amount of memory corresponding to only one block size. Therefore, it is possible to reduce the amount of internal memory required when designing such an interleaver / deinterleaver as an IC It is easy to IC. In addition, control of the memory for interleaving / deinterleaving is also very easy.

Claims (4)

심볼 단위로 디인터리빙된 데이터를 메모리를 이용하여 다시 비트 단위로 디인터리브하는 디인터리빙 방법에 있어서,A deinterleaving method for deinterleaving data deinterleaved on a symbol-by-bit basis by using a memory, 처음에 수신되는 데이터는 한 블록 사이즈에 해당하는 만큼 메모리에 순차적으로 라이트하는 데이터 라이트 단계와,A data write step of sequentially writing data received first in the memory as much as a block size; 상기 데이터 라이트 단계에서 한 블록 사이즈에 해당하는 데이터의 라이트가 완료되면 소정 간격만큼 쉬프트되어 순차 발생되는 어드레스에 라이트된 데이터의 리드를 수행하고 데이타가 리드된 바로 그 어드레스 위치에 입력되는 데이타를 라이트하는 과정을 블록마다 반복 수행하는 데이터 리드/라이트 단계를 포함하여 이루어짐을 특징으로 하는 비트 디인터리빙 방법.When the writing of data corresponding to one block size is completed in the data write step, the data is shifted by a predetermined interval to read the data written to the sequentially generated address, and the data input at the immediately address position where the data is read is written And a data read / write step of repeating the process for each block. 제 1 항에 있어서, 데이터 리드/라이트 단계는2. The method of claim 1, wherein the data read / 한 블록 사이즈에 대한 데이터의 라이트가 완료되면 다음 블록에 대한 시작 어드레스를 이전 블록의 시작 어드레스보다 소정 간격만큼 쉬프트시킨 후 발생하는 제 1 단계와,A first step of shifting a start address of a next block by a predetermined distance from a start address of a previous block when writing of data for one block size is completed, 상기 제 1 단계에서 발생하는 어드레스 위치에 라이트된 데이터의 리드를 수행하고 데이타가 리드된 바로 그 어드레스 위치에 입력되는 데이타를 라이트하는 제 2 단계와,A second step of reading the data written to the address position generated in the first step and writing the data to be input at the address position where the data is read, 상기 제 2 단계에서 지정하는 어드레스에서의 데이터 리드 및 라이트가 완료되면 어드레스를 증가시켜 다음 어드레스를 지정한 후 지정된 어드레스에 저장될 데이터가 해당 블록의 마지막 데이타에 해당하는지를 판별하는 제 3 단계와,A third step of incrementing the address to designate the next address and then determining whether the data to be stored at the designated address corresponds to the last data of the block when the reading and writing of data at the address specified in the second step is completed; 상기 제 3 단계에서 마지막 데이터라고 판별되면 상기 제 1 단계로 되돌아가 다음 블록에 대한 시작 어드레스 발생 및 데이터 리드/라이트 과정을 수행하고, 마지막 데이터가 아니라고 판별되면 상기 제 2 단계로 되돌아가 해당 블록에서의 데이터 리드/라이트 및 다음 어드레스 발생 과정을 수행하는 제 4 단계를 포함하여 이루어짐을 특징으로 하는 비트 디인터리빙 방법.If it is determined that the last data is the last data, the process returns to the first step to perform a start address generation and a data read / write process for the next block. If it is determined that the data is not the last data, And a fourth step of performing a data read / write operation and a next address generating operation of the bit deinterleaving method. 제 2 항에 있어서, 상기 제 1 단계에서 발생되는 시작 어드레스가 디인터리빙에 필요한 블록 사이즈 값과 같거나 커지면 시작 어드레스를 블록 사이즈 값으로 나누어 발생된 나머지를 시작 어드레스로 함을 특징으로 하는 비트 디인터리빙 방법.3. The method of claim 2, wherein if the start address generated in the first step is equal to or larger than a block size value required for deinterleaving, the start address is divided into a block size value, Way. 제 2 항에 있어서, 상기 제 3 단계에서 증가되는 어드레스가3. The method of claim 2, wherein the address incremented in the third step is 한 블록 사이즈 값과 같아지면 0부터 다시 시작함을 특징으로 하는 비트 디인터리빙 방법.And restarts from 0 if equal to a block size value.
KR1019980018358A 1998-05-21 1998-05-21 Bit deinterleaving method KR100493268B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980018358A KR100493268B1 (en) 1998-05-21 1998-05-21 Bit deinterleaving method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980018358A KR100493268B1 (en) 1998-05-21 1998-05-21 Bit deinterleaving method

Publications (2)

Publication Number Publication Date
KR19990085749A true KR19990085749A (en) 1999-12-15
KR100493268B1 KR100493268B1 (en) 2006-02-28

Family

ID=37179093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980018358A KR100493268B1 (en) 1998-05-21 1998-05-21 Bit deinterleaving method

Country Status (1)

Country Link
KR (1) KR100493268B1 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05167633A (en) * 1991-12-12 1993-07-02 Nippon Hoso Kyokai <Nhk> Digital transmission system
US5666170A (en) * 1995-07-12 1997-09-09 Thomson Consumer Electronics, Inc. Apparatus for decoding video signals encoded in different formats
US6023492A (en) * 1995-11-24 2000-02-08 Telefonaktiebolaget Lm Ericsson Method and apparatus for conditionally combining bit metrics in a communication system
KR970056904A (en) * 1995-12-30 1997-07-31 배순훈 European high definition tv
JP2769459B2 (en) * 1996-08-29 1998-06-25 株式会社次世代デジタルテレビジョン放送システム研究所 OFDM transmitter and OFDM receiver
KR100314353B1 (en) * 1998-04-28 2001-12-28 전주범 Ofdm receiver system

Also Published As

Publication number Publication date
KR100493268B1 (en) 2006-02-28

Similar Documents

Publication Publication Date Title
US10020970B2 (en) Data processing apparatus and method for interleaving and deinterleaving data
US20200153667A1 (en) Data processing apparatus and method for use in an interleaver suitable for multiple operating modes
US8130894B2 (en) Data processing apparatus and method for use with a 4K interleaver in a digital video broadcasting (DVB) standard
TWI466507B (en) Data processing apparatus and method
KR101464761B1 (en) Data processing apparatus and method
AU2008230049B2 (en) Data processing apparatus and method
US20090110095A1 (en) Data processing apparatus and method
GB2454195A (en) Address generation polynomial and permutation matrix for DVB-T2 16k OFDM sub-carrier mode interleaver
EP0971483A2 (en) Deinterleaving device
GB2329804A (en) Time and frequency interleaving device for a multicarrier system
JP3610069B2 (en) Interleaving with low-speed memory
KR100493268B1 (en) Bit deinterleaving method
KR100252984B1 (en) Apparatus and method of interleaving of digital broadcasting system
KR19990079604A (en) Symbol deinterleaving device
US8767847B2 (en) Time-deinterleaver and method for input signal processing and computer program products using the same
EP2338232A2 (en) A method and apparatus for deinterleaving in a digital communication system
JP2001237714A (en) Interleaving method and transmission/reception system

Legal Events

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

Payment date: 20080319

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee