KR20040037624A - 인터리빙된 데이터 열의 디인터리빙 방법 및 장치 - Google Patents

인터리빙된 데이터 열의 디인터리빙 방법 및 장치 Download PDF

Info

Publication number
KR20040037624A
KR20040037624A KR1020020066189A KR20020066189A KR20040037624A KR 20040037624 A KR20040037624 A KR 20040037624A KR 1020020066189 A KR1020020066189 A KR 1020020066189A KR 20020066189 A KR20020066189 A KR 20020066189A KR 20040037624 A KR20040037624 A KR 20040037624A
Authority
KR
South Korea
Prior art keywords
address
output
divider
adder
subblock
Prior art date
Application number
KR1020020066189A
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 KR1020020066189A priority Critical patent/KR20040037624A/ko
Priority to KR1020030066400A priority patent/KR101009783B1/ko
Priority to CA002470135A priority patent/CA2470135C/en
Priority to US10/695,390 priority patent/US7702970B2/en
Priority to PCT/KR2003/002297 priority patent/WO2004040774A1/en
Priority to JP2005501863A priority patent/JP3987553B2/ja
Priority to CN2003801001177A priority patent/CN1685621B/zh
Priority to RU2004119545/09A priority patent/RU2274951C2/ru
Priority to EP03024930.4A priority patent/EP1418675B1/en
Priority to AU2003274779A priority patent/AU2003274779B2/en
Priority to BR0306671-1A priority patent/BR0306671A/pt
Publication of KR20040037624A publication Critical patent/KR20040037624A/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/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

Abstract

본 발명은 고속 패킷 데이터 통신 시스템에서 인터리빙되어 전송된 데이터를 수신하여 원래의 형태로 디인터리빙하는 방법 및 장치에 관한 것으로서, 인터리빙된 순서대로 버퍼에 저장된 한 서브블럭의 부호심볼들을 디인터리빙된 순서대로 읽어내어 복호기로 입력하기 위한 방법에 대한 것이다. 여기서 상기 부호심볼들은 상기 서브블럭의 크기에 따라 미리 정해지는 개수의 행과 열을 가지는 행렬의 형태로 저장되어 있다. 임시주소 생성기는 상기 행렬의 마지막 열을 고려하지 않은 채 상기 복호기에 의해 요구된 부호심볼을 상기 버퍼로부터 읽어내기 위한 임시주소를 생성하며, 주소 보상기는 상기 행렬의 마지막 열을 고려하여 상기 임시주소를 보상하기 위한 주소 보상값을 계산한다. 그러면 가산기는 상기 임시주소에 상기 주소 보상값을 더하여 상기 복호기에 의해 요구된 부호심볼을 상기 버퍼로부터 읽어내기 위한 읽기주소를 생성한다. 이로써 본 발명은 필요한 메모리와 하드웨어 소자의 개수를 최소화하면서 인터리빙된 데이터의 열을 고속으로 디인터리빙함으로써 수신기의 소형화, 저전력화를 가능하게 한다.

Description

인터리빙된 데이터 열의 디인터리빙 방법 및 장치{METHOD AND APPARATUS FOR DEINTERLEAVING AN INTERLEAVED DATA STREAM IN COMMUNICATION SYSTEM}
본 발명은 고속 패킷 데이터 통신 시스템에 관한 것으로서, 특히 인터리빙되어 전송된 데이터를 수신하여 원래의 형태로 디인터리빙하는 방법 및 장치에 관한 것이다.
전형적인 디지털 이동통신 시스템, 특히 동기식 CDMA(Code Division Multiple Access) IS-2000 및 비동기식 UMTS(Universal Mobile Telecommunication Service) W(Wide)-CDMA와 같은 CDMA 방식의 이동통신 시스템은 음성 서비스와 회선 데이터(Circuit Data) 서비르를 통합적으로 지원하였다.
동기식 CDMA(Code Division Multiple Access)2000 Release A/B 및 비동기식 UMTS(Universal Mobile Telecommunication Service)와 같은 이동통신 시스템에서는 멀티미디어 데이터의 신뢰성 있는 전송을 위해 터보 부호화와 인터리빙을 사용한다. 터보 부호화는 낮은 신호대 잡음비에서도 비트 에러율(Bit Error Rate: BER) 관점에서 매우 양호한 정보 복원 성능을 보이는 것으로 알려져 있다. 인터리빙은 페이딩 환경에서 비트들의 손상이 한곳에 집중되지 않고 여러 곳으로 분산되도록 한다. 이러한 인터리빙은 인접한 비트들이 랜덤 하게 페이딩 영향을 받도록 함으로서 군집에러(burst error)가 발생하지 않도록 해 주어 채널 부호화의 효과를 보다 높여준다.
한편, 인터넷과 동영상 등 고속 패킷 데이터 전송을 필요로 하는 서비스에 대한 사용자의 요구가 증대됨에 따라 이동통신 시스템은 고속의 패킷데이터 서비스를 지원하는 형태로 발전하고 있는 추세이다. 3GPP 및 3GPP2에서 추진중인CDMA2000 Release C, 이른 바 1xEV-DV(Evolution in Data and Voice) 표준안에 따르면, 기지국은 전송하고자 하는 패킷 데이터의 열을 채널 부호기에 의해 부호화하여 생성한 부호심볼들을 소정 크기의 서브블럭(sub-block)들로 분할하고, 상기 분리된 서브블럭들을 각각 인터리빙한다. 단말기는 상기 인터리빙된 데이터의 열을 수신하여 부호심볼의 형태로 변환한 후 기지국에서 사용한 인터리빙의 역과정인 디인터리빙을 거쳐, 채널 부호기의 출력 순서와 동일한 순서로 복원한다.
CDMA2000 Release A/B 표준에서는 인터리빙의 대상이 되는 부호심볼 열의 길이가 2를 밑으로 하고 비트 천이값(Bit Shift)를 지수로 하는 수의 배수가 되도록 규정하고 있는데 반해, 1xEV-DV에서는 이전 표준들과는 다른 새로운 인터리빙 규칙을 정의하고 있다. 따라서 1xEV-DV 표준의 경우, 단말기에서 상기 새로운 인터리빙 규칙에 따라 인터리빙된 데이터 열을 수신하여 신속하고도 효과적으로 디인터리빙하기 위한 기술을 필요로 하게 되었다.
따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명의 목적은, 통신시스템의 송신단에서 인터리빙되어 전송된 데이터를 수신단에서 고속으로 복구하는 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 통신시스템의 수신단에서 순방향 패킷 데이터에 대해 서브블럭 디인터리빙을 수행하는 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 통신시스템의 수신단에서 복호기의 입력버퍼를 이용하여 디인터리빙을 수행하는 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 통신시스템에서 인터리빙된 데이터를 수신하여 저장하고, 디인터리빙을 위한 순서대로 독출하는 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 1xEV-DV 통신시스템에서 인터리빙된 데이터를 수신하여 저장하고, 디인터리빙 규칙에 따라 생성된 독출 어드레스에 따라 읽어내는 방법 및 장치를 제공하는 것이다.
상기 목적들을 달성하기 위한 본 발명의 방법은, 인터리빙된 순서대로 버퍼에 저장된 한 서브블럭의 부호심볼들을 디인터리빙된 순서대로 읽어내어 채널 복호기로 입력하는 방법에 있어서, 여기서 상기 부호심볼들은 상기 서브블럭의 크기에 따라 미리 정해지는 개수의 행과 열을 가지는 행렬의 형태로 저장되어 있고,
상기 행렬의 마지막 열을 고려하지 않고, 상기 채널 복호기에 의해 요구된 부호심볼을 상기 버퍼로부터 읽어내기 위한 임시주소를 생성하는 과정과, 상기 행렬의 마지막 열을 고려하여 상기 임시주소를 보상하기 위한 주소 보상값을 계산하는 과정과, 상기 임시주소에 상기 주소 보상값을 더하여, 상기 채널 복호기에 의해 요구된 부호심볼을 상기 버퍼로부터 읽어내기 위한 읽기주소를 생성하는 과정을 포함한다.
본 발명의 장치는, 인터리빙된 순서대로 버퍼에 저장된 한 서브블럭의 부호심볼들을 디인터리빙된 순서대로 읽어내어 채널 복호기로 입력하는 장치에 있어서, 여기서 상기 부호심볼들은 상기 서브블럭의 크기에 따라 미리 정해지는 개수의 행과 열을 가지는 행렬의 형태로 저장되어 있고,
상기 행렬의 마지막 열을 고려하지 않고, 상기 채널 복호기에 의해 요구된 부호심볼을 상기 버퍼로부터 읽어내기 위한 임시주소를 생성하는 임시주소 생성기와, 상기 행렬의 마지막 열을 고려하여 상기 임시주소를 보상하기 위한 주소 보상값을 계산하는 주소 보상기와, 상기 임시주소에 상기 주소 보상값을 더하여, 상기 채널 복호기에 의해 요구된 부호심볼을 상기 버퍼로부터 읽어내기 위한 읽기주소를 생성하는 가산기를 포함한다.
도 1은 순방향 패킷 데이터 채널을 위한 패킷 데이터를 인터리빙하여 송신 서브패킷을 생성하는 기지국 송신기의 구성도.
도 2는 채널 인터리버(120)에 의한 서브블럭 인터리빙과 서브블럭 심볼 그룹화 동작을 설명하는 도면.
도 3은 순방향 패킷 데이터 채널을 통해 수신된 서브패킷으로부터 복호 데이터를 얻는 단말 수신기의 구성도.
도 4는N EP =408인 경우 하나의 서브블럭에 대해 수행되는 인터리빙 과정을 세 단계로 분리하여 나타낸 도면.
도 3은 <실시예 1>에 제시된 인코더 패킷의 크기와 interleaving 파라미터를 적용한 경우, 부호심볼 인덱스, 행 인덱스, 임시 주소, 주소 보상분, 그리고 최종 읽기주소를 차례로 나타내어 도시하는 도면.
도 4는 <실시예 2>에 제시된 인코더 패킷의 크기와 interleaving 파라미터를 적용한 경우, interleaving을 위한 BRO 연산의 수행 결과를 행렬의 형태로 표현하여 도시하는 도면.
도 5는 본 발명에 따라 순방향 패킷 데이터 트래픽에 대해 서브블럭 디인터리빙을 수행하기 위한 장치의 구성도.
도 6은 <예 1>에 제시된 부호화 패킷의 크기와 인터리빙 파라미터들을 적용하여 구성된 부호심볼들의 행렬을 나타낸 도면.
도 7은 상기 <예 1>의 경우 부호심볼 인덱스에 대해 생성된 행 인덱스와 임시주소와 주소 보상값 및 최종 읽기주소를 나타낸 도면.
도 8은 <예 2>에 제시된 부호화 패킷의 크기와 인터리빙 파라미터들을 적용하여 구성된 부호심볼들의 행렬을 나타낸 도면.
도 9는 상기 <예 2>의 경우 부호심볼 인덱스에 대해 생성된 행 인덱스와 임시주소와 주소 보상값 및 최종 읽기주소를 나타낸 도면.
도 10은 부호화 패킷의 크기가 408, 792, 1560, 3096인 경우, 본 발명의 일 실시예에 따른 읽기주소 발생기의 상세 구성을 도시한 도면.
도 11은 부호화 패킷의 크기가 2328인 경우, 본 발명의 일 실시예에 따른 읽기주소 발생기의 상세 구성을 도시한 도면.
도 12는 부호화 패킷의 크기가 3864인 경우, 본 발명의 일 실시예에 따른 읽기주소 발생기의 상세 구성을 도시한 도면.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
후술되는 본 발명은 인터리빙된 패킷 데이터의 열을 수신하여 디인터리빙하는 것이다. 특히 본 발명은 동기식 CDMA(Code Division Multiple Access) 통신방식의 하나인 CDMA2000 1xEV-DV(Evolution in data and voice) 표준안에 따라 인터리빙된 패킷 데이터의 열을 디인터리빙한다.
먼저, CDMA2000 1xEV-DV 이동통신 시스템에서 패킷 데이터의 열을 인터리빙하고, 인터리빙된 데이터의 열을 디인터리빙하기 위한 구성 및 그 동작을 설명하기로 한다.
도 1은 순방향 패킷 데이터 채널을 위한 패킷 데이터를 인터리빙하여 송신 서브패킷(Transmission Subpacket)을 생성하는 기지국 송신기의 구성을 나타낸 것이다.
상기 도 1을 참고하면, 터보 부호기(Turbo Encoder)(110)는 입력되는 패킷 데이터의 열을 부호화 패킷(Encoder Packet) 단위로 소정 부호율(Code Rate) R에 따라 부호화하여 부호심볼들(Code Symbols)의 열을 출력한다. 여기서 1xEV-DV 표준에 의해 규정된 1/5의 부호율 R을 가지는 상기 터보 부호기(110)는 하나의 터보 인터리버(Trubo Interleaver)와 2개의 구성 부호기들(Constituent Encoders)로 구성된다.
상기 터보 부호기(110)의 동작을 간략히 설명하면 하기와 같다. 입력되는 부호화 패킷은 변경없이 그대로 시스티메틱 서브블럭(Systematic Subblock) S로서 출력되며, 상기 제1 구성 부호기는 상기 입력 부호화 패킷을 부호화하여 2개의 패리티 서브블럭들(Parity Subblock) P0,P1을 출력한다. 상기 중간 인터리버는 상기 입력 부호화 패킷을 인터리빙하여 다른 시스티메틱 서브블럭 S'을 생성한다. 그러면 상기 제2 구성 부호기는 상기 시스티메틱 서브블럭 S'를 부호화하여 다른 2개의 패리티 서브블럭들 P'0,P'1을 출력한다. 상기 다른 시스티메틱 서브블럭 S'은 사용되지 않으므로, 터보 부호기(110)는 상기 입력 부호화 패킷과 동일한 크기를 가지는 상기 5개의 서브블럭들 S,P0,P1,P'0,P'1을 출력한다.
채널 인터리버(Channel Interleaver)(120)는 서브패킷을 형성하는 부호심볼들이 높은 수준의 부호화이득(coding gain)을 보장할 수 있도록, 상기 터보 부호기(110)로부터 출력되는 부호심볼들을 적절히 배열한다. 이러한 배열은 심볼 분리(symbol separation), 서브블럭 인터리빙(subblock interleaving), 서브블럭 심볼 그룹화(subblock symbol grouping)를 차례로 수행함으로써 이루어진다. 보다 상세히 설명하면, 심볼 분리기(122)는 상기 터보 부호기(122)로부터 출력되는 다섯 종류의 부호심볼들을 종류대로 분류하여 다섯 개의 서브블럭들을 구성하고, 서브블럭 인터리버(124)는 상기 구성된 서브블럭들 각각을 동일한 인터리빙 규칙(interleaving rule)에 따라 인터리빙하며, 서브블럭 심볼 그룹화기(126)는 상기 인터리빙된 서브블럭들 중 일부의 부호심볼들을 서로 엇갈리도록(alternately) 그룹화한다. 서브패킷 심볼 선택기(Subpacket Symbol Selector)(130)는 상기 채널 인터리버(120)로부터의 부호심볼들 전체 또는 일부를 선택하여 서브패킷을 구성한다.
도 2에 채널 인터리버(120)에 의한 서브블럭 인터리빙과 서브블럭 심볼 그룹화 동작을 도시하였다. 도시된 바와 같이 종류별로 분리된 다섯 개의 서브블럭들 S,P0,P'0,P1,P'1(10 내지 18)은 서브블럭 인터리빙에 의해 각각 인터리빙된 서브블럭들(20 내지 28)이 된다. 서브블럭 심볼 그룹화에 의하면, 상기 인터리빙된 서브블럭들(20 내지 28) 중 인터리빙된 시스티메틱 서브블럭(20)은 변형되지 않으며, 인터리빙된 패리티 서브블럭들(22 내지 28)은 서로 엇갈리도록 그룹화된다. 즉 인터리빙된 서브블럭 P0(22)과 인터리빙된 서브블럭 P'0(24)의 부호심볼들을 서로 엇갈리도록 배치하여 제1 데이터 그룹(32)을 생성하고, 인터리빙된 서브블럭 P1(26)과 인터리빙된 서브블럭 P'1(28)의 부호심볼들을 서로 엇갈리도록 배치하여 제2 데이터 그룹(34)을 생성한다.
서브패킷 심볼 선택기(Subpacket Symbol Selector)(140)는 미리 정해진 선택 패턴에 따라, 상기 채널 인터리버(120)로부터의 인터리빙된 데이터 중 일부 심볼들을 선택하여 송신 서브패킷을 생성한다. 상기 생성된 서브패킷은 소정 변조방식을 가지고 변조된 후, 확산, 주파수 변환 등의 알려진 절차를 거쳐 단말기로 전송된다.
순방향 패킷 데이터 채널을 통해 기지국이 송신하는 고속의 패킷 데이터를 수신하는 단말은 상기 도 1에 나타난 동작을 역으로 수행함으로써 복호된 데이터를 얻는다.
도 3은 순방향 패킷 데이터 채널을 통해 수신된 서브패킷으로부터 복호된 데이터를 얻는 단말 수신기의 구성을 나타낸 것이다.
상기 도 3을 참조하면, 서브패킷 제로 삽입기(Subpacket Zero Inserter)(210)는 기지국 송신기의 심볼 선택기(140)에 대응하여, 수신된 서브패킷의 정해진 위치에 '0'을 삽입한다. 기지국 송신기의 채널 인터리버(120)에 대응되는 단말기 수신기의 채널 디인터리버(channel deinterleaver)(220)는 서브블럭 심볼 역그룹화(subblock symbol ungrouping), 서브블럭 디인터리빙(Subblock deinterleaving), 심볼 역분리(symbol deseparation)를 차례로 수행한다.
보다 상세히 설명하면, 서브블럭 심볼 역그룹화기(222)는 상기 서브패킷 제로 삽입기(210)로부터의 출력을 종류별로 분리하여 다섯 개의 인터리빙된 서브블럭들을 출력한다. 서브블럭 디인터리버(224)는 상기 인터리빙된 서브블럭들 각각을 기지국 송신기의 서브블럭 인터리버(124)에서 사용된 인터리빙 규칙에 대응하는 디인터리빙 규칙에 따라 디인터리빙하고, 심볼 역분리기(226)는 상기 디인터리빙된 출력을 결합하여 채널 복호기(Channel Decoder)(230)로 제공한다. 상기 채널 복호기(230)는 기지국 송신기의 터보 부호기(110)에서와 동일한 부호율 R을 가지고 상기 디인터리빙된 출력을 복호하여 복호된 데이터를 생성한다.
상기와 같이 동작하는 단말 수신기에서, 서브블럭 디인터리빙은 서브블럭 인터리빙을 위해 사용된 인터리빙 규칙을 반영하여 수행되어야 하며, 이러한 인터리빙은 그 대상이 되는 입력 시퀀스(input sequence)의 길이에 따라 복잡도가 달라지게 된다.
단말 수신기의 복잡도를 감소시키고 데이터 처리 속도를 향상시키기 위한 관점에서 볼 때, 서브블럭 디인터리빙의 수행은 두 가지 방법으로 달성될 수 있다. 첫 번째 방법은 채널 복호기의 입력버퍼에 부호심볼들을 저장할 때 디인터리빙을 수행하는 것으로서, 이 때 부호심볼들을 저장하기 위한 입력버퍼의 쓰기 주소들(write addresses)은 디인터리빙 규칙을 고려하여 생성된다. 두 번째 방법은 채널 복호기가 입력버퍼로부터 부호심볼들을 읽어올 때 디인터리빙을 수행하는 것으로서, 이 때 부호심볼들을 읽어오기 위한 입력버퍼의 읽기주소들(read addresses)은 디인터리빙 규칙을 고려하여 생성된다.
상기 방법들 중 첫 번째는 쓰기 주소의 생성시에 서브블럭 디인터리빙 뿐 아니라 복조과정에 수반되는 디셔플링을 함께 반영해야 하므로 변조방식의 종류 및 디셔플링 패턴에 따라 부가적인 제어 장치가 요구된다. 따라서, 본 명세서에서는 서브블럭 디인터리빙을 수행함에 있어서 채널 복호기의 입력버퍼에서 부호심볼들을 읽어 오기 위한 읽기주소들을 생성하는 방법에 대해 기술할 것이다.
1xEV-DV 표준에 따르면, 순방향 트래픽을 전달하는 순방향 패킷 데이터 채널(Forward packet data channel: F-PDCH)에서 사용 가능한 부호화 패킷(Encoder Packet: EP)의 크기는 6가지로 규정되어 있다. 채널 부호기로부터 출력되는 부호심볼들은 서브블럭 별로 인터리빙을 거치게 되는데, 이 때 각 서브블럭의 크기는 부호화 패킷의 크기와 동일하므로 결국 서브블럭 인터리빙/디인터리빙의 대상이 되는 부호심볼열의 길이 또한 부호화 패킷의 크기와 같다.
하기의 <표 1>은 1xEV-DV 표준에 규정된 부호화 패킷의 크기들과 그에 따른 서브블럭 인터리빙/디인터리빙 파라미터들을 보여 준다. 상기 <표 1>에서 비트천이값(bit shift)m과 상한값(up limit)JN EP 의 크기를 가지는 부호심볼들의 열을 행렬의 형태로 배열할 때, 행(row)의 개수 및 열(column)의 개수와 각각 관련되며, 나머지값(remainder)R은 상기 행렬의 마지막 열이 가지는 원소의 개수를 의미한다.
EP Size(NEP) Bit Shift(m) Up Limit(J) Remainder(R)
408 7 4 24
792 8 4 24
1560 9 4 24
2328 10 3 280
3096 10 4 24
3864 11 2 1816
결과적으로, 부호화 패킷의 크기N EP 와 인터리빙/디인터리빙 파라미터들은 하기의 <수학식 1>과 같은 관계에 있다.
본 발명에 따른 디인터리빙 규칙을 설명하기 위해, 먼저 인터리빙된 데이터의 열의 형태를 일 예를 들어 상세히 설명한다. 도 4는N EP =408인 경우 하나의 서브블럭에 대해 수행되는 인터리빙 과정을 세 단계로 분리하여 도시한 것이다.
도시된 바와 같이, 단계(40)에서 408개의 부호심볼들은 채널 부호기의 출력 부호심볼 인덱스k(k=0, 1, 2, ... 407)에 따라 순차적으로 버퍼에 저장(writing)된다.(40) 여기서 화살표들은 부호심볼들이 저장되는 순서(하->우)를 나타내는 것으로서 도시된 바와 같이 열->행의 순서로 저장된다. 단계(42)에서 상기 저장된 부호심볼들은 각 행별로 행 번호의 비트 역전환(Bit Reversal Order)에 의해 재배열된다. 여기서 비트 역전환이란 비트들의 순서를 역전시키는 것을 말한다.
일 예로서, 행 번호가 "0000001(1)"인 행은 비트 역전환에 의하여 행 번호가 "1000000(64)"인 행으로 이동한다. 단계(44)에서 상기 행 단위 비트 역전환(Row BRO)에 의해 상기 재배열된 부호심볼들은 행->열의 순서로 버퍼로부터 출력된다.여기서 화살표들은 부호심볼들이 출력되는 순서(우->하)를 나타낸 것이다.
상기 도 4를 참조하면, 버퍼에 저장되는 부호심볼들의 행렬은 27개의 행들과 4개의 열들로 구성되고 마지막 네 번째 열은 단지 24개의 원소만을 가진다. 여기서 만약 상기 네 번째 열이 원소를 하나도 가지지 않는다면, 즉 R=0이라면, 기지국 송신기에서 서브블럭 인터리빙은i(i=0, 1, 2, ... 407) 번째 읽어내는 부호심볼의 읽기주소B i 를 하기의 <수학식 2>와 같이 생성하여 해당 주소의 부호심볼을 버퍼로부터 읽어내는 것만으로 달성될 수 있다.
여기서 "i"는 서브블럭 인터리버의 출력 부호심볼 인덱스이고, "mod"는 모듈로(Modulus) 연산을 의미하고, "BRO7(·)"은 7비트 단위 비트 역전환(Bit Reverse Ordering) 연산을 의미하며, "[·]"는 입력(·)을 초과하지 않는 최대의 정수를 의미한다.
한편, 기지국에서 인터리빙된 부호심볼들은 변조, 확산 등을 알려진 절차를 거쳐 단말로 수신된다. 단말이 수신한 부호심볼들은 채널 복호기의 입력버퍼에 서브블럭 인터리빙된 순서대로 저장된다. 따라서 서브블럭 디인터리빙은 채널 복호기의 입력 부호심볼 인덱스k(k=0, 1, 2, ... 407)에 대해k번째 읽어 내는 부호심볼의 읽기주소A k 를 상기 <수학식 2>의 역함수에 따라 생성하여 해당 주소의 부호심볼을 채널 복호기 입력버퍼로부터 읽어 냄으로써 달성될 수 있다. 하기의 <수학식 3>에 상기 <수학식 2>의B i 의 역함수를 이용한 읽기주소A k 의 생성식을 나타내었다.
상기 <수학식 2> 및 상기 <수학식 3>은 앞서 언급한 바와 같이 R=0인 경우에 대해 고려한 것이다. 그러나,N EP =408인 경우를 포함하여 상기 <표 1>에서 볼 수 있듯이 규정된 모든 부호화 패킷 크기에 대해R은 0이 아닌 양의 값을 가지므로, 서브블럭 디인터리빙을 위한 읽기주소 생성식은 상기 <수학식 3>과 같이 간단하지 않다.
따라서, 본 발명에서는 채널 복호기의 입력버퍼를 위한 읽기주소(read address)의 생성을, 임시주소 생성(interim address generation)과 주소 보상(address compensation)과 가산(adding process)의 세 단계로 분리하여 처리한다. 여기서 임시주소(Interim Address)란 R=0으로 가정하여 생성한 읽기주소를 의미하며, 상기 주소 보상이란 상기 임시주소를 보상하여 최종 읽기주소를 생성하기 위한 주소 보상값(Address Compensation Factor)을 생성하는 동작이다.
도 5는 본 발명에 따라 순방향 패킷 데이터 트래픽에 대해 서브블럭 디인터리빙을 수행하기 위한 장치를 도식화한 것이다. 여기서 도시한 장치는 도 3에 나타낸 단말 수신기에서 서브블럭 심볼 역그룹화기(222)로부터 출력되는 인터리빙된 서브블럭들 각각에 대하여 동작하는 것이다.
상기 도 5를 참조하면, 한 서브블럭의 인터리빙된 부호심볼들은 채널 복호기(330)를 위한 입력버퍼(Input Buffer)(310)에 인터리빙된 순서대로 저장된다. 여기서 상기 입력버퍼(310)의 메모리 구조는 부호화 패킷의 크기N EP 에 따라 2m×J의 메모리 배열로 형성되며, 부호심볼들은 상기 메모리 배열내에 행->열의 순서로 저장된다. 그러면 디인터리빙 주소 발생기(320)는 기지국 송신기에서 사용한 인터리빙 규칙에 대응하는 디인터리빙 규칙에 따라 상기 입력버퍼(310)에서 부호심볼들을 읽어내기 위한 읽기주소들을 생성한다.
하기의 <수학식 4>에 상기 디인터리빙 주소 발생기(320)에서 읽기주소를 생성하기 위한 생성식을 나타내었다.
여기서 "k"는 채널 복호기(330)에서 입력을 요청한 부호심볼의 인덱스이고, "A k "는 서브블럭 디인터리빙을 반영한 입력버퍼(310)의 읽기주소이고, "IA k "는 임시주소이고, "C(r k )"는 상기 임시주소를 위한 주소 보상값이고, "r k "는 인터리빙된 부호심볼 행렬의 행 인덱스(Row Index)이다.
보다 상세히 설명하면, 임시주소 생성기(Interim Address Generator)(322)는 채널 복호기로부터 부호심볼 인덱스k를 입력받아, 상기k에 대하여 마지막 열을 고려하지 않은 임시주소IA k 와 행 인덱스r k 를 생성한다. 주소 보상기(334)는 상기행 인덱스r k 를 입력으로 받아 해당 행에 대한 주소 보상값C(r k )를 생성하며, 가산기(326)는 상기 임시주소IA k 에 해당 행의 주소 보상값C(r k )를 더하여 최종 읽기주소 Ak를 상기 입력버퍼(310)로 제공한다.
그러면 상기 입력버퍼(310)에서 상기 읽기주소 Ak에 해당하는 부호심볼이 채널 복호기(330)로 출력된다. 이러한 일련의 절차는 상기 입력버퍼(310)에 저장된 모든 부호심볼들이 읽어내어질 때까지 계속된다.
상기 임시주소 생성기(322)에 의한 임시주소의 생성에 대해 보다 상세히 설명하면, 도 5에서 임시주소 생성기(322)는 채널 복호기(330)로부터 입력받고자 하는 부호심볼의 인덱스k를 입력받아 임시주소IA k 와 해당 행 인덱스r k 를 출력한다. 한 서브블럭의 인터리빙된 부호심볼들을 저장하는 입력버퍼(310)의 메모리 배열을 도 4의 단계(44)에 나타낸 행렬과 같은 형태라고 하면, k번째 부호심볼의 행 인덱스r k 는 하기의 <수학식 5>와 같이 간단히 계산된다.
여기서 "m"은 앞서 언급한 <표 1>에 나타낸 비트 천이값(bit shift)을 의미한다.
앞서 언급한 바와 같이, 임시주소는 상기 <표 1>에서 나머지값R을 0 또는 행의 총 개수(=2 m )와 같다고 가정하여 생성한 임시 읽기주소이다. 이 경우입력버퍼(310)에 저장되는 인터리빙된 부호심볼들은 2 m ×(J-1) 또는 2 m ×J의 크기를 가지는 완전한 형태의 행렬인 것으로 한다.
상기 <표 1>에 따르면N EP 가 3096 이하인 다섯 가지 종류의 부호화 패킷들에 대해서는R이 행의 총 개수의 절반인 2 m -1보다 작은 반면,N EP 가 3864인 부호화 패킷에 대해서는R이 행의 총 개수의 절반인 2 m -1보다 크다는 사실을 확인할 수 있다. R이 행 개수의 절반보다 작은 경우 2 m ×(J-1)의 크기를 가지는 행렬을 사용하면 주소 보상시에는 R개의 원소들만을 더 고려하면 된다. 반면 R이 행 개수의 절반보다 큰 경우 2 m ×J의 크기를 가지는 행렬을 사용하면 주소 보상시에는 (2m-R)개의 원소들만을 제외하면 된다. 따라서 주소 보상기(324)의 연산을 보다 간단히 하기 위한 임시주소 생성식은 하기의 <수학식 6>과 같이 나머지값R의 크기에 따라 두 가지로 구분된다.
다음으로 상기 주소 보상기(324)에 의한 주소 보상에 대해 보다 상세히 설명하면, 주소 보상기(324)는 임시주소 생성기(322)로부터 행 인덱스r k 를 입력받아 주소 보상값C(r k )를 출력한다. 앞서 언급한 바와 같이, 부호화 패킷의 크기에 따른 나머지값 R이 행 개수의 절반 2m-1보다 작은 경우 더 고려해야할 원소가 발생할 때마다 주소 보상값은 1씩 증가한다. 반면 나머지값 R이 행 개수의 절반보다 큰 경우 제외해야할 원소가 발생할 때마다 주소 보상값은 1씩 감소한다.
상기 주소 보상값 생성의 원리를, 하기에 기술될 두 가지 실시예를 통해 설명하도록 한다.
<예 1 :N EP =20,m=4,J=2,R=4>
상기 <예 1>는 나머지값 R이 행 개수의 절반인 8(=2m-1)보다 작은 경우이다.
도 6은 상기 <예 1>에 제시된 부호화 패킷의 크기와 인터리빙 파라미터들을 적용하여 구성된 부호심볼들의 행렬을 나타낸 것으로서 도시된 바와 같이, 첫 번째 열은 16개의 원소들을 모두 가지지만 두 번째 열은 4개의 원소들만을 가진다.
row BRO 연산 이전의 행렬에서 마지막 열의 부호심볼들은 각각 행 인덱스 0,1,2,3에 위치하고 있지만, row BRO 연산 이후 마지막 열의 부호심볼들은 서로 동일한 거리 4(=16/4)를 유지하면서 고르게 분산되어, 각각 행 인덱스 0, 4, 8, 12로 이동한다. 이러한 분산은 BRO 연산의 특성 때문에 나타나는 것으로서 이 특성을 이용하면 R이 2m-1보다 작은 경우의 주소 보상값은 마지막 열에서 최초로 부호심볼이나타난 이후 매 4번째 행마다 1씩 증가됨을 알 수 있다.
도 7은 상기 <예 1>의 경우 부호심볼 인덱스(C.S. Index)k에 대해 생성된 행 인덱스(Row Index)r k 와 임시주소IA k 와 주소 보상값C(r k )및 최종 읽기주소A k 를 차례로 나타낸 것이다. 도시된 바와 같이 최종 읽기주소A k 는 임시주소IA k 에 주소 보상값C(r k )를 더한 것이며, 주소 보상값C(r k )는 마지막 열에서 부호심볼이 나타난 다음 행마다 1씩 증가한다. 이것은 임시주소 생성시 고려되지 않았던 마지막 열에 추가적으로 고려해야할 부호심볼이 삽입되면, 상기 삽입된 부호심볼을 위한 읽기주소가 추가로 할당되고 이에 따라 이후의 임시주소들이 하나씩 밀려야 하기 때문이다.
결국 주소 보상값C(r k )는 채널 부호기(330)가 요청한 인덱스k를 가지는 부호심볼이 입력버퍼(310)에 저장된 행렬의 어떤 행에 속해 있는지 및 해당 부호심볼이 속한 행 이전에 임시주소 생성시 고려되지 않았던 부호심볼들이 삽입되는 행들이 몇개인지를 파악함으로써 계산될 수 있다.
예를 들어, 부호심볼 인덱스k가 10인 부호심볼의 행 인덱스는 5이고, 이 행 이전에는 임시주소 생성시 고려되지 않았던 부호심볼들이 삽입된 행들의 개수가 2개(행 인덱스=0,4)이므로, 부호심볼 인덱스 10에 대한 주소 보상값은 2가 되는 것이다. 상기 설명한 주소 보상값의 계산 과정을 정리하면 하기의 <수학식 7>과 같다.
여기서 "d"는 행의 총 개수를 삽입될 부호심볼의 개수 혹은 부호심볼이 삽입될 행의 개수로 나눈 값으로서 마지막 열에 속한 부호심볼들의 행간 거리를 의미하며. "r+"는 최초로 삽입되는 부호심볼이 위치한 행의 인덱스를 의미한다. 마지막 열에 최초로 삽입되는 부호심볼은 BRO 연산의 특성상 항상 행 인덱스 0에 위치하게 되므로 이 경우 r+는 0이다. 하지만, 나머지값 R 및 행의 개수에 따라 마지막 열에 이미 삽입된 부호심볼이 존재하는 경우, 상기 이미 삽입되어 있던 부호심볼의 행 인덱스에 따라 추가로 삽입되는 첫 번째 부호심볼의 행 인덱스 r+가 결정된다. 상기 <수학식 7>의 주소 보상값 Cd +에서 "+"는 마지막 열에 부호심볼이 "삽입"되는 경우임을 나타내기 위한 것이며, "d"는 부호심볼이 삽입되는 행에 대해 전체 행 개수의 비율을 나타내기 위한 것이다.
상기 <예 1>에 대해 상기 <수학식 7>을 적용해 보면 상기 <예 1>을 위한 주소 보상값 생성식은 하기의 <수학식 8>과 같다.
상기와 같이 예를 들어 부호심볼 인덱스k가 10인 부호심볼의 행 인덱스는 5이므로 부호심볼 인덱스 10에 대한 주소 보상값은 2가 되는 것이다. 또한 상기 부호심볼의 임시주소는 5이므로 보상된 주소값은A k 는 7이 된 것이다.
<예 2 :N EP =20,m=4,J=2,R=12>
상기 <예 2>는 나머지값 R이 행 개수의 절반인 8(=2m-1)보다 크거나 같은 경우이다.
도 8은 상기 <예 2>에 제시된 부호화 패킷의 크기와 인터리빙 파라미터들을 적용하여 구성된 부호심볼들의 행렬을 나타낸 것으로서, 도시한 바와 같이 첫 번째 열은 16개의 원소들을 모두 가지지만 두 번째 열에서는 4개의 원소들이 제거되어야 한다.
row BRO 연산 이전의 행렬에서, 마지막 열의 제거 대상 부호심볼들은 각각 행 인덱스 12,13,14,15에 위치하고 있지만, row BRO 연산 이후 제거 대상 부호심볼들은 서로 동일한 행간거리 4(=16/4)를 유지하면서 분산되어, 각각 행 인덱스 3,7,11,15로 이동한다. 이러한 분산은 BRO 연산의 특성 때문에 나타나는 것으로서 이 특성을 이용하여R이 2 m -1보다 크거나 같은 경우의 주소 보상값은 마지막 열에서 최초로 부호심볼이 제거된 이후 매 4번째 행마다 1씩 감소됨을 알 수 있다.
도 9는 상기 <예 2>의 경우 부호심볼 인덱스(C.S. Index)k에 대해 생성된 행 인덱스(Row Index)r k 와 임시주소IA k 와 주소 보상값C(r k )및 최종 읽기주소A k 를 차례로 나타낸 것이다. 도시한 바와 같이, 최종 읽기주소A k 는 임시주소IA k 에 음의 값인 주소 보상값C(r k )를 더한 것이며, 주소 보상값C(r k )는 마지막 열에서 부호심볼이 제거된 다음 행마다 1씩 감소한다. 이것은 임시주소 생성시 함께 고려되었던 마지막 열로부터 고려하지 않았어야 할 부호심볼이 제거되면, 상기 제거된 부호심볼을 위해 할당되었던 읽기주소가 회수(deallocate)되고 이에 따라 이후의 임시주소들이 하나씩 당겨져야 하기 때문이다.
결국 주소 보상값C(r k )는 채널 부호기(330)가 요청하는 인덱스k를 가지는 부호심볼이 입력버퍼(310)에 저장된 행렬의 어떤 행에 속해 있는지 및 해당 부호심볼이 속한 행 이전에 임시주소 생성시 함께 고려되었던 부호심볼들이 제거되는 행들이 몇 개인지를 파악함으로써 계산될 수 있다.
예를 들어, 부호심볼 인덱스k가 13인 부호심볼의 행 인덱스는 11이고, 이 행 이전에 임시주소 생성시 함께 고려되었던 부호심볼들이 제거된 행들의 개수는 2개(행 인덱스=3,7)이므로, 부호심볼 인덱스 13에 대한 주소 보상값은 -2가 되는 것이다. 상기 설명한 주소 보상값의 계산 과정을 정리하면 하기의 <수학식 9>와 같다.
여기서 "d"는 행의 총 개수를 제거될 부호심볼들의 개수 혹은 부호심볼들이 제거될 행들의 개수로 나눈 값으로서 마지막 열에서 제거될 부호심볼들의 행간 거리를 의미하며, "r-"는 최초로 제거되는 부호심볼이 위치한 행의 인덱스를 의미한다. 마지막 열에서 최초로 제거되는 부호심볼은 BRO 연산의 특성상 항상 행 인덱스 d-1에 위치하게 되므로 이 경우 r-는 d-1이다. 하지만, 나머지값 및 행의 개수에 따라 마지막 열이 완전히 채워지지 않은 상태에서는 이미 제거된 부호심볼이 존재하는 경우, 상기 이미 제거된 부호심볼의 행 인덱스에 따라 추가로 제거되는 첫 번째 부호심볼의 행 인덱스 r-가 결정된다. 상기 <수학식 9>의 주소 보상값 Cd -에서 "-"는 마지막 열에서 부호심볼이 "제거"되는 경우임을 나타내며, "d"는 부호심볼이 제거되는 행에 대해 전체 행 개수의 비율을 나타낸다.
상기 <예 2>에 대해 상기 <수학식 9>를 적용해 보면 상기 <예 2>를 위한 주소 보상값 생성식은 하기의 <수학식 10>과 같다.
상기와 같이 예를 들어 부호심볼 인덱스k가 13인 부호심볼의 행 인덱스는 11이므로 부호심볼 인덱스 10에 대한 주소 보상값은 -2가 되는 것이다. 또한 상기 부호심볼의 임시주소는 22이므로 보상된 주소값은A k 는 20이 된 것이다.
상기 <예 1>과 상기 <예 2>를 통해 부호심볼이 삽입되는 경우와 가상 부호심볼이 제거되는 경우 각각에 대한 주소 보상값의 계산 과정을 설명하였다. 여기서 전체 행의 개수에 대해 삽입 혹은 제거되는 행들의 비율d는 삽입될 부호심볼 혹은제거될 부호심볼이 속한 행들 간의 거리를 나타내며, 하기의 <수학식 11>과 같이 정의된다.
여기서 d는 자연수가 되어야 한다.
여기서 만일 상기 "d"가 자연수가 아닐 경우 상기 <예 1>과 상기 <예 2>에서 설명한 BRO 연산의 특성을 이용한 주소 보상값 생성식은 맞지 않게 된다. 상기 <수학식 11>에서 분자인 전체 행 개수는 항상 2의 거듭제곱 형태이므로,d가 자연수가 되기 위해서는 분모인 삽입 혹은 제거 행의 개수 역시 2의 거듭제곱 형태가 되어야 한다. 앞서 언급한 <표 1>에서 나머지값R은 부호심볼이 삽입되거나 제거되어야 하는 행들의 개수를 나타내는데, 모든 부호화 패킷의 크기에 대해 어떠한R도 2의 거듭제곱 형태는 아니다. 그러나, 이러한 경우에도R을 2의 거듭제곱들의 합으로 표현하면, 상기 <수학식 7> 및 상기 <수학식 9>를 적용할 수 있다.
이하 규정된 부호화 패킷의 크기들N EP =408,792,1560,2328,3096,3864 각각에 대하여 실제로 적용될 주소 보상값 생성 원리를 설명한다.
A.N EP =408, 792, 1560, or 3096인 경우(R=24) 주소 보상값의 생성
먼저 부호화 패킷의 크기가 408인 경우에 대해 설명하기로 한다. 여기서, 인터리빙된 부호심볼들은 도 4의 44와 같은 행렬로부터 행->열의 순서대로 읽혀져 복호기 입력버퍼에 저장되어 있다.
이 때, 하나의 서브블럭에 포함된 408개의 부호심볼들은 128(=27)개의 행들을 가지는 행렬로 구성되고, 이 행렬의 마지막 열은 임시주소 생성시 고려되지 않았던 24개의 부호심볼들을 가지고 있다. 24를 2의 거듭제곱 형태로 다시 표현하면 24+23이 되므로, 상기 24개의 부호심볼들을 상위 16개와 나머지 8개로 나누어 고려하기로 한다.
즉, 상위 16개의 부호심볼들은 최상위 행부터 소정 행간 거리 8(=128/16) 만큼씩 떨어진 행들 0, 8, 16, …, 104, 112, 120에 배열되고, 다음으로 나머지 8개의 부호심볼들이 4(=8/2) 번째 행으로부터 소정 행간 거리 16(=128/8) 만큼씩 떨어진 행들, 4, 20, 36, …, 84, 100, 116에 배열된다.
결국, 24개의 부호심볼들 중 16개의 부호심볼들은 행 인덱스가 8의 배수가 될 때마다 주기적으로 삽입되고 나머지 8개의 부호심볼들은 행 인덱스가 16의 배수가 될 때마다 주기적으로 삽입되므로, 24개의 부호심볼들은 16을 주기로 그 삽입 패턴이 동일하다고 할 수 있다. 따라서, 128개의 행들에 24개의 부호심볼들을 삽입하는 것은, 매 16(=128/8)개의 행들마다 3(=24/8)개의 부호심볼들을 삽입하는 것과 동일하다고 축약 해석할 수 있다.
상기 삽입해야할 부호심볼들의 개수 3을 2의 거듭제곱 형태로 표현하면, 3=2+1 혹은 3=4-1이다. 이 두 가지 경우에 대하여 주소 보상값을 각각 계산해 보면 다음과 같다.
먼저, 3을 2+1로 표현한 경우, 16개의 행들에 먼저 2개의 부호심볼들을 삽입하고 다시 1개의 부호심볼을 더 삽입해야 한다. 그러면 첫 번째 삽입시에 d는 8(=16/2)이고 두 번째 삽입시에 d는 16(=16/1)이며 이에 따라 주소 보상값C(r k )는 하기의 <수학식 12>와 같이 계산된다.
상기의 <수학식 12>에서d가 8인 경우는 행렬의 마지막 열이 부호심볼을 전혀 가지고 있지 않은 상태에서 행간 거리가 8인 2개의 부호심볼들을 상기 마지막 열에 최초로 삽입하는 것이므로, 첫 번째 삽입되는 부호심볼의 행 인덱스는 0고 따라서 이 때의 r+는 0이다. 또한d가 16인 경우는 행렬의 마지막 열이 이미 행간 거리가 8인 2개의 부호심볼들을 가지고 있는 상태에서 1개의 부호심볼을 추가로 삽입하는 경우인데, 여기서 추가되는 부호심볼은 BRO 연산의 특성상 이미 삽입된 2개의 부호심볼들 사이의 중간에 삽입되므로, 따라서 이 때의 r+는 4(=(0+8)/2)가 된다.
다음으로 3을 4-1로 표현한 경우, 16개의 행들에 먼저 4개의 부호심볼들을 삽입하고 삽입된 부호심볼들 중 1개의 부호심볼을 제거한다. 그러면 삽입시에 d는 4(=16/4)이고 제거시에 d는 16(=16/1)이며 이에 따라 주소 보상값C(r k )는 하기의 <수학식 13>과 같이 계산된다.
하기의 <수학식 13>에서d가 4인 경우 행렬의 마지막 열에 첫 번째 삽입되는 부호심볼의 행 인덱스 r+는 0이며,d가 16인 경우 마지막 열에서 최초로 제거되는 부호심볼의 행 인덱스 r-는 12이다. 이는 BRO 연산의 특성상 마지막 열에 이미 삽입되어 있던 4개의 부호심볼들 중 가장 마지막 행의 부호심볼이 가장 먼저 제거되어야 하기 때문이다. 즉, 마지막 열에 이미 삽입되어 있던 부호심볼들의 개수는 4이고 그 행간 거리는 4이므로, 마지막 행의 인덱스 r-는 12(=0+3×4)이다.
상기 <수학식 12>와 상기 <수학식 13>의 연산 결과는 완전히 동일하다. 주소 보상기(324)를 하드웨어로 구현함에 있어서,r k 에 서로 다른 값 7과 11을 더하는 두 개의 가산기를 필요로 하는 상기 <수학식 12> 보다는,r k 에 3을 더하는 한 개의 가산기만을 필요로 하는 상기 <수학식 13>이 구현 측면에서 보다 효율적이다.
부호화 패킷의 크기가 792, 1560, 3096인 경우에는 부호화 패킷의 크기가 408인 경우에 비해 행렬을 이루는 행의 개수가 각각 2배, 4배, 8배로 증가했을 뿐, 임시주소 생성시 고려되지 않았던 부호심볼의 개수는 24개로 모두 동일하다. 따라서, 이들 경우에는 상기 <수학식 13>을 이용하여 비트 천이값(bit shift)m을 변수로 가지도록 일반화한 생성식을 사용하여 주소 보상값을 계산할 수 있다. 하기의 <수학식 14>는N EP =408, 792, 1560, 3096인 경우에 대해 적용되는 주소 보상값 생성식을 나타낸 것이며, 앞서 언급한 <표 1>에 나타낸 바와 같이 이 때의m은 각각 7, 8, 9, 10 이다.
여기서 부호심볼 인덱스k는 0, 1, ...N EP -1 이고, 행 인덱스r k 는 0, 1, ... 2m-1 이다.
B.N EP =2328인 경우(R=280) 주소 보상값의 생성
부호화 패킷의 크기가 2328인 경우, 하나의 서브블럭에 포함된 2328개의 부호심볼들은 1024(=210) 개의 행들을 가지는 행렬로 구성되고, 이 행렬의 마지막 열은 임시주소 생성시 고려되지 않았던 280개의 부호심볼들을 가지고 있다. 280을 2의 거듭제곱 형태로 다시 표현하면 28+24+29가 되므로, 상기 280개의 부호심볼들을 상위 256개와 다음 16개와 나머지 8개로 나누어 고려하기로 한다.
즉, 상위 256개의 부호심볼들은 행 인덱스가 4(=1024/256)의 배수가 될 때마다 주기적으로 삽입되고, 다음 16개의 부호심볼들은 행 인덱스가 64(=1024/16)의배수가 될 때마다 주기적으로 삽입되며, 나머지 8개의 부호심볼들은 행 인덱스가 128(=1024/8)의 배수가 될 때마다 주기적으로 삽입되므로, 결국 280개의 부호심볼들은 행 인덱스 128을 주기로 그 삽입 패턴이 동일하다고 할 수 있다. 따라서, 1024개의 행들에 280개의 부호심볼들을 삽입하는 것은, 매 128(128(=1024/8)개의 행들마다 35(=280/8)개의 부호심볼들을 삽입하는 것과 동일하다고 축약 해석할 수 있다.
상기 삽입해야 할 부호심볼들의 개수 35를 2의 거듭제곱 형태로 표현하면, 35=32+2+1 혹은 35=32+4-1이다. 이 두 가지 경우에 대하여 주소 보상값을 각각 계산할 수 있을 것이나, 앞서 설명한R=24인 경우에서와 마찬가지로 35를 32+2+1의 형태로 표현하면 주소값 보상기의 구현시 하나의 가산기가 더 필요하게 될 것이므로, 35를 32+4-1의 형태로 표현하는 경우에 대해서만 주소 보상값의 생성 원리를 설명하기로 한다.
35를 32+4-1로 표현한 경우, 1024개의 행들에 먼저 32개의 부호심볼들을 삽입하고 4개의 부호심볼들을 더 삽입한 후 1개의 부호심볼을 제거한다. 그러면 첫 번째 삽입시에d는 4(=128/32)이고 두 번째 삽입시에d는 32(=128/4)이며 제거시에d는 128(=128/1) 이다.
d가 4인 경우는 행렬의 마지막 열이 부호심볼을 전혀 전혀 가지고 있지 않은 상태에서 행간 거리가 4인 32개의 부호심볼들을 상기 마지막 열에 최초로 삽입하는 것이므로, 첫 번째 삽입되는 부호심볼의 행 인덱스는 0이고, 따라서 이 때의 r+는 0이다.d가 32인 경우는 행렬의 마지막 열이 이미 행간 거리가 4인 32개의 부호심볼들을 가지고 있는 상태에서 4개의 부호심볼들을 추가로 삽입하는 경우이므로 첫 번째 삽입되는 부호심볼은 BRO 연산의 특성상 이미 삽입된 32개의 부호심볼들 중 처음 두 개의 부호심볼들 사이의 중간에 삽입되므로, 따라서 이 때의 r+는 2(=(0+4)/2)이다. 마지막으로d가 128인 경우는 이미 삽입된 부호심볼들 중 가장 큰 행 인덱스를 가지는 1개의 부호심볼을 제거해야 하므로, 이 때 제거되는 부호심볼은 BRO 연산의 특성상 상기 두 번째로 삽입된 4개의 부호심볼들 중 가장 마지막 행의 부호심볼이 되고, 따라서 r-는 98(=2+3×32)이 된다.
결과적으로 앞서 언급한 <수학식 7>과 <수학식 9>를 이용하면, 부호화 패킷의 크기가 2328인 경우에 적용되는 주소 보상값 생성식은 하기의 <수학식 15>과 같다.
C.N EP =3864인 경우(R=1816) 주소 보상값의 생성
부호화 패킷의 크기가 3864인 경우, 하나의 서브블럭에 포함된 3864개의 부호심볼들은 2048(=211)개의 행들을 가지는 행렬로 구성되고, 이 행렬의 마지막 열에서는 임시주소 생성시 함께 고려되었던 232(=2048-1816)개의 부호심볼들이 제거되어야 한다. 232를 2의 거듭제곱 형태로 다시 표현하면 27+26+25+23이 되므로, 상기 232개의 부호심볼들을 128개와 64개와 32개와 8개로 나누어 고려하기로 한다.
즉, 232개의 부호심볼들 중 마지막 8개의 부호심볼들은 행 인덱스가 256(=2048/8)의 배수가 될 때마다 주기적으로 제거되므로, 결국 232개의 부호심볼들은 256을 주기로 그 삽입 패턴이 동일하게 된다. 따라서, 2048개의 행들에서 232개의 부호심볼들을 제거하는 것은, 매 256개의 행들마다 29(=232/8)의 부호심볼들을 제거하는 것과 동일하다고 축약 해석할 수 있다.
상기 제거해야할 부호심볼들의 개수 29를 2의 거듭제곱 형태로 표현하면, -29=-16-8-4-1 혹은 -29=-32+4-1이다. 이들 두 가지 경우에 대하여 주소 보상값을 각각 계산할 수 있을 것이나, -29를 -16-8-4-1의 형태로 표현하면 주소값 보상기의 구현시 몇 개의 가산기들이 더 필요하게 될 것이므로, -29를 -32+4-1의 형태로 표현하는 경우에 대해서만 주소 보상값의 생성 원리를 설명하기로 한다.
-29를 -32+4-1로 표현한 경우, 먼저 32개의 부호심볼들을 제거하고 다음으로 4개의 부호심볼들을 삽입한 후 마지막으로 1개의 부호심볼들을 제거한다. 그러면 첫 번째 제거시에d는 8(=256/32)이고 삽입시에d는 64(=256/4)이며 두 번째 제거시에d는 256(=256/1)이다.
d가 8인 경우는 행렬의 마지막 열에 부호심볼들이 완전히 채워진 상태에서 행간 거리가 8인 32개의 부호심볼들을 상기 마지막 열에서 최초로 제거하는 것이므로, 첫 번째 제거되는 부호심볼의 행 인덱스는 BRO 연산의 특성상d-1이며 따라서 이때의r -는 7(=8-1)이다. 또한d가 64인 경우는 상기 제거된 32개의 부호심볼들 중 행간 거리가 64인 4개의 부호심볼들을 다시 복원하는 것인데, 이 때 최초로 복원되는 부호심볼은 BRO 연산의 특성상 상기 제거된 32개의 부호심볼들 중 가장 작은 행 인덱스를 가지는 부호심볼이므로 이 때의r -도 역시 7(=8-1)이 된다. 마지막으로d가 256인 경우는 상기 복원된 4개의 부호심볼들 중 가장 큰 행 인덱스를 가지는 1개의 부호심볼을 다시 제거하는 것이므로, 이때의 r-는 199(=7+3×64)가 된다.
결과적으로 앞서 언급한 <수학식 7>과 <수학식 9>를 이용하면, 부호화 패킷의 크기가 3864인 경우에 적용되는 주소 보상값 생성식은 하기의 <수학식 16>과 같다.
이상에서 상세히 설명한 바와 같이 1xEV-DV 표준을 지원하는 단말기에서 순방향 패킷 데이터 트래픽에 대한 서브블럭 디인터리빙은, 임시주소 생성기(322)가 <수학식 5>와 <수학식 6>에 따라 임시주소를 생성하면, 주소 보상기(324)는 <수학식 14>, <수학식 15>, <수학식 16> 중 하나를 이용하여 주소 보상값을 생성하고,가산기(326)는 <수학식 4>를 계산하여 최종 읽기주소를 생성함으로써 수행된다.
즉, <수학식 6>과 부호화 패킷의 크기에 따라 선택된 <수학식 14>, <수학식 15>, <수학식 16>를 <수학식 4>에 대입하여 정리하면, 하기의 <수학식 17>, <수학식 18>, <수학식 19>을 얻을 수 있다. <수학식 17>은 부호화 패킷의 크기가 408(m=7), 792(m=8), 1560(m=9), 3096(m=10)인 경우, <수학식 18>은 부호화 패킷의 크기가 2328인 경우, <수학식 19>는 부호화 패킷의 크기가 3864인 경우 각각에 대한 입력버퍼(310)의 읽기주소 생성식이다.
도 10은 본 발명에 따라 입력버퍼(310)를 위한 읽기주소를 생성하는 디인터리빙 주소 발생기(320)에서 부호화 패킷의 크기가 408(m=7), 792(m=8), 1560(m=9), 3096(m=10)이고 J는 4인 경우, 읽기주소를 발생하기 위한 상세 구성을 나타낸 것으로서, <수학식 17>을 하드웨어 장치로 구현한 것이다.
도시한 바와 같이, 채널 복호기(320)로부터 입력받고자 하는 부호심볼 인덱스k가 임시주소 생성기(322a)로 입력되면, 제산기(400)는 상기 부호심볼 인덱스k를 2m으로 나누어 가산기(406)로 제공하고, BRO 연산기(402)는 상기 부호심볼 인덱스k를 2m으로 나눈 나머지를 m비트 단위로 비트 역전환하여 상기 부호심볼 인덱스k에 대한 행 인덱스r k 를 계산한다. 승산기(404)는 상기 행 인덱스r k 에 3(=J-1)을 곱하여 상기 가산기(406)로 제공한다. 그러면 가산기(406)는 상기 제산기(400)의 출력k/2 m 에 상기 승산기(404)의 출력을 더하여 임시주소IA k 을 계산한다.
상기 행 인덱스r k 가 주소 보상기(324a)로 입력되면, 가산기(410)는 상기 행 인덱스r k 2 m-5 -1을 더하여 제산기들(412,414)로 제공한다. 제산기(412)는 상기 가산기(410)의 출력(r k +2 m-5 -1)2 m-5 로 나누며, 제산기(414)는 상기 가산기(410)의 출력(r k +2 m-5 -1)2 m-3 으로 나눈다. 가산기(416)는 상기 제산기(412)의 출력에서 상기 제산기(414)의 출력을 빼서 주소 보상값C(r k )를 계산한다. 가산기(326)는 상기임시주소IA k 에 상기 주소 보상값C(r k )를 더하여 최종적으로 읽기주소A k 를 계산한다.
도 11은 본 발명에 따라 입력버퍼(310)를 위한 읽기주소를 생성하는 디인터리빙 주소 발생기(320)에서 부호화 패킷의 크기가 2328(m=10, J=3)인 경우, 읽기주소를 발생하기 위한 상세 구성을 나타낸 것으로서, <수학식 18>을 하드웨어 장치로 구현한 것이다.
도시한 바와 같이, 채널 복호기(320)로부터 입력받고자 하는 부호심볼 인덱스k가 임시주소 생성기(322b)로 입력되면, 제산기(420)는 상기 부호심볼 인덱스k를 2m으로 나누어 가산기(426)로 제공하고, BRO 연산기(422)는 상기 부호심볼 인덱스k를 2m으로 나눈 나머지를 m비트 단위로 비트 역전환하여 상기 부호심볼 인덱스k에 대한 행 인덱스r k 를 계산한다. 승산기(424)는 상기 행 인덱스r k 에 3(=J-1)을 곱하여 상기 가산기(426)로 제공한다. 그러면 가산기(426)는 상기 제산기(420)의 출력k/2 m 에 상기 승산기(424)의 출력을 더하여 임시주소IA k 을 계산한다.
상기 행 인덱스r k 가 주소 보상기(324b)로 입력되면, 가산기(430)는 상기 행 인덱스r k 에 3을 더하고, 제산기(434)는 상기 가산기(430)의 출력(r k +3)을 4로 나누어 출력한다. 또한 가산기(432)는 상기 행 인덱스 rk에 29를 더하고, 제산기(436)는 상기 가산기(432)의 출력(r k +29)을 32로 나누어 출력하며, 제산기(438)는 상기가산기(432)의 출력(r k +29)을 128로 나누어 출력한다. 가산기(440)는 상기 제산기(434)의 출력에 상기 제산기(436)의 출력을 더하고 상기 제산기(438)의 출력을 빼서 주소 보상값C(r k )를 계산한다. 가산기(326)는 상기 임시주소IA k 에 상기 주소 보상값C(r k )를 더하여 최종적으로 읽기주소A k 를 계산한다.
도 12는 본 발명에 따라 입력버퍼(310)를 위한 읽기주소를 생성하는 디인터리빙 주소 발생기(320)에서 부호화 패킷의 크기가 3864(m=11, J=2)인 경우, 읽기주소를 발생하기 위한 상세 구성을 나타낸 것으로서, <수학식 19>을 하드웨어 장치로 구현한 것이다.
도시한 바와 같이, 채널 복호기(320)로부터 입력받고자 하는 부호심볼 인덱스k가 임시주소 생성기(322c)로 입력되면, 제산기(450)는 상기 부호심볼 인덱스k를 2m으로 나누어 가산기(456)로 제공하고, BRO 연산기(452)는 상기 부호심볼 인덱스k를 2m으로 나눈 나머지를 m비트 단위로 비트 역전환하여 상기 부호심볼 인덱스k에 대한 행 인덱스r k 를 계산한다. 승산기(454)는 상기 행 인덱스r k 에 3(=J-1)을 곱하여 상기 가산기(456)로 제공한다. 그러면 가산기(456)는 상기 제산기(450)의 출력k/2 m 에 상기 승산기(454)의 출력을 더하여 임시주소IA k 을 계산한다.
상기 행 인덱스r k 가 주소 보상기(324c)로 입력되면, 제산기(462)는 상기 행 인덱스 rk를 8로 나누고, 가산기(460)는 상기 행 인덱스r k 에 56을 더하여 출력한다. 제산기(464)는 상기 가산기(460)의 출력(r k +56)을 64로 나누고, 제산기(466)는 상기 가산기(460)의 출력(r k +56)을 256으로 나누어 출력한다. 가산기(468)는 상기 제산기(464)의 출력에서 상기 제산기(462)의 출력과 상기 제산기(466)의 출력을 빼서 주소 보상값C(r k )를 계산한다. 가산기(326)는 상기 임시주소IA k 에 상기 주소 보상값C(r k )를 더하여 최종적으로 읽기주소A k 를 계산한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은, 1xEV-DV 표준에 규정된 디인터리빙 규칙을 사용하는 통신 시스템에서 인터리빙된 데이터의 열을 고속으로 디인터리빙하여 원래의 부호화 패킷을 복구할 수 있다. 특히 본 발명은 수신된 부호심볼들의 서브블럭들을 메모리에 저장하고, 디인터리빙 규칙에 따라 생성된 읽기주소에 따라 부호심볼들을 읽어내어 복호기로 제공함으로써 필요한 메모리의 개수를 최소화하고, 읽기주소를 계산하는데 필요한 하드웨어 소자의 개수를 최소화하여 수신기의 소형화, 저전력화를 가능하게 한다. 또한 본 발명은 각각의 서브블럭별로 디인터리빙을 수행하기 때문에 복호기에서 복수의 서브블럭들을 동시에 복호함으로써 복호속도를 더욱 향상시킬 수 있으므로 고속 데이터 통신을 가능하게 한다는 효과가 있다.

Claims (17)

  1. 인터리빙된 순서대로 버퍼에 저장된 한 서브블럭의 부호심볼들을 디인터리빙된 순서대로 읽어내어 채널 복호기로 입력하는 방법에 있어서, 여기서 상기 부호심볼들은 상기 서브블럭의 크기에 따라 미리 정해지는 개수의 행과 열을 가지는 행렬의 형태로 저장되어 있고,
    상기 행렬의 마지막 열을 고려하지 않고, 상기 채널 복호기에 의해 요구된 부호심볼을 상기 버퍼로부터 읽어내기 위한 임시주소를 생성하는 과정과,
    상기 행렬의 마지막 열을 고려하여 상기 임시주소를 보상하기 위한 주소 보상값을 계산하는 과정과,
    상기 임시주소에 상기 주소 보상값을 더하여, 상기 채널 복호기에 의해 요구된 부호심볼을 상기 버퍼로부터 읽어내기 위한 읽기주소를 생성하는 과정을 포함하는 것을 특징으로 하는 상기 방법.
  2. 제 1 항에 있어서, 상기 임시주소를 생성하는 과정은,
    상기 마지막 열이 절반 이상의 부호심볼들을 가지지 않는 경우 상기 마지막 열을 생략하여 상기 임시주소를 생성하고, 상기 마지막 열이 절반 이상의 부호심볼들을 가지는 경우 상기 마지막 열을 포함하여 상기 임시주소를 생성하는 것을 특징으로 하는 상기 방법.
  3. 제 2 항에 있어서, 상기 주소 보상값을 계산하는 과정은,
    상기 주소 보상값을 0으로 설정하고, 상기 마지막 열이 절반 이상의 부호심볼들을 가지지 않는 경우 상기 마지막 열에서 부호심볼이 나타날 때마다 상기 주소 보상값을 1씩 증가시키며, 상기 마지막 열이 절반 이상의 부호심볼들을 가지는 경우 상기 마지막 열에서 부호심볼을 생략할 때마다 상기 주소 보상값을 1씩 감소시키는 것을 특징으로 하는 상기 방법.
  4. 제 1 항에 있어서, 상기 서브블럭의 크기가 408인 경우, 상기 읽기주소는 하기의 <수학식 20>에 의해 생성되는 것을 특징으로 하는 상기 방법.
    여기서 Ak는 상기 읽기주소이고 k는 상기 채널 복호기에 의해 요구된 부호심볼의 인덱스이며, BRO는 비트 역전환(Bit Reversal Ordering) 연산을 의미하고 mod는 모듈로 연산을 의미하고 [·]는 입력을 초과하지 않는 최대의 정수를 의미함.
  5. 제 1 항에 있어서, 상기 서브블럭의 크기가 792인 경우, 상기 읽기주소는 하기의 <수학식 21>에 의해 생성되는 것을 특징으로 하는 상기 방법.
    여기서 Ak는 상기 읽기주소이고 k는 상기 채널 복호기에 의해 요구된 부호심볼의 인덱스이며, BRO는 비트 역전환 연산을 의미하고 mod는 모듈로 연산을 의미하고 [·]는 입력을 초과하지 않는 최대의 정수를 의미함.
  6. 제 1 항에 있어서, 상기 서브블럭의 크기가 1560인 경우, 상기 읽기주소는 하기의 <수학식 22>에 의해 생성되는 것을 특징으로 하는 상기 방법.
    여기서 Ak는 상기 읽기주소이고 k는 상기 채널 복호기에 의해 요구된 부호심볼의 인덱스이며, BRO는 비트 역전환 연산을 의미하고 mod는 모듈로 연산을 의미하고 [·]는 입력을 초과하지 않는 최대의 정수를 의미함.
  7. 제 1 항에 있어서, 상기 서브블럭의 크기가 3096인 경우, 상기 읽기주소는 하기의 <수학식 23>에 의해 생성되는 것을 특징으로 하는 상기 방법.
    여기서 Ak는 상기 읽기주소이고 k는 상기 채널 복호기에 의해 요구된 부호심볼의 인덱스이며, BRO는 비트 역전환 연산을 의미하고 mod는 모듈로 연산을 의미하고 [·]는 입력을 초과하지 않는 최대의 정수를 의미함.
  8. 제 1 항에 있어서, 상기 서브블럭의 크기가 2328인 경우, 상기 읽기주소는 하기의 <수학식 24>에 의해 생성되는 것을 특징으로 하는 상기 방법.
    여기서 Ak는 상기 읽기주소이고 k는 상기 채널 복호기에 의해 요구된 부호심볼의 인덱스이며, BRO는 비트 역전환 연산을 의미하고 mod는 모듈로 연산을 의미하고 [·]는 입력을 초과하지 않는 최대의 정수를 의미함.
  9. 제 1 항에 있어서, 상기 서브블럭의 크기가 3864인 경우, 상기 읽기주소는 하기의 <수학식 25>에 의해 생성되는 것을 특징으로 하는 상기 방법.
    여기서 Ak는 상기 읽기주소이고 k는 상기 채널 복호기에 의해 요구된 부호심볼의 인덱스이며, BRO는 비트 역전환 연산을 의미하고 mod는 모듈로 연산을 의미하고 [·]는 입력을 초과하지 않는 최대의 정수를 의미함.
  10. 인터리빙된 순서대로 버퍼에 저장된 한 서브블럭의 부호심볼들을 디인터리빙된 순서대로 읽어내어 채널 복호기로 입력하는 장치에 있어서, 여기서 상기 부호심볼들은 상기 서브블럭의 크기에 따라 미리 정해지는 개수의 행과 열을 가지는 행렬의 형태로 저장되어 있고,
    상기 행렬의 마지막 열을 고려하지 않고, 상기 채널 복호기에 의해 요구된 부호심볼을 상기 버퍼로부터 읽어내기 위한 임시주소를 생성하는 임시주소 생성기와,
    상기 행렬의 마지막 열을 고려하여 상기 임시주소를 보상하기 위한 주소 보상값을 계산하는 주소 보상기와,
    상기 임시주소에 상기 주소 보상값을 더하여, 상기 채널 복호기에 의해 요구된 부호심볼을 상기 버퍼로부터 읽어내기 위한 읽기주소를 생성하는 가산기를 포함하는 것을 특징으로 하는 상기 장치.
  11. 제 10 항에 있어서, 상기 서브블럭의 크기는 2m×(J-1)+R이고 여기서 상기 m과 J와 R은 상기 서브블럭의 크기에 따라 미리 정해질 때, 상기 임시주소 생성기는,
    상기 채널 복호기에 의해 요구된 부호심볼의 인덱스를 2m으로 나누어 정수 형태로 출력하는 제1 제산기와,
    상기 부호심볼 인덱스를 2m으로 나눈 나머지를 비트 역전환하는 BRO 연산기와,
    상기 BRO 연산기로부터의 출력에 (J-1)를 곱하는 승산기와,
    상기 제1 제산기로부터의 출력에 상기 승산기로부터의 출력을 더하여 상기 임시주소를 계산하는 제1 가산기로 구성되는 것을 특징으로 하는 상기 장치.
  12. 제 11 항에 있어서, 상기 서브블럭의 크기가 408인 경우, 상기 주소 보상기는,
    상기 BRO 연산기로부터의 출력에 3을 더하는 제2 가산기와,
    상기 제2 가산기로부터의 출력을 4로 나누어 정수 형태로 출력하는 제2 제산기와,
    상기 제2 가산기로부터의 출력을 16으로 나누어 정수 형태로 출력하는 제3 제산기와,
    상기 제2 제산기로부터의 출력에서 상기 제3 제산기로부터의 출력을 빼서 상기 주소 보상값을 계산하는 가산기로 구성되는 것을 특징으로 하는 상기 장치.
  13. 제 11 항에 있어서, 상기 서브블럭의 크기가 792인 경우, 상기 주소 보상기는,
    상기 BRO 연산기로부터의 출력에 7을 더하는 제2 가산기와,
    상기 제2 가산기로부터의 출력을 8로 나누어 정수 형태로 출력하는 제2 제산기와,
    상기 제2 가산기로부터의 출력을 32로 나누어 정수 형태로 출력하는 제3 제산기와,
    상기 제2 제산기로부터의 출력에서 상기 제3 제산기로부터의 출력을 빼서 상기 주소 보상값을 계산하는 가산기로 구성되는 것을 특징으로 하는 상기 장치.
  14. 제 11 항에 있어서, 상기 서브블럭의 크기가 1560인 경우, 상기 주소 보상기는,
    상기 BRO 연산기로부터의 출력에 15를 더하는 제2 가산기와,
    상기 제2 가산기로부터의 출력을 16으로 나누어 정수 형태로 출력하는 제2 제산기와,
    상기 제2 가산기로부터의 출력을 64로 나누어 정수 형태로 출력하는 제3 제산기와,
    상기 제2 제산기로부터의 출력에서 상기 제3 제산기로부터의 출력을 빼서 상기 주소 보상값을 계산하는 가산기로 구성되는 것을 특징으로 하는 상기 장치.
  15. 제 11 항에 있어서, 상기 서브블럭의 크기가 3096인 경우, 상기 주소 보상기는,
    상기 BRO 연산기로부터의 출력에 31을 더하는 제2 가산기와,
    상기 제2 가산기로부터의 출력을 32로 나누어 정수 형태로 출력하는 제2 제산기와,
    상기 제2 가산기로부터의 출력을 128로 나누어 정수 형태로 출력하는 제3 제산기와,
    상기 제2 제산기로부터의 출력에서 상기 제3 제산기로부터의 출력을 빼서 상기 주소 보상값을 계산하는 가산기로 구성되는 것을 특징으로 하는 상기 장치.
  16. 제 11 항에 있어서, 상기 서브블럭의 크기가 2328인 경우, 상기 주소 보상기는,
    상기 BRO 연산기로부터의 출력에 3을 더하는 제2 가산기와,
    상기 제2 가산기로부터의 출력을 4로 나누는 제2 제산기와,
    상기 BRO 연산기로부터의 출력에 29를 더하는 제3 가산기와,
    상기 제3 가산기로부터의 출력을 32로 나누는 제3 제산기와,
    상기 제3 가산기로부터의 출력을 128로 나누는 제4 제산기와,
    상기 제2 제산기로부터의 출력에 상기 제3 제산기로부터의 출력을 더하고 상기 제4 제산기로부터의 출력을 빼서 상기 주소 보상값을 계산하는 제4 가산기로 구성되는 것을 특징으로 하는 상기 장치.
  17. 제 11 항에 있어서, 상기 서브블럭의 크기가 3864인 경우, 상기 주소 보상기는,
    상기 BRO 연산기로부터의 출력을 8로 나누는 제2 제산기와,
    상기 BRO 연산기로부터의 출력에 56을 더하는 제2 가산기와,
    상기 제2 가산기로부터의 출력을 64로 나누는 제3 제산기와,
    상기 제2 가산기로부터의 출력을 256으로 나누는 제4 제산기와,
    상기 제3 제산기로부터의 출력에서 상기 제2 제산기로부터의 출력과 상기 제4 제산기로부터의 출력을 빼서 상기 주소 보상값을 계산하는 제3 가산기로 구성되는 것을 특징으로 하는 상기 장치.
KR1020020066189A 2002-10-29 2002-10-29 인터리빙된 데이터 열의 디인터리빙 방법 및 장치 KR20040037624A (ko)

Priority Applications (11)

Application Number Priority Date Filing Date Title
KR1020020066189A KR20040037624A (ko) 2002-10-29 2002-10-29 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
KR1020030066400A KR101009783B1 (ko) 2002-10-29 2003-09-24 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
CA002470135A CA2470135C (en) 2002-10-29 2003-10-29 Method and apparatus for deinterleaving interleaved data stream in a communication system
US10/695,390 US7702970B2 (en) 2002-10-29 2003-10-29 Method and apparatus for deinterleaving interleaved data stream in a communication system
PCT/KR2003/002297 WO2004040774A1 (en) 2002-10-29 2003-10-29 Method and apparatus for deinterleaving interleaved data stream in a communication system
JP2005501863A JP3987553B2 (ja) 2002-10-29 2003-10-29 通信システムでインタリービングされたデータストリームのデインタリービング方法及び装置
CN2003801001177A CN1685621B (zh) 2002-10-29 2003-10-29 用于解交织通信设备中的交织数据流的方法和装置
RU2004119545/09A RU2274951C2 (ru) 2002-10-29 2003-10-29 Способ и устройство для деперемежения потока перемеженных данных в системе связи
EP03024930.4A EP1418675B1 (en) 2002-10-29 2003-10-29 Method and apparatus for deinterleaving interleaved data stream in a communication system
AU2003274779A AU2003274779B2 (en) 2002-10-29 2003-10-29 Method and apparatus for deinterleaving interleaved data stream in a communication system
BR0306671-1A BR0306671A (pt) 2002-10-29 2003-10-29 Método e aparelho para desentrelaçar um fluxo de dados entrelaçado em um sistema de comunicação

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020066189A KR20040037624A (ko) 2002-10-29 2002-10-29 인터리빙된 데이터 열의 디인터리빙 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20040037624A true KR20040037624A (ko) 2004-05-07

Family

ID=37335072

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020020066189A KR20040037624A (ko) 2002-10-29 2002-10-29 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
KR1020030066400A KR101009783B1 (ko) 2002-10-29 2003-09-24 인터리빙된 데이터 열의 디인터리빙 방법 및 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020030066400A KR101009783B1 (ko) 2002-10-29 2003-09-24 인터리빙된 데이터 열의 디인터리빙 방법 및 장치

Country Status (1)

Country Link
KR (2) KR20040037624A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101116264B1 (ko) * 2006-02-21 2012-03-14 삼성전자주식회사 통신시스템에서 인터리빙 장치 및 방법
KR101331516B1 (ko) * 2007-12-21 2013-11-21 퀄컴 인코포레이티드 절단된 인터리버들 및 디-인터리버들을 위한 능률적인 어드레스 생성기

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101365372B1 (ko) * 2004-12-27 2014-02-19 엘지전자 주식회사 이동 통신 시스템에서의 고속 패킷데이타 채널의 인터리빙방법
KR100836321B1 (ko) 2006-10-31 2008-06-09 현대자동차주식회사 차량용 모니터 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101116264B1 (ko) * 2006-02-21 2012-03-14 삼성전자주식회사 통신시스템에서 인터리빙 장치 및 방법
KR101331516B1 (ko) * 2007-12-21 2013-11-21 퀄컴 인코포레이티드 절단된 인터리버들 및 디-인터리버들을 위한 능률적인 어드레스 생성기
US8751769B2 (en) 2007-12-21 2014-06-10 Qualcomm Incorporated Efficient address generation for pruned interleavers and de-interleavers

Also Published As

Publication number Publication date
KR20040036543A (ko) 2004-04-30
KR101009783B1 (ko) 2011-01-19

Similar Documents

Publication Publication Date Title
RU2376702C2 (ru) Турбодекодер, использующий линейные конгруэнтные последовательности
CN1327640C (zh) 数据传输的速率匹配方法和装置
KR100724921B1 (ko) 통신시스템에서 부호 생성 및 복호 장치 및 방법
KR100526512B1 (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
RU2604992C2 (ru) Устройство, содержащее кольцевой буфер и способ для присвоения вариантов избыточности кольцевому буферу
US8543884B2 (en) Communications channel parallel interleaver and de-interleaver
EP1418675B1 (en) Method and apparatus for deinterleaving interleaved data stream in a communication system
KR100350459B1 (ko) 통신시스템의인터리빙/디인터리빙장치및방법
US6785859B2 (en) Interleaver for variable block size
EP1103102B1 (en) Improved interleavers for turbo code
JP4497706B2 (ja) データのターボコーディングのためのインターリーブ方法
KR20040028272A (ko) 통신 시스템에서 셔플링 데이터의 수신 방법 및 장치
KR101009783B1 (ko) 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
US7225306B2 (en) Efficient address generation for Forney&#39;s modular periodic interleavers
KR101233175B1 (ko) 연속적인 길이를 가지는 터보 코드 인코딩 및 디코딩 방법
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법