KR100284011B1 - Memory Management Method for Non-Square Interleaver / Deinterleaver - Google Patents

Memory Management Method for Non-Square Interleaver / Deinterleaver Download PDF

Info

Publication number
KR100284011B1
KR100284011B1 KR1019970068255A KR19970068255A KR100284011B1 KR 100284011 B1 KR100284011 B1 KR 100284011B1 KR 1019970068255 A KR1019970068255 A KR 1019970068255A KR 19970068255 A KR19970068255 A KR 19970068255A KR 100284011 B1 KR100284011 B1 KR 100284011B1
Authority
KR
South Korea
Prior art keywords
deinterleaver
memory
interleaver
square
writing
Prior art date
Application number
KR1019970068255A
Other languages
Korean (ko)
Other versions
KR19990049327A (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 KR1019970068255A priority Critical patent/KR100284011B1/en
Publication of KR19990049327A publication Critical patent/KR19990049327A/en
Application granted granted Critical
Publication of KR100284011B1 publication Critical patent/KR100284011B1/en

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

본 발명은 디지털 통신시스템의 구성부분 중 인터리버(interleaver)/디인터리버(deinterleaver)의 구현을 위한 메모리관리방법에 관한 것으로, 특히 비정방형 인터리버/디인터리버의 구현을 위한 메모리관리방법에 관한 것으로서, 본 발명에 의한 비정방형 인터리버/디인터리버의 구현을 위한 메모리의 관리방법에 의하면 한개의 정방형의 메모리를 사용하여 비정방형의 인터리버/디인터리버를 구현하므로 메모리를 두 개 사용할 필요가 없어 효율적이고, 읽는 동작과 쓰는 동작이 동시에 이루어지므로 읽고, 쓰는 속도를 다르게 할 필요가 없다는 뛰어난 효과가 있다.The present invention relates to a memory management method for implementing an interleaver / deinterleaver among components of a digital communication system, and more particularly to a memory management method for implementing a non-square interleaver / deinterleaver. According to the memory management method for implementing the non-square interleaver / deinterleaver according to the present invention, since the non-square interleaver / deinterleaver is implemented using one square memory, it is not necessary to use two memories. Since both writing and writing are done at the same time, there is no need to change the speed of reading and writing.

Description

비정방형 인터리버/디인터리버 구현을 위한 메모리의 관리방법Memory Management Method for Non-Square Interleaver / Deinterleaver

본 발명은 디지털 통신시스템의 구성부분 중 인터리버(interleaver)/디인터 리버(deinterleaver)의 구현을 위한 메모리의 관리방법에 관한 것으로, 특히 비정방형 인터리버/디인터리버의 구현을 위한 메모리의 관리방법에 관한 것이다.The present invention relates to a memory management method for implementing an interleaver / deinterleaver among components of a digital communication system, and more particularly, to a memory management method for implementing a non-square interleaver / deinterleaver. will be.

일반적으로 인터리버라는 것은 메모리의 세로와 가로중 한방향으로 쓰고, 다른 방향으로는 읽어서 송신하는 것을 말하고, 디인터리버는 상기 인터리버와 쓰기와 읽기가 반대로 이루어지는 것을 의미한다.In general, an interleaver means writing in one direction of a memory vertically and horizontally and reading and transmitting in the other direction, and a deinterleaver means that writing and reading are reversed with the interleaver.

제1도에 도시된 종래의 정방형 인터리버/디인터리버를 구현하기 위한 메모리의 관리방법은 먼저, 첫 번째 쓰는 순서가 세로방향으로 1→2→3→4→5→6→7→8→9→10→11→12→13→14→15→16이고, 첫 번째 읽는 순서가 가로방향으로 1→5→9→13→2→6→10→14→3→7→11→15→4→8→12→16이며, 두 번째 쓰는 순서는 상기 첫 번째 읽은 순서와 동일하게 이루어지고, 두 번째 읽는 순서는 두 번째 쓰는 순서의 방향과 반대방향(가로쓰기 방향이면 세로읽기 방향)으로 1→2→3→4→5→6→7→8→9→10→11→12→13→14→15→16이고, 세 번째 쓰는 순서는 상기 두 번째 읽는 순서와 동일하다.In the memory management method for implementing the conventional square interleaver / deinterleaver shown in FIG. 1, first, the first writing order is 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → in the longitudinal direction. 10 → 11 → 12 → 13 → 14 → 15 → 16, and the first reading order is 1 → 5 → 9 → 13 → 2 → 6 → 10 → 14 → 3 → 7 → 11 → 15 → 4 → 8 in the horizontal direction. → 12 → 16, and the second writing order is the same as the first reading order, and the second reading order is 1 → 2 → in the opposite direction to the second writing order (vertical reading direction in the horizontal writing direction). 3 → 4 → 5 → 6 → 7 → 8 → 9 → 10 → 11 → 12 → 13 → 14 → 15 → 16, and the third writing order is the same as the second reading order.

이와 같이 읽는 순서와 쓰는 순서를 가로/세로방향으로 번갈아 바꾸어 줌으로써, 항상 읽어낸 메모리 위치에 같은 순서로 다른 값을 쓸 수 있으므로 값들간에 충돌이 일어나지 않는다.By changing the reading order and writing order in the horizontal and vertical directions alternately, different values can be written to the read memory location in the same order so that there is no conflict between the values.

한 편, 상기 정방형 인터리버/디인터리버 구현을 위해 사용되는 기술을 제2도와 같은 비정방형 메모리를 적용하면, 첫 번째 쓰는 순서는 1→2→3→4→5→6→7→8→9→10→11→12이고, 첫 번째 읽는 순서는 1→5→9→2→6→10→3→7→11→4→8→12이며, 두 번째 쓰는 순서는 1→5→9→2→6→10→3→7→11→4→8→12이다.On the other hand, if the non-square memory as shown in Fig. 2 is applied to the technique used to implement the square interleaver / deinterleaver, the first writing order is 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 10 → 11 → 12, the first reading order is 1 → 5 → 9 → 2 → 6 → 10 → 3 → 7 → 11 → 4 → 8 → 12, and the second writing order is 1 → 5 → 9 → 2 → 6 → 10 → 3 → 7 → 11 → 4 → 8 → 12.

그런데, 이때, 밑줄 친 부분 즉 하나의 줄 또는 열을 넘어가는 부분에서 정상적인 동작을 수행하지 않게 된다.However, in this case, the underlined portion, that is, the portion beyond one line or column does not perform a normal operation.

그래서, 이와 같은 문제점을 해결하기 위해 두 가지 방법을 사용한다.So, we use two methods to solve this problem.

한가지 방법은 제3도에 도시한 바와 같이 두 개의 메모리를 두어서 번갈아서 읽는 메모리와 쓰는 메모리로 사용하는 방법이고, 두 번째의 방법은 한 개의 비정방형 메모리를 사용하여서 읽기를 끝내면, 다음의 읽기동작이 시작되기 전에 한꺼번에 전체 값들을 쓰는 방법이다.One method is to use two memory as reading memory and writing memory alternately as shown in Figure 3, and the second method uses one non-square memory to finish reading. This is a way to write the whole value at once before it starts.

그런데, 상기의 첫 번째 방법은 두 배의 메모리를 필요로 하므로 비효율적이 고, 두 번째 방법은 메모리의 접근속도가 빨라야 하고, 또한 인터리버/디인터리버의 앞단에서 값들을 다발로 처리할 수 있는 응용에서만 적용할 수 있다는 문제점이 있었다.However, the first method is inefficient because it requires twice as much memory, and the second method requires only fast access of the memory, and only in applications that can process values in front of the interleaver / deinterleaver. There was a problem that it can be applied.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 비정방형 인터리버/디인터리버의 구현을 한 개의 메모리를 사용하여 이루어지므로 효율적이고, 읽고 쓰는 동작을 동시에 할 수 있는 비정방형 인터리버/디인터리버의 구현을 위한 메모리의 관리방법을 제공하는데 있다.Accordingly, the present invention has been made to solve the above problems, and an object of the present invention is to implement the non-square interleaver / deinterleaver by using a single memory, which is efficient and can simultaneously read and write operations. The present invention provides a memory management method for implementing a square interleaver / deinterleaver.

제1도는 기존의 정방형 인터리버/디인터리버 구현을 위한 메모리.1 is a memory for implementing a conventional square interleaver / deinterleaver.

제2도는 기존의 비정방형 인터리버/디인터리버 구현을 위한 메모리.2 is a memory for implementing a conventional non-square interleaver / deinterleaver.

제3도는 제2도의 문제점을 해결하기 위해 사용되는 두 개의 메모리.3 is two memories used to solve the problem of FIG.

제4도는 본 발명의 일실시예에 의해 비정방형 인터리버/디인터리버의 구현을 위한 메모리의 관리방법을 설명하기 위해 적용되는 정방형 메모리.4 is a square memory applied to explain a method of managing a memory for implementing a non-square interleaver / deinterleaver according to an embodiment of the present invention.

제5도는 제4도의 메모리를 사용하는 비정방형 인터리버/디인터리버의 구현을 설명하기 위한 도면.FIG. 5 illustrates an implementation of a non-square interleaver / deinterleaver using the memory of FIG.

상기의 목적을 달성하기 위해 본 발명의 일실시예에 의한 비정방형 인터리버/디인터리버의 구현을 위한 메모리의 관리방법에 있어서, N×M의 인터리버/디인터리버를 구현하기 위해 N×N 메모리를 이용하는 방법은(단 N>M), 전체 N×N 메모리 중 N×M 부분을 사용하여 세로방향으로 쓰고, 가로방향으로 읽는 단계와, M×N 부분을 사용하여 가로방향으로 쓰고, 세로 방향으로 읽는 단계를 반복하는 것을 특징으로 하며, 또한, M×N의 인터리버/디인터리버를 구현하기 위해 N×N 메모리를 이용하는 방법은(단 N>M), 전체 N×N 메모리중 M×N부분을 사용하여 가로 방향으로 쓰고, 세로방향으로 읽는 단계와, N×M부분을 사용하여 세로 방향으로 쓰고, 가로방향으로 읽는 단계를 반복하는 것을 특징으로 한다.In the memory management method for implementing a non-square interleaver / deinterleaver according to an embodiment of the present invention, to use the N × N memory to implement the N × M interleaver / deinterleaver The method (where N> M) includes writing in the vertical direction using the N × M portion of the entire N × N memory and reading in the horizontal direction, and writing in the horizontal direction using the M × N portion and reading in the vertical direction. The method may be repeated, and the method of using an N × N memory to implement an M × N interleaver / deinterleaver (where N> M) uses an M × N portion of all N × N memories. And writing in the horizontal direction, reading in the vertical direction, and writing in the vertical direction using the N × M portion, and repeating the reading in the horizontal direction.

이하, 본 발명의 일 실시예에 의해 비정방형 인터리버/디인터리버의 구현을 위한 메모리의 관리방법을 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, a method of managing a memory for implementing a non-square interleaver / deinterleaver according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

제4도는 본 발명의 일실시예에 의해 비정방형 인터리버/디인터리버의 구현을 위한 메모리의 관리방법을 설명하기 위해 적용되는 정방형 메모리를 도시한 도면이고, 제5도는 제4도의 메모리를 사용하는 비정방형 인터리버/디인터리버의 구현을 설명하기 위한 도면이다.FIG. 4 is a diagram showing a square memory applied to explain a method of managing a memory for implementing a non-square interleaver / deinterleaver according to an embodiment of the present invention, and FIG. 5 is a view using the memory of FIG. A diagram for describing an implementation of a square interleaver / deinterleaver.

먼저, 비정방형의 인터리버/디인터리버를 구현하기 위한 메모리의 설정은 가로 및 세로의 길이중 더 긴 쪽에 맞춘다. 즉 예를 들어 4×3 또는 3×4의 인터리버/디인터리버를 구현하기 위해서는 제4도와 같은 4×4의 메모리가 설정된다.First, the memory setting for implementing a non-square interleaver / deinterleaver is set to the longer of horizontal and vertical lengths. That is, for example, to implement a 4x3 or 3x4 interleaver / deinterleaver, a 4x4 memory as shown in FIG. 4 is set.

그러면, 제4도의 4×4의 메모리를 이용하는 4×3의 인터리버/디인터리버의 구현방법은 제5도의 4×3 메모리부분(홀수번째)부터 시작되어 첫 번째 쓰는 순서가 세로방향으로 1→2→3→4→5→6→7→8→9→10→11→12이고, 첫 번째 읽는 순서가 가로방향으로 1→5→9→2→6→10→3→7→11→4→8→12이며, 두 번째 쓰는 순서는 3×4의 메모리부분(짝수번째)을 사용하여 가로방향으로 1→5→9→13→2→6→10→14→3→7→11→15이며, 두 번째 읽는 순서는 세로방향으로 1→2→3→5→6→7→9→10→11→13→14→15이며, 다음의 읽기 및 쓰기 순서는 상기 동작을 반복 수행한다.Then, the implementation method of the 4x3 interleaver / deinterleaver using the 4x4 memory of FIG. 4 starts from the 4x3 memory part (odd number) of FIG. 5, and the first writing order is 1 → 2 in the vertical direction. → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 10 → 11 → 12, and the first reading order is 1 → 5 → 9 → 2 → 6 → 10 → 3 → 7 → 11 → 4 → in the horizontal direction. 8 → 12, and the second writing order is 1 → 5 → 9 → 13 → 2 → 6 → 10 → 14 → 3 → 7 → 11 → 15 in the horizontal direction using a 3 × 4 memory part (even number). The second reading order is 1 → 2 → 3 → 5 → 6 → 7 → 9 → 10 → 11 → 13 → 14 → 15 in the vertical direction, and the next reading and writing sequence repeats the above operation.

그리고, 상기 4×4의 메모리를 이용하여 3×4의 인터리버/디인터리버의 구현방법은 제5도의 3×4 메모리부분(짝수번째)부터 시작되어, 첫 번째 쓰는 순서가 세로방향으로 1→2→3→5→6→7→9→10→11→13→14→15이고, 첫 번째 읽는 순서가 가로방향으로 1→5→9→13→2→6→10→14→3→7→11→15이며, 두 번째 쓰는 순서는 제5도의 4×3 메모리부분(홀수번째)을 사용하여 가로방향으로 1→5→9→2→6→10→3→7→11→4→8→12이며, 두 번째 읽는 순서는 세로방향으로 1→2→3→4→5→6→7→8→9→10→11→12이며, 다음의 읽기 및 쓰기 순서는 상기 동작을 반복 수행한다.The 3 × 4 interleaver / deinterleaver is implemented using the 4 × 4 memory, starting with the 3 × 4 memory part (even number) of FIG. 5, and the first writing order is 1 → 2 in the vertical direction. → 3 → 5 → 6 → 7 → 9 → 10 → 11 → 13 → 14 → 15, and the first reading order is 1 → 5 → 9 → 13 → 2 → 6 → 10 → 14 → 3 → 7 → in the horizontal direction. 11 → 15, and the second writing order is 1 → 5 → 9 → 2 → 6 → 10 → 3 → 7 → 11 → 4 → 8 → in the horizontal direction using the 4 × 3 memory part (odd number) of FIG. 12, the second reading order is 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 10 → 11 → 12 in the longitudinal direction, and the following reading and writing sequence is repeated.

읽는 시간과 쓰는 시간에 적당한 지연을 둠으로써 충돌없이 데이터의 입출력이 가능해진다.By providing a reasonable delay between read and write time, data can be input and output without conflict.

상술한 바와 같이, 본 발명에 의한 비정방형 인터리버/디인터리버의 구현을 위한 메모리의 관리방법에 의하면 한 개의 정방형의 메모리를 사용하여 비정방형의 인터리버/디인터리버를 구현하므로 메모리를 두 개 사용할 필요가 없어 효율적이고, 읽는 동작과 쓰는 동작이 동시에 이루어지므로 읽고, 쓰는 속도를 다르게 할 필요가 없다는 뛰어난 효과가 있다.As described above, according to the method of managing a memory for implementing a non-square interleaver / deinterleaver according to the present invention, since a non-square interleaver / deinterleaver is implemented using one square memory, it is necessary to use two memories. There is no need to change the speed of reading and writing because it is efficient and read and write are performed at the same time.

Claims (2)

N×M의 인터리버/디인터리버를 구현하기 위해 N×N 메모리를 이용하는 방법은(단 N>M), 전체 N×N 메모리중 N×M 부분을 사용하여 세로방향으로 쓰고, 가로방향으로 읽는 단계와, M×N 부분을 사용하여 가로방향으로 쓰고, 세로 방향으로 읽는 단계를 반복하는 것을 특징으로 하는 비정방형 인터리버/디인터리버의 구현을 위한 메모리의 관리방법.In order to implement an N × M interleaver / deinterleaver, a method of using an N × N memory (where N> M) is performed. And repeating the steps of writing in the horizontal direction and reading in the vertical direction by using the M × N portion. M×N의 인터리버/디인터리버를 구현하기 위해 N×N 메모리를 이용하는 방법은(단 N>M), 전체 N×N 메모리중 M×N부분을 사용하여 가로 방향으로 쓰고, 세로방향으로 읽는 단계와, N×M부분을 사용하여 세로 방향으로 쓰고, 가로방향으로 읽는 단계를 반복하는 것을 특징으로 하는 비정방형 인터리버/디인터리버의 구현을 위한 메모리의 관리방법.The method of using an N × N memory to implement an M × N interleaver / deinterleaver (where N> M) includes writing in a horizontal direction and reading in a vertical direction using an M × N portion of all N × N memories. And repeating the steps of writing in the vertical direction and reading in the horizontal direction by using the N × M portion.
KR1019970068255A 1997-12-12 1997-12-12 Memory Management Method for Non-Square Interleaver / Deinterleaver KR100284011B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970068255A KR100284011B1 (en) 1997-12-12 1997-12-12 Memory Management Method for Non-Square Interleaver / Deinterleaver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970068255A KR100284011B1 (en) 1997-12-12 1997-12-12 Memory Management Method for Non-Square Interleaver / Deinterleaver

Publications (2)

Publication Number Publication Date
KR19990049327A KR19990049327A (en) 1999-07-05
KR100284011B1 true KR100284011B1 (en) 2001-03-02

Family

ID=66088213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970068255A KR100284011B1 (en) 1997-12-12 1997-12-12 Memory Management Method for Non-Square Interleaver / Deinterleaver

Country Status (1)

Country Link
KR (1) KR100284011B1 (en)

Also Published As

Publication number Publication date
KR19990049327A (en) 1999-07-05

Similar Documents

Publication Publication Date Title
KR930018594A (en) Semiconductor memory
US4903242A (en) Serial access memory circuit with improved serial addressing circuit composed of a shift register
KR960042730A (en) Semiconductor storage device
US6728799B1 (en) Hybrid data I/O for memory applications
EP0798734A3 (en) A synchronous semiconductor memory integrated circuit, a method for accessing said memory and a system comprising such a memory
US5319596A (en) Semiconductor memory device employing multi-port RAMs
KR0161868B1 (en) Memory address control circuit
KR100284011B1 (en) Memory Management Method for Non-Square Interleaver / Deinterleaver
KR20010078194A (en) Memory module with short access time
US5926398A (en) Semiconductor device layout method capable of arranging functional cells with data signal lines and control signal lines having a proper length and configuration
JPH11110339A (en) Dma controller
US5640358A (en) Burst transmission semiconductor memory device
EP0661648B1 (en) Digital signal processing circuit
KR100227740B1 (en) A data access control device using dual-port memory
US5621337A (en) Iterative logic circuit
US20030028707A1 (en) Memory array apparatus with reduced data accessing time and method for the same
US6888825B1 (en) Cross-connect with shared storage
JP2969896B2 (en) Data write control method for RAM
KR100354162B1 (en) Method for realizing The State metric of The Viterbi Decorder
WO1999064953A1 (en) Redundant form address decoder for cache system storing aligned data
JPS5849960B2 (en) Information check method
KR0148182B1 (en) Quadruple bank memory control circuit
KR19980028186A (en) Burst Counter Control Method of Semiconductor Memory Device
JP2526042Y2 (en) Memory / register control circuit
KR100294703B1 (en) Viterbi Decoder_

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee