KR20040061482A - 채널 인터리빙 방법 - Google Patents

채널 인터리빙 방법 Download PDF

Info

Publication number
KR20040061482A
KR20040061482A KR1020020087749A KR20020087749A KR20040061482A KR 20040061482 A KR20040061482 A KR 20040061482A KR 1020020087749 A KR1020020087749 A KR 1020020087749A KR 20020087749 A KR20020087749 A KR 20020087749A KR 20040061482 A KR20040061482 A KR 20040061482A
Authority
KR
South Korea
Prior art keywords
address
symbol
interleaving
subblock
nint
Prior art date
Application number
KR1020020087749A
Other languages
English (en)
Other versions
KR100519335B1 (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 KR10-2002-0087749A priority Critical patent/KR100519335B1/ko
Publication of KR20040061482A publication Critical patent/KR20040061482A/ko
Application granted granted Critical
Publication of KR100519335B1 publication Critical patent/KR100519335B1/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
    • H03M13/2778Interleaver 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
    • 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

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)

Abstract

본 발명은 채널 인터리빙 방법에 관한 것으로, 데이터 심볼들을 수신하여 순서대로 저장하는 단계와, 상기 데이터 심볼을 일정 크기 단위로 서브블록 인터리빙하고 동시에 심볼 그룹핑을 수행하도록 하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
따라서, 서브블록 인터리빙과 심볼 그룹핑을 동시에 처리하므로 필요한 버퍼 사이즈를 절반으로 줄일 수 있어 하드웨어 자원이 절약되는 효과가 있다.

Description

채널 인터리빙 방법{Channel Interleaving Method}
본 발명은 고속 패킷 전송 이동통신 시스템에 관한 것으로 특히, 하드웨어 자원의 소모를 줄이기 위한 채널 인터리빙 방법에 관한 것이다.
도 1은 종래 기술에 따른 채널 인터리빙 구조를 나타낸 도면으로, 종래 기술에 따른 채널 인터리빙은 심볼 분할(Symbol Separation), 서브블록 인터리빙(Subblock Interleaving), 심볼 구룹핑(Symbol Grouping)으로 구성된다.
상기 심볼 분할은 인코더에서 출력되는 모든 심볼들을 시스테믹 서브블록(Systematic Subblock: 이하, S 서브블록이라 한다)(11a), 패리티(Parity: 이하, P라 한다) 서브블록들 P0(11b), P1(11c), P'0(11d), P'1(11e)의 5개의 서브블록으로 나누는 부분으로, 인코딩된 심볼(Symbol)들을 하나씩 차례대로 상기 5개의 서브블록으로 분산시켜 저장한다.
즉, 상기 인코더에서 출력되는 첫 번째 심볼을 S 서브블록(Sub-block)(11a)에, 두 번째 심볼 P0 서브블록(11b)에, 세 번째 심볼을 P1 서브블록(11c)에, 네 번째 심볼을 P'0 서브블록(11d)에, 다섯 번째 심볼을 P'1 서브블록(11e)에 저장하며, 여섯 번째 심볼을 다시 S 서브블록(11a)에 저장한다.
상기 인터리빙은 상기 5개의 서브블록들 각각에 대하여 인터리빙을 하는 부분으로, 각 서브블록의 인터리빙을 다음의 과정에 의해 따라 수행한다.
우선, 전체 서브블록 내의 모든 심볼들에 차례대로 어드레스 0부터 [인터리버 서브블록 사이즈(Nint)-1] 순으로 어드레스를 할당한다.
그리고, 인터리빙을 위하여 각 서브블록내의 심볼들에 대하여 어드레스 시퀀스를 산출하고, 상기 서브블록내의 심볼을 상기 어드레스 시퀀스순으로 리드(Read)하여 인터리빙을 수행한다.
도 2는 인터리빙을 위한 어드레스 시퀀스 생성 과정을 설명하기 위한 순서도로, 우선, 다음의 표 1에 주어진 파라미터(Parameter)를 참조하여 해당 서브블록의 인터리버 파리미터(Sub-block Interleaver Parameter)들(m, J)을 결정한다(S201).
Encoder PacketSize Subblock Interleaver Parameters
Nint m J
408 408 7 4
792 792 8 4
1560 1560 9 4
2328 2328 10 3
3096 3096 10 4
3864 3864 11 2
이어, i와 k값을 0으로 초기화한다(S202).
그리고, 다음 수학식 1에 따라 Tk를 산출한다(S203).
)
여기서, 상기 BROm(y)는 y의 비트 리버스(bit-Reverse) m 비트값을 나타낸다. (예를 들어, BRP3(6)=3이다.)
이어, 상기 산출된 Tk값이 인터리버 서브블록 사이즈(Nint)보다 작은지를 판단한다(S204).
상기 판단 결과, Tk값이 인터리버 서브블록 사이즈(Nint)보다 작으면 산출된 Tk가 유효한 것으로 인식하여 i번째 어드레스(Ai)를 산출된 Tk로 설정하고, i와 k값을 하나씩 증가시킨다(S205).
반면, Tk값이 인터리버 서브블록 사이즈(Nint)보다 크거나 같으면 산출된 Tk가 유효하지 않은 것으로 인식하여 상기 Tk를 버리고, k값을 하나 증가시킨다(S206).
그리고, 서브블록 내의 모든 심볼에 대하여 인터리빙을 수행하기 위하여 현재 인터리빙된 심볼수가 인터리버 서브블록 사이즈(Nint)와 동일한지를 판단한다(S207).
판단 결과, 상기 두 값이 동일하지 않은 경우에는 해당 서브블록에 인터리빙되지 않은 심볼이 존재하는 것으로 판단하고 인터리버 서브블록 사이즈(Nint)개의 인터리빙된 심볼을 얻을 때까지 상기 스텝 204(S204)부터 스텝 207(S207)까지의 과정을 반복한다.
상기한 과정으로 해당 서브블록의 인터리빙을 위한 어드레스 시퀀스 생성을 완료한다.
이와 같은 과정을 S, P0, P'0, P1, P'1 서브블록(11a)(11b)(11c)(11d)(11e) 각각에 대하여 모두 실시하여 어드레스 시퀀스를 생성한다.
이어, 상기 생성된 어드레스 시퀀스에 따라 상기 심볼 분할하여 저장한 심볼들을 읽어 버퍼에 저장한다.
상기 심볼 구룹핑(Symbol Grouping)은 인터리빙된 패리티 서브블록들(P0, P'0, P1, P'1)을 그룹핑하는 부분이다.
즉, 상기 인터리빙된 P0 서브블록의 첫 번째 심볼, 인터리빙된 P'0 서브블록의 첫 번째 심볼, 인터리빙된 P0 서브블록의 두 번째 심볼, 인터리빙된 P'0 서브블록의 두 번째 심볼, … 순으로 심볼 바이 심볼(Symbol-by-Symbol) 멀티플랙싱하여 인터리빙된 P0 서브블록과 인터리빙된 P'0 서브블록을 그룹핑하고, 상기 인터리빙된 P1 서브블록의 첫 번째 심볼, 인터리빙된 P'1 서브블록의 첫 번째 심볼, 인터리빙된 P1 서브블록의 두 번째 심볼, 인터리빙된 P'1 서브블록의 두 번째 심볼, … 순으로 심볼 바이 심볼(Symbol-by-Symbol) 멀티플랙싱하여 인터리빙된 P1 서브블록과 인터리빙된 P'1 서브블록을 그룹핑한다.
그리고, 인터리빙된 S 서브블록의 심볼 시퀀스, 인터리빙된 P0/P'0 서브블록 시퀀스의 심볼 바이 심볼(Symbol by Symbol) 멀티플랙싱 시퀀스, 인터리빙된 P1, P'1 서브블록 시퀀스의 심볼 바이 심볼(Symbol by Symbol) 멀티플랙싱 시퀀스 순으로 채널 인터리버 출력 시퀀스(Channel Interleaver Output Sequence)를 출력한다.
상기한 종래 기술은 인코딩된 심볼을 5개의 서브 블록으로 나누어서 저장하고, 이 심볼들을 다시 서브블록 인터리빙하여 저장하며, 심볼 그룹핑하여 읽어가는 구조이다.
따라서, 전체 심볼을 2번씩 저장해야 하므로 전체 심볼 크기의 2배에 해당하는 버퍼가 필요하다. 이런 이유로, 종래 기술은 하드웨어 자원 소모가 큰 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출한 것으로 하드웨어 자원 소모를 줄일 수 있는 채널 인터리버를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 채널 인터리빙 방법은 데이터 심볼들을 수신하여 순서대로 저장하는 단계와, 상기 데이터 심볼을 일정 크기 단위로 서브블록 인터리빙하고 동시에 심볼 그룹핑을 수행하도록 하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
보다 구체적으로, 상기 서브블록 인코딩된 심볼은 5개의 심볼 단위로 이루어지는 것을 특징으로 한다.
보다 구체적으로, 상기 서브블록 인터리빙과 심볼 그룹핑을 한꺼번에 처리하는 어드레스 시퀀스를 생성하는 단계와, 상기 어드레스 시퀀스에 따라 상기 서브블록들을 억세스하여 심볼을 출력하는 단계를 더 포함하여 이루어지는 것을 특징으로 한다.
도 1은 종래 기술에 따른 채널 인터리빙 구조를 나타낸 도면이고,
도 2는 인터리빙을 위한 어드레스(Ai) 생성 과정을 설명하기 위한 순서도이고,
도 3은 본 발명에 따른 채널 인터리빙 구조를 나타낸 도면이고,
도 4는 본 발명에 따른 채널 인터리빙 방법을 나타낸 순서도이다.
**도면의 주요 부분에 대한 부호 설명**
21 : 인터리빙/심볼 그룹핑부
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하면 다음과 같다.
본 발명에 따른 채널 인터리버는 서브블록 인터리빙/심볼 그룹핑부(21)를 포함하여 구성된다.
상기 인터리빙/심볼 그룹핑부(21)는 인코딩된 모든 심볼을 5개의 서브블록으로 나누지 않고, 인코딩된 데이터를 순서대로 저장한다.
따라서, 만약 기존의 S 서브블록을 0, P0 서브블록을 1, P'0 서브블록을 2, P1 서브블록을 3, P'1 서브블록을 4라고 넘버링한다면, 저장된 데이터의 어드레스를 5로 나눈 나머지값이 서브블록의 순서라고 할 수 있다.
기존의 서브블록 인터리빙을 하기 위해서 인코딩된 데이터를 각각 5개의 서브블록으로 나누어서 서브블록 인터리빙을 하는 대신 본 발명에서 제안하는 방식은 5개 심볼을 하나의 그룹으로 생각하고 한꺼번에 인터리빙을 한 다음에, 5개의 심볼 중에서 어드레스에 해당되는 심볼을 선택하는 방식으로 그룹핑하게 된다.
이 인터리빙과 그룹핑은 순서대로 2가지 과정이 일어나는 것이 아니라, 인터리빙 어드레스를 구하고 이 어드레스에 그룹핑에 해당하는 서브블록 넘버를 더함으로써 2가지 과정을 하나의 과정으로 줄일 수 있다.
그러므로 상기 서브블록 인터리빙/심볼 그룹핑부(22)는 상기 저장된 심볼을 읽는 어드레스를 계산하는 부분으로, 서브블록 인터리빙(Subblock Interleaving)과 심볼 그룹핑(Symbol Grouping)을 한꺼번에 처리하여 심볼을 읽는 기능을 한다.
따라서, 도 3과 같이 인코딩된 데이터를 순서대로 저장한 다음 출력할때의 어드레스를 구할 때 인터리빙과 그룹핑을 계산하여 어드레스를 산정하게 된다.
다음에 본 발명에 따른 채널 인터리빙 과정을 설명한다.
도 4는 본 발명에 따른 채널 인터리빙 과정을 나타낸 순서도로, 인코딩된 심볼이 수신되면(S401) 수신된 심볼을 그대로 저장한다(S402).
상기 인터리빙 어드레스 시퀀스를 산출하는 과정은 상기 도 2에 도시된 절차에 따르며, 종래 기술에서의 인터리빙 어드레스를 산출하는 방법과 유사하다.
도 2에 도시된 절차와 같이 인터리빙 어드레스(Ai)를 산출한 다음 여기서는 5개의 심볼이 하나의 그룹으로 저장되어 있으므로 이 어드레스에 5를 곱하고 심볼 그룹핑에 해당하는 서브블록 넘버를 더하여 서브블록 인터리빙과 심볼 그룹핑을 동시에 처리하는 어드레스를 구한다.
즉, 종래 기술에서는 P0, P'0, P1, P'1 서브블록 각각에 대하여 어드레스 시퀀스를 산출한 반면, 본 발명에서는 종래와 같은 방식으로 인터리빙 어드레스를 구한 다음, 그룹핑을 고려하여 서브블록에 해당되는 숫자를 더하는 방식으로 출력 어드레스를 구한다(S403).
따라서 출력 어드레스(i)가 0에서 (Nint-1)일 때에는 [(Ai*5)+0]에 저장되어 있는 데이터를 출력하고, 출력 어드레스(i)가 (Nint)에서 [(Nint*3)-1]일 때에는 어드레스가 짝수이면(i=2n),[((An/2)*5 +1]에 저장된 심볼을 출력하고 출력 어드레스(i)가 (Nint)에서 [(Nint*3)-1]이면서 어드레스가 홀수이면(i=2n+1), [((An/2)*5) +2]에 저장된 심볼을 출력하고, 출력 어드레스(i)가 (3*Nint)에서 [(Nint*5)-1]일 때에는 어드레스가 짝수이면(i=2n),[((An/2)*5) +3]에 저장된 심볼을 출력하고, 출력 어드레스(i)가 (3*Nint)에서 [(Nint*5)-1]이면서 어드레스가 홀수이면(i=2n+1),[((An/2)*5) +4]에 저장된 심볼을 출력한다(S404).
즉, 위와 같은 방법으로 출력 어드레스를 구하면 서브블록 인터리빙과 심볼 그룹핑을 한꺼번에 처리하게 되어서 기존처럼 인터리빙 데이터를 심볼 분리하여 저장하고 인터리빙한 후에 다시 저장하여 심볼 그룹핑을 할 필요 없이 저장한 데이터를 바로 서브블록 인터리빙과 그룹핑을 모두 적용한 어드레스를 사용하여 출력할 수 있다.
상기와 같은 본 발명의 채널 인터리버 및 이를 이용한 채널 인터리빙 방법은 서브블록 인터리빙과 심볼 그룹핑을 동시에 처리하므로 필요한 버퍼 사이즈를 절반으로 줄일 수 있어 하드웨어 자원이 절약되는 효과가 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정하는 것이 아니라 특허 청구범위에 의해서 정해져야 한다.

Claims (3)

  1. 데이터 심볼들을 수신하여 순서대로 저장하는 단계와,
    상기 데이터 심볼을 일정크기 단위로 서브블록 인터리빙하고 동시에 심볼 그룹핑을 수행하도록 하는 단계를 포함하여 이루어지는 것을 특징으로 하는 채널 인터리빙 방법.
  2. 제 1항에 있어서,
    상기 서브블록 인코딩된 심볼은 5개의 심볼 단위로 이루어지는 것을 특징으로 하는 채널 인터리빙 방법.
  3. 제 1항에 있어서,
    상기 서브블록 인터리빙과 심볼 그룹핑을 한꺼번에 처리하는 어드레스 시퀀스를 생성하는 단계와,
    상기 어드레스 시퀀스에 따라 상기 서브블록들을 억세스하여 심볼을 출력하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 채널 인터리빙 방법.
KR10-2002-0087749A 2002-12-31 2002-12-31 채널 인터리빙 방법 KR100519335B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0087749A KR100519335B1 (ko) 2002-12-31 2002-12-31 채널 인터리빙 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0087749A KR100519335B1 (ko) 2002-12-31 2002-12-31 채널 인터리빙 방법

Publications (2)

Publication Number Publication Date
KR20040061482A true KR20040061482A (ko) 2004-07-07
KR100519335B1 KR100519335B1 (ko) 2005-10-07

Family

ID=37353025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0087749A KR100519335B1 (ko) 2002-12-31 2002-12-31 채널 인터리빙 방법

Country Status (1)

Country Link
KR (1) KR100519335B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100727316B1 (ko) * 2005-06-01 2007-06-12 삼성전자주식회사 저밀도채리티체크 채널 디코딩 방법 및 장치
KR100905350B1 (ko) * 2004-07-29 2009-07-01 콸콤 인코포레이티드 인터리빙을 위한 시스템 및 방법
US9042212B2 (en) 2005-07-29 2015-05-26 Qualcomm Incorporated Method and apparatus for communicating network identifiers in a communication system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101288548B1 (ko) 2009-12-15 2013-07-22 한국전자통신연구원 전송 성능 향상을 위한 인터리빙 장치 및 이의 인터리빙 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100905350B1 (ko) * 2004-07-29 2009-07-01 콸콤 인코포레이티드 인터리빙을 위한 시스템 및 방법
US7583584B2 (en) 2004-07-29 2009-09-01 Qualcomm Incorporated System and method for time diversity
US8189539B2 (en) 2004-07-29 2012-05-29 Qualcomm Incorporated System and method for frequency diversity
KR100727316B1 (ko) * 2005-06-01 2007-06-12 삼성전자주식회사 저밀도채리티체크 채널 디코딩 방법 및 장치
US9042212B2 (en) 2005-07-29 2015-05-26 Qualcomm Incorporated Method and apparatus for communicating network identifiers in a communication system

Also Published As

Publication number Publication date
KR100519335B1 (ko) 2005-10-07

Similar Documents

Publication Publication Date Title
EP1856807B1 (en) Parallel turbo decoders with multiplexed output
KR100549894B1 (ko) 부호화 장치, 부호화 방법, 이동국 장치 및 기지국 장치
US6314534B1 (en) Generalized address generation for bit reversed random interleaving
US7340664B2 (en) Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving
US20130318416A1 (en) Rate Matching And Channel Interleaving For A Communications System
KR101537127B1 (ko) 분산된 리소스 블럭 인덱스의 물리적 리소스 블럭으로의 맵핑
RU2451392C2 (ru) Способ и устройство для кодирования и декодирования данных
US20050204262A1 (en) Electronic device for reducing interleaving write access conflicts in optimized concurrent interleaving architecture for high throughput turbo decoding
JP4124893B2 (ja) インターレーサ、符号化装置、置換方法、符号化方法、復号化装置およびその方法、これらを使ったシステム
EP2621091B1 (en) Turbo code parallel interleaving with quadratic permutation polynomial (qpp) functions
KR20070093447A (ko) 병렬 인터리버, 병렬 디인터리버 및 인터리브 방법
KR20070015539A (ko) 인터리버 메모리 및 디인터리버 메모리용 어드레스 생성기
US7590917B2 (en) Parameter generation for interleavers
KR101269901B1 (ko) Harq를 지원하는 데이터 디레이트 매처 및 방법
JP3241984B2 (ja) デジタルデータのデインタリーブを行うシステム及び方法
KR100519335B1 (ko) 채널 인터리빙 방법
JP3457335B2 (ja) 誤り保護方法および誤り保護装置
JP2009246474A (ja) ターボデコーダ
EP2323302A1 (en) Improved HARQ
EP1045522A1 (en) Method and device for channel interleaving and multiplexing
KR101365372B1 (ko) 이동 통신 시스템에서의 고속 패킷데이타 채널의 인터리빙방법
CN102035558A (zh) turbo译码方法和装置
US20090083514A1 (en) Apparatus and method for block interleaving in mobile communication system
US8769372B2 (en) System and method for assigning code blocks to constituent decoder units in a turbo decoding system having parallel decoding units
CN114745076B (zh) 一种基于fpga的码长自适应交织/解交织器及方法

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
FPAY Annual fee payment

Payment date: 20080618

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee