[go: up one dir, main page]

KR20100082023A - 프루닝된 비트-리버설 인터리버 - Google Patents

프루닝된 비트-리버설 인터리버 Download PDF

Info

Publication number
KR20100082023A
KR20100082023A KR1020107012051A KR20107012051A KR20100082023A KR 20100082023 A KR20100082023 A KR 20100082023A KR 1020107012051 A KR1020107012051 A KR 1020107012051A KR 20107012051 A KR20107012051 A KR 20107012051A KR 20100082023 A KR20100082023 A KR 20100082023A
Authority
KR
South Korea
Prior art keywords
bits
sequence
size
bit
packet
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020107012051A
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 퀄컴 인코포레이티드
Publication of KR20100082023A publication Critical patent/KR20100082023A/ko
Ceased legal-status Critical Current

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
    • 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/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • 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/2757Interleaver with an interleaving rule not provided for in the subgroups H03M13/2703 - H03M13/2753
    • 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

Landscapes

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

Abstract

프루닝된 비트-리버설 인터리버는 상이한 패킷 사이즈들 및 가변 코드 레이트들을 지원하고, 양호한 스프레딩 및 펑쳐링 특성들을 제공한다. 데이터를 인터리빙하기 위해, 제 1 사이즈의 입력 데이터의 패킷이 수신된다. 이 패킷은, 예를 들어, 패딩을 부가하거나 라이팅 어드레스들을 적절히 생성함으로써, 2 의 제곱승의 제 2 사이즈로 확장된다. 이 확장된 패킷은, 확장된 패킷을 그들의 표시자에 기초하여 리오더링하는, 제 2 사이즈의 비트-리버설 인터리버에 따라 인터리빙된다. 인터리빙된 데이터의 패킷은, 예를 들어, 패딩을 제거하거나 리딩 어드레스들을 적절히 생성함으로써 비트-리버설 인터리버의 출력을 프루닝함으로써 형성된다. 프루닝된 비트-리버설 인터리버는, 터보 코드, 컨볼루셔널 코드, 또는 LDPC (low density parity check) 코드와 같은 다양한 타입의 FEC 코드들과 함께 이용될 수도 있다.

Description

프루닝된 비트-리버설 인터리버{PRUNED BIT-REVERSAL INTERLEAVER}
본 발명은 일반적으로 통신에 관한 것이고, 더욱 구체적으로는, 통신 시스템에서 데이터를 인터리빙하는 기술에 관한 것이다.
통신 시스템에서, 송신기는 통상적으로 트래픽 데이터 패킷을 인코딩하여 코드 비트들의 패킷을 생성하고, 그 코드 비트들을 인터리빙 또는 리오더링하고, 그 인터리빙된 비트들을 변조하여 변조 심볼들을 생성한다. 그 다음, 송신기는 그 변조된 심볼들을 처리하여 통신 채널을 통해 송신한다. 데이터 송신은 열잡음, 간섭, 스푸리어스 신호 (spurious signal) 등과 같은 통신 채널에서의 감손에 의해 열화된다. 수신기는 송신된 변조 심볼들의 왜곡된 버전을 획득한다.
인코딩과 인터리빙은 수신된 심볼들의 열화가 존재하는 송신된 트래픽 데이터를 수신기가 복구할 수 있도록 한다. 인코딩은, 수신기가 수신된 트래픽 데이터의 에러들을 검출할 수 있도록 하는 에러 검출 코딩, 및/또는, 수신기가 수신된 트래픽 데이터의 에러들을 정정할 수 있도록 하는 FEC (forward error correction) 코딩을 포함한다. FEC 코딩은 코딩된 패킷에 리던던시를 생성한다. 이 리던던시는, 송신 동안 약간의 에러가 발생하더라도 수신기가 이 송신된 트래픽 데이터를 복구할 수 있도록 한다. 인터리빙은, 서로 가까운 코드 비트들이 송신 동안 시간, 주파수, 및/또는 공간으로 분리되도록 패킷의 코드 비트들을 리오더링하거나 셔플 (shuffle) 한다. 송신 동안 에러들의 버스트가 발생하면, 이들 에러들은 수신기에서 디-인터리빙 후에 떨어져 흩어지게 되어, 디코딩 성능을 향상시킨다.
인터리버는 종종 특정 사이즈의 패킷들에 대해 양호한 성능을 달성하도록 설계된다. (여기서, "사이즈" 와 "길이" 라는 용어는 동의어이고, 서로 바꾸어 사용될 수 있다.) 통신 시스템이 다중 패킷 사이즈들을 지원한다면, 각각의 패킷 사이즈에 대해 종종 상이한 인터리버가 설계되고 사용된다. 상이한 패킷 사이즈들에 대한 다중 인터리버들의 사용은, 특히 시스템이 넓은 범위의 패킷 사이즈들을 지원하면, 송신기에서의 인터리빙 및 수신기에서의 디-인터리빙을 복잡하게 만들 수 있다.
따라서, 상이한 사이즈들의 패킷들에 대한 인터리빙을 효율적으로 수행할 수 있는 기술들이 당해 기술분야에서 필요하다.
상이한 사이즈들의 패킷들에 대한 인터리빙을 효율적으로 수행할 수 있는 기술들을 제공하는 것이 목적이다.
프루닝된 비트-리버설 인터리버 (pruned bit-reversal interleaver) 를 이용한, 상이한 사이즈들의 패킷들에 대한 인터리빙 기술들이 여기에 개시된다. 비트-리버설 인터리버는 Nbr 입력 비트들의 패킷을 받아서, 이들 비트들을 그들의 인덱스들에 기초하여, 입력 패킷의 인덱스 i 에서의 비트가 인터리빙된 패킷의 인덱스 j 에 위치되도록 (여기서 j 는 i 의 비트-리버스된 값) 리오더링한다. 비트-리버설 인터리버는 2 의 제곱승 (powers of two) 의 패킷 사이즈들에 대해 작용한다. 프루닝된 비트-리버설 인터리버는 N 개의 입력 비트들의 패킷을 받아서 이들 비트들을 그들의 표시자에 기초하여, 비트-리버설 인터리버와 유사하게 리오더링한다. 그러나, N 은 임의의 값일 수도 있고, 2 의 제공승에 한정되지 않는다. 프루닝된 비트-리버설 인터리버는 상이한 패킷 사이즈들 및 가변 코드 레이트들을 지원하고, 양호한 스프레딩 및 펑쳐링 (puncturing) 특성을 제공하여, 전술한 바와 같은 디코딩 성능을 향상시킬 수 있다.
인터리빙 데이터에 대한 일 실시형태에서, 제 1 사이즈의 입력 데이터의 패킷이 수신된다. 이 패킷은, 예를 들어, 패킷에 패딩을 부가하거나 패킷을 메모리에 라이팅하기 위한 어드레스들을 적절하게 생성함으로써, 2 의 제곱승의 제 2 사이즈로 확장된다. 확장된 패킷은 제 2 사이즈의 비트-리버설 인터리버에 따라 인터리빙된다. 그 다음, 예를 들어 패딩을 제거하거나 패킷을 메모리로부터 리딩하기 위한 어드레스들을 적절하게 생성함으로써, 비트-리버설 인터리버의 출력을 프루닝함으로써, 인터리빙된 데이터의 패킷이 형성된다.
프루닝된 비트-리버설 인터리버는, 터보 코드, 컨볼루셔널 코드, 저밀도 패리티 체크 코드 (LDPC) 등과 같은 다양한 타입의 FEC 코드들과 함께 사용될 수도 있다. 프루닝된 인터리빙 기술들은, 예를 들어, LCS (linear congruential sequence) 인터리버, 의사-랜덤 인터리버 등과 같은 다른 타입들의 인터리버로도 확장될 수도 있다. 이들 다른 타입들의 인터리버에 대해서, 인터리버 사이즈는 2 의 제곱승일 수도 있고 아닐 수도 있다.
이하, 본 발명의 다양한 양태 및 실시형태들을 설명한다.
상이한 사이즈들의 패킷들에 대한 인터리빙을 효율적으로 수행할 수 있는 기술들을 제공할 수 있다.
본 발명의 특징들 및 성질은 도면과 함께 설명된 상세한 설명을 통해 더욱 분명해질 것이며, 도면에서 동일 부호는 전체에 걸쳐 동일 구성요소를 나타낸다.
도 1 은 송신기의 블록도를 나타낸다.
도 2 는 수신기의 블록도를 나타낸다.
도 3 은 4-비트 리버설 인터리버의 동작을 나타낸다.
도 4 는 4-비트 프루닝된 리버설 인터리버의 동작을 나타낸다.
도 5 는 프루닝된 비트-리버설 인터리빙을 수행하는 프로세스를 나타낸다.
도 6 은 채널 인터리버의 블록도를 나타낸다.
도 7 은 프루닝된 비트-리버설 인터리버를 이용한 터보 인코더를 나타낸다.
도 8 은 프루닝된 비트-리버설 인터리버를 이용한 컨볼루셔널 인코더를 나타낸다.
도 9 는 프루닝된 비트-리버설 인터리버를 이용한 LDPC 인코더를 나타낸다.
"예시적" 이라는 표현은 여기서 "예, 예증, 또는 실례로서 기능하는" 의 의미로 사용된다. 여기에 설명된 임의의 실시형태 또는 디자인은 다른 실시형태들 또는 디자인들에 비해 더 바람직하거나 장점을 가진 것으로 해석될 필요는 없다.
통신 시스템은, 음성, 패킷 데이터 등과 같은 다양한 통신 서비스들을 제공하기 위해 폭넓게 활용된다. 이들 시스템은 가용 시스템 자원들을 나눔으로써 다중 이용자들이 동시에 통신할 수 있도록 지원할 수 있는 시간, 주파수, 및/또는 코드 분할 다중-액세스 시스템들일 수도 있다. 이러한 다중-액세스 시스템들의 예로서는, CDMA (Code Division Multiple Access) 시스템, MC-CDMA (Multiple-Carrier CDMA), W-CDMA (Wideband CDMA), HSDPA (High-Speed Downlink Packet Access), TDMA (Time Division Multiple Access) 시스템, FDMA (Frequency Division Multiple Access) 시스템, 및 OFDMA (Orthogonal frequency Division Multiple Access) 시스템 등을 들 수 있다.
도 1 은 무선 통신 시스템의 송신기 (110) 의 일 실시형태의 블록도를 나타낸다. 송신기 (110) 에서, 프레이밍 유닛 (114) 은 데이터 소스 (112) 로부터 트래픽 데이터 (또는 정보 비트들) 를 수신하고, 정보 비트들의 패킷을 형성하고, 그 각각의 정보 패킷을 포맷하여 대응하는 데이터 패킷을 생성한다. 각각의 패킷에 대한 포맷은, 예를 들어, (1) 정보 비트들에 대해 CRC (cyclic redundancy check) 값을 생성하고, (2) 정보 비트들에 대해 CRC 값, 헤더, 패딩, 테일 비트들 등을 부가하고, (3) 모든 비트들을 스크램블링 코드로 스크램블링하여 데이터 패킷을 생성하는 것을 포함할 수도 있다. 인코더 (116) 는 각각의 데이터 패킷을 코딩 방식 (coding scheme) 에 따라 인코딩하고, 대응하는 코딩된 패킷을 제공한다. 코딩 방식으로는, 터보 코드, 컨볼루셔널 코드, LDPC 코드, IRA (irregular repeat-accumulate) 코드 (이는 LDPC 코드의 분류로 간주될 수도 있다), 블록 코드, 일부 다른 FEC 코드, 또는 이들의 조합 등을 포함할 수도 있다. 인코딩은 코딩된 패킷에 리던던시를 생성하고, 이는 데이터 송신의 신뢰도를 증가시킨다.
채널 인터리버 (118) 는 인터리빙 방식에 기초하여 각각의 코딩된 패킷에 코드 비트들을 인터리빙 (즉, 리오더링 또는 셔플) 하고, 대응하는 인터리빙된 패킷을 제공한다. 인터리빙은 코딩된 패킷에 대해 시간, 주파수, 및/또는 공간 다이버시티를 제공하고, 이하 설명되는 바와 같이 수행될 수도 있다. 펑쳐링 유닛 (120) 은 각각의 인터리빙된 패킷에서 제로 또는 그 이상의 비트들을 펑쳐링 (즉, 삭제) 하여 패킷에 대해 원하는 수의 비트들을 획득한다. 인코더 (116) 는, 패킷에서 ND 데이터 비트들에 대해 NC 코드 비트들을 생성하는 베이스 코드를 구현할 수도 있다 (여기서, ND ≥1 이고, NC 는 ND 및 베이스 코드의 코드 레이트에 의존한다). 예를 들어, 베이스 코드가 Rbase = 1/5 의 레이트를 갖는다면, 인코더 (116) 는 각각의 데이터 비트에 대해 5 개의 코드 비트들을 생성하고, NC = 5ND 이다. NT 코드 비트들이 NT < NC 인 패킷에 대해 송신된다면, 펑쳐링 유닛 (120) 은 NC-NT 코드 비트들을 삭제하고, 패킷에 대해 나머지 NT 코드 비트들을 제공한다. 그러면, 패킷에 대한 실제 코드 레이트는 R = ND/NT 이고, 이는 베이스 코드 레이트 Rbase = 1/5 보다 더 높다. 펑쳐링 유닛 (120) 은 각각의 인터리빙된 패킷의 펑쳐링되지 않은 비트들을 포함하는 출력 패킷을 제공한다.
심볼 맵퍼 (symbol mapper; 122)는 변조 방식에 따라 각각의 출력 패킷의 비트들을 매핑한다. 심볼 매핑은, (1) B 비트들의 셋트들을 B-비트 바이너리 값들로 그룹핑하고 (여기서 B ≥ 1), (2) 각각의 B-비트 바이너리 값을 선택된 변조 방식에 대한 신호 무리의 포인트로 매핑함으로써 달성될 수도 있다. 각각의 변조 심볼은 B 비트들의 셋트에 대해 매핑된 신호 포인트에 대응하는 복소값이다. 심볼 맵퍼 (122) 는 각각의 출력 패킷에 대해 변조 심볼들의 패킷을 제공한다.
송신기 유닛 (TMTR) (124) 은 시스템의 설계에 따라 변조 심볼들을 처리하고, 데이터 샘플들을 생성한다. 예를 들어, 송신기 유닛 (124) 은 OFDM (orthogonal frequency division multiplexing) 변조, 스펙트럼 확산 등을 수행할 수도 있다. 송신기 유닛 (124) 은 데이터 샘플들을 추가적으로 컨디셔닝 (예를 들어, 아날로그 변환, 필터링, 증폭, 및 주파수 상향변환 등) 하여 변조된 신호를 생성하여, 이것은 안테나 (126) 를 통해 송신된다.
컨트롤러 (130) 는 송신기 (110) 에서의 다양한 프로세싱 유닛의 동작을 제어한다. 예를 들어, 컨트롤러 (130) 는 각각의 데이터 패킷에 대해 사용하기 위한 특정 포맷을 선택할 수도 있다. 선택된 포맷은, 예를 들어, 패킷의 사이즈, 패킷에 대한 사용을 위한 코딩 방식 또는 코드 레이트, 패킷에 대한 사용을 위한 변조 방식 등과 같은 데이터 패킷에 대한 다양한 파라미터들과 연관될 수도 있다. 그 다음, 컨트롤러 (130) 는 각각의 패킷에 대한 선택된 포맷에 기초하여 프레임밍 유닛 (114), 인코더 (116), 채널 인터리버 (118), 펑쳐링 유닛 (120), 및 심볼 디맵퍼 (122) 에 대한 다양한 제어들을 생성할 수도 있다. 메모리 유닛 (132) 은 컨트롤러 (130) 에 의해 사용되는 데이터 및 프로그램 코드들을 저장한다.
도 2 는 시스템의 수신기 (150) 의 일 실시형태의 블록도를 나타낸다. 수신기 (150) 에서, 안테나 (152) 는 송신기 (110) 로부터 송신된 신호를 수신하고, 수신된 신호를 수신기 유닛 (RCVR) (154) 에 제공한다. 수신기 유닛 (154) 은 그 수신된 신호를 송신기 유닛 (124) 에 의해 수행되는 프로세싱에 상보적인 방식으로 처리하여 수신된 심볼들을 제공한다. 심볼 디맵퍼 (156) 는 패킷에 대해 사용되는 변조 방식에 따라 각각의 패킷에 대해 수신된 심볼들을 복조하고, 복조된 데이터의 패킷을 제공한다. 이레이저 (erasure) 삽입 유닛 (158) 은 각각의 패킷의 펑쳐링된 코드 비트들에 대해 이레이저들을 삽입한다. 이레이저들은 디코딩 프로세스에서 적절한 웨이트 (weight) 로 주어지는 더미 값들이다.
채널 디인터리버 (160) 는 각각의 패킷의 복조된 데이터를 채널 인터리버 (118) 에 의해 수행되는 인터리빙에 상보적인 방식으로 디인터리빙하고, 디인터리빙된 데이터의 패킷을 제공한다. 디코더 (162) 는 디인터리빙된 데이터의 각각의 패킷을 디코딩하고, 디코딩된 데이터의 패킷을 CRC 체커 (164) 에 제공한다. 디코더 (162) 는 인코더 (116) 에 의해 수행되는 인코딩에 상보적인 방식으로 디코딩을 수행한다. 예를 들어, 디코더 (162) 는, 인코더 (116) 가 터보 인코딩을 수행하면 터보 디코더, 인코더 (116) 가 컨볼루셔널 인코딩을 수행하면 비터비 (Viterbi) 디코더, 또는 인코더 (116) 가 LDPC 인코딩을 수행하면 LDPC 디코더일 수도 있다. CRC 체커 (164) 는 부가된 CRC 값에 기초하여 각각의 디코딩된 패킷을 체크하고, 패킷의 디코딩이 정확한지 에러가 있는 지를 판정한다. CRC 체커 (164) 는 정확하게 디코딩된 패킷들을 데이터 싱크 (166) 에 제공한다.
컨트롤러 (170) 는 수신기 (150) 에서 다양한 프로세싱 유닛들의 동작을 제어한다. 예를 들어, 컨트롤러 (170) 는 각각의 패킷의 포맷에 대한 정보를 제공받을 수도 있고, 심볼 디맵퍼 (156), 이레이저 삽입 유닛 (158), 채널 디인터리버 (160), 및 디코더 (162) 에 대한 적절한 제어들을 생성할 수도 있다. 메모리 유닛 (172) 은 컨트롤러 (170) 들에 의해 이용되는 데이터 및 프로그램 코드들을 저장한다.
도 1 의 송신기 (110) 에서, 채널 인터리버 (118) 는, 패킷에 대해 수신기 (150) 에 의해 직면한 비트 에러들이 채널 디인터리버 (160) 에 의한 상보적인 디인터리빙 후에 패킷에 걸쳐 분산될 수 있도록 각각의 코딩된 패킷의 코드 비트들을 리오더링한다. 비트 에러들의 양호한 분산은 디코딩 성능을 향상시킬 수 있고, 따라서 데이터 송신 성능을 향상시킨다.
채널 인터리버 (118) 는 다음의 것들을 제공하여야 한다:
1. 채널 인터리빙 전에 서로 가까운 코드 비트들이 채널 인터리빙 후에 멀리 떨어지도록 이격되도록 하는 양호한 스프레딩 특성; 및
2. 인코더 (116) 로부터 균일하게 이격된 코드 비트들이 송신에 대해 선택되도록 하는 규칙적인 또는 대체로 규칙적인 펑쳐링 패턴들.
양호한 스프레딩 특성은 페이딩, 다중경로, 간섭 등과 같은 좋지 않은 경로 영향들을 극복할 수 있는 더 많은 다이버시티를 제공할 수 있다. 규칙적인 또는 대체로 규칙적인 펑쳐링 패턴들은 일부 코딩 방식들에 대해 성능을 향상시킬 수 있다. 규칙적인 펑쳐링 패턴은 송신을 위해 시퀀스에서 균일하게 이격된 비트들 (예를 들어, 매 k-번째 비트들) 을 선택한다. 의사-랜덤 펑쳐링 패턴과 같은 불규칙적인 펑쳐링 패턴은, 송신을 위해 시퀀스에서 균일하게 이격되지 않은 비트들을 선택한다. 터보 코드들과 같은 일부 코딩 스킨들은 불규칙적인 (예를 들어, 의사-랜덤) 펑쳐링 패턴들 대신에 규칙적인 펑쳐링 패턴들과 함께 이용될 때 더 양호한 성능을 제공할 수 있다.
일 실시형태에서, 채널 인터리버 (118) 는 상이한 패킷 사이즈들 및 코드 레이트들에 대해 전술한 바람직한 특성들의 양자를 모두 제공할 수 있는 프루닝된 비트-리버설 인터리버로서 구현된다. 프루닝된 비트-리버설 인터리버는, 이하 설명되는 바와 같이, Nbr 코드 비트들을 받아서 그들의 표시자들에 기초하여 이들 코드 비트들을 리오더링하는 컨볼루셔널 비트-리버설 인터리버에 기초한다. 비트-리버설 인터리버는 전술한 바와 같은 2 가지 특성들을 제공하지만, Nbr = 2L (L 은 양의 정수) 인 2 의 제곱승인 패킷 사이즈들에 대해서만 작용한다. 프루닝된 비트-리버설 인터리버는 N 개의 코드 비트들의 패킷을 받아서 그들의 표시자에 기초하여 그 코드 비트들을 리오더링하는데, 여기서 N 은 임의의 정수일 수도 있고, 2 의 제곱승에 한정되지 않는다. 프루닝된 비트-리버설 인터리버는 또한 전술한 2 가지 특성들도 갖는다.
도 3 은 16 코드 비트들을 갖는 코딩된 패킷에 대한 4-비트 리버설 인터리버의 동작을 도시한다. 코딩된 패킷 내의 16 비트 위치들에는 0 내지 15 의 인덱스들이 제공된다. 코딩된 패킷의 16 코드 비트들은 b0, b1, b2,…,b15 와 같이 표시되고, 여기서 코드 비트 bi 는 코딩된 패킷의 비트 인덱스 i 에 있다.
비트-리버설 인터리빙 방식은 다음과 같이 작용한다. 각각의 코드 비트 bi (여기서, i = 0, 1,…,15) 에 대해, 코드 비트 bi 의 비트 인덱스 i 는 4 개의 바이너리 비트들을 이용하여 바이너리 형태로 표현된다. 그 다음, 4 개의 바이너리 비트들은 인덱스 i 에 대해 제 1, 제 2, 제 3 및 제 4 바이너리 비트들이 각각 제 4, 제 3, 제 2 및 제 1 비트 위치들로 이동되도록 리버스된다. 4 개의 리버스된 비트들은 j = π(i) 의 비트-리버스된 값을 형성하고, 여기서 π(i)는 i 의 바이너리 표현에 대한 비트 리버스 작용을 나타낸다. 그 다음, 코드 비트 bi 는 인터리빙된 패킷의 비트 인덱스 j 에서 제공된다. 예를 들어, 비트 인덱스 i = 3 이 바이너리 형태 '0011' 과 같이 표현되고, 그 리버스된 비트들은 '1100' 이고, 그 비트-리버스된 값은 j = 12 이다. 그 다음, 코딩된 패킷의 코드 비트 b3 는 인터리빙된 패킷의 비트 인덱스 12 로 맵핑된다. 도 3 은 코딩된 패킷의 16 코드 비트들을 인터리빙된 패킷의 16 비트 위치들로 맵핑하는 것을 나타낸다.
L-비트 리버설 인터리버는 다음과 같은 스프레딩 특성을 만족한다:
|a-b|<2k 이면, |π(a)-π(b)|≥2L-k-1 식 (1)
여기서, a 와 b 는 코딩된 패킷에 대한 2 개의 비트 인덱스이고;
|a-b|는 비트 인덱스 a 와 b 사이의 거리를 나타내고;
π(a) 는 비트 인덱스 a 에 대한 비트-리버스된 값이며; 그리고
π(b) 는 비트 인덱스 b 에 대한 비트-리버스된 값이다.
식 (1) 은, 비트 표시자 a 와 b 가 적어도 그들의 k 최하위 비트들 중 하나 이상이 상이하면, π(a) 와 π(b) 는 그들의 k 최상위 비트들 중 하나 이상이 상이하다. 따라서, 코딩된 패킷에서 2 개의 코드 비트들이 2k 비트 위치보다 적게 이격된다면, 이들 2 개의 코드 비트들은 인터리빙된 패킷에서 적어도 2L-k-1 비트 위치만큼 이격된다. 예를 들어, L = 10 이고 k = 2 이면, 코딩된 패킷에서 서로 4 비트 위치보다 적게 떨어진 코드 비트들은, 인터리빙된 패킷에서는 적어도 128 비트 위치만큼 떨어진다.
L-비트 리버설 인터리버는 규칙적인 또는 대체로 규칙적인 펑쳐링 패턴들을 제공한다. 인터리빙 후에, 인터리빙된 패킷의 제 1 Nbr/2 코드 비트들은 2 로 나누어지는 인덱스를 갖는 것들이다. 유사하게, 인터리빙된 패킷의 제 1 Nbr/4 코드 비트들은 4 로 나누어지는 인덱스를 갖고, 제 1 Nbr/8 코드 비트들은 8 로 나누어지는 인덱스를 갖는 등이 된다. 인터리빙된 패킷의 코드 비트들은 코딩된 패킷에서 2 만큼 떨어진 코드 비트들의 송신을 초래한다. 일반적으로, 인터리빙된 패킷의 Nbr/2k 코드 비트들을 제외한 나머지 모두를 펑쳐링하는 것은 코딩된 패킷에서 2k 만큼 떨어진 코드 비트들의 송신을 초래할 것이다. 따라서, 규칙적인 펑쳐링 패턴들은 "펑쳐링 팩터" 가 2 의 제곱승 또는 2k 일 때 달성될 수도 있을 것이고, 코딩된 패킷의 Nbr 총 코드 비트들 중에서 오직 Nbr/2k 코드 비트들만이 보존된다. 2 의 제곱승이 아닌 다른 펑쳐링 팩터들에 대해, 비트-리버설 인터리버에 의해 대체로 규칙적인 펑쳐링 패턴들이 달성된다.
도 4 는 11 코드 비트들을 갖는 코딩된 패킷에 대한 프루닝된 4-비트 리버설 인터리버의 동작을 나타낸다. 코딩된 패킷 내의 11 비트 위치들은 0 내지 10 의 인덱스가 주어진다. 코딩된 패킷의 11 코드 비트들은 b0, b1, b2,…, b10 으로 표시되고, 코드 비트 bi 는 코딩된 패킷의 비트 인덱스 i 에 있다.
프루닝된 비트-리버설 인터리빙 방식은 다음과 같이 작용한다. 코딩된 패킷은, 코딩된 패킷 사이즈 11 보다 더 크면서 가장 근접한 2 의 제곱승인 길이 16 으로 확장된다. 패킷 확장은 16 비트들의 확장된 패킷을 형성하기 위해 11 개의 코딩된 비트들의 말단부에 e11, e12,…, e15 로서 표시되는 5 개의 패딩 비트들을 부가함으로써 이루어질 수도 있다. 그 다음, 도 3 에 설명된 바와 같이, 통상의 4-비트 리버설 인터리빙이 그 확장된 패킷의 비트들에 대해 수행되어 비트-리버스된 패킷을 획득한다. 따라서, 확장된 패킷의 인덱스 i 의 비트 bi 는 비트-리버스된 패킷의 비트 인덱스 j 로 맵핑되고, 여기서, j = π(i) 이고, π(i) 는 i 에 대한 비트 리버설 동작을 나타낸다. 그 다음, 비트-리버스된 패킷의 5 개의 패딩 비트들이 삭제되어 11 개의 코딩된 비트들을 포함하는 인터리빙된 패킷을 획득하게 된다.
프루닝된 (L+1)-비트 리버설 인터리버는 다음과 같은 스프레딩 특성을 만족한다:
|a-b|<2k 이면, |π(a)-π(b)|≥2L-k-1 식 (2)
식 (2) 는 코딩된 패킷에서 2 개의 코드 비트들이 2k 비트 위치보다 적게 이격된다면, 이들 2 개의 코드 비트들은 인터리빙된 패킷에서 적어도 2L-k-1 비트 위치만큼 이격된다는 것을 나타낸다. 프루닝된 비트 리버설 인터리버에 의해 달성되는 스프레딩 팩터들은 비트-리버설 인터리버에 의해 달성되는 것들과 거의 동일하다. 프루닝된 비트-리버설 인터리버의 추가적인 이점은 상이한 패킷 사이즈들에 대해서도 사용도리 수도 있다는 것이다.
프루닝된 비트 리버설 인터리버는 또한 규칙적인 또는 대체로 규칙적인 펑쳐링 패턴들을 제공한다. 인터리빙 후에, 인터리빙된 패킷의 제 1 N/2 코드 비트들은 2 로 나누어지는 표시자를 갖고, 인터리빙된 패킷의 제 1 N/4 코드 비트들은 4 로 나누어지는 표시자를 갖고, 제 1 N/8 코드 비트들은 8 로 나누어지는 표시자를 갖는 등이다. 인터리빙된 패킷의 코드 비트들이 순차적으로 펑쳐링되면, 인터리빙된 패킷의 N/2k 코드 비트들을 제외한 나머지 모두를 펑쳐링하는 것은 코딩된 패킷에서 2k 비트 위치만큼 떨어진 코드 비트들의 송신을 초래할 것이다. 따라서, 규칙적인 펑쳐링 패턴들은 펑쳐링 팩터가 2 의 제곱승일 때 획득되고, 대체로 규칙적인 펑쳐링 패턴들은 펑쳐링 팩터가 2 의 제곱승이 아닐 때 획득된다.
도 5 는 프루닝된 비트-리버설 인터리빙을 수행하는 프로세스 (500) 를 나타낸다. 초기에, N 입력 비트들을 포함하고, N 의 사이즈를 갖는 패킷이 수신된다 (블록 510). 패킷 사이즈가 2 의 제곱승이 아니라면 (즉, 2L<N<2L+1 이라면), 프루닝된 (L+1)-비트 리버설 인터리버가 패킷의 N 입력 비트들을 인터리빙하는데 사용된다. 프루닝된 비트-리버설 인터리빙을 수행하기 위해, 먼저 패킷은 길이 2L+1 로 확장된다 (블록 512). 이는 패킷의 말단부에 (2L+1-N) 패딩 비트들을 부가함으로써 달성될 수도 있다. 또는, 전술한 바와 같이 인터리빙에 이용되는 비트 어드레스들을 적절하게 생성함으로써 달성될 수도 있다. 어느 경우에도, 길이 2L+1 의 확장된 패킷은 (L+1)-비트 리버설 인터리버를 이용하여 인터리빙된다 (블록 514). 그 다음, 패딩 비트들이 패킷에 부가되어 있다면 (2L+1-N) 개의 패딩 비트들을 삭제함으로써 N 개의 인터리빙된 비트들을 포함하는 패킷이 형성된다 (블록 516).
도 6 은, 도 1 의 송신기 (110) 의 채널 인터리버 (118) 의 한 실시형태인 채널 인터리버 (118x) 의 블록도를 나타낸다. 채널 인터리버 (118x) 는 메모리 유닛 (610), 어드레스 생성기 (620), 및 룩-업 테이블 (630) 을 포함한다. 채널 인터리버 (118x) 는 (인코더 (116) 로부터의 코드 비트들인) 입력 비트들을 수신하고, 이 입력 비트들을 메모리 유닛 (610) 의, 어드레스 생성기 (620) 에 의해서 결정된 위치에 저장한다. 채널 인터리버 (118x) 는 어드레스 생성기 (620) 에 의해서 결정된 위치의 메모리 유닛 (610) 으로부터의 인터리빙된 비트들을 제공한다. 어드레스 생성기 (620) 는 각각의 들어오는 패킷의 시작 및 그것의 사이즈 N 의 표시를 수신하고, 메모리 유닛 (610) 으로 입력 비트들을 라이팅하기 위한 적절한 어드레스들을 생성한다. 어드레스 생성기 (620) 는 또한 메모리 유닛 (610) 으로부터 인터리빙된 비트들을 리딩 또는 복구하기 위한 적절한 어드레스들을 생성한다.
프루닝된 비트 리버설 인터리버에 대한 인터리빙은 몇 가지 방식으로 수행될 수도 있다. 제 1 실시형태에서, 패킷의 입력 비트들은 메모리 유닛 (610) 의 선형적인 순서로 저장되고, 메모리 유닛 (610) 으로부터 인터리빙되는 순서로 복구된다. 이 실시형태에서, 어드레스 생성기 (620) 는 들어오는 패킷의 시작부를 수신하고, 패킷에 대한 순차적인 어드레스들을 생성한다. 어드레스 생성기 (620) 는 또한 메모리 유닛 (610) 으로부터 인터리빙된 비트들을 리딩하기 위해 비트-리버스된 어드레스들을 생성한다. 제 2 실시형태에서, 패킷의 입력 비트들은 메모리 유닛 (610) 에 인터리빙되는 순서로 저장되고, 메모리 유닛 (610) 으로부터 선형적인 순서로 복구된다. 이 실시형태에서, 어드레스 생성기 (620) 는 들어오는 패킷의 시작부를 수신하고, 메모리 유닛 (610) 에 입력 비트들을 라이팅하기 위한 비트-리버스된 어드레스들을 생성한다. 어드레스 생성기 (620) 는 또한 메모리 유닛 (610) 으로부터 인터리빙된 비트들을 리딩하기 위한 순차적인 어드레스들을 생성한다.
이 양 실시형태에서, 어드레스 생성기 (620) 는 비트-리버스된 어드레스들을 생성할 수 있어, 입력 패킷의 패딩은 필요하지 않다. 비트-리버스된 어드레스들은 다음과 같이 생성될 수도 있다. 입력 패킷은 0 내지 N-1 의 표시자에서 N 개의 입력 비트들을 포함한다. 어드레스 생성기 (620) 는 먼저 비트-리버설 인터리버에 대해 비트 (L+1) 의 필요한 수를 결정하고, 여기서, (L+1) 은 N≤2L+1 을 만족하는 가장 작은 정수이다. 어드레스 생성기 (620) 내의 카운터는 제로로 초기화된다. 그 다음, 어드레스 생성기 (620) 는 j = π(i) 로서 임시의 비트-리버스된 어드레스 j 를 형성하고, 여기서, π(i) 는 현재의 카운터 값 i 에 대한 비트 리버설 작용이다. 비트-리버스된 어드레스 j 는 만약 그것이 N 보다 적다면 수용될 것이고, 그렇지 않다면 거절당할 것이다. 만약 그것이 수용된다면, 어드레스 생성기 (620) 는 비트-리버스된 어드레스 j 를 제공한다. 어느 경우에도, 카운터는 증가하고, 새로운 카운터 값이 다음 임시 비트-리버스된 어드레스를 생성하는데 이용된다. 어드레스 생성 프로세스는 모든 N 개의 유효한 비트-리버스된 어드레스들이 생성될 때까지 계속된다. 패딩 또는 길이 2L+1 로의 확장은 비트-리버스된 어드레스들을 적절하게 생성함으로써 효율적으로 달성된다.
어드레스 생성기 (620) 는 메모리 유닛 (610) 에 입력 비트들을 라이팅하거나 메모리 유닛 (610) 으로부터 인터리빙된 비트들을 리딩할 필요가 있으므로, 플라이 (fly) 상에 비트-리버스된 어드레스들을 생성할 수도 있다. 또는, 비트-리버스된 어드레스들은 룩-업 테이블 (630) 에 저장되어 필요할 때마다 액세스될 수도 있다.
도 6 은 다른 방식들로도 또한 구현될 수도 있는 채널 인터리버 (118) 의 일 실시형태를 나타낸다. 도 2 의 수신기 (150) 에서의 채널 디인터리버 (160) 는 도 6 에 나타낸 구조를 이용하여 구현될 수도 있다.
프루닝된 비트 리버설 인터리버는, 터보 코드, 컨볼루셔널 코드, LDPC 코드 등과같은 다양한 타입의 FEC 코드들과 함께 이용될 수도 있다. 상이한 FEC 코드들을 위한 인코더 (116), 채널 인터리버 (118), 및 펑쳐링 유닛 (120) 의 몇 가지 예시적인 실시형태들을 이하 설명한다.
도 7 은 각각 도 1 의 송신기 (110) 의 인코더 (116), 채널 인터리버 (118), 및 펑쳐링 유닛 (120) 의 일 실시형태인, 인코더 (116a), 채널 인터리버 (118a), 및 펑쳐링 유닛 (120a) 의 블록도를 나타낸다. 이 실시형태에서는, 인코더 (116a) 는 통상 터보 코드라고 불리는 레이트 1/5 병렬-연접 (parallel-concatenated) 컨볼류셔널 코드를 구현한다. 인코더 (116a) 는 각각의 데이터 비트에 대해 5 개의 코드 비트들을 제공한다.
인코더 (116a) 는 2 개의 구성 인코더 (constituent encoder) (712a, 712b), 2 개의 멀티플렉서 (Mux) (714a, 714b), 및 코드 인터리버 (716) 를 포함한다. 인코더 (116a) 는 {x} 로 표시되는, ND 데이터 비트들을 포함하는 데이터 패킷을 수신하고, ND 데이터 비트들을 코딩된 패킷에 대한 ND 구조화 비트들의 시퀀스로서 제공한다. 구성 인코더 (712a) 는 데이터 비트들 {x} 을 수신하고, 그 데이터 비트들을 제 1 생성기 다항식 G1(D) 에 따라 인코딩하고, {y1} 으로 표시되는 ND 패리티 비트들의 제 1 시퀀스를 생성한다. 구성 인코더 (712a) 는 또한 제 2 생성기 다항식 G2(D) 에 따라 동일 데이터 비트들을 인코딩하고, {z1} 으로 표시되는 ND 패리티 비트들의 제 2 시퀀스를 생성한다. 코드 인터리버 (716) 는 특정 인터리빙 방식에 따라 ND 데이터 비트들을 수신하고 인터리빙한다. 예를 들어, 코드 인터리버 (716) 는, 당업계에 공지된 바와 같이, LCS 인터리빙 방식, 의사-랜덤 인터리빙 방식 등을 구현할 수도 있다. 구성 인코더 (712b) 는 코드 인터리버 (716) 로부터 ND 인터리빙된 비트들을 수신하고, 제 1 생성기 다항식 G1(D) 에 따라 인터리빙된 비트들을 인코딩하고, {y2} 로 표시되는 ND 패리티 비트들의 제 3 시퀀스를 생성한다. 구성 인코더 (712b) 는 또한 제 2 생성기 다항식 G2(D) 에 다라 동일한 인터리빙된 비트들을 인코딩하고, {z2} 로 표시되는 ND 패리티 비트들의 제 4 시퀀스를 생성한다. 구성 인코더 (712a, 712b) 는 또한 테일 (tail) 패리티 비트들을 제공할 수도 있다.
멀티플렉서 (714a) 는 패리티 비트 시퀀스 {y1} 및 {y2} 를 수신하고, 이들 2 개의 시퀀스들을 함께 멀티플렉싱하고, 제 1 생성기 다항식 G1(D) 에 대해 패리티 비트 시퀀스 {y} 를 제공한다. 시퀀스 {y} 의 제 1 ND 패리티 비트들은 시퀀스 {y1} 으로부터의 것이고, 시퀀스 {y} 의 마지막 ND 패리티 비트들은 시퀀스 {y2} 로부터의 것이다. 유사하게, 멀티플렉서 (714b) 는 패리티 비트 시퀀스 {z1} 및 {z2} 를 수신하고, 이들 2 개의 시퀀스들을 함께 멀티플렉싱하고, 제 2 생성기 다항식 G2(D) 에 대해 패리티 비트 시퀀스 {z} 를 제공한다. 시퀀스 {z} 의 제 1 ND 패리티 비트들은 시퀀스 {z1} 으로부터의 것이고, 시퀀스 {z} 의 마지막 ND 패리티 비트들은 시퀀스 {Z2} 로부터의 것이다.
ND 입력 비트들을 갖는 데이터 패킷에 대해, 인코더 (116a) 는 (ND 입력 비트들과 동등한) ND 구조 비트들의 시퀀스, 제 1 생성기 다항식으로 생성된 2ND 패리티 비트들의 시퀀스 {y}, 및 제 2 생성기 다항식으로 생성된 2ND 패리티 비트들의 시퀀스 {z} 를 제공한다. 구조 비트들의 시퀀스와 패리티 비트들의 2 개의 시퀀스들은 데이터 패킷에 대해 인코더 (116a) 에 의해 생성된 코딩된 패킷의 5ND 코드 비트들을 함께 형성한다.
채널 인터리버 (118a) 는 프루닝된 비트-리버설 인터리버들 (722, 724a, 724b) 을 포함하고, 이들 각각은 도 6 에 나타낸 바와 같이 구현될 수도 있다. 인터리버 (722) 는 ND 구조 비트들 {x} 의 시퀀스에 대해 프루닝된 비트-리버설 인터리빙을 수행하고, 인터리빙된 시퀀스 {xint} 를 제공한다. 인터리버 (722) 는, ND 이상이면서 가장 근접한 2 의 제곱승의 사이즈 N'D 의 비트-리버설 인터리버를 활용한다. 인터리버 (724a) 는 2ND 패리티 비트들 {y} 의 시퀀스에 대해 프루닝된 비트-리버설 인터리빙을 수행하고, 인터리빙된 시퀀스 {yint} 를 제공한다. 인터리버 (724a) 는 2ND 이상이면서 가장 근접한 2 의 제곱승의 사이즈 2N'D 의 비트-리버설 인터리버를 활용한다. 유사하게, 인터리버 (724b) 는 2ND 패리티 비트들 {z} 의 시퀀스에 대해 프루닝된 비트-리버설 인터리빙을 수행하고, 인터리빙된 시퀀스 {zint} 를 제공한다. 인터리버 (724b) 는 또한 사이즈 2N'D 의 비트-리버설 인터리버를 활용한다. 시퀀스 {y} 는 시퀀스 {y1} 으로부터의 ND 패리티 비트들과 그 다음 시퀀스 {y2} 로부터의 ND 패리티 비트들을 포함하기 때문에, {yint} 의 짝수-인덱스된 패리티 비트들은 {y1} 으로부터의 것이고, {yint} 의 홀수-인덱스된 패리티 비트들은 {y2} 로부터의 것이다. 유사하게, {zint} 의 짝수-인덱스된 패리티 비트들은 {z1} 으로부터의 것이고, {zint} 의 홀수-인덱스된 패리티 비트들은 {z2} 로부터의 것이다. 3 개의 시퀀스 {xint}, {yint}, 및 {zint} 는 인터리빙된 패킷을 형성한다.
펑쳐링 유닛 (120a) 은 펑쳐링 유닛들 (732, 734, 736) 과 멀리플렉서 (738) 를 포함한다. 펑쳐링 유닛 (732) 은 시퀀스 {xint} 를 수신하고, 제로 또는 그 이상의 코드 비트들을 펑쳐링하고, 펑쳐링된 시퀀스 {xp} 를 제공한다. 펑쳐링 유닛 (734) 은 시퀀스 {yint} 를 수신하고, 시퀀스 {yint} 의 말단부에서 제로 또는 그 이상의 코드 비트들을 펑쳐링 또는 트렁케이트 (truncate) 하고, 펑쳐링된 시퀀스 {yp} 를 제공한다. 유사하게, 펑쳐링 유닛 (736) 은 시퀀스 {zint} 를 수신하고, 시퀀스 {zint} 의 말단부에서 제로 또는 그 이상의 코드 비트들을 펑쳐링하고, 펑쳐링된 시퀀스 {zp} 를 제공한다. 프루닝된 비트-리버설 인터리버 (734, 736) 에 대해, 각각의 시퀀스의 코드 비트들은 시퀀스의 말단부에서 시작하여 펑쳐링되고, 시퀀스의 시작부를 향해 가로지른다. 시퀀스 {xint} 의 인터리빙된 구조 비트들은 통상적으로 펑쳐링되지 않거나 마지막에 펑쳐링된다.
인코더 (116a) 는 패킷의 ND 데이터 비트들에 대해 NC = 5ND 코드 비트들을 생성하는 레이트 1/5 터보 코드를 구현한다. 펑쳐링할 코드 비트들의 수는 코딩된 패킷 사이즈 및 출력 패킷 사이즈에 의해 결정될 수도 있다. 원하는 출력 패킷 사이즈가 NP 이고, 코딩된 패킷 사이즈가 NC 이면, (ND-NP) 코드 비트들이 펑쳐링되어 사이즈 NP 의 출력 패킷을 획득하게 된다. 또는, 펑쳐링할 코드 비트들의 수는 코딩된 패킷의 사이즈와 원하는 코드 레이트에 의해 결정될 수도 있고, R = ND/NP 로서 주어진다. 코딩된 패킷 사이즈가 NC 이고, 원하는 코드 레이트가 R 이면, (NC-ND/R) 코드 비트들이 펑쳐링되어 원하는 코드 레이트를 획득한다. 예를 들어, 1/3 의 코드 레이트는 (NC-3ND) = 2ND 의 코드 비트들을 펑쳐링함으로써 획득될 수도 있다.
펑쳐링은 다양한 방식들로 수행될 수도 있다. 한 펑쳐링 방식에서, (NC-NP) 코드 비트들을 펑쳐링하여 NP 사이즈의 출력 패킷 사이즈를 생성하기 위해, 시퀀스 {zint} 의 코드 비트들이 먼저 펑쳐링되고, 그 다음, 필요하다면 시퀀스 {yint} 의 코드 비트들이 펑쳐링되고, 마지막으로, 필요하다면 시퀀스 {xint} 의 코드 비트들이 펑쳐링된다. 레이트 1/3 터보 코드는 시퀀스 {zint} 의 모든 2ND 코드 비트들이 펑쳐링될 때 획득된다. 또 다른 펑쳐링 방식에서, 시퀀스 {yint} 의 (NC-NP)/2 코드 비트들 및 시퀀스 {zint} 의 (NC-NP)/2 코드 비트들이 펑쳐링되어 사이즈 NP 의 출력 패킷을 획득한다. 어느 경우에도, 멀티플렉서 (738) 는 3 개의 시퀀스 {xp}, {yp}, 및 {zp} 를 수신하고, {s} 로 표시되는 출력 패킷을 위해 시퀀스 {xp}, 그 다음으로 시퀀스 {yp}, 마지막으로 시퀀스 {zp} 를 제공한다.
채널 인터리버 (118a) 는, 레이트 4/5, 2/3, 1/2, 1/3, 1/4 및 1/5 를 포함하는 많은 레이트들을 위해 패리티 비트들에 대해 규칙적인 펑쳐링 패턴들을 제공한다. 채널 인터리버 (118a) 는 다른 코드 레이트들을 위해 대체로 규칙적인 펑쳐링 패턴들을 제공한다. 채널 인터리버 (118a) 는 또한 전술한 바와 같이 양호한 스프레딩 특성을 제공한다. 터보 디코더는, 규칙적인 또는 대체로 규칙적인 펑쳐링 패턴들과 채널 인터리버 (118a) 에 의해 제공되는 양호한 스프레딩 팩터에 의해 향상된 성능을 달성할 수 있다.
펑쳐링은 또한 펑쳐링될 비트들이 메모리에 저장되지 않는 채널 인터리빙과 결합될 수도 있다. 소정의 프루닝된 비트-리버설 인터리버에서는, 인터리버로부터의 오직 K 인터리빙된 비트들만이 출력 패킷에 대해 제공된다면, 인터리빙된 시퀀스의 K 보다 더 큰 표시자를 갖는 코드 비트들은 인터리버에 의해 삭제될 수도 있다.
도 7 은 레이트 1/5 터보 코드를 구현하는 인코더 (118a) 를 나타낸다. 레이트 1/3 터보 코드에서, 구성 인코더 (712a) 는 단일 생성기 다항식 G(D) 에 기초하여 패리티 비트들 {y1} 의 단일 시퀀스를 생성하고, 구성 인코더 (712b) 는 또한 동일한 생성기 다항식 G(D) 에 기초하여 패리티 비트들 {y1} 의 단일 시퀀스를 생성한다. 멀티플렉서 (714a) 는 시퀀스들 {y1} 과 {y2} 를 단일 시퀀스 {y} 로 멀티플렉싱한다. 프루닝된 비트-리버설 인터리버 (724a) 는 시퀀스 {y} 의 패리티 비트들을 인터리빙하고, 인터리빙된 시퀀스 {yint} 를 제공한다. 멀리플렉서 (714b), 프루닝된 비트-리버설 인터리버 (724b), 및 펑쳐링 유닛 (736) 은 레이트 1/3 터보 코드에 대해 필요하지 않다.
도 8 은, 각각 송신기 (110) 의 인코더 (116), 채널 인터리버 (118), 및 펑쳐링 유닛 (120) 의 또 다른 실시형태인, 인코더 (116b), 채널 인터리버 (118b), 및 펑쳐링 유닛 (120b) 의 블록도를 나타낸다. 본 실시형태에서, 인코더 (116b) 는, 각각의 데이터 비트에 대해 M 코드 비트들을 제공하는, 레이트 1/M 컨볼루셔널 코드를 구현한다. 인코더 (116b) 는 컨볼루셔널 인코더 (812) 및 멀티플렉서 (814) 를 포함한다. 컨볼루셔널 인코더 (812) 는 데이터 비트들 {x} 을 수신하고, 그 데이터 비트들을 M 개의 상이한 생성기 다항식들에 따라 인코딩하고, {c1} 내지 {c4} 로 표시되는, 코드 비트들의 M 개의 시퀀스들을 생성한다. 멀티플렉서 (814) 는 M 개의 코드 비트 시퀀스들을 수신하고, {c} 로 표시되는 코딩된 패킷을 위해 시퀀스 {c1} 을 먼저 제공하고, 다음으로 {c2} 등을 제공하고, 그 다음, 마지막으로 시퀀스 {cM} 을 제공한다. 이러한 멀티플렉싱 방식은 각각의 생성기 다항식으로부터 대체로 동등한 수의 코드 비트들이 출력 패킷을 위해 선택되는 것을 보장한다.
채널 인터리버 (118b) 는 도 6 에 나타낸 바와 같이 구현될 수도 있는 프루닝된 비트-리버설 인터리버 (822) 를 포함한다. 인터리버 (822) 는 코드 비트 시퀀스 {c} 에 대해 프루닝된 비트-리버설 인터리빙을 수행하고, 인터리빙된 시퀀스 {cint} 를 제공한다. 인터리버 (822) 는, 입력 시퀀스 사이즈 이상이면서 가장 근접한 2 의 제곱승인 사이즈의 비트-리버설 인터리버를 활용한다. 인터리빙된 시퀀스 {cint} 는 인터리빙된 패킷을 형성한다. 펑쳐링 유닛 (120b) 은 (예를 들어, 시퀀스 {cint} 의 말단부로부터 시작하는), 인터리빙된 시퀀스 {cint} 에서 제로 또는 그 이상의 코드 비트들을 펑쳐링하는 펑쳐링 유닛 (832) 을 포함하고, 원하는 사이즈의 출력 패킷 {s} 을 제공한다.
도 9 는 송신기 (110) 의 인코더 (116), 채널 인터리버 (118), 및 펑쳐링 유닛 (120) 의 또 다른 실시형태인, 인코더 (116c), 채널 인터리버 (118c), 및 펑쳐링 유닛 (120c) 의 블록도를 나타낸다. 본 실시형태에서, 인코더 (116c) 는 LDPC 인코더 (912) 를 포함한다. LDPC 인코더 (912) 는 데이터 패킷 {x} 에 대한 데이터 비트들을 수신하고, 이 데이터 비트들을 생성기 매트릭스 G 에 따라 인코딩하고, 그 데이터 비트들을 구조 비트들의 시퀀스로서 제공하고, {q} 로 표시되는 패리티 비트들의 시퀀스를 제공한다. 생성기 매트릭스 G 는, 원하는 수의 코드 비트들이 생성되도록 패리티 체크 매트릭스 H 에 기초하여 형성된다. 시퀀스 {x} 및 {q} 는 코딩된 패킷을 형성한다.
채널 인터리버 (118c) 는 프루닝된 비트-리버설 인터리버 (922, 924) 를 포함하고, 이들 각각은 도 6 에 나타낸 바와 같이 구현될 수도 있다. 인터리버 (922) 는 구조 비트들의 시퀀스 {x} 에 기초하여 프루닝된 비트-리버설 인터리빙을 수행하고, 그 인터리빙된 시퀀스 {xint} 를 제공한다. 인터리버 (924) 는 패리티 비트들의 시퀀스 {q} 에 기초하여 프루닝된 비트-리버설 인터리빙을 수행하고, 인터리빙된 시퀀스 {qint} 를 제공한다. 인터리버들 (922, 924) 은 그들의 각각의 시퀀스들에 대해 가장 작은 가능한 사이즈의 비트-리버설 인터리버들을 활용한다. 시퀀스들 {xint} 및 {qint} 는 인터리빙된 패킷을 형성한다. 펑쳐링 유닛 (120c) 은 시퀀스들 {xint} 및 {qint} 를 수신하고 멀티플렉싱하는 멀티플렉서 (932) 를 포함하고, 원하는 사이즈의 출력 패킷 {s} 를 제공한다. 시퀀스들 {x} 및 {q} 가 집합적으로 원하는 사이즈이기 때문에, 펑쳐링은 필요하지 않다.
도 9 는 구조 비트들과 패리티 비트들 양자 모두 생성하는 LDPC 코드의 한 타입을 나타낸다. 다른 LDPC 코드들은 패리티 비트들만을 생성하고 구조 비트들은 생성하지 않을 수도 있다. 이 경우 채널 인터리빙은, 종래의 코드에 대해 도 8 에서 전술한 방식으로 하나의 프루닝된 비트-리버설 인터리버를 이용하여 수행될 수도 있다.
도 7, 도 8, 및 도 9 는 3 가지 상이한 타입들의 FEC 코드들과 함께 프루닝된 비트-리버설 인터리버의 이용을 나타낸다. 스프레딩 특성들 및/또는 규칙적인 펑쳐링 패턴들이 중요한 다른 코드들에 대해 유사한 인터리버들이 이용될 수도 있다. 프루닝된 비트-리버설 인터리버는, 비트-리버설 인터리버의 특성들이 소망되고, 그러나, 인터리버의 사이즈가 2 의 제곱승이지 않은 어떤 경우에도 이용될 수도 있다.
명확함을 위해, 인터리빙 기술들을 특별히, 2 의 제곱승인 사이즈를 갖는 비트-리버설 인터리버를 이용하는 프루닝된 비트-리버설 인터리버에 대해 설명하였다. 이들 기술들은 LCS-타입의 인터리버, 의사-랜덤 인터리버 등과 같은 다른 타입들의 인터리버에 대해서도 사용될 수도 있다. 예를 들어, 소정의 사이즈의 LCS-타입의 인터리버 또는 의사-랜덤 인터리버는 상이한 패킷 사이즈들을 지원하기 위해 프루닝 (pruning) 과 함께 이용될 수도 있다. 소정의 사이즈의 임의의 주어진 인터리버에 대해, 입력 패킷이 소정의 사이즈보다 더 작다면 (예를 들어, 패딩을 부가하거나 어드레스들을 적절히 생성함으로써) 인터리버 사이즈로 확장될 수도 있다. 그 다음에는, 인터리빙은 인터리버에 의해 통상의 방식으로 수행될 수도 있다. 그 다음, 프루닝함으로써 (예를 들어, 패딩을 제거하거나 어드레스들을 적절히 생성함으로써) 원래의 패킷 사이즈를 갖는 인터리빙된 패킷이 형성된다. 인터리빙 기술들은 2 의 제곱승이 아닌 다른 인터리버 사이즈들에 대해서도 사용될 수도 있다.
다시 도 1 을 참조하면, 펑쳐링 유닛 (120) 으로부터의 출력 비트들은 심볼 맵퍼 (122) 에 의해 변조 심볼들로 맵핑된다. OFDMA (Orthogonal Frequency Division Multiple Access) 시스템과 같은 OFDM-계 시스템에서, 하나의 변조 심볼은 각각의 OFDM 심볼 주기의 각각의 서브밴드 상으로 보내질 수도 있다. 주어진 변조 심볼들의 패킷은 다중 (T) OFDM 심볼 주기들의 다중 (S) 서브밴드들 상으로 보내질 수도 있다. 일부 시나리오에서, 변조 심볼들을 먼저 시간에 걸쳐, 그 다음 주파수에 걸쳐서 제공함으로써 향상된 성능이 달성될 수도 있다. 이 경우, T 변조 심볼들이 T 심볼 주기들에 대한 제 1 서브밴드로 제공되고, 다음 T 변조 심볼들이동일한 T 심볼 주기들에 대한 제 2 서브밴드로 제공되는 등이 될 수도 있다. 일부 다른 시나리오에서, 변조 심볼들을 먼저 주파수에 걸쳐, 그 다음 시간에 걸쳐서 제공함으로써 향상된 성능이 달성될 수도 있다. 이 경우, S 변조 심볼들이 제 1 OFDM 심볼 주기에 대해 S 서브밴드들로 제공되고, 그 다음, 다음 S 변조 심볼들이 제 2 OFDM 심볼 주기에 대해 S 서브밴드들로 제공되는 등이 될 수도 있다.
여기에 개시된 인터리빙 기술들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이들 기술들은 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 하드웨어 구현에서, 인터리빙 또는 디인터리빙을 수행하기 위해 이용되는 프로세싱 유닛들은 하나 이상의 ASIC (application specific integrated circuit), DSP (digital signal processor), DSPD (digital signal processing device), PLD (programmable logic device), FPGA (field programmable gate array), 프로세서, 마이크로-컨트롤러, 마이크로프로세서, 여기에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 또는 이들의 조합 내에서 구현될 수도 있다.
소프트웨어 구현에서, 인터리빙 기술들은 여기에 설명된 기능들을 수행하는 모듈들 (예를 들어, 절차들, 기능들 등) 로 구현될 수도 있다. 소프트웨어 코드들은 메모리 유닛 (예를 들어 도 1 의 메모리 유닛 (132), 또는 도 2 의 컨트롤러 (170)) 에 저장될 수도 있고, 프로세서 (예를 들어, 도 1 의 컨트롤러 (130) 또는 도 2 의 컨트롤러 (170)) 에 의해 실행될 수도 있다. 메모리 유닛은 프로세서 내부에 또는 프로세서 외부에 구현될 수도 있다.
개시된 실시형태들의 전술한 내용들은 당업자가 본 발명을 이용하고 실시할 수 있도록 제공된다. 이들 실시형태들의 다양한 변형들은 당업자에게 자명한 것일 것이고, 여기에 개시된 일반적인 원리들은 본 발명의 사상과 범위로부터 이탈함이 없이 다른 실시형태들에도 적용될 수도 있다. 따라서, 본 발명은 여기에 나타낸 실시형태들에 한정되지 아니하며, 여기에 개시된 원리들 및 신규한 특징들과 일치하는 가장 광범위한 범위와 일치된다.
110 : 송신기 112 : 데이터 소스
114 : 프레이밍 유닛 116 : 인코더
118 : 채널 인터리버 120 : 펑처링 유닛
122 : 심볼 맵퍼 124 : 송신기 유닛
126 : 안테나 130 : 컨트롤 유닛
132 : 메모리

Claims (39)

  1. 통신 시스템에서 데이터를 인터리빙하는 방법으로서,
    제 1 사이즈의 입력 데이터 비트의 패킷을 수신하는 단계; 및
    상기 입력 데이터 비트들의 인터리빙된 정렬 (arrangement) 을 포함하는 상기 제 1 사이즈의 인터리빙된 패킷을 발생시키기 위해, 상기 수신된 패킷을 인터리빙하는 단계로서, 상기 입력 데이터 비트의 상기 인터리빙된 정렬을 발생시키기 위해 상기 입력 데이터 비트를 다수의 패딩 비트와 프로세싱하는, L 비트-리버설 인터리빙 방식을 구현하는 단계를 포함하고, 상기 다수의 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 2 사이즈 및 상기 제 1 사이즈의 차이와 동일하며, 상기 구현하는 단계는, 상기 다수의 패딩 비트를 메모리 내의 위치와 연관시키지 않으면서, 상기 입력 데이터 비트를 상기 메모리 내의 위치와 연관시키는 단계를 포함하는, 인터리빙하는 단계를 포함하는, 데이터 인터리빙 방법.
  2. 제 1 항에 있어서,
    상기 인터리빙하는 단계는,
    상기 입력 데이터 비트를 선형적인 순서로 메모리에 라이팅 (writing) 하는 단계, 및
    상기 입력 데이터 비트를, 상기 L 비트-리버설 인터리빙 방식에 의해 결정되는 인터리빙된 순서로 상기 메모리로부터 리딩 (reading) 하는 단계를 포함하는, 데이터 인터리빙 방법.
  3. 제 1 항에 있어서,
    상기 인터리빙하는 단계는,
    상기 입력 데이터 비트를, 상기 L 비트-리버설 인터리빙 방식에 의해 결정되는 인터리빙된 순서로 상기 메모리에 라이팅하는 단계, 및
    상기 입력 데이터 비트를 선형적인 순서로 상기 메모리로부터 리딩하는 단계를 포함하는, 데이터 인터리빙 방법.
  4. 제 1 항에 있어서,
    상기 제 1 사이즈와 상기 제 2 사이즈 사이의 차이를 고려하여, 상기 입력 데이터 비트를 인터리빙하도록 어드레스들을 생성하는 단계를 추가로 포함하는, 데이터 인터리빙 방법.
  5. 제 1 항에 있어서,
    상기 입력 데이터 비트의 패킷을 생성하기 위해 트래픽 데이터의 패킷을 FEC (forward error correction) 코드에 따라 인코딩하는 단계를 추가로 포함하는, 데이터 인터리빙 방법.
  6. 제 1 항에 있어서,
    상기 입력 데이터 비트의 패킷을 생성하기 위해 트래픽 데이터의 패킷을 터보 코드, 및 LDPC (low density parity check) 코드 중 하나에 따라 인코딩하는 단계를 추가로 포함하는, 데이터 인터리빙 방법.
  7. 제 1 항에 있어서,
    상기 입력 데이터 비트의 패킷을 생성하기 위해 트래픽 데이터의 패킷을 컨볼루셔널 코드 (convolutional code) 에 따라 인코딩하는 단계를 추가로 포함하는, 데이터 인터리빙 방법.
  8. 제 1 항에 있어서,
    상기 연관시키는 단계는,
    메모리 내의 위치에 대한 후보 어드레스 값을 생성하는 단계;
    상기 후보 어드레스 값을 소정의 값과 비교하는 단계; 및
    상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하는 단계를 포함하는, 데이터 인터리빙 방법.
  9. 제 1 항에 있어서,
    상기 입력 데이터 비트의 인터리빙된 정렬을 변조 심볼들로 맵핑하는 단계; 및
    상기 변조 심볼들을 복수의 주파수 서브밴드들 및 복수의 심볼 주기들로 맵핑하는 단계를 추가로 포함하고,
    상기 변조 심볼들은 한 번에 하나의 심볼 주기에 대해 복수의 주파수 서브밴드들에 걸쳐 맵핑되는, 데이터 인터리빙 방법.
  10. 제 1 항에 있어서,
    상기 입력 데이터 비트의 인터리빙된 정렬을 변조 심볼들로 맵핑하는 단계; 및
    상기 변조 심볼들을 복수의 주파수 서브밴드들 및 복수의 심볼 주기들로 맵핑하는 단계를 추가로 포함하고,
    상기 변조 심볼들은 한 번에 하나의 주파수 서브밴드에 대해 복수의 심볼 주기들에 걸쳐 맵핑되는, 데이터 인터리빙 방법.
  11. 제 1 사이즈의 입력 데이터 비트의 패킷을 수신하고 상기 입력 데이터 비트의 인터리빙된 정렬을 포함하는 상기 제 1 사이즈의 인터리빙된 데이터의 패킷을 제공하도록 동작가능한 메모리 유닛; 및
    상기 메모리에 커플링되고, 상기 인터리빙된 패킷을 발생시키기 위해, 상기 메모리가 입력 데이터 비트의 패킷을 L 비트-리버설 인터리빙 방식에 따라 인터리빙하기위해 사용하는 어드레스를 생성하도록 동작가능한 어드레스 생성기로서, 상기 L 비트-리버설 인터리빙 방식은, 상기 입력 데이터 비트의 인터리빙된 정렬을 발생시키기 위해 상기 입력 데이터 비트를 다수의 패딩 비트와 프로세싱하고, 상기 다수의 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 2 사이즈 및 상기 제 1 사이즈의 차이와 동일하며, 상기 어드레스 생성기는, 상기 다수의 패딩 비트와 연관된 어드레스를 갖는 메모리 유닛을 제공하지 않으면서, 상기 입력 데이터 비트와 연관된 어드레스를 갖는 메모리 유닛을 제공하는, 어드레스 생성기를 포함하는, 무선 통신 시스템 장치.
  12. 제 11 항에 있어서,
    상기 입력 데이터 비트의 패킷을 생성하기 위해 트래픽 데이터의 패킷을 터보 코드, 컨볼루셔널 코드, LDPC 코드에 따라 인코딩하도록 동작가능한 인코더를 추가로 포함하는, 무선 통신 시스템 장치.
  13. 제 11 항에 있어서,
    상기 어드레스 생성기는,
    후보 어드레스 값을 생성하고, 상기 후보 어드레스 값을 소정의 값과 비교하며, 상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하도록 구성되는, 무선 통신 시스템 장치.
  14. 제 1 사이즈의 입력 데이터 비트의 패킷을 수신하는 수단; 및
    상기 입력 데이터 비트들의 인터리빙된 정렬을 포함하는 제 1 사이즈의 인터리빙된 패킷을 발생시키기 위해, 상기 수신된 패킷을 인터리빙하는 수단으로서, 상기 입력 데이터 비트의 인터리빙된 정렬을 발생시키기 위해 상기 입력 데이터를 다수의 패딩 비트와 프로세싱하는, L 비트-리버설 인터리빙 방식을 구현하는 수단을 포함하고, 상기 다수의 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 2 사이즈 및 상기 제 1 사이즈의 차이와 동일하며, 상기 구현하는 수단은, 상기 다수의 패딩 비트를 메모리 내의 위치와 연관시키지 않으면서, 상기 입력 데이터 비트를 상기 메모리 내의 위치와 연관시키는 수단을 포함하는, 인터리빙하는 수단을 포함하는, 통신 시스템 장치.
  15. 제 14 항에 있어서,
    상기 입력 데이터의 패킷을 제 1 순서로 메모리에 라이팅하는 수단, 및
    상기 입력 데이터 비트를 제 2 순서로 상기 메모리로부터 리딩하는 수단을 추가로 포함하고,
    상기 제 1 및 제 2 순서는, 상기 L 비트-리버설 인터리빙 방식에 의해 결정되는, 통신 시스템 장치.
  16. 제 14 항에 있어서,
    상기 입력 데이터 비트의 패킷을 생성하기 위해 트래픽 데이터의 패킷을 터보 코드, 컨볼루셔널 코드 (convolutional code), 및 LDPC (low density parity check) 코드에 따라 인코딩하는 수단을 추가로 포함하는, 통신 시스템 장치.
  17. 제 14 항에 있어서,
    상기 연관시키는 수단은,
    메모리 내의 위치에 대한 후보 어드레스 값을 생성하는 수단;
    상기 후보 어드레스 값을 소정의 값과 비교하는 수단; 및
    상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하는 수단을 포함하는, 통신 시스템 장치.
  18. 명령을 포함하는 프로세서 판독가능 매체로서, 상기 명령은,
    제 1 사이즈의 입력 데이터 비트의 패킷을 수신하고; 그리고
    상기 입력 데이터 비트의 인터리빙된 정렬을 포함하는 제 1 사이즈의 인터리빙된 패킷을 발생시키기 위해, 상기 수신된 패킷을 인터리빙하도록 동작가능하며,
    상기 인터리빙하는 것은, 상기 입력 데이터 비트의 인터리빙된 정렬을 발생시키기 위해 상기 입력 데이터 비트를 다수의 패딩 비트와 프로세싱하는, L 비트-리버설 인터리빙 방식을 구현하는 것을 포함하고, 상기 다수의 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 2 사이즈 및 상기 제 1 사이즈의 차이와 동일하며, 상기 구현하는 것은, 상기 다수의 패딩 비트를 메모리 내의 위치와 연관시키지 않으면서, 상기 입력 데이터 비트를 상기 메모리 내의 위치와 연관시키는 것을 포함하는, 프로세서 판독가능 매체.
  19. 제 18 항에 있어서,
    상기 연관시키는 것은,
    메모리 내의 위치에 대한 후보 어드레스 값을 생성하는 것;
    상기 후보 어드레스 값을 소정의 값과 비교하는 것; 및
    상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하는 것을 포함하는, 프로세서 판독가능 매체.
  20. 통신 시스템에서 데이터를 처리하는 방법으로서,
    제 1 사이즈의 구조 비트들의 시퀀스, 하나 이상의 제 2 사이즈의 패리티 비트들의 시퀀스를 발생시키기 위해, 터보 코드, 또는 LDPC (low density parity check) 코드에 따라 데이터 비트들의 시퀀스를 인코딩하는 단계;
    상기 구조 비트들의 시퀀스의 인터리빙된 정렬을 발생시키기 위해, 상기 구조 비트들의 시퀀스를 인터리빙하는 단계로서, 상기 구조 비트들의 시퀀스의 인터리빙된 정렬을 발생시키기 위해 상기 구조 비트들의 시퀀스를 제 1 수의 제 1 패딩 비트와 제 1 프로세싱하는, 제 1 L 비트-리버설 인터리빙 방식을 구현하는 단계를 포함하고, 상기 제 1 수의 제 1 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 3 사이즈 및 상기 제 1 사이즈의 차이와 동일한, 상기 구조 비트들의 시퀀스를 인터리빙하는 단계;
    상기 하나 이상의 패리티 비트들 시퀀스의 인터리빙된 정렬을 발생시키기 위해, 상기 하나 이상의 패리티 비트들 시퀀스를 인터리빙하는 단계로서, 상기 하나 이상의 패리티 비트들 시퀀스의 인터리빙된 정렬을 발생시키기 위해 상기 하나 이상의 패리티 비트들 시퀀스를 제 2 수의 제 2 패딩 비트와 제 2 프로세싱하는, 제 2 L 비트-리버설 인터리빙 방식을 구현하는 단계를 포함하고, 상기 제 2 수의 제 2 패딩 비트는, 상기 제 2 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 4 사이즈 및 상기 제 2 사이즈의 차이와 동일한, 상기 하나 이상의 패리티 비트들 시퀀스를 인터리빙하는 단계;
    상기 구조 비트들의 시퀀스의 인터리빙된 정렬 및 상기 하나 이상의 패리티 비트들 시퀀스의 인터리빙된 정렬을 갖는, 인터리빙된 데이터의 패킷을 형성하는 단계를 포함하고,
    상기 제 1 및 제 2 L 비트-리버설 인터리빙 방식을 구현하는 단계 중 하나는, 메모리 내의 위치와 다수의 패딩 비트에 대응되는 것을 연관시키지 않으면서, 상기 비트들의 시퀀스에 대응되는 것과 상기 메모리 내의 위치와 연관시키는 단계를 포함하는, 데이터 처리 방법.
  21. 제 20 항에 있어서,
    상기 데이터 비트들의 시퀀스를 인코딩하는 단계는,
    상기 구조 비트들의 시퀀스로서 상기 데이터 비트들의 시퀀스를 제공하는 단계; 및
    연관된 하나 이상의 생성기 다항식에 따라 하나 이상의 패리티 비트들의 시퀀스를 생성하는 단계를 포함하는, 데이터 처리 방법.
  22. 제 20 항에 있어서,
    상기 연관시키는 단계는,
    메모리 내의 위치에 대한 후보 어드레스 값을 생성하는 단계;
    상기 후보 어드레스 값을 소정의 값과 비교하는 단계; 및
    상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하는 단계를 포함하는, 데이터 인터리빙 방법.
  23. 제 1 사이즈의 구조 비트들의 시퀀스, 하나 이상의 제 2 사이즈의 패리티 비트들의 시퀀스를 발생시키기 위해, 터보 코드, 또는 LDPC (low density parity check) 코드에 따라 데이터 비트들의 시퀀스를 인코딩하도록 동작하는 인코더;
    상기 구조 비트들의 시퀀스의 인터리빙된 정렬을 발생시키기 위해, 상기 구조 비트들의 시퀀스를 인터리빙하는 제 1 인터리버로서, 상기 구조 비트들의 시퀀스의 인터리빙된 정렬을 발생시키기 위해 상기 구조 비트들의 시퀀스를 제 1 수의 제 1 패딩 비트와 제 1 프로세싱하는, 제 1 L 비트-리버설 인터리빙 방식을 구현하고, 상기 제 1 수의 제 1 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 3 사이즈 및 상기 제 1 사이즈의 차이와 동일한, 제 1 인터리버;
    상기 하나 이상의 패리티 비트들 시퀀스의 인터리빙된 정렬을 발생시키기 위해, 상기 하나 이상의 패리티 비트들 시퀀스를 인터리빙하는 제 2 인터리버로서, 상기 하나 이상의 패리티 비트들 시퀀스의 인터리빙된 정렬을 발생시키기 위해 상기 하나 이상의 패리티 비트들 시퀀스를 제 2 수의 제 2 패딩 비트와 제 2 프로세싱하는, 제 2 L 비트-리버설 인터리빙 방식을 구현하며, 상기 제 2 수의 제 2 패딩 비트는, 상기 제 2 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 4 사이즈 및 상기 제 2 사이즈의 차이와 동일한, 제 2 인터리버;
    상기 구조 비트들의 시퀀스의 인터리빙된 정렬 및 상기 하나 이상의 패리티 비트들 시퀀스의 인터리빙된 정렬을 갖는, 인터리빙된 데이터의 패킷을 형성하도록 동작가능한 멀티플렉서를 포함하고,
    상기 제 1 및 제 2 인터리버 중 하나는, 상기 L 비트-리버설 인터리빙 방식을 구현할 때, 메모리 내의 위치와 다수의 패딩 비트에 대응되는 것을 연관시키지 않으면서, 상기 비트들의 시퀀스에 대응되는 것과 상기 메모리 내의 위치와 연관시키는, 통신 시스템 장치.
  24. 제 23 항에 있어서,
    상기 일 인터리버는, 메모리 내의 위치에 대한 후보 어드레스 값을 생성하고, 상기 후보 어드레스 값을 소정의 값과 비교하며, 상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하도록 구성되는, 통신 시스템 장치.
  25. 제 1 사이즈의 구조 비트들의 시퀀스, 하나 이상의 제 2 사이즈의 패리티 비트들의 시퀀스를 발생시키기 위해, 터보 코드, 또는 LDPC (low density parity check) 코드에 따라 데이터 비트들의 시퀀스를 인코딩하는 수단;
    상기 구조 비트들의 시퀀스의 인터리빙된 정렬을 발생시키기 위해, 상기 구조 비트들의 시퀀스를 인터리빙하는 수단으로서, 상기 구조 비트들의 시퀀스의 인터리빙된 정렬을 발생시키기 위해 상기 구조 비트들의 시퀀스를 제 1 수의 제 1 패딩 비트와 제 1 프로세싱하는, 제 1 L 비트-리버설 인터리빙 방식을 구현하는 수단을 포함하고, 상기 제 1 수의 제 1 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 3 사이즈 및 상기 제 1 사이즈의 차이와 동일한, 상기 구조 비트들의 시퀀스를 인터리빙하는 수단;
    상기 하나 이상의 패리티 비트들 시퀀스의 인터리빙된 정렬을 발생시키기 위해, 상기 하나 이상의 패리티 비트들 시퀀스를 인터리빙하는 수단으로서, 상기 하나 이상의 패리티 비트들 시퀀스의 인터리빙된 정렬을 발생시키기 위해 상기 하나 이상의 패리티 비트들 시퀀스를 제 2 수의 제 2 패딩 비트와 제 2 프로세싱하는, 제 2 L 비트-리버설 인터리빙 방식을 구현하는 수단을 포함하고, 상기 제 2 수의 제 2 패딩 비트는, 상기 제 2 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 4 사이즈 및 상기 제 2 사이즈의 차이와 동일한, 상기 하나 이상의 패리티 비트들 시퀀스를 인터리빙하는 수단;
    상기 구조 비트들의 시퀀스의 인터리빙된 정렬 및 상기 하나 이상의 패리티 비트들 시퀀스의 인터리빙된 정렬을 갖는, 인터리빙된 데이터의 패킷을 형성하는 수단을 포함하고,
    상기 제 1 및 제 2 L 비트-리버설 인터리빙 방식을 구현하는 수단 중 하나는, 메모리 내의 위치와 다수의 패딩 비트에 대응되는 것을 연관시키지 않으면서, 상기 비트들의 시퀀스에 대응되는 것과 상기 메모리 내의 위치와 연관시키는 수단을 포함하는, 무선 통신 시스템 장치.
  26. 제 25 에 있어서,
    상기 연관시키는 수단은,
    메모리 내의 위치에 대한 후보 어드레스 값을 생성하는 수단;
    상기 후보 어드레스 값을 소정의 값과 비교하는 수단; 및
    상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하는 수단을 포함하는, 무선 통신 시스템 장치.
  27. 통신 시스템에서 데이터를 처리하는 방법으로서,
    제 1 사이즈의 코드 비트들의 시퀀스를 발생시키기 위해, 데이터 비트들의 시퀀스를 컨볼루셔널 코드에 따라 인코딩하는 단계;
    상기 코드 비트들의 시퀀스의 인터리빙된 정렬을 발생시키기 위해, 상기 코드 비트들의 시퀀스를 인터리빙하는 단계로서, 상기 코드 비트들의 시퀀스의 인터리빙된 정렬을 발생시키기 위해 상기 코드 비트들의 시퀀스를 다수의 패딩 비트와 프로세싱하는, L 비트-리버설 인터리빙 방식을 구현하는 단계를 포함하고, 상기 다수의 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 2 사이즈 및 상기 제 1 사이즈의 차이와 동일하며, 상기 구현하는 단계는, 상기 다수의 패딩 비트를 메모리 내의 위치와 연관시키지 않으면서, 상기 코드 비트들의 시퀀스를 상기 메모리 내의 위치와 연관시키는 단계를 포함하는, 인터리빙하는 단계; 및
    상기 코드 비트들의 시퀀스의 인터리빙된 정렬을 갖는, 인터리빙된 데이터의 패킷을 형성하는 단계를 포함하는, 데이터 처리 방법.
  28. 제 27 에 있어서,
    상기 연관시키는 단계는,
    메모리 내의 위치에 대한 후보 어드레스 값을 생성하는 단계;
    상기 후보 어드레스 값을 소정의 값과 비교하는 단계; 및
    상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하는 단계를 포함하는, 데이터 처리 방법.
  29. 통신 시스템에서 데이터를 처리하는 방법으로서,
    제 1 사이즈의 구조 비트들의 시퀀스, 제 2 사이즈의 패리티 비트들의 제 1 시퀀스, 및 상기 제 2 사이즈의 패리티 비트들의 제 2 시퀀스를 발생시키기 위해, 데이터 비트들의 시퀀스를 터보 코드에 따라 인코딩하는 단계;
    상기 구조 비트들의 시퀀스의 인터리빙된 정렬을 발생시키기 위해, 상기 구조 비트들의 시퀀스를 인터리빙하는 단계로서, 상기 구조 비트들의 시퀀스의 인터리빙된 정렬을 발생시키기 위해 상기 구조 비트들의 시퀀스를 제 1 수의 제 1 패딩 비트와 제 1 프로세싱하는, 제 1 L 비트-리버설 인터리빙 방식을 구현하는 단계를 포함하고, 상기 제 1 수의 제 1 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 3 사이즈 및 상기 제 1 사이즈의 차이와 동일한, 상기 구조 비트들의 시퀀스를 인터리빙하는 단계;
    상기 패리티 비트들의 제 1 시퀀스의 인터리빙된 정렬을 발생하기 위해, 상기 패리티 비트들의 제 1 시퀀스를 인터리빙하는 단계로서, 상기 패리티 비트들의 제 1 시퀀스의 인터리빙된 정렬을 발생시키기 위해 상기 패리티 비트들의 제 1 시퀀스를 제 2 수의 제 2 패딩 비트와 제 2 프로세싱하는, 제 2 L 비트-리버설 인터리빙 방식을 구현하는 단계를 포함하고, 상기 제 2 수의 제 2 패딩 비트는, 상기 제 2 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 4 사이즈 및 상기 제 2 사이즈의 차이와 동일한, 상기 패리티 비트들의 제 1 시퀀스를 인터리빙하는 단계;
    상기 패리티 비트들의 제 2 시퀀스의 인터리빙된 정렬을 발생하기 위해, 상기 패리티 비트들의 제 2 시퀀스를 인터리빙하는 단계로서, 상기 패리티 비트들의 제 2 시퀀스의 인터리빙된 정렬을 발생시키기 위해 상기 패리티 비트들의 제 2 시퀀스를, 상기 제 2 수와 동일한, 다수의 제 3 패딩 비트와 제 3 프로세싱하는, 제 2 L 비트-리버설 인터리빙 방식을 더 구현하는 단계를 포함하는, 상기 패리티 비트들의 제 2 시퀀스를 인터리빙하는 단계; 및
    상기 구조 비트들의 시퀀스의 인터리빙된 정렬 및 상기 패리티 비트들의 제 1 및 제 2 시퀀스의 인터리빙된 정렬을 갖는, 인터리빙된 데이터의 패킷을 형성하는 단계를 포함하고,
    상기 제 1 및 제 2 L 비트-리버설 인터리빙 방식을 구현하는 단계 중 하나는, 다수의 패딩 비트에 대응되는 것을 메모리 내의 위치와 연관시키지 않으면서, 상기 비트들의 시퀀스에 대응되는 것과 상기 메모리 내의 위치와 연관시키는 단계를 포함하는, 데이터 처리 방법.
  30. 제 29 항에 있어서,
    상기 연관시키는 단계는,
    메모리 내의 위치에 대한 후보 어드레스 값을 생성하는 단계;
    상기 후보 어드레스 값을 소정의 값과 비교하는 단계; 및
    상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하는 단계를 포함하는, 데이터 처리 방법.
  31. 통신 시스템에서 데이터를 디인터리빙하는 방법으로서,
    L 비트-리버설 인터리빙 방식에 의해 발생된 원래의 (original) 데이터 비트들의 인터리빙된 정렬을 포함하는 제 1 사이즈의 패킷을 획득하는 단계로서, 상기 L 비트-리버설 인터리빙 방식은, 상기 원래의 데이터 비트의 인터리빙된 정렬을 발생시키기 위해 상기 원래의 데이터 비트를 다수의 패딩 비트와 프로세싱하며, 상기 다수의 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 2 사이즈 및 상기 제 1 사이즈의 차이와 동일하며, 상기 L 비트-리버설 인터리빙 방식은, 상기 다수의 패딩 비트를 메모리 내의 위치와 연관시키지 않으면서, 상기 원래의 데이터 비트를 상기 메모리 내의 위치와 연관시키는, 획득하는 단계; 및
    상기 원래의 데이터 비트의 디인터리빙된 정렬을 포함하는 제 1 사이즈의 디인터리빙된 패킷을 형성하기 위해, 상기 L 비트-리버설 인터리빙 방식에 따라 상기 패킷을 디인터리빙하는 단계를 포함하는, 디인터리빙 방법.
  32. 제 31 항에 있어서,
    상기 L 비트-리버설 인터리빙 방식은, 메모리 내의 위치에 대한 후보 어드레스 값을 생성하고, 상기 후보 어드레스 값을 소정의 값과 비교하며, 상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하는, 디인터리빙 방법.
  33. 제 31 항에 있어서,
    디코딩된 데이터의 패킷을 생성하기 위해, 상기 디인터리빙된 패킷을 터보 코드, 컨볼루셔널 코드, LDPC 코드에 대한 디코딩 방식에 따라 디코딩하는 단계를 추가로 포함하는, 디인터리빙 방법.
  34. L 비트-리버설 인터리빙 방식에 의해 발생된 원래의 (original) 데이터 비트들의 인터리빙된 정렬을 포함하는 제 1 사이즈의 패킷을 저장하도록 동작가능한 메모리 유닛으로서, 상기 L 비트-리버설 인터리빙 방식은, 상기 원래의 데이터 비트의 인터리빙된 정렬을 발생시키기 위해 상기 원래의 데이터 비트를 다수의 패딩 비트와 프로세싱하며, 상기 다수의 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 2 사이즈 및 상기 제 1 사이즈의 차이와 동일하며, 상기 L 비트-리버설 인터리빙 방식은, 상기 다수의 패딩 비트를 메모리 내의 위치와 연관시키지 않으면서, 상기 원래의 데이터 비트를 상기 메모리 내의 위치와 연관시키며, 상기 메모리 유닛은, 원래의 데이터 비트의 디인터리빙된 정렬을 포함하는 제 1 사이즈의 디인터리빙된 패킷을 제공하도록 구성되는, 메모리 유닛; 및
    상기 메모리 유닛에 커플링되며, 상기 메모리 유닛이 상기 L 비트-리버설 인터리빙 방식에 따라 상기 저장된 패킷을 디인터리빙하기 위해 사용하는 어드레스를 생성하고, 상기 디인터리빙된 패킷을 형성하도록 동작하는 어드레스 생성기를 포함하는, 무선 통신 시스템 장치.
  35. 제 34 항에 있어서,
    상기 L 비트-리버설 인터리빙 방식은, 메모리 내의 위치에 대한 후보 어드레스 값을 생성하고, 상기 후보 어드레스 값을 소정의 값과 비교하며, 상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하는, 무선 통신 시스템 장치.
  36. 제 34 항에 있어서,
    디코딩된 데이터의 패킷을 생성하기 위해, 상기 디인터리빙된 패킷을 터보 코드, 컨볼루셔널 코드, LDPC 코드에 대한 디코딩 방식에 따라 디코딩하도록 동작하는 디코더를 추가로 포함하는, 무선 통신 시스템 장치.
  37. L 비트-리버설 인터리빙 방식에 의해 발생된 원래의 (original) 데이터 비트들의 인터리빙된 정렬을 포함하는 제 1 사이즈의 패킷을 획득하는 수단으로서, 상기 L 비트-리버설 인터리빙 방식은, 상기 원래의 데이터 비트의 인터리빙된 정렬을 발생시키기 위해 상기 원래 데이터 비트를 다수의 패딩 비트와 프로세싱하며, 상기 다수의 패딩 비트는, 상기 제 1 사이즈보다 더 크면서 가장 근접한 2 의 제곱승 (powers of two) 인 제 2 사이즈 및 상기 제 1 사이즈의 차이와 동일하며, 상기 L 비트-리버설 인터리빙 방식은, 상기 다수의 패딩 비트를 메모리 내의 위치와 연관시키지 않으면서, 상기 원래의 데이터 비트를 상기 메모리 내의 위치와 연관시키는, 획득하는 수단; 및
    상기 원래의 데이터 비트의 디인터리빙된 정렬을 포함하는 제 1 사이즈의 디인터리빙된 패킷을 형성하기 위해, 상기 L 비트-리버설 인터리빙 방식에 따라 상기 패킷을 디인터리빙하는 수단을 포함하는, 무선 통신 시스템 장치.
  38. 제 37 항에 있어서,
    상기 L 비트-리버설 인터리빙 방식은, 메모리 내의 위치에 대한 후보 어드레스 값을 생성하고, 상기 후보 어드레스 값을 소정의 값과 비교하며, 상기 소정의 값과 소정의 관계를 견디는 (bear) 후보 어드레스 값만을, 상기 입력 데이터 비트와 연관된 어드레스 값으로서 선택하는, 무선 통신 시스템 장치.
  39. 제 38 항에 있어서,
    디코딩된 데이터의 패킷을 생성하기 위해, 상기 디인터리빙된 패킷을 터보 코드, 컨볼루셔널 코드, LDPC 코드에 대한 디코딩 방식에 따라 디코딩하는 수단을 추가로 포함하는, 무선 통신 시스템 장치.
KR1020107012051A 2004-12-22 2005-12-22 프루닝된 비트-리버설 인터리버 Ceased KR20100082023A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/022,485 US7543197B2 (en) 2004-12-22 2004-12-22 Pruned bit-reversal interleaver
US11/022,485 2004-12-22

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020077016205A Division KR20070087100A (ko) 2004-12-22 2005-12-22 프루닝된 비트-리버설 인터리버

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020107028017A Division KR20110009232A (ko) 2004-12-22 2005-12-22 프루닝된 비트-리버설 인터리버

Publications (1)

Publication Number Publication Date
KR20100082023A true KR20100082023A (ko) 2010-07-15

Family

ID=36228605

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020077016205A Ceased KR20070087100A (ko) 2004-12-22 2005-12-22 프루닝된 비트-리버설 인터리버
KR1020107012051A Ceased KR20100082023A (ko) 2004-12-22 2005-12-22 프루닝된 비트-리버설 인터리버
KR1020107028017A Ceased KR20110009232A (ko) 2004-12-22 2005-12-22 프루닝된 비트-리버설 인터리버

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020077016205A Ceased KR20070087100A (ko) 2004-12-22 2005-12-22 프루닝된 비트-리버설 인터리버

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020107028017A Ceased KR20110009232A (ko) 2004-12-22 2005-12-22 프루닝된 비트-리버설 인터리버

Country Status (8)

Country Link
US (3) US7543197B2 (ko)
EP (1) EP1839395A1 (ko)
JP (1) JP4897703B2 (ko)
KR (3) KR20070087100A (ko)
CN (1) CN101124731B (ko)
CA (1) CA2590964C (ko)
TW (1) TWI389461B (ko)
WO (1) WO2006069392A1 (ko)

Families Citing this family (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9130810B2 (en) 2000-09-13 2015-09-08 Qualcomm Incorporated OFDM communications methods and apparatus
US7295509B2 (en) 2000-09-13 2007-11-13 Qualcomm, Incorporated Signaling method in an OFDM multiple access system
US8179954B2 (en) * 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
US8885761B2 (en) 2003-03-25 2014-11-11 Sony Corporation Data processing apparatus and method
GB2454193B (en) 2007-10-30 2012-07-18 Sony Corp Data processing apparatus and method
KR100713528B1 (ko) * 2004-03-12 2007-05-02 삼성전자주식회사 직교 주파수 분할 다중 접속 방식을 사용하는 통신시스템에서 서브 채널 신호 송신 장치 및 방법
US7392464B1 (en) * 2004-04-30 2008-06-24 Marvell International Ltd. Universal parity encoder
US7567621B2 (en) * 2004-07-21 2009-07-28 Qualcomm Incorporated Capacity based rank prediction for MIMO design
US9137822B2 (en) 2004-07-21 2015-09-15 Qualcomm Incorporated Efficient signaling over access channel
US9148256B2 (en) 2004-07-21 2015-09-29 Qualcomm Incorporated Performance based rank prediction for MIMO design
US7206886B2 (en) * 2005-02-24 2007-04-17 International Business Machines Corporation Data ordering translation between linear and interleaved domains at a bus interface
US9246560B2 (en) 2005-03-10 2016-01-26 Qualcomm Incorporated Systems and methods for beamforming and rate control in a multi-input multi-output communication systems
US9154211B2 (en) 2005-03-11 2015-10-06 Qualcomm Incorporated Systems and methods for beamforming feedback in multi antenna communication systems
US8446892B2 (en) 2005-03-16 2013-05-21 Qualcomm Incorporated Channel structures for a quasi-orthogonal multiple-access communication system
US9143305B2 (en) 2005-03-17 2015-09-22 Qualcomm Incorporated Pilot signal transmission for an orthogonal frequency division wireless communication system
US9461859B2 (en) 2005-03-17 2016-10-04 Qualcomm Incorporated Pilot signal transmission for an orthogonal frequency division wireless communication system
US9520972B2 (en) 2005-03-17 2016-12-13 Qualcomm Incorporated Pilot signal transmission for an orthogonal frequency division wireless communication system
US9184870B2 (en) 2005-04-01 2015-11-10 Qualcomm Incorporated Systems and methods for control channel signaling
US9408220B2 (en) 2005-04-19 2016-08-02 Qualcomm Incorporated Channel quality reporting for adaptive sectorization
US9036538B2 (en) 2005-04-19 2015-05-19 Qualcomm Incorporated Frequency hopping design for single carrier FDMA systems
US7685495B2 (en) * 2005-05-12 2010-03-23 Qualcomm Incorporated Apparatus and method for channel interleaving in communications system
US8879511B2 (en) 2005-10-27 2014-11-04 Qualcomm Incorporated Assignment acknowledgement for a wireless communication system
US8565194B2 (en) 2005-10-27 2013-10-22 Qualcomm Incorporated Puncturing signaling channel for a wireless communication system
US8611284B2 (en) 2005-05-31 2013-12-17 Qualcomm Incorporated Use of supplemental assignments to decrement resources
US8462859B2 (en) 2005-06-01 2013-06-11 Qualcomm Incorporated Sphere decoding apparatus
US8599945B2 (en) 2005-06-16 2013-12-03 Qualcomm Incorporated Robust rank prediction for a MIMO system
US9179319B2 (en) 2005-06-16 2015-11-03 Qualcomm Incorporated Adaptive sectorization in cellular systems
US8885628B2 (en) 2005-08-08 2014-11-11 Qualcomm Incorporated Code division multiplexing in a single-carrier frequency division multiple access system
US20070041457A1 (en) 2005-08-22 2007-02-22 Tamer Kadous Method and apparatus for providing antenna diversity in a wireless communication system
US9209956B2 (en) 2005-08-22 2015-12-08 Qualcomm Incorporated Segment sensitive scheduling
US8644292B2 (en) 2005-08-24 2014-02-04 Qualcomm Incorporated Varied transmission time intervals for wireless communication system
US9136974B2 (en) 2005-08-30 2015-09-15 Qualcomm Incorporated Precoding and SDMA support
US9172453B2 (en) 2005-10-27 2015-10-27 Qualcomm Incorporated Method and apparatus for pre-coding frequency division duplexing system
US9225416B2 (en) 2005-10-27 2015-12-29 Qualcomm Incorporated Varied signaling channels for a reverse link in a wireless communication system
US8045512B2 (en) 2005-10-27 2011-10-25 Qualcomm Incorporated Scalable frequency band operation in wireless communication systems
US9210651B2 (en) 2005-10-27 2015-12-08 Qualcomm Incorporated Method and apparatus for bootstraping information in a communication system
US8477684B2 (en) 2005-10-27 2013-07-02 Qualcomm Incorporated Acknowledgement of control messages in a wireless communication system
US8582509B2 (en) 2005-10-27 2013-11-12 Qualcomm Incorporated Scalable frequency band operation in wireless communication systems
US9144060B2 (en) 2005-10-27 2015-09-22 Qualcomm Incorporated Resource allocation for shared signaling channels
US9088384B2 (en) 2005-10-27 2015-07-21 Qualcomm Incorporated Pilot symbol transmission in wireless communication systems
US8693405B2 (en) 2005-10-27 2014-04-08 Qualcomm Incorporated SDMA resource management
US7661037B2 (en) * 2005-10-27 2010-02-09 Samsung Electronics Co., Ltd. LDPC concatenation rules for IEEE 802.11n systems
US9225488B2 (en) 2005-10-27 2015-12-29 Qualcomm Incorporated Shared signaling channel
US8582548B2 (en) 2005-11-18 2013-11-12 Qualcomm Incorporated Frequency division multiple access schemes for wireless communication
KR100739182B1 (ko) * 2005-12-08 2007-07-13 엘지전자 주식회사 시공간 harq 기법을 제공하는 이동 통신 단말기 및 그방법
US7707479B2 (en) 2005-12-13 2010-04-27 Samsung Electronics Co., Ltd. Method of generating structured irregular low density parity checkcodes for wireless systems
US8831607B2 (en) 2006-01-05 2014-09-09 Qualcomm Incorporated Reverse link other sector communication
KR20070074256A (ko) * 2006-01-09 2007-07-12 삼성전자주식회사 셀룰러 망에서 릴레이를 통한 데이터 중계방법 및 이를지원하는 셀룰러 이동통신시스템
KR20070080392A (ko) * 2006-02-07 2007-08-10 삼성전자주식회사 저밀도 패러티 검사 부호의 천공 방법
US20110173509A1 (en) * 2006-09-18 2011-07-14 Availink, Inc. Bit mapping scheme for an ldpc coded 16apsk system
WO2008034289A1 (en) * 2006-09-18 2008-03-27 Juntan Zhang Bit mapping scheme for an ldpc coded 32apsk system
US8340070B2 (en) * 2006-10-03 2012-12-25 Qualcomm Incorporated Resource partitioning for wireless communication systems
KR101165638B1 (ko) 2006-10-24 2012-07-17 엘지전자 주식회사 연속적인 길이를 제공하는 인터리버 제공 방법, 인터리빙방법 및 이에 의한 터보 인코더
US8266508B2 (en) 2007-06-08 2012-09-11 Telefonaktiebolaget L M Ericsson (Publ) Computational efficient convolutional coding with rate matching
US8683305B2 (en) * 2007-08-14 2014-03-25 Texas Instruments Incorporated Rate matching and scrambling techniques for control signaling
WO2009038350A1 (en) 2007-09-21 2009-03-26 Lg Electronics Inc. Method of mapping physical resource to logical resource in wireless communication system
CN100589327C (zh) * 2007-09-25 2010-02-10 华为技术有限公司 编码、解码方法及编码器、解码器
CN101399554B (zh) * 2007-09-30 2012-03-21 华为技术有限公司 一种基于ldpc码的交织方法和解交织方法及其装置
ATE443376T1 (de) 2007-10-30 2009-10-15 Sony Corp Vorrichtung und verfahren zur datenverarbeitung
PL2056549T3 (pl) 2007-10-30 2013-04-30 Sony Corp Urządzenie i sposób przetwarzania danych
WO2009056801A1 (en) 2007-10-30 2009-05-07 Sony Corporation Data processing apparatus and method
JP5247355B2 (ja) * 2007-10-31 2013-07-24 パナソニック株式会社 送信装置
US8494072B2 (en) * 2007-11-06 2013-07-23 Qualcomm Incorporated Frequency diverse control mapping of channel elements to resource elements
KR101387257B1 (ko) * 2007-11-22 2014-04-21 삼성전자주식회사 무선통신망에서 음성패킷을 전송하기 위한 장치 및 방법
US20090245423A1 (en) * 2008-03-28 2009-10-01 Qualcomm Incorporated De-Interlever That Simultaneously Generates Multiple Reorder Indices
US8572332B2 (en) * 2008-03-28 2013-10-29 Qualcomm Incorporated De-interleaving mechanism involving a multi-banked LLR buffer
US8345794B2 (en) * 2008-04-29 2013-01-01 Qualcomm Incorporated Encoded control channel information interleaving
US8392786B2 (en) * 2008-05-07 2013-03-05 Broadcom Corporation LDPC coding systems for 60 GHz millimeter wave based physical layer extension
KR101558562B1 (ko) * 2008-05-26 2015-10-07 엘지전자 주식회사 터보코드를 이용한 데이터 전송장치 및 방법
GB2460459B (en) * 2008-05-30 2012-07-11 Sony Corp Data processing apparatus and method
US20100086171A1 (en) * 2008-10-02 2010-04-08 Silverbrook Research Pty Ltd Method of imaging coding pattern having merged data symbols
US8127105B2 (en) * 2008-11-04 2012-02-28 Qualcomm Incorporated Parallel pruned bit-reversal interleaver
US8209590B2 (en) * 2008-11-05 2012-06-26 Broadcom Corporation Header encoding/decoding
US20100111145A1 (en) * 2008-11-05 2010-05-06 Broadcom Corporation Baseband unit having bit repetitive encoded/decoding
US8306064B2 (en) * 2009-01-12 2012-11-06 Trane International Inc. System and method for extending communication protocols
US8413010B1 (en) 2009-03-12 2013-04-02 Western Digital Technologies, Inc. Data storage device employing high quality metrics when decoding logical block address appended to a data sector
CN101510782B (zh) * 2009-03-20 2012-01-04 华为技术有限公司 译码方法和系统
US8560696B2 (en) * 2009-04-28 2013-10-15 Intel Corporation Transmission of advanced-MAP information elements in mobile networks
TWI427936B (zh) * 2009-05-29 2014-02-21 Sony Corp 接收設備,接收方法,程式,及接收系統
US8543884B2 (en) * 2009-06-16 2013-09-24 Qualcomm Incorporated Communications channel parallel interleaver and de-interleaver
US8638244B2 (en) 2009-08-31 2014-01-28 Freescale Semiconductor, Inc. Encoding module, apparatus and method for determining a position of a data bit within an interleaved data stream
US8397123B2 (en) * 2009-09-30 2013-03-12 Qualcomm Incorporated Recursive realization of polynomial permutation interleaving
CN102388539B (zh) * 2010-02-10 2015-04-01 松下电器产业株式会社 发送装置、接收装置、发送方法及接收方法
US8683555B2 (en) * 2010-02-10 2014-03-25 Raytheon Company Systems and methods to prevent denial of service attacks
US20130007568A1 (en) * 2010-03-08 2013-01-03 Nec Corporation Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
JP5521722B2 (ja) * 2010-04-14 2014-06-18 沖電気工業株式会社 符号化装置、復号化装置、符号化・復号化システム、及び、プログラム
US8527833B2 (en) * 2010-09-13 2013-09-03 Hughes Network Systems, Llc Method and apparatus for a parameterized interleaver design process
US8817912B1 (en) * 2010-10-27 2014-08-26 Marvell International Ltd. Phase-rotated tone-grouping modulation
CN102136888B (zh) * 2011-04-20 2013-02-20 大唐移动通信设备有限公司 一种子块解交织输入数据处理方法及装置
US8532112B2 (en) * 2011-09-23 2013-09-10 Lsi Corporation Interleaving for wideband code division multiple access
WO2013085362A1 (en) * 2011-12-08 2013-06-13 Lg Electronics Inc. Method of transmitting and receiving data unit in wireless local area network system and apparatus for the same
US9774352B2 (en) * 2013-09-17 2017-09-26 Samsung Electronics Co., Ltd. Transmitting apparatus, and puncturing method thereof
KR102198773B1 (ko) * 2013-09-17 2021-01-05 삼성전자주식회사 송신 장치 및 그의 펑처링 방법
CA2924874A1 (en) * 2013-09-26 2015-04-02 Sony Corporation Data processing device and data processing method
EP3051703A4 (en) * 2013-09-26 2017-06-07 Sony Corporation Data processing device and data processing method
CN105556856A (zh) * 2013-09-26 2016-05-04 索尼公司 数据处理装置和数据处理方法
KR20160064085A (ko) * 2013-09-26 2016-06-07 소니 주식회사 데이터 처리 장치 및 데이터 처리 방법
WO2015045899A1 (ja) * 2013-09-26 2015-04-02 ソニー株式会社 データ処理装置、及びデータ処理方法
EP3051706A4 (en) * 2013-09-26 2017-06-14 Sony Corporation Data processing device and data processing method
US9954708B2 (en) * 2013-11-15 2018-04-24 Intel Corporation Method and apparatus for frequency interleaving
WO2015137712A1 (en) 2014-03-14 2015-09-17 Samsung Electronics Co., Ltd. Method and apparatus for controlling interleaving depth
WO2015139248A1 (zh) * 2014-03-19 2015-09-24 华为技术有限公司 极性码的速率匹配方法和速率匹配装置
RU2679723C1 (ru) * 2014-03-21 2019-02-12 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство согласования скорости полярного кода
CA2972655C (en) 2014-03-24 2020-10-20 Huawei Technologies Co., Ltd. Polar code rate matching method and polar code rate matching apparatus
JP6686894B2 (ja) 2014-10-27 2020-04-22 ソニー株式会社 装置
US9473177B2 (en) * 2014-11-26 2016-10-18 Freescale Semiconductor, Inc. Turbo decoder with a low-power input format and associated method
CN105811996B (zh) 2014-12-30 2019-12-06 华为技术有限公司 一种基于准循环ldpc的数据处理方法及系统
WO2016140513A1 (en) * 2015-03-02 2016-09-09 Samsung Electronics Co., Ltd. Transmitter and parity permutation method thereof
US10277250B2 (en) * 2015-03-02 2019-04-30 Samsung Electronics Co., Ltd. Transmitter and parity permutation method thereof
WO2016140515A1 (en) * 2015-03-02 2016-09-09 Samsung Electronics Co., Ltd. Transmitter and parity permutation method thereof
KR101800415B1 (ko) * 2015-03-02 2017-11-23 삼성전자주식회사 송신 장치 및 그의 패리티 퍼뮤테이션 방법
FR3037746B1 (fr) 2015-06-19 2020-10-02 Inst Mines Telecom Procede de construction d'un entrelaceur pour turbo-encodeur
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
CN109644008B (zh) 2017-02-10 2023-06-20 瑞典爱立信有限公司 用于极化码的循环缓冲器速率匹配
FR3064138B1 (fr) 2017-03-20 2021-05-07 Orange Procedes et dispositifs de codage a rendement compatible
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
US12476733B2 (en) * 2017-06-19 2025-11-18 Qualcomm Incorporated Communication techniques with self-decodable redundancy versions (RVs) using systematic codes
SG11201911638SA (en) 2017-07-07 2020-02-27 Qualcomm Inc Communication techniques applying low-density parity-check code base graph selection
US11563518B2 (en) 2017-08-08 2023-01-24 Vivo Mobile Communication Co., Ltd. Method and device of cyclic redundancy check
CN109391348B (zh) * 2017-08-08 2020-06-02 维沃移动通信有限公司 循环冗余校验的方法和设备
US10972219B2 (en) * 2018-09-24 2021-04-06 Qualcomm Incorporated LDPC interleaver design for improved error floor performance
JP2021164092A (ja) * 2020-04-01 2021-10-11 株式会社スマート・ソリューション・テクノロジー 通信システム、通信端末、通信方法及びプログラム
JP2024513698A (ja) * 2021-04-01 2024-03-27 インテル コーポレイション ポーラーコードに基づいた制御チャネル伝送のための強化されたマッピング
CN114337927B (zh) * 2021-12-31 2024-09-27 Oppo广东移动通信有限公司 解码方法、装置、设备、存储介质、程序产品及通信芯片
CN116318552B (zh) * 2023-03-15 2023-09-22 归芯科技(深圳)有限公司 Turbo码的交织或解交织方法及其器件、通信芯片和装置
CN116566404B (zh) * 2023-07-11 2023-09-19 北京谷数科技股份有限公司 删余Turbo码交织映射关系的确定方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334197B1 (en) 1998-08-17 2001-12-25 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
US6871303B2 (en) * 1998-12-04 2005-03-22 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
KR100346170B1 (ko) 1998-12-21 2002-11-30 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
KR100350459B1 (ko) 1998-12-26 2002-12-26 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
JP3515036B2 (ja) * 1999-02-19 2004-04-05 株式会社エヌ・ティ・ティ・ドコモ インターリービング方法、インターリービング装置、ターボ符号化方法及びターボ符号化装置
FR2790621B1 (fr) * 1999-03-05 2001-12-21 Canon Kk Dispositif et procede d'entrelacement pour turbocodage et turbodecodage
US6314534B1 (en) * 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving
WO2002007372A2 (en) 2000-07-13 2002-01-24 Qualcomm Incorporated Maximum distance block coding scheme
CN1120594C (zh) * 2000-11-17 2003-09-03 北京邮电大学 权位倒置交织器
US6845482B2 (en) * 2001-02-28 2005-01-18 Qualcomm Incorporated Interleaver for turbo decoder
US7170849B1 (en) * 2001-03-19 2007-01-30 Cisco Systems Wireless Networking (Australia) Pty Limited Interleaver, deinterleaver, interleaving method, and deinterleaving method for OFDM data
KR100539862B1 (ko) 2001-04-04 2005-12-28 삼성전자주식회사 부호분할다중접속 이동통신시스템에서 데이타 송/수신장치및 방법
US6885711B2 (en) * 2001-06-27 2005-04-26 Qualcomm Inc Turbo decoder with multiple scale selections
KR100860660B1 (ko) * 2002-01-09 2008-09-26 삼성전자주식회사 통신시스템의 인터리빙 장치 및 방법
CN100568745C (zh) 2002-02-06 2009-12-09 三星电子株式会社 通信系统中的交织器和交织方法
US6636568B2 (en) 2002-03-01 2003-10-21 Qualcomm Data transmission with non-uniform distribution of data rates for a multiple-input multiple-output (MIMO) system
US8208364B2 (en) * 2002-10-25 2012-06-26 Qualcomm Incorporated MIMO system with multiple spatial multiplexing modes
EP1587217A1 (en) 2004-04-15 2005-10-19 Istituto superiore Mario Boella per le Tecnologie dell'Informazione e delle Telecomunicazioni Pruning methods for the generation of S-random interleavers
DK1829262T3 (en) 2004-11-16 2018-06-06 Qualcomm Inc CLOSED LOOP SPEED CONTROL FOR A MIMO COMMUNICATION SYSTEM

Also Published As

Publication number Publication date
KR20070087100A (ko) 2007-08-27
JP2008526134A (ja) 2008-07-17
US7543197B2 (en) 2009-06-02
WO2006069392A1 (en) 2006-06-29
KR20110009232A (ko) 2011-01-27
CN101124731B (zh) 2011-12-07
CN101124731A (zh) 2008-02-13
JP4897703B2 (ja) 2012-03-14
TWI389461B (zh) 2013-03-11
TW200637172A (en) 2006-10-16
US20090254795A1 (en) 2009-10-08
CA2590964C (en) 2014-05-13
EP1839395A1 (en) 2007-10-03
US20090327843A1 (en) 2009-12-31
CA2590964A1 (en) 2006-06-29
US20060156199A1 (en) 2006-07-13
US8156390B2 (en) 2012-04-10
US8156389B2 (en) 2012-04-10

Similar Documents

Publication Publication Date Title
US7543197B2 (en) Pruned bit-reversal interleaver
US8543884B2 (en) Communications channel parallel interleaver and de-interleaver
JP3730238B2 (ja) 適用形チャネル符号化方法及び装置
EP1045521B1 (en) Rate matching and channel interleaving for a communications system
CA2337161C (en) Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system
JP2010508790A (ja) 高データレートのためのターボインターリーバ
WO2000035103A9 (en) Turbo code interleaver using linear congruential sequences
JP2004531116A (ja) ターボデコーダ用インタリーバ
JP2003244257A (ja) 多値変調に適した符号語マッピング方法
CN1685621B (zh) 用于解交织通信设备中的交织数据流的方法和装置
EP2092652A2 (en) Quadratic permutation polynomial interleaver/de-interleaver for turbo codes
CA2366581C (en) Intra-row permutation for turbocode
US20070115960A1 (en) De-interleaver for data decoding
US7873897B2 (en) Devices and methods for bit-level coding and decoding of turbo codes
Rashed et al. Transmission of voice signal: BER performance analysis of different FEC schemes based OFDM system over various channels
CN101336515B (zh) 交织方法和通信装置
HK1112332A (en) Pruned bit-reversal interleaver
CN101662333A (zh) 一种交织方法和装置
KR20020027331A (ko) 통신 장치 및 통신 방법
WO2008105588A1 (en) Transmitting device and method and receiving device and method in communication system
Block Low-Rate FEC for $ M $-ary Orthogonal Modulation

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20100531

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20100913

Patent event code: PE09021S01D

A107 Divisional application of patent
AMND Amendment
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20101213

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20110623

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20100913

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

J201 Request for trial against refusal decision
PJ0201 Trial against decision of rejection

Patent event date: 20110725

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20110623

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20120921

Appeal identifier: 2011101005017

Request date: 20110725

AMND Amendment
PB0901 Examination by re-examination before a trial

Comment text: Amendment to Specification, etc.

Patent event date: 20110824

Patent event code: PB09011R02I

Comment text: Request for Trial against Decision on Refusal

Patent event date: 20110725

Patent event code: PB09011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20101213

Patent event code: PB09011R02I

B601 Maintenance of original decision after re-examination before a trial
PB0601 Maintenance of original decision after re-examination before a trial

Comment text: Report of Result of Re-examination before a Trial

Patent event code: PB06011S01D

Patent event date: 20110906

J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20110725

Effective date: 20120921

PJ1301 Trial decision

Patent event code: PJ13011S01D

Patent event date: 20120921

Comment text: Trial Decision on Objection to Decision on Refusal

Appeal kind category: Appeal against decision to decline refusal

Request date: 20110725

Decision date: 20120921

Appeal identifier: 2011101005017