KR20050044156A - 이동통신시스템에서 싱글 메모리를 사용하여 인터리버를구현하는 장치 및 방법 - Google Patents

이동통신시스템에서 싱글 메모리를 사용하여 인터리버를구현하는 장치 및 방법 Download PDF

Info

Publication number
KR20050044156A
KR20050044156A KR1020030078739A KR20030078739A KR20050044156A KR 20050044156 A KR20050044156 A KR 20050044156A KR 1020030078739 A KR1020030078739 A KR 1020030078739A KR 20030078739 A KR20030078739 A KR 20030078739A KR 20050044156 A KR20050044156 A KR 20050044156A
Authority
KR
South Korea
Prior art keywords
memory
symbols
address
unit
rows
Prior art date
Application number
KR1020030078739A
Other languages
English (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 KR1020030078739A priority Critical patent/KR20050044156A/ko
Publication of KR20050044156A publication Critical patent/KR20050044156A/ko

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

Landscapes

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

Abstract

본원 발명은 부호분할다중접속 이동통신시스템에서 하나의 메모리를 사용하여 인터리빙을 수행하여 데이터를 송신하는 장치 및 방법을 제공함에 있다.
이러한 본원 발명은 정해진 크기를 가지는 프레임을 통해 전송하고자 하는 심볼들의 크기와 동일한 어드레스를 가지는 메모리와, 정해진 패턴에 따라 상기 메모리의 어드레스를 접근하여 할당되어 있는 심볼들을 읽어 출력하는 메모리 읽기부와, 상기 메모리 읽기부를 통해 출력되는 심볼들의 해당 어드레스에 상기 전송하고자 하는 심볼들을 할당하여 쓰기 동작을 수행하는 메모리 쓰기부와, 상기 메모리 쓰기부가 상기 쓰기 동작을 완료하면, 교번적으로 해당 프레임에 상기 할당되어 있는 심볼들의 어드레스를 변경하는 어드레스 변환부를 구비함을 특징으로 한다.

Description

이동통신시스템에서 싱글 메모리를 사용하여 인터리버를 구현하는 장치 및 방법{APPARATUS AND METHOD FOR IMPLEMENTING A INTER-LEAVER WITH SINGLE MEMORY IN MOBILE COMMUNICATION }
부호분할다중접속 이동통신시스템에서 데이터를 송신하는 장치 및 방법에 관한 것으로, 특히 하나의 메모리를 사용하여 인터리빙을 수행하여 데이터를 송신하는 장치 및 방법에 관한 것이다.
현재 이동통신시스템은 고속의 멀티미디어 데이터를 신뢰성 있게 전송하는 것을 요구하며 고속 데이터의 신뢰성을 높이기 위해서는 강력한 채널 코딩 및 효율적인 변조 방식을 사용한다. 이와 관련하여 송신측은 전송하고자 하는 신호를 주변 환경으로부터 잡음이 섞이지 않고 전송하기 위하여 인터리빙을 수행한다.
상기 인터리빙은 송신측으로부터 전송된 신호에 한곳에 집중적으로 발생하는 에러를 방지하기 위하여 전송하고자 하는 신호의 행 또는 열을 변경하여 전송하는 기술로, 상기 인터리빙을 통해 수신측에서는 상기 집중적으로 발생한 에러를 분산하게 된다. 이에 따라 상기 인터리빙 기술을 통해 분산된 에러는 채널 추정 및 채널 디코딩을 통해 상기 송신측에서 전송된 신호와 동일한 신호로 복원 가능하다. 이때, 상기 인터리빙을 수행하는 송신측은 상기 전송하고자하는 심볼 크기와 동일한 크기의 메모리를 구비하여 상기 모든 심볼을 저장한 후, 인터리빙 패턴에 따라 정해진 순서대로 심볼을 인터리빙한다.
상기 도 1은 종래기술에 따라 인터리버의 구조를 도시한 도면이다.
상기 도 1을 참조하면, 메모리 쓰기부(140)는 직/병렬변환기(Serial input parallel output, 150)로부터 출력되는 심볼을 수신하여 인터리빙 메모리(110)에 순차적으로 쓰기 동작을 수행한다. 이때, 상기 직/병렬 변환기(이하 'SIPO'라 칭함, 150)는 전송하고자 하는 1비트의 심볼들을 연속적으로(직렬로) 수신한 후, 정해진 크기가 되면 상기 메모리 쓰기부(140)에 일시적으로(병렬로) 상기 심볼들을 출력한다. 실제 CDMA 2000 1x 환경에서의 하나의 프레임을 통해 전송되는 심볼들은 576개 이상이다. 여기서는 상기 심볼들의 전송 단위를 설명의 용이를 위하여 8비트로 가정하여 설명하고자 한다.
이에 따라 상기 메모리 쓰기부(140)는 상기 SIPO(150)로부터 출력되는 8비트의 심볼들을 수신하여 상기 인터리빙 메모리1(110)과 인터리빙 메모리2(120)에 쓰기 동작을 수행한다. 이때, 상기 메모리 쓰기부(140)는 상기 인터리빙 메모리 1(110)과 인터리빙 메모리 2(120)에 상기 심볼들을 순차적으로 쓰기 동작을 수행한다. 예를 들면, 상기 인터리빙 메모리 1(110)에는 6개의 어드레스를 할당하여 6비트의 심볼들을 순차적으로 쓰고, 상기 인터리빙 메모리 2(120)에는 2개의 어드레스를 할당하여 2비트의 심볼들에 대하여 쓰기 동작을 수행한다. 이렇게 상기 메모리 쓰기부(140)의 쓰기 동작이 완료되면, 상기 메모리 읽기부(100)는 읽기 동작을 수행하게 된다.
상기 메모리 읽기부(100)는 상기 인터리빙 메모리1(110)과 인터리빙 메모리2(120)에 저장되어 있는 심볼들을 미리 결정된 인터리빙 패턴에 따라 해당 어드레스로부터 읽기 동작을 수행한다. 즉, 상기 메모리 읽기부(100)는 상기 인터리빙 메모리 1(110)의 6개의 어드레스와 상기 인터리빙 메모리 2(120)의 2개의 어드레스를 상기 인터리빙 패턴에 따라 접근하여 8비트의 심볼들을 순차적으로 출력하여 전송 로직으로 전달한다.
이때, 상기 메모리 쓰기부(140)는 상기 메모리 읽기부(100)가 읽기 동작을 수행하여 상기 인터리빙 메모리1(110) 및 상기 인터리빙 메모리2(120)에 빈 어드레스가 생기면, 상기 SIPO(150)로부터 순차적으로 출력되는 심볼들을 수신하여 상기 빈 어드레스가 발생하는 순서대로 쓰기 동작을 수행한다. 이때, 상기 메모리 쓰기부(140)는 상기 인터리빙 메모리 1(110)과 인터리빙 메모리 3(130)에 쓰기 동작을 수행한다. 즉, 상기 메모리 읽기부(100)의 읽기 동작에 의해 빈 어드레스가 발생하는 순서대로, 상기 메모리 쓰기부(140)는 심볼들을 쓰기 시작한다. 이때, 상기 메모리 읽기부(100)의 읽기 동작은 상기 전송로직의 데이터 전송율에 따라 달라진다. 따라서, 상기 메모리 읽기부(100)의 읽기 동작은 상기 메모리 쓰기부(140)에 비하여 속도가 느리다. 상기 메모리 쓰기부(140)는 내부 처리 속도에 따라 상기 SIPO(150)로부터 심볼들을 전달 받고 쓰기 동작을 수행하는 것으로 상기 전송 로직의 데이터 전송율과는 관계가 멀다. 따라서, 상기 메모리 쓰기부(140)의 쓰기 동작이 상기 메모리 읽기부(100)의 읽기 동작에 비하여 빠르며, 이는 하기의 도 2에 도시된 쓰기 동작과 읽기 동작의 타이밍도를 통해 설명하고자 한다.
다시, 상기 메모리 읽기부(100)가 상기 인터리빙 메모리 1(110)과 인터리빙 메모리 2(120)로부터 인터리빙 패턴에 따라 해당 어드레스에 할당된 심볼들의 읽기 동작을 수행하는 동안 상기 메모리 쓰기부(140)는 상기 SIPO(150)을 통해 전달되는 심볼들을 수신하여 상기 인터리빙 메모리 (110)과 인터리빙 메모리3(130)에 쓰기 동작을 수행한다. 이때, 상기 메모리 쓰기부(140)의 쓰기 동작은 상기 메모리 읽기부(100)의 읽기 동작에 의해 어드레스가 널(NULL)인 곳에 상기 SIPO(150)로부터 전달된 심볼을 쓰게 된다.
즉, 상기 메모리 읽기부(100)가 인터리빙 패턴에 따라 정해진 어드레스의 심볼들을 읽고, 상기 메모리 쓰기부(140)는 상기 인터리빙 패턴에 따라 읽기 동작이 수행된 빈 어드레스에 상기 전달받은 심볼을 쓴다. 상기 메모리 읽기부(100)의 읽기 동작에 따라 빈 어드레스가 발생되는 순서대로 상기 메모리 쓰기부(140)의 쓰기 동작이 수행된다. 이때, 상기 메모리 쓰기부(140)의 쓰기동작은 상기 인터리빙 메모리 2(120)과 인터리빙 메모리 3(130)을 교번적으로 번갈아 사용한다. 즉, 상기 메모리 쓰기부(140)는 첫 번째로 상기 인터리빙 메모리 1(110)과 인터리빙 메모리 2(120)에 쓰기 동작을 수행하고, 두 번째로 상기 인터리빙 메모리 1(110)과 인터리빙 메모리 3(130)에 쓰기 동작을 수행한다.
이에 따라 상기 메모리 읽기부(100)의 읽기 동작도 첫 번째로 상기 인터리빙 메모리 1(110)과 인터리빙 메모리 2(120)에 읽기 동작을 수행하고, 두 번째로 상기 인터리빙 메모리 1(110)과 인터리빙 메모리 3(130)에 읽기 동작을 수행한다.
상기 도 2는 종래 기술에 따라 하나의 프레임동안 사용되는 인터리빙 메모리의 관계를 도시한 타이밍도이다.
상기 도 2를 참조하면, 상기 메모리 읽기부(100)과 메모리 쓰기부(140)의 동작을 타이밍과 관련하여 도시한다.
우선, 첫 번째 프레임에서 상기 메모리 읽기부(100)는 이전 프레임의 B0구간동안 인터리빙 메모리 1(110)과 인터리빙 메모리 2(120)에 저장된 심볼들을 읽는다. 즉, 상기 메모리 읽기부(100)는 A1구간동안 상기 인터리빙 메모리1(110)에 저장되어 있는 심볼들을 미리 결정된 인터리빙 패턴에 따라 읽기 동작을 수행한다. 또한, 메모리 읽기부(100)는 B1구간동안 상기 인터리빙 메모리2(120)에 저장되어 있는 심볼들을 미리 결정된 인터리빙 패턴에 따라 읽기 동작을 수행한다.
이때, 상기 메모리 쓰기부(140)는 상기 B1구간동안 상기 인터리빙 메모리 1(110)의 빈 어드레스에 상기 SIPO(150)로부터 전달받은 심볼들의 쓰기 동작을 수행하고, 이와 더불에 상기 인터리빙 메모리 3(130)에 쓰기 동작을 수행한다. 즉, 상기 메모리 읽기부(100)의 읽기 동작은 상기 A1구간과 B1구간을 합한 시간동안 일어나지만, 상기 메모리 쓰기부(140)의 쓰기 동작은 상기 B1구간만을 통해 일어난다. 따라서, 하나의 프레임동안 읽기 동작과 쓰기 동작이 상기 인터리빙 메모리1(110)과 인터리빙 메모리 2(120) 및 인터리빙 메모리3(130)을 통해 수행된다.
여기서, 상기 메모리 읽기부(100)의 읽기 동작이 상기 메모리 쓰기부(140)의 쓰기 동작보다 더 많은 시간이 할당된 것은 상기 전송 로직과 관련된 것으로 상기 데이터 전송율에 따라 상기 읽기 동작이 수행되기 때문이다.
또한, 두 번째 프레임에서 상기 메모리 읽기부(100)는 A2구간동안 인터리빙 메모리1(110)에 저장되어 있는 심볼들을 읽는다. B2구간동안 상기 인터리빙 메모리 3(130)에 저장되어 있는 심볼들을 읽는다. 반면에, 상기 메모리 쓰기부(140)는 상기 B2구간동안 상기 SIPO(150)을 통해 전송되는 심볼들을 상기 인터리빙 메모리 1(110)과 인터리빙 메모리 2(120)에 쓰기 동작을 수행한다. 따라서, 상기 인터리빙 메모리 2(120)과 인터리빙 메모리3(130)은 매 프레임마다 교번적으로 사용된다.
상기 전술한 바와 같이 종래의 인터리버(101)은 인터리빙 동작을 수행함에 있어서, 인터리빙 메모리 1(110)과 인터리빙 메모리2(120)과 인터리빙 메모리3(130)을 사용하여 전체 사용되는 메모리의 크기가 커지는 문제점에 있다. 또한, 상기 인터리빙 메모리 2(120)과 인터리빙 메모리3(130)을 교번적으로 사용함에 따라 어드레스 부호기가 따로 구성되어야 하는 문제점이 있다.
따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명의 목적은, 이동통신시스템에서 하나의 메모리를 사용하는 인터리버를 구성하는 장치 및 방법을 제공하는 것이다.
본 발명의 다른 목적은, 이동통신시스템에서 인터리버를 수행함에 있어서, 하나의 메모리를 사용하여 쓰기 동작과 읽기 동작을 수행하는 장치 및 방법을 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명의 제1 실시예는, 이동통신시스템에서, 인터리빙을 수행하여 데이터를 전송하는 장치에 있어서, 정해진 크기를 가지는 프레임을 통해 전송하고자 하는 심볼들의 크기와 동일한 어드레스를 가지는 메모리와, 정해진 인터리빙 패턴에 따라 상기 메모리의 어드레스를 접근하여 할당되어 있는 심볼들을 읽어 출력하는 메모리 읽기부와, 상기 메모리 읽기부를 통해 출력되는 심볼들의 해당 어드레스에 상기 전송하고자 하는 심볼들을 할당하여 쓰기 동작을 수행하는 메모리 쓰기부와, 상기 메모리 쓰기부가 상기 쓰기 동작을 완료하면, 교번적으로 해당 프레임에 상기 할당되어 있는 심볼들의 어드레스를 변경하는 어드레스 변환부를 구비함을 특징으로 한다.
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명의 제2 실시예는, 하나의 메모리와, 상기 메모리로부터 해당 어드레스에 할당되어 있는 심볼들을 읽어 출력하는 메모리 읽기부들과, 상기 메모리 읽기부에 대응하여 심볼들이 출력된 어드레스에 새로운 심볼들을 쓰는 메모리 쓰기부들을 포함하는 인터리버장치에 있어서, 인터리빙을 수행하여 데이터를 전송하는 방법에 있어서, 정해진 크기를 가지는 이전 프레임에서 제1 메모리 읽기부가 상기 메모리로부터 전송하고자 하는 심볼들을 미리 정해진 제 1어드레스 순서에 따라 읽어 출력하는 과정과, 상기 이전 프레임에서 제1 메모리 쓰기부가 상기 제1 메모리 읽기부에 대응하여 상기 제1어드레스 순서에 따라 전송하고자하는 새로운 데이터를 쓰기 동작을 수행하는 단계와, 상기 이전 프레임과 연속되는 현재 프레임에서 제2 메모리 읽기부가 상기 제1 메모리 쓰기부의 쓰기 동작에 의해 상기 메모리에 쓰여진 심볼들을 미리 정해진 제1어드레스 순서와 상이한 제 2어드레스 순서에 따라 읽어 출력하는 과정과, 상기 현재 프레임에서 제2 메모리 쓰기부가 상기 제2 메모리 읽기부에 대응하여 상기 제2어드레스 순서에 따라 쓰기 동작을 수행하는 과정을 포함함을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 후술되는 용어들의 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 3은 본 발명에 따라 쓰기동작과, 읽기 동작을 수행하는 인터리버의 구조를 개략적으로 도시한 도면이다. 이러한 본 발명의 인터리버는 하나의 메모리(330)와, 제1 메모리 읽기부(310)과, 제1 메모리 쓰기부(350)와, 제2 메모리 읽기부(320)과, 제2 메모리 쓰기부(360)과, 어드레스 변화부(340)를 구비한다. 여기서, 상기 어드레스 변환부(340)는 제 2 메모리 쓰기부(360)에 의해 쓰여진 상기 메모리(330)의 심볼들을 상기 제 1 메모리 읽기부(310)가 읽기 가능하도록 어드레스를 변환하는 동작을 수행한다.
상기 도 3을 참조하면, 제1 메모리 읽기부(310)는 제1 로테이터(300)와 연결되어 메모리(330)로부터 전송하고자 하는 심볼들을 읽어 온다. 이때, 상기 제1 메모리 읽기부(310)는 상기 메모리(330)로부터 이전 프레임에 제 2 메모리 쓰기부(360)의 쓰기 동작에 쓰여진 심볼들을 미리 결정된 패턴에 따라 읽어 온다. 상기 읽기 동작으로 인해 상기 메모리(330)에 빈 어드레스가 발생하면, 상기 제1 메모리 쓰기부(350)는 상기 제 2로테이터(370)를 통해 직/병렬변환기(Serial input parallel output, 380)로부터 전달되는 심볼들을 상기 빈 어드레스 순으로 쓰기 동작을 수행한다. 상기 직/병렬변환기(이하 'SIPO'라 칭함, 380)는 전송하고자 하는 1비트의 심볼들을 연속적으로(직렬로) 수신한 후, 정해진 크기가 되면 상기 제1 메모리 쓰기부(350)에 일시적으로(병렬로) 상기 심볼들을 출력한다. 여기서 정해진 크기란 8비트의 심볼이나, 16비트의 심볼들을 말하나, 설명의 용이를 위하여 8비트의 심볼을 예를 들어 설명하고자 한다. 즉, 하나의 프레임을 통해 전송하고자하는 심볼들의 전송단위를 8비트라 한다. 이때, 상기 전송되는 심볼들은 채널 환경 및 데이터 전송율에 따라 가변된다. 이에 따라 상기 제1 메모리 쓰기부(350)는 상기 SIPO(380)로부터 출력되는 8비트의 심볼들을 수신하여 상기 제 1메모리 읽기부(310)의 읽기 동작에 의해 상기 메모리(330)에 빈 어드레스가 발생하는 순서대로 쓰기 동작을 수행한다.
상기 제1 메모리 쓰기부(350)의 쓰기 동작이 완료되면, 상기 제 1로테이터(300)는 제2 메모리 읽기부(320)와 연결되어 상기 메모리(330)에 저장되어 있는 심볼들을 읽기 시작한다. 즉, 상기 제 1 메모리 읽기부(310)는 상기 메모리(330)로부터 8비트의 심볼들을 모두 읽어온 것으로, 하나의 프레임을 통해 8비트의 심볼을 전송한다.
상기 제 1로테이터(300)와 연결되어 읽기 동작을 수행하는 상기 제 2 메모리 읽기부(320)는 상기 메모리(330)의 심볼들을 읽어 전송 로직으로 출력하고, 상기 제2 메모리 쓰기부(360)는 상기 제 2 메모리 읽기부(320)의 읽기 동작에 따라 어드레스가 발생하는 순서대로, 쓰기 동작을 수행한다. 이때, 상기 제 2 메모리 쓰기부(360)의 쓰기 동작이 완료되면, 어드레스 변환부(340)는 상기 메모리(330)에 저장되어 있는 심볼들의 어드레스를 변환하여 다음 프레임에서 상기 제 1 메모리 읽기부(310)가 인터리빙 된 패턴에 따라 읽기 동작을 수행하도록 한다.
상기 제 2 메모리 쓰기부(360)의 쓰기 동작이 완료되면, 다음 프레임에서 상기 제 1 메모리 읽기부(310)는 제 1로테이터(300)와 연결되어 상기 메모리 (330)로부터 상기 어드레스 변환된 심볼들을 미리 결정된 패턴에 따라 읽어 온다.
상기 전술한 바와 같이 상기 제 1 메모리 읽기부(310)가 상기 메모리(330)로부터 심볼들의 읽기 동작을 수행하고, 이에 따라 상기 제 1 메모리 쓰기부(350)의 쓰기 동작을 수행한다. 그 후, 상기 제2 메모리 읽기부(320)가 상기 메모리(330)로부터 상기 제1 메모리 쓰기부(350)의 쓰기 동작에 따라 저장된 심볼들의 읽기 동작을 수행한다. 상기 해당 어드레스의 심볼들이 출력되어 전송됨과 동시에 상기 제2 메모리 쓰기부(360)가 상기 SIPO(380)로부터 전달되는 심볼들을 수신하여 어드레스가 발생하는 순서대로 빈 어드레스에 쓰기 동작을 수행한다. 그 후, 어드레스 변환부(340)를 통해 상기 메모리(330)에 저장되어 있는 심볼들의 어드레스를 변경한다. 즉, 본 발명에 따른 인터리버는 읽기 동작을 먼저 수행하고, 쓰기 동작을 수행함으로써 동일한 어드레스에 겹쳐쓰기(over-Writing)가 발생하지 않는다.
상기 제1 메모리 읽기부(310)와, 제1 메모리 쓰기부(370)와 제2 메모리 읽기부(320)와, 제2 메모리 쓰기부(380)의 동작에 따른 타이밍 관계를 하기의 도 4에서 살펴보고자 한다.
도 4는 본 발명에 따라 인터리버에서 쓰기동작과 읽기 동작간의 시간관계를 도시한 타이밍도이다.
상기 도 4를 참조하면, 첫 번째 프레임에서 제1 메모리 읽기부(310)는 이전 프레임의 제 2 메모리 쓰기부(360)의 쓰기 동작에 의해 쓰여진 심볼들을 미리 결정된 인터리빙 패턴에 따라 메모리(330)로부터 읽기 시작한다. 이때, 상기 제1 메모리 읽기부(310)의 읽기 동작에 의해 상기 메모리(330)에 빈 어드레스가 생기면, 상기 제1 메모리 쓰기부(350)는 상기 빈 어드레스 순서대로 상기 SIPO(380)로부터 전달되는 심볼들을 수신하여 쓰기 동작을 수행한다. 이때, 상기 20ms의 프레임동안 전송 가능한 심볼의 수를 8비트로 가정하여 설명한다.
따라서, 상기 제 1메모리 읽기부(310)가 해당 어드레스로부터 순차적으로 8비트의 심볼들을 읽기 동작을 수행하고, 상기 제 1 메모리 쓰기부(350)가 상기 읽기 동작에 따른 빈 어드레스 순으로 쓰기 동작을 완료하면, 상기 제1로테이터(300)는 제2 메모리 읽기부(320)로 연결되어 두 번째 프레임을 통해 심볼들을 전송하기 위하여 읽기 동작을 수행한다. 또한, 상기 제1 메모리 쓰기부(350)가 상기 SIPO(380)로부터 전달되는 심볼들 중에서 8비트의 신호들에 대하여 쓰기 동작을 완료하면, 상기 제 2로테이터(370)이 제 2 메모리 쓰기부(360)로 연결되어 두 번째 프레임을 통해 전송하고자 하는 심볼들의 쓰기 동작을 수행한다.
두 번째 프레임에서 상기 제2 메모리 읽기부(320)는 상기 메모리(330)에 저장되어 있는 심볼들을 미리 결정된 인터리빙 패턴에 따라 읽기 동작을 수행한다. 이때, 상기 제2 메모리 쓰기부(360)는 상기 제2 메모리 읽기부(320)의 읽기 동작에 의해 상기 메모리(330)에 빈 어드레스가 생기면, 상기 빈 어드레스 순으로 상기 SIPO(380)로부터 전달되는 심볼들을 수신하여 쓰기 동작을 수행한다. 이때, 상기 제 2 메모리 쓰기부(360)는 어드레스 변환부(340)를 이용하여 쓰기 동작이 완료된 어드레스의 변경을 수행하는데, 이는 다음 프레임에서 상기 제1 메모리 읽기부(310)가 미리 결정된 인터리빙 패턴에 따라 읽기 동작을 가능하게 하기 위함이다.
즉, 상기 제 2 메모리 쓰기부(360)가 쓰기 동작을 완료한 후, 상기 어드레스 변환부(340)는 다음 프레임에서 상기 제 1 메모리 읽기부(310)가 읽기 동작을 수행하여 상기 제 1 메모리 쓰기부(350)의 쓰기 동작이 일어나는 경우, 상기 제 2 메모리 쓰기부(360)의 쓰기 동작에 따라 동일한 어드레스에 해당 심볼들을 중첩하여 쓰지 않도록 하기 위하여 어드레스를 변경하는 것이다. 따라서, 상기 어드레스 변환부(340)는 상기 제2 메모리 쓰기부(360)의 쓰기 동작 후, 어드레스를 변경하여 다음 프레임에서 제 1 메모리 읽기부(310)가 변경된 어드레스순으로 해당 심볼들의 읽기 동작을 수행하도록 한다. 이에 따라 상기 도 4의 어드레스 변환부(340)가 어드레스를 변환하는 시점은 현재 프레임에서 제 2 메모리 쓰기부(360)가 쓰기 동작을 완료하고, 다음 프레임에서 제 1 메모리 읽기부(310)가 읽기 동작을 수행하기 전이 된다.
이와 관련하여 하기의 도 5에서는 상기 제1 메모리 읽기부(310)과, 제1 메모리 쓰기부(320)과, 제2 메모리 읽기부(350)과, 제2 메모리 쓰기부(360)에서 해당 쓰기 동작 및 읽기 동작에 따른 심볼들의 상태도를 도시한다.
도 5a는 제 1 메모리 쓰기부(350)의 어드레스 상태도를 도시한 도면이다.
상기 도 5a를 참조하면, 제 1 메모리 읽기부(310)가 이전 프레임에서 제 2 메모리 쓰기부(350)에 의해 쓰여진 심볼들을 메모리(330)로부터 읽어 온다. 이러한 상기 제 1 메모리 읽기부(310)의 읽기 동작에 따라 상기 메모리(310)에 빈 어드레스가 발생하면, 제 1 메모리 쓰기부(350)는 SIPO(380)로부터 전송되는 심볼들을 (1행, 1열), (2행, 1열), (3행, 1열), (4행, 1열). (5행. 1열), (6행, 1열), (7행, 1열), (8행, 1열), (1행, 2열), (2행, 2열), (3행, 2열), (4행, 2열). (5행. 2열), (6행, 2열), (7행, 2열), (8행, 2열), (1행, 3열), (2행, 3열), (3행, 3열), (4행, 3열). (5행. 3열), (6행, 3열), (7행, 3열), (8행, 3열), (1행, 4열), (2행, 4열), (3행, 4열), (4행, 4열). (5행. 4열), (6행, 4열), (7행, 4열), (8행, 4열). (1행, 5열), (2행, 5열), (3행, 5열), (4행, 5열). (5행. 5열), (6행, 5열), (7행, 5열), (8행, 5열)순서로 할당된 어드레스에 쓰기 동작을 수행한다. 즉, 상기 제1 메모리 쓰기부(350)는 상기 메모리(330)에 0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 10 → 11 → 12 → 13 → 14 → 15 → 16 → 17 → 18 → 19 → 20 → 21 → 22 → 23 → 24 → 25 → 26 → 27 → 28 → 29 → 30 → 31 → 32 → 33 → 34 → 35 → 34 → 35 → 36 → 37 → 38 → 39의 어드레스 순서로 쓰기 동작을 수행한다.
즉, 현재 프레임에서 상기 제 1 메모리 읽기부(310)가 상기와 같은 어드레스 순으로 읽기 동작을 수행함에 따라 상기 제1 메모리 쓰기부(320)는 상기 빈 어드레스가 발생하는 순서대로 상기와 같은 어드레스 순으로 쓰기 동작을 수행한다.
도 5b는 제 2 메모리 읽기부(320)의 어드레스 상태도를 도시한 도면이다.
상기 도 5b를 참조하면, 제2 메모리 읽기부(320)는 이전 프레임에서 상기 제1 메모리 쓰기부(350)의 상기 도 5a와 같은 쓰기 동작에 따라 상기 메모리(330)로부터 미리 정해진 인터리빙 패턴에 따라 읽기 동작을 수행한다, 즉, 제2 메모리 읽기부(320)는 (1행, 1열), (1행, 2열), (1행, 3열), (1행, 4열). (1행, 5열), (5행, 1열), (5행, 2열), (5행, 3열), (5행, 4열). (5행, 5열), (3행, 1열), (3행, 2열), (3행, 3열), (3행, 4열). (3행, 5열), (7행, 1열), (7행, 2열), (7행, 3열), (7행, 4열). (7행, 5열), (2행, 1열), (2행, 2열), (2행, 3열), (2행, 4열). (2행, 5열), (6행, 1열), (6행, 2열), (6행, 3열), (6행, 4열). (6행, 5열), (4행, 1열), (4행, 2열), (4행, 3열), (4행, 4열). (4행, 5열). (8행, 1열), (8행, 2열), (8행, 3열), (8행, 4열). (8행, 5열)순으로 읽기 동작을 수행한다. 이에 따라 상기 제2 메모리 읽기부(320)는 0 → 8 → 16 → 24 → 32 → 4 → 12 → 20 → 28 → 36 → 2 → 10 → 18 → 26 → 34 → 6 → 14 → 22 → 30 → 38 → 1 → 9 → 17 → 25 → 33 → 5 → 13 → 21 → 29 → 37 → 3 → 11 → 19 → 27 → 35 → 7 → 15 → 23 → 31 → 39순으로 읽기 동작을 수행한다.
상기 도 5c는 제 2 메모리 쓰기부(360)의 어드레스 상태도를 도시한 도면이다.
상기 도 5c를 참조하면, 상기 제 2 메모리 쓰기부(360)는 상기 도 5b의 제 2 메모리 읽기부(320)의 읽기 동작에 따라 상기 메모리(310)에 빈 어드레스가 발생하는 순서대로 SIPO(380)로부터 전송되는 심볼들을 쓰기 시작한다. 즉, 상기 제 2 메모리 쓰기부(360)는 (1행, 1열), (1행, 2열), (1행, 3열), (1행, 4열). (1행, 5열), (5행, 1열), (5행, 2열), (5행, 3열), (5행, 4열). (5행, 5열), (3행, 1열), (3행, 2열), (3행, 3열), (3행, 4열). (3행, 5열), (7행, 1열), (7행, 2열), (7행, 3열), (7행, 4열). (7행, 5열), (2행, 1열), (2행, 2열), (2행, 3열), (2행, 4열). (2행, 5열), (6행, 1열), (6행, 2열), (6행, 3열), (6행, 4열). (6행, 5열), (4행, 1열), (4행, 2열), (4행, 3열), (4행, 4열). (4행, 5열). (8행, 1열), (8행, 2열), (8행, 3열), (8행, 4열). (8행, 5열)순으로 쓰기 동작을 수행한다. 이에 따라 상기 제2 메모리 쓰기부(360)는 0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 10 → 11 → 12 → 13 → 14 → 15 → 16 → 17 → 18 → 19 → 20 → 21 → 22 → 23 → 24 → 25 → 26 → 27 → 28 → 29 → 30 → 31 → 32 → 33 → 34 → 35 → 34 → 35 → 36 → 37 → 38 → 39순으로 쓰기 동작을 수행한다.
상기 제 2 메모리 쓰기부(360)가 상기와 같은 어드레스 순으로 쓰기 동작이 완료되면, 어드레스 변환부(340)는 다음 프레임에서 제 1 메모리 읽기부(310)가 변경된 어드레스로 읽기 동작을 수행하도록 어드레스를 변경한다. 이는 도 5d와 같다.
상기 도 5d를 참조하면, 상기 어드레스 변환부(340)는 미리 설정된 테이블(look up table)을 참조하여 상기 제 2 메모리 쓰기부(360)에 의해 할당된 어드레스를 상기 제 1 메모리 읽기부(310)의 읽기 동작이 가능하도록 해당 어드레스를 변경한다. 상기 어드레스 변환부(340)는 어드레스를 변경함으로써, 상기 제 1메모리 읽기부(310)가 인터리빙된 어드레스에 따라 읽기 동작을 수행하게 된다.
도 5e는 본 발명에 따른 제 1 메모리 읽기부(310)의 어드레스 상태를 도시한 도면이다.
상기 도 5e를 참조하면, 다음 프레임에서 상기 제 1 메모리 읽기부(310)는 현재 프레임의 제 2 메모리 쓰기부(360)의 쓰기 동작에 따라 상기 메모리(330)에 쓰여 있는 심볼들을 미리 정해진 인터리빙 패턴에 따라 읽기 동작을 수행한다. 즉, 상기 제 1메모리 읽기부(310)는 (1행, 1열), (2행, 1열), (3행, 1열), (4행, 1열). (5행. 1열), (6행, 1열), (7행, 1열), (8행, 1열), (1행, 2열), (2행, 2열), (3행, 2열), (4행, 2열). (5행. 2열), (6행, 2열), (7행, 2열), (8행, 2열), (1행, 3열), (2행, 3열), (3행, 3열), (4행, 3열). (5행. 3열), (6행, 3열), (7행, 3열), (8행, 3열), (1행, 4열), (2행, 4열), (3행, 4열), (4행, 4열). (5행. 4열), (6행, 4열), (7행, 4열), (8행, 4열). (1행, 5열), (2행, 5열), (3행, 5열), (4행, 5열). (5행. 5열), (6행, 5열), (7행, 5열), (8행, 5열)순서로 읽기 동작을 수행한다. 이에 따라 상기 제 1메모리 읽기부(310)는 0 → 8 → 16 → 24 → 32 → 4 → 12 → 20 → 28 → 36 → 2 → 10 → 18 → 26 → 34 → 6 → 14 → 22 → 30 → 38 → 1 → 9 → 17 → 25 → 33 → 5 → 13 → 21 → 29 → 37 → 3 → 11 → 19 → 27 → 35 → 7 → 15 → 23 → 31 → 39순으로 읽기 동작을 수행하게 된다. 따라서, 상기 도 5a와 같이 제 1 메모리 쓰기부(350)이 동일한 순서로 쓰기 동작을 수행하게 된다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은, 하나의 메모리를 구비하여 전송하고자 하는 심볼들을 저장함으로써, 상기 심볼들을 처리하는 전체 메모리의 크기를 감소하는 효과를 가진다. 또한, 상기 하나의 메모리의 사용으로 인해 하드웨어 구현에 따른 회로 복잡도를 간소화시키고, 상기 인터리빙 연산에 따른 지연을 감소시키는 효과를 가진다. 따라서, 인터리빙에 따른 전체 시스템 전력의 소비를 감소시키는 효과를 가진다.
도 1은 종래 기술에 따른 인터리버 구조를 도시한 도면.
도 2는 종래 기술에 따라 인터리버의 동작을 타이밍도로 도시한 도면.
도 3은 본 발명에 따른 인터리버의 구조를 도시한 도면.
도 4는 본 발명에 따른 인터리버의 동작을 타이밍도로 도시한 도면.
도 5는 본 발명에 따라 인터리버를 구현하여 전송하고자하는 데이터의 읽기/쓰기 동작을 도시한 상태도.

Claims (10)

  1. 이동통신시스템에서, 인터리빙을 수행하여 데이터를 전송하는 장치에 있어서,
    정해진 크기를 가지는 프레임을 통해 전송하고자 하는 심볼들의 크기와 동일한 어드레스를 가지는 메모리와,
    정해진 패턴에 따라 상기 메모리의 어드레스를 접근하여 할당되어 있는 심볼들을 읽어 출력하는 메모리 읽기부와,
    상기 메모리 읽기부를 통해 출력되는 심볼들의 해당 어드레스에 상기 전송하고자 하는 심볼들을 할당하여 쓰기 동작을 수행하는 메모리 쓰기부와,
    상기 메모리 쓰기부가 상기 쓰기 동작을 완료하면, 교번적으로 해당 프레임에 상기 할당되어 있는 심볼들의 어드레스를 변경하는 어드레스 변환부를 구비함을 특징으로 하는 상기 장치.
  2. 제 1항에 있어서, 상기 변경되는 심볼들의 어드레스는 정해진 인터리빙 패턴에 따른 어드레스임을 특징으로 하는 상기 장치.
  3. 이동통신시스템에서, 인터리빙을 수행하여 데이터를 전송하는 장치에 있어서,
    정해진 크기를 가지는 프레임을 통해 전송하고자 하는 심볼들의 크기와 동일한 어드레스를 가지는 메모리와,
    이전 프레임에서 상기 메모리로부터 전송하고자 하는 심볼들을 읽어 출력하는 제1 메모리 읽기부와,
    상기 제1 메모리 읽기부에 대응하여 상기 이전 프레임에서 쓰기 동작을 수행하는 제1 메모리 쓰기부와,
    상기 이전 프레임과 연속되는 현재 프레임에서 상기 제1 메모리 쓰기부에 의해 쓰여진 심볼들을 상기 메모리로부터 읽어 출력하는 제2 메모리 읽기부와,
    상기 제2 메모리 읽기부에 대응하여 상기 현재 프레임에서 쓰기 동작을 수행하는 제2 메모리 쓰기부를 포함함을 특징으로 하는 상기 장치.
  4. 제 3항에 있어서,
    상기 현재 프레임에서 상기 제2 메모리 쓰기부가 쓰기 동작을 완료하면, 상기 메모리에 할당되어 있는 심볼들의 어드레스를 변경하여 다음 프레임에서 제1 메모리 읽기부가 변경된 어드레스의 심볼들을 읽어 출력하도록 하는 어드레스 변환부를 더 포함함을 특징으로 하는 상기 방법.
  5. 제 3항에 있어서, 상기 변경되는 심볼들의 어드레스는 정해진 인터리빙 패턴에 따른 어드레스임을 특징으로 하는 상기 장치.
  6. 이동통신시스템에서, 인터리빙을 수행하여 데이터를 전송하는 방법에 있어서,
    정해진 크기를 가지는 프레임동안 메모리로부터 미리 결정된 패턴에 따라 해당 어드레스를 접근하여 심볼들을 읽어 출력하는 과정과,
    상기 출력되는 심볼들의 해당 어드레스에 정해진 크기를 가지는 프레임동안 전송하고자 하는 새로운 심볼들을 할당하여 쓰기 동작을 수행하는 과정과,
    교번적으로 해당 프레임에서 상기 할당되어 있는 심볼들의 어드레스를 변경하는 과정을 포함함을 특징으로 상기 방법.
  7. 제 6항에 있어서, 상기 변경되는 심볼들의 어드레스는 정해진 인터리빙 패턴에 따른 어드레스임을 특징으로 하는 상기 장치.
  8. 이동통신시스템에서, 인터리빙을 수행하여 데이터를 전송하는 방법에 있어서,
    이전 프레임에서 전송하고자 하는 심볼들의 크기와 동일한 어드레스를 가지는 메모리로부터 전송하고자 하는 심볼들을 읽어 출력하는 단계와,
    상기 출력되는 심볼들에 대응하여 상기 이전 프레임에서 심볼들의 쓰기 동작을 수행하는 단계와,
    상기 이전 프레임과 연속되는 현재 프레임에서 상기 이전 프레임에서 쓰여진 심볼들을 상기 메모리로부터 읽어 출력하는 단계와,
    상기 현재 프레임에서 출력되는 심볼들에 대응하여 상기 현재 프레임에서 쓰기 동작을 수행하는 단계를 포함함을 특징으로 하는 상기 방법.
  9. 제 8항에 있어서,
    상기 현재 프레임에서 쓰기 동작을 완료하면, 상기 메모리에 할당되어 있는 심볼들의 어드레스를 변경하여 다음 프레임에서 변경된 어드레스의 심볼들을 읽어 출력하도록 하는 단계를 더 포함함을 특징으로 하는 상기 방법.
  10. 제 9항에 있어서, 상기 변경되는 심볼들의 어드레스는 정해진 인터리빙 패턴에 따른 어드레스임을 특징으로 하는 상기 장치.
KR1020030078739A 2003-11-07 2003-11-07 이동통신시스템에서 싱글 메모리를 사용하여 인터리버를구현하는 장치 및 방법 KR20050044156A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030078739A KR20050044156A (ko) 2003-11-07 2003-11-07 이동통신시스템에서 싱글 메모리를 사용하여 인터리버를구현하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030078739A KR20050044156A (ko) 2003-11-07 2003-11-07 이동통신시스템에서 싱글 메모리를 사용하여 인터리버를구현하는 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20050044156A true KR20050044156A (ko) 2005-05-12

Family

ID=37244557

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030078739A KR20050044156A (ko) 2003-11-07 2003-11-07 이동통신시스템에서 싱글 메모리를 사용하여 인터리버를구현하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20050044156A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100770894B1 (ko) * 2005-12-05 2007-10-26 삼성전자주식회사 이동통신 시스템에서 인터리버/디인터리버 메모리 제어장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100770894B1 (ko) * 2005-12-05 2007-10-26 삼성전자주식회사 이동통신 시스템에서 인터리버/디인터리버 메모리 제어장치 및 방법
US7882403B2 (en) 2005-12-05 2011-02-01 Samsung Electronics Co., Ltd. Apparatus and method for controlling an interleaver/deinterleaver memory in a mobile communication system

Similar Documents

Publication Publication Date Title
EP0681373B1 (en) Convolutional interleaver with reduced memory requirements and address generator therefor
US5408498A (en) Serial-signal transmission apparatus
WO1992006429A1 (en) Reconfigurable, multi-user viterbi decoder
KR20120134157A (ko) 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도
US7340669B2 (en) Memory efficient streamlined transmitter with a multiple instance hybrid ARQ
US6965557B2 (en) Interleaver memory access apparatus and method of CDMA system
KR20050044156A (ko) 이동통신시스템에서 싱글 메모리를 사용하여 인터리버를구현하는 장치 및 방법
US11822492B2 (en) Signal encoding method and a semiconductor device to generate an optimal transition code in a multi-level signaling system
US7463266B2 (en) Low overhead serial interface
KR20070029744A (ko) 터보 디코더 입력 재배치
KR100680454B1 (ko) 청크 할당을 통해 디인터리버 메모리 요구를 감소시키기 위한 시스템 및 방법
CN1538698B (zh) 存储器接口系统
CN102568605A (zh) 系统总线检错纠错方法和nand flash控制器
US20020184456A1 (en) Interleaver memory access apparatus and method of mobile communication system
CN101228733B (zh) 在两个异步系统之间传递数据的方法及异步数据缓冲器
KR100255762B1 (ko) 블록 인터리버의 읽기 동작용 주소발생기
KR100979109B1 (ko) 직렬 인터페이스 방식이 적용되는 메모리 컨트롤러와메모리 모듈
KR100237651B1 (ko) 셀룰러(Cellullar) 시스템의 부호화 장치
KR100239727B1 (ko) 행렬 전치회로
KR100447177B1 (ko) 인터리빙 방법 및 이를 위한 장치
KR0183171B1 (ko) 인터리버 및 디인터리버와 그 방법
KR100390120B1 (ko) 신호 처리 장치
JP2849804B2 (ja) メモリーアクセスのインターフェイス回路及びメモリーアクセスの方法
US20040267968A1 (en) Implementation of a column interleaving function with a limited amount of columns
KR20060056012A (ko) 소모전력을 줄일 수 있는 버스제어 장치 및 그 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination