KR100519334B1 - 블록 인터리버 및 그를 이용한 블록 인터리빙 방법 - Google Patents
블록 인터리버 및 그를 이용한 블록 인터리빙 방법 Download PDFInfo
- Publication number
- KR100519334B1 KR100519334B1 KR10-2002-0087737A KR20020087737A KR100519334B1 KR 100519334 B1 KR100519334 B1 KR 100519334B1 KR 20020087737 A KR20020087737 A KR 20020087737A KR 100519334 B1 KR100519334 B1 KR 100519334B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- interleaver
- frame
- interleaving
- unit
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2778—Interleaver 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2782—Interleaver 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)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
본 발명은 블록 인터리버 및 그를 이용한 블록 인터리빙 방법에 관한 것으로, 특히 오버라이팅 방법을 이용하여 추가적인 인터리버 메모리가 불필요한 인터리버 및 그를 이용한 인터리빙 방법에 관한 것이다. 이와 같은 본 발명 블록 인터리버는 제 1 데이터 프레임 단위로 전송하는 채널의 데이터와 제 2 데이터 프레임 단위로 전송되는 데이터의 인터리빙을 수행하는 인터리빙부와, 상기 제 1 데이터 프레임 단위로 전송된 데이터의 인터리빙된 데이터에 상기 제 2 프레임 단위로 전송되는 데이터의 인터리빙된 데이터를 오버라이팅하여 저장하는 인터리버 메모리부를 포함하여 이루어지는 것을 특징으로 하는 블록 인터리버로 구성된다.
Description
본 발명은 블록 인터리버 및 그를 이용한 블록 인터리빙 방법에 관한 것으로, 특히 오버라이팅 방법을 이용하여 추가적인 인터리버 메모리가 불필요한 블록 인터리버 및 그를 이용한 블록 인터리빙 방법에 관한 것이다.
일반적으로 무선 채널은 페이딩(Fading) 특성으로 인하여 집중적인 에러(Burst error)가 발생할 확률이 높다. 또한, 무선 채널에서는 수신측의 에러 복구능력 이상으로 버스트 에러가 발생할 수 있어 송신측의 채널 코딩만으로는 일정 품질의 데이터를 전송할 수 없게 된다.
따라서, 통신 시스템에서는 이러한 무선 채널의 특성을 고려하여 버스트 에러를 분산시킴으로써 채널 코딩의 효과가 나타날 수 있도록 하는 인터리빙 기술을 사용하고 있다.
즉 유무선 통신 시스템에서는 일반적으로 전송 채널의 다이버시티와 시스템 성능 향상을 위해 블록 인터리버(Block Interleaver)(이하, 인터리버(Interleaver)라 함)가 채널 코딩(Forward Error Correction Coding)과 더불어 사용되고 있다.
종래 기술의 인터리버는 메모리 어드레스(Address)에 따라서 순서대로 쓰고 인터리빙 알고리즘(Interleaving Algorithm)에 따른 어드레스(Address)로 읽는 방식이다.
다이렉트 시퀀스(Direct Sequence) CDMA에서는 인터리버 메모리에 채널 코딩된 입력 심벌을 버스트(Burst)하게 쓰고, 인터리버 출력은 왈쉬 코드 커버링(Walsh Code Covering), 채널 이득, 그리고 PN 코드 확산을 위해 일정한 시간 간격마다 순차적 인터리버 어드레스의 인터리버 심벌을 읽는다.
인터리버 어드레스가 384인 IS-95 기지국 트래픽 채널을 예를 들자면, 인터리빙(Interleaving) 알고리즘은 다음과 같다.
인터리버의 입력 심벌은 인터리버 어드레스 0에서 383까지 순서대로 쓰게 된다.
인터리버는 아래의 인터리버 출력 어드레스 Ai에 따라 인터리버에 입력된 심벌을 읽게 된다.
여기에서 i = 0 ∼ 383이고, 는 x 보다 크지 않는 최대 정수를 의미하며, BROm(y)는 y의 최상위와 최하위 비트의 반전을 의미한다(예를 들면, BROm(6) = 3, 즉 110은 최상위와 최하위 비트의 반전으로 011=3 이 된다).
CDMA 2000 표준은 다양한 전송률의 데이터 전송하는 여러 채널들을 정의하고 있다.
예를 들어 5ms, 10ms, 20ms, 40ms,80ms의 데이터율(data frame)을 가지는 다양한 채널들이 존재한다.
송신기(Transmitter)는 전송할 데이터에 대해 정해진 인코딩(encoding)과 인터리빙(interleaving)을 수행하며, 전송하기 전에 수학식 1을 적용하여 전송 데이터를 인터리빙(interleaving) 시킨다.
특히 20ms 프레임 데이터(frame data) 채널 중에 5ms 프레임 펑처링(frame puncturing)을 지원해야 하는 채널(예를 들면, R-DCCH(Reverse Dedicated Control Channel), R-FCH(Reverse Fundamental Channel)등)은 인터리버(Interleaver) 메모리를 20ms 프레임 데이터(frame data)에 필요한 것 외에 5ms 프레임 펑처링 데이터(frame puncturing data)에 요구되는 부분도 가지고 있어야 한다.
이것은 20ms 프레임 데이터(frame data) 전송 중에 5ms 프레임 펑처링 데이터를 20ms 프레임 데이터(frame data)의 1/4에 해당하는 프레임(frame)에 펑처링(puncturing)하기 때문이다.
이하 첨부된 도면을 참조하여 종래 기술에 따른 블록 인터리버 및 그를 이용한 블록 인터리빙 방법을 설명하기로 한다.
종래의 인터리빙(Interleaving) 방식은 도 1에 나타낸 바와 같이, 인코더 버퍼(10)에서 전송된 송신 데이터를 인코딩하는 인코딩부(20)와, 인코딩된 데이터 중 20ms 채널에 해당하는 데이터를 저장하는 제 1 인터리버 메모리부(40)와 5ms에 해당하는 데이터를 저장하는 제 2 인터리버 메모리부(50)와, 상기 제 1, 제 2 인터리버 메모리부(40)의 데이터를 블록 인터리빙하여 먹스(70)로 출력하는 인터리빙부(60)로 구성된다.
이와 같은 종래 기술에서는 인터리버(30)가 제 1, 제 2 인터리버 메모리부(40)(50)와 인터리빙부(60)로 구성되고, 수학식 1에 따라서 전송할 데이터를 인터리빙하였다.
그러나 이와 같은 종래 기술에 있어서는 5ms 프레임 펑처링을 지원하기 위하여, 인코딩 데이터를 저장하기 위하여 20ms 프레임 인터리버 메모리부외의도 5ms 프레임 인터리버 메모리부에 구별하여 저장하여야 하므로 독립된 각각의 인터리버 메모리가 필요한 문제점이 있었다.
본 발명은 상기한 바와 같은 종래 기술의 문제점을 감안하여 안출한 것으로, 인터리빙의 쓰기와 읽기 방법을 조절하여 추가적인 인터리버 메모리없이도 다른 채널의 인코딩 데이터를 인터리빙할 수 있는 블록 인터리버 및 그를 이용한 블록 인터리빙 방법을 제공하기 위한 것이다.
이와 같은 본 발명의 일 특징에 따르면, 제 1 데이터 프레임 단위로 전송하는 채널의 데이터와 제 2 데이터 프레임 단위로 전송되는 데이터의 인터리빙을 수행하는 인터리빙부와, 상기 제 1 데이터 프레임 단위로 전송된 데이터의 인터리빙된 데이터에 상기 제 2 프레임 단위로 전송되는 데이터의 인터리빙된 데이터를 오버라이팅하여 저장하는 인터리버 메모리부를 포함하여 이루어지는 것을 특징으로 한다.
보다 구체적으로, 상기 메모리부의 크기는 상기 제 1 데이터 프레임 단위를 기준으로 구성되는 것을 특징으로 한다.
보다 구체적으로, 상기 제 1 데이터 프레임 단위는 20ms이고, 상기 제 2 데이터 프레임 단위는 5ms인 것을 특징으로 한다.
상기한 바와 같은 본 발명의 다른 특징에 따르면,제 1 데이터 프레임 단위로 전송하는 채널의 데이터와 제 2 데이터 프레임 단위로 전송되는 데이터의 인터리빙을 수행하는 단계와, 상기 제 1 데이터 프레임 단위로 전송된 데이터의 인터리빙된 데이터를 메모리에 저장하는 단계와, 상기 제 2 프레임 단위로 전송되는 데이터의 인터리빙된 데이터를 상기 메모리에 오버라이팅하여 저장하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
보다 구체적으로, 상기 오버라이팅은 상기 제 2 프레임 단위로 전송되는 데이터의 인터리빙된 데이터를 시간차를 이용하여 상기 제 1 데이터 프레임 단위로 전송된 데이터의 인터리빙된 데이터의 정해진 위치에서 수행되는 것을 특징으로 한다.
본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시 예들의 상세한 설명을 통해 명백해 질 것이다.
이하, 본 발명에 따른 블록 인터리버 및 그를 이용한 블록 인터리빙 방법을 첨부된 도면을 참조하여 설명하기로 한다.
도 2는 본 발명에 따른 인터리버를 나타낸 도면이다.
본 발명에 따른 블록 인터리버는 도 2에 나타낸 바와 같이, 인코더 버퍼(110)와, 인코딩 버퍼에서 전송된 송신 데이터를 인코딩하는 인코딩부(120)와, 인코딩부(120)에서 인코딩된 데이터 중 서로 다른 전송 데이터율을 갖는 데이터를 시간차에 의한 오버라이팅 방식으로 인터리빙하는 인터리빙부(140)와 상기 인터리빙부(140)의 인터리빙 데이터를 먹싱하는 먹스(150)와 상기 먹스(150)의 먹싱 데이터를 순차적으로 저장하는 인터리버 메모리부(160)를 포함하여 구성되는 인터리버(130)로 구성된다.
이와 같은 본 발명은 기존의 20ms 인터리버 메모리에 5ms 프레임 데이터를 오버라이팅하는 것으로, 다음과 같은 식에 의해 5ms 프레임 펑처링 데이터에 대한 인터리버 메모리 어드레스를 생성한다.
여기서 Ai는 인터리버 메모리 어드레스이며, i는 인코딩부(120)의 출력순서로써, 0 ∼ 383이다. 그리고 인터리버의 입력심벌은 인터리버 어드레스 0에서 383까지 순서대로 읽는다.
도 2의 인터리빙부(140)에서는 식 2의 알고리즘을 적용하여 인터리버 메모리 어드레스를 만들고, 만들어진 어드레스에 해당 데이터를 저장하면 인터리빙된 데이터가 저장된다.
즉 5ms 프레임 펑처링 데이터가 허용되는 채널의 20ms 프레임 데이터는 인터리버 사이즈가 1536이므로 384 사이즈의 5ms 프레임 펑처링 데이터의 오버라이팅이 가능한 것이다.
도 3 내지 도 6은 도 2에 나타낸 인터리버를 이용한 프레임 펑처링 방법을 설명하기 위한 도면이다.
도 3 내지 도 6에서는 인터리빙되어 인터리버 메모리부(160)에 저장된 1536개의 데이터를 나타낸 것으로, 도 3에서는 인터리버 메모리부(160)의 0부터 383 어드레스에 5ms 프레임 데이터(frame data)가 펑처링(puncturing) 된 것을 나타내고 있고, 도 4에서는 인터리버 메모리부(160)의 384부터 767 어드레스에 5ms 프레임 데이터(frame data)가 펑처링(puncturing) 된 것을 나타내고 있으며, 도 5에서는 인터리버 메모리부(160)의 768부터 1151 어드레스에 5ms 프레임 데이터(frame data)가 펑처링(puncturing) 된 것을 나타내고 있고, 도 6에서는 인터리버 메모리부(160)의 1152부터 1535 어드레스에 5ms 프레임 데이터(frame data)가 펑처링(puncturing) 된 것을 나타내고 있다.
이때 인터리버 메모리부(160)에서는 20ms 동안은 20ms 프레임 데이터를 순차적으로 저장하고, 5ms 동안에는 5ms 펑처링 데이터를 순차적으로 저장하게 되므로, 20ms 프레임 데이터와 5ms 프레임 데이터에 대한, 메모리 쓰기 주소는 식 2에 따라 발생하고, 메모리 읽기 주소는 순차적으로 발생한다.
따라서, 인터리빙부(140)에서 1536개의 20ms 프레임 데이터를 인터리빙한 후 먹스(150)를 통해 인터리버 메모리부(160)로 저장하는 경우, 도 3 내지 도 6에 나타낸 바와 같이 순차적으로 저장되는데, 이때, 5ms의 펑처링된 프레임 데이터를 1546개의 20ms의 프레임 데이터 구간을 5ms로 나눈 경우 20ms의 프레임 데이터가 전송되지 않는 구간에 오버라이팅하는 것이다.
즉, 20ms 프레임 데이터(frame data)의 1/4에 해당하는 5ms 프레임 펑처링 데이터(frame puncturing data)는 도 3 내지 도 6에서 보는 것과 같이 20ms 프레임 데이터(frame data)의 4개 영역(region) 중에 어느 영역에도 펑처링(puncturing) 되어 들어 갈 수 있다.
이 경우 인터리빙 어드레스를 조절하여 5ms 프레임 펑처링 데이터를 시간차에 의해 오버라이팅(overwriting)할 수 있다. 이렇게 오버라이팅된 데이터는 인터리버 출력에서 순차적인 읽기를 하는 경우 20ms 프레임 블록 인터리버의 출력 데이터에서 5ms 프레임 데이터(frame data)가 펑처링 된 것과 같은 결과를 얻을 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.
이상에서 설명한 바와 같은 본 발명은 적은 메모리 사이즈로 같은 성능을 구현함으로써, 고속 통신 시스템의 인터리버(Interleaver)로 적합하다. 또한 필요한 인터리버 사이즈를 1/4 만큼 절약함으로써 FPGA(field-programmable gate array)나 주문형 반도체(application specific integrated circuit : ASIC)로 구현 시 용이하게 구현할 수 있다.
도 1은 종래 기술에 따른 인터리버를 나타낸 블록 구성도
도 2는 본 발명에 따른 인터리버를 나타낸 도면
도 3 내지 도 6은 도 2에 나타낸 인터리버를 이용한 프레임 펑처링 방법을 설명하기 위한 도면
*도면의 주요 부분에 대한 부호의 설명*
110 : 인코더 버퍼 120 : 인코딩부
130 : 인터리버부 140 : 인터리빙부
150 : 먹스 160 : 인터리버 메모리부
Claims (5)
- 제 1 데이터 프레임 단위로 전송하는 채널의 데이터와 제 2 데이터 프레임 단위로 전송되는 데이터의 인터리빙을 수행하는 인터리빙부와,상기 제 1 데이터 프레임 단위로 전송된 데이터의 인터리빙된 데이터에 상기 제 2 프레임 단위로 전송되는 데이터의 인터리빙된 데이터를 오버라이팅하여 저장하는 인터리버 메모리부를 포함하여 이루어지는 것을 특징으로 하는 블록 인터리버.
- 제 1 항에 있어서, 상기 메모리부의 크기는 상기 제 1 데이터 프레임 단위를 기준으로 구성되는 것을 특징으로 하는 블록 인터리버.
- 제 1 항에 있어서, 상기 제 1 데이터 프레임 단위는 20ms이고, 상기 제 2 데이터 프레임 단위는 5ms인 것을 특징으로 하는 블록 인터리버.
- 제 1 데이터 프레임 단위로 전송하는 채널의 데이터와 제 2 데이터 프레임 단위로 전송되는 데이터의 인터리빙을 수행하는 단계와,상기 제 1 데이터 프레임 단위로 전송된 데이터의 인터리빙된 데이터를 메모리에 저장하는 단계와,상기 제 2 프레임 단위로 전송되는 데이터의 인터리빙된 데이터를 상기 메모리에 오버라이팅하여 저장하는 단계를 포함하여 이루어지는 것을 특징으로 하는 블록 인터리빙 방법.
- 제 4 항에 있어서, 상기 오버라이팅은 상기 제 2 프레임 단위로 전송되는 데이터의 인터리빙된 데이터를 시간차를 이용하여 상기 제 1 데이터 프레임 단위로 전송된 데이터의 인터리빙된 데이터의 정해진 위치에서 수행되는 것을 특징으로 하는 블록 인터리빙 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0087737A KR100519334B1 (ko) | 2002-12-31 | 2002-12-31 | 블록 인터리버 및 그를 이용한 블록 인터리빙 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0087737A KR100519334B1 (ko) | 2002-12-31 | 2002-12-31 | 블록 인터리버 및 그를 이용한 블록 인터리빙 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040061470A KR20040061470A (ko) | 2004-07-07 |
KR100519334B1 true KR100519334B1 (ko) | 2005-10-07 |
Family
ID=37353013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0087737A KR100519334B1 (ko) | 2002-12-31 | 2002-12-31 | 블록 인터리버 및 그를 이용한 블록 인터리빙 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100519334B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8238416B2 (en) | 2006-01-17 | 2012-08-07 | Samsung Electronics Co., Ltd. | Apparatuses and methods for transmitting and receiving uncompressed AV data |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100764011B1 (ko) * | 2005-12-10 | 2007-10-08 | 한국전자통신연구원 | 인터리빙 및 디인터리빙을 수행하는 저장 장치 및 그의제어 방법 |
-
2002
- 2002-12-31 KR KR10-2002-0087737A patent/KR100519334B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8238416B2 (en) | 2006-01-17 | 2012-08-07 | Samsung Electronics Co., Ltd. | Apparatuses and methods for transmitting and receiving uncompressed AV data |
Also Published As
Publication number | Publication date |
---|---|
KR20040061470A (ko) | 2004-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7342915B2 (en) | Data multiplexing method and data multiplexer, and data transmitting method and data transmitter | |
US6954885B2 (en) | Method and apparatus for coding bits of data in parallel | |
AU2003222605A1 (en) | System and method for channel mapping a wireless communication system | |
KR20030010402A (ko) | 다수의 안테나를 이용한 신호 송수신 방법 및 이를 위한시스템 | |
MXPA01009713A (es) | Descodificador de map altamente paralelo. | |
KR100680120B1 (ko) | 인트라-프레임 인터리빙을 구현하기 위한 방법 및 장치 | |
EP0981219B1 (en) | Encoding apparatus and method | |
US6771705B2 (en) | Turbo encoder with transmitter diversity | |
US7688900B2 (en) | Interleaver decorrelation in data transmitting and receiving devices | |
US7230995B2 (en) | Interleaver pattern modification | |
KR100341560B1 (ko) | 확산 스펙트럼 통신 시스템에서 콘볼루션 코드화된 신호를 인터리빙하는 방법 | |
US7793169B2 (en) | Intelligent table-driven interleaving | |
KR100519334B1 (ko) | 블록 인터리버 및 그를 이용한 블록 인터리빙 방법 | |
KR20030045593A (ko) | 천공에 의해 발생하는 출력 지연을 최소화하는 장치 및 방법 | |
KR101177135B1 (ko) | 이동통신시스템에서 디인터리빙을 효율적으로 수행하는장치 및 방법 | |
KR100291591B1 (ko) | 심벌-비트 와이즈 인터리빙 및 디인터리빙 방법 | |
KR20010059446A (ko) | 매직 매트릭스를 이용한 인터리빙 방법 | |
JP2001024520A (ja) | デインタリーブ装置 | |
KR20020087641A (ko) | 멀티 캐리어 인터리빙 구현장치 및 방법 | |
KR20020006825A (ko) | 이동통신시스템에서 다중길이 프레임 수신 장치 및 방법 |
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: 20120827 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20130823 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140822 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20150824 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |