KR100770894B1 - 이동통신 시스템에서 인터리버/디인터리버 메모리 제어장치 및 방법 - Google Patents

이동통신 시스템에서 인터리버/디인터리버 메모리 제어장치 및 방법 Download PDF

Info

Publication number
KR100770894B1
KR100770894B1 KR1020060121823A KR20060121823A KR100770894B1 KR 100770894 B1 KR100770894 B1 KR 100770894B1 KR 1020060121823 A KR1020060121823 A KR 1020060121823A KR 20060121823 A KR20060121823 A KR 20060121823A KR 100770894 B1 KR100770894 B1 KR 100770894B1
Authority
KR
South Korea
Prior art keywords
address
memory
value
write address
write
Prior art date
Application number
KR1020060121823A
Other languages
English (en)
Other versions
KR20070058984A (ko
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 삼성전자주식회사
Publication of KR20070058984A publication Critical patent/KR20070058984A/ko
Application granted granted Critical
Publication of KR100770894B1 publication Critical patent/KR100770894B1/ko

Links

Images

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/2703Coding, 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 the interleaver involving at least two directions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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

Abstract

본 발명은 이동통신 시스템에서 디인터리버 메모리 제어 장치 및 방법에 관한 것으로, 불필요한 메모리 삭제 동작을 제거함으로써 메모리 삭제에 필요한 시간 및 소모 전력을 줄일 수 있는 장치 및 방법에 관한 것이다.
본 발명의 실시 예에 따른 이동통신시스템에서 디인터리버 메모리 제어 장치는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치에 있어서, 쓰기 주소를 발생하는 쓰기주소발생기와, 상기 쓰기 주소에 해당되는 값들을 저장하는 메모리와, 입력신호가 발생하면 현재 기록할 주소에 저장된 값이 이전 패킷에서 기록된 값인 경우 상기 메모리의 쓰기 주소(WD_ADDR)에 있는 값에 상기 입력신호를 누적해서 다시 쓰기 주소에 기록하도록 상기 메모리를 제어하고, 상기 현재 기록할 주소에 저장된 값이 현재 패킷의 유효한값인 경우 상기 쓰기 주소에 있는 값에 상기 입력신호를 기록하도록 상기 메모리를 제어하는 메모리 제어기를 포함함을 특징으로 한다.
이동통신 시스템, 메모리, 인터리버/디인터리버, 쓰기 주소, 읽기 주소

Description

이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING INTERLEAVER/DEINTERLEAVER MEMORY}
도 1a는 일반적인 인터리버/디인터리버를 이용한 디지털송/수신기 구조를 도시한 도면,
도 1b는 인터리버에 의해서 인터리빙되는 신호의 변화를 도시한 도면,
도 2는 일반적인 인터리버/디인터리버 구조를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 인터리버/디인터리버 구조를 도시한 도면,
도 4는 본 발명의 실시 예에 따른 인터리버/디인터리버 메모리의 쓰기 동작을 도시한 흐름도,
도 5는 본 발명의 다른 실시 예에 따른 인터리버/디인터리버 메모리의 읽기 동작을 도시한 흐름도.
본 발명은 이동통신 시스템에 관한 것으로, 특히 고속 패킷 데이터 방식의 이동통신 시스템에서 인터리버/디인터리버 메모리를 제어하는 장치 및 방법에 관한 것이다.
일반적으로 회선 기반의 음성 서비스를 제공하는 이동통신 시스템은 그 통신 방법에 따라 정해진 주파수 대역을 다수의 채널로 구분하여 가입자마다 할당된 주파수 채널을 사용하는 주파수 분할 다중 접속 방식(Frequency Division Multiple Access : FDMA)과, 하나의 주파수 채널을 다수의 가입자가 시간을 나누어 사용하는 시분할 다중 접속 방식(Time Division Multiple Access : TDMA)과, 다수의 가입자가 동일한 주파수 대역을 동일한 시간대에 사용하되 가입자마다 다른 부호를 할당하여 통신을 하는 부호 분할 다중 접속 방식(Code Division Multiple Access : 이하, "CDMA") 등으로 구분된다.
상기한 이동통신 시스템은 통신 기술의 급격한 발전에 따라 일반적인 음성 서비스는 물론 이동 단말로 이메일이나 정지 영상은 물론 동영상과 같은 멀티미디어 서비스가 가능한 고속 데이터 서비스를 제공하는 단계에 이르고 있다. 일반적인 음성 서비스와 패킷서비스를 모두 지원하는 이른바 3 세대 이동통신 시스템으로는 잘 알려진 바와 같이 동기 방식의 CDMA 2000 1x, 고속의 패킷 전송이 가능한1x EV-DO(Evolution Data Only), EV-DV(Evolution of Data and Voice)와, 비동기 방식의 UMTS(Universal Mobile Telecommunication Systems) 등이 있다.
한편, 이동통신 시스템에서 디지털 신호 전송시 사용하는 비터비 디코더나 리드 솔로몬(reed solomon : RS) 디코더는 우수한 에러 정정 능력을 갖고 있다. 그러나, 상기 디코더들은 일정한 크기 이상 연속적으로 발생하는 군집 에러를 정정하 기 어렵다. 이러한 단점을 보완하기 위해 인터리버/디인터리버를 사용하여 입력되는 신호의 순서를 변경시키고, 그로 인해 군집 에러를 분산시켜 상기 디코더들이 효율적으로 에러 정정을 할 수 있게 한다.
도 1a는 일반적인 인터리버/디인터리버를 이용한 디지털 송/수신기 구조를 도시한 도면이고, 도 1b는 인터리버에 의해서 인터리빙되는 신호의 변화를 도시한 도면이다.
도 1a를 참조하면, 송신기의 인코더(110)는 수신단에서 에러정정을 하기 위하여 신호에 부가의 정보를 더하거나 신호의 형태를 변화시키는 역할을 한다. 도 1b의 105는 상기 인코더(110)에 의해 인코딩된 신호를 나타낸다. 상기 인코딩된 신호(105)는 인터리버(120)에 의해 순서가 변경된다. 도 1b의 106은 상기 인터리버(120)에 의해 순서가 변경된 신호를 나타낸다. 상기 인터리버(120)를 거친 신호 106은 외부의 에러 또는 노이즈의 영향을 받아 107에서와 같이 A1, A14, A11에 3개의 연속된 에러가 발생된다. 만약 인코더/디코더(120, 140)의 에러 정정 가능 군집 에러의 범위가 2개까지라면, 상기 세 개의 연속된 에러를 올바로 복원을 할 수 없게 된다. 그러나, 수신기의 인터리버/디인터리버(130)를 이용하여 신호의 순서를 원래대로 복원하면, 108에 도시된 바와 같이 왜곡된 신호들이 분산되어 디코더(140)는 올바르게 에러를 정정할 수 있게 된다.
도 2는 일반적인 디인터리버 구조를 나타낸 것이다.
상기 디인터리버(130)는 입력 신호를 기록할 주소를 발생시키는 쓰기주소발생기(220)와, 수신신호를 저장할 메모리(210)와, 디인터리빙 규칙에 따라 데이터를 읽어갈 주소를 발생시키는 읽기주소발생기(230)를 포함한다.
상기 메모리(210)에는 입력신호가 순차적으로 기록되는데 수신되는 패킷의 크기에 따라 유효 저장 영역이 정해진다. 상기 유효 저장 영역의 시작 주소를 'ST_ADDR', 끝 주소를 'END_ADDR'라 정의한다. 상기 쓰기주소발생기(220)는 입력 신호가 들어올때 마다 쓰기 주소값 WD_ADDR을 하나씩 순차적으로 증가시키고 WD_ADDR이 END_ADDR보다 커지면 WD_ADDR=ST_ADDR로 리셋(reset)한다.
종래에는 새로 수신되는 패킷들은 쓰기주소발생기(220)에서 지정한 WD_ADDR 주소의 내용에 누적하여 기록하기만 하면 되기 때문에 도면에 도시하지 않은 제어기가 메모리에 쓰는 동작이 단순하다. 그리고 수신하던 패킷이 종료가 되면 다음 패킷 수신을 대비해서 일정 시점에 상기 제어기가 인터리버/디인터리버 메모리의 내용을 모두 삭제해야 한다. 그러나 메모리 삭제 작업은 메모리 유효 주소, 즉 ST_ADDR부터 END_ADDR까지의 모든 메모리 번지에 '0'을 기록하는 작업이기 때문에 모든 유효 주소에 접근하여 '0'을 기록하는데 필요한 시간과 전력이 필요하다.
이때 수신이 종료된 패킷보다 다음에 수신될 패킷의 크기가 작은 경우는 메모리 영역의 일부만 삭제하는 것이 메모리 전체를 삭제하는 것보다 시간과 전력 측면에서 유리하다.
반면에 수신이 종료된 패킷 보다 다음에 수신될 패킷의 크기가 큰 경우는 종료된 패킷이 사용한 메모리 영역만 삭제하는 것이 메모리 전체를 삭제하는 것보다 시간과 전력 측면에서 유리하다.
그러나 다음에 수신될 패킷의 크기를 미리 알 수 없다. 따라서 일반적으로 상기 제어기가 종료된 패킷에서 사용한 메모리 영역 혹은 전체 메모리 영역을 모두 삭제한다. 따라서 불필요한 시간과 전력이 소모된다.
또한 수신이 종료된 패킷과다음에 수신될 패킷 사이의 시간 간격이 메모리 삭제 시간보다 짧을 경우 디인터리빙 동작에 적용하기 어렵다.
따라서 본 발명의 목적은 인터리버/디인터리버 메모리에 입력 신호를 쓸 경우, 메모리 삭제 과정에서 불필요한 메모리 삭제 작업을 제거하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 인터리버/디인터리버의 메모리 억세스를 줄일 수 있는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 이동통신 시스템의 전력소모를 줄일 수 있는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치 및 방법을 제공함에 있다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치는, 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치에 있어서, 쓰기 주소를 발생하는 쓰기주소발생기와, 상기 쓰기 주소에 해당되는 값들을 저장하는 메모리와, 입력신호가 발생하면 현재 기록할 주소에 저장된 값이 이전 패킷에서 기록된 값인 경우 상기 메모리의 쓰기 주소(WD_ADDR)에 있는 값에 상기 입력신호를 누적해서 다시 쓰기 주소에 기록 하도록 상기 메모리를 제어하고, 상기 현재 기록할 주소에 저장된 값이 현재 패킷의 유효한 값인 경우 상기 쓰기 주소에 있는 값에 상기 입력신호를 기록하도록 상기 메모리를 제어하는 메모리 제어기를 포함함을 특징으로한다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치는, 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치에 있어서, 메모리와, 상기 메모리에 기록된 데이터를 읽어올 주소를 발생하는 읽기주소발생기와, 현재 읽어올 주소에 저장된 값이 현재 패킷의 유효한 값인 경우 읽기 주소(RD_ADDR)가 쓰기 주소(WD_ADDR) 보다 크거나 같은가를 판단하고, 상기 읽기 주소가 상기 쓰기 주소 보다 크거나 같은 경우 출력 제어 신호 '0'을 메모리로 출력하는 메모리 제어기를 포함함을 특징으로 한다.
상기한 바와 같은 목적을 달성하기 위한본 발명의 실시 예에 따른 이동통신시스템에서 인터리버/디인터리버 메모리 제어 방법은, 이동통신 시스템에서 디인터리버 메모리 제어 방법에 있어서, 입력신호가 발생하면 현재기록할 주소에 저장된 값이 이전 패킷에서 기록된 값인지 현재 패킷의 유효한 값인지를 판단하는 과정과, 상기 현재 기록할 주소에 저장된 값이 상기 이전 패킷에서 기록된 값인 경우 메모리의 쓰기 주소(WD_ADDR)에 있는 값에 상기 입력신호를 누적해서 다시 쓰기 주소에 기록하도록 상기 메모리를 제어하는 과정과, 상기 현재 기록할 주소에 저장된 값이 현재 패킷의 유효한 값인 경우 상기 쓰기 주소에 있는 값에 상기 입력신호를 기록하도록 상기 메모리를 제어하는 과정을 포함함을 특징으로 한다.
상기한 바와 같은 목적을 달성하기 위한본 발명의 실시 예에 따른 이동통신시스템에서 인터리버/디인터리버 메모리 제어 방법은, 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법에 있어서, 현재 읽어올 주소에 저장된 값이 이전 패킷에서 기록된 값인지, 현재 패킷의 유효한 값인기를 판단하는 과정과, 상기 현재 읽어올 주소에 저장된 값이 이전 패킷에서 기록된 값인 경우 읽기 주소(RD_ADDR)가 쓰기 주소(WD_ADDR) 보다 크거나 같은가를 판단하는 과정과, 상기 읽기 주소가 상기 쓰기 주소 보다 크거나 같은 경우 메모리로 출력 제어 신호 '0'을 출력하는 과정을 포함함을 특징으로 한다.
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 3은 본 발명의 실시 예에 따른 인터리버/디인터리버 구조를 나타낸 도면이다. 상기 도 3은 종래의 기술에 기재된 도 2와 비교하면 메모리(310), 쓰기 주소 발생기(320), 읽기 주소 발생기(330)는 동일하고, 상기 메모리(310)를 제어하는 메모리 제어기(340)가 추가되었고, 상기 쓰기주소발생기(320)의 출력에 반복 카운터 REP_CNT(REPETITION_COUNTER)가 추가되었다. 상기 REP_CNT는 메모리(310)의 모든 유효 영역에 한번 이상 기록을 하였는지를 알려주는 값으로 0과 1만으로 표현이 가능하다. 상기 쓰기주소발생기(320)의 새로운 출력 REP_CNT는 새로운 패킷을 받기 전에는 REP_CNT=0으로 리셋(reset)되어 있다. 상기 쓰기주소발생기(320)는 입력값이 있을때 마다 종래의 기술과 동일하게 쓰기 주소값 WD_ADDR 주소값을 하나씩 증가시킨다. 쓰기 주소값 WD_ADDR이 유효한 메모리 주소값을 넘는 경우 상기 쓰기주소발생기(320)가 다시 메모리 영역 앞부분의 주소로 리셋하면서 REP_CNT=1로 설정한다. 반면에, 쓰기 주소값 WD_ADDR이 유효한 메모리 주소값을 넘지 않는 경우 상기 쓰기주소발생기(320)가 REP_CNT=0로 설정한다. 즉 상기 메모리 제어기(340)는 REP_CNT값을 통해서 현재 기록할 주소에 저장된 값이 이전 패킷에서 기록된 값인지, 현재 패킷의 유효한 값인지를 판단할 수 있다. 상기 메모리 제어기(340)는 입력신호를 메모리(310)에 RW 신호를 이용하여 기록하는 방식과 상기 메모리(310)로부터의 출력신호를 OutCtrl 신호를 이용하여 제어하는 방식이 있다.
상기 RW 신호는 입력신호를 메모리(310)에 기록하는 방법을 나타내는데 RW=0이면 상기 메모리(310)의 WD_ADDR 주소에 입력신호를 저장하고, RW=1이면 상기 메모리(310)의 WD_ADDR 주소에 있는 값에 입력신호를 누적해서(accumulate) 다시 WD_ADDR 주소에 저장한다.
상기 OutCtrl 신호는 메모리 출력값을 제어하는 신호로서 OutCtrl=0이면 RD_ADDR 주소에 대한 출력신호로 '0'을 출력하고, OutCtrl=1이면 RD_ADDR 주소에 저장된 내용을 출력한다. 여기서, 출력신호로 '0'을 출력한다는 의미는, 상기 메모 리(310)로부터 읽혀진 심볼 값들은 디코더의 입력으로 사용하기 위해 LLR(Log Likelihood Ratio)값을 계산하게 되는데 이때, 디코더의 입력 LLR 값을 '0'으로 천공(puncturing) 처리하듯이 처리하라는 것이다.
상기 메모리(310)의 유효 영역의 시작 주소값을 ST_ADDR, 끝 주소값을 END_ADDR이라 가정하면, 상기 메모리(310)에 입력신호를 기록하는 동작은 도 4를 참조하여 설명하기로 한다.
도면에 도시되지 않은 제어기는 현재 패킷이 수신되고 있는지, 수신되고 있다면 이전에 수신하던 패킷과 다른 포맷의 새로운 패킷인지, 이전에 수신되던 패킷의 연속인지 등을 쓰기주소발생기(320)와 읽기주소발생기(330)에게 알려준다고 가정한다.
상기 도 4는 본 발명의 실시 예에 따른 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법을 설명하기 위한 흐름도이다. 즉, 도 4는 인터리버/디인터리버 메모리의 쓰기 동작 흐름도이다.
먼저, 새로운 패킷이 수신되기 시작하면, 도면에 도시되지 않은 제어기로부터 상기 패킷 수신 정보를 수신한 상기 쓰기주소발생기(320)가WD_ADDR=ST_ADDR, REP_CNT=0로 리셋한다. 이후 입력 신호가 있을 때 마다 다음과 같은 동작을 반복한다.
401 단계에서 상기 메모리 제어기(340)는 상기 쓰기 주소 발생기(320)에서 발생한 REP_CNT가 1인가를 판단한다. 만약, REP_CNT가 1인 경우 상기 메모리 제어기(340)는 403 단계에서 RW=1로 설정하고, 상기 RW 제어 신호를 상기 메모리(310) 로 전송한 후, 상기 메모리(310)의 WD_ADDR 주소에 있는 값에 입력신호와 누적한 후 다시 WD_ADDR 주소에 기록하도록 제어한다. 이후, 상기 쓰기주소발생기(320)는 405 단계에서 메모리(310)의 WD_ADDR 주소값을 하나 증가시킨다.
한편, 401 단계에서 REP_CNT가 1이 아닌 경우, 상기 메모리 제어기(340)는 407 단계에서 RW=0으로 설정하고, 상기 RW 제어 신호를 상기 메모리(310)로 전송한 후, 상기 메모리(310)의 WD_ADDR 주소에 입력신호를 기록하도록 제어한다. 그런후, 405 단계에서 상기 쓰기주소발생기(320)는 상기 메모리(310)의 WD_ADDR 주소값을 하나 증가시킨다.
405 단계 이후, 상기 쓰기주소발생기(320)는 409 단계에서 도면에 기재되지 않은 제어기로부터 수신한 패킷 수신 정보를 이용하여 패킷 수신이 종료되었는가를 판단한다. 만약 패킷 수신이 종료되지 않은 경우, 상기 쓰기주소발생기(320)는 411 단계에서 상기 메모리(310)에 억세스하여 WD_ADDR>END_ADDR인가를 판단한다. 만약, WD_ADDR>END_ADDR일 경우 즉, WD_ADDR이 유효한 메모리 주소값을 넘어가는 경우, 상기 쓰기주소발생기(320)는 413 단계에서 상기 메모리(310) 영역 앞부분의 주소를 리셋하면서 WD_ADDR=ST_ADDR, REP_CNT=1로 설정한다. 그러나 WD_ADDR<=END_ADDR일 경우 401 단계로 귀환한다.
만약, 409 단계에서 패킷 수신이 종료된 경우, 상기 쓰기주소발생기(320)는 415 단계에서 WD_ADDR=ST_ADDR, REP_CNT=0으로 설정한 후, 종료한다.
도 5는 본 발명의 다른 실시 예에 따른 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법을 설명하기 위한 흐름도이다. 즉, 도 5는인터리버/디인터 리버 메모리의 읽기 동작 흐름도이다.
도 5는 읽기주소발생기(330)로부터 읽기 요청이 있을 경우마다 읽기주소발생기(330)는 RD_ADDR을 상기 메모리 제어기(340)로 전송하면서, 다음의 과정을 반복한다.
상기 메모리 제어기(340)는 501 단계에서 상기쓰기 주소 발생기(320)에서 발생한 REP_CNT가 0인가를 판단한다. 만약, REP_CNT가 0이 아닌 경우 상기 메모리 제어기(340)는 509 단계에서 OutCtrl=1로 설정하고 상기 OutCtrl 신호를 상기 메모리(310)로 전송한 후, 상기 메모리(310)의 RD_ADDR 주소에 기록된 내용을 도면에 도시되지 않은 디코더단에서 읽어가도록 제어한다.
그러나 REP_CNT가 0인 경우 상기 메모리 제어기(340)는 503 단계에서 상기 메모리(310)를 통해 RD_ADDR>=WD_ADDR인가를 판단한다. 만약 RD_ADDR<WD_ADDR인 경우 상기 메모리 제어기(340)는 509 단계에서 OutCtrl=1로 설정하고 상기 OutCtrl 신호를 상기 메모리(310)로 전송한 후, 상기 메모리(310)의 RD_ADDR 주소에 저장된 내용을 도면에 도시되지 않은 디코더단에서 읽어가도록 제어한다. 그러나 RD_ADDR>=WD_ADDR인 경우 상기 메모리 제어기(340)는 507 단계에서 OutCtrl 신호를 '0'으로 설정하여 메모리 RD_ADDR 주소에 대한 출력 신호로 '0'을 출력한다.
상기 507 단계 및 509 단계 이후, 상기 읽기주소발생기(330)는 도면에 도시되지 않은 제어기로부터 수신된 패킷 수신 정보를 통해서 패킷수신이 종료되었는가를 판단한다. 만약 패킷 수신이 종료된 경우, 상기 메모리 제어기(340)는 인터리버/디인터리버 메모리 제어 동작을 종료한다. 그러나 패킷 수신이 종료되지 않은 경 우 상기 메모리 제어기(340)는 501 단계로 귀환한다.
본 발명의 실시 예에서 메모리의 제어방법은 상기 메모리 제어기(340)에서 메모리(310)에 기록을 할 경우 REP_CNT값을 보고 현재 기록할 주소에 저장된 값이 이전 값인지 현재 유효한 값인지를 판단한다. 이때, 상기 메모리 제어기(340)에서 상기 메모리(310)의 내용을 읽을 경우 REP_CNT, WD_ADDR 그리고 RD_ADDR 값을 보고 현재 RD_ADDR 번지의 값이 유효한지를 판단한다. 따라서 상기 메모리(310)에 쓰는 과정과 상기 메모리(310)의 내용을 읽는 과정 중에 메모리의 내용을 삭제하는 동작이 포함되어 있기 때문에 부가적인 메모리 삭제 작업에 의한 전력 및 시간 낭비를 없앨 수 있는 장점이 있다.
또한 메모리 삭제에 부가적인 시간이 필요치 않으므로 전송 패킷 사이의 시간 간격이 짧아도 인터리버/디인터리버 동작에는 지장이 없다.
본 발명은 인터리버/디인터리버의 메모리로의 억세스를 줄일 수 있어 전력 소모를 줄일 수 있는 효과가 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해서 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함을 당해 분야에서 통상의 지식을 가진 자에게 있어서 자명하다 할 것이다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은, 인터리버/디인터리버의 메모리에 쓰는 과정과 메모리의 내용을 읽는 과정 중에 메모리의내용을 삭제하는 동작이 포함되어 있기 때문에 부가적인 메모리 삭제 작업에 의한 전력 및 시간 낭비를 줄일 수 있는 효과가 있다.
또한 본 발명은 인터리버/디인터리버의 메모리 삭제에 부가적인 시간이 필요치 않으므로 전송 패킷 사이의 시간 간격이 짧아도 효율적으로 디인터리빙할 수 있는 효과가 있다.
또한 본 발명은 인터리버/디인터리버의 메모리로의 억세스를 줄일 수 있어 전력 소모를 줄일 수 있는 효과가 있다.

Claims (19)

  1. 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치에 있어서,
    쓰기 주소를 발생하는 쓰기주소발생기와,
    상기 쓰기 주소에 해당되는 값들을 저장하는 메모리와,
    입력신호가 발생하면 현재 기록할 주소에 저장된 값이 이전 패킷에서 기록된 값인 경우 상기 메모리의 쓰기 주소(WD_ADDR)에 있는 값에 상기 입력신호를 누적해서 다시 쓰기 주소에 기록하도록 상기 메모리를 제어하고,
    상기 현재 기록할 주소에 저장된 값이 현재 패킷의 유효한 값인 경우 상기 쓰기 주소에 있는 값에 상기 입력신호를 기록하도록 상기 메모리를 제어하는 메모리 제어기를 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치.
  2. 제1항에 있어서, 상기 쓰기주소발생기는,
    상기 입력신호가 상기 메모리에 기록되면, 상기 메모리의 쓰기 주소값을 하나 증가시킴을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치.
  3. 제1항에 있어서,
    상기 쓰기주소발생기는, 상기 패킷 수신이 종료된 경우 상기 쓰기 주소(WD_ADDR)를 시작 주소(ST_ ADDR)로 설정하고, 상기 현재 기록할 주소에 저장된 값을 이전 패킷에서 기록된 값으로 설정함을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치.
  4. 제1항에 있어서,
    상기 쓰기주소발생기는, 상기 패킷 수신이 종료되지 않은 경우 상기 쓰기 주소(WD_ADDR)가 끝주소(END_ADDR) 보다 큰가를 판단하고, 상기 쓰기 주소가 끝 주소 보다 큰 경우 상기 쓰기 주소를 시작 주소로 설정하고, 상기 현재 기록할 주소에 저장된 값을 현재 패킷의 유효한 값으로 설정함을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치.
  5. 제1항에 있어서,
    상기 메모리 제어기는,
    상기 현재 기록할 주소에 저장된 값을 상기 쓰기주소발생기로부터 출력된 반복 카운터(REP_CNT)를 통해서 이전 패킷에서 기록된 값인지, 현재 패킷의 유효한 값인지를 판단함을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제 어 장치.
  6. 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치에 있어서,
    메모리와,
    상기 메모리에 기록된 데이터를 읽어올 주소를 발생하는 읽기주소발생기와,
    현재 읽어올 주소에 저장된 값이 현재 패킷의 유효한값인 경우 읽기 주소(RD_ADDR)가 쓰기 주소(WD_ADDR) 보다 크거나 같은가를 판단하고, 상기 읽기 주소가 상기 쓰기 주소 보다 크거나 같은 경우 출력 제어 신호 '0'을 메모리로 출력하는 메모리 제어기를 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치.
  7. 제6항에 있어서,
    상기 메모리 제어기는,
    상기 읽기 주소가 상기 쓰기 주소 보다 작은 경우 상기 읽기 주소에서 해당되는 값들을 상기 메모리에서 읽어오도록 제어함을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치.
  8. 제6항에 있어서,
    상기 메모리 제어기는, 상기 현재 읽어올 주소에 저장된 값이 이전 패킷에서 기록된 값인 경우 상기 읽기 주소에서 해당되는 값들을 상기 메모리에서 읽어오도록 제어함을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치.
  9. 제6항에 있어서,
    상기 메모리 제어기는,
    상기 현재 기록할 주소에 저장된 값을 쓰기주소발생기로부터 출력된 반복 카운터(REP_CNT)를 통해서 이전 패킷에서 기록된 값인지, 현재 패킷의 유효한 값인지를 판단함을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치.
  10. 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법에 있어서,
    입력신호가 발생하면 현재 기록할 주소에 저장된 값이 이전 패킷에서 기록된 값인지 현재 패킷의 유효한 값인지를 판단하는 과정과,
    상기 현재 기록할 주소에 저장된 값이 상기 이전 패킷에서 기록된 값인 경우 메모리의 쓰기 주소(WD_ADDR)에 있는 값에 상기 입력신호를 누적해서 다시 쓰기 주소에 기록하도록 상기 메모리를 제어하는 과정과,
    상기 현재 기록할 주소에 저장된 값이 현재 패킷의 유효한 값인 경우 상기 쓰기 주소에 있는 값에 상기 입력신호를 기록하도록 상기 메모리를 제어하는 과정을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법.
  11. 제10항에 있어서,
    상기 입력신호가 상기 메모리에 기록되면, 쓰기주소발생기에 의해서 상기 메모리의 쓰기 주소값을 하나 증가시키는 과정을 더 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법.
  12. 제10항에 있어서,
    상기 패킷 수신이 종료된 경우 쓰기주소발생기에서 상기 쓰기 주소(WD_ADDR)를 시작 주소(ST_ ADDR)로 설정하고, 상기 현재 기록할 주소에 저장된 값을 이전 패킷에서 기록된 값으로 설정하는 과정을 더 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법.
  13. 제10항에 있어서,
    상기 패킷 수신이 종료되지 않은 경우 쓰기주소발생기에서 상기 쓰기 주소(WD_ADDR)가 끝 주소(END_ADDR) 보다 큰가를 판단하고, 상기 쓰기 주소가 끝 주소 보다 큰 경우 상기 쓰기 주소를 시작 주소로 설정하고, 상기 현재 기록할 주소에 저장된 값을 현재 패킷의 유효한 값으로 설정하는 과정을 더 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법.
  14. 제10항에 있어서,
    상기 현재 기록할 주소에 저장된 값을 쓰기주소발생기로부터 출력된 반복 카운터(REP_CNT)를 통해서 이전 패킷에서 기록된 값인지, 현재 패킷의 유효한 값인지를 판단하는 과정을 더 포함함을 특징으로 하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법.
  15. 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법에 있어서,
    현재 읽어올 주소에 저장된 값이 이전 패킷에서 기록된 값인지, 현재 패킷의 유효한 값인지를 판단하는 과정과,
    상기 현재 읽어올 주소에 저장된 값이 이전 패킷에서 기록된 값인 경우 읽기 주소(RD_ADDR)가 쓰기 주소(WD_ADDR) 보다 크거나 같은가를 판단하는 과정과,
    상기 읽기 주소가 상기 쓰기 주소 보다 크거나 같은 경우 메모리로 출력제어 신호 '0'을 출력하는 과정을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법.
  16. 제15항에 있어서,
    상기 읽기 주소가 상기 쓰기 주소 보다 작은 경우 상기 읽기 주소에서 해당되는 값들을 상기 메모리에서 읽어오도록 제어함을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법.
  17. 제15항에 있어서,
    상기 현재 읽어올 주소에 저장된 값이 이전 패킷에서 기록된 값인 경우 상기 읽기 주소에서 해당되는 값들을 상기 메모리에서 읽어오도록 제어하는 과정을 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법.
  18. 제15항에 있어서,
    상기 현재 기록할 주소에 저장된 값을 쓰기주소발생기로부터 출력된 반복 카운터(REP_CNT)를 통해서 이전 패킷에서 기록된 값인지, 현재 패킷의 유효한 값인지를 판단하는 과정을 더 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 방법.
  19. 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치에 있어서,
    쓰기 주소를 발생하는 쓰기주소발생기와,
    상기 쓰기 주소에 해당되는 값들을 저장하는 메모리와,
    상기 메모리에 기록된 데이터를 읽어올 주소를 발생하는 읽기주소발생기와,
    입력신호가 발생하면 현재 기록할 주소에 저장된 값이 이전 패킷에서 기록된 값인 경우 상기 메모리의 쓰기 주소(WD_ADDR)에 있는 값에 상기 입력신호를 누적해서 다시 쓰기 주소에 기록하도록 상기 메모리를 제어하고, 상기 현재 기록할 주소에 저장된 값이 현재 패킷의 유효한 값인 경우 상기 쓰기 주소에 있는 값에 상기 입력신호를 기록하도록 상기 메모리를 제어하고, 현재 읽어올 주소에 저장된 값이 현재 패킷의 유효한값인 경우 읽기 주소(RD_ADDR)가 쓰기 주소(WD_ADDR) 보다 크거나 같은가를 판단하고, 상기 읽기 주소가 상기 쓰기 주소 보다 크거나 같은 경우 출력 제어 신호 '0'을 메모리로 출력하는 메모리 제어기를 포함하는 이동통신 시스템에서 인터리버/디인터리버 메모리 제어 장치.
KR1020060121823A 2005-12-05 2006-12-04 이동통신 시스템에서 인터리버/디인터리버 메모리 제어장치 및 방법 KR100770894B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050117730 2005-12-05
KR1020050117730 2005-12-05

Publications (2)

Publication Number Publication Date
KR20070058984A KR20070058984A (ko) 2007-06-11
KR100770894B1 true KR100770894B1 (ko) 2007-10-26

Family

ID=38123044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060121823A KR100770894B1 (ko) 2005-12-05 2006-12-04 이동통신 시스템에서 인터리버/디인터리버 메모리 제어장치 및 방법

Country Status (5)

Country Link
US (1) US7882403B2 (ko)
JP (1) JP4870167B2 (ko)
KR (1) KR100770894B1 (ko)
CN (1) CN101336517B (ko)
WO (1) WO2007066940A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8111767B2 (en) * 2007-05-31 2012-02-07 Renesas Electronics Corporation Adaptive sliding block Viterbi decoder
JP5344228B2 (ja) * 2009-03-26 2013-11-20 ソニー株式会社 受信装置及び方法、プログラム、並びに受信システム
TWI597951B (zh) * 2016-09-12 2017-09-01 晨星半導體股份有限公司 時間解交錯電路與執行時間解交錯處理的方法
WO2019139377A1 (ko) * 2018-01-12 2019-07-18 엘지전자 주식회사 인터리빙을 수행하는 방법 및 인터리버

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050044156A (ko) * 2003-11-07 2005-05-12 삼성전자주식회사 이동통신시스템에서 싱글 메모리를 사용하여 인터리버를구현하는 장치 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1089439A1 (en) * 1999-09-28 2001-04-04 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Interleaver and method for interleaving an input data bit sequence using a coded storing of symbol and additional information
GB2361781B (en) * 2000-04-25 2004-12-29 Ubinetics Ltd Interleaving and de-interleaving of telecommunications signals
KR100430567B1 (ko) * 2000-10-11 2004-05-10 한국전자통신연구원 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템
JP3931100B2 (ja) * 2002-03-12 2007-06-13 株式会社日立コミュニケーションテクノロジー ターボ復号器並びにターボ符号器及びターボ符号器、復号器を含む無線基地局
KR100518295B1 (ko) * 2003-03-14 2005-10-04 삼성전자주식회사 디지털 통신 시스템의 디인터리빙장치 및 그의디인터리빙방법
TW200607272A (en) * 2004-05-11 2006-02-16 Matsushita Electric Ind Co Ltd OFDM reception apparatus and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050044156A (ko) * 2003-11-07 2005-05-12 삼성전자주식회사 이동통신시스템에서 싱글 메모리를 사용하여 인터리버를구현하는 장치 및 방법

Also Published As

Publication number Publication date
CN101336517B (zh) 2013-04-17
US7882403B2 (en) 2011-02-01
JP4870167B2 (ja) 2012-02-08
CN101336517A (zh) 2008-12-31
US20070150775A1 (en) 2007-06-28
WO2007066940A1 (en) 2007-06-14
JP2009518931A (ja) 2009-05-07
KR20070058984A (ko) 2007-06-11

Similar Documents

Publication Publication Date Title
US7644340B1 (en) General convolutional interleaver and deinterleaver
KR20010072501A (ko) 맵 디코더용 메모리 구조
WO2002101937A1 (en) System and method for interleaving data in a communication device
JP2000151426A (ja) インターリーブ・デインターリーブ回路
KR100770894B1 (ko) 이동통신 시스템에서 인터리버/디인터리버 메모리 제어장치 및 방법
JP4728500B2 (ja) アドレス発生器を含んだインターリーブ/ディインターリーブを行う装置、その方法及びそれを利用したチャネル符号化システム
US6580767B1 (en) Cache and caching method for conventional decoders
KR20030070135A (ko) 에러 정정 코드를 디코딩하는 방법 및 장치
WO2012034398A1 (zh) 维特比解码实现方法及装置
US7073012B2 (en) System and method for interleaving data in a communications device
JPH11127083A (ja) 畳込みインタリーバ及びインタリーブ処理方法
JP3804989B2 (ja) 低減された時間ディインターリーブメモリ用の受信機、ディインターリーブ手段、および方法
JP2007525905A (ja) 内部メモリと外部メモリを用いるデインタリービング装置及び方法
US7352723B2 (en) Method of forming a coded composite transport channel for downlink transmissions
KR100520934B1 (ko) 디인터리버 메모리의 크기가 절감된 디지털 방송 수신기의디인터리빙장치 및 그의 디인터리빙방법
US7480846B2 (en) Iterative turbo decoder with single memory
KR20200132264A (ko) 길쌈 인터리빙 장치 및 방법
JP4169937B2 (ja) インターリーブ装置及びデインターリーブ装置
US20140359397A1 (en) Memory access apparatus and method for interleaving and deinterleaving
CN117312189A (zh) 利用单片存储器实现的快速块交织或解交织方法及装置
JP2024058380A (ja) Isdb-t変調器およびその時間インターリーブ処理方法
KR100828243B1 (ko) 단일 어드레스 생성기를 사용하는 터보 디코더 및 그를 이용한 메모리 어드레스 할당 방법
JP2003258649A (ja) 復号装置及びその復号方法
KR20050112180A (ko) 디지털 통신 시스템의 터보 복호기에서 인터리버의 인덱스주소 발생 방법 및 장치
KR20040055079A (ko) 비터비 디코딩 방법 및 이를 저장한 기록매체

Legal Events

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

Payment date: 20120927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140929

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee