KR20010088147A - Block interleaving method, and apparatus for the same - Google Patents

Block interleaving method, and apparatus for the same Download PDF

Info

Publication number
KR20010088147A
KR20010088147A KR1020000012189A KR20000012189A KR20010088147A KR 20010088147 A KR20010088147 A KR 20010088147A KR 1020000012189 A KR1020000012189 A KR 1020000012189A KR 20000012189 A KR20000012189 A KR 20000012189A KR 20010088147 A KR20010088147 A KR 20010088147A
Authority
KR
South Korea
Prior art keywords
interleaver
address
symbols
stored
bit
Prior art date
Application number
KR1020000012189A
Other languages
Korean (ko)
Other versions
KR100487366B1 (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 KR10-2000-0012189A priority Critical patent/KR100487366B1/en
Publication of KR20010088147A publication Critical patent/KR20010088147A/en
Application granted granted Critical
Publication of KR100487366B1 publication Critical patent/KR100487366B1/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
    • H03M13/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices
    • 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/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

PURPOSE: A block interleaving method and an apparatus used for the method are provided, which prevents data collision between frames without adding structural resources to a block interleaver having a variety of parameters. CONSTITUTION: When the size of an interleaving memory is (NxN), an address value obtained by bit-inverting the column address value of the interleaving memory is m, and the distance between neighboring symbols is J, Input symbols are stored in a predetermined address. The stored symbols are sequentially outputted according to a column sequence of the column address value of the interleaving memory. The interleaving memory stores the input symbols in columns and reads the stored symbols in columns. An interleaving read address generator provides sequential column address values to the interleaver memory.

Description

블록 인터리빙 방법 및 그를 위한 장치{Block interleaving method, and apparatus for the same}Block interleaving method, and apparatus for the same

본 발명은 통신 시스템에 관한 것으로, 특히 다양한 인터리빙 매개변수를 사용하는 이동통신 시스템에서의 블록 인터리빙 방법 및 그를 위한 장치에 관한 것이다.The present invention relates to a communication system, and more particularly, to a block interleaving method and apparatus therefor in a mobile communication system using various interleaving parameters.

일반적으로 통신 시스템에서는 전송 성능 향상을 위해 채널 코딩(channel coding)과 함께 인터리빙(interleaving)이 사용된다.In general, in a communication system, interleaving is used together with channel coding to improve transmission performance.

인터리빙은 전송 다이버시티(diversity)를 얻기 위해 통신 시스템이 채택하는 것이며, 이 인터리빙을 위한 인터리버의 종류로는 블록 인터리버(block interleaver), 컨벌루션널 인터리버(convolutional interleaver) 등이 있다.Interleaving is adopted by a communication system to obtain transmission diversity. Examples of interleavers for interleaving include block interleaver and convolutional interleaver.

이하의 설명은 블록 인터리버에 관한 것이다.The following description relates to a block interleaver.

도 1은 종래의 블록 인터리빙 방법을 설명하기 위한 장치 구성을 나타낸 블록도이다.1 is a block diagram showing an apparatus configuration for explaining a conventional block interleaving method.

도 1을 참조하면, 채널 코딩된 입력심볼은 인터리버 메모리(10)에 순차적으로 저장된다. 여기서 채널 코딩에는 에러 검출 및 수정이 가능한 코드가 사용되는데, 이하에서는 리드-솔로몬 코드(Reed-Solomon code)나 BCH 코드(Bose Chaudhuri Hockenghem code)와 같이 입력 코드에 일정한 중복도(redundancy)를 가하는 블록 코드가 사용된다. 이후 인터리빙 알고리즘에 따라 인터리버 메모리(10)에 저장된 심볼들을 읽는다. 이 때 채널 데이터 속도(channel data rate)에 따른 시간 간격으로 읽어낸 출력심볼들은 전송 매체를 통해 송신된다.Referring to FIG. 1, channel coded input symbols are sequentially stored in the interleaver memory 10. In this case, an error detection and correction code is used for channel coding. Hereinafter, a block for applying a constant redundancy to an input code such as a Reed-Solomon code or a BCH Chaudhuri Hockenghem code is used. The code is used. Then, the symbols stored in the interleaver memory 10 are read according to the interleaving algorithm. At this time, the output symbols read at intervals according to the channel data rate are transmitted through the transmission medium.

도 1에 도시된 인터리버 메모리(10)의 크기가 (N ×N)이라면, 입력심볼은 행 주소 0번지에서 행 주소 (N-1)번지까지 순차적으로 쓰여지며, 이후 인터리빙 알고리즘에 따라 매번 인터리버 메모리(10)의 읽기주소를 만들어 그 해당 주소에 저장된 데이터를 읽는다. 보통 인터리버 메모리(10)의 행(row)을 따라 순차적으로 쓰고, 열(column) 단위로 읽는다.If the size of the interleaver memory 10 shown in FIG. 1 is (N × N), the input symbols are sequentially written from the row address 0 to the row address N-1, and then each time according to the interleaving algorithm. Create a read address (10) and read the data stored at that address. Usually, the data is sequentially written along rows of the interleaver memory 10 and read in units of columns.

이에 대해 보다 상세히 설명하자면, 입력심볼은 인터리버 쓰기주소 발생기(interleaver write address generator)(20)에서 만들어진 쓰기주소(write address)에 순차적으로 저장된다. 여기서 인터리버 쓰기주소 발생기(20)는 0번지에서 (N-1)번지까지의 행 주소를 순차적으로 발생시킨다.In more detail, the input symbols are sequentially stored in write addresses generated by the interleaver write address generator 20. Here, the interleaver write address generator 20 sequentially generates row addresses from address 0 to address (N-1).

이렇게 인터리버 메모리(10)에 저장된 심볼들에 대해, 인터리버 읽기주소 발생기(interleaver read address generator)(30)가 인터리버 알고리즘에 따라 읽기주소(read address)를 발생시키면 그 해당 읽기주소에 저장되어 있던 심볼이 출력된다. 이 때 인터리버 읽기주소 발생기(30)의 읽기주소 발생을 위한 알고리즘에 사용되는 파라미터로는 인터리버 메모리 크기(N ×N), 인터리버 매개변수(m, J)가 있다.Thus, when the interleaver read address generator 30 generates a read address according to the interleaver algorithm, for the symbols stored in the interleaver memory 10, the symbols stored in the corresponding read address are generated. Is output. At this time, the parameters used in the algorithm for generating the read address of the interleaver read address generator 30 include the interleaver memory size (N × N) and the interleaver parameters (m, J).

매개변수 m은 인터리버 메모리(10)의 열 주소(column address)를 표현한 이진 주소값을 비트 인버젼(bit inversion)시킨 이진 주소값이며, 매개변수 J는 서로 인접된 심볼들간의 거리를 나타낸다.The parameter m is a binary address obtained by bit inversion of a binary address representing a column address of the interleaver memory 10, and the parameter J represents a distance between adjacent symbols.

여기서, 비트 인버젼에 대해 간단히 설명하면, 인터리버 메모리(10)의 크기가 (N ×N = 8 ×8)일 경우 열(column)을 나타내는 이진 주소값은 차례로 "0=000(2), 1=001(2), 2=010(2), 3=011(2), 4=100(2), 5=101(2), 6=110(2), 7=111(2)"이다. 이를 각각 비트 인버젼 시키면, "000(2)=0, 100(2)=4, 010(2)=2, 110(2)=6, 001(2)=1, 101(2)=5, 011(2)=3, 111(2)=7" 이 된다. 다음에 설명될 비트 리버싱 연산(BitReversing Operation ; 이하, BRO 라 약칭함) 인터리버에 이 같은 비트 인버젼이 적용되어, 원래 열 주소값 순서대로 심볼을 출력시키지 않고 비트 인버젼된 열 주소값 순서대로 심볼을 출력시킨다.Here, the bit inversion will be briefly described. When the size of the interleaver memory 10 is (N × N = 8 × 8), the binary address values representing the columns are “0 = 000 (2) , 1 in order. = 001 (2) , 2 = 010 (2) , 3 = 011 (2) , 4 = 100 (2) , 5 = 101 (2) , 6 = 110 (2) , 7 = 111 (2) ". Bit-inversion of each of these means "000 (2) = 0, 100 (2) = 4, 010 (2) = 2, 110 (2) = 6, 001 (2) = 1, 101 (2) = 5, 011 (2) = 3, 111 (2) = 7 ". This bit inversion is applied to the bit reversing operation (hereinafter referred to as BRO) interleaver, which will be described in the following order. Print a symbol.

다음은 상기한 파라미터들을 사용하는 종래의 BRO 인터리버에 대해 설명한다.The following describes a conventional BRO interleaver using the above parameters.

종래의 순방향 BRO 인터리버에는 인터리버 쓰기주소 발생기(20)가 발생시킨 0번지에서 (N-1)번지까지의 행 주소대로 입력심볼이 저장된다. 다음에 순방향 BRO 인터리버에 저장된 심볼들은 다음 식 1에 나타낸 주소(Ai)에 따라 출력된다.In the conventional forward BRO interleaver, input symbols are stored according to row addresses from address 0 to address (N-1) generated by the interleaver write address generator 20. The symbols stored in the forward BRO interleaver are then output according to the address A i shown in Equation 1 below.

상기한 식 1에서 i= 0 ~ (N-1) 이며,는 x보다 크지 않는 최대 정수이다. 또한 BROm(y)는 y의 비트 인버젼시키는 연산자로써, 상기에서도 언급한 바와 같이 BRO 인터리버의 크기가 (8 ×8)일 경우에 BROm(6)=3이 된다.In the above formula 1 i = 0 ~ (N-1), Is the largest integer not greater than x. In addition, BRO m (y) is a bit inversion operator of y, and as mentioned above, BRO m (6) = 3 when the size of the BRO interleaver is (8 × 8).

반면에 순방향-역방향 BRO 인터리버에 저장된 심볼들은 다음 식 2와 식 3에 나타낸 주소(Ai)에 따라 출력된다.On the other hand, the symbols stored in the forward-reverse BRO interleaver are output according to the address A i shown in Equations 2 and 3 below.

상기한 식 2에서 i= 0,2,4,...,(N-2) 이고, 식 3에서 i= 1,3,5,...,(N-1) 이다.In Equation 2, i = 0, 2, 4, ..., (N-2), and in Equation 3, i = 1, 3, 5, ..., (N-1).

순방향-역방향 BRO 인터리버에 저장된 짝수 번째 열 주소의 심볼들은 상기 식 2에 의한 읽기주소에 따라 출력되며, 저장된 홀수 번째 열 주소의 심볼들은 상기 식 3에 의한 읽기주소에 따라 출력된다. 이 때 심볼 출력은 상기한 식 2에 의한 짝수 번째 열 주소의 심볼부터 시작되며, 이후 홀수 번째 열 주소의 심볼들과 번갈아 가며 심볼 출력이 이루어진다.The symbols of the even-numbered column addresses stored in the forward-reverse BRO interleaver are output according to the read address according to Equation 2, and the symbols of the stored odd-numbered column addresses are output according to the read address according to Equation 3. At this time, the symbol output starts with the symbol of the even-numbered column address according to Equation 2, and then alternately with the symbols of the odd-numbered column address.

상기에서 설명된 바와 같이 종래에는 채널 코딩을 거친 심볼들이 순차적으로 인터리버 메모리에 저장된 후 상기한 식들에 의한 읽기주소에 따라 출력되는 구성을 가진다.As described above, in the related art, the channel-coded symbols are sequentially stored in the interleaver memory and then output according to the read address by the above equations.

그런데 이 때 만약 인터리버 메모리에 심볼들을 저장하는 시간이 인터리버 메모리로부터 심볼들을 읽어내는 시간보다 많이 걸릴 경우에는, 인터리버 메모리로부터 심볼을 읽어내기 위해 사용되는 여러 파라미터와 인터리버 처리 시간에 영향으로 이들 심볼들로 구성된 프레임들 간에 데이터 충돌이 발생한다. 이러한 데이터 충돌을 방지하기 위해서는 두 개의 인터리버 메모리를 사용하는 이중 버퍼링 구조를 가져야하므로 구조적 자원의 낭비를 가져온다.However, if it takes more time to store symbols in interleaver memory than it takes to read symbols from interleaver memory, these parameters are affected by the interleaver processing time and the parameters used to read symbols from interleaver memory. Data collision occurs between the configured frames. In order to prevent such data collisions, a double buffering structure using two interleaver memories is required, resulting in a waste of structural resources.

본 발명의 목적은 상기한 점을 감안하여 안출한 것으로, 다양한 매개변수를갖는 블록 인터리버에 대해 구조적 자원의 추가 없이도 프레임들 간의 데이터 충돌을 막을 수 있는 블록 인터리빙 방법 및 그를 위한 장치를 제공하는데 있다.Disclosure of Invention An object of the present invention is to provide a block interleaving method and apparatus for preventing data collision between frames without adding structural resources to a block interleaver having various parameters.

상기한 목적을 달성하기 위한 본 발명에 따른 블록 인터리빙 방법의 특징은, 인터리버 메모리의 크기가 (N ×N), 상기 인터리버 메모리의 열 주소값을 비트 인버젼시킨 그 주소값이 m, 그리고 서로 인접한 심볼들간의 거리가 J일 경우, 입력되는 i번째 심볼을 y에 대해 비트 인버젼시키는 연산자인 BROm(y)를 포함한의 주소에 저장하는 단계와, 상기 인터리버 메모리의 열 주소값의 열 순서에 따라 상기 저장된 심볼들을 순차적으로 출력하는 단계로 이루어진다.A feature of the block interleaving method according to the present invention for achieving the above object is that the size of the interleaver memory (N × N), the address value that bit-inverted the column address value of the interleaver memory is m, and adjacent to each other If the distance between symbols is J, BRO m (y), which is an operator that bit inverts the input i-th symbol with respect to y, is included. And storing the stored symbols sequentially according to the column order of the column address values of the interleaver memory.

바람직하게는, 상기 저장 단계가, 상기 인터리버 메모리의 크기가 (N ×N), 상기 인터리버 메모리의 열 주소값을 비트 인버젼시킨 그 주소값이 m, 그리고 서로 인접한 심볼들간의 거리가 J일 경우, 입력되는 i번째 심볼 중 짝수 번째 심볼이 y에 대해 비트 인버젼시키는 연산자인 BROm(y)를 포함한의 주소에 저장되고, 나머지 홀수 번째 심볼이의 주소에 저장된다.Preferably, the storing step is such that the size of the interleaver memory is (N × N), the address value of bit inversion of the column address value of the interleaver memory is m, and the distance between adjacent symbols is J. , BRO m (y), which is an operator that bit-inverts the y of even-numbered symbols of the i-th input symbol. Is stored at the address of Is stored at the address of.

상기한 목적을 달성하기 위한 블록 인터리빙 장치의 특징은, 입력되는 심볼들을 행 단위로 써서 저장하고, 그 저장된 심볼들을 열 단위로 읽어서 출력하는 인터리버 메모리와, 상기 인터리버 메모리의 크기가 (N ×N), 상기 인터리버 메모리의 열 주소값을 비트 인버젼시킨 그 주소값이 m, 그리고 서로 인접한 심볼들간의 거리가 J일 경우에, 입력되는 i번째 심볼이 y에 대해 비트 인버젼시키는 연산자인 BROm(y)를 포함한의 주소에 저장되도록 하는 주소값을 발생시키는 인터리버 쓰기주소 발생기와, 상기 인터리버 메모리에 순차적인 열 주소값을 제공하는 인터리버 읽기주소 발생기를 포함하여 구성된다.A feature of the block interleaving apparatus for achieving the above object is an interleaver memory for writing and storing the input symbols in rows, and reading the stored symbols in columns, and the size of the interleaver memory is (N × N). BRO m , an operator that bit-inverts y for the input i-th symbol when the address value bit-inverted the column address value of the interleaver memory is m, and the distance between adjacent symbols is J. including y) And an interleaver write address generator for generating an address value to be stored at an address of the interleaver, and an interleaver read address generator for providing sequential column address values to the interleaver memory.

바람직하게는, 상기 인터리버 쓰기주소 발생기가, 상기 인터리버 메모리의 크기가 (N ×N), 상기 인터리버 메모리의 열 주소값을 비트 인버젼시킨 그 주소값이 m, 그리고 서로 인접한 심볼들간의 거리가 J일 경우에, 입력되는 i번째 심볼 중 짝수 번째 심볼이 y에 대해 비트 인버젼시키는 연산자인 BROm(y)를 포함한의 주소에 저장되고, 나머지 홀수 번째 심볼이의 주소에 저장되도록 하는 주소값을 발생시킨다.Preferably, the interleaver write address generator has a size (N × N) of the interleaver memory, an address value of bit inversion of a column address value of the interleaver memory, m, and a distance between adjacent symbols. In this case, BRO m (y), which is an operator that bit-inverts the y of even-numbered symbols, input i-th symbol. Is stored at the address of Generates an address value to be stored in the address of.

도 1은 종래의 블록 인터리빙 방법을 설명하기 위한 장치 구성을 나타낸 블록도.1 is a block diagram showing an apparatus configuration for explaining a conventional block interleaving method.

도 2는 본 발명의 블록 인터리빙 방법을 설명하기 위한 장치 구성을 나타낸 블록도.2 is a block diagram showing an apparatus configuration for explaining the block interleaving method of the present invention.

도 3은 본 발명의 블록 인터리빙을 위한 인터리버 쓰기주소 발생기의 구조를 나타낸 도면.3 is a diagram illustrating a structure of an interleaver write address generator for block interleaving according to the present invention.

*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

100 : 인터리버 메모리100: interleaver memory

200 : 인터리버 쓰기주소 발생기200: interleaver write address generator

300 : 인터리버 읽기주소 발생기300: interleaver read address generator

이하 본 발명에 따른 블록 인터리빙 방법 및 그를 위한 장치에 대한 바람직한 일 실시 예를 첨부된 도면을 참조하여 설명한다.Hereinafter, a preferred embodiment of a block interleaving method and apparatus therefor according to the present invention will be described with reference to the accompanying drawings.

본 발명에서는 채널 코딩된 입력심볼을 인터리버 메모리에 순차적으로 저장하는 기존과 달리 비트 인버젼된 행 주소값의 행 주소에 따라 저장시키며, 인터리버 메모리에 저장된 심볼들은 인터리버 메모리의 크기가 (N ×N)일 때 열 주소 0번지에서 열 주소 (N-1)번지까지 순차적으로 읽혀져 출력된다.Unlike the conventional method of sequentially storing channel coded input symbols in the interleaver memory, the present invention stores the channel-coded input symbols according to the row addresses of the bit-inverted row address values. In this case, column address 0 is read sequentially from column address (N-1).

도 2는 본 발명의 블록 인터리빙 방법을 설명하기 위한 장치 구성을 나타낸 블록도이다.2 is a block diagram showing an apparatus configuration for explaining the block interleaving method of the present invention.

도 2를 참조하면, 입력 코드에 일정한 중복도(redundancy)를 가함으로써 에러 검출 및 수정이 가능한 리드-솔로몬 코드(Reed-Solomon code)나 BCH 코드(Bose Chaudhuri Hockenghem code)와 같은 블록 코드로 채널 코딩된 입력심볼은 인터리버 메모리(100)에 저장된다. 이후 인터리버 메모리(100)에 저장된 심볼들을 0번지부터 (N-1)번지까지 순차적으로 읽어서 출력시킨다. 이 때 채널 데이터 속도(channel data rate)에 따른 시간 간격으로 읽어낸 출력심볼들은 전송 매체를 통해 송신된다.Referring to FIG. 2, channel coding is performed with a block code such as a Reed-Solomon code or a Bose Chaudhuri Hockenghem code that can detect and correct an error by applying a constant redundancy to an input code. The input symbol is stored in the interleaver memory 100. After that, the symbols stored in the interleaver memory 100 are sequentially read from address 0 to address (N-1). At this time, the output symbols read at intervals according to the channel data rate are transmitted through the transmission medium.

도 2에 도시된 인터리버 메모리(100)의 크기가 (N ×N)이고 인터리버 메모리(100)에 행(row) 단위로 저장되고 열(column) 단위로 출력되는 경우, 입력심볼은 인터리버 쓰기주소 발생기(interleaver write address generator)(200)에서 여러 파라미터를 사용하여 만들어진 쓰기주소(write address)에 저장된다. 이 때 인터리버 쓰기주소 발생기(200)에서 사용되는 파라미터로는 인터리버 메모리 크기(N ×N)를 나타내는 파라미터와, 인터리버 메모리(100)의 행 주소(row address)를 표현한 이진 주소값을 비트 인버젼(bit inversion)시킨 이진 주소값을 나타낸 인터리버 매개변수(m)와 서로 인접된 심볼들간의 거리를 나타낸 매개변수(J)에 대한 각 파라미터를 사용한다. 이후 인터리버 읽기주소 발생기(300)는 0번지에서 (N-1)번지까지의 열 주소를 순차적으로 발생시켜 인터리버 메모리(100)에 저장된 심볼들이 출력되도록 한다.When the size of the interleaver memory 100 shown in FIG. 2 is (N × N) and is stored in the interleaver memory 100 in units of rows and is output in units of columns, the input symbol is an interleaver write address generator. (interleaver write address generator) 200 is stored in the write address (write address) made using a number of parameters. In this case, the parameters used in the interleaver write address generator 200 may include a bit inversion of a parameter indicating an interleaver memory size (N × N) and a binary address value representing a row address of the interleaver memory 100. Each parameter is used for the interleaver parameter (m) representing the binary address of the bit inversion and the parameter (J) representing the distance between adjacent symbols. Thereafter, the interleaver read address generator 300 sequentially generates column addresses from address 0 to (N-1) so that symbols stored in the interleaver memory 100 are output.

앞에서도 언급한 비트 인버젼에 대해 설명한다. 인터리버 메모리(100)의 크기가 (N ×N = 8 ×8)일 때 행(row)을 나타내는 이진 주소값이 차례로 "0=000(2), 1=001(2), 2=010(2), 3=011(2), 4=100(2), 5=101(2), 6=110(2), 7=111(2)"이다. 이 이진 주소값들을 각각 비트 인버젼시키면 "000(2)=0, 100(2)=4, 010(2)=2, 110(2)=6, 001(2)=1, 101(2)=5, 011(2)=3, 111(2)=7" 이 된다.The aforementioned bit inversion is described. When the size of the interleaver memory 100 is (N × N = 8 × 8), the binary address values representing rows are “0 = 000 (2) , 1 = 001 (2) , 2 = 010 (2 ) , 3 = 011 (2) , 4 = 100 (2) , 5 = 101 (2) , 6 = 110 (2) , 7 = 111 (2) ". Bit-inversion of these binary address values respectively means "000 (2) = 0, 100 (2) = 4, 010 (2) = 2, 110 (2) = 6, 001 (2) = 1, 101 (2). = 5, 011 (2) = 3, 111 (2) = 7 ".

본 발명에 따른 BRO 인터리버에는 이 같은 비트 인버젼이 적용되어, 순차적인 행 주소값대로 입력심볼을 저장시키지 않고, 비트 인버젼된 행 주소값 순서대로 심볼을 저장시킨다.The bit inversion is applied to the BRO interleaver according to the present invention, so that the symbols are stored in the order of the bit inverted row addresses without storing the input symbols in the sequential row address values.

다음은 상기한 파라미터들을 사용하는 본 발명의 BRO 인터리버에 대해 설명한다.The following describes the BRO interleaver of the present invention using the above parameters.

본 발명에 따른 순방향 BRO 인터리버에는 입력심볼이 인터리버 쓰기주소 발생기(200)에서 발생된 다음 식 4의 주소(Ai)에 따라 저장된다.In the forward BRO interleaver according to the present invention, an input symbol is generated by the interleaver write address generator 200 and stored according to the address A i of Equation 4 below.

상기한 식 4에서 i= 0 ~ (N-1) 이며,는 x보다 크지 않는 최대 정수이다. 또한 BROm(y)는 y의 비트 인버젼시키는 연산자로써, 상기에서도 언급한 바와 같이 BRO 인터리버의 크기가 (8 ×8)일 경우에 BROm(0)=0, BROm(1)=4, BROm(2)=2, BROm(3)=6, BROm(4)=1, BROm(5)=5, BROm(6)=3, BROm(7)=7이 된다.In Formula 4, i = 0 to (N-1), Is the largest integer not greater than x. In addition, BRO m (y) is a bit inversion operator of y. As mentioned above, when the size of the BRO interleaver is (8 × 8), BRO m (0) = 0 and BRO m (1) = 4. , BRO m (2) = 2, BRO m (3) = 6, BRO m (4) = 1, BRO m (5) = 5, BRO m (6) = 3, BRO m (7) = 7 .

다음에 순방향 BRO 인터리버에 저장된 심볼들은 인터리버 읽기주소 발생기(300)가 발생시킨 0번지에서 (N-1)번지까지의 열 주소대로 출력된다.Next, the symbols stored in the forward BRO interleaver are output as column addresses from address 0 to address (N-1) generated by the interleaver read address generator 300.

반면에 순방향-역방향 BRO 인터리버에는 입력심볼들이 다음 식 5와 식 6에 나타낸 주소(Ai)에 따라 저장된다.On the other hand, in the forward-reverse BRO interleaver, the input symbols are stored according to the address A i shown in Equations 5 and 6 below.

상기한 식 5에서 i= 0,2,4,...,(N-2) 이고, 식 6에서 i= 1,3,5,...,(N-1) 이다.In formula 5, i = 0, 2, 4, ..., (N-2), and in formula 6, i = 1, 3, 5, ..., (N-1).

순방향-역방향 BRO 인터리버에는 짝수 번째 입력심볼들이 상기 식 5에 의한 쓰기주소에 따라 저장되며, 홀수 번째 입력심볼들은 상기 식 6에 의한 쓰기주소에 따라 저장된다. 이 때 상기한 식 5에 의한 짝수 번째 입력심볼이 먼저 저장되며, 이후 홀수 번째 입력심볼들과 번갈아 가며 저장된다.In the forward-reverse BRO interleaver, even-numbered input symbols are stored according to the write address according to Equation 5, and odd-numbered input symbols are stored according to the write address according to Equation 6. At this time, even-numbered input symbols according to Equation 5 are stored first, and then alternately with odd-numbered input symbols.

다음에 순방향-역방향 BRO 인터리버에 저장된 심볼들은 인터리버 읽기주소 발생기(300)가 발생시킨 0번지에서 (N-1)번지까지의 열 주소대로 출력된다.Next, the symbols stored in the forward-reverse BRO interleaver are output as the column addresses from address 0 to address (N-1) generated by the interleaver read address generator 300.

상기와 같은 동작을 위해 도 2에 도시된 인터리버 쓰기주소 발생기(200)는 다음 도 3과 같은 구성을 가진다.For the above operation, the interleaver write address generator 200 illustrated in FIG. 2 has a configuration as shown in FIG. 3.

도 3은 본 발명의 블록 인터리빙을 위한 인터리버 쓰기주소 발생기의 구조를 나타낸 도면이다.3 is a diagram illustrating a structure of an interleaver write address generator for block interleaving according to the present invention.

도 3을 참조하면, 인터리버 쓰기주소 발생기는 0에서 (N-1)까지의비트 카운터(counter)인비트 증감기(210)와, 먹스(MUX)(240)와,비트의 입력 X에 대해 다음 식 7과 같은 출력 Y를 나타내는 인터리버 주소 계산기(250)를 포함하여 구성된다.Referring to FIG. 3, the interleaver write address generator is divided from 0 to (N-1). Bit counter The bit sensitizer 210, the mux 240, And an interleaver address calculator 250 representing an output Y as shown in Equation 7 for the input X of the bit.

일단비트 증감기(210)는비트의 출력값을 내보낸다.First The bit incrementer 210 Export the output value of the bit.

다음 순방향 BRO 인터리버에서 먹스(240)는비트 증감기(210)의비트 출력값을 인터리버 주소 계산기(250)에 전달한다. 반면에 순방향-역방향 BRO 인터리버에서 먹스(240)는 이와 다르게 동작한다.In the next forward BRO interleaver, the MUX 240 Of the bit intensifier 210 The bit output value is passed to the interleaver address calculator 250. On the other hand, the MUX 240 operates differently in the forward-reverse BRO interleaver.

즉, 짝수 번째 입력심볼에 대해 먹스(240)는비트 증감기(210)의 출력값을 1비트 자리내림하는 1/2 쉬프터(220)의 출력을 인터리버 주소 계산기(250)에 전달하며, 홀수 번째 입력심볼에 대해 먹스(240)는비트 증감기(210)의 출력값과 인터리버 메모리의 크기(N ×N)를 입력으로 하여 배타적 논리합 연산(XOR)을 행하는 비트별 배타적 논리합 연산자(230)의 출력을 인터리버 주소 계산기(250)에 전달한다.That is, the mux 240 for the even-numbered input symbol The output of the half shifter 220, which lowers the output value of the bit incrementer 210 by one bit, is transmitted to the interleaver address calculator 250, and the mux 240 for the odd-numbered input symbol is The output of the bit inductor 210 and the size of the interleaver memory (N × N) are input, and the output of the bitwise exclusive OR operator 230 for performing an exclusive OR operation (XOR) is transmitted to the interleaver address calculator 250. .

이후 인터리버 주소 계산기(250)는 전달된비트의 입력 X에 대해다음 식 7의 출력을 발생시켜 인터리버 메모리에 쓰기주소를 제공한다.The interleaver address calculator 250 is then forwarded. For the input X of the bit, the output of Equation 7 is generated to provide the write address to the interleaver memory.

본 발명에서는 도시되지 않았지만 인터리버 읽기주소 발생기(300)가 단지 0에서 (N-1)까지의비트 카운터(counter)로 구성된다.Although not shown in the present invention, the interleaver read address generator 300 is only 0 to (N-1). It consists of a bit counter.

이상에서 설명한 바와 같이 본 발명의 블록 인터리빙 방법 및 그를 위한 장치에 따르면 다음과 같은 효과가 있다.As described above, according to the block interleaving method and apparatus therefor, the present invention has the following effects.

비트 인버젼을 적용시킨 기존의 인터리버 읽기주소 발생기에서 사용되는 수학적 연산에 비해 보다 간단한 연산으로써 본 발명의 인터리버 쓰기주소 발생기를 구현할 수 있다. 즉 모듈러 연산(modular)과 나눗셈 연산이 모두 2의 승(2m)으로 구현되어 보다 간단하다.The interleaver write address generator of the present invention can be implemented by a simpler operation than the mathematical operation used in the existing interleaver read address generator to which bit inversion is applied. In other words, both modular and division operations are implemented with powers of 2 (2 m ), which makes them simpler.

또한 인터리버 메모리에 심볼들을 저장하는 시간과 인터리버 메모리로부터 심볼들을 읽어내는 시간의 차이로 인해 발생되는 데이터 충돌에 대해 보다 효율적으로 대처할 수 있다. 즉 인터리버 메모리로부터 출력심볼을 순차적으로 읽기 때문에 데이터 충돌이 발생한 심볼 수와 위치가 단순히 인터리버 처리 시간의 영향만 받게 된다. 따라서 데이터 충돌이 발생된 인터리버 메모리의 영역만을 이중 버퍼링 구조로 구현하여 구조적 자원을 절약할 수 있다.In addition, it is possible to more efficiently cope with data collisions caused by the difference between the time of storing the symbols in the interleaver memory and the time of reading the symbols from the interleaver memory. That is, since the output symbols are sequentially read from the interleaver memory, the number and position of the symbols where the data collision occurs are only affected by the interleaver processing time. Therefore, it is possible to save structural resources by implementing only the region of the interleaver memory where the data collision occurs in a double buffering structure.

Claims (4)

인터리버 메모리의 크기가 (N ×N), 상기 인터리버 메모리의 열 주소값을 비트 인버젼시킨 그 주소값이 m, 그리고 서로 인접한 심볼들간의 거리가 J일 경우,If the size of the interleaver memory is (N × N), the address value which bit-inverted the column address value of the interleaver memory is m, and the distance between adjacent symbols is J, 입력되는 i번째 심볼을 y에 대해 비트 인버젼시키는 연산자인 BROm(y)를 포함한의 주소에 저장하는 단계와;Contains BRO m (y), the operator to bit invert the input i-th symbol with y Storing at the address of; 상기 인터리버 메모리의 열 주소값의 열 순서에 따라 상기 저장된 심볼들을 순차적으로 출력하는 단계로 이루어지는 것을 특징으로 하는 블록 인터리빙 방법.And sequentially outputting the stored symbols according to a column order of column address values of the interleaver memory. 제 1 항에 있어서, 상기 저장 단계는, 상기 인터리버 메모리의 크기가 (N ×N), 상기 인터리버 메모리의 열 주소값을 비트 인버젼시킨 그 주소값이 m, 그리고 서로 인접한 심볼들간의 거리가 J일 경우, 입력되는 i번째 심볼 중 짝수 번째 심볼이 y에 대해 비트 인버젼시키는 연산자인 BROm(y)를 포함한의 주소에 저장되고, 나머지 홀수 번째 심볼이의 주소에 저장되는 것을 특징으로 하는 블록 인터리빙 방법.The method of claim 1, wherein the storing comprises: the size of the interleaver memory (N x N), the address value of bit inversion of the column address value of the interleaver memory is m, and the distance between adjacent symbols is J; In this case, BRO m (y), which is an operator that bit-inverts the y of even-numbered symbols, is input. Is stored at the address of Block interleaving method, characterized in that stored in the address of. 입력되는 심볼들을 행 단위로 써서 저장하고, 그 저장된 심볼들을 열 단위로읽어서 출력하는 인터리버 메모리와;An interleaver memory which writes and stores the input symbols in units of rows and reads the stored symbols in units of columns; 상기 인터리버 메모리의 크기가 (N ×N), 상기 인터리버 메모리의 열 주소값을 비트 인버젼시킨 그 주소값이 m, 그리고 서로 인접한 심볼들간의 거리가 J일 경우에, 입력되는 i번째 심볼이 y에 대해 비트 인버젼시키는 연산자인 BROm(y)를 포함한의 주소에 저장되도록 하는 주소값을 발생시키는 인터리버 쓰기주소 발생기와;When the size of the interleaver memory is (N × N), the address value of bit inversion of the column address value of the interleaver memory is m, and the distance between adjacent symbols is J, the i-th symbol to be input is y Contains the BRO m (y) operator, which is the bit inversion for An interleaver write address generator for generating an address value to be stored at an address of the interleaver; 상기 인터리버 메모리에 순차적인 열 주소값을 제공하는 인터리버 읽기주소 발생기를 포함하여 구성되는 것을 특징으로 하는 블록 인터리빙 장치.And an interleaver read address generator providing sequential column address values to the interleaver memory. 제 3 항에 있어서, 상기 인터리버 쓰기주소 발생기는, 상기 인터리버 메모리의 크기가 (N ×N), 상기 인터리버 메모리의 열 주소값을 비트 인버젼시킨 그 주소값이 m, 그리고 서로 인접한 심볼들간의 거리가 J일 경우에, 입력되는 i번째 심볼 중 짝수 번째 심볼이 y에 대해 비트 인버젼시키는 연산자인 BROm(y)를 포함한의 주소에 저장되고, 나머지 홀수 번째 심볼이의 주소에 저장되도록 하는 주소값을 발생시키는 것을 특징으로 하는 블록 인터리빙 장치.The interleaver write address generator of claim 3, wherein the size of the interleaver memory is (N × N), the address value of bit inversion of the column address value of the interleaver memory is m, and the distance between adjacent symbols. Is equal to J, the even one of the i th input symbols contains BRO m (y), which is an operator that bit inverts y. Is stored at the address of Block interleaving apparatus for generating an address value to be stored in the address of.
KR10-2000-0012189A 2000-03-10 2000-03-10 Block interleaving method, and apparatus for the same KR100487366B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0012189A KR100487366B1 (en) 2000-03-10 2000-03-10 Block interleaving method, and apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0012189A KR100487366B1 (en) 2000-03-10 2000-03-10 Block interleaving method, and apparatus for the same

Publications (2)

Publication Number Publication Date
KR20010088147A true KR20010088147A (en) 2001-09-26
KR100487366B1 KR100487366B1 (en) 2005-05-03

Family

ID=19654193

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0012189A KR100487366B1 (en) 2000-03-10 2000-03-10 Block interleaving method, and apparatus for the same

Country Status (1)

Country Link
KR (1) KR100487366B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100510643B1 (en) * 2000-11-01 2005-08-30 엘지전자 주식회사 Method for interleaving in Mobile Communication System

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100510643B1 (en) * 2000-11-01 2005-08-30 엘지전자 주식회사 Method for interleaving in Mobile Communication System

Also Published As

Publication number Publication date
KR100487366B1 (en) 2005-05-03

Similar Documents

Publication Publication Date Title
US6810499B2 (en) Product code based forward error correction system
US5991857A (en) Interleaving and de-interleaving of data in telecommunications
NO315886B1 (en) Convolutional recesses with reduced memory and address generator needs for this, and convolutional recesses
KR100248396B1 (en) Designed method of channel encoder by using parallel convolutional encoder
CN111294059A (en) Encoding method, decoding method, error correction method and related device
US8438448B2 (en) Decoding method and device for low density generator matrix codes
JP2005012825A (en) Interleaver and interleaving method in communication system
KR100499467B1 (en) Block interleaving method, and apparatus for the same
US7073012B2 (en) System and method for interleaving data in a communications device
US20050262415A1 (en) Method and apparatus for convolutional interleaving/de-interleaving technique
US7398446B2 (en) Low power operation of an address interleaver
KR100487366B1 (en) Block interleaving method, and apparatus for the same
JP3279624B2 (en) 1-bit error correction circuit based on CRC operation
JP6875661B2 (en) Error detection redundant bit generation method and device
US20050138525A1 (en) System and method for forward error correction
KR970024634A (en) Error Detection Circuit Using Periodic Slack Code
KR100248395B1 (en) Design method of channel encoder in digital communication
US7061988B2 (en) Interleaver memory access apparatus and method of mobile communication system
KR100200810B1 (en) Error correction encoding method and apparatus
KR20010072362A (en) Interleave device and interleave method
JP2827978B2 (en) Interleave device
KR20090030378A (en) Apparatus and method for block interleaving in mobile communication system
CN108540138B (en) CSRAA coding circuit and encoder
US6687870B1 (en) Method and apparatus for interleaving for information transmission or storage applications
JP2010004100A (en) Transmission data generator

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
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