KR100699491B1 - 인터리빙 방법 및 그 장치 - Google Patents

인터리빙 방법 및 그 장치 Download PDF

Info

Publication number
KR100699491B1
KR100699491B1 KR1020050065495A KR20050065495A KR100699491B1 KR 100699491 B1 KR100699491 B1 KR 100699491B1 KR 1020050065495 A KR1020050065495 A KR 1020050065495A KR 20050065495 A KR20050065495 A KR 20050065495A KR 100699491 B1 KR100699491 B1 KR 100699491B1
Authority
KR
South Korea
Prior art keywords
data
interleaving
value
address value
read
Prior art date
Application number
KR1020050065495A
Other languages
English (en)
Other versions
KR20070010704A (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 KR1020050065495A priority Critical patent/KR100699491B1/ko
Priority to DE602006012904T priority patent/DE602006012904D1/de
Priority to EP06012639A priority patent/EP1746731B1/en
Priority to US11/485,449 priority patent/US7610457B2/en
Priority to JP2006196542A priority patent/JP4227632B2/ja
Publication of KR20070010704A publication Critical patent/KR20070010704A/ko
Application granted granted Critical
Publication of KR100699491B1 publication Critical patent/KR100699491B1/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems

Landscapes

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

Abstract

인터리빙 방법 및 그 장치가 개시된다. 본 발명에 따른 인터리빙방법은, 데이터를 전송함에 있어서, 심볼(Symbol) 인터리빙, 톤(Tone) 인터리빙, 및 싸이클릭(Cyclic) 인터리빙을 적용하는 인터리빙 방법에 있어서, 미리 설정된 쓰기주소값 연산과정에 따라 연속적으로 산출되는 메모리상의 쓰기주소값에 데이터를 기록하는 단계, 및 미리 설정된 읽기주소값 연산과정에 따라 연속적으로 산출되는 메모리상의 읽기주소값에 기록된 데이터를 독출하는 단계를 포함하며, 메모리는 N개의 데이터 뱅크(뱅크주소값:0,1,2,..,N-1)를 포함하고, 각 데이터 뱅크는 M개의 저장공간(공간주소값:O,1,2,..,M-1)을 포함하며, 인터리빙 대상 데이터는 D(데이터 번호(A):0,1,2,..,D-1)개인 것으로 하고, 데이터를 기록하는 단계는, 데이터 개수(D)를 저장공간 개수(M)로 나눈 값으로 데이터 번호(A)를 나눈 나머지에 해당하는 데이터 뱅크상의, 데이터 개수(D)를 저장공간 개수(M)로 나눈 값으로 데이터 번호(A)를 나눈 몫에 해당하는 저장공간에 데이터를 기록한다.
인터리빙, 싸이클릭 인터리빙, 쓰기주소값, 읽기 주소값

Description

인터리빙 방법 및 그 장치{Interleaving Method and System therof}
도 1은 인터리빙 대상 데이터 구조를 나타낸 도면,
도 2는 도 1의 데이터 구조에 대해 심볼(Symbol) 인터리빙을 수행한 데이터 구조를 나타내는 도면,
도 3a는 도 2에서의 데이터 뱅크0(10)상의 데이터 구조에 대한 톤(Tone) 인터리빙을 수행한 데이터 구조를 나타내는 도면,
도 3b는 도 2에서의 데이터 뱅크1(20)상의 데이터 구조에 대한 톤(Tone) 인터리빙을 수행한 데이터 구조를 나타내는 도면,
도 3c는 도 2에서의 데이터 뱅크2(30)상의 데이터 구조에 대해 톤(Tone) 인터리빙을 수행한 데이터 구조를 나타내는 도면,
도 4a, 도 4b 및 도 4c는 도 3a, 도 3b, 및 도 3c에서의 각 데이터 뱅크상의 데이터 구조에 대해 싸이클릭(Cyclic) 인터리빙을 수행한 데이터 구조를 나타낸 도면, 및
도 5는 본 발명의 일실시예에 따른 인터리빙 장치의 개략적 구성을 나타낸 도면이다.
본 발명은 인터리빙 방법 및 그 장치에 관한 것으로, 더욱 상세하게는 독출순서결정에 따른 인터리빙 방법 및 그 장치에 관한 것이다.
일반적으로 유럽 위성 방송 방식의 DVB(digital video brodcasting)규격과 미국의 HDTV의 지상방송에서 사용되고 있는 디지탈 통신 시스템에서는, 전송하기 이전에 전송클럭에 동기되어온 MPEG 데이터열을 랜덤화하고 부호화한 후, 변조기를 통해 변조시켜 전송 케이블로 전송하고 있다.
여기서, 인터리버의 개념과 기능을 좀더 상세히 살펴보면 다음과 같다.
통상의 통신 시스템에서 전송중에 발생 가능한 에러의 종류로는 군데 군데 랜덤한 형태로 발생하는 랜덤 에러(random error)와 한 곳에 집중적으로 몰려서 발생하는 군집 에러(burst error)가 있다.
군집 에러가 발생하는 경우로는 예를 들어, 무선 통신시 번개로 인한 정전기가 지속되는 동안만큼 에러가 한 군데 몰려 발생하게 될 수 있고 혹은, 수신된 신호전력의 레벨이 시간에 따라 증가했다 감소했다 하는 페이딩 통신로에서 수신전력이 약할 때에도 군집 에러가 발생하게 된다.
한편, 리드 솔로몬 부호와 같은 블럭 코드들은 각 부호어내에서 제한된 수의 비트 에러만을 정정할 수 있기 때문에, 랜덤 에러가 발생했을 경우 에러 정정 능력내에서 정정이 가능하지만, 군집 에러가 발생하는 경우에는 비효과적이다.
즉, 인터리버를 수행하는 목적은, 리드 솔로몬 부호등과 같은 부호화로 인해 각 부호어 내에서 제한된 수의 비트에러를 정정하게 되어 평균 비트에러율이 작아 지더라도, 에러가 군집해서 발생하는 경우에는 에러 정정 부호가 비효율적인 경우가 생기게 되는 것에 대비하기 위함이다.
따라서, 부호화된 데이터열의 순서를 랜덤화시키는 인터리빙처리를 한 후, 전송시켰을 때, 통신로상에서 군집 에러가 발생되더라도, 이를 전송받은 수신측에서 원래의 데이터열로 복원시키는 디인터리빙 처리를 하므로써, 군집 에러가 랜덤 에러와 같이 변형되어 평균에러율을 낮출 수 있게 되는 것이다.
인터리빙 처리의 방식은 입출력 순서를 다르게 하므로써 데이터 스트림을 랜덤화시키는데, 예를 들어 기억 장치에 입력 데이터 스트림을 수평으로 스캔하는 방향으로 입력하여 저장해두고, 이 데이터를 출력은 수직으로 스캔하는 방향으로 출력하게 되면, 결과적으로 출력 데이터 순서는 두 입력 비트 사이에 인터리빙 간격 l비트 만큼의 비트열이 끼워진 채 통신로를 통해 전송되는 것이다.
이하에서는 도면을 참조하여 종래기술에 따른 인터리빙 방법을 설명하기로 한다.
도 1은 인터리빙 대상 데이터 구조를 나타낸 도면이다.
전송대상 데이터의 개수가 300개인 경우를 예로 들면, 데이터 번호는 0번부터 299번까지의 300개의 데이터에 대해서 인터리빙을 수행하여야 한다. 전술한 바와 같이 도 1상에 나타난 순서대로 데이터를 전송하는 경우에, 전송과정중의 데이터 손실이 크게 되므로, 도 2에서 설명하는 인터리빙을 수행하게 된다.
도 2는 도 1의 데이터 구조에 대해 심볼(Symbol) 인터리빙을 수행한 데이터 구조를 나타내는 도면이다.
도 1상의 데이터 번호를 3개의 데이터 뱅크(데이터 뱅크0,데이터뱅크1,데이터 뱅크2:10,20,30)에 저장하는 방식을 설명하고 있다. 즉, 도 1상의 일련의 데이터 번호(0내지 299)에 해당하는 데이터들을 3개의 데이터 뱅크에 번갈아가며 할당하고, 또한 각각의 데이터 뱅크상의 저장공간에 순차적으로 기록되게 된다.
따라서, 300개의 데이터를 기준으로 3개의 데이터 뱅크를 이용한다면, 각각의 데이터 뱅크에는 최소한 데이터 저장공간이 100개가 확보되어야 한다. 심볼 인터리빙을 수행하면, 데이터 뱅크0(10)에는 데이터 번호'0,3,6,9...,297'에 해당하는 데이터들이 저장공간에 순차적으로 기록되게 되고, 데이터 뱅크1(20)에는 데이터 번호'1,4,7,10...,298'에 해당하는 데이터들이 저장공간에 순차적으로 기록되게 되고, 데이터 뱅크2(30)에는 데이터 번호'2,5,8,11...,299'에 해당하는 데이터들이 저장공간에 순차적으로 기록되게 된다.
이후에 각 데이터 뱅크(데이터 뱅크0,데이터뱅크1,데이터 뱅크2:10,20,30)별로 저장공간에 기록된 데이터들은 순차적으로 독출되고, 그 이후 전송의 과정을 거치게 된다.
그러나, 도 2을 통해 설명한 심볼 인터리빙만으로는 전송과정중의 데이터의 손실을 충분히 방지할 수 없기 때문에 이하의 인터리빙방법이 추가적으로 제안된다.
도 3a는 도 2에서의 데이터 뱅크0(10)상의 데이터 구조에 대한 톤(Tone) 인터리빙을 수행한 데이터 구조를 나타내는 도면, 도 3b는 도 2에서의 데이터 뱅크1(20)상의 데이터 구조에 대한 톤(Tone) 인터리빙을 수행한 데이터 구조를 나타내 는 도면, 및 도 3c는 도 2에서의 데이터 뱅크2(30)상의 데이터 구조에 대해 톤(Tone) 인터리빙을 수행한 데이터 구조를 나타내는 도면이다.
도 3a, 도 3b, 및 도 3c는 도 2에서의 각 데이터 뱅크상의 데이터 구조에 대한 톤(Tone) 인터리빙을 수행한 데이터 구조를 나타내고 있다. 여기서 톤 인터리빙은 각 데이터 뱅크별로 톤 인터리빙 처리단위(톤 인터리빙 값(L):도3a 내지 도3c에서는 10)만큼의 데이터 저장열이 구비됨을 전제로 한다. 한편, 여기서 톤 인터리빙 값(L)은 통신환경에 따라 다른 임의의 값으로 설정되기도 한다.
각 데이터 뱅크(10,20,30)는 제0데이터 저장열(10a,20a,30a) 제1데이터 저장열(10b,20b,30b), 제2데이터 저장열(10c,20c,30c), 제3데이터 저장열(10d,20d,30d), 제4데이터 저장열(10e,20e,30e), 제5데이터 저장열(10f,20f,30f), 제6데이터 저장열(10g,20g,30g), 제7데이터 저장열(10h,20h,30h), 제8데이터 저장열(10i,20i,30i) 제9데이터 저장열(10j,20j,30j)을 구비한다.
도 3a를 참조하면, 도 2에서의 데이터 뱅크0(10)상의 저장공간에 순차적으로 기록된 데이터가 데이터 저장열들(10a,10b,10c,10d,10e,10d,10g,10h,10i,10j)에 번갈아 가며, 순차적으로 기록된다.
또한 각각의 데이터 저장열들(10a,10b,10c,10d,10e,10d,10g,10h,10i,10j )내의 저장공간상에서도 순차적으로 도 2에서의 데이터 뱅크0(10)상의 저장공간에 순차적으로 저장된 데이터가 기록된다.
상기와 같은 원리에 의한 톤 인터리빙은 도 3b 및 도 3c에서도 동일하게 적용된다. 도 2, 도 3a, 도 3b 및 도 3c를 통해 인터리빙된 데이터는 먼저 데이터 뱅 크0(10)상의 제0데이터 저장열(10a)에서부터 제9데이터 저장열(10j)의 순서로 순차적으로 전송된 후, 데이터 뱅크1(20)상의 제0데이터 저장열(20a)에서부터 제9데이터 저장열(20j)의 순서로 순차적으로 전송되고, 데이터 뱅크2(30)상의 제0데이터 저장열(30a)에서부터 제9데이터 저장열(30j)의 순서로 순차적으로 전송된다.
심볼 인터리빙 및 톤 인터리빙을 이용하여 데이터를 전송하게 되면, 심볼 인터리빙만을 이용한 경우보다, 데이터의 손상 가능성이 낮아지게 된다. 그러나, 데이터 전송의 무결성을 위해서 또 다른 추가의 인터리빙이 제안된다.
도 4a, 도 4b 및 도 4c는 도 3a, 도 3b, 및 도 3c에서의 각 데이터 뱅크상의 데이터 구조에 대해 싸이클릭(Cyclic) 인터리빙을 수행한 데이터 구조를 나타낸 도면이다.
여기서 싸이클릭 인터리빙이란, 도 3a, 도 3b, 및 도 3c에서의 각 데이터 뱅크(10,20,30)상의 데이터들을 독출함에 있어서, 전체 데이터를 3개의 구간(구간A,구간B,구간C)으로 나누어서, 각 데이터 뱅크별로 구간 쉬프팅(Shifting)을 수행하는 것을 말한다. 또한 구간 쉬프팅이 발생한 구간의 데이터 수를 싸이클릭 인터리빙값(Q)이라 한다. 여기서 싸이클릭 인터리빙값(Q)은 통신환경에 따라 다른 값이 임의로 설정되기도 한다.
도 4a, 도 4b 및 도 4c를 참조하면, 먼저 각 데이터 뱅크(10,20,30)상의 데이터 구조를 3개의 구간으로 나눈다. 첫번째 구간인 구간A는 연속적으로 독출되는 33개의 데이터로 구성되어 있으며, 두번째 구간인 구간B 또한 연속적으로 독출되는 33개의 데이터로 구성되어 있다. 세번째 구간인 구간C는 연속적으로 독출되는 34개 의 데이터로 구성되어 있다.
도 4a에서의 싸이클릭 인터리빙은 구간 쉬프팅을 수행하지 않은 상태에서의 데이터 독출을 의미하며, 쉬프팅이 발생한 구간의 데이터 수가 '0'이기 때문에, 여기서의 싸이클릭 인터리빙값(Q)은 '0'이 된다. 따라서, 데이터 뱅크0(10)에서의 데이터 독출은 구간 A, 구간B, 구간C의 순서로 수행된다.
도 4b에서의 싸이클릭 인터리빙은 구간 A에 대해 구간 쉬프팅을 수행한 상태에서의 데이터 독출을 의미하며, 쉬프팅이 발생한 구간의 데이터 수가 '33'이기 때문에, 여기서의 싸이클릭 인터리빙값(Q)은 '33'이 된다. 따라서, 데이터 뱅크1(20)에서의 데이터 독출은 구간 B, 구간C, 구간A의 순서로 수행된다.
도 4c에서의 싸이클릭 인터리빙은 구간 A 및 구간B에 대해 구간 쉬프팅을 수행한 상태에서의 데이터 독출을 의미하며, 쉬프팅이 발생한 구간의 데이터 수가 '66'이기 때문에, 여기서의 싸이클릭 인터리빙값(Q)은 '66'이 된다. 따라서, 데이터 뱅크1(20)에서의 데이터 독출은 구간 B, 구간C, 구간A의 순서로 수행된다.
도 4a, 도 4b 및 도 4c에서 설명한 싸이클릭 인터리빙을 이용하면, 데이터 전송시의 데이터 손실율을 더욱 떨어뜨릴 수 있게 된다.
그러나, 통상적으로 전술한 싸이클릭 인터리빙을 추가적으로 수행하기 위해서는 각 데이터 뱅크(10,20,30)별로 싸이클릭 인터리빙을 수행한 데이터 구조를 저장할 추가의 메모리가 요구되며, 또한 이러한 경우에는 처리속도도 느려지게 되는 문제점이 있다.
따라서, 본 발명의 목적은 전술한 심볼 인터리빙을 수행한 결과를 저장한 데이터 뱅크상에서 데이터를 독출하는 순서를 수학식으로 결정함으로써, 싸이클릭 인터리빙을 추가적으로 수행하기 위한 별도의 메모리를 구비하지 않고서도, 싸이클릭 인터리빙을 수행하는 인터리빙 방법 및 그 장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명에 따른 인터리빙방법은, 데이터를 전송함에 있어서, 심볼(Symbol) 인터리빙, 톤(Tone) 인터리빙, 및 싸이클릭(Cyclic) 인터리빙을 적용하는 인터리빙 방법에 있어서, 미리 설정된 쓰기주소값 연산과정에 따라 연속적으로 산출되는 메모리상의 쓰기주소값에 데이터를 기록하는 단계, 및 미리 설정된 읽기주소값 연산과정에 따라 연속적으로 산출되는 상기 메모리상의 읽기주소값에 기록된 데이터를 독출하는 단계를 포함하며, 상기 메모리는 N개의 데이터 뱅크(뱅크주소값:0,1,2,..,N-1)를 포함하고, 상기 각 데이터 뱅크는 M개의 저장공간(공간주소값:O,1,2,..,M-1)을 포함하며, 상기 인터리빙 대상 데이터는 D(데이터 번호(A):0,1,2,..,D-1)개인 것으로 하고, 상기 데이터를 기록하는 단계는, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 나머지에 해당하는 데이터 뱅크상의, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 몫에 해당하는 저장공간에 상기 데이터를 기록하는 것을 특징으로 한다.
바람직하게는, 상기 데이터를 독출하는 단계는, 상기 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,M-1)에 따라, 독출번호(B)에 상기 싸이클릭 인터리빙값 (Q)를 합한 값을 상기 저장공간 개수(M)로 나눈 몫(E)을 산출하는 단계, 상기 몫(E)을 상기 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하는 단계, 상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 상기 읽기주소값으로 하는 단계, 및 상기 읽기주소값에 해당하는 데이터를 독출하는 단계를 포함한다.
또한, 상기 데이터를 독출하는 단계는 상기 뱅크주소값에 따라 순차적으로 이루어지는 것을 특징으로 한다.
또한, 상기 데이터 뱅크 개수(N)는 3이고, 상기 저장공간 개수(M)는 100인 것을 특징으로 한다.
또한, 상기 톤 인터리빙값(L)은 10인 것을 특징으로 한다.
또한, 상기 Q값은 상기 뱅크주소값이 0일때는 0이고, 상기 뱅크주소값이 1일때는 33이며, 상기 뱅크주소값이 2일때는 66인 것을 특징으로 한다.
한편, 본 발명에 따른 인터리빙 장치는, 데이터를 전송함에 있어서, 심볼(Symbol) 인터리빙, 톤(Tone) 인터리빙, 및 싸이클릭(Cyclic) 인터리빙을 적용하는 인터리빙 장치에 있어서, 데이터를 연속적으로 기록할 메모리상의 쓰기주소값을 미리 설정된 쓰기주소값 연산과정에 따라 연속적으로 산출하는 쓰기주소값 산출부, 및 데이터를 연속적으로 독출할 상기 메모리상의 읽기주소값을 미리 설정된 읽기주소값 연산과정에 따라 연속적으로 산출하는 읽기주소값 산출부를 포함하며, 상기 메모리는 N개의 데이터 뱅크(뱅크주소값:0,1,2,..,N-1)를 포함하고, 상기 각 데이터 뱅크는 M개의 저장공간(공간주소값:O,1,2,..,M-1)을 포함하며, 상기 인터리빙 대상 데이터는 D개(데이터 번호(A):0,1,2,..,D-1)인 것으로 하고, 상기 데이터를 기록하는 단계는, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 나머지에 해당하는 데이터 뱅크상의, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 몫에 해당하는 저장공간에 상기 데이터를 기록하는 것을 특징으로 한다.
바람직하게는, 상기 읽기주소값 산출부는, 상기 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,M-1)에 따라, 독출번호(B)에 상기 싸이클릭 인터리빙값(Q)를 합한 값을 상기 저장공간 개수(M)로 나눈 몫(E)을 산출하고, 상기 몫(E)을 상기 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하며, 상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 상기 읽기주소값으로 산출하는 것을 특징으로 한다.
또한, 상기 읽기주소값 산출부는, 상기 뱅크주소값에 따라 순차적으로 상기 공간주소값을 산출하는 것을 특징으로 한다.
또한, 상기 데이터 뱅크 개수(N)는 3이고, 상기 저장공간 개수(M)는 100인 것을 특징으로 한다.
또한, 상기 톤 인터리빙값(L)은 10인 것을 특징으로 한다.
또한, 상기 Q값은 상기 뱅크주소값이 0일때는 0이고, 상기 뱅크주소값이 1일때는 33이며, 상기 뱅크주소값이 2일때는 66인 것을 특징으로 한다.
또한, 상기 쓰기주소값 산출부로부터 쓰기주소값을 입력받으며, 상기 쓰기주소값에 따라 상기 데이터를 기록하는 디멀티플렉서를 더 포함한다.
또한, 상기 읽기주소값 산출부로부터 읽기주소값을 입력받으며, 상기 읽기주소값에 따라 상기 데이터를 독출하는 멀티플렉서;를 더 포함하는 것을 특징으로 한다.
한편 본 발명에 따른 디인터리빙 방법은, 데이터 뱅크들에 기록된 데이터를 전송함에 있어서, 심볼(Symbol) 인터리빙, 톤(Tone) 인터리빙, 및 싸이클릭(Cyclic) 인터리빙을 적용하는 인터리빙 방법의 역과정에 해당하는 디인터리빙 방법에 있어서, 데이터를 독출 및 전송받은 순서에 따라, 독출번호(B)를 인식하는 단계, 상기 독출번호(B)에 상기 각 데이터 뱅크에서의 싸이클릭 인터리빙값(Q)을 합한 값을 저장공간 개수(M)로 나눈 몫(E)을 산출하는 단계, 상기 몫(E)을 상기 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하는 단계, 상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 공간주소값으로 산출하는 단계 및 상기 산출된 공간주소값에 대응되는 저장공간에 전송받은 데이터를 기록하는 단계를 포함한다.
한편, 본 발명에 따릉 인터리빙 방법은,데이터를 전송함에 있어서, 적어도 하나의 인터리빙을 적용하는 인터리빙 방법에 있어서, 미리 설정된 쓰기주소값 연산과정에 따라 연속적으로 산출되는 메모리상의 쓰기주소값에 데이터를 기록하는 단계, 및 미리 설정된 읽기주소값 연산과정에 따라 연속적으로 산출되는 상기 메모리상의 읽기주소값에 기록된 데이터를 독출하는 단계를 포함하며, 상기 메모리는 N개의 데이터 뱅크(뱅크주소값:0,1,2,..,N-1)를 포함하고, 상기 각 데이터 뱅크는 M개의 저장공간(공간주소값:O,1,2,..,M-1)을 포함하며, 상기 인터리빙 대상 데이터 는 D(데이터 번호(A):0,1,2,..,D-1)개인 것으로 하고, 상기 데이터를 기록하는 단계는, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 나머지에 해당하는 데이터 뱅크상의, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 몫에 해당하는 저장공간에 상기 데이터를 기록하는 것을 특징으로 한다.
바람직하게는, 상기 데이터를 독출하는 단계는, 상기 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,M-1)에 따라, 독출번호(B)에 싸이클릭 인터리빙값(Q)를 합한 값을 상기 저장공간 개수(M)로 나눈 몫(E)을 산출하는 단계, 상기 몫(E)을 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하는 단계, 상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 상기 읽기주소값으로 하는 단계, 및 상기 읽기주소값에 해당하는 데이터를 독출하는 단계를 포함한다.
또한, 상기 데이터를 독출하는 단계는 상기 뱅크주소값에 따라 순차적으로 이루어지는 것을 특징으로 한다.
한편, 본 발명에 따른 인터리빙 장치는,데이터를 전송함에 있어서, 적어도 하나의 인터리빙을 적용하는 인터리빙 장치에 있어서, 데이터를 연속적으로 기록할 메모리상의 쓰기주소값을 미리 설정된 쓰기주소값 연산과정에 따라 연속적으로 산출하는 쓰기주소값 산출부, 및 데이터를 연속적으로 독출할 상기 메모리상의 읽기주소값을 미리 설정된 읽기주소값 연산과정에 따라 연속적으로 산출하는 읽기주소값 산출부를 포함하며, 상기 메모리는 N개의 데이터 뱅크(뱅크주소값:0,1,2,..,N- 1)를 포함하고, 상기 각 데이터 뱅크는 M개의 저장공간(공간주소값:O,1,2,..,M-1)을 포함하며, 상기 인터리빙 대상 데이터는 D개(데이터 번호(A):0,1,2,..,D-1)인 것으로 하고, 상기 데이터를 기록하는 단계는, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 나머지에 해당하는 데이터 뱅크상의, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 몫에 해당하는 저장공간에 상기 데이터를 기록하는 것을 특징으로 한다.
바람직하게는, 상기 읽기주소값 산출부는, 상기 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,M-1)에 따라, 독출번호(B)에 싸이클릭 인터리빙값(Q)를 합한 값을 상기 저장공간 개수(M)로 나눈 몫(E)을 산출하고, 상기 몫(E)을 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하며, 상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 상기 읽기주소값으로 산출하는 것을 특징으로 한다.
또한, 상기 읽기주소값 산출부는, 상기 뱅크주소값에 따라 순차적으로 상기 공간주소값을 산출하는 것을 특징으로 한다.
한편, 본 발명에 따른 디인터리빙 방법은, 데이터 뱅크들에 기록된 데이터를 전송함에 있어서, 적어도 하나의 인터리빙을 적용하는 인터리빙 방법의 역과정에 해당하는 디인터리빙 방법에 있어서, 데이터를 독출 및 전송받은 순서에 따라, 독출번호(B)를 인식하는 단계, 상기 독출번호(B)에 상기 각 데이터 뱅크에서의 싸이클릭 인터리빙값(Q)을 합한 값을 저장공간 개수(M)로 나눈 몫(E)을 산출하는 단계, 상기 몫(E)을 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하는 단계, 상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 공간주소값으로 산출하는 단계, 및 상기 산출된 공간주소값에 대응되는 저장공간에 전송받은 데이터를 기록하는 단계를 포함한다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 5는 본 발명의 일실시예에 따른 인터리빙 장치의 개략적 구성을 나타낸 도면이다. 본 발명의 일실시예에 따른 인터리빙 장치는 N개의 데이터 뱅크(500_0, 500_1, 500_2,.., 500_N-1), 인터리빙 제어부(550), 디멀티플렉서(570) 및 멀티플렉서(590)를 포함한다.
인터리빙 제어부(550)는 데이터 뱅크상에서의 데이터의 기록과 독출을 제어하며, 쓰기주소값 산출부(553) 및 읽기주소값 산출부(557)를 포함한다.
쓰기주소값 산출부(553)는 데이터들에 대한 심볼 인터리빙이 수행되어 각 데이터 뱅크(500_0, 500_1, 500_2,.., 500_N-1)에 순차적으로 저장될 수 있도록, 각 데이터를 기록할 저장공간의 주소값(쓰기 주소값)을 산출하여 디멀티플렉서(570)로 입력한다.
읽기주소값 산출부(557)는 심볼 인터리빙이 수행되어 각 데이터 뱅크(500_0, 500_1, 500_2,.., 500_N-1)에 순차적으로 저장된 데이터들을 독출함에 있어서, 싸이클릭 인터리빙이 수행된 결과의 형태로 데이터가 독출될 수 있도록, 독출순서에 따라, 독출할 데이터가 기록된 저장공간의 주소값(읽기 주소값)을 산출하여 멀티플렉서(590)로 입력한다.
디멀티플렉서(570)는 인터리빙 제어부(550)의 쓰기주소값 산출부(553)에서 산출된 쓰기주소값을 입력받아, 쓰기 주소값에 해당하는 데이터 뱅크로 해당 데이터를 전송하고, 멀티플렉서(590)는 인터리빙 제어부(550)의 읽기주소값 산출부(57)에서 산출된 읽기주소값을 입력받아, 읽기 주소값에 해당하는 데이터 뱅크로부터의 데이터를 인터리빙 장치 밖으로 출력한다.
이하에서는 인터리빙 제어부(550)내의 쓰기주소값 산출부(553)에서의 쓰기주소값 산출과정을 설명하기로 한다.
쓰기주소값 산출부(553)는 데이터들에 대한 심볼 인터리빙이 수행되어, 데이터들이 각 데이터 뱅크(500_0, 500_1, 500_2,.., 500_N-1)에 순차적으로 저장될 수 있도록 하기 위하여 쓰기 주소값을 산출한다. 여기서 쓰기 주소값은 뱅크주소값 및 공간주소값이다.
뱅크주소값은 데이터가 N개의 데이터 뱅크중 어느 데이터 뱅크에 기록될 지를 결정하며, 각 데이터 뱅크(500_0, 500_1, 500_2,.., 500_N-1)에 따라, 뱅크주소값은 "0,1,2,..,N-1"가 된다.
공간주소값은 뱅크주소값에 의해 결정되는 해당 데이터 뱅크상에서, 해당 데이터가 저장될 공간의 위치를 결정하는 주소값이다. 각 데이터 뱅크(500_0, 500_1, 500_2,.., 500_N-1)가 M개의 저장공간을 포함한다고 할 때, 공간주소값은 저장공간의 순서에 따라 "O,1,2,..,M-1"이 된다. 데이터의 총개수는 D개가 될 것이며, 이들의 데이터 번호를 "0,1,2,..,D-1"라고 한다.
이하에서는 쓰기주소값 산출과정을 하기의 수학식을 통해 설명하기로 한다.
Figure 112005039134043-pat00001
상기 수학식 1에서 WB는 뱅크주소값이고, A는 데이터 번호로서 순차적으로 "0,1,2,..,D-1"이 대입되며, D는 데이터의 총개수이고, M은 각 데이터 뱅크내의 저장공간의 개수이다.
즉, 뱅크주소값(WB)는 데이터 총개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호를 나눈 나머지가 된다.
Figure 112005039134043-pat00002
상기 수학식 2에서 WS는 공간주소값이고, 수학식 1에서와 같이 A는 데이터 번호로서 순차적으로 "0,1,2,..,D-1"이 대입되며, D는 데이터의 총개수이고, M은 각 데이터 뱅크내의 저장공간의 개수이다. 즉, 공간주소값(WS)는 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호를 나눈 몫이 된다.
상기 수학식 1 및 수학식 2를 이용하여 데이터의 개수가 300개인 경우, 즉 데이터 번호가 0번부터 299번까지인 경우에 산출되는 쓰기주소값에 데이터를 순차적으로 기록하면, 도 2상의 심볼 인터리빙을 수행한 데이터 구조를 구할 수 있게 된다. 여기서 데이터의 개수는 발명의 실시환경에 따라 임의의 다른 값이 될 수도 있을 것이다.
이하에서는 인터리빙 제어부(550)내의 읽기주소값 산출부(557)에서의 읽기주소값 산출과정을 설명하기로 한다.
전술한 쓰기주소값을 통해 각 데이터 뱅크상에 기록된 데이터들을 독출함에 있어서, 비록 데이터 뱅크(500_0, 500_1, 500_2,.., 500_N-1)상에 기록된 데이터의 구조는 심볼 인터리빙만을 수행한 구조이지만, 데이터들을 독출함에 있어서의 순서의 조정을 통해, 톤 인터리빙 및 싸이클릭 인터리빙까지 수행된 구조로서 데이터가 전송될 수 있도록 할 수 있다.
이를 위해 읽기주소값 산출부(557)는 각 데이터 뱅크(500_0, 500_1, 500_2,.., 500_N-1)별로 독출순서(독출번호:0,1,2,..,M-1)에 따라 독출해야 하는 데이터가 저장된 공간주소값을 읽기주소값으로 산출한다.
이하에서는 읽기주소값 산출과정을 하기의 수학식을 통해 설명하기로 한다.
Figure 112005039134043-pat00003
Figure 112005039134043-pat00004
Figure 112005039134043-pat00005
상기 수학식 3, 수학식 4, 및 수학식 5에서 B는 독출번호로서 순차적으로 "0,1,2,..,D-1"이 대입되며, Q는 싸이클릭 인터리빙값, M은 데이터 뱅크내의 저장공간 개수, L은 톤 인터리빙값, RS는 읽기 주소값으로서 독출해야 하는 데이터가 기록된 해당 데이터 뱅크내에서의 공간 주소값을 의미한다.
상기 수학식 3, 수학식 4, 및 수학식 5를 이용하여 읽기주소값 산출과정을 설명하기로 한다.
각 데이터 뱅크에서의 데이터 독출순서를 결정함에 있어서, 읽기주소값 산출부는 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,M-1)에 따라, 독출번호(B)에 싸이클릭 인터리빙값(Q)을 합한 값을 저장공간 개수(M)로 나눈 몫(E)을 산출한다. 그 다음 몫(E)을 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하고, 나머지(S)에 저장공간 개수(M)을 곱하고 톤 인터리빙값(L)으로 나눈후, 몫(C)을 더한 값을 읽기주소값으로 산출하며, 이를 멀티플렉서(590)로 전송하면, 멀티플렉서(590)는 해당 읽기주소값에 기록된 데이터를 출력하게 된다.
한편 전술한 읽기 주소값 산출 및 그에 따른 데이터의 독출은 데이터 뱅크별로 순서에 따라 이루어지게 되는데, 데이터 뱅크0에서 읽기 주소값을 산출함에 있어서, Q는 QO로서 "0"이 된다.
데이터 뱅크1에서의 읽기 주소값을 산출함에 있어서, Q는 Q1 이 되며, Q1 은 단위 쉬프팅 구간의 데이터 개수가 된다. 데이터 뱅크2에서의 읽기 주소값을 산출함에 있어서, Q는 "Q2 =2* Q1 "가 되며, 이를 일반화하면, 데이터 뱅크n에서의 읽기 주소값을 산출함에 있어서, Q는 "Qn =n* Q1 "이 된다.
본 발명을 실시함에 있어서, 데이터 뱅크개수(N)을 3개라 하고 Q1 을 33이라고 한다면, 데이터 뱅크0에서의 Q는 "0"이 되고, 데이터 뱅크1에서의 Q는 "33"이 되고, 데이터 뱅크2에서의 Q는"66"이 될 것이다.
이 경우 데이터 개수가 300개이고, 각 데이터 뱅크내의 저장공간 개수를 100개라고 하면, 먼저 데이터 뱅크0에서의 데이터 독출순서를 결정함에 있어서, 읽기주소값 산출부는 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,99)에 따라, 독출번호(B)에 싸이클릭 인터리빙값(Q:여기서는 0이 될 것이다.)를 합한 값을 저장공간 개수(M)로 나눈 몫(E)을 산출한다.
그 다음 몫(E)을 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하고, 나머지(S)에 저장공간 개수(M)을 곱하고 톤 인터리빙값(L)으로 나눈후, 몫(C)을 더한 값을 읽기주소값으로 산출하며, 이를 멀티플렉서(590)로 전송하면, 멀티플렉서(590)는 해당 읽기주소값에 기록된 데이터를 출력하게 된다.
독출번호에 따라 읽기주소값을 연속적으로 산출하면, 도 4a에서의 화살표(→)로 나타낸 순서에 따라 데이터가 독출됨을 확인할 수 있다.
그 다음 데이터 뱅크1에서의 데이터 독출순서를 결정함에 있어서, 읽기주소값 산출부는 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,99)에 따라, 독출번호(B)에 싸이클릭 인터리빙값(Q:여기서는 33이 될 것이다.)를 합한 값을 저장공간 개수(M)로 나눈 몫(E)을 산출한다. 그 다음 몫(E)을 톤 인터리빙값(L)으로 나눈 몫 (C)과 나머지(S)를 산출하고, 나머지(S)에 저장공간 개수(M)을 곱하고 톤 인터리빙값(L)으로 나눈후, 몫(C)을 더한 값을 읽기주소값으로 산출하며, 이를 멀티플렉서(590)로 전송하면, 멀티플렉서(590)는 해당 읽기주소값에 기록된 데이터를 출력하게 된다.
독출번호에 따라 읽기주소값을 연속적으로 산출하면, 도 4b에서의 화살표(→)로 나타낸 순서에 따라 데이터가 독출됨을 확인할 수 있다.
그 다음 데이터 뱅크2에서의 데이터 독출순서를 결정함에 있어서, 읽기주소값 산출부는 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,99)에 따라, 독출번호(B)에 싸이클릭 인터리빙값(Q:여기서는 66이 될 것이다.)를 합한 값을 저장공간 개수(M)로 나눈 몫(E)을 산출한다. 그 다음 몫(E)을 상기 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하고, 나머지(S)에 저장공간 개수(M)을 곱하고 톤 인터리빙값(L)으로 나눈후, 몫(C)을 더한 값을 읽기주소값으로 산출하며, 이를 멀티플렉서(590)로 전송하면, 멀티플렉서(590)는 해당 읽기주소값에 기록된 데이터를 출력하게 된다.
독출번호에 따라 읽기주소값을 연속적으로 산출하면, 도 4c에서의 화살표(→)로 나타낸 순서에 따라 데이터가 독출됨을 확인할 수 있다.
상기와 같은 방법에 의해 데이터를 송신단에서 전송하게 되면, 수신단에서는 이처럼 인터리빙된 데이터를 수신한 후, 데이터를 인터리빙되기 이전의 상태로 복원해야 하는 데, 이를 디인터리빙이라 한다. 본 발명에 따른 디인터리빙 방법 및 그 장치를 설명하면, 디인터리빙 장치는 인터리빙 장치의 데이터 뱅크에 대응되는 데이터 뱅크를 포함하고 있으며, 인터리빙 장치의 각 데이터 뱅크의 저장공간으로부터 전송된 데이터는 자신의 대응되는 데이터 뱅크의 대응되는 저장공간에 저장하게 된다.
즉, 디인터리빙 장치는 데이터를 전송받은 순서에 따라, 전술한 독출순서에 따른 독출번호(B)를 인식하게 되고, 독출번호(B)에 각 데이터 뱅크에서의 싸이클릭 인터리빙값(Q)을 합한 값을 저장공간 개수(M)로 나눈 몫(E)을 산출한다. 그 다음 몫(E)을 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하고, 나머지(S)에 저장공간 개수(M)을 곱하고 톤 인터리빙값(L)으로 나눈후, 몫(C)을 더한 값을 공간주소값으로 산출하고, 산출된 공간주소값에 대응되는 저장공간에 전송받은 데이터를 저장하게 된다.
전술한 본 발명에 따른 인터리빙 방법 및 인터리빙 장치는, 통상적으로는 MBOA(Multi-Band OFDM Alliance) UWB(Ultra Wide Band)에 적용될 수 있을 것이다.
또한, 본 발명을 실시함에 있어서, 전술한 데이터 개수(D), 톤 인터리빙값(L), 및 싸이클릭 인터리빙값(Q)등은 통신환경에 따라 임의의 다른 값으로도 적용가능할 것이다.
이상 설명한 바와 같이, 본 발명에 따르면, 메모리의 추가없이도 효율적인 싸이클릭 인터리빙 및 디인터리빙을 수행할 수 있게 된다.
또한, 이상에서는 본 발명의 바람직한 실시예 및 응용예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (22)

  1. 데이터를 전송함에 있어서, 심볼(Symbol) 인터리빙, 톤(Tone) 인터리빙, 및 싸이클릭(Cyclic) 인터리빙을 적용하는 방법에 있어서,
    미리 설정된 쓰기주소값 연산과정에 따라 연속적으로 산출되는 메모리상의 쓰기주소값에 데이터를 기록하는 단계; 및
    미리 설정된 읽기주소값 연산과정에 따라 연속적으로 산출되는 상기 메모리상의 읽기주소값에 기록된 데이터를 독출하는 단계;를 포함하며,
    상기 메모리는 N개의 데이터 뱅크(뱅크주소값:0,1,2,..,N-1)를 포함하고, 상기 각 데이터 뱅크는 M개의 저장공간(공간주소값:O,1,2,..,M-1)을 포함하며, 상기 인터리빙 대상 데이터는 D(데이터 번호(A):0,1,2,..,D-1)개인 것으로 하고,
    상기 데이터를 기록하는 단계는, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 나머지에 해당하는 데이터 뱅크상의, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 몫에 해당하는 저장공간에 상기 데이터를 기록하는 것을 특징으로 하는 인터리빙 방법.
  2. 제 1항에 있어서,
    상기 데이터를 독출하는 단계는,
    상기 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,M-1)에 따라, 독출번호(B)에 상기 싸이클릭 인터리빙값(Q)를 합한 값을 상기 저장공간 개수(M)로 나눈 몫(E)을 산출하는 단계;
    상기 몫(E)을 상기 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하는 단계;
    상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 상기 읽기주소값으로 하는 단계; 및
    상기 읽기주소값에 해당하는 데이터를 독출하는 단계;를 포함하는 것을 특징으로 하는 인터리빙 방법.
  3. 제 2항에 있어서,
    상기 데이터를 독출하는 단계는 상기 뱅크주소값에 따라 순차적으로 이루어지는 것을 특징으로 하는 인터리빙 방법.
  4. 제 2항에 있어서,
    상기 데이터 뱅크 개수(N)는 3이고, 상기 저장공간 개수(M)는 100인 것을 특징으로 하는 인터리빙 방법.
  5. 제 2항에 있어서,
    상기 톤 인터리빙값(L)은 10인 것을 특징으로 하는 인터리빙 방법.
  6. 제 2항에 있어서,
    상기 Q값은 상기 뱅크주소값이 0일때는 0이고, 상기 뱅크주소값이 1일때는 33이며, 상기 뱅크주소값이 2일때는 66인 것을 특징으로 하는 인터리빙 방법.
  7. 데이터를 전송함에 있어서, 심볼(Symbol) 인터리빙, 톤(Tone) 인터리빙, 및 싸이클릭(Cyclic) 인터리빙을 적용하는 인터리빙 장치에 있어서,
    데이터를 연속적으로 기록할 메모리상의 쓰기주소값을 미리 설정된 쓰기주소값 연산과정에 따라 연속적으로 산출하는 쓰기주소값 산출부; 및
    데이터를 연속적으로 독출할 상기 메모리상의 읽기주소값을 미리 설정된 읽기주소값 연산과정에 따라 연속적으로 산출하는 읽기주소값 산출부;를 포함하며,
    상기 메모리는 N개의 데이터 뱅크(뱅크주소값:0,1,2,..,N-1)를 포함하고, 상기 각 데이터 뱅크는 M개의 저장공간(공간주소값:O,1,2,..,M-1)을 포함하며, 상기 인터리빙 대상 데이터는 D개(데이터 번호(A):0,1,2,..,D-1)인 것으로 하고,
    상기 데이터는, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 나머지에 해당하는 데이터 뱅크상의,
    상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 몫에 해당하는 저장공간에 상기 데이터가 기록되는 것을 특징으로 하는 인터리빙 장치.
  8. 제 7항에 있어서,
    상기 읽기주소값 산출부는,
    상기 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,M-1)에 따라, 독출번호(B)에 상기 싸이클릭 인터리빙값(Q)를 합한 값을 상기 저장공간 개수(M)로 나눈 몫(E)을 산출하고, 상기 몫(E)을 상기 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하며, 상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 상기 읽기주소값으로 산출하는 것을 특징으로 하는 인터리빙 장치.
  9. 제 8항에 있어서,
    상기 읽기주소값 산출부는, 상기 뱅크주소값에 따라 순차적으로 상기 공간주소값을 산출하는 것을 특징으로 하는 인터리빙 장치.
  10. 제 8항에 있어서,
    상기 데이터 뱅크 개수(N)는 3이고, 상기 저장공간 개수(M)는 100인 것을 특징으로 하는 인터리빙 장치.
  11. 제 8항에 있어서,
    상기 톤 인터리빙값(L)은 10인 것을 특징으로 하는 인터리빙 장치.
  12. 제 8항에 있어서,
    상기 Q값은 상기 뱅크주소값이 0일때는 0이고, 상기 뱅크주소값이 1일때는 33이며, 상기 뱅크주소값이 2일때는 66인 것을 특징으로 하는 인터리빙 장치.
  13. 제 8항에 있어서,
    상기 쓰기주소값 산출부로부터 쓰기주소값을 입력받으며, 상기 쓰기주소값에 따라 상기 데이터를 기록하는 디멀티플렉서;를 더 포함하는 것을 특징으로 하는 인터리빙 장치.
  14. 제 8항에 있어서,
    상기 읽기주소값 산출부로부터 읽기주소값을 입력받으며, 상기 읽기주소값에 따라 상기 데이터를 독출하는 멀티플렉서;를 더 포함하는 것을 특징으로 하는 인터리빙 장치.
  15. 데이터 뱅크들에 기록된 데이터를 전송함에 있어서, 심볼(Symbol) 인터리빙, 톤(Tone) 인터리빙, 및 싸이클릭(Cyclic) 인터리빙을 적용하는 인터리빙 방법의 역 과정에 해당하는 디인터리빙 방법에 있어서,
    데이터를 독출 및 전송받은 순서에 따라, 독출번호(B)를 인식하는 단계;
    상기 독출번호(B)에 상기 각 데이터 뱅크에서의 싸이클릭 인터리빙값(Q)을 합한 값을 저장공간 개수(M)로 나눈 몫(E)을 산출하는 단계;
    상기 몫(E)을 상기 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하는 단계;
    상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 공간주소값으로 산출하는 단계; 및
    상기 산출된 공간주소값에 대응되는 저장공간에 전송받은 데이터를 기록하는 단계;를 포함하는 디인터리빙 방법.
  16. 데이터를 전송함에 있어서, 적어도 하나의 인터리빙을 적용하는 인터리빙 방법에 있어서,
    미리 설정된 쓰기주소값 연산과정에 따라 연속적으로 산출되는 메모리상의 쓰기주소값에 데이터를 기록하는 단계; 및
    미리 설정된 읽기주소값 연산과정에 따라 연속적으로 산출되는 상기 메모리상의 읽기주소값에 기록된 데이터를 독출하는 단계;를 포함하며,
    상기 메모리는 N개의 데이터 뱅크(뱅크주소값:0,1,2,..,N-1)를 포함하고, 상기 각 데이터 뱅크는 M개의 저장공간(공간주소값:O,1,2,..,M-1)을 포함하며, 상기 인터리빙 대상 데이터는 D(데이터 번호(A):0,1,2,..,D-1)개인 것으로 하고,
    상기 데이터를 기록하는 단계는, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 나머지에 해당하는 데이터 뱅크상의, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 몫에 해당하는 저장공간에 상기 데이터를 기록하는 것을 특징으로 하는 인터리빙 방법.
  17. 제 16항에 있어서,
    상기 데이터를 독출하는 단계는,
    상기 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,M-1)에 따라, 독출번호(B)에 싸이클릭 인터리빙값(Q)를 합한 값을 상기 저장공간 개수(M)로 나눈 몫(E)을 산출하는 단계;
    상기 몫(E)을 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하는 단계;
    상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 상기 읽기주소값으로 하는 단계; 및
    상기 읽기주소값에 해당하는 데이터를 독출하는 단계;를 포함하는 것을 특징으로 하는 인터리빙 방법.
  18. 제 17항에 있어서,
    상기 데이터를 독출하는 단계는 상기 뱅크주소값에 따라 순차적으로 이루어 지는 것을 특징으로 하는 인터리빙 방법.
  19. 데이터를 전송함에 있어서, 적어도 하나의 인터리빙을 적용하는 인터리빙 장치에 있어서,
    데이터를 연속적으로 기록할 메모리상의 쓰기주소값을 미리 설정된 쓰기주소값 연산과정에 따라 연속적으로 산출하는 쓰기주소값 산출부; 및
    데이터를 연속적으로 독출할 상기 메모리상의 읽기주소값을 미리 설정된 읽기주소값 연산과정에 따라 연속적으로 산출하는 읽기주소값 산출부;를 포함하며,
    상기 메모리는 N개의 데이터 뱅크(뱅크주소값:0,1,2,..,N-1)를 포함하고, 상기 각 데이터 뱅크는 M개의 저장공간(공간주소값:O,1,2,..,M-1)을 포함하며, 상기 인터리빙 대상 데이터는 D개(데이터 번호(A):0,1,2,..,D-1)인 것으로 하고,
    상기 데이터는, 상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 나머지에 해당하는 데이터 뱅크상의,
    상기 데이터 개수(D)를 상기 저장공간 개수(M)로 나눈 값으로 상기 데이터 번호(A)를 나눈 몫에 해당하는 저장공간에 상기 데이터가 기록되는 것을 특징으로 하는 인터리빙 장치.
  20. 제 19항에 있어서,
    상기 읽기주소값 산출부는,
    상기 각 데이터 뱅크별로 독출순서(독출번호:0,1,2,..,M-1)에 따라, 독출번호(B)에 싸이클릭 인터리빙값(Q)를 합한 값을 상기 저장공간 개수(M)로 나눈 몫(E)을 산출하고, 상기 몫(E)을 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하며, 상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 상기 읽기주소값으로 산출하는 것을 특징으로 하는 인터리빙 장치.
  21. 제 20항에 있어서,
    상기 읽기주소값 산출부는, 상기 뱅크주소값에 따라 순차적으로 상기 공간주소값을 산출하는 것을 특징으로 하는 인터리빙 장치.
  22. 데이터 뱅크들에 기록된 데이터를 전송함에 있어서, 적어도 하나의 인터리빙을 적용하는 인터리빙 방법의 역과정에 해당하는 디인터리빙 방법에 있어서,
    데이터를 독출 및 전송받은 순서에 따라, 독출번호(B)를 인식하는 단계;
    상기 독출번호(B)에 상기 각 데이터 뱅크에서의 싸이클릭 인터리빙값(Q)을 합한 값을 저장공간 개수(M)로 나눈 몫(E)을 산출하는 단계;
    상기 몫(E)을 톤 인터리빙값(L)으로 나눈 몫(C)과 나머지(S)를 산출하는 단계;
    상기 나머지(S)에 상기 저장공간 개수(M)을 곱하고 상기 톤 인터리빙값(L)으로 나눈후, 상기 몫(C)을 더한 값을 공간주소값으로 산출하는 단계; 및
    상기 산출된 공간주소값에 대응되는 저장공간에 전송받은 데이터를 기록하는 단계;를 포함하는 디인터리빙 방법.
KR1020050065495A 2005-07-19 2005-07-19 인터리빙 방법 및 그 장치 KR100699491B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020050065495A KR100699491B1 (ko) 2005-07-19 2005-07-19 인터리빙 방법 및 그 장치
DE602006012904T DE602006012904D1 (de) 2005-07-19 2006-06-20 Interleaver mit einer Speicherbank für MBOA/UWB OFDM
EP06012639A EP1746731B1 (en) 2005-07-19 2006-06-20 Interleaving method and system comprising a memory bank for a MBOA/UWB OFDM system
US11/485,449 US7610457B2 (en) 2005-07-19 2006-07-13 Interleaving method and system
JP2006196542A JP4227632B2 (ja) 2005-07-19 2006-07-19 インターリーブ方法、インターリーブ装置、及びデインターリーブ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050065495A KR100699491B1 (ko) 2005-07-19 2005-07-19 인터리빙 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20070010704A KR20070010704A (ko) 2007-01-24
KR100699491B1 true KR100699491B1 (ko) 2007-03-26

Family

ID=37316091

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050065495A KR100699491B1 (ko) 2005-07-19 2005-07-19 인터리빙 방법 및 그 장치

Country Status (5)

Country Link
US (1) US7610457B2 (ko)
EP (1) EP1746731B1 (ko)
JP (1) JP4227632B2 (ko)
KR (1) KR100699491B1 (ko)
DE (1) DE602006012904D1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779198B2 (en) * 2004-11-23 2010-08-17 Efficient Memory Technology Method and apparatus of multiple abbreviations of interleaved addressing of paged memories
US8190809B2 (en) * 2004-11-23 2012-05-29 Efficient Memory Technology Shunted interleave for accessing plural memory banks, particularly those having partially accessed cells containing data for cache lines
US8189627B2 (en) 2006-06-28 2012-05-29 Samsung & Electronics Co., Ltd. System and method for digital communications using multiple parallel encoders
US8111670B2 (en) * 2007-03-12 2012-02-07 Samsung Electronics Co., Ltd. System and method for processing wireless high definition video data using remainder bytes
EP2283578A1 (en) 2008-05-21 2011-02-16 Nxp B.V. A data handling system comprising memory banks and data rearrangement
US8438434B2 (en) * 2009-12-30 2013-05-07 Nxp B.V. N-way parallel turbo decoder architecture
KR101482689B1 (ko) * 2013-09-09 2015-01-16 한국과학기술원 인터리브드 어드레스 매핑 방법 및 이를 포함하는 디코딩 방법
US9495291B2 (en) * 2013-09-27 2016-11-15 Qualcomm Incorporated Configurable spreading function for memory interleaving
US9344221B2 (en) * 2014-04-29 2016-05-17 Newracom, Inc. Interleaving and deinterleaving method
CN112395214A (zh) * 2016-06-30 2021-02-23 联发科技股份有限公司 时间解交错电路与方法
CN109547096B (zh) * 2018-12-26 2021-12-07 西安空间无线电技术研究所 一种适用于全球低轨卫星星座的编址与路由方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000269829A (ja) 1999-03-17 2000-09-29 Kenwood Corp インターリーブ回路
KR20020028639A (ko) * 2000-10-11 2002-04-17 오길록 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템
KR20020030409A (ko) * 2000-10-17 2002-04-25 윤종용 인터리버에서 메모리의 크기를 줄일 수 있는 메모리관리방법
US6381668B1 (en) * 1997-03-21 2002-04-30 International Business Machines Corporation Address mapping for system memory
KR20030060518A (ko) * 2002-01-09 2003-07-16 삼성전자주식회사 통신시스템의 인터리빙 장치 및 방법
US6603412B2 (en) 2001-06-08 2003-08-05 Texas Instruments Incorporated Interleaved coder and method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392443A (en) * 1991-03-19 1995-02-21 Hitachi, Ltd. Vector processor with a memory assigned with skewed addresses adapted for concurrent fetching of a number of vector elements belonging to the same vector data
AU4207800A (en) * 1999-04-09 2000-11-14 Sony Electronics Inc. Interleavers and de-interleavers
US20020083248A1 (en) * 2000-12-27 2002-06-27 Matsushita Electric Industrial Co., Ltd. Interleave circuit, de-interleave circuit and xDSL modem
US7756002B2 (en) * 2003-01-30 2010-07-13 Texas Instruments Incorporated Time-frequency interleaved orthogonal frequency division multiplexing ultra wide band physical layer
US7313190B2 (en) * 2003-03-11 2007-12-25 Texas Instruments Incorporated Efficient bit interleaver for a multi-band OFDM ultra-wideband system
FR2857178B1 (fr) * 2003-07-04 2005-09-30 St Microelectronics Sa Entrelaceur et dispositif de decodage de signaux numeriques comportant un tel entrelaceur
US7376117B2 (en) * 2003-12-02 2008-05-20 Infineon Technologies Ag Interleaving circuit for a multiband OFDM transceiver

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381668B1 (en) * 1997-03-21 2002-04-30 International Business Machines Corporation Address mapping for system memory
JP2000269829A (ja) 1999-03-17 2000-09-29 Kenwood Corp インターリーブ回路
KR20020028639A (ko) * 2000-10-11 2002-04-17 오길록 주소발생기를 포함한 인터리빙/디인터리빙 수행 장치 및그 방법과 그를 이용한 채널 부호화 시스템
KR20020030409A (ko) * 2000-10-17 2002-04-25 윤종용 인터리버에서 메모리의 크기를 줄일 수 있는 메모리관리방법
US6603412B2 (en) 2001-06-08 2003-08-05 Texas Instruments Incorporated Interleaved coder and method
KR20030060518A (ko) * 2002-01-09 2003-07-16 삼성전자주식회사 통신시스템의 인터리빙 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1020020028639
1020050065495 - 754902

Also Published As

Publication number Publication date
JP2007028635A (ja) 2007-02-01
DE602006012904D1 (de) 2010-04-29
EP1746731A1 (en) 2007-01-24
JP4227632B2 (ja) 2009-02-18
EP1746731B1 (en) 2010-03-17
US20070022262A1 (en) 2007-01-25
US7610457B2 (en) 2009-10-27
KR20070010704A (ko) 2007-01-24

Similar Documents

Publication Publication Date Title
KR100699491B1 (ko) 인터리빙 방법 및 그 장치
EP0681373B1 (en) Convolutional interleaver with reduced memory requirements and address generator therefor
US6810499B2 (en) Product code based forward error correction system
US7444580B2 (en) System and method for interleaving data in a communication device
US5535220A (en) Forward error correcting transmitter and receiver
US7024596B2 (en) Efficient address generation for interleaver and de-interleaver
US20040187063A1 (en) Error-correcting code interleaver
KR100754077B1 (ko) 코딩된 저장 심벌 및 부가적인 정보를 사용하여 입력데이터 비트 시퀀스를 인터리빙하는 인터리버 및 방법
US8194782B2 (en) Grouping bits interleaving apparatus and method thereof
EP1253729A2 (en) Reducing scintillation effects for optical free-space transmission
US20100017682A1 (en) Error correction code striping
US11303304B2 (en) Receiver receiving a signal including physical layer frames, and including a convolutional deinterleaver and a deinterleaver selector
GB2523363A (en) Bit interleaver and bit de-interleaver
US20070277064A1 (en) Reconfigurable convolutional interleaver/deinterleaver using minimum amount of memory and an address generator
EP0892501A1 (en) Convolutional interleaver and convolutional de-interleaver
US20030091109A1 (en) Convolution interleaver and deinterleaver for systems with error correction encoding
KR100499467B1 (ko) 블록 인터리빙 방법 및 그를 위한 장치
CN118266173A (en) Transmitting device, receiving device, encoding method, control circuit, and storage medium
JP2019193185A (ja) インターリーブ方法及び通信システム
KR100218153B1 (ko) 데이터 통신의 블록 인터리브/디인터리브 방법
Houghton Augmenting Error Codes
KR20050064486A (ko) 코드 분할 다중 접속 이동 통신 시스템에서 블록 인터리빙방법
JPS5926148B2 (ja) バ−スト誤り訂正方式

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
LAPS Lapse due to unpaid annual fee