KR100645730B1 - Interleaving Method Using Magic Matrix - Google Patents
Interleaving Method Using Magic Matrix Download PDFInfo
- Publication number
- KR100645730B1 KR100645730B1 KR1019990066951A KR19990066951A KR100645730B1 KR 100645730 B1 KR100645730 B1 KR 100645730B1 KR 1019990066951 A KR1019990066951 A KR 1019990066951A KR 19990066951 A KR19990066951 A KR 19990066951A KR 100645730 B1 KR100645730 B1 KR 100645730B1
- Authority
- KR
- South Korea
- Prior art keywords
- size
- interleaver
- row
- magic
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2778—Interleaver 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2782—Interleaver implementations, which reduce the amount of required interleaving memory
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction 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)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION
본 발명은 매직 매트릭스를 이용한 인터리빙 방법에 관한 것임.The present invention relates to an interleaving method using a magic matrix.
2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention
본 발명은, 매직 매트릭스(Magic Matrix) 특성을 이용하여 인터리빙 어드레스를 생성하고, 다양한 전송율에서도 쉽게 적용이 가능한 인터리빙 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.An object of the present invention is to provide an interleaving method that generates an interleaving address using a magic matrix characteristic and can be easily applied at various transmission rates, and a computer-readable recording medium that records a program for realizing the method. .
3. 발명의 해결방법의 요지 3. Summary of Solution to Invention
본 발명은, 무선통신시스템에 적용되는 인터리빙 방법에 있어서, 프레임 크기의 제곱값(N2)이 인터리버 크기(L) 이상인 값 중에서 가장 작은 프레임 크기(N)를 선택하는 제 1 단계; 상기 선택한 프레임 크기를 이용하여 매직 매트릭스(N ×N)를 구하는 제 2 단계; 상기 선택한 프레임 크기가 소정의 배수이면 입력값을 상기 매직 매트릭스에 쓴 후에 열 단위 방향으로 읽고, 그 외에는 상기 매직 매트릭스로 입력된 데이터를 행 단위 방향으로 읽는 제 3 단계; 및 크기가 L인 인터리버(IL)를 구성하기 위하여, 상기 선택한 프레임 크기(N)보다 큰 값을 삭제하는 제 4 단계를 포함함.The present invention provides an interleaving method applied to a wireless communication system, comprising: a first step of selecting a smallest frame size (N) from a value whose square size (N 2 ) of the frame size is equal to or larger than the interleaver size (L); A second step of obtaining a magic matrix (N × N) using the selected frame size; A third step of reading an input value in the magic matrix and reading data in the column unit direction if the selected frame size is a predetermined multiple, and otherwise reading data input in the magic matrix in the row unit direction; And a fourth step of deleting a value larger than the selected frame size (N) to form an interleaver (I L ) of size L.
4. 발명의 중요한 용도4. Important uses of the invention
본 발명은 무선통신시스템 등에 이용됨.The present invention is used in a wireless communication system.
터보 매직 인터리버, 매직 매트릭스, 어드레스, 행 단위, 열 단위Turbo Magic Interleaver, Magic Matrix, Address, Rows, Columns
Description
도 1 은 본 발명에 따른 매직 매트릭스를 이용한 인터리빙 방법중 기본적인 매직 인터리빙 과정에 대한 설명도.1 is an explanatory diagram of a basic magic interleaving process in an interleaving method using a magic matrix according to the present invention.
도 2 는 본 발명에 따른 터보 매직 인터리빙 과정에 대한 설명도.2 is an explanatory diagram of a turbo magic interleaving process according to the present invention;
도 3 은 본 발명이 적용되는 무선통신시스템의 송신단에서 터보 코드를 부호화하기 위한 부호화 장치의 구성도.3 is a block diagram of an encoding device for encoding a turbo code at a transmitting end of a wireless communication system to which the present invention is applied.
도 4 는 본 발명에 따른 매직 매트릭스를 이용한 인터리빙 방법에 대한 일실시예 흐름도.4 is a flowchart illustrating an interleaving method using a magic matrix according to the present invention.
도 5 는 인터리빙 데이터 크기 및 삭제 값을 나타낸 예시도.5 shows an example of interleaving data size and deletion value.
도 6 은 인터리버의 종류에 따른 비트 에러율(BER)의 성능에 대한 예시도.6 is an exemplary diagram of the performance of a bit error rate (BER) according to the type of interleaver.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
311~31(n-1) : 터보 매직 인터리버 311 ~ 31 (n-1): Turbo Magic Interleaver
321~32n : 컨벌루션 인코더321 ~ 32n: Convolutional Encoder
본 발명은 차세대 이동통신(IMT-2000) 시스템에서 FEC(Forward Error Ccorrection)의 표준으로 채택된 터보 부호에 대한 기술력 확보 및 독자적인 국내 기술 개발로 통신 시장 개방에 따른 국제 경쟁력을 강화시키고 국내 정보통신 산업의 발전에 기여하기 위한, 매직 매트릭스를 이용한 인터리빙 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 계산에 의하여 인터리빙 어드레스를 생성하는 비교적 간단한 알고리즘으로 다양한 전송율에도 쉽게 적용이 가능하도록 구현한, 매직 매트릭스를 이용한 인터리빙 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention strengthens the international competitiveness by opening the communication market and securing domestic technology for the turbo code adopted as the standard of Forward Error Ccorrection (FEC) in the next generation mobile communication (IMT-2000) system and developing domestic technology The present invention relates to an interleaving method using a magic matrix and a computer readable recording medium recording a program for realizing the method. More specifically, a relatively simple algorithm for generating an interleaving address by calculation is provided. The present invention relates to an interleaving method using a magic matrix and a computer readable recording medium having recorded thereon a program for realizing the method.
최근 셀룰라와 이동 위성 시스템과 같은 짧은 프레임에서 정보를 전송하는 무선통신 시스템에 터보 코드를 적용하는 연구가 활발하게 진행되고 있는데, 이는 터보 코드의 성능에 크게 영향을 미치는 인터리버의 크기를 사용자가 원하는 데이터의 종류에 따라 가변적으로 적용하였을 때 가능한 것으로 나타나고 있다. 터보 코드에서 부호화한 비트들의 상관성(correlation)이 증가할수록 복호화 동작을 위한 많은 정보를 얻을 수는 있겠지만 에러들에 대한 상관성 또한 증가하게 된다. 따라서 에러들 사이의 상관성을 제거하기 위해 인터리버를 사용하며 인터리버 크기에 따라 상관성을 어느 정도 제거해 줄 것인지도 어려운 문제이며 복잡성이나 지연의 문제도 수반하게 된다.Recently, the research on applying the turbo code to the wireless communication system that transmits the information in the short frame such as cellular and mobile satellite system has been actively conducted, which is the data that the user wants the size of the interleaver which greatly affects the performance of the turbo code. It is shown that it is possible to apply it variably according to the type of. As the correlation of the bits encoded in the turbo code increases, more information for the decoding operation may be obtained, but the correlation of errors also increases. Therefore, the interleaver is used to remove the correlation between errors, and it is difficult to remove the degree of correlation depending on the size of the interleaver, and the complexity or delay is accompanied.
일반적인 채널 환경에서의 인터리버는 연집 에러를 랜덤 에러로 전환하여 주는 역할을 하고, 터보 코드에서의 인터리버는 첫 번째 구성부호기에서 낮은 무게(low-weight)를 출력하는 입력열의 특정한 패턴이 인터리버를 통해서 그대로 나타나게 되면, 두 번째 구성 부호기에서도 낮은 무게의 패리티 열을 출력하게 되어 전체적으로 낮은 무게의 부호어가 생성될 뿐만 아니라 터보 부호의 성능도 열화되므로 상관 관계가 있는 정보를 효과적으로 상관 관계가 없는 정보로 전환하기 위해 정보 비트의 입력순서를 재배열하여 에러 패턴을 깨주게 된다. 즉, 하나의 RSC(Recursive Systematic Convolution) 부호기의 입력 패턴이 작은 거리 특성을 주는 경우, 다른 하나의 RSC 부호기로의 입력 패턴이 큰 거리 특성을 줄 수 있도록 입력 패턴에 대한 치환(permutation)을 수행하는 것이다.In the general channel environment, the interleaver converts a concatenation error into a random error, and the interleaver in a turbo code has a specific pattern of an input string outputting low-weight in the first component encoder through the interleaver. When it appears, the second component coder outputs a low weight parity string, which not only generates a low weight codeword as a whole, but also degrades the performance of the turbo code, thereby effectively converting correlated information into uncorrelated information. The order of the information bits is rearranged to break the error pattern. That is, when the input pattern of one Recursive Systematic Convolution (RSC) encoder gives a small distance characteristic, the permutation of the input pattern is performed so that the input pattern to the other RSC encoder can give a large distance characteristic. will be.
부호기 측면에서 터보 코드의 성능을 좌우하는 한가지 요소는 RSC 부호를 연결하는 인터리버로서, 인터리버 크기가 클수록 성능은 좋아지며, 짧은 프레임의 경우 랜덤 인터리버를 사용하는 것보다는 최적의 구조적 인터리버를 사용하는 것이 유리하다. 하지만 긴 프레임의 경우, 이러한 구조적 인터리버가 고정된 구조이기 때문에 일정크기 이상의 최소 해밍 거리를 가지는 것이 불가능하므로 랜덤 인터리버를 사용하는 것이 유리하다. 따라서 터보 코드의 성능을 향상시키기 위해서는 종래의 구조적 인터리빙 방식이 아닌 랜덤 인터리버를 사용해야 하는데, 이러한 인터리버 방식의 문제점은 각각의 전송율에 따라 모든 인터리버 어드레스를 저장해야 한다는 점이다.One factor that determines the performance of turbo code in terms of encoder is the interleaver that connects RSC codes. The larger the interleaver size, the better the performance. For short frames, it is advantageous to use the optimal structural interleaver rather than random interleaver Do. However, in the case of a long frame, since the structural interleaver is a fixed structure, it is impossible to have a minimum hamming distance of more than a predetermined size, so it is advantageous to use a random interleaver. Therefore, in order to improve the performance of the turbo code, it is necessary to use a random interleaver rather than a conventional structural interleaving method. The problem of the interleaver method is that all interleaver addresses must be stored according to respective transmission rates.
최근에는 인터리버의 랜덤성을 유지하면서 어드레스를 저장하지 않고 계산에 의해 만들어내는 방법(on-the-fly)들이 연구되고 있다. 이때, 최적의 성능을 보장할 수 있도록 인터리버 어드레스 계산 알고리즘으로 사용할 수 있는 방법은 3GPP(3rd Generation Partnership Project)에서 표준으로 논의되었던 LCS(Linear Congruential Sequence) 인터리버, GF(Galois Field) 인터리버, MIL(Multi stage Interleaving) 인터리버, 마더(mother) 인터리버 등이 있다. 각 알고리즘은 탐색 과정을 통해 어드레스 계산에 필요한 파라미터들에 대한 최적화 과정을 수행하고, 이렇게 얻어진 파라미터들을 ROM(Read Only Memory)에 저장하여 어드레스 계산에 이용하는 방법들을 사용한다. 인터리버 어드레스 계산시 일반적으로 2차원 배열을 이용하는 방식의 성능이 우수한 것으로 알려져 있다. 이때, 2차원 인터리버 방식에서 사용하는 기법은 행 인덱스(row index)에 대해서는 비트 리버설(Bit Reversal) 방법을 사용하고, 각각의 행에 대하여 적절한 고유의 규칙을 이용하여 열 치환(column Permutation)을 수행하는 것이다. 인터리버의 설계시 고려할 사항은 인터리버 어드레스를 구성하기 위하여 가능한 적은 메모리를 가지고서 실현해야 하며, 다양한 전송율에서도 쉽게 적용이 되어야 한다. 따라서 본 발명에서는 계산에 의하여 인터리빙 어드레스를 생성하며 비교적 간단한 알고리즘으로 다양한 전송율에서도 쉽게 적용이 가능한 인터리빙 방법을 제안하고자 한다.Recently, on-the-fly methods have been studied to generate an interleaver without calculating an address while maintaining the randomness of the interleaver. At this time, the interleaver address calculation algorithm can be used as an interleaver address calculation algorithm to ensure optimal performance. The linear congruential sequence (LCS) interleaver, GI (Galois Field) interleaver, MIL (Multi) stage Interleaving) Interleaver and mother interleaver. Each algorithm performs a process of optimizing parameters necessary for address calculation through a search process, and stores the obtained parameters in a read only memory (ROM) and uses them for address calculation. It is generally known that the performance of a two-dimensional array in calculating interleaver addresses is excellent. At this time, the technique used in the two-dimensional interleaver method uses a bit reversal method for the row index, and performs column permutation using an appropriate unique rule for each row. It is. Considerations in the design of the interleaver should be realized with as little memory as possible to configure the interleaver address, and should be easily applied at various data rates. Accordingly, the present invention proposes an interleaving method that generates an interleaving address by calculation and can be easily applied at various data rates with a relatively simple algorithm.
본 발명은, 상기한 바와 같은 문제점을 해결하고 상기 요구에 부응하기 위하여 제안된 것으로, 매직 매트릭스(Magic Matrix) 특성을 이용하여 인터리빙 어드레스를 생성하고, 다양한 전송율에서도 쉽게 적용이 가능한 인터리빙 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems and meet the above-mentioned requirements. An interleaving method and an interleaving method that generate an interleaving address using a magic matrix characteristic and can be easily applied at various data rates. An object of the present invention is to provide a computer-readable recording medium having recorded thereon a program for realizing this.
상기 목적을 달성하기 위한 본 발명의 방법은, 무선통신시스템에 적용되는 인터리빙 방법에 있어서, 프레임 크기의 제곱값(N2)이 인터리버 크기(L) 이상인 값 중에서 가장 작은 프레임 크기(N)를 선택하는 제 1 단계; 상기 선택한 프레임 크기를 이용하여 매직 매트릭스(N ×N)를 구하는 제 2 단계; 상기 선택한 프레임 크기가 소정의 배수이면 입력값을 상기 매직 매트릭스에 쓴 후에 열 단위 방향으로 읽고, 그 외에는 상기 매직 매트릭스로 입력된 데이터를 행 단위 방향으로 읽는 제 3 단계; 및 크기가 L인 인터리버(IL)를 구성하기 위하여, 상기 선택한 프레임 크기(N)보다 큰 값을 삭제하는 제 4 단계를 포함한다.In the method of the present invention for achieving the above object, in the interleaving method applied to the wireless communication system, the smallest frame size (N) is selected from the values of the square value (N 2 ) of the frame size is equal to or larger than the interleaver size (L). A first step of making; A second step of obtaining a magic matrix (N × N) using the selected frame size; A third step of reading an input value in the magic matrix and reading data in the column unit direction if the selected frame size is a predetermined multiple, and otherwise reading data input in the magic matrix in the row unit direction; And a fourth step of deleting a value larger than the selected frame size (N) to form an interleaver (I L ) having a size of L.
또한, 상기 목적을 달성하기 위한 본 발명의 다른 방법은, 무선통신시스템에 적용되는 인터리빙 방법에 있어서, 크기가 N인 인터리버(IN = row ×col)를 구성하기 위하여, 행과 열의 수를 미리 결정한 후 입력 비트열을 행(row) 단위로 쓰는 제 1 단계; 각 행 내부의 데이터들을 치환하여 행 데이터 크기(mc)가 소정의 배수이면 입력값을 매직 매트릭스(mc ×mc)로 채운 후에 열 단위(column by column) 방향으로 읽어오고, 그 외의 데이터 크기가 입력되면 상기 매직 매트릭스를 전치시켜 열 단위(column by column) 방향으로 읽는 제 2 단계; 상기 각 행 별로 읽어온 데이터를 각 행 내부에서 왼쪽으로 천이시키는 제 3 단계; 및 상기 행 데이터 크기(mc)를 구하여 상기 매직 매트릭스에 따라 상기 인터리버를 구성하고, 상기 구성한 인터리버를 이용하여 열 단위로 인터리빙된 데이터를 읽는 제 4 단계를 포함한다.In addition, another method of the present invention for achieving the above object, in the interleaving method applied to a wireless communication system, in order to configure the interleaver ( N N = row × col) of size N, in advance the number of rows and columns A first step of determining and writing an input bit string in rows; If the data in each row is replaced and the row data size (m c ) is a predetermined multiple, the input value is filled with the magic matrix (m c × m c ) and then read in the column by column direction. A second step of transposing the magic matrix in a column by column direction when a size is input; A third step of shifting the data read for each row to the left in each row; And a fourth step of obtaining the row data size m c to configure the interleaver according to the magic matrix, and reading interleaved data in column units using the configured interleaver.
또한, 상기 목적을 달성하기 위한 본 발명의 또 다른 방법은, 무선통신시스템에 적용되는 인터리빙 방법에 있어서, 데이터를 컨벌루션 코드로 부호화하기 위하여 매직 인터리버(IL)의 크기를 결정하는 제 1 단계; 매직 매트릭스를 이용하여 인터리빙 및 천이를 수행하여 인터리빙 어드레스를 생성하는 제 2 단계; 상기 생성한 인터리빙 어드레스 값에 대하여 입력 프레임의 길이보다 큰 값을 삭제하는 제 3 단계; 및 상기 생성한 인터리빙 어드레스를 이용하여 인터리빙을 수행하는 제 4 단계를 포함한다.In addition, another method of the present invention for achieving the above object is an interleaving method applied to a wireless communication system, the first step of determining the size of the magic interleaver (I L ) in order to code the data into a convolution code; A second step of performing interleaving and transition using a magic matrix to generate an interleaving address; Deleting a value larger than a length of an input frame with respect to the generated interleaving address value; And a fourth step of performing interleaving using the generated interleaving address.
한편, 본 발명은, 프로세서를 구비한 무선통신시스템에, 프레임 크기의 제곱값(N2)이 인터리버 크기(L) 이상인 값 중에서 가장 작은 프레임 크기(N)를 선택하는 기능; 상기 선택한 프레임 크기를 이용하여 매직 매트릭스(N ×N)를 구하는 기능; 상기 선택한 프레임 크기가 소정의 배수이면 입력값을 상기 매직 매트릭스에 쓴 후에 열 단위 방향으로 읽고, 그 외에는 상기 매직 매트릭스로 입력된 데이터를 행 단위 방향으로 읽는 기능; 및 크기가 L인 인터리버(IL)를 구성하기 위하여, 상기 선택한 프레임 크기(N)보다 큰 값을 삭제하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.On the other hand, the present invention, the wireless communication system having a processor, the function of selecting the smallest frame size (N) from the value of the square value (N 2 ) of the frame size or more than the interleaver size (L); Obtaining a magic matrix (N × N) using the selected frame size; Reading the data in the column unit direction after writing an input value in the magic matrix when the selected frame size is a predetermined multiple, and otherwise reading data input in the magic matrix in the row unit direction; And a computer-readable recording medium having recorded thereon a program for realizing a function of deleting a value larger than the selected frame size N, in order to configure an interleaver I L having a size L.
또한, 본 발명은, 프로세서를 구비한 무선통신시스템에, 크기가 N인 인터리버(IN = row ×col)를 구성하기 위하여, 행과 열의 수를 미리 결정한 후 입력 비트열을 행(row) 단위로 쓰는 기능; 각 행 내부의 데이터들을 치환하여 행 데이터 크기(mc)가 소정의 배수이면 입력값을 매직 매트릭스(mc ×mc)로 채운 후에 열 단위(column by column) 방향으로 읽어오고, 그 외의 데이터 크기가 입력되면 상기 매직 매트릭스를 전치시켜 열 단위(column by column) 방향으로 읽는 기능; 상기 각 행 별로 읽어온 데이터를 각 행 내부에서 왼쪽으로 천이시키는 기능; 및 상기 행 데이터 크기(mc)를 구하여 상기 매직 매트릭스에 따라 상기 인터리버를 구성하고, 상기 구성한 인터리버를 이용하여 열 단위로 인터리빙된 데이터를 읽는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In addition, the present invention, in order to form an interleaver ( N N = row x col) of size N in a wireless communication system having a processor, the input bit string is determined in units of rows after determining the number of rows and columns in advance. Writing function; If the data in each row is replaced and the row data size (m c ) is a predetermined multiple, the input value is filled with the magic matrix (m c × m c ) and then read in the column by column direction. Reading the magic matrix in a column by column direction by transposing the magic matrix when the size is input; Translating the data read for each row to the left in each row; A computer readable recording having a program for realizing a function of reading the row data size (m c ) to configure the interleaver according to the magic matrix, and reading the interleaved data in units of columns using the configured interleaver. Provide the medium.
또한, 본 발명은, 프로세서를 구비한 무선통신시스템에, 데이터를 컨벌루션 코드로 부호화하기 위하여 매직 인터리버(IL)의 크기를 결정하는 기능; 매직 매트릭스를 이용하여 인터리빙 및 천이를 수행하여 인터리빙 어드레스를 생성하는 기능; 상기 생성한 인터리빙 어드레스 값에 대하여 입력 프레임의 길이보다 큰 값을 삭제하는 기능; 및 상기 생성한 인터리빙 어드레스를 이용하여 인터리빙을 수행하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In addition, the present invention provides a wireless communication system having a processor, comprising: a function of determining a size of a magic interleaver I L in order to encode data into a convolutional code; Generating interleaving addresses by performing interleaving and transition using a magic matrix; Deleting a value larger than a length of an input frame with respect to the generated interleaving address value; And a computer-readable recording medium having recorded thereon a program for realizing a function of performing interleaving using the generated interleaving address.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1 은 본 발명에 따른 매직 매트릭스를 이용한 인터리빙 방법중 기본적인 매직 인터리빙 과정에 대한 설명도이다.1 is a diagram illustrating a basic magic interleaving process in an interleaving method using a magic matrix according to the present invention.
도 1에 도시된 바와 같이, 크기가 L인 기본적인 매직 인터리버 은 다음과 같이 구성된다.As shown in FIG. 1, a basic Magic Interleaver of size L Consists of:
첫째, 을 만족하는 가장 작은 N 값을 구한다.first, Find the smallest N value that satisfies
둘째, 크기가 인 매직 매트릭스(magic matrix)를 구성한다.Second, the size Construct a magic matrix.
셋째, 인터리버의 구성은 N이 4의 배수일 경우는 입력값을 매직 매트릭스(magic matrix)로 채운 다음 열 단위(column by column) 방향으로 읽어오며, 그 외는 매직 매트릭스로 입력된 데이터를 행 단위(row by row) 방향으로 읽어온다.third, The configuration of the interleaver is an input value when N is a multiple of 4. Fill it with a magic matrix and read it in the column by column direction. Read the data entered in the magic matrix in the row by row direction.
넷째, 크기가 L인 인터리버 을 구성하기 위하여 N보다 큰 값은 버린다.Fourth, interleaver of size L To construct a value greater than N is discarded.
이와 같이, 매직 인터리버는 정방형의 인터리버 구조를 사용하고, 정방형 매트릭스 구성을 위한 메모리 요구량을 최소화하며, 마방진 알고리즘에 의하여 룩 업 테이블(look up table)을 생성하므로 PIP(pre defined pattern) 등이 불필요하다. 또한, 각각의 행과 열들의 합이 균일하므로 어드레스의 분포가 균일하게 배열된다.As such, the magic interleaver uses a square interleaver structure, minimizes the memory requirements for square matrix construction, and generates a look up table by a square algorithm, thus eliminating the need for a PIP (pre defined pattern). . In addition, since the sum of each row and column is uniform, the distribution of addresses is uniformly arranged.
도 2 는 본 발명에 따른 터보 매직 인터리빙 과정에 대한 설명도로서, 다음과 같이 4단계에 대한 자세한 내용은 다음과 같다.2 is an explanatory diagram of a turbo magic interleaving process according to the present invention. Details of four steps are as follows.
첫 번째로, 각 행 단위로 입력 데이터를 쓴다.First, write the input data in units of rows.
먼저, 입력되는 프레임 길이를 N이라고 하고 다음과 같은 규칙에 의하여 행과 열의 개수를 구한다. 크기가 N인 인터리버를 구성하기 위하여 을 구성하고 최종적으로 N보다 큰 값은 버린다. 행과 열(row and column)의 수를 미리 결정하고 입력 비트열을 행(row) 단위로 쓴다.First, the input frame length is N, and the number of rows and columns is obtained by the following rule. To construct an interleaver of size N And finally the value greater than N is discarded. Predetermine the number of rows and columns, and write the input bit string in rows.
(1) 다음의 규칙에 의해 열(column)의 개수를 결정한다.(1) The number of columns is determined by the following rule.
Case 1 : ( N = 250 ∼ 1000 bits ) ⇒ Case 1: (N = 250 ~ 1000 bits) ⇒
Case 2 : ( N = 1001 ∼ 3000 bits ) ⇒ Case 2: (N = 1001 ~ 3000 bits) ⇒
Case 3 : ( N = 3001 ∼ 8192 bits ) ⇒ Case 3: (N = 3001∼ 8192 bits) ⇒
(2) 다음의 [수학식 1]에 의해 행(row)의 개수를 결정한다.(2) The number of rows is determined by the following [Equation 1].
여기서, 는 A보다 큰 최소 정수를 의미한다.here, Is the minimum integer greater than A.
(3) 인터리버의 입력 비트열은 매트릭스에 행 단위로 입력된다.(3) The input bit string of the interleaver It is entered in a matrix row by row.
두 번째로, 행 내부 단위로 치환(Intra_row Permutation)한다.Second, intra_row permutation is performed.
(1) 각각의 행(row) 내부의 데이터들을 섞는다. 즉, 각 행의 데이터를 크기가 인 매직 매트릭스를 이용하여 치환(permutation)시킨다. 번째 행에 대하여 다음의 [수학식 2] 및 [수학식 3]을 이용하여 데이터들을 섞는다.(1) Shuffle the data inside each row. In other words, the size of each row of data Permutation is performed using the in magic matrix. For the first row, mix the data using the following [Equation 2] and [Equation 3].
, 그 외 , etc
즉, 상기 [수학식 2]에서 먼저 값에 의한 매직 매트릭스를 이용하여 인터리버를 구성하는데, 여기서 가 4의 배수일 경우는 입력값을 매직 매트릭스로 채운 다음 열 단위(column by column) 방향으로 읽어오며, 그 외 크기의 데이터가 입력되면 매직 매트릭스를 전치(Transpose)시켜서 열 단위(column by column) 방향으로 읽어온다.That is, first in [Equation 2] Using the magic matrix by value Configure the interleaver, where If is a multiple of 4, the input value is After filling with the magic matrix, the data is read in the column by column direction. When data of other size is input, the magic matrix is transposed and read in the column by column direction.
세 번째로, 행 내부 단위로 왼쪽으로 천이(Intra_row Left Shift)시킨다.Third, Intra_row Left Shift.
즉, 각 행 별로 읽어온 데이터를 왼쪽으로 천이(shift)시킨다. 상기 [수학식3]에서 은 왼쪽으로 만큼 천이(shift)시킴을 의미한다. 즉, 번째 행(row)에 대하여 값만큼 왼쪽으로 천이시킨다. 이것은 행 별로 같은 인터리빙 패턴을 방지하기 위함이다.That is, the data read for each row is shifted to the left. In [Equation 3] above Left It means to shift by. In other words, For the first row Transition left by value. This is to prevent the same interleaving pattern for each row.
네 번째로, 행 간에 치환(Inter_row Permutation)을 시킨다.Fourth, Inter_row Permutation is performed.
즉, 전체 행에 대하여 다음과 같이 치환(permutation)시킨다.In other words, the entire row is permutated as follows.
먼저, 아래의 [수학식 4]와 같이 값을 구한다. 이를 구하기 위해 크기가 인 매직 매트릭스를 이용하여 인터리버를 구성하고, 이를 이용하여 열 단위(column by column)로 인터리빙된 데이터를 읽어온다.First, as shown in [Equation 4] below Find the value. To get this, Using the magic matrix Construct an interleaver and use it to read interleaved data in columns by column.
상기 [수학식 5]에서 만일 값이 정수가 아니면 행보다 큰 최소 제곱수를 구하여 그의 근으로 정한다. 그리고 행보다 큰 수는 삭제(pruning)시킨다.In
하기의 [수학식 6]의 번째 행에 대하여 를 이용한 어드레스 패턴을 이용하여 행 간(inter-row)을 치환하고, 최종적으로 행 단위로 데이터를 읽어온다.
마지막으로, 크기가 L인 로 구성된 인터리빙 어드레스 값에 대하여 입력 프레임의 크기 N보다 큰 값은 삭제(pruning)를 한다.Finally, size L A value larger than the size N of the input frame is pruned with respect to the interleaved address value.
도 3 은 본 발명이 적용되는 무선통신시스템의 송신단에서 터보 코드를 부호화하기 위한 부호화 장치의 구성도로서, 매직 인터리버가 적용되는 과정을 나타낸 것이다.3 is a block diagram of an encoding apparatus for encoding a turbo code at a transmitting end of a wireless communication system to which the present invention is applied, and shows a process of applying a magic interleaver.
먼저, 입력되는 송신정보 비트를 인터리빙(Interleaving)하여 상관성을 줄이는 터보 매직 인터리버(311 내지 31(n-1))들과, 입력되는 송신정보 비트를 부호화하기 위한 컨벌루션 인코더(321)와, 컨벌루션 인코더(311 내지 31(n-1)) 중 해당 인터리버를 통해 인터리빙된 신호를 인코딩하기 위한 컨벌루션 인코더(322 내지 32n)들이 구비되어 있다.First, turbo
도 3에 도시된 바와 같이, 송신정보 비트는 인코딩 과정 없이 직접 정보 비트로 전송되거나 컨벌루션 인코더(321 내지 32n)들에 의해 인코딩되어 패리티 비트로 전송된다. 즉, 여기서 인터리빙 과정에 제안하는 매직 매트릭스를 이용한 터보 매직 인터리빙 기법을 적용하는 것이다.As shown in FIG. 3, the transmission information bits are directly transmitted as information bits without an encoding process or encoded by
도 4 는 본 발명에 따른 매직 매트릭스를 이용한 인터리빙 방법에 대한 일실 시예 흐름도이다.4 is an exemplary flowchart of an interleaving method using a magic matrix according to the present invention.
도 4에 도시된 바와 같이, 먼저 인터리빙을 위한 송신정보비트열의 데이터를 입력받아(401) 인터리버의 크기를 결정한다(402).As shown in FIG. 4, first, data of a transmission information bit string for interleaving is input (401) and the size of an interleaver is determined (402).
이어서, 행 방향으로 데이터를 써서 각 행 단위로 매직 인터리빙하여 각 내부에서 천이한 후에 각 행간에 매직 인터리빙을 하여 열 방향으로 데이터를 읽는다(403).Subsequently, the data is written in the row direction and magic interleaved in each row unit to make a transition in each interior, and then magic interleaving is performed between the rows to read the data in the column direction (403).
여기서, 크기가 L인 매직 인터리버 IL = row×col로 구성된 인터리빙 어드레스 값에 대하여 입력 프레임의 크기가 N보다 큰 값은 삭제한 후에 인터리버의 어드레스를 이용한 인터리빙을 수행하고(404, 405, 406), 크기가 L인 매직 인터리버 IL = row×col로 구성된 인터리빙 어드레스 값에 대하여 입력 프레임의 크기가 N보다 크지 않으면 바로 인터리버의 어드레스를 이용한 인터리빙을 수행한다(404, 406).Here, for the interleaving address value of L L = row × col of size L, the value of the input frame whose size is larger than N is deleted, and then interleaving using the address of the interleaver is performed (404, 405, 406). If the size of the input frame is not greater than N, the interleaving using the address of the interleaver is performed immediately with respect to the interleaving address value L L = row × col (404 and 406).
여기서, 인터리빙 과정 중에 나타나는 삭제 데이터 값은 도 5에 도시된 바와 같고, 도 6a 및 도 6b 는 인터리버의 종류에 따른 비트 에러율(BER)의 성능을 나타낸다.Here, the erase data values appearing during the interleaving process are shown in FIG. 5, and FIGS. 6A and 6B show the performance of the bit error rate (BER) according to the type of the interleaver.
도 6a 및 도 6b에 도시된 바와 같이, 성능 분석을 위한 구성부호기의 구속장(K) = 4, 생성다항식은 (15, 13)인 2개의 길쌈부호기를 사용하였으며, 부호율(R)은 1/3로 하고, 입력되는 프레임의 크기는 N=320, 1024이며, BPSK(Binary Phase Shift Keying) 변조와 AWGN(Additive White Gaussian Noise) 채널을 가정하였고, 로그 맵(LOG-MAP) 알고리즘을 이용하여 반복복호 횟수는 3으로 한다.As shown in FIGS. 6A and 6B, two convolutional encoders having a constraint length (K) = 4 and a generated polynomial of (15, 13) of a component encoder for performance analysis were used, and a code rate (R) was 1. / 3, and the size of the input frame is N = 320, 1024, assuming BPSK (Binary Phase Shift Keying) modulation and AWGN (Additive White Gaussian Noise) channel, and using a log-map algorithm The number of repetitive decoding is three.
도 6a 및 도 6b에서 블록 인터리버의 성능이 가장 떨어지고, "HNS"사의 GF 인터리버와 제안 인터리버의 성능이 우수함을 알 수 있다. 성능이 우수하게 나타나는 이유는 해밍무게 분포특성이 다른 인터리버에 비해 우수하고, 한 프레임 내에서 상관 관계가 있는 입력정보를 효과적으로 상관 관계가 없는 정보로 변환해주기 때문이다.6A and 6B, the performance of the block interleaver is the lowest, and it can be seen that the performance of the GF interleaver and the proposed interleaver of the "HNS" company is excellent. The reason why the performance is excellent is that the Hamming weight distribution characteristic is superior to other interleavers and effectively converts correlated input information into uncorrelated information within one frame.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the art without departing from the technical spirit of the present invention. It will be clear to those of ordinary knowledge.
상기한 바와 같은 본 발명은, 인터리버의 데이터 입력 과정에서 적당한 크기로 분할하여 입력함으로써, 다양한 전송율에서도 쉽게 적용할 수 있는 효과가 있다. 또한, 본 발명은 타 방식에 비하여 어드레스 데이터 삭제값이 적게 된다.As described above, the present invention has an effect that can be easily applied at various data rates by dividing the data into an appropriate size in the interleaver data input process. In addition, the present invention has a smaller address data deletion value than other methods.
또한, 본 발명은 인터리버의 설계시 인터리빙 어드레스를 구성하기 위하여 가능한 적은 메모리를 가지고서도 구현할 수 있는 효과가 있다.In addition, the present invention has the effect that can be implemented with as little memory as possible to configure the interleaving address in the design of the interleaver.
또한, 본 발명은 종래의 터보 인터리빙 방식보다 간단하면서 성능이 우수한 효과가 있다.In addition, the present invention is simpler than the conventional turbo interleaving method, there is an effect excellent in performance.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990066951A KR100645730B1 (en) | 1999-12-30 | 1999-12-30 | Interleaving Method Using Magic Matrix |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990066951A KR100645730B1 (en) | 1999-12-30 | 1999-12-30 | Interleaving Method Using Magic Matrix |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010059446A KR20010059446A (en) | 2001-07-06 |
KR100645730B1 true KR100645730B1 (en) | 2006-11-13 |
Family
ID=19634082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990066951A Expired - Fee Related KR100645730B1 (en) | 1999-12-30 | 1999-12-30 | Interleaving Method Using Magic Matrix |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100645730B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100969191B1 (en) * | 2007-09-27 | 2010-07-09 | 이봉재 | Animal chairs with lattice prefabricated cardboard duplex |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572532A (en) * | 1993-12-29 | 1996-11-05 | Zenith Electronics Corp. | Convolutional interleaver and deinterleaver |
KR980012968A (en) * | 1996-07-01 | 1998-04-30 | 배순훈 | Structure of convolutional interleaver using static RAM |
JPH11340842A (en) * | 1998-05-25 | 1999-12-10 | Hitachi Denshi Ltd | Error correction method |
KR100362090B1 (en) * | 1994-05-04 | 2003-02-05 | 제너럴 인스트루먼트 코포레이션 | Convolutional Interleaver and Deinterleaver, and Address Generator |
-
1999
- 1999-12-30 KR KR1019990066951A patent/KR100645730B1/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572532A (en) * | 1993-12-29 | 1996-11-05 | Zenith Electronics Corp. | Convolutional interleaver and deinterleaver |
KR100362090B1 (en) * | 1994-05-04 | 2003-02-05 | 제너럴 인스트루먼트 코포레이션 | Convolutional Interleaver and Deinterleaver, and Address Generator |
KR980012968A (en) * | 1996-07-01 | 1998-04-30 | 배순훈 | Structure of convolutional interleaver using static RAM |
JPH11340842A (en) * | 1998-05-25 | 1999-12-10 | Hitachi Denshi Ltd | Error correction method |
Also Published As
Publication number | Publication date |
---|---|
KR20010059446A (en) | 2001-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3730238B2 (en) | Adaptive channel coding method and apparatus | |
US6289486B1 (en) | Adaptive channel encoding method and device | |
US6603412B2 (en) | Interleaved coder and method | |
CN100426680C (en) | Buffer architecture for TURBO decoder | |
KR100526512B1 (en) | Interleaving apparatus and method for serially concatenated convolution code in a mobile telecommunication system | |
KR100955305B1 (en) | Formal Flexible Collision Avoidance Memory Access for Parallel Turbo Decoding with Kewpie Interleaves | |
US8239711B2 (en) | QPP interleaver/de-interleaver for turbo codes | |
JP2004531116A (en) | Interleaver for turbo decoder | |
US7640462B2 (en) | Interleaver and de-interleaver | |
US7020827B2 (en) | Cascade map decoder and method | |
KR101435830B1 (en) | How to Perform Interleaving | |
KR100963463B1 (en) | Improved Turbo Code Interleaver for Low Frame Error Rate | |
CN100486117C (en) | Communications device and wireless communications system | |
US9374109B2 (en) | QPP interleaver/DE-interleaver for turbo codes | |
KR100628201B1 (en) | Turbo decoding method | |
KR20090044178A (en) | Parallel Latin Dustproof Interleaving Method and Device in Communication System | |
KR101433375B1 (en) | Apparatus and method of encoding/decoding block low density parity check codes in a communication system | |
JP2004511179A (en) | Piecewise deinterleaving | |
Seghers | On the free distance of turbo codes and related product codes | |
KR100645730B1 (en) | Interleaving Method Using Magic Matrix | |
KR100454952B1 (en) | Adaptive Channel Coding Method and Apparatus | |
JP3514213B2 (en) | Direct concatenated convolutional encoder and direct concatenated convolutional encoding method | |
KR100762134B1 (en) | Read Address Generation Method for Block Interleaving | |
KR101353094B1 (en) | Interleaving Method for error correction codes and information transmitter-receiver system using thereof | |
JP2009077371A (en) | Interleaving method, transmitter, radio, and radio communication system. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R11-asn-PN2301 St.27 status event code: A-3-3-R10-R13-asn-PN2301 |
|
A201 | Request for examination | ||
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
Fee payment year number: 1 St.27 status event code: A-2-2-U10-U11-oth-PR1002 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
L13-X000 | Limitation or reissue of ip right requested |
St.27 status event code: A-2-3-L10-L13-lim-X000 |
|
U15-X000 | Partial renewal or maintenance fee paid modifying the ip right scope |
St.27 status event code: A-4-4-U10-U15-oth-X000 |
|
PR1001 | Payment of annual fee |
Fee payment year number: 4 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 St.27 status event code: A-5-5-R10-R13-asn-PN2301 |
|
PR1001 | Payment of annual fee |
Fee payment year number: 5 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
FPAY | Annual fee payment |
Payment date: 20111101 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Fee payment year number: 6 St.27 status event code: A-4-4-U10-U11-oth-PR1001 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Not in force date: 20121107 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE St.27 status event code: A-4-4-U10-U13-oth-PC1903 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
PC1903 | Unpaid annual fee |
Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20121107 St.27 status event code: N-4-6-H10-H13-oth-PC1903 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |