KR100820802B1 - 효율적인 디인터리빙 방법 - Google Patents

효율적인 디인터리빙 방법 Download PDF

Info

Publication number
KR100820802B1
KR100820802B1 KR1020010088458A KR20010088458A KR100820802B1 KR 100820802 B1 KR100820802 B1 KR 100820802B1 KR 1020010088458 A KR1020010088458 A KR 1020010088458A KR 20010088458 A KR20010088458 A KR 20010088458A KR 100820802 B1 KR100820802 B1 KR 100820802B1
Authority
KR
South Korea
Prior art keywords
bit
frame
value
output
deinterleaving
Prior art date
Application number
KR1020010088458A
Other languages
English (en)
Other versions
KR20030058072A (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 엘지전자 주식회사
Priority to KR1020010088458A priority Critical patent/KR100820802B1/ko
Publication of KR20030058072A publication Critical patent/KR20030058072A/ko
Application granted granted Critical
Publication of KR100820802B1 publication Critical patent/KR100820802B1/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/276Interleaving address generation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2782Interleaver implementations, which reduce the amount of required interleaving memory
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

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

Abstract

본 발명은 이동 통신 시스템에 있어서, 특히 5ms 프레임이 20ms 프레임에 삽입되어 전송되는 통신 채널에서 20ms 프레임 안에 삽입된 5ms 프레임을 보다 효율적으로 읽기 위한 디인터리빙 방법에 관한 것으로, 20ms 프레임에 5ms 프레임이 삽입된 경우에, 20ms 프레임 심볼을 다 수신하지 않더라도 5ms 프레임 심볼을 수신하기만 하면, 빠르게 5ms 프레임 심볼을 뒤단의 복호기(decoder)로 전달할 수 있을 뿐만 아니라 디인터리빙된 데이터를 별도의 메모리에 저장하지 않고도 빠르게 뒤단의 복호기로 전달함으로써 하드웨어 메모리를 절약할 수 있도록 해주는 디인터리빙을 위한 주소 출력 방법에 관한 것이다.
프레임, 디인터리빙, 카운터

Description

효율적인 디인터리빙 방법{efficient deinterleaving method}
도 1은 IS-2000 시스템에 적용되는 디인터리버의 버퍼 구조 예를 나타낸 도면.
도 2는 도 1의 디인터리버 버퍼에서 5ms 프레임 심볼을 읽는 순서를 나열한 테이블.
도 3은 본 발명에 따른 디인터리빙 장치의 주소 출력 과정을 나타낸 도면.
본 발명은 이동 통신 시스템에 관한 것으로, 특히 5ms 프레임이 20ms 프레임에 삽입되어 전송되는 통신채널에서 20ms 프레임 안에 삽입된 5ms 프레임을 보다 효율적으로 읽기 위한 디인터리빙 방법에 관한 것이다.
일반적으로 CDMA(Code Division Multiple Access) 방식의 차세대 이동 통신 시스템은 프레임 단위로 데이터를 전송한다. 그 전송 프레임은 5/10/20/40/80ms 등의 프레임 길이로 사용된다.
특히 5ms 프레임은 기존의 20ms 프레임보다 빠른 응답(response)을 얻기 위해 사용되는데, 순방향 링크(forward link) 및 역 방향 링크(reverse link)의 각 전용 제어 채널(dedicated control channel)과 기본 채널(fundamental channel)은 20ms 프레임의 중간에 5ms 프레임을 삽입하여 전송할 수 있다.
종래에 전용 제어 채널과 기본 채널의 프레임 전송은, 20ms 프레임 심볼만 전송하는 경우와, 20ms 프레임 중간에 하나 또는 그 이상의 5ms 프레임 심볼을 삽입시켜 전송하는 경우로 나눌 수 있다.
상기한 경우 중에서 5ms 프레임이 20ms 프레임에 삽입되어 전송되는 경우에는, 20ms 프레임 안에 삽입된 5ms 프레임을 읽기 위해 20ms 프레임을 전부 수신해야만 한다.
본 발명의 목적은 상기한 점을 감안하여 안출한 것으로, 본 발명은 차세대 이동통신시스템에 사용되는 디인터리버(deinterleaver)에서 20ms 프레임 안에 첨부된 5ms 프레임을 효율적으로 읽기 위해, 효율적인 카운터 동작에 의해 그 디인터리버의 주소를 계산해 주는데 적당한 효율적인 디인터리빙 방법을 제공하는데 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 효율적인 디인터리빙 방법의 특징은, 11비트(0번째 비트에서 10번째 비트까지) 카운터 초기 값에서 제6번째 비트와 제7 번째 비트의 두자리 이진 값을 업카운트 시키면서, 그 이진 값에 디인터리빙 버퍼의 행렬 크기의 승수 값(2N의 M)을 곱하여 제1 출력 값들을 산출하는 스텝, 상기 카운트 초기 값에서 제10 번째 비트와 제9 번째 비트와 제8 번째 비트의 세 자리 이진 값을 업카운트 시키면서, 그 이진 값에 상기 스텝에서 산출된 제1 출 력 값들을 더하여 제2 출력 값들을 산출하는 스텝, 상기 카운트 초기 값에서 제5 번째 비트부터 제0번째 비트까지의 6자리 이진 값을 업카운트시키면서, 그 이진 값을 상기 스텝에서 산출된 제2 출력 값들의 전단에 붙여 제3 출력 값들을 산출하는 스텝으로 이루어진다.
바람직하게 상기 제3 출력 값들을 산출하는 스텝은, 상기 카운트 초기 값에서, 출력시킬 프레임 심볼의 삽입 위치를 나타내는 제1 번째 비트와 제0 번째 비트를 비트 반전시킨 후 상기 6자리 이진 값을 상기 산출된 제2 출력 값들의 전단에 붙여, 디인터리빙을 위한 최종 출력 주소 비트를 산출한다.
상기한 목적을 달성하기 위한 본 발명에 따른 효율적인 디인터리빙 방법의 또 다른 특징은, 전송 단위의 전체 프레임에 보다 작은 프레임이 삽입되어 수신되는 데이터를 임시 저장하는 디인터리빙 버퍼에서, 상기 보다 작은 프레임 심볼들을 출력시킬 상기 버퍼의 종렬 번호들을 나타내는 비트 열을 계산하는 스텝, 상기 스텝에서 계산된 비트 열의 전단에, 상기 보다 작은 프레임 심볼들을 출력시킬 상기 버퍼의 행렬 번호들을 나타내는 비트 열을 붙여서 최종 출력 주소 값을 산출하는 스텝, 상기 산출 값에 대응되는 상기 디인터리빙 버퍼의 주소에서 프레임 심볼을 출력시키는 스텝으로 이루어진다.
보다 바람직하게, 상기 최종 출력 주소 값을 산출하는 스텝은, 상기 버퍼의 행렬 번호들을 나타내는 비트 열의 최 전단 두자리 비트 열을 반전시킨다.
이하 본 발명에 따른 효율적인 디인터리빙 방법에 대한 바람직한 일 실시 예 를 첨부된 도면을 참조하여 설명한다.
도 1은 IS-2000 시스템에 적용되는 디인터리버의 버퍼 구조 예를 나타낸 도면으로, 본 발명은 도 1과 같이 20ms 프레임 안에 첨부된 5ms 프레임 데이터의 디인터리버(deinterleaver) 주소를 계산하는 방안을 제안한다.
도 1은 IS-2000 시스템에서 M=6, J=24인 디인터리버의 버퍼를 나타낸 것으로, 행렬(ROW)는 26=64, 종렬(COLUMN)은 24의 크기를 갖는 버퍼이다. 20ms 프레임의 인터리빙 크기는 1536이므로, 각 칸(각 주소)에 0번에서 1535번 심볼들이 삽입된다.
그 각 삽입된 심볼 값들 중 (-)부호가 들어간 부분이 5ms 프레임 데이터 영역이다. 도 1을 통해 알 수 있듯이, 5ms 프레임 데이터 영역 안에는 0번부터 383번까지 384(=1536/4)개의 심볼들이 삽입되어 있다.
5ms 프레임에 대한 출력 주소를 읽는 순서는, 먼저 0번째 종렬(column)에서 "-0"에서 "-15"까지 16개 심볼을 읽고, 12번째 종렬(column)에서 "-16"에서 "-31"까지 16개 심볼을 읽고, 그 다음 6번째 종렬(column)에서 "-32"에서 "-47" 까지 16개 심볼을 읽고, 그 다음은 18번째 종렬(column)에서 "-48"에서 "-63"까지 16개 심볼을 읽는다. 이러한 순서로 다음은 1번째 종렬(column), 13번째 종렬(column), 7번째 종렬(column), 19번째 종렬(column),....11번째 종렬(column), 23번째 종렬(column)에서 각각 16개의 심볼들을 읽는다. 결국 도 1의 디인터리버 버퍼에서 5ms 프레임의 심볼을 읽는 종렬 순서를 나열하면, 도 2의 테이블이 된다.
디인터리버 버퍼에서 각 종렬(column)을 다 읽으면, 5ms 프레임의 384개 심볼을 다 읽을 수 있다.
본 발명에서 5ms 프레임 심볼의 주소 출력을 위한 디인터리빙 장치는 주소 계산에 사용되는 11비트(b10~b0)의 카운터(counter)로 구성된다.
그 카운터의 동작을 설명하면, 우선 20ms 프레임 중에서 5ms 프레임의 삽입 위치는 0번째/1번째/2번째/3번째 그룹들 중에서 하나의 그룹이 되므로, 최전단 2비트(b1,b0)는 20ms 프레임 영역 중 5ms 프레임의 위치를 나타낸다.
따라서 실질적인 카운터 동작은 최 후단 비트(b10)부터 최 전단에서 3번째 비트(b2)까지의 9비트만을 가지고 수행된다.
본 발명의 장치에 의한 주소 출력 개수는 384 심볼이므로, 9비트로 "0"에서 "383(101_11_1111)"까지 업카운트(up count)한다.
다음 도 3은 본 발명에 따른 디인터리빙 장치의 주소 출력 과정을 나타낸 도면이다.
주소 출력 이전의 카운터 초기 값은
[b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0]이다.
첫 번째 과정에서 [b6,b7]에 6(= 디인터리버 버퍼의 행렬 크기의 2M에서 M 값)을 곱하여 첫 번째 출력 값 [bb4,bb3,bb2,bb1,bb0]을 산출한다.
이 첫 번째 과정은 도 1의 디인터리빙 버퍼에서 5ms 프레임 심볼을 출력시키는 종렬 번호(column no.)를 계산하는 과정으로, 즉 도 2에서 <0,12,6,18>의 종렬 번호(column no.)를 구하는 과정이다.
보다 상세하게는, [b6,b7]비트로는 0(= 00), 1(= 01), 2(= 10), 3(= 11)을 나타낼 수 있으며, 각 비트 값에 6씩을 곱하면, 0/6/12/18이 구해진다. 여기서 [bb4,bb3,bb2,bb1,bb0]와 같이 5비트 값이 산출되는 것은 최대 수 18이 5비트 이진 값으로 표현되기 때문이다.
두 번째 과정에서는, 첫 번째 과정의 출력 값 [bb4,bb3,bb2,bb1,bb0]에 [b10,b9,b8]을 더하여 두 번째 출력 값 [a10,a9,a8,a7,a6]을 산출한다.
상기한 두 번째 과정은 도 2에서 <0,12,6,18>에서 <1,13,7,19>로 넘어가는 과정으로 이러한 두 번째 과정을 <5,17,11,23>까지 반복한다.
보다 상세하게는 [b10,b9,b8]의 3비트 이진 값(이진수 001에서 이진수 101까지)을 1에서 5까지 증가시키면서 첫 번째 과정의 각 출력 값에 각각 더하는 것을 반복하면, 디인터리빙 버퍼의 마지막 23번째 종렬까지 5ms 프레임 심볼을 읽는 순서가 된다.
세 번째 과정에서는, 두 번째 과정의 출력 값 [a10,a9,a8,a7,a6]을 [b5,b4,b3,b2,b0,b1]의 전단에 붙여, 11비트 카운터는 최종 값 [a10,a9,a8,a7,a6,b5,b4,b3,b2,b0,b1]을 출력시킨다. 이때 [b1,b0]은 [b0,b1]로 비트 반전(bit reverse)킨 후에 붙인다. 이 세 번째 과정은, 디인터리빙 버퍼의 행렬을 계산하는 과정으로, [b5,b4,b3,b2,b0,b1]의 6비트를 1씩 업카운트하면, 그 업카운트 값 중에서 3번째 이진자리 수부터 6번째 이진자리 수까지([b5,b4,b3,b2])의 값(즉, 0/4/8/12/16/20/24/28/32/36/40/44/48/52/56/60)이 행렬 번지가 된다.
상기 세 번째 과정은 비트 반전된 [b0,b1]을 첨가하여 디인터리빙 버퍼에서 0~384까지의 5ms 프레임 심볼을 다 읽을 수 있는 출력 주소를 산출한다.
이상에서 설명한 바와 같은 본 발명에 따른 효율적인 디인터리빙 방법을 사용함으로써, 20ms 프레임에 5ms 프레임이 삽입된 경우에, 20ms 프레임 심볼을 다 수신하지 않더라도 5ms 프레임 심볼을 수신하기만 하면, 빠르게 5ms 프레임 심볼을 뒷단의 복호기(decoder)로 전달할 수 있다. 뿐만 아니라 디인터리빙된 데이터를 별도의 메모리에 저장하지 않고도 빠르게 뒷단의 복호기로 전달함으로써 하드웨어 메모리를 절약할 수 있다는 효과가 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시 예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.

Claims (4)

11비트(0번째 비트에서 10번째 비트까지) 카운터 초기 값에서 제6번째 비트와 제7번째 비트의 두자리 이진 값을 업카운트시키면서, 그 이진 값에 디인터리빙 버퍼의 행렬 크기의 승수 값(2N의 M)을 곱하여 제1출력 값들을 산출하는 스텝;
상기 카운트 초기 값에서 제10 번째 비트와 제9 번째 비트와 제8 번째 비트의 세 자리 이진 값을 업카운트시키면서, 그 이진 값에 상기 스텝에서 산출된 제1 출력 값들을 더하여 제2 출력 값들을 산출하는 스텝; 그리고
상기 카운트 초기 값에서 제5번째 비트부터 제0번째 비트까지의 6자리 이진 값을 업카운트시키면서, 그 이진 값을 상기 스텝에서 산출된 제2 출력 값들의 전단에 붙여 제3 출력 값들을 산출하는 스텝으로 이루어지는 것을 특징으로 하는 효율적인 디인터리빙 방법.
제 1 항에 있어서, 상기 제3 출력 값들을 산출하는 스텝은,
상기 카운트 초기 값에서, 출력시킬 프레임 심볼의 삽입 위치를 나타내는 제1 번째 비트와 제0 번째 비트를 비트 반전시킨 후 상기 6자리 이진 값을 상기 산출된 제2 출력 값들의 전단에 붙여, 디인터리빙을 위한 최종 출력 주소 비트를 산출하는 것을 특징으로 하는 효율적인 디인터리빙 방법.
전송 단위의 전체 프레임에 보다 작은 프레임이 삽입되어 수신되는 데이터를 임시 저장하는 디인터리빙 버퍼에서, 상기 보다 작은 프레임 심볼들을 출력시킬 상기 버퍼의 종렬 번호들을 나타내는 비트 열을 계산하는 스텝;
상기 스텝에서 계산된 비트 열의 전단에, 상기 보다 작은 프레임 심볼들을 출력시킬 상기 버퍼의 행렬 번호들을 나타내는 비트 열을 붙여서 최종 출력 주소 값을 산출하는 스텝; 그리고
상기 스텝의 산출 값에 대응되는 상기 디인터리빙 버퍼의 주소에서 프레임 심볼을 출력시키는 스텝으로 이루어지는 것을 특징으로 하는 효율적인 디인터리빙 방법.
제 3 항에 있어서, 상기 최종 출력 주소 값을 산출하는 스텝은,
상기 버퍼의 행렬 번호들을 나타내는 비트 열의 최전단 두자리 비트 열을 비트 반전시키는 것을 특징으로 하는 효율적인 디인터리빙 방법.
KR1020010088458A 2001-12-29 2001-12-29 효율적인 디인터리빙 방법 KR100820802B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010088458A KR100820802B1 (ko) 2001-12-29 2001-12-29 효율적인 디인터리빙 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010088458A KR100820802B1 (ko) 2001-12-29 2001-12-29 효율적인 디인터리빙 방법

Publications (2)

Publication Number Publication Date
KR20030058072A KR20030058072A (ko) 2003-07-07
KR100820802B1 true KR100820802B1 (ko) 2008-04-10

Family

ID=32216007

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010088458A KR100820802B1 (ko) 2001-12-29 2001-12-29 효율적인 디인터리빙 방법

Country Status (1)

Country Link
KR (1) KR100820802B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000022555A (ja) * 1998-07-06 2000-01-21 Toyo Commun Equip Co Ltd ビットインタリーブ及びビットデインタリーブ回路
KR100299148B1 (ko) * 1998-03-14 2001-09-26 윤종용 부호분할다중접속 통신시스템에서 서로 다른 프레임 길이를갖는메시지를 인터믹스하여 송수신하는 장치 및 방법
KR100336290B1 (ko) * 1999-07-15 2002-05-13 이봉훈 비트 동기가 혼합된 고속 디인터리빙 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100299148B1 (ko) * 1998-03-14 2001-09-26 윤종용 부호분할다중접속 통신시스템에서 서로 다른 프레임 길이를갖는메시지를 인터믹스하여 송수신하는 장치 및 방법
JP2000022555A (ja) * 1998-07-06 2000-01-21 Toyo Commun Equip Co Ltd ビットインタリーブ及びビットデインタリーブ回路
KR100336290B1 (ko) * 1999-07-15 2002-05-13 이봉훈 비트 동기가 혼합된 고속 디인터리빙 장치 및 방법

Also Published As

Publication number Publication date
KR20030058072A (ko) 2003-07-07

Similar Documents

Publication Publication Date Title
JP4377407B2 (ja) 誤り訂正コードインターリーバ
EP0681373B1 (en) Convolutional interleaver with reduced memory requirements and address generator therefor
US6209114B1 (en) Efficient hardware implementation of chien search polynomial reduction in reed-solomon decoding
US6854077B2 (en) Apparatus and method for providing turbo code interleaving in a communications system
US6035427A (en) Convolutional interleaver and method for generating memory address therefor
US5428627A (en) Method and apparatus for initializing an ECC circuit
US7600177B2 (en) Delta syndrome based iterative Reed-Solomon product code decoder
JP3046988B2 (ja) データストリームのフレーム同期検出方法及び装置
US5951677A (en) Efficient hardware implementation of euclidean array processing in reed-solomon decoding
CN100517984C (zh) 用于移动通信系统的维特比/涡轮联合译码器
KR890004677B1 (ko) 순회부호의 복호화 방법 및 장치
CN112039535B (zh) 一种基于准循环生成矩阵的码率兼容ldpc编码器
KR20070010704A (ko) 인터리빙 방법 및 그 장치
JP2004504754A (ja) デジタルデータの送受信装置
EP1100202A1 (en) De-interleave circuit
US5822337A (en) Programmable redundancy/syndrome generator
KR100820802B1 (ko) 효율적인 디인터리빙 방법
KR200141094Y1 (ko) 비씨에이취 코드워드를 부호화하는 장치
US5671238A (en) Method and circuitry for generating r-bit parallel CRC code for an l-bit data source
US7225306B2 (en) Efficient address generation for Forney&#39;s modular periodic interleavers
US7502390B2 (en) Optimized interleaver and/or deinterleaver design
KR100243468B1 (ko) 듀얼 포트 메모리를 이용한 길쌈 인터리버 /디인터리버
JP3173713B2 (ja) エラー訂正符号化方法および送受信装置
US6023782A (en) RAM based key equation solver apparatus
US20030065697A1 (en) Fast, iterative system and method for evaluating a modulo operation without using division

Legal Events

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

Payment date: 20120327

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130326

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee