KR100797871B1 - 제3 세대 fdd 모뎀 인터리버 - Google Patents
제3 세대 fdd 모뎀 인터리버 Download PDFInfo
- Publication number
- KR100797871B1 KR100797871B1 KR1020037013884A KR20037013884A KR100797871B1 KR 100797871 B1 KR100797871 B1 KR 100797871B1 KR 1020037013884 A KR1020037013884 A KR 1020037013884A KR 20037013884 A KR20037013884 A KR 20037013884A KR 100797871 B1 KR100797871 B1 KR 100797871B1
- Authority
- KR
- South Korea
- Prior art keywords
- data bits
- row
- data
- sequential
- column
- Prior art date
Links
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- 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/2703—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 the interleaver involving at least two directions
- H03M13/271—Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
-
- 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/276—Interleaving address generation
- H03M13/2764—Circuits therefore
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
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
본 발명은 특히 제3 세대 협력 프로젝트(3G) 표준에 의해 제공되는 바와 같은 무선 통신 시스템에 사용되는 확장 인터리빙 데이터 블록을 디인터리빙하기 위한 방법 및 장치를 제공하는 데에 있다. 데이터는 각 소자가 사전 결정된 수의 비트 M을 갖는 순차 소자 기준에 따라 처리되는데, 각 비트는 순차 데이터 워드(W´)의 블록 내에 포함된다. 상기 소자들은 순차 정렬의 데이터 워드(W´)의 블록으로부터 추출되고, 각 소자는 데이터 워드(W´)의 세트 내의 하나 또는 2개의 순차 인터리브된 워드 중 어느 하나로부터 추출된다. 상기 소자는 이 모든 소자의 추출 및 기록의 완성시에, 디인터리버 메모리로부터 데이터 워드(W)의 세트를 인터리브된 소자의 블록이 작성된 시점으로부터 원래의 데이터 블록의 비트와 대응하도록 순차적으로 판독될 수 있도록 디인터리버 메모리의 데이터 워드(W)의 세트 내의 선택 위치에 저장된다. 종래의 추가의 처리 과정에는 송신기로 전송하기 위해 처음에 설계된 바와 같이 수신기 내의 데이터 블록 비트를 재생하도록 디인터리브된 확장 워드의 제한을 초래할 수 있다.
Description
도 1은 30 개의 열 매트릭스 상에 10 개의 32 비트 워드(w)에 포함된 310개의 데이터 비트 블록의 매핑을 예시하고 있다.
도 2a는 현재 3G 인터리버 열 시퀀스 사양에 따른 데이터 워드(w´)의 인터리브된 비트(w#,#)의 블록 상에 도 1의 데이터 비트 블록의 매핑을 예시하고 있다.
도 2b는 도 1의 데이터 워드의 비트로부터 하나의 인터리브된 워드(w´)에 대한 비트 매핑을 예시하고 있다.
도 3은 인터리브된 6 비트 소자의 데이터 워드(W´)의 확장된 세트 상에 도 2a의 인터리브된 비트 블록 워드(w´)의 확장 매핑을 예시하고 있다.
도 4a 내지 도 4f는 6 개의 확장된 소자의 인터리브된 데이터 워드(W´)의 세트 상에 도 2a의 인터리브된 비트 블록 워드(w´) 중 하나의 비트 매핑을 예시하고 있다.
도 5a 및 도 5b는 36개의 비트 소자의 행 위에 도 3의 확장된 소자의 인터리브된 데이터 워드(W´)의 블록의 비트 매핑을 예시하고 있다.
도 6은 도 5a 및 도 5b의 매트릭스 상에 데이터의 디인터리브된 소자 블록의 하나의 데이터 워드(W)에 대한 비트 매핑 및 소자 매핑을 예시하고 있다.
도 7a 내지 도 7c는 도 5a 및 도 5b의 매트릭스의 대응하는 디인터리브된 확장 소자 및 비트 매핑을 예시하고 있다.
도 8은 도 1의 원래의 데이터 비트 블록 워드(w)와 도 7a 내지 도 7c의 디인터리브된 확장 소자 워드(W)의 대응 관계를 예시하고 있다.
도 9는 본 발명을 이용하는 통신 시스템의 수신기 처리 구성의 블록도이다.
도 10a 및 도 10b는 본 발명에 따른 디인터리빙 방법의 흐름도이다.
도 11a 내지 도 11c는 본 발명에 따른 3단 파이프라인 인터리버의 개략도이다.
본 발명은 통신 시스템(telecommunication system)에서 데이터의 인터리빙 (interleaving)에 관한 것으로서, 특히 데이터를 디인터리빙(deinterleaving; 인터리버로 재배열되어 출력된 신호를 원래의 순서로 바꾸는 과정)하는 방법 및 장치에 관한 것이다.
하나의 통신국으로부터 다른 통신국으로 데이터를 전송하기 위한 인터리빙 기술로서 공지된 처리 과정을 통해서 데이터를 스크램블하기 위한 무선 통신 기술이 공지되어 있다. 수신국에서는 디인터리빙 처리 과정을 통해서 전술한 스크램블된 데이터를 디스크램블 처리하는 과정이 수행된다.
제3 세대 협력 프로젝트(3G)의 무선 시스템에 있어서는, 주파수 분할 이중화(FDD) 방식의 모뎀 물리 채널 데이터에 대한 특정 유형의 데이터 인터리빙 기술을 규정하고 있다. 제3 세대 무선 시스템에서의 물리 채널 데이터는 사전 정의된 비트 크기를 갖는 워드로 처리되고 있는데, 상기 사전 정의된 비트 크기는 현재 1 워드당 32 비트로서 규정되고 있다.
순차 데이터 워드 내에 포함된 임의의 수의 순차 데이터 비트의 블록들은 FDD 물리 채널을 통한 통신 용도로 설계되고 있다. 상기 FDD 물리 채널을 통한 데이터 전송을 위해 각각의 데이터 블록을 준비함에 있어서, 데이터가 사전 결정된 수의 열을 갖는 매트릭스로 행 단위로 매핑된다. 1 워드 내의 비트의 수보다 작은 열이 존재하는 것이 바람직하다. 32 비트 워드에 포함된 데이터 비트 블록의 물리 채널 인터리빙 용도의 제3 세대 무선 시스템에서는 현재 30 개의 열이 지정되고 있다.
예컨대, 10 개의 32 비트 워드(w0∼w9) 내에 비트(w0,0∼w9,21)로서 포함된 310개의 데이터 비트 블록의 30개의 열 매트릭스로의 매핑이 도 1에 예시되어 있다. 310 개의 데이터 비트 블록은 11 개의 행을 가진 30 개의 열 매트릭스로 매핑된다. 데이터 블록이 총 310 비트를 갖기 때문에, 적어도 20 개의 열, 즉 열(10∼29)은 처음에 10 개의 열(0∼9)보다 적은 데이터 비트를 포함한다.
상기 매트릭스 열의 모두가 이들 매트릭스 열로 매핑된 데이터 비트를 갖는지의 여부는 데이터 블록 내의 비트의 수에 좌우된다. 예컨대, 300 개의 데이터 비트 블록은 이 300이 30으로 균등하게 나누어지기 때문에 모든 열들을 완전하게 파 일링하는 30 ×10 매트릭스로 매핑되어야만 한다. 일반적으로, T 소자의 블록을 매핑하는 경우, C 열 × N 행 매트릭스의 최종 r 열은 N-1 행의 데이터만을 가질 수 있는데, 여기서, r = (C*N) - T이고, r < C이다.
데이터 비트가 인터리버 매트릭스로 매핑된 이후에, 열의 순서는 사전 정의된 시퀀스로 재정렬되고, 데이터 비트는 순차 데이터 워드(w´)의 세트로 순차 비트(w´#,#)의 인터리브된 데이터 블록을 규정하도록 열 단위의 순차적 기준에 따라 데이터 워드(w´)의 새로운 세트로 기록된다.
예컨대, 도 1의 워드(w0∼w9) 내에 포함된 310 개의 데이터 비트 블록은 도 2a 및 도 2b에 도시된 바와 같이 양호한 인터리버 열 시퀀스에 따라서 워드(w´0∼w´9)에 선택적으로 저장된다. 상기 워드의 세트의 경우, 10개의 워드(w´0∼w´9)의 대응하는 인터리브된 블록은 고도로 재정렬/스크램블된 순서로 원래의 워드(w0∼w9)의 310 개의 데이터 비트 블록 모두를 포함한다. 도 2a에 도시된 바와 같이 인터리브된 워드(w´0)는 도 1의 열 0, 20 및 10으로부터 비트의 시퀀스로 형성된다. 원래의 워드(w0∼w9)로부터 인터리브된 워드(w´0)의 비트(w´0,0∼w´0,31)로의 비트(w#,#)의 대응 관계는 도 2b에 예시되고 있다.
데이터가 수신국으로 전송되기 전에 그 인터리브된 데이터와 관련된 각종 처리가 발생될 수 있다. 예컨대, 상기 인터리브된 데이터의 비트 크기 구조는 M 배수로 확장될 수 있다. 상기 비트 확장이 6배로 지정되면, 물리 채널 데이터 블록에 대해서 각각의 인터리브된 데이터 비트는 6 비트 소자로 확장된다. 또한, 상기 비트 확장이 전송 처리시에 실시되지 않음에도 불구하고 그 비트 확장이 발생되는 수신기의 디인터리버(deinterleaver)에 나타나는 수신국의 디인터리버와 송신기 사이에는 상기 인터리브된 데이터와 관련된 기타의 다른 처리가 발생될 수 있다. 예컨대, 수신국은 수신 신호를 A/D 컨버터를 사용해서 샘플링할 수 있고, 디스크램블/디스프레드 칩을 다중 비트 표시를 갖는 결과값이 있는 기호들로 샘플링할 수 있다. 상기 송신기로부터 각각의 최초의 인터리브된 비트는 M의 배수로 확장된다. 예를 들어, 수신 처리는 명백히 6배의 비트 확장의 결과로 나타난다.
예를 들면, 도 2a 및 도 2b의 예의 10개의 인터리브된 데이터 워드(w´0∼w´9)는 도 3에 나타낸 바와 같이 59 개의 전송 워드(W´0∼W´58)의 블록으로 확장된다. 도 4a 내지 도 4f는 워드(W´0∼W´5)의 확장 인터리브된 6 비트 소자(T´0∼T´31)를 확장하기 위해 워드(W´0)의 인터리브된 비트(w´0,0∼w´0,31)의 대응 관계의 예를 도시하고 있다.
소자의 비트 크기가 워드 비트 크기로 균등하게 분할되지 않기 때문에, 일부 소자들은 2개의 순차 워드를 신장시킨다. 예컨대, 도 4a 및 도 4b에서 소자(T´5)는 워드(W´0) 내에 부분적으로 포함되고, 다음 워드(W´1)에도 부분적으로 포함된다.
수신국에 있어서, 수신 및 처리 이후에, 확장 인터리브된 소자의 수신 블록, 예컨대 59개의 워드(W´0∼W´58) 내의 비트(W´0,0∼W´58,3)는 디인터리브, 즉 본래의 순차 형태로 데이터를 재조립하기 위해서 디스크램블되어야만 한다. 고속 및 효율적인 방법으로 확장된 열의 인터리브된 데이터 블록을 디인터리빙하기 위한 방법 및 장치를 제공하는 고도의 이점을 제공할 수 있다.
본 발명은 특히 제3 세대 협력 프로젝트(3G) 표준에 의해 제공되는 바와 같은 무선 통신 시스템에 사용되는 확장 인터리브된 데이터 블록을 디인터리빙하기 위한 방법 및 장치를 제공하는 데에 있다. 데이터는 각 소자가 사전 결정된 수의 비트 M을 갖는 순차 소자 기준에 따라 처리되는데, 각 비트는 순차 데이터 워드(W´)의 블록 내에 포함된다. 상기 소자들은 순차 정렬의 데이터 워드(W´)의 블록으로부터 추출되고, 각 소자는 데이터 워드(W´)의 세트 내의 하나 또는 2 개의 순차 인터리브된 워드 중 어느 하나로부터 추출된다. 상기 소자는 이 모든 소자의 추출 및 기록의 완성시에, 디인터리버 메모리로부터 데이터 워드(W)의 세트를 인터리브된 소자의 블록이 작성된 시점으로부터 원래의 데이터 블록의 비트와 대응하도록 순차적으로 판독될 수 있도록 디인터리버 메모리의 데이터 워드(W)의 세트 내의 선택 위치에 저장된다. 종래의 추가의 처리 과정에는 송신기로 전송하기 위해 최초에 설계된 바와 같이 수신기 내에 데이터 블록 비트를 재생하도록 디인터리브된 확장 워드의 제한을 초래할 수 있다.
본 발명에 따른 방법 및 장치가 특히 3G FDD 수신기 모뎀의 제2 디인터리빙 기능의 용도에 부합하도록 설계되고 있을지라도, 본 발명은 다른 용도로 확장된 데이터 블록을 스크램블링 및 디스크램블링하는 데 손쉽게 적용할 수도 있다.
바람직하게는, 소자를 디인터리버 메모리 어드레스의 계산 및 데이터 소자의 선택적 내부 저장과 관련하여 처리하기 위해서 다단 파이프라인 구조가 채용되고 있다. 초당 60 메가비트(MB) 이상의 데이터 처리량은 바람직한 3단 파이프라인을 사용해서 실현되고 있다. 또한, 디인터리빙 처리가 통신 시스템의 전체 처리 속도에 악영향을 미치지 않도록 다중 데이터 블록들, 예를 들어 상이한 물리 채널 그룹의 각각을 처리하기 위해서 다중 디인터리버가 병렬로 사용될 수 있다. 그러나, 각각의 채널의 물리 채널 처리가 현재 초당 380 킬로비트(Kb)로서 지정되고 있기 때 문에, 바람직한 구성에 따른 하나의 디인터리버의 처리 속도는 3G FDD 수신기 모뎀의 모든 물리 채널의 데이터 소자 블록을 처리하는 데에 적합하다.
본 발명의 다른 목적 및 이점과 관련해서는 당업자라면 첨부된 도면을 참조하여 이하의 상세한 설명을 통해서 보다 명확히 이해할 수 있을 것이다.
현재 3G 사양의 일부로서, 확장 인터리브된 데이터의 블록, 예컨대 FDD 수신기의 물리 채널 데이터가 수신되고, 추가의 처리를 위해 디인터리브될 필요가 있다. FDD 수신기는 다수의 서브블록으로 분할된다. 이들 블록들 중 하나는 수신기 복합 채널(RCC)로서 칭한다. 도 9에는 RCC 블록도가 도시되고 있는데, 상기 RCC 블록도는 물리 채널 디맵핑, 제2 디인터리빙, 물리 채널 수집, DTX와 P 표시 비트의 제2 스트리핑 및 송신 채널(TrCH) 디멀티플렉싱으로 구성되어 있다. 상기 수신기 복합 채널 조작은 송신기 복합 채널 내의 송신기 모뎀에 의해 수행되는 기능과 정반대인 것이 효과적이다.
본 발명은 FDD 수신기의 제2 디인터리버의 구조용으로 특히 유용하다. 각 물리 채널(PyCH)을 통해 송신되는 비트 시퀀스는 인터리버 처리를 통해 스크램블되고, 이어서 동일한 치수의 패킷으로 확장되는데, 각각의 패킷은 비트의 작은수 M으로 이루어진다. 이들 비트 그룹의 각각은 데이터 소자로서 칭한다. 현재, 3G FDD 물리 채널 데이터 소자의 치수는 바람직한 실시예에서 6 비트, 즉 M = 6으로서 규정되고 있다. 도 1 내지 도 4f는 송신기 모뎀 인터리빙 및 310 개의 데이터 비트 블록을 310 개의 인터리브된 6 비트 소자(T′)의 블록으로의 확장의 예를 도시하고 있다.
상기 확장된 인터리브되는 데이터 소자는 이들 인터리브된 시퀀스로 전송된다. 수신기는 데이터 소자를 공중파를 통해 수신하고, 그 수신된 데이터를 순차 32 비트 데이터 워드(W′)의 세트 내에 저장한다. 도 1 내지 도 4f의 예에서는, 송신기측 상의 32 비트 워드(w0∼w9)에 초기 저장된 310 비트의 데이터 블록이 수신되고, 수신기측 상의 32 비트 워드(W′0∼W′58) 내에 데이터 소자(T′0∼T′309)로서 저장된다.
제2 인터리버는 상기 인터리브된 데이터 소자를 다시 연속적으로 일어나는 열간 교환을 갖는 블록 인터리버이다. 그 인터리빙 매트릭스는 좌측에서 우측으로 0, 1, 2,‥‥, 29까지 번호가 매겨진 30 개의 소자 열을 갖는다. 행 번호는 외부 파라미터 N으로서 사용자에 의해 제공되지만, N*30 ≥T가 되도록 최소 정수 N으로서 T 소자를 갖는 데이터 블록용으로 계산될 수 있다.
3G FDD 모뎀에 대한 상기 제2 디인터리버의 열간 교환 패턴은 이하의 표 1에 나타낸 바와 같다.
열 수 | 열간 교환 패턴 |
30 | {0, 20, 10, 5, 15, 25, 3, 13, 23, 8, 18, 28, 1, 11, 21, 6, 16, 26, 4, 14, 24, 19, 9, 29, 12, 2, 7, 22, 27, 17} |
제2 디인터리버의 출력은 열간 교환된 N ×30 매트릭스로의 매핑으로부터 행 단위로 판독된 비트 시퀀스이다. 전체 N ×30 매트릭스가 출력되는 경우, 그 출력 은 데이터 소자의 입력 비트 시퀀스에 존재하지 않는 비트를 삭제함으로써 간결하게 된다.
도 5a 및 도 5b는 11 ×30 소자 열의 인터리버 매트릭스의 좌측 및 우측 부분의 수신된 데이터 소자(T′0∼T′309)의 비트 매핑 예를 예시하고 있다. 도 5a에서는 예컨대 열 0이 워드(W′0, W′1, W′2) 내에 포함되는 데이터 소자(T′0∼T′10)의 비트 매핑을 반영하고 있다. 데이터 소자(T′5)의 비트는 2 개의 워드(W′0, W′1)로부터 추출되고, 데이터 소자(T′10)의 비트는 2 개의 워드(W′1, W′2)로부터 추출된다. 도 5b에서, 하부 행에는 처음 10 개의 열이 데이터 소자에 의해 완전히 채워져 있기 때문에 어떠한 소자도 갖지 않는다.
도 6 내지 도 7c에는 데이터 소자(T′)가 인터리버 매트릭스 매핑에 기초하여 워드(W)의 세트 내에 소자의 선택된 저장을 통해 기록되는 방법이 반영되고 있다. 따라서, T′0, T′124, T′258, T′186 및 T′31의 처음 2 비트는 워드(W0)의 32 비트 내에 저장되고, 그에 따라서 기록된 소자(T0∼T4) 및 소자(T5)의 처음 2 비트에 대응한다. 인터리버 매트릭스 매핑에 기초하여 소자(T′0∼T′309)의 선택적 저장의 결과로서, 일련의 32 비트 워드(W), 즉 워드(W0∼W58)는 도 7a 내지 도 7c에 도시된 바와 같이 기록된 소자(T0∼T309)를 포함하도록 형성된다. 도 8은 원래의 워드(w0∼w9)가 도 1에 도시된 310 개의 원래의 데이터 블록 비트(w0,0∼w9,21)로 기록된 소자(T0∼T309)의 대응 관계를 예시하는 워드(W0∼W58)와 대응되는 방법이 반영되고 있다.
소자(T′0∼T′309)가 순차 워드(W0∼W58)에 행 단위로 판독될 수 있도록 상기 소자(T′0∼T′309)를 매트릭스 내에 적절히 배열하기 위해서, 각각의 소자(T′)는 도 10a 및 도 10b의 흐름도에 반영되는 바와 같이 선택적으로 처리된다.
3G FDD 모뎀 수신기에 있어서, 확장된 인터리브 데이터는 상이한 물리 채널로 분리되고, 디인터리버에 의한 처리를 위해 랜덤 액세스 메모리(RAM)로 명명된 M_INP 내에 저장된다. 비트 스트림은 32 비트의 워드로 분할되고, 그 워드는 M_INP 내의 인접 위치에 배치된다. 도 1 내지 도 4f의 예에서, 워드(W′0∼W′58) 내에 포함되는 소자(T0∼T309)의 비트 스트림은 M_INP 내의 순차 어드레스로 저장될 필요가 있다. 도 10a 및 도 10b의 흐름도는 디인터리버가 M_INP로부터 데이터를 판독하여, 그 데이터를 디인터리브하고, 인터리브된 데이터를 로컬 메모리 M_LOC에 기록하는 방법을 설명하고 있다. 전체 처리 과정은 M_INP로부터 데이터 소자를 판독하고, 어드레스 변환을 수행하며, 상기 소자를 M_LOC 내의 위치에 기록하는 처리를 포함한다. 이와 같은 위치는 인터리빙이 송신기에서 수행되기 전에 메모리 내의 소자의 원래의 위치에 대응한다. 도 5a 내지 도 8은 소자(T′0∼T′309)의 워드(W0∼W59) 내에 다시 순차적으로 발생되는 소자(T0∼T309)로의 인터리버 매핑의 대응 관계를 예시하고, 도 8에 있어서는 송신측 상의 워드(W0∼W9) 내에 포함된 원래의 비트 시퀀스로의 대응 관계를 예시하고 있다.
이하의 표 2는 도 10a 및 도 10b의 흐름도에 사용되는 파라미터의 목록을 제공한다.
파라미터 | 설명 |
ADDR | 어드레스(A0)에서 개시하는 워드(W′)용 M_INP 내의 워드 어드레스 증분기 |
T | 데이터 블록 내의 소자의 총 수 |
ROW_CTR(또는 n) | 열 PERM 내에서 행을 카운트하는 카운터 |
PERM_VECT | 열 치환 벡터 |
COL(또는 C) | 치환 매트릭스 내의 열 번호 |
ROW(또는 N) | 치환 매트릭스 내의 행 번호 |
PERM(또는 i) | IDX에 의해 지시된 PERM_VECT 소자 |
IDX | PERM_VECT 소자 포인터 |
MAX_COL | T-(C*(N-1))과 동일한 일정한 값 |
NROW | 열 번호 PERM 내의 행 번호 |
SA | 소자의 개시 비트 어드레스 |
EA | 소자의 종료 비트 어드레스 |
SM | 소자의 개시 워드 어드레스 |
EM | 소자의 종료 워드 어드레스 |
S | SM 내의 소자의 개시 비트 위치 |
E | EM 내의 소자의 종료 비트 위치 |
M | 각각의 소자 T′# 또는 T#내의 비트의 수 |
R, R1, R2 | 레지스터 저장 |
L′ | 각 워드의 세트 W′내의 비트의 수 |
L | 각 워드의 세트 W 내의 비트의 수 |
처음에는, 그 프로세스에 사용되는 변수는 블록 10에서 초기화된다. 어드레스 증분기(ADDR), 행 카운터(ROW_CTR) 및 열 인덱스 포인터(IDX)는 0으로 설정된다. 사전 정의된 교환 순서는 벡터 명명된 PERM_VECT로 저장된다. 표 1에 도시된 바와 같이 PERM_VECT 내에 치환된 열의 순서가 FDD 모뎀 수신기 제2 디인터리버 용도로 바람직하다. 단계 12에서 밸브 PERM은 처리되고 있는 현재 소자에 대한 열 위치를 나타내는 IDX 값에 기초하여 PERM_VECT로부터 출력된다.
다음의 각종 동작 14, 16, 18은 열 번호 PERM 내의 행 번호를 결정하고, 그 변수 NROW를 이와 같은 값으로 설정한다. 일정한 파라미터 MAX_COL은 열 0, 1, 2,‥‥, MAX_COL-1이 내부에 다수의 행 "ROW"을 가지며, 열 MAX_COL,‥‥, C-1이 내부에 행 "ROW-1"을 갖도록 설정된다. 그에 따라서, 이와 같은 사실 및 PERM의 현재 값에 기초하여, 변수 NROW가 설정된다.
단계 20, 22에서 초기 어드레스 A0를 사용해서, N_INP내의 현재의 데이터 소자의 현재의 ADDR 값과, 소자 치수 M과, 개시 및 종료 비트 어드레스(SA, EA)가 각각 결정된다. 워드 비트 크기 L′에 의하여 개시 및 종료 비트 어드레스(SA, EA)를 분할하는 처리 및 임의의 잔여 부분을 폐기하는 처리(또는 우측으로 5만큼 균등하게 이동시키는 처리)는 워드 세트(W′)내의 대응하는 워드 어드레스를 생성한다. 이들 워드 어드레스는 각각 SM 및 EM이다. 다음에, 단계 26에서 SM 및 EM에 의해 식별되는 메모리 워드 내의 데이터 소자의 개시 및 종료 비트 위치는 각각 S 및 E로서 계산된다. S 및 E는 워드(W′)의 세트의 단일 메모리 워드 내에 포함될 수 있거나 또는 2개의 연속 메모리 워드에 걸쳐서 확산될 수 있다. 동작 28, 30, 32, 34, 36의 다음 세트는 이들 2 개의 시나리오가 처리되는 방법을 나타낸다.
흐름도 내의 다음 동작(28)은 SM 및 EM 워드 위치를 비교하는 것이다. 다음에, 소자가 워드(W′)의 세트의 단일 워드 내에 있는 경우, 즉 EM=SM인 경우라면, 단계 30에서 위치 SM 내의 워드는 M_INP로부터 페치된다. 이어서, 단계 32에서 소자는 S 및 E로 나타낸 바와 같이 그 비트 위치로부터 추출되면, 그 값은 레지스터 R로 할당된다. 한편, 만일 소자가 워드(W′)의 세트의 2개의 워드 내에 포함되는 경우, 즉 EM = SM + 1인 경우라면, 2 개의 워드는 M_INP로부터 액세스된다. 따라서, SM으로부터의 워드는 레지스터 R1으로 페치 및 할당되고, EM으로부터의 워드는 단계 34에 나타낸 바와 같이 레지스터 R2로 페치 및 할당된다. 다음에, 단계 36에 서 소자의 비트는 R1 및 R2로부터 추출되고, 레지스터 R로 할당된다. 따라서, 각 경우에, M_INP 내에 저장된 워드(W′)의 세트 내에 포함되는 인터리브된 소자의 모든 비트가 추출된다. 최종적으로, 어드레스 카운터(ADDR)는 다음 소자의 추출을 개시하기 위해 증분된다.
도 10b에 도시된 바와 같이 다음의 동작 세트 40∼60은 M_LOC 내의 워드 및 비트 위치를 결정하는 것으로서, 여기서 추출된 소자는 저장되고, 그 워드를 액세스하며, 상기 워드 내의 적절한 비트 위치 내에 소자를 배치하고, 상기 워드를 M_LOC 내에 다시 기록할 것이다. 이들 단계는 단일 판독-변경-기록 동작으로서 실행될 수 있다.
단계 32 또는 단계 36에서 추출된 소자가 R에 저장된 경우의 개시 및 종료 매핑 비트 어드레스(SA, EA)는 단계 40∼42에서 결정되는 M_LOC 내에 저장될 것이다. 개시 어드레스는 단계 30, 32, 34 및 36에서 추출된 소자의 행 및 소자 열 매핑에 기초하여 단계 40에서 계산된다. 매트릭스 위치는 행 번호(ROW_CTR) ×매트릭스 열 번호(COL) + PERM_VECT 벡터로부터 유도된 현재의 열 번호(PERM), 즉 (ROW_CTR) * COL) + PERM에 의해 계산된다. 각 소자가 M 비트를 갖기 때문에, 그 결과 SA를 구하기 위해 M에 의해 승산된다.
SA와 EA를 L로 나누기 하여, 워드의 비트 크기를 W로 설정하며, 나머지를 버리고, 단계 46에서 대응하는 워드 어드레스를 생성한다. 이들 워드 어드레스는 각각 SM과 EM이다. 최종적으로, 레지스터(R) 내의 추출된 소자가 배치된 경우의 개시 및 종료 비트 위치는 각각 S 및 E로서 계산된다. L을 M으로 균등하게 나누지 않은 경우, S 및 M은 단일 메모리 워드 내에 포함되거나 또는 워드(W)의 세트의 2 개의 연속 메모리 워드에 걸쳐서 확산된다. 다음의 동작 세트인 48 및 60은 이들 2가지 시나리오가 처리되는 방법을 설명한다.
단계 48에서, 어드레스 SM과 EM을 비교한다. 추출된 소자가 단일 워드 내에 저장되면, 즉 SM = EM이면, 단계 50에서 위치 SM 내의 워드는 M_LOC로부터 페치되고, 레지스터 R1에 배치된다. R 내의 추출된 소자 값은 단계 52에서 R1 내의 S와 E로 나타낸 비트 위치로 기록된다. 최종적으로 R1은 단계 54 내의 M_LOC의 메모리 위치 SM으로 다시 기록된다.
한편, 추출된 소자가 어드레스 SM 및 SM+1을 갖는 2 개의 연속 워드 내에 저장되는 경우, 이들 워드는 M_LOC로부터 단계 56에서 페치되고, 레지스터(R1, R2)에 각각 배치된다. 다음에, 단계 58에서, R 내의 추출된 소자의 비트는 S 및 E에 기초해서 레지스터(R1, R2) 내의 적절한 위치에 각각 배치된다. 최종적으로, 레지스터(R1, R2)의 레지스터 내용은 단계 60에서 메모리 위치 SM 및 SM + 1의 내부로 각각 다시 귀환되어 기록되고 있다.
다음에 단계 62에서의 동작은 행 카운터(ROW_CTR)를 1씩 증가시키는데, 이는 다음에 추출된 소자(T′#)가 동일한 열의 다음 행 내에 저장되는 것을 표시하기 위함이다. 이어서, 단계 64에서 행 카운터(ROW_CTR)가 현재의 열 NROW의 행 번호 보다 작거나 같은 경우를 결정하기 위한 체크가 이루어진다. 그와 같은 경우라면, 열 번호 PERM 내에 다음 소자를 갖는 단계 20에서 처리가 지속된다.
단계 64에서 행 카운터(ROW_CTR)가 NROW 보다 작지 않은 경우, 다음에 추출 된 소자는 벡터 PERM_VECT로 표시된 다음 열의 제1 행(행 0)에 대응하는 어드레스에 저장될 것이다. 따라서, 그와 같은 경우라면, 행 카운터(ROW_CTR)는 0으로 리셋되고, PERM_VECT 인덱스인 IDX는 단계 66 및 68에서 1씩 증분된다. 만일 단계 70에서, IDX가 COL 보다 작으면, 디인터리빙 처리는 할당되는 PERM의 새로운 값을 갖는 단계 12로부터 반복되고, 그렇지 않은 경우, 상기 처리는 데이터 블록의 모든 T 소자가 처리될 수 있기 때문에 정지된다.
일반적인 처리 방법이 도 10a 및 도 10b의 흐름도에 따라서 설명되고 있는 동안, 하드웨어 처리의 바람직한 구현은 도 11a 내지 도 11c에 예시되고 있다. 바람직한 설계는 데이터의 디인터리브된 비트를 저장하기 위한 관련된 메모리(LOCAL MEMORY)를 가진 3단 파이프라인으로 구성된다. 제1 단의 병렬 처리 구성 소자는 도 11a 및 도 11b에 예시되고 있고, 제2 및 제3 단의 처리 과정은 도 11c에 예시되고 있다.
단 1의 동작은 2 개의 레지스터(REG3, REG4)의 내용에 의해 규정되는 2L′비트 벡터로부터 데이터 소자의 추출로 개시된다. 상기 레지스터(REG3, REG4)는 물리 채널(PyCH) 메모리로부터 2 개의 연속 L′비트 워드를 저장한다. 바람직한 32 비트 워드 치수의 경우, 이들 2 개의 레지스터는 비트의 64 비트 벡터를 형성한다.
레지스터(REG0), 가산기(71), 감산기(72) 및 선택기(73)는 합병 소자(74)와 관련하여 동작하도록 구성되어, 순차적 기준에 따라 레지스터(REG3, REG4)로부터 M 비트의 치수를 갖는 소자를 추출하고, 그 추출된 소자를 레지스터(REG2)에 저장한다. 인터리버를 초기화하기 위해서, 순차 워드(W′)의 제1 및 제2 워드는 각각 레 지스터(REG3, REG4)의 내부에 초기에 저장되고, 레지스터(REG0)는 0으로 초기화된다. 합병 소자(74)는 레지스터(REG0)로부터 0 값을 수신하고, 어드레스 M-1을 통해서 어드레스 0에서 개시하는 M 비트를 추출한다. 따라서, 제1 소자(T′0)에 대응하는 레지스터(REG3) 내의 초기 워드로부터 제1의 M 비트가 추출된다. 다음에, 상기 합병 소자(74)는 추출된 M 비트를 파이프라인 레지스터(REG2)에 저장한다.
레지스터(REG0)의 값은 가산기(71)를 통하여 M이거나 선택기(73)의 동작에 기초하여 가산기(71) 및 감산기(72)를 통하여 M-L′중 어느 하나에 의하여 증분된다. 레지스터(REG0)의 값을 M만큼 증분시키는 처리가 L′을 초과하지 않으면, 선택기(73)는 레지스터(REG0)의 값을 M만큼 증분시킨다. 그렇지 않으면, 선택기(73)는 레지스터(REG0)의 값을 M-L′만큼 증분시킨다. 이것에 의해 레지스터(REG0)의 값이 항상 L′미만이 되도록 모듈로 L′함수로서 효율적으로 동작시킴으로써, 합병 소자(74)에 의해 추출된 소자의 개시 어드레스가 레지스터(REG3)의 비트 어드레스(0 - L′-1) 내에 유지되는 것을 보증한다.
레지스터(REG0)의 값을 M-L′만큼 증분시키도록 선택기(73)에 의해 선택하는 경우, 신호 EN은 레지스터(REG4) 내용의 레지스터(REG3)로의 전달을 트리거하도록 전송되고, 레지스터(REG4)의 내부에 저장하기 위해 외부 메모리로부터 워드(W′)의 세트 중 다음의 순차 워드를 인출 처리한다. 인출 처리 중에, 전체 파이프라인은 동작을 정지시킨다. 레지스터(REG0)의 값의 증분과 관련하여 L′의 감산 처리가 레지스터(REG4) 내의 워드(W′)의 레지스터(REG3)로의 전달과 대응하도록 함으로써, 소자의 순차적 추출은 레지스터(REG3)의 내용으로부터 추출되는 소자의 적어도 제1 비트로 지속된다.
도 11b를 참조하면, 인터리버의 위치 결정값은 추출되는 소자에 대한 추출 처리와 병렬로 계산된다. 매트릭스 매핑 정보는 레지스터(N-REG)로부터 현재의 행 값(n)을 검색하고 그 검색된 값을 인터리버 매트릭스 내의 다수의 소자 열(COL)에 의해 승산기(75)로 승산함으로써 계산된다. 다음에, 가산기(76)는 벡터(PERM_VECT)로서 인터리버 열 시퀀스를 포함하는 레지스터 파일(78)로부터 출력되는 현재의 열 값(i)을 가산한다. 레지스터 파일(78)의 출력은 벡터(PERM_VECT)에 따라서 레지스터 파일(78)의 출력값을 증분시키는 인덱스 레지스터(I-REG)의 내용에 의하여 제어된다.
또한, 매트릭스 매핑 회로는 행 인덱스 레지스터(N-REG)와 열 인덱스 레지스터(I-REG)를 선택적으로 증분시키기 위한 소자를 포함한다. 상기 매트릭스 매핑 회로는 각각의 순차적 행 값이 사용될 때까지 동일한 열을 효율적으로 유지하고, 상기 열을 그 열의 초기 행에서 개시하는 인터리버 벡터의 다음 열로 증분시킨다. 이것은 제1 단 처리의 각 사이클에 대해 행 값을 1씩 증분시키도록 행 인덱스 레지스터(N-REG)와 관련된 단위 증분기(80)의 사용을 통해 달성된다. 또한, 행 인덱스 레지스터(N-REG)의 출력은 멀티플렉서(MUX)(83)에 의해 결정된 최대 행 값에 대향하여 비교기(81)로 비교된다. 특정 열에 대한 최대 행 값은 전체 매트릭스의 최대 행 값(ROW)이나 행 값(ROW-1) 중 어느 하나이다. 멀티플렉서(83)는 최대 행 크기(ROW)를 갖는 가장 큰 열 값으로 레지스터 파일(78)에 의한 출력인 현재의 열 값을 비교하는 비교기(84)에 응답하여 출력을 발생시킨다.
만일 비교기(81)가, 최대 행 번호가 행 인덱스 레지스터(N-REG)의 출력 값에 의해 도달되는 것을 결정하는 경우라면, 비교기(81)는 행 인덱스 레지스터(N-REG)를 0으로 리셋하고 열 인덱스 레지스터(I-REG)와 결합된 멀티플렉서(MUX)(86)를 동작시키도록 신호를 발행한다. 또한, 단위 증분기(88)는 열 인덱스 레지스터(I-REG)와 결합되고, 멀티플렉서(MUX)(86)는 비교기(81)로부터 신호가 수신될 때 이 단위 증분기(88)를 통해 I-REG 값을 1씩 증분시키는 것이 가능하게 된다. 그렇지 않으면, 멀티플렉서(86)는 제1 단의 사이클 기간 중에 동일한 값을 열 인덱스 레지스터(I-REG)에 간단히 재저장한다.
이하, 도 11c를 참조하면, 파이프라인 인터리버의 제2 단은 제1 파이프라인 레지스터(REG2)에 추출 및 저장된 소자가 제2 데이터 파이프라인 레지스터(REG9)로 전달 및 저장된 처리 사이클을 포함하고 있다. 상기 제2 단의 처리와 유사하게, 레지스터(REG1)에 저장된 대응하는 매트릭스 매핑 데이터는 레지스터(REG5)에 저장되는 대응하는 개시 비트 어드레스 데이터, 레지스터(REG8)에 저장되는 종료 비트 어드레스 데이터, 레지스터(REG6)에 저장되는 개시 워드 어드레스 데이터, 및 레지스터(REG7)에 저장되는 종료 워드 어드레스 데이터를 계산하는 데 사용되고 있다. 제2 단의 사이클 기간 중에, 레지스터(REG1)로부터의 상기 매트릭스 매핑 데이터는 승산기(90)로 상기 소자 비트 크기 M에 의해 초기에 승산되고 있다. 다음에, 개시 비트 어드레스 데이터는 감산기(91) 내의 합성값으로부터 모듈로 L - 여기서, L은 추출된 소자가 선택적으로 저장되는 경우의 로컬 메모리(100)의 데이터 워드의 비트 크기임 - 등가물을 제공하는 값을 감산함으로써 계산된다. 감산기(91)로 감산된 값은 제산기(92)의 나머지가 없이 승산기(92)의 출력을 L로 나누고 그 나누기 한 값을 승산기(93)로 승산함으로써 계산된다. 또한, 제산기(92)의 출력은 레지스터(REG9) 내의 소자의 적어도 일부가 로컬 메모리(100) 내에 저장되는 대응하는 워드의 개시 워드 어드레스를 제공한다.
종료 비트 어드레스 데이터는 승산기(90)의 처리 결과에 가산기(95)로 M-1을 부가하고, 이어서 레지스터(REG8)에 저장되는 모듈로 L 값을 제공하도록 계산된 값을 감산기(96) 내의 값으로부터 감산함으로써 계산되고 있다. 그 감산된 값은 제산기(97)로 나머지가 없이 가산기(95)의 출력을 L로 나누고 그 나누기 한 결과를 승산기(98)로 승산함으로써 유도된다. 또한, 제산기(97)의 출력은 레지스터(REG7) 내에 저장된 종료 워드 어드레스 데이터를 제공한다.
상기 파이프라인 인터리버의 제3 단은 레지스터(REG5, REG6, REG7, REG8) 내의 데이터에 기초하여 로컬 메모리의 레지스터(REG9) 내의 소자 값을 선택적으로 저장하도록 판독-변경-기록을 수행한다. 초기에, 레지스터(REG6, REG7)의 내용은 비교기(99)에 의해 비교된다. 그 값이 동일하면, 레지스터(REG9) 내의 소자는 로컬 메모리(100)의 단일 워드 내에 저장될 수 있다. 그 경우, 레지스터(REG6)로부터의 값은 멀티플렉서(101)를 통해 시스템 내의 전체 메모리 자원을 할당하는데 사용될 수 있는 베이스 어드레스로 결합될 수 있는 멀티플렉서(102)로 진행된다.
멀티플렉서(102)의 출력은 레지스터(REG9) 내의 소자가 기록되는 워드(W)의 어드레스를 나타낸다. 그 워드는 디멀티플렉서(103)로 출력되는데, 합성 소자는 레지스터(REG5)의 값으로 개시되고 레지스터(REG8)의 값으로 종료되는 워드 내의 순 차적 어드레스로 레지스터(REG9) 내의 소자의 비트값으로 구성된 새로운 워드를 작성하며, 상기 워드의 나머지 비트는 디멀티플렉서(103) 내의 워드의 값으로부터 복사되고 있다. 다음에, 합병 소자(105) 내에 새롭게 형성된 워드는 원래의 워드가 디멀티플렉서(103)에 출력되는 어드레스로 다시 귀환하여 저장된다.
레지스터(REG6, REG7)의 내용이 상이한 경우, 파이프라인의 제1 및 제2 단은 제3 단이 레지스터(REG6) 내의 데이터에 의하여 식별되는 워드에 대하여 판독-변경-기록 사이클을 수행할 수 있도록 하나의 사이클에 대해 스톨링되고, 레지스터(REG7) 내에 저장된 종료 워드 데이터에 대응하는 로컬 메모리 워드에 대하여 판독-변경-기록 사이클을 수행하도록 모든 단의 파이프라인 사이클을 다시 시작한다. 그 경우에, 레지스터(REG6) 내의 개시 워드 어드레스 데이터에 대응하는 상기 로컬 메모리 워드에 대하여 판독-변경-기록 사이클을 수행하는 도중에, 제3 단은 레지스터(REG5)에 저장된 값으로 나타낸 비트 위치로 개시하는 로컬 메모리 워드의 최종 비트에 레지스터(REG9)에 저장된 소자의 처음 부분을 저장한다. 제2 및 제3 단의 사이클 기간 동안, 상기 제1 및 제2 단의 사이클이 다시 시작되는 경우, 레지스터(REG9) 내의 소자의 나머지 부분은 레지스터(REG8) 내에 저장된 값으로 나타낸 비트 어드레스를 통해서 그 워드의 초기 비트로 개시하는 레지스터(REG7) 내의 종료 워드 어드레스 데이터에 대응하는 워드에 저장된다.
데이터 비트 블록의 모든 T 소자가 처리된 이후, 로컬 메모리의 순차적 워드는 시스템에서 추가의 처리를 위해 디멀티플렉서(103)를 통해 판독된다. 도 5a 내지 도 8의 예에 반영된 310개 소자의 데이터 블록의 처리 이후에 상기 로컬 메모리 의 출력은 도 7c에 반영된 워드 시퀀스에 대응한다. 3G 시스템 내의 추가의 처리 중에 확장된 6 비트 소자는 단일 비트로 한정되고, 그에 따라 예컨대 최초의 310 비트의 데이터 블록을 송신기 유닛에서 처음에 발생하는 것과 동일한 시퀀스로 재생한다.
제2 인터리버의 3단 파이프라인의 검사는 2개의 상이한 기술을 사용하여 실행된다. 이들 검사 방법 중 첫번째 방법은 회귀(regression)라고 칭하는 수동 기술(manual technique)이다. 회귀 검사(Regression testing)는 물리 채널(PyCH) 메모리로부터 30 및 32 비트 워드를 인출하고, 이들 비트로부터 6 비트 소자를 추출하며, 이들이 파이프라인의 하부를 통과함으로써 수행된다. 그 검사 사이클은 수동 사이클 기반 시뮬레이션에 기초하고, 레지스터 및 내부 메모리의 예상된 내용은 손으로 결정된다. 이들 값은 시뮬레이션에 의해 얻어진 실제의 값과 비교된다. 상기 시뮬레이션은 다수의 검사의 경우와 파이프라인 스톨 조건의 모든 경우에 대해서 수행된다. 인터리버 파이프라인은 수동 설정의 모든 검사 시나리오의 조건하에서 정확하게 기능하는 것이 발견되고 있다.
다음에, 인터리버는 C 언어로 독립적으로 구현되고 있다. 검사 벡터의 세트는 C 블록에 적용되고, 그 출력은 결과 파일로 모니터되어 기록되고 있다. 입력 검사 벡터의 동일한 세트는 VHDL 모델로 적용된다. 상기 검사에는 2개의 입력 벡터의 세트가 사용된다.
즉, 상기 검사에 201 개의 소자 입력 벡터와 540 개의 소자 입력 벡터가 사용된다. 2개의 상이한 인터리버 매트릭스를 작성하기 위해서는 2개의 상이한 입력 세트가 사용되고 있다. 201 개의 소자 매트릭스는 2개의 상이한 행 크기를 가지며, 하나의 행은 다른 행보다 작은 행이다. 540 개의 소자 매트릭스는 단일의 행 크기를 갖는다. 따라서, 2가지 상이한 유형의 인터리버 매트릭스 구조를 포함하는 검사가 가능하게 된다. 그 검사 결과는 VHDL 모델 및 C 언어 모델로부터의 출력 벡터가 2개의 입력의 경우가 매칭되는 것을 나타내고 있다.
하드웨어는 시놉시스(Synopsys)의 논리 합성기와 텍사스 인스트루먼츠(Texas Instruments)사의 0.18 um의 표준 셀 라이브러리(Cell Library)를 사용하여 합성되고 있다. 그 게이트 계수는 이하의 표 3에 나타내는 바와 같다.
표준 셀 수(TI/GS30/Std-Cell) | 1034 |
순차 게이트 | 1844 |
조합 게이트 | 3348 |
전체 게이트 | 5192 |
파이프라인 구조는 고속의 처리량 및 적은 수의 게이트에 의해 소형의 콤팩트 면적을 보증한다. 3단의 파이프라인이 바람직함에도 불구하고, 도 11a 내지 도 11c에 예시된 양호한 시스템으로부터 레지스터(REG1, REG2)를 제거함으로써 2단 설계가 용이하게 구현되고 있다.
본 발명은 전술한 실시예의 형태로 한정하는 것은 아니며, 본 발명의 기술적 사상 및 범주를 벗어나지 않는 범위 내에서 당업자에 의해 여러 가지의 변형 및 수정이 가능함을 이해할 수 있다.
본 발명에 의하면, 고속 및 효율적인 방법으로 확장된 열의 인터리브된 데이터 블록을 디인터리빙하기 위한 방법 및 장치를 제공하는 고도의 이점을 제공할 수 있다.
Claims (24)
- C 열 및 N 행을 갖는 매트릭스로의 매핑에 기초해서 전송을 위해 인터리브된 M 배수의 일련의 T 데이터 비트들을 나타내는 수신된 일련의 통신 데이터 비트들을 디인터리빙하는 방법 -여기서, 상기 매트릭스의 최종 r개의 열은 N-1 행을 가지며, 인터리브된 데이터 비트들의 수인 T는 (C * N) - r과 동일함- 으로서,상기 수신된 일련의 통신 데이터 비트로부터 M 데이터 비트의 세트들을 순차적으로 추출하는 단계와;사전 결정된 인터리버 열 시퀀스의 초기 열의 제1 행에서 제1 추출된 M 데이터 비트의 세트에 대한 매트릭스 매핑 위치를 결정하는 단계와;각각의 후속 추출된 M 데이터 비트의 세트에 대해서, 바로 이전의 M 데이터 비트의 세트와 동일한 열의 다음 행, 또는 상기 동일한 열이 다음 행을 갖지 않는 경우라면 상기 사전 결정된 인터리버 열 시퀀스 내의 다음 열의 제1 행에서, 행 n 및 열 i의 매트릭스 매핑 위치를 결정하는 단계와;로컬 메모리의 순차 어드레스의 행 단위의 순차 매핑을 정의하는 단계와;상기 제1 추출된 M 데이터 비트의 세트 및 상기 각각의 후속 추출된 M 데이터 비트의 세트 각각에 대해서, 각 세트의 결정된 매트릭스 매핑 위치에 대응하는 순차 비트 어드레스를 결정하는 단계와;각각의 M 데이터 비트의 세트를 상기 로컬 메모리 내의 상기 결정된 어드레스에 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 디인터리빙 방법.
- 제1항에 있어서, 상기 데이터 디인터리빙 방법의 단계들은,최종 M 데이터 비트의 세트를 저장한 이후에 상기 로컬 메모리의 순차 어드레스의 행 단위의 순차 매핑에 기초해서 상기 로컬 메모리에 저장된 데이터 비트들을 순차적으로 판독하는 단계를 더 포함하는 제2 디인터리빙 처리로서 주파수 분할 이중화(FDD) 수신기에서 실행되고,상기 수신된 일련의 통신 데이터 비트들은 인터리빙 전에 전송을 위해 인터리브된 일련의 T 데이터 비트들에 대응하는 디인터리브된 시퀀스 내에서 순차적으로 정렬되는 것인 데이터 디인터리빙 방법.
- 제1항에 있어서, 각각의 연속적인 M 데이터 비트의 세트는 추출되어 제1 파이프라인 레지스터에 저장되고;각각의 M 데이터 비트의 세트를 위한 상기 매트릭스 매핑 위치의 행 및 열은 상기 제1 파이프라인 레지스터 내의 M 데이터 비트의 세트의 저장소와 평행하게 결정됨으로써 제1 단의 처리 사이클을 정의하는 것인 데이터 디인터리빙 방법.
- 제3항에 있어서, 상기 제1 파이프라인 레지스터 내의 M 데이터 비트의 세트는 제2 파이프라인 레지스터에 저장되고, 로컬 메모리 어드레스 정보는 상기 M 데이터 비트의 세트에 대해 평행하게 결정됨으로써 제2 단의 처리 사이클을 정의하는 것인 데이터 디인터리빙 방법.
- 제4항에 있어서, 상기 제2 파이프라인 레지스터 내의 M 데이터 비트의 세트의 적어도 일부는 상기 로컬 메모리에 저장됨으로써 제3 단의 처리 사이클을 정의하는 것인 데이터 디인터리빙 방법.
- C 열 및 N 행을 갖는 매트릭스로의 매핑에 기초해서 전송을 위해 인터리브된 M 배수의 일련의 T 데이터 비트들을 나타내는 수신된 일련의 통신 데이터 비트들에 대해 디인터리빙 처리가 수행되는 무선 통신 시스템용 통신국 -여기서, 상기 매트릭스의 최종 r개의 열은 N-1 행을 가지며, 상기 인터리브된 데이터 비트들의 수인 T는 (C * N) - r과 동일함- 에 있어서,디인터리빙 수단을 포함하고,상기 디인터리빙 수단은,상기 수신된 일련의 통신 데이터 비트들로부터 M 데이터 비트의 세트들을 순차적으로 추출하는 수단과;사전 결정된 인터리버 열 시퀀스의 초기 열의 제1 행에서 제1 추출된 M 데이터 비트의 세트에 대한 매트릭스 매핑 위치를 결정하는 수단과;각각의 후속 추출된 M 데이터 비트의 세트에 대해서, 바로 이전의 M 데이터 비트의 세트와 동일한 열의 다음 행, 또는 상기 동일한 열이 다음 행을 갖지 않는 경우라면 상기 사전 결정된 인터리버 열 시퀀스 내의 다음 열의 제1 행에서, 행 n 및 열 i의 매트릭스 매핑 위치를 결정하는 수단과;로컬 메모리의 순차 어드레스의 행 단위의 순차 매핑을 정의하는 수단과;상기 제1 추출된 M 데이터 비트의 세트 및 상기 각각의 후속 추출된 M 데이터 비트의 세트 각각에 대해서, 각 세트의 결정된 매트릭스 매핑 위치에 대응하는 순차 비트 어드레스를 결정하는 수단과;각각의 M 데이터 비트의 세트를 상기 로컬 메모리 내의 상기 결정된 어드레스에 저장하는 수단을 포함하는 것인 무선 통신 시스템용 통신국.
- 제6항에 있어서, 제2 디인터리빙 처리로서 상기 디인터리빙 수단을 구현하도록 구성되고, 최종 M 데이터 비트의 세트를 저장한 이후에 상기 로컬 메모리의 순차 어드레스의 행 단위의 순차 매핑에 기초해서 상기 로컬 메모리에 저장된 데이터 비트들을 순차적으로 판독하도록 구성된 수신기를 포함하고,생성되는 상기 수신된 일련의 통신 데이터 비트들은 인터리빙 전에 전송을 위해 인터리브된 상기 일련의 T 데이터 비트들에 대응하는 디인터리브된 시퀀스 내에서 순차적으로 정렬되는 것인 무선 통신 시스템용 통신국.
- 제6항에 있어서, 상기 M 데이터 비트의 세트들을 순차적으로 추출하는 수단은 각각의 연속적인 M 데이터 비트의 세트가 추출되어 제1 파이프라인 레지스터에 저장되도록 구성되고;상기 매트릭스 매핑 위치를 결정하는 수단은 각각의 M 데이터 비트의 세트를 위한 상기 매트릭스 매핑 위치의 행 및 열이 상기 제1 파이프라인 레지스터 내의 M 데이터 비트의 세트의 저장소와 평행하게 결정됨으로써 제1 단 처리 회로를 함께 정의하도록 구성되는 것인 무선 통신 시스템용 통신국.
- 제8항에 있어서, 상기 순차 비트 어드레스를 결정하는 수단을 포함하고, 상기 로컬 메모리 어드레스 정보가 상기 제1 파이프라인 레지스터 내의 M 데이터 비트의 세트에 대해서 상기 M 데이터 비트의 세트를 제2 파이프라인 레지스터로의 저장소와 평행하게 결정되도록 구성되는 제2 단 처리 회로가 설치된 것인 무선 통신 시스템용 통신국.
- 제9항에 있어서, 상기 각각의 M 데이터 비트의 세트를 저장하는 수단을 포함하고, 상기 제2 파이프라인 레지스터 내의 M 데이터 비트의 세트의 적어도 일부가 M 데이터 비트의 세트의 각각의 제2 단 처리 회로에 대해서 상기 로컬 메모리에 저장되도록 구성되는 제3 단 처리 회로가 설치된 것인 무선 통신 시스템용 통신국.
- 제10항에 있어서, 상기 제1 단 처리 회로, 상기 제2 단 처리 회로 및 상기 제3 단 처리 회로는 최종 M 데이터 비트의 세트를 저장한 이후에 상기 로컬 메모리의 순차 어드레스의 행 단위의 순차 매핑에 기초해서 상기 로컬 메모리에 저장된 데이터 비트들을 순차적으로 판독하도록 구성된 수신기 모뎀 내에서 실행되고, 생성되는 상기 수신된 일련의 통신 데이터 비트들은 인터리빙 전에 전송을 위해 인터리브된 상기 일련의 T 데이터 비트들에 대응하는 디인터리브된 시퀀스 내에서 순차적으로 정렬되는 것인 무선 통신 시스템용 통신국.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23222400P | 2000-09-13 | 2000-09-13 | |
US60/232,224 | 2000-09-13 | ||
US26093001P | 2001-01-11 | 2001-01-11 | |
US60/260,930 | 2001-01-11 | ||
PCT/US2001/022807 WO2002023740A1 (en) | 2000-09-13 | 2001-07-19 | Third generation fdd modem interleaver |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037003724A Division KR100541586B1 (ko) | 2000-09-13 | 2001-07-19 | 제3 세대 fdd 모뎀 인터리버 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030097841A KR20030097841A (ko) | 2003-12-31 |
KR100797871B1 true KR100797871B1 (ko) | 2008-01-24 |
Family
ID=26925780
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037003724A KR100541586B1 (ko) | 2000-09-13 | 2001-07-19 | 제3 세대 fdd 모뎀 인터리버 |
KR1020037013884A KR100797871B1 (ko) | 2000-09-13 | 2001-07-19 | 제3 세대 fdd 모뎀 인터리버 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037003724A KR100541586B1 (ko) | 2000-09-13 | 2001-07-19 | 제3 세대 fdd 모뎀 인터리버 |
Country Status (16)
Country | Link |
---|---|
US (2) | US6947491B2 (ko) |
EP (1) | EP1320929A1 (ko) |
JP (1) | JP4824262B2 (ko) |
KR (2) | KR100541586B1 (ko) |
CN (1) | CN1272912C (ko) |
AR (1) | AR030634A1 (ko) |
AU (1) | AU2001280631A1 (ko) |
BR (1) | BR0114128A (ko) |
CA (1) | CA2421956C (ko) |
HK (1) | HK1060219A1 (ko) |
IL (2) | IL154858A0 (ko) |
MX (1) | MXPA03002200A (ko) |
MY (1) | MY135106A (ko) |
NO (1) | NO20031135L (ko) |
TW (3) | TWI271954B (ko) |
WO (1) | WO2002023740A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4029630B2 (ja) * | 2002-02-27 | 2008-01-09 | ソニー株式会社 | インタリーブ処理装置とインタリーブ処理方法及びインタリーブ処理プログラム |
KR100486284B1 (ko) * | 2002-11-22 | 2005-04-29 | 삼성전자주식회사 | 연속되는 두 개의 디인터레이스 프레임들을 출력할 수있는 디인터레이스 장치 및 디인터레이스 방법 |
US8077743B2 (en) * | 2003-11-18 | 2011-12-13 | Qualcomm Incorporated | Method and apparatus for offset interleaving of vocoder frames |
US8325826B2 (en) * | 2005-03-09 | 2012-12-04 | Qualcomm Incorporated | Methods and apparatus for transmitting signals facilitating antenna control |
US8225186B2 (en) * | 2006-07-14 | 2012-07-17 | Qualcomm Incorporated | Ecoding and decoding methods and apparatus for use in a wireless communication system |
CN104390267B (zh) * | 2014-10-31 | 2017-05-24 | 广东美的制冷设备有限公司 | 空调器及该空调器的送风方法 |
WO2019155468A1 (en) | 2018-02-08 | 2019-08-15 | Yissum Research Development Company Of The Hebrew University Of Jerusalem Ltd. | Heteroaryl compounds, pharmaceutical compositions thereof, and their therapeutic use |
US11540120B2 (en) * | 2018-06-05 | 2022-12-27 | Drexel University | Physical layer key based interleaving for secure wireless communication |
TWI685217B (zh) * | 2018-07-23 | 2020-02-11 | 朱盈宇 | 可辨封包次序更正碼 |
SG11202113211PA (en) | 2019-06-03 | 2021-12-30 | Biotheryx Inc | Non-hygroscopic crystalline salts of a pyrazole compound, and pharmaceutical compositions and use thereof |
CN111478708B (zh) * | 2020-03-31 | 2023-08-11 | Oppo广东移动通信有限公司 | 电子设备、芯片、系统总线、译码模块、译码器及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4394642A (en) * | 1981-09-21 | 1983-07-19 | Sperry Corporation | Apparatus for interleaving and de-interleaving data |
US5737252A (en) * | 1995-02-01 | 1998-04-07 | U.S. Phillips Corporation | Circuit arrangement comprising a permutation unit and method of processing a batch of items |
US5912898A (en) * | 1997-02-27 | 1999-06-15 | Integrated Device Technology, Inc. | Convolutional interleaver/de-interleaver |
WO2000039941A1 (en) * | 1998-12-26 | 2000-07-06 | Samsung Electronics Co., Ltd. | Interleaving / deinterleaving device and method for communication system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2198452T3 (es) * | 1995-06-12 | 2004-02-01 | Siemens Aktiengesellschaft | Procedimiento e instalacion de codificacion para la transmision segura de datos por medio de codificacion de componentes multiples. |
JPH10200502A (ja) * | 1997-01-07 | 1998-07-31 | N T T Ido Tsushinmo Kk | Cdma移動通信システムにおけるデータ伝送方法およびcdma移動通信システムと移動局装置と基地局装置 |
EP0954109B1 (en) * | 1998-04-27 | 2004-12-22 | Matsushita Electric Industrial Co., Ltd. | Convolutional interleaver, convolutional deinterleaver, convolutional interleaving method, and convolutional deinterleaving method |
JP2000124816A (ja) * | 1998-10-14 | 2000-04-28 | Oki Electric Ind Co Ltd | 符号化インタリーブ装置 |
US6233709B1 (en) * | 1998-12-07 | 2001-05-15 | Nokia Mobile Phones Ltd. | Dynamic iterative decoding for balancing quality of service parameters |
US6553517B1 (en) * | 1999-04-09 | 2003-04-22 | Sony Corporation | Interleavers and de-interleavers |
-
2001
- 2001-07-19 WO PCT/US2001/022807 patent/WO2002023740A1/en active IP Right Grant
- 2001-07-19 MX MXPA03002200A patent/MXPA03002200A/es unknown
- 2001-07-19 EP EP01959035A patent/EP1320929A1/en not_active Withdrawn
- 2001-07-19 US US09/908,820 patent/US6947491B2/en not_active Expired - Fee Related
- 2001-07-19 IL IL15485801A patent/IL154858A0/xx active IP Right Grant
- 2001-07-19 AU AU2001280631A patent/AU2001280631A1/en not_active Abandoned
- 2001-07-19 CA CA002421956A patent/CA2421956C/en not_active Expired - Fee Related
- 2001-07-19 KR KR1020037003724A patent/KR100541586B1/ko not_active IP Right Cessation
- 2001-07-19 JP JP2002527062A patent/JP4824262B2/ja not_active Expired - Fee Related
- 2001-07-19 CN CNB018179614A patent/CN1272912C/zh not_active Expired - Fee Related
- 2001-07-19 BR BR0114128-7A patent/BR0114128A/pt not_active IP Right Cessation
- 2001-07-19 KR KR1020037013884A patent/KR100797871B1/ko not_active IP Right Cessation
- 2001-07-31 TW TW093107354A patent/TWI271954B/zh not_active IP Right Cessation
- 2001-07-31 TW TW090118661A patent/TWI239728B/zh not_active IP Right Cessation
- 2001-09-10 AR ARP010104267A patent/AR030634A1/es not_active Application Discontinuation
- 2001-09-11 MY MYPI20014258A patent/MY135106A/en unknown
-
2002
- 2002-12-03 TW TW091135100A patent/TWI269548B/zh not_active IP Right Cessation
-
2003
- 2003-03-11 IL IL154858A patent/IL154858A/en not_active IP Right Cessation
- 2003-03-12 NO NO20031135A patent/NO20031135L/no not_active Application Discontinuation
-
2004
- 2004-04-26 HK HK04102898A patent/HK1060219A1/xx not_active IP Right Cessation
-
2005
- 2005-06-01 US US11/141,961 patent/US7317762B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4394642A (en) * | 1981-09-21 | 1983-07-19 | Sperry Corporation | Apparatus for interleaving and de-interleaving data |
US5737252A (en) * | 1995-02-01 | 1998-04-07 | U.S. Phillips Corporation | Circuit arrangement comprising a permutation unit and method of processing a batch of items |
US5912898A (en) * | 1997-02-27 | 1999-06-15 | Integrated Device Technology, Inc. | Convolutional interleaver/de-interleaver |
WO2000039941A1 (en) * | 1998-12-26 | 2000-07-06 | Samsung Electronics Co., Ltd. | Interleaving / deinterleaving device and method for communication system |
Also Published As
Publication number | Publication date |
---|---|
EP1320929A1 (en) | 2003-06-25 |
CA2421956A1 (en) | 2002-03-21 |
TW200300061A (en) | 2003-05-01 |
JP2004509501A (ja) | 2004-03-25 |
KR100541586B1 (ko) | 2006-01-11 |
IL154858A0 (en) | 2003-10-31 |
JP4824262B2 (ja) | 2011-11-30 |
AU2001280631A1 (en) | 2002-03-26 |
TW200419922A (en) | 2004-10-01 |
US20050273676A1 (en) | 2005-12-08 |
IL154858A (en) | 2007-10-31 |
TWI271954B (en) | 2007-01-21 |
US20020083279A1 (en) | 2002-06-27 |
BR0114128A (pt) | 2003-07-29 |
WO2002023740A1 (en) | 2002-03-21 |
CN1471762A (zh) | 2004-01-28 |
US7317762B2 (en) | 2008-01-08 |
MY135106A (en) | 2008-02-29 |
TWI269548B (en) | 2006-12-21 |
US6947491B2 (en) | 2005-09-20 |
HK1060219A1 (en) | 2004-07-30 |
KR20030097841A (ko) | 2003-12-31 |
CN1272912C (zh) | 2006-08-30 |
TWI239728B (en) | 2005-09-11 |
CA2421956C (en) | 2007-01-09 |
AR030634A1 (es) | 2003-08-27 |
NO20031135D0 (no) | 2003-03-12 |
MXPA03002200A (es) | 2007-10-02 |
NO20031135L (no) | 2003-05-13 |
KR20030031186A (ko) | 2003-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7317762B2 (en) | Third generation FDD modem interleaver | |
US6549998B1 (en) | Address generator for interleaving data | |
US7249255B2 (en) | Apparatus and method for a hash processing system using multiple hash storage areas | |
JP2002532939A (ja) | 第3世代の符号分割多重アクセスのためのターボコード・インターリーバ | |
US6023466A (en) | Bit mapping apparatus and method | |
WO1996037050A1 (en) | Reconfigurable interleaver/deinterleaver and address generator for data streams interleaved according to one of a plurality of interleaving schemes | |
US20040039867A1 (en) | Multirate circular buffer and method of operating the same | |
US7870462B2 (en) | Methods and devices for randomizing burst errors | |
JP4064894B2 (ja) | インタリーブド・アドレスを生成するための方法および装置 | |
US7051261B1 (en) | Turbo encoder with reduced processing delay | |
TWI390230B (zh) | 提供用於多個實體通道之碼之方法以及碼記憶體 | |
US20090135782A1 (en) | Correlator for primary cell search using memory architecture | |
KR20070029744A (ko) | 터보 디코더 입력 재배치 | |
US6141348A (en) | Constant-time programmable field extraction system and method | |
US5913216A (en) | Sequential pattern memory searching and storage management technique | |
Harju et al. | A flexible Rake Receiver Architecture for WCDMA mobile terminals | |
CA2560715A1 (en) | Third generation fdd modem interleaver | |
KR100310096B1 (ko) | 원거리통신회로스위치 | |
CN111446977A (zh) | 超宽带前导码接收器及其接收方法 | |
KR100943612B1 (ko) | 터보코드를 사용하는 이동통신시스템의 터보 인터리버장치 및 방법 | |
US20040261006A1 (en) | Rate dematching processor | |
CN1913367A (zh) | 第三代频分双工调制解调交织器 | |
KR100800840B1 (ko) | 터보코드를 사용하는 부호분할다중접속 이동통신시스템의 터보 인터리버 및 터보 인터리빙 방법 | |
CZ2000941A3 (cs) | Způsob a systém pro rychlá směrovací vyhledávání | |
KR20070080990A (ko) | 이동통신시스템에서 디인터리빙을 효율적으로 수행하는장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20121220 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131219 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |