KR100475185B1 - 에이치디알 전송장치의 인터리버 및 그 인터리빙 방법 - Google Patents

에이치디알 전송장치의 인터리버 및 그 인터리빙 방법 Download PDF

Info

Publication number
KR100475185B1
KR100475185B1 KR10-2002-0005372A KR20020005372A KR100475185B1 KR 100475185 B1 KR100475185 B1 KR 100475185B1 KR 20020005372 A KR20020005372 A KR 20020005372A KR 100475185 B1 KR100475185 B1 KR 100475185B1
Authority
KR
South Korea
Prior art keywords
interleaver
value
data
block
address
Prior art date
Application number
KR10-2002-0005372A
Other languages
English (en)
Other versions
KR20030065662A (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-0005372A priority Critical patent/KR100475185B1/ko
Publication of KR20030065662A publication Critical patent/KR20030065662A/ko
Application granted granted Critical
Publication of KR100475185B1 publication Critical patent/KR100475185B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • 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
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명에 따른 HDR 전송장치의 인터리버는, HDR 전송장치내에서 채널 디코딩되고 스크램블링된 데이터를 입력받아 인터리빙하여 모듈레이터에 출력하는 인터리버에 있어서, 스크램블링된 데이터를 입력받아 인터리빙을 위해 순차적으로 저장하는 저장부와, 모듈레이터로부터의 요청이 있는 경우, 모듈레이터의 읽기신호에 상응하여 저장부에 저장된 데이터를 인터리빙된 순서대로 순차적으로 출력하기 위하여 인터리빙 규칙에 의해 해당 데이터가 저장된 어드레스를 발생하는 어드레스 발생부를 포함하여 구성함으로써, 심볼 재배열 및 치환을 위한 레지스터 및 부가적인 메모리를 사용하지 않고 칩을 구현할 수 있기 때문에 칩의 면적을 줄이는데 상당한 효과를 거둘 수 있고, 인터리빙을 하는데 부가적인 클럭이 필요하지 않아 12288 클럭 + 3 클럭 정도만으로 인터리버의 메모리의 출력을 인터리빙시키면서 모듈레이션할 수 있게 되어 클럭을 상당히 절약할 수 있게 된다.

Description

에이치디알 전송장치의 인터리버 및 그 인터리빙 방법{the interleaver and the method thereof in HDR transmitter}
본 발명은 HDR 전송장치의 인터리버 및 그 인터리빙 방법에 관한 것으로, 상세하게는, 기존의 IS-2000 무선 프로토콜과는 완전히 다른 패킷데이터 전송을 위한 전용 프로토콜인 1xEV(Evolution)-DO(Data Only)의 통신 시스템에서 사용되는 채널 인터리버(interleaver)을 효율적인 구현한 HDR 전송장치의 인터리버 및 그 인터리빙 방법에 관한 것이다.
통신 시스템에서 전송중 데이터에 에러가 발생하면 복구가 불가능하게 되어 데이터를 이용하지 못할 경우가 발생하는데 이를 최소화 하기 위하여 에러 정정 기술을 사용한다.
터보 코드는 에러가 드문 드문 산재되어 있을 경우에 복구가 가능하나, 에러가 일정 부분에 집중되어 있으면 에러 정정 코드로는 정정이 불가능해지게 된다. 아무리 좋은 에러 정정 코드를 사용한다 해도 특정 부분에 에러가 집중되면 연속적인 데이터를 한꺼번에 잃어 버리게 되는 것을 방지할 수 없다.
그러나, 인터리버를 사용하여 연속적인 데이터를 랜덤하게 분산시키면 연속적인 데이터를 한꺼번에 잃어 버리게 되는 것(burst error)를 최소화 할 수는 있다.
CDMA2000 HDR에서는 이러한 인터리버의 구현을 위하여 블록 인터리버(block interleaver)를 사용하였다.
도 1은 블록 인터리버의 원리를 설명하기 위한 개념도이다. 도 1을 참조하여 블록 인터리버에서 블록 인터리빙하는 원리를 설명해 보자.
전송할 데이터가 1, 2, 3, 4...20이라고 할 때 입력은 세로 방향으로 쓰여지고 출력은 가로 방향으로 하게 된다. 이렇게 데이터를 정열하는 것을 인터리빙이라고 하며 수신측에서는 다시 수신된 것과 반대로 정열하는 것을 디인터리빙(Deinterleaving)이라고 한다.
블록 인터리버를 통해 출력되는 데이터는 1, 6, 11, 16 / 2, 7, 12, 17 / 3, 8, 13, 18 / 4, 9, 14, 19 / 5, 10, 15, 20이 되어 암호화의 과정을 거친다. 이렇게 출력된 데이터가 전송중에 첫번째 보낸 1, 6, 11 ,16 모두가 깨어져도 수신시에 *2, 3, 4, 5 / *7, 8, 9, 10 / *12, 13, 14, 15 / *17, 18, 19, 20으로 디인터리빙 되어 에러가 분산되기 때문에 에러 복구가 가능하게 된다.
만약에 인터리빙하지 않고 1, 2, 3, 4, 5 처럼 연속적으로 데이터를 전송하다가 1부터 10까지의 데이터가 손상된다면 아무리 이전의 비트와 연관되었다 해도 이전의 데이터까지 손상되었으므로 콘볼루션 코드화되었어도 데이터를 복구할 수 없다. 이렇게 집중적으로 특정 부분에 에러가 생기는 것을 버스트 에러(Burst Error)라고 하고, 드문 드문 에러가 생기는 것을 랜덤 에러(Random Error)라고 한다. 즉 블록 인터리버는 버스트 에러를 랜덤 에러화시키는 역할을 한다.
한편, HDR에서는 기존의 인터리버와는 약간 다른 인터리버의 구조를 사용하였다.
도 2는 순방향 채널 신호흐름을 설명하기 위한 HDR 전송장치의 구성 블록도이다. 설명의 편의를 위해 도 2에 HDR(High Data Rate) 물리계층(physical layer)중 하나인 순방향 채널(forward channel)의 신호 흐름을 나타내었다.
도 2를 참조하면, 사용자로부터 다양한 전송률로 입력되는 데이터들을 터보 인코딩하는 터보 인코더(10)와, 터보 인코더(10)에 의해 채널 코딩되어 출력되는 데이터들을 사용자별로 구분하기 위해 스크램블링하는 스크램블러(scrambler)(20)와, 스크램블링된 데이터에 대하여 버스트(burst) 에러를 방지하기 위한 채널 인터리빙을 수행하는 인터리버(30)와, 인터리빙된 데이터에 대한 효율적인 전송을 위한 QPSK/8-PSK/15-QAM 모듈레이터(40)와, 데이터들의 전송율을 일정하게 만들어 주는 시퀀스 반복/심볼 제거부(sequence repetion/symbol puncturing)(50)로 구성된다.
터보 인코더(10)는 사용자로부터 다양한 전송률로 입력되는 데이터에 대한 인코딩을 수행하여 1xEV-DO 규격에 정해진 부호화율(R=1/3 또는 R=1/5)에 따라 매 클럭마다 3 비트 또는 5 비트의 부호를 출력하게 된다.
스크램블러(20)는 터보 인코더(10)를 통해 코딩되어 출력되는 데이터들을 사용자별로 구분하기 위해 터보 인코더(10)의 출력에 대해 데이터 보안을 위해 스크램블링을 수행하기 위한 스크램블 데이터를 생성한다.
인터리버(30)는 스크램블 과정을 거친 코드 부호에 대하여 메모리 소자를 이용하여 저장한 후 정해진 규칙에 따라 인터리빙을 수행한다. 인터리빙을 거친 코드 부호는 무선 환경에서 발생할 수 있는 연집 오류로부터 일정한 신뢰도를 보장할 수 있게 된다.
모듈레이터(40)는 채널 인터리빙된 신호에 대하여 변조를 수행한다. 변조방식은 전송 속도에 따라 QPSK, 8-PSK, 16-QAM 중 하나가 선택된다. QPSK는 2개의 코드 부호에 대해 하나의 변조 부호(modulated symbol)를 생성하며 8-PSK, 16-QAM은 각각 3개 또는 4개의 코드 부호에 대해 하나의 변조 부호를 생성한다. 정해진 코드 부호 블력의 크기에 따라 변조 부호도 일정한 크기의 블록으로 구성되며 이 변조 부호는 CDMA 확산(spreading) 과정을 거쳐 전송된다.
시퀀스 반복/심볼 제거부(50)는 데이터들의 전송율을 일정하게 만들어 주기위해 시퀀스를 반복해서 전송하거나, 심볼을 제거하는 기능을 수행한다. 즉, 무선 환경이 나쁠 경우, 동일한 변조 부호를 반복하여 전송하게 되며, 반복 전송 도중 수신측에서 수신 완료 신호(ACK : Acknowledge)를 보내면 전송을 중단한다.
이와 같이 구성된 HDR 시스템의 물리계층에서 순방향 채널(forward channel)의 신호 흐름을 설명해보자.
입력 패킷은 터보 인코더(10)를 통하여 부호화된 후 스크램블러(20)를 이용하여 데이터 랜덤화 과정을 거친다. 데이터 랜덤화 과정을 거친 코드 부호(coded symbol)는 전송 과정 중 발생하는 연집 오류(burst error)를 막기 위한 채널 인터리버(30)에 의해 블록 인터리빙이 수행된다.
블록 인터리빙된 코드 부호는 기저 대역 반송파(base-band carrier)에 싣기 위하여 모듈레이터(40)에 의해 전송 속도에 따라 QPSK, 8-PSK, 16-QAM 중 하나의 변조과정을 거치게 되고, 변조된 부호 데이터는 시퀀스 반복/심볼 제거부(50)에 의해 정해진 전송 시간에 따라 코드 부호 블록으로 반복하여 전송되어 진다.
도 3은 도 2에 도시된 인터리버의 구성블록도이다. 도 3을 참조하여 인터리버를 좀더 자세히 살펴보자.
인터리버(30)는 코드율(code rate) 에 따라 스크램블러에서 출력되는 비트를 임시 저장할 재배열 레지스터(31)와, 인터리버 메모리(32)와, 엔드어라운드 쉬프트, BRO시키기 위해 사용하는 임시 메모리(33)를 포함하여 구성된다.
이와 같이 구성된 인터리버(30)에서는 코드율에 따라 먼저 터보 인코딩되고 스크램블링된 출력을 U, V0, V1, V'0, V'1을 U, V0, V'0, V1, V'1 순으로 정렬을 한 다음, 이를 각 인터리버 메모리(32)에 저장한 후, 임시 메모리(33)를 사용하여 각 블록의 인터리빙을 수행하여 모듈레이터(40)로 출력한다.
인터리빙을 수행할 때는, 먼저, 각 시퀀스 블록(sequence block)의 크기에 따라 표1에 의해 파라메터 K, M을 결정하여 K-행(row), M-열(column)로 행렬을 구성한다. 이렇게 행렬이 구성되면, 각 열에 대해 0 ~ M-1의 범위를 가지는 index j를 붙이고, 왼쪽 j=0에서부터 각 열별로 다운워드 로테이션(downward rotation)(end-around shift)을 수행한다.
U 시퀀스 블록의 경우 j mod K, V0/V'0와 V1/V'1 시퀀스 블록의 경우는 (j / 4) mod K 값 만큼 아래로 로테이션이 수행된다.
로테이션이 수행되면, 각 열에 대해 BRO(j)를 계산하여 열을 재정렬한다. 열을 정렬한 다음, 가장 좌측 열부터 시작하여 열 별로 위에서 아래로 심벌을 읽어내어 U_blk, V0/V'0_blk, V1/V'1_blk에 저장한다.
채널 인터리버 파라메터
물리적 레이어 패킷 크기 U블록 인터리버 파라메터 V0/V'0 및 V1/V'1 블록 인터리버 파라메터
K M K M
1,024 2 512 2 1,024
2,048 2 1,024 2 2,048
3,072 3 1,024 3 2,048
4,096 4 1,024 4 2,048
표 2 내지 표 4는 K=3, M=4 인 인터리버 메모리를 사용하는 경우에 인터리빙을 수행하는 중간 결과값들을 나타내고 있다. 표 2 내지 표 4를 참조하여 K=3, M=4 인 인터리버 메모리를 사용하는 경우에 인터리빙을 수행하는 경우를 설명해보자.
인터리빙을 수행하기 전의 주소 배열 (K=3, M=4)
j=0 j=1 j=2 j=3
i=0 0 1 2 3
i=1 4 5 6 7
i=2 8 9 10 11
표2는 인터리빙을 수행하기 전의 주소 배열을 나타낸다. 열별로 위에서 아래로 심벌을 읽어내면 0 4 8 / 1 5 9 / 2 6 10 / 3 7 11 이 된다. 여기에 엔드 어라운드 쉬프트(end around shift)를 수행한다.
엔드 어라운드 쉬프트를 수행후의 주소 배열 (K=3, M=4)
j=0 j=1 j=2 j=3
i=0 0 9 6 3
i=1 4 1 10 7
i=2 8 5 2 11
표 3은 표 2에서 엔드 어라운드 쉬프트를 수행한 결과값을 보여주고 있다.
즉, 각 열별로 j값만큼 위치를 이동시키면 j=0 열에서는 0만큼 그 위치를 이동시키므로 값에는 변동이 없다. 한편, j=1에서는 1만큼 그 위치를 이동시키므로 1은 1의 위치에 9가 오고, 5의 위치에 1이 오고, 9의 위치에 5가 오게 된다. 한편 j=2 열에서는 2만큼 그 위치를 이동시키므로 2의 위치에 6이 오고, 6의 위치에 10이 온다. 한편, j=3 열에서는 그 위치를 3만큼 이동시키므로 원래의 위치에 있게 된다.
BRO를 수행한 후의 주소 배열 (K=3, M=4)
j=0 j=1 j=2 j=3
i=0 0 6 9 3
i=1 4 10 1 7
i=2 8 2 5 11
표 4는 표 3에 BRO를 수행한 결과값을 보여준다. i=0, 1, 2 행별로 위치 이동을 시킨다. 즉, 십진수 0, 1, 2, 3를 각각 이진수로 표현하면, 00, 01, 10, 11로 표현할 수 있는데, 여기에서 서로의 심벌을 앞뒤로 바꾸어 주면, 00은 그대로 00으로, 01은 10으로, 10은 01로, 11은 그대로 11로 된다. 이를 십진수로 표현하면, 0, 2, 1, 3이 된다. 즉, 각 행마다 j=0, j=3은 위치 변동이 없고, j=1에는 j=2의 값이 오고, j=2의 위치에는 j=1의 값이 오게 된다. 따라서 i=0행의 경우, 9가 있던 j=1에 j=2에 있던 6이 오고, 6이 있던 j=2의 위치에 j=1에 있던 9가 위치하게 된다. 이와 같이 하여 표 4에 나타낸 바와 같은 위치 이동이 이루어진다.
상술한 바와 같이, 메모리에 저장된 데이터를 읽어서 엔드 어라운드 쉬프트를 수행한 다음, BRO를 수행하여 데이터를 인터리빙한 다음, 그 데이터의 주소를 읽는 순서는 가장 좌측 열부터 시작하여 열별로 위에서 아래로 심벌을 읽어 내면 0 4 8 / 6 10 2 / 9 1 5 / 3 7 1가 된다. 이때 엔드 어라운드 쉬프트를 하기 위한 읽고 쓰는 클럭, BRO하기 위한 읽고 쓰는 클럭이 필요하게 된다.
이와 같이 종래의 경우, 코드율에 따라 스크램블러에서 출력되는 비트를 임시 저장할 레지스터(310)와, 인터리버 메모리(320)와, 엔드어라운드 쉬프트, BRO시키기 위해 사용하는 임시 메모리(330)가 필요하고, 또한 인터리빙을 하기 위한 부가적인 클럭과 모듈레이션하기 위한 부가적인 클럭이 또 필요한 문제점이 있다.
본 발명은 이러한 종래의 문제점을 해결하기 위하여 안출된 것으로, 클럭의 손실이 없으면서 인터리빙을 위한 부가적인 메모리를 사용하지 않으면서도, 클럭의 손실이 없이 효과적으로 인터리빙을 수행할 수 있는 HDR 전송장치의 인터리버 및 그 인터리빙 방법을 제공하는데 그 목적이 있다.
이러한 목적을 달성하는 본 발명에 따른 HDR 전송장치의 인터리버는, 채널 디코딩되고 스크램블링된 데이터를 입력받아 인터리빙하여 모듈레이터에 출력하는 HDR 전송장치의 인터리버에 있어서, 스크램블링된 데이터를 입력받아 인터리빙을 위해 순차적으로 저장하는 저장부와, 모듈레이터로부터의 요청이 있는 경우, 모듈레이터의 읽기신호에 상응하여 저장부에 저장된 데이터를 인터리빙된 순서대로 순차적으로 출력하기 위하여 인터리빙 규칙에 의해 해당 데이터가 저장된 어드레스를 발생하는 어드레스 발생부를 포함하여 구성된다.
또한, 본 발명에 따른 HDR 전송장치의 인터리빙 방법은, HDR 전송장치내에서 채널 디코딩되고 스크램블링된 데이터를 입력받아 인터리빙하여 모듈레이터에 출력하는 인터리버의 인터리빙 방법에 있어서, 스크램블링된 데이터를 입력받아 인터리빙을 위해 순차적으로 저장하는 단계와, 모듈레이터로부터의 요청이 있는 경우, 모듈레이터의 읽기신호에 상응하여 저장된 데이터를 인터리빙 규칙에 의해 인터리빙된 순서대로 순차적으로 출력하기 위하여 해당 데이터가 저장된 어드레스를 발생하는 단계를 수행한다.
이때, 어드레스를 생성하는 단계는, 인터리빙을 수행해야 할 데이터 크기에 상응하는 인터리버 파라메터 k와 M을 결정하는 단계와, 파라메터가 결정되는 경우, 열 단위로 j=0부터 M-1까지 계산을 하며, 각 열에 대해서는 행 index i=0에서 K-1값의 순서로 계산을 하여, j값에 대한 BRO(j)를 계산하여 열을 재정렬하기 전의 원래의 열 값 m을 구하는 단계와, 현재 블록이 U 블록인 경우에는 m mod K 계산을 하고, 그렇지 않은 경우 (m/4) mod K를 계산하여 로테이션값을 구하는 단계와, 현재 i값에 대해 i-p를 계산하여 나온 값을 q라 할때, 그 값이 음의 값을 가지는 경우, k값을 더해서 로테이션되기 전의 원래의 행 인덱스 q를 구하는 단계와, 그 산출된 m과 q값에 대해 m+(q*M)을 계산하여 인터리빙되기 전의 심벌 위치값인 인터리버 메모리 리드 어드레스를 생성하는 단계를 포함한다.
도 4는 본 발명에 따른 인터리버의 구성을 보여준다. 본 발명에 따른 인터리버는 터보 인코더의 출력을 저장하는 인터리버 메모리(110)와, 인터리버 메모리(110)에 저장되어 있던 데이터의 출력을 조절하기 위한 주소를 생성하는 주소 발생기(120)를 포함하여 구성된다.
인터리버 메모리(12288bit, 11)는 3개의 서브 블록(block_U , block_V0/V'0 , block_V1/V'1)으로 이루어질 수 있으며, 터보 인코더(10)에 의해 코딩되고 스크램블러(20)에 의해 스크램블링된 데이터가 인터리버(100)로 입력되면, 그 데이터를 순차적으로 재배열(symbol reorder)하여 각 블록 별로 해당 위치에 저장을 한다.
어드레스 발생부(12)는 인터리버 메모리(11)에 순차적으로 저장되어 있는 데이터들에 대하여, 모듈레이터의 읽기 신호에 상응하여 인터리빙된 순서에 맞도록 읽어 오기 위해, 각 데이터가 저장되어 있는 어드레스를 발생한다. 어드레스 발생부(12)에서 발생된 어드레스에 따라 모듈레이터는 그 어드레스에 저장된 데이터를 입력받아 모듈레이션을 수행하게 된다.
이와 같이 구성된 인터리버(100)에서는 3개의 서브 블록(block_U , block_V0/V'0 , block_V1/V'1)이 있는 인터리버 메모리(110)에 재배열(symbol reorder)된 스크램블러의 출력을 각 블록 별로 해당 위치에 저장을 한 후, 별도의 인터리빙을 수행하지 않고 기존의 인터리빙을 역순으로 수행하여 어드레스 발생부(120)에 의해 주소를 생성하여 모듈레이터(40)의 읽기클럭에 맞추어 발생된 어드레스에 인터리빙된 순서대로 심볼을 읽어 오게 된다.
어드레스 발생부(120)에서는 다음과 같은 순서로 어드레스를 생성한다.
먼저, 인터리빙을 수행해야 할 블록에 해당하는 인터리버 파라메터 k와 M을 구한다. 파라메터가 결정되면 열 단위로 j=0부터 M-1까지 계산을 하며, 각 열에 대해서는 row index i=0에서 K-1값의 순서로 계산을 한다. j값에 대한 BRO(j)를 계산하여 열을 재정렬하기 전의 원래의 열 값 m을 구한다.
현재 블록이 U 블록인 경우에는 m mod K 계산을 하고, 아니면 (m/4) mod K를 계산하여 로테이션값(rotation value) p를 구한다.
현재 i값에 대해 i-p를 계산하여 나온 값을 q라 하고, 그 값이 (-)값이면 k값을 더해서 로테이션되기 전의 원래의 행 인덱스 q를 구한다.
이렇게 구한 m과 q값에 대해 m+(q*M)을 계산하여 인터리빙되기 전의 심벌 위치값인 인터리버 메모리 리드 어드레스를 생성한다.
위에서 제시된 방법으로 인터리빙을 수행하면 종래의 기술에서 예로들어 설명을 한 K=3, M=4 인터리버 메모리의 인터리버 메모리 리드 어드레스는 표 5와 같이 생성된다.
K M j i m=BRO(j) p=m mod K q= i-p m+(q*M)
3 4 0 0 0 0 0 0
1 0 0 1 4
2 0 0 2 8
1 0 2 2 -2+3=1 6
1 2 2 -1+3=2 10
2 2 2 0 2
2 0 1 1 -1+3=2 9
1 1 1 0 1
2 1 1 1 5
3 0 3 0 0 3
1 3 0 1 7
2 3 0 2 11
표 5의 경우를 들어 상술한 바와 같이 어드레스를 발생하는 동작을 살펴보자.
인터리빙할 데이터가 입력되면, 그 입력되는 데이터를 순차적으로 저장하고, 데이터의 저장이 일단 끝난 상태에서 모듈레이터(40)로부터 요청이 있는 경우, 모듈레이터의 읽기 클럭에 의해
먼저, 인터리빙을 수행해야 할 블록에 해당하는 인터리버 파라메터 k와 M을 구한다. 이 경우에는 각각 3과 4로 결정된다. 이 값은 표 1에 나타낸 패킷 사이즈에 따라 결정되는 값이다. 파라메터 k와 M이 각각 3과 4로 결정되면 열 단위로 j=0부터 M-1까지, 즉, j=0부터 3까지 계산을 하며, 각 열에 대해서는 행 index i=0에서 K-1값, 즉 i=0에서 2의 순서로 계산을 한다. j값에 대한 BRO(j)를 계산하여 열을 재정렬하기 전의 원래의 열 값 m을 구한다. 즉, j=0, 1, 2, 3일때, BRO(j)=0, 2, 1, 3이 된다. 이 값은 표 4에서 설명한 바가 있다.
현재 블록이 U 블록인 경우에는 m mod K 계산을 하고, 아니면 (m/4) mod K를 계산하여 로테이션값(rotation value) p를 구한다. 이에 따라 j=0, 1, 2, 3일때, p=0, 2, 1, 0이 된다.
현재 i값에 대해 i-p를 계산하여 나온 값을 q라 하고, 그 값이 (-)값이면 k값을 더해서 로테이션되기 전의 원래의 행 인덱스 q를 구한다. 즉, 표 5에서 q=i-p의 항목에 보면 위에서 아래로 각각 0, 1, 2, -1, -2, 0, -1, 0, 1, 0, 1, 2가 된다. 이때, -1, -2, -1은 음수값을 가짐에 따라 k값 즉, 3을 더하여 각각 1, 2, 2로 된다.
이렇게 구한 m과 q값에 대해 m+(q*M)을 계산하여 인터리빙되기 전의 심벌 위치값인 인터리버 메모리 리드 어드레스를 생성한다. 일예를 들면, j=0 i=1인 경우에 m+(q*M) =0+(1*4)=4가 된다. 한예를 더 들면, j=0 i=2인 경우에 m+(q*M) =0+(2*4)=8이 된다.
결과적으로 생성된 인터리버 메모리를 리드하기 위한 어드레스(Interleaver Memory read addresss)는 0 4 8 / 6 10 2 / 9 1 5 / 3 7 1으로 기존의 기술과 동일 하지만 부가적인 메모리를 쓰지 않았고, 기존의 기술에서 필요했던 엔드 어라운드 쉬프트를 수행하기 위한 읽고 쓰는 클럭, BRO하기 위한 읽고 쓰는 클럭등의 비효율적인 사용을 하지 않았다.
본 발명에 의하면, 심볼 재배열 및 치환을 위한 레지스터와 부가적인 메모리를 사용하지 않고 칩을 구현 할 수 있기 때문에 칩의 면적을 줄이는데 상당한 효과를 거둘 수 있고, 인터리빙을 하는데 부가적인 클럭이 필요하지 않아 12288 클럭 + 3 클럭 정도만으로 인터리버의 메모리의 출력을 인터리빙 시키면서 모듈레이션 할 수 있게 되어 클럭을 상당히 절약할 수 있게 된다.
도 1은 블록 인터리버의 원리를 설명하기 위한 개념도.
도 2는 순방향 채널 신호흐름을 설명하기 위한 HDR 전송장치의 구성블록도.
도 3은 도 2에 도시된 인터리버의 구성블록도.
도 4는 본 발명에 따른 인터리버의 구성블록도.
<도면의 주요부분에 대한 부호의 설명>
10 : 터보 인코더 20 : 스크램블러
30 : 인터리버 31 : 재배열 레지스터
32 : 인터리버 메모리 32 : 임시 메모리
40 : 모듈레이터 50 : 시퀀스 반복/심볼 제거부
100 : 인터리버 110 : 인터리버 메모리
120 : 어드레스 발생부

Claims (6)

  1. HDR 전송장치내에서 채널 디코딩되고 스크램블링된 데이터를 입력받아 인터리빙하여 모듈레이터에 출력하는 인터리버에 있어서,
    상기 스크램블링된 데이터를 입력받아 인터리빙을 위해 순차적으로 저장하는 저장부와,
    상기 모듈레이터로부터의 요청이 있는 경우, 모듈레이터의 읽기신호에 상응하여 상기 저장부에 저장된 데이터를 인터리빙된 순서대로 순차적으로 출력하기 위하여 블록인터리빙 규칙에 의해 해당 데이터가 저장된 어드레스를 발생하는 어드레스 발생부를 포함하되,
    상기 어드레스 발생부는,
    인터리빙을 수행해야 할 데이터 크기에 상응하는 인터리버 파라메터 k와 M을 결정하고,
    파라메터가 결정되는 경우, 열 단위로 j=0부터 M-1까지 계산을 하며, 각 열에 대해서는 행 index i=0에서 K-1값의 순서로 계산을 하여, j값에 대한 BRO(j)를 계산하여 열을 재정렬하기 전의 원래의 열 값 m을 구하고,
    현재 블록이 U 블록인 경우에는 m mod K 계산을 하고, 그렇지 않은 경우 (m/4) mod K를 계산하여 로테이션값을 구하고,
    현재 i값에 대해 i-p를 계산하여 나온 값을 q라 할때, 그 값이 음의 값을 가지는 경우, k값을 더해서 로테이션되기 전의 원래의 행 인덱스 q를 구하고,
    상기 산출된 m과 q값에 대해 m+(q*M)을 계산하여 인터리빙되기 전의 심벌 위치값인 인터리버 메모리를 리드하기 위한 어드레스를 생성하는 HDR 전송장치의 인터리버.
    (단 K, M, j, i는 U,V블록의 채널 인터리버 파라메터)
  2. 삭제
  3. 삭제
  4. HDR 전송장치내에서 채널 디코딩되고 스크램블링된 데이터를 입력받아 인터리빙하여 모듈레이터에 출력하는 인터리버의 인터리빙 방법에 있어서,
    상기 스크램블링된 데이터를 입력받아 인터리빙을 위해 순차적으로 저장하는 단계와,
    상기 모듈레이터로부터의 요청이 있는 경우, 모듈레이터의 읽기신호에 상응하여 상기 저장된 데이터를 블록 인터리빙 규칙에 의해 인터리빙된 순서대로 순차적으로 출력하기 위하여 해당 데이터가 저장된 어드레스를 발생하는 단계를 포함하되,
    상기 어드레스를 생성하는 단계는,
    인터리빙을 수행해야 할 데이터 크기에 상응하는 인터리버 파라메터 k와 M을 결정하는 단계와,
    파라메터가 결정되는 경우, 열 단위로 j=0부터 M-1까지 계산을 하며, 각 열에 대해서는 행 index i=0에서 K-1값의 순서로 계산을 하여, j값에 대한 BRO(j)를 계산하여 열을 재정렬하기 전의 원래의 열 값 m을 구하는 단계와,
    현재 블록이 U 블록인 경우에는 m mod K 계산을 하고, 그렇지 않은 경우 (m/4) mod K를 계산하여 로테이션값을 구하는 단계와,
    현재 i값에 대해 i-p를 계산하여 나온 값을 q라 할때, 그 값이 음의 값을 가지는 경우, k값을 더해서 로테이션되기 전의 원래의 행 인덱스 q를 구하는 단계와,
    상기 산출된 m과 q값에 대해 m+(q*M)을 계산하여 인터리빙되기 전의 심벌 위치값인 인터리버 메모리 리드 어드레스를 생성하는 단계를 포함하는 인터리빙 방법.
    (단 K, M, j, i는 U,V 블록의 인터리버 파라메터)
  5. 삭제
  6. 삭제
KR10-2002-0005372A 2002-01-30 2002-01-30 에이치디알 전송장치의 인터리버 및 그 인터리빙 방법 KR100475185B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0005372A KR100475185B1 (ko) 2002-01-30 2002-01-30 에이치디알 전송장치의 인터리버 및 그 인터리빙 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0005372A KR100475185B1 (ko) 2002-01-30 2002-01-30 에이치디알 전송장치의 인터리버 및 그 인터리빙 방법

Publications (2)

Publication Number Publication Date
KR20030065662A KR20030065662A (ko) 2003-08-09
KR100475185B1 true KR100475185B1 (ko) 2005-03-08

Family

ID=32219906

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0005372A KR100475185B1 (ko) 2002-01-30 2002-01-30 에이치디알 전송장치의 인터리버 및 그 인터리빙 방법

Country Status (1)

Country Link
KR (1) KR100475185B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200001484U (ko) 2018-12-26 2020-07-06 사회복지법인 주내자육원 레일이 구비된 슬랫형 거치대

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101131323B1 (ko) 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
CN112994835A (zh) * 2019-12-02 2021-06-18 中国科学院上海高等研究院 一种块交织处理方法及系统
CN112910473B (zh) * 2019-12-04 2024-01-26 中国科学院上海高等研究院 一种基于循环移位的块交织方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418813A (en) * 1993-12-06 1995-05-23 Motorola, Inc. Method and apparatus for creating a composite waveform
KR19990075311A (ko) * 1998-03-19 1999-10-15 서평원 무선통신시스템에서의 인터리빙장치
KR20010065131A (ko) * 1999-12-29 2001-07-11 서평원 무선 가입자망 시스템의 트래픽 채널을 통한 고속데이터전송장치
JP2001345716A (ja) * 2000-06-02 2001-12-14 Oki Electric Ind Co Ltd 符号化通信システムおよびその伝送誤り低減方法
KR20020030543A (ko) * 2000-10-18 2002-04-25 윤종용 멀티미디어 서비스를 지원하는 이동 통신시스템에서 패킷데이터 서비스를 위한 순방향 링크 송신기 및 그에 의한신호 송신 방법
KR20030049929A (ko) * 2001-12-17 2003-06-25 삼성전자주식회사 패킷데이터 전송 시스템의 제어정보 송수신 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418813A (en) * 1993-12-06 1995-05-23 Motorola, Inc. Method and apparatus for creating a composite waveform
KR19990075311A (ko) * 1998-03-19 1999-10-15 서평원 무선통신시스템에서의 인터리빙장치
KR20010065131A (ko) * 1999-12-29 2001-07-11 서평원 무선 가입자망 시스템의 트래픽 채널을 통한 고속데이터전송장치
JP2001345716A (ja) * 2000-06-02 2001-12-14 Oki Electric Ind Co Ltd 符号化通信システムおよびその伝送誤り低減方法
KR20020030543A (ko) * 2000-10-18 2002-04-25 윤종용 멀티미디어 서비스를 지원하는 이동 통신시스템에서 패킷데이터 서비스를 위한 순방향 링크 송신기 및 그에 의한신호 송신 방법
KR20030049929A (ko) * 2001-12-17 2003-06-25 삼성전자주식회사 패킷데이터 전송 시스템의 제어정보 송수신 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200001484U (ko) 2018-12-26 2020-07-06 사회복지법인 주내자육원 레일이 구비된 슬랫형 거치대

Also Published As

Publication number Publication date
KR20030065662A (ko) 2003-08-09

Similar Documents

Publication Publication Date Title
JP5379127B2 (ja) レートマッチングによる計算効率の高い畳み込み符号化
CA2266283C (en) Data interleaver and method of interleaving data
CN104868971B (zh) Ldpc码字的交织映射方法及解交织解映射方法
JPH06216882A (ja) 誤り訂正送信装置及び受信装置
KR101435830B1 (ko) 인터리빙 수행 방법
WO2004040774A1 (en) Method and apparatus for deinterleaving interleaved data stream in a communication system
CN101326728A (zh) 用于实现低帧差错率的改进型turbo码交织器
KR100475185B1 (ko) 에이치디알 전송장치의 인터리버 및 그 인터리빙 방법
KR100499467B1 (ko) 블록 인터리빙 방법 및 그를 위한 장치
JP2007158463A (ja) インタリーブ方法、インタリーブ装置及びデインタリーブ装置
KR20060121312A (ko) 컨볼루션 터보 부호 인터리버
CN111181572B (zh) Ldpc码字的交织映射方法及解交织解映射方法
CN109391364B (zh) 一种信息处理方法及装置
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법
CN111628849A (zh) Ldpc码字的交织映射方法及解交织解映射方法
KR20050064486A (ko) 코드 분할 다중 접속 이동 통신 시스템에서 블록 인터리빙방법
KR20040037624A (ko) 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
KR100218680B1 (ko) 길쌈부호화 방법
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법
KR100448712B1 (ko) 에이치디알 시스템의 스크램블링 장치 및 그 스크램블링방법
KR20060031090A (ko) 블록 인터리빙을 위한 읽기 주소 발생 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130130

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140128

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160128

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee