KR20120004519A - 순방향 링크 전용 시스템에서 인터리빙하는 장치 및 방법 - Google Patents

순방향 링크 전용 시스템에서 인터리빙하는 장치 및 방법 Download PDF

Info

Publication number
KR20120004519A
KR20120004519A KR1020117026543A KR20117026543A KR20120004519A KR 20120004519 A KR20120004519 A KR 20120004519A KR 1020117026543 A KR1020117026543 A KR 1020117026543A KR 20117026543 A KR20117026543 A KR 20117026543A KR 20120004519 A KR20120004519 A KR 20120004519A
Authority
KR
South Korea
Prior art keywords
sequence
codeblock
bit
turbo
interleaving
Prior art date
Application number
KR1020117026543A
Other languages
English (en)
Other versions
KR101274349B1 (ko
Inventor
빈 뒤르크 엘 반
무랄리 알 차리
토마스 썬
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20120004519A publication Critical patent/KR20120004519A/ko
Application granted granted Critical
Publication of KR101274349B1 publication Critical patent/KR101274349B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • 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/2771Internal interleaver for turbo codes
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/2735Interleaver using powers of a primitive element, e.g. Galois field [GF] interleaver
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes

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

통신 시스템에서 브로드캐스트를 위해 데이터 패킷들을 인코딩 및 인터리빙하고 데이터 패킷들을 디인터리빙 및 디코딩하는 방법들 및 디바이스들은, 터보 인코딩 및 디코딩의 일부로서 의사 랜덤 M-시퀀스 비트 인코딩을 사용함으로써 해로운 바이어싱 영향을 제거한다. 의사 랜덤 M-시퀀스 비트 인코딩의 사용은, 종래의 r-c 인터리빙이 브로드캐스트 간섭의 존재하에서 수신을 열화시키는 롱 터보 인코딩된 데이터에 적용되는 경우에 도입될 수도 있는 바이어싱 영향을 완화한다.

Description

순방향 링크 전용 시스템에서 인터리빙하는 장치 및 방법{APPARATUS AND METHODS FOR INTERLEAVING IN A FORWARD LINK ONLY SYSTEM}
본 출원은 그 전체 내용이 여기에 참조로서 포함되는 2009년 4월 11일 출원된 "Apparatus and Methods for Interleaving in a Forward Link Only System" 이란 명칭의 미국 가출원 번호 61/168,596 호에 대한 우선권의 이익을 주장한다.
MediaFLO® 및 순방향 링크 전용 (FLO) 은 무선 제공자들의 산업-주도 그룹에 의해 개발된 디지털 무선 기술이다. MediaFLO® 기술은 일 경우에서 모바일 멀티미디어 환경용으로 설계되고, 셀룰러 핸드셋들상의 사용에 적합한 성능 특징을 나타낸다. 이것은 실시간 콘텐츠 스트리밍 및 다른 데이터 서비스들 양자에 대해, 고품질 수신을 달성하기 위해 코딩 및 인터리빙에서의 진보를 사용한다. MediaFLO® 기술은 전력 소모를 손상시키지 않고 로버스트한 모바일 성능 및 고용량을 제공할 수 있다. 이 기술은 또한, 배치될 필요가 있는 송신기들의 수를 극적으로 감소시킴으로써 멀티미디어 콘텐츠를 전달하는 네트워크 비용을 감소시킨다. 또한, MediaFLO® 기술 기반 멀티미디어 멀티캐스팅은 컨텐츠를 3G 네트워크들상에서 사용된 동일한 셀룰러 핸드셋들로 전달하는 무선 오퍼레이터의 셀룰러 네트워크 데이터 및 음성 서비스들을 보충한다.
신호가 브로드캐스트될 때, 2개 이상의 경로에 의해 수신기로 전파할 수 있다는 것이 발생한다. 예를 들어, 단일 송신기로부터의 신호는 직선을 따라 수신기로 전파할 수 있고, 물리적 오브젝트들에 또한 반사될 수 있어서 상이한 경로를 따라 수신기로 전파할 수 있다. 또한, 시스템이 스펙트럼 효율을 증가시키기 위해 소위 "셀룰러" 브로드캐스팅 기법을 사용할 때, 수신기용으로 의도된 신호가 2개 이상의 송신기에 의해 브로드캐스트될 수도 있다는 것이 발생한다. 따라서, 동일한 신호는 2개 이상의 경로를 따라 수신기로 송신된다. 인공적 (즉, 2개 이상의 송신기로부터 동일한 신호를 브로드캐스팅함으로써 초래됨) 또는 자연적 (즉, 에코들에 의해 초래됨) 이든, 이러한 신호들의 병렬 전파를 "다중경로" 라 칭한다. 셀룰러 디지털 브로드캐스팅이 스펙트럼적으로 효율적이지만, 다중경로 고려사항들을 효율적으로 다루기 위해서는 규정이 이루어져야 한다는 것이 쉽게 이해될 수 있다.
다행히도, MediaFLO® 시스템들을 포함하는 직교 주파수 분할 멀티플렉싱 (OFDM) 시스템들에서의 직교 진폭 변조 (QAM) 와 같은 변조 기법들이 단일 캐리어 주파수만이 사용되는 유사한 변조 기법들 보다는 다중경로 조건의 존재하에서 더욱 효율적이다. 더욱 특히, 단일 캐리어 QAM 시스템들에서, 프라이머리 경로 만큼 강한 에코들을 갖는 채널들을 등화하기 위해 복잡한 등화기가 사용되어야 하고, 이러한 등화는 실행하는데 어렵다. 반대로, OFDM 시스템에서, 복잡한 등화기들의 필요성은 각 심볼의 시작에 적절한 길이의 가드 간격을 단순히 삽입함으로써 전체적으로 제거될 수 있다. 따라서, QAM 변조를 사용하는 OFDM 시스템들은 다중경로 조건이 예상될 때 바람직하다.
송신될 데이터 스트림은 콘볼루셔널 또는 터보 인코더로 인코딩되고 인터리빙되고, 그 후, 연속 비트들이 QAM 심볼이 되는 비트 그룹에서 결합된다. 그룹들이 다소의 비트들을 포함할 수 있지만, 통상적으로 그룹 당 비트들의 수가 4 내지 7인 그룹에 여러 비트들이 있다.
비트들이 멀티 비트 심볼들로 그룹화되기 이전의 데이터의 인터리빙은, 입력 데이터 스트림의 연속 비트들이 비트 에러들의 버스트를 발생시킬 수 있는 심볼의 디코딩에서 에러를 야기할 수 있는 동일한 QAM 심볼상에 랜딩 (land) 하지 않는다는 것을 보장하는 것을 돕는다. "인터리빙"함으로써, 데이터 스트림이 순서대로 재배열되어서, 채널 열화에 의해 야기된 잠재적 에러들을 랜덤화한다는 것을 의미한다. 예시하기 위해, 5개의 워드들이 송신될 것이고, 비-인터리빙된 신호의 송신 동안, 임시 채널 장애가 발생한다고 가정한다. 이들 환경하에서, 전체 워드는 채널 방해가 감소되기 이전에 분실될 수 있고, 불가능하지 않지만 분실된 워드에 의해 무슨 정보가 전달되었는지 아는 것은 어려울 수 있다.
반대로, 5개 워드들의 문자들이 송신 이전에 순차적으로 재배열되고 (즉, "인터리빙되고") 채널 장애가 발생하면, 여러 문자들, 아마도 워드 당 하나의 문자가 분실될 수도 있다. 그러나, 재배열된 문자들의 디코딩시에, 워드들 중 여럿이 문자를 미싱하기는 하지만, 모든 5개의 워드들이 나타난다. 이들 환경하에서, 디지털 디코더가 데이터를 전체적으로 실질적으로 복구하는 것이 상대적으로 용이하다는 것이 쉽게 이해될 것이다. m-진 (m-ary) 심볼들을 인터리빙한 이후에, 심볼들은 QAM 원리들을 사용하여 복소 심볼들에 매핑되고, 각각의 서브-캐리어 채널들로 멀티플렉싱되며, 송신된다.
MediaFLO® 시스템 통신에서의 최근의 개발들은 각 물리층 패킷 (PLP) 을 개별적으로 인코딩하는 터보 인코더들을 이용하는 것을 추구한다. 추가로, 개발들은 시간 다이버시티 강화 및 페이딩 채널들에서의 개선된 성능을 갖는 롱 터보 (long turbo) 인코더의 이용을 추구한다. MediaFLO® 시스템에 대한 이들 에볼루션을 때때로 FLO-EV 라 칭한다. 롱 터보 인코더 및 인코딩 방법들의 개시물이, 그 내용이 전체적으로 참조로 여기에 포함되는 2008년 7월 1일 출원되고 미국 공개 특허 제 2009/0268694 호로서 2009년 10월 29일 공개된 "Wireless Communication of Turbo Coded Data with Time Diversity" 라는 명칭의 미국 특허 출원 제 12/165,663 호에 개시되어 있다. 그러나, 공지된 인코더/인터리버 (interleaver) 들을 갖는 롱 터보 코드들의 사용은, 성능 열화 문제들을 나타내었다. 예를 들어, 종래의 인터리빙 기법들을 갖는 롱 터보 코더들의 사용은 OFDM 수퍼프레임내의 특정한 패킷들 또는 프레임들에 대한 바이어싱을 발생시켰다. 따라서, 롱 터보 코드들로 더 양호한 성능을 제공하고 바이어스들을 도입하지 않는 FLO 시스템에서 인터리빙하는 필요성이 존재한다.
다양한 실시형태들은 브로드캐스트 통신 시스템에서 송신을 위해 데이터 패킷들을 인코딩하고 인터리빙하는 방법들 및 디바이스들을 제공한다. 다양한 실시형태들은 코드블록을 인코딩하기 위한 복수의 롱 터보 인코더 및 수퍼프레임에서 터보 인코더로부터의 적어도 하나의 인코딩된 롱 터보 코드 패킷내의 비트들을 인터리빙하도록 구성된 M-시퀀스 인트라-코드블록 인터리버를 활용할 수도 있다. 일 실시형태에서, 터보 인코딩된 정보의 단일 코드블록만이 생성되고, 이것은 인터-코드블록 인터리빙에 대한 필요성을 제거한다. 몇몇 실시형태들은 인터-코드블록 인터리버를 사용한다.
실시형태에서, 인터-코드블록 인터리버가 어떠한 추가의 랜덤화를 제공하지 않기 때문에, 인터-코드블록 인터리버는 인트라-코드블록 인터리버에 대한 필요성을 제거하는 대형 M-시퀀스를 사용한다.
추가의 실시형태들은 수신된 데이터 신호들의 송신에서 사용된 인코더들 및 인터리버들에 대응하는 M-시퀀스 디인터리버 (de-interleaver) 들 및 디코더들을 사용하여 브로드캐스트 통신 시스템에서 수신기 디바이스에 의해 수신된 데이터 패킷들을 디인터리빙 (de-interleave) 하고 디코딩한다.
여기에 통합되고 본 명세서의 일부를 구성하는 첨부한 도면들은 본 발명의 예시적인 실시형태들을 예시하고, 상기 제공된 일반적 설명 및 아래 제공되는 상세한 설명과 함께 본 발명의 특징들을 설명하도록 기능한다.
도 1 은 순방향 링크 전용 네트워크들에 대한 무선 네트워크 시스템을 예시하는 블록도이다.
도 2 는 MediaFLO 무선 시스템에 대한 예시적인 기지국을 예시하는 블록도이다.
도 3 은 MediaFLO 에 대한 종래의 인터리버 구조를 예시하는 블록도이다.
도 4 는 MediaFLO FLO-EV 에 대한 데이터를 인코딩/인터리빙하는 실시형태 방법을 예시하는 흐름도이다.
도 5a 는 M-시퀀스 인터리빙 프로세스의 동작의 예시이다.
도 5B 는 도 4 에서의 M-시퀀스 인터리버 (408) 와 사용될 수도 있는 M-시퀀스를 생성하기 위한 예시적인 16 비트 LFSR 을 도시한다.
도 6 은 MediaFLO FLO-EV 에 대한 데이터를 인코딩/인터리빙하는 대안의 실시형태 방법을 예시하는 흐름도이다.
도 7 은 MediaFLO FLO-EV 에 대한 데이터를 디코딩/디인터리빙하는 실시형태 방법을 예시하는 흐름도이다.
도 8 은 MediaFLO FLO-EV 에 대한 데이터를 디코딩/디인터리빙하는 대안의 실시형태 방법을 예시하는 흐름도이다.
도 9 는 M-시퀀스 디인터리빙 프로세스의 동작의 예시이다.
도 10 은 실시형태에서 사용하는데 적합한 수신기 디바이스의 시스템 블록도이다.
도 11 은 실시형태에서 사용하는데 적합한 서버의 시스템 블록도이다.
첨부한 도면들을 참조하여 다양한 실시형태들이 상세히 설명될 것이다. 가능하면 어디서나, 동일한 참조 부호들이 동일하거나 유사한 부분들을 지칭하기 위해 도면들 전반적으로 사용될 것이다. 특정한 예들 및 구현예들에 대한 참조들은 예시 목적이고, 본 발명의 범위 또는 청구범위를 제한하려는 의도가 아니다.
단어 "예시적" 은 "예, 경우, 또는 예시로서 기능하는"을 의미하는 것으로 여기에서 사용된다. 여기에 "예시적"으로서 설명된 임의의 구현예들이 다른 구현예들 보다 바람직하거나 이로운 것으로서 반드시 해석되지는 않는다.
여기에서 사용되는 바와 같이, 용어 "모바일 디바이스" 및 "핸드헬드 디바이스" 는 셀룰러 전화, 휴대 정보 단말기 (PDA), 팜-탑 컴퓨터, 무선 전자 메일 수신기들 (예를 들어, Blackberry® 및 Treo® 디바이스들), 멀티미디어 인터넷 가능 셀룰러 전화들 (예를 들어, Blackberry Storm®), 글로벌 포지셔닝 시스템 (GPS) 수신기들, 무선 게임 제어기들, 및 모바일 브로드캐스트 텔레비전 서비스들을 수신하고 프로세싱하는 수신기 회로 및 프로그램가능한 프로세서 및 메모리를 포함하는 유사한 개인 전자 디바이스들 중 어느 하나 또는 모두를 지칭한다.
여기에 개시된 다양한 실시형태들은 다수의 모바일 멀티미디어 브로드캐스트 시스템들에서 경험되는 브로드캐스트 기술들 및 간섭 조건들에 특히 유용한 인터리빙하는 장치 및 방법들에 관한 것이다. 실시형태들이 특히 관련되는 멀티미디어 모바일 브로드캐스트 시스템 기법은 코드 블록을 포함하는 모든 물리층 패킷들 (PLPs) 을 통해 인코딩하는 롱 터보 코딩을 사용하는 MediaFLO-EV 에볼루션 시스템이다. 이러한 이유로, 예시적인 예로서, 전문용어, 특징들 및 구조들을 사용하여 다양한 실시형태들이 설명된다. 그러나, 실시형태들은 또한, 상대적으로 긴 수퍼프레임들을 포함하는 롱 터보 코딩을 사용하는 다른 브로드캐스트 시스템들에 적용가능할 수도 있고, 그 일 예가 (5개의 M/H 서브-프레임들을 포함하는) M/H 프레임들을 통해 롱 터보 코딩을 수행하기 위해 변경된 어드밴스드 텔레비전 시스템 위원회 모바일/핸드헬드 (ATSC M/H) 표준 프로토콜을 사용하는 브로드캐스트 시스템들이다. 긴 수퍼프레임의 지속기간을 통해 랜덤하게 및 다소 동일하게 데이터를 스미어링 (smearing) 함으로써, 실시형태들은 좁은 시간 간격내에 집중된 데이터의 버스트를 야기할 수 있는 종래의 인코딩 시스템의 문제점들을 회피하고, 이것은 몇몇 간섭 조건의 존재하에서 높은 에러 레이트에 영향을 받기 쉬운 송신들을 렌더링한다.
다양한 개시된 실시형태들은 성능 및 구현가능성을 최적화하고, 롱 터보 인코딩 방법들의 이용에 의해 바이어스들이 도입되지 않는다는 것을 보장한다. 롱 터보 코드를 사용하는 심볼 인코딩에 적용된 종래의 인터리빙 기법들은 바이어스를 발생시키는 것으로 발견되었다. 통상적으로, MediaFLO® 통신 시스템에서 송신된 데이터는 1-초 프레임에서 전송된다. 프레임들 각각은 4개의 서브프레임들로 분할된다. 종래의 인터리빙 기법들이 롱 터보 코드들을 사용하는 FLO 통신 시스템에서 구현되면, 시스템의 성능은 어느 서브프레임들이 송신에서 분실되었는지에 의존하여 변화할 수도 있다. 예를 들어, 제 1 또는 제 4 서브프레임이 분실되면, 시스템은 제 2 또는 제 3 서브프레임이 분실된 경우 보다 분실된 데이터 심볼들을 복원하기 위해 더 많은 시간을 요구할 수도 있다. 시스템의 성능이 어느 서브프레임이 송신에서 분실되었는지에 의존하기 때문에, 영향을 받은 프레임에 의존하여, 통신 시스템의 불규칙한 열화를 발생시킬 수 있는 바이어스가 나타날 수도 있다.
개시된 실시형태 방법들 및 장치는 임의의 도입된 바이어스를 완화하기 위해 인트라-코드블록 비트 인터리빙, 인터-코드블록 비트 인터리빙, 인트라-인터레이스 심볼 인터리빙, 및 M-시퀀스 비트 인터리빙을 사용하는 인터-인터레이스 심볼 인터리빙을 포함하는 MediaFLO FLO 데이터 신호들의 인터리빙을 제공한다.
실시형태들의 설명은 MediaFLO 표준의 FLO-EV 에볼루션에서의 데이터 스트림들의 인터리빙을 설명한다. 그러나, 실시형태 방법들 및 장치는 DVB 와 같은 다른 통신 시스템들에서 사용될 수도 있다. MediaFLO FLO-EV 통신 시스템에서, 롱 터보 코딩 (LTC) 이 코드블록을 포함하는 모두 16개의 물리층 패킷들 (PLPs) 을 통해 인코딩하도록 구현될 수도 있다. 터보 인코딩 이후에, 기존의 MediaFLO 표준 (TIA-1099) 와는 상이한 인터리빙의 다양한 레벨들이 수행된다. 개시된 실시형태들은 성능을 개선시키고 프레임 이레이저에 대한 탄성에 관한 비대칭을 다룬다.
도 1 은 일반적으로 통상의 브로드캐스트 네트워크들, 및 특히 MediaFLO® 네트워크의 무선 네트워크 시스템 (100) 을 예시하는 시스템 블록도이다. 무선 네트워크 시스템 (100) 는 무선 네트워크 (104) 에 걸쳐 데이터 (예를 들어, 멀티미디어 데이터) 를 하나 이상의 수신기들 (106) 로 브로드캐스트하는 하나 이상의 송신기들 (102) 을 포함한다. 수신기들 (106) 은 MediaFLO® 수신기 디바이스, 셀 폰, 컴퓨터, 개인 단말기, 핸드헬드 또는 랩탑 디바이스들 등과 같은 실질적으로 임의의 타입의 통신 디바이스를 포함할 수 있다. 수신기 (106) 의 부분들이 송신된 신호들 및 멀티미디어 데이터와 같은 다른 데이터를 디코딩하기 위해 이용된다.
도 2 는 FLO 브로드캐스트 시스템 (202), 적어도 하나의 컨텐츠 제공자 (203), 및 적어도 하나의 수신기 디바이스 (204) 를 포함하는 MediaFLO® 통신 시스템 (200) 을 예시하는 컴포넌트 블록도이다. FLO 브로드캐스트 시스템 (202) 은 수신기 서버 (210) 를 통해 하나 이상의 컨텐츠 제공자들 (203) 로부터 오디오 및/또는 비디오 컨텐츠를 수신할 수도 있다. 수신기 서버 (210) 는 인터넷을 통해 정보를 수신할 수도 있고, 수신된 멀티미디어 컨텐츠를 FLO 브로드캐스트 송신과 호환가능한 포맷으로 변환하는 브로드캐스트 인코더 서버 (212) 로 데이터를 패스할 수 있다. FLO 인코딩된 데이터 패킷들은 그것의 브로드캐스트 시간 동안 컨텐츠를 저장하는 메모리 (216) 에 커플링되는 스케줄러 서버 (214) 에 의한 브로드캐스트를 위해 선택될 수도 있다.
FLO 컨텐츠를 브로드캐스트하기 위해, 메모리 (216) 에 저장되거나 브로드캐스트 인코더 서버 (212) 로부터 수신된 비디오 컨텐츠가 스케줄러 서버 (214) 에 의해 선택되어 FLO 멀티플렉서 서버 (218) 로 복구된다. FLO 멀티플렉서 서버 (218) 는 FLO 브로드캐스트 신호에서 송신을 위해 컨텐츠 데이터 심볼 스트림들을 특정한 MediaFLO 논리 채널 (MLC) 에 할당함으로써 복수의 컨텐츠 흐름을 단일 FLO 멀티플렉스 신호로 멀티플렉싱한다. 브로드캐스트 이전에, 컨텐츠 데이터 심볼 스트림들은 데이터 패킷들을 터보 인코딩하고 인터리빙함으로써 간섭 및 페이딩에 대해 로버스트하게 만들기 위해 데이터 심볼 스트림들을 프로세싱하는 인코더/인터리버 모듈 (219) 에 의해 프로세싱된다. 인코더/인터리버 모듈 (219) 은 데이터 심볼 스트림을 터보 인코딩할 수도 있고, 그 후, 인코딩된 데이터 심볼 스트림은 인터리빙될 수도 있다. 데이터 스트림을 인터리빙함으로써, 인코더/인터리버 모듈 (219)은 신호 간섭으로부터의 다른 레벨의 에러 정정 및 보호를 제공하기 위해 데이터 심볼 스트림을 순차적으로 재배열한다. 인코더/인터리버 모듈 (219) 내에서 구현된 실시형태 방법들이 이하 더욱 상세히 설명된다.
변조기 (220) 가 송신 안테나 (미도시) 를 통한 송신기 (222) 에 의한 수신기 디바이스 (204) 로의 송신을 위해 인코딩되고 인터리빙된 신호들을 단일의 멀티플렉싱된 무선 신호로 변조할 수 있다. FLO 브로드캐스트 시스템에서, 커버리지 영역내의 다중의 브로드캐스트 송신기들은 동일한 신호를 거의 동시에 브로드캐스트한다. 이것은 수신기 디바이스들 (204) 이 자주 이동하면서 커버리지 영역내의 임의의 위치로부터 브로드캐스트 멀티미디어 컨텐츠를 수신할 수 있게 한다. 이것을 가능하게 하기 위해, 다중의 변조기들 (220) 및 송신기들 (222) 이 브로드캐스트 커버리지 영역내에서 사용된다.
도 3 은 MediaFLO 에 대한 TIA-1099A 표준에 따라 모듈 (219) 에서 데이터를 인코딩하고 인터리빙하는 종래의 방법을 예시하는 컴포넌트 및 프로세스 흐름도이다. TIA-1099A 에서, 임의의 특정한 수퍼프레임에 대한 MediaFLO 논리 채널 (MLC) (301) 와 관련된 데이터는 각각이 K 개의 정보 패킷들을 포함하는 J 개의 코드블록들로 이루어진다. MLC 내의 각 코드블록에 대해, 정보 패킷들은 (K, 16) 코드를 사용하여 인코더 모듈 (302) 에서 리드-솔로몬 인코딩될 수도 있고, 리드-솔로몬 인코딩 단계 (302) 의 출력을 포함하는 16 개의 패킷들은 레이트 R 을 사용하는 터보 인코더로 개별적으로 인코딩될 수도 있다 (단계 303). 입력 패킷들은 1K 비트 길이이다. 따라서, 터보 인코더의 출력에서의 결과적인 패킷들은 1K/R 길이이다.
도 3 의 인코딩 및 인터리빙 모듈 (219) 에서의 개별 인코딩된 패킷들 각각은 로우-컬럼 (r-c) 인터리버 모듈 (304) 을 사용하여 비트 인터리빙된다. 이러한 동작의 출력 패킷들은 다른 코드블록들에 속하는 패킷들과 결합될 수도 있고 라운드-로빈 인터-코드블록 인터리버를 통해 라운드-로빈 방식으로 인터리빙될 수도 있다 (단계 320). 라운드-로빈 방식 인터리빙 프로세스는 J번째 코드블록의 제 1 패킷이 도달될 때까지, 제 1 코드블록의 제 1 패킷을 취하고, 그 후에 제 2 코드블록의 제 1 패킷을 취하는 것을 수반한다. 이 때, 동작은 모두 J 개의 코드블록들의 모든 16개 패킷들이 인터리빙될 때까지, 제 1 코드블록의 제 2 패킷으로 계속된다.
그 후, 인코더/인터리버 모듈 (219) 은 비트들의 정수의 슬롯들을 형성할 수도 있고, 단계 321 에서 각 형성된 슬롯에서 라운드-로빈 인터-코드블록 인터리버의 출력 비트들을 스크램블링할 수도 있다. 스크램블링 동작의 출력 비트들은 단계 322 에서, MLC 의 QPSK 및 16 QAM 변조 각각에 대해 1000 또는 2000 비트들로 이루어진 슬롯들에 매핑될 수도 있다. 각 슬롯에서의 비트들은 또한 슬롯 당 500개 변조 심볼들에 매핑될 수도 있다. 그 후, 슬롯들은 단계 323 에서 슬롯 - 인터레이스 맵을 사용하여 인터레이스들에 매핑될 수도 있다.
변조 심볼들은 감소된-세트 비트-반전 인터리버를 사용하여 인터레이스내에 인터리빙될 수도 있고, 인터레이스에서 서브캐리어들에 매핑될 수도 있다 (단계 324). 인터레이스들은 OFDM 심볼들을 형성하도록 결합될 수도 있다 (단계 325). 후속 OFDM 공통 동작들이, 심볼들이 송신을 위해 변조기 (220) 에서 변조되기 이전에 단계 326 에서 형성된 OFDM 심볼들상에서 수행될 수도 있다. 원래의 MediaFLO 기술에서, 각 물리층 패킷 (PLP) 은 개별적으로 터보 인코딩되어서, 도입되는 바이어스가 없다. 그러나, FLO-EV 기술에서와 같이, 롱 터보 코드 (LTC) 를 이용하는 브로드캐스트 시스템에서의 이러한 인코딩 및 인터리빙 구조의 구현은, 송신된 서브프레임이 수신기 디바이스 (204) 에 의해 적절하게 수신되지 않았는지에 의존하여 통신 시스템 성능을 가변적으로 열화시키는 바이어스를 발생시킬 수도 있다.
롱 터보 코드들을 이용한 이전의 인코딩 기술의 제한들을 극복하기 위해, 다양한 실시형태들은 비트들의 의사 랜덤 잡음 시퀀스를 생성하기 위해 데이터 패킷들을 인코딩한다. 데이터를 의사 랜덤하게 렌더링함으로써, 바이어스에 대한 잠재성이 최소화된다. 실시형태들은 데이터를 암호화하기 위해 통상적으로 사용되고, 간섭 및 페이딩으로부터 데이터를 보호하기 위해서는 사용되지 않는 M-시퀀스 인코더 방법을 활용한다.
도 4 는 MediaFLO FLO-EV 에 대한 실시형태 인코딩/인터리빙 방법을 예시한다. 종래의 TIA-1099A 표준에서 상술한 바와 같이 리드-솔로몬 인코더로 입력 비트들을 인코딩하고, 그 후, 비트들을 개별적으로 터보 인코딩하는 대신에, 실시형태 인코더/인터리버 모듈 (219) 은 단계 411 에서 16 개의 입력 패킷들을 연결하고, 롱 터보 인코더 (LTC) 를 사용하여 전체 연결된 코드블록 (410) 을 인코딩한다.
전체 코드블록이 터보 인코딩되었으면, 인트라-코드블록 M-시퀀스 비트-인터리빙 동작이 단계 412 에서 터보 인코딩된 코드블록상에서 수행된다. M-시퀀스 비트 인터리버는 각 클록 펄스 사이클에서 시프트 레지스터에 최대 길이 의사 랜덤 잡음 시퀀스를 생성한다. 생성된 의사 랜덤 잡음 시퀀스는 입력 버퍼에서 어드레스 위치로서 해석될 수도 있다. 이와 같이, 특정한 코드블록에 대한 입력 비트들 모두는 동작이 개시될 수 있기 이전에 수신될 필요가 있다. M-시퀀스 비트 인터리브 프로세스에서, M-시퀀스 생성기는, 출력 버퍼 메모리에 저장된 각 개별 코드블록에 대한 비트 스트링에 비트들을 추가하도록 리콜되는 입력 버퍼에서 비트-인덱스들을 나타내도록 어드레스 위치들을 생성하기 위해 인코더/인터리버 프로세스에서 사용된다. 다음의 클록 펄스에서, 새로운 메모리 어드레스 위치가 의사 랜덤 잡음 생성기에 의해 생성된다. 이러한 프로세스가 도 5a 에 예시되어 있다. 또한, 코드블록의 다음의 터보 인코딩된 비트가 새롭게 생성된 의사 랜덤 잡음 시퀀스 어드레스 위치를 사용하여 M-시퀀스 비트 인터리버 (412) 에 의해 입력 버퍼로부터 획득되고, 메모리에서 어드레스를 생성하기 위해 단순한 증분 카운터를 사용하여 출력 버퍼에 저장된다. 이러한 프로세스는 2M-1 개의 어드레스 위치들이 생성될 때까지 계속될 수도 있다. 이러한 방식으로, 코드블록의 터보 인코딩된 비트들은 랜덤하게 재순서화되고 셔플 (shuffle) 될 수도 있다. 데이터를 암호화하기 위해 사용될 때, 이러한 프로세스는 패턴들을 인식하기 위해 프로세스될 수 없는 비트들의 거의 랜덤한 시퀀스를 발생시킨다. 실시형태들에서, M-시퀀스 비트 인터리버 프로세스는, 페이딩에 대해 로버스트한 신호를 렌더링하기 위해 변조 심볼들에 매핑되기 이전에 의사 랜덤 방식으로 신호 스트림에서 정보 워드들을 셔플하기 위해 사용된다.
그 후, 인코딩되고 비트-인터리빙된 패킷이 정수의 동일 사이즈 서브패킷들로 세분될 수도 있다 (단계 413). 이 때, 각 코드블록은 사이즈 16K/(F*R) 의 F 개의 서브패킷들로 구성되며, 여기서 R 은 코드 레이트이다. F 가 16 과 동일하도록 선택될 때, 이전 및 새로운 인터-코드블록 인터리버의 동작은 동일해지지만, 다양한 실시형태들에서, F 의 큰 값이 사용된다. 큰 수의 서브패킷들을 사용한 결과로서, 각 서브패킷들은 비트들의 절대 수와 관련하여, 종래의 TIA-1099A 기법들에서의 인터-코드블록 인터리버에 의해 처리된 패킷들 보다 작을 것이다. 예시적인 실시형태에서, F 는 F=80 의 값으로 설정된다.
당업자는 실시형태 방법들의 작은 변경예들의 가능하다는 것을 이해할 수도 있다. 예를 들어, 인코딩된 패킷을 길이 각각이 코드 레이트 R 에 의존하는 F 개의 서브패킷들로 분할하는 대신에, 인코딩된 패킷은 또한, 코드 레이트에 독립적인 어떤 길이 (L) 의 고정 길이 패킷으로 분할될 수 있다. 이 경우에서, 가능하면 일부 남은 (left-over) 비트들을 갖는, 길이 L의 패킷들의 플로어 (16K/R*L) 가 존재한다. 임의의 남은 비트들은 길이 < L 의 최종 서브패킷과 같이 취급된다.
M-시퀀스 비트 인터리빙 및 형성 서브패킷들을 터보 인코딩하는 프로세스는, 단계 320 에서 라운드 로빈 인터리빙되는 복수의 N 개의 인트라 코드블록 인터리빙된 비트 스트림들을 생성하기 위해 복수의 N 개의 인코더/인터리버 모듈에서 병렬로 달성된다. 따라서, 복수의 인코더/인터리버 모듈은 복수의 롱 터보 인코더, 복수의 M-시퀀스 비트 인터리버, 및 복수의 서브패킷 형성기를 포함한다. 복수의 인코더/인터리버 모듈은 복수의 터보 인코딩된 코드블록을 생성하고, 이들 각각은 복수의 서브패킷들로 형성되는 복수의 M-시퀀스 비트 인터리빙된 비트 시퀀스들을 생성하기 위해 M-시퀀스 비트 인터리빙 방식을 사용하여 인터리빙된다.
이들 인코딩되고 인터리빙된 비트들이 단계 413 에서 비트들의 정수 (F) 서브-패킷들로 배열되면, 코드블록 서브-패킷들은 도 3 에 관하여 상술한 단계들 (320 내지 326) 의 종래의 인터리빙 프로세스들을 사용하여 프로세싱할 준비가 된다. 실시형태 인코더/인터리버 모듈에서 사용된 라운드-로빈 인터리버 (단계 320) 는 1K 터보 인코더의 전체 패킷들 대신에, 16K 터보 인코더 출력의 서브패킷들에 대해 동작한다는 것을 제외하고는, IS-1099A 에 존재하는 것과 구조에서 동일할 수도 있다.
도 4 의 실시형태 인코더/인터리버 모듈은, 도 3 에 도시된 바와 같은 종래의 인코더/인터리버 모듈 설계를 사용하는 롱 터보 코드 시스템들에서 발생하는 성능 문제점들을 해결한다. 도 4 의 설계는 또한, 종래의 r-c 인터리빙이 롱 터보 코딩된 설계들에서 사용되는 경우에 프레임 이레이저에 관하여 발생할 수 있는 비대칭성을 해결한다. 롱 터보 코딩된 수퍼프레임을 프로세싱하기 위해 도 3 의 종래의 설계를 사용하는 것은, MediaFLO 수퍼프레임에서 4개의 프레임들 중 어느 것이 예를 들어, 페이딩으로 인해 이레이저되는지에 의존하는 전체 프레임의 이레이저로부터 성능 열화를 발생시킬 수도 있다. 성능 열화에서의 이러한 차이를 바이어스라 칭한다. 도 4 의 설계는 컨텐츠 데이터가 의사 랜덤 방식으로 프레임 전반적으로 분포되기 때문에 이러한 바이어스에 민감하지 않다. 그러나, 실시형태들에 의해 다루어지는 롱 터보 코딩 시스템에서의 성능 열화 문제는 각 패킷이 개별적으로 터보 코딩되는 종래의 MediaFLO® 시스템들에서는 존재하지 않는다는 것을 이해해야 한다.
도 4 에 예시된 실시형태의 구조는 도 3 의 종래의 구조와는 상이한 송신 체인을 구현하고; 즉, 단계들 (411 내지 413) 은 단계들 (302 내지 304) 각각을 대체한다. 또한, 실시형태들은 리드-솔로몬 인코더를 또한 제거한다. MLC 와 관련된 데이터는 단일 16K 정보 패킷을 각각 포함하는 N 개의 코드블록으로 이루어진다. 패킷은 단계 411 에서 레이트 R 의 16K 롱 터보 인코더를 사용하여 터보 인코딩된다. 이러한 동작의 출력 패킷은 길이 16K/R 이다. 그 후, 이러한 전체 패킷은 단계 412 에서 감소된-세트 M-시퀀스 생성기 기반 인터리버를 사용하여 모두 함께 비트 인터리빙된다.
다양한 실시형태들에서, 4K 및 8K 비트들과 같은, 다른 정보 패킷 사이즈들이 사용될 수 있다. 또한, 단계 412 에서의 M-시퀀스 인터리버, 또는 단계 320 에서의 라운드-로빈 인터리버 대신에, 상이한 타입의 인터리버들이 사용될 수 있다. 하나의 이러한 다른 실시형태가 도 6 을 참조하여 아래에 논의된다.
따라서, 도 3 에 도시된 종래의 인코더/인터리버 설계의 코드블록 (301) 과는 대조적으로, 실시형태 인코더/인터리버는 데이터 비트들의 전체 코드블록을 터보 인코딩하고, 단계 412 에서 M-시퀀스 비트 인터리버를 사용하여 이들 인코딩된 비트들을 인터리빙한다.
당업자는, 실시형태 방법들의 적은 변경예들이 가능하다는 것을 이해할 수도 있다. 예를 들어, 충분히 작은 F (또는 충분히 큰 L) 에 대해, 풀 주파수 다이버시티가 인터레이스내에서 변조 심볼들의 인터리빙하는 단계없이도 활용될 수 있다. 이러한 단계는 이러한 실시형태들에 선택적으로 스킵될 수 있다.
바람직한 실시형태에서, 각 코드 블록에서 비트들을 인터리빙하기 위해 사용된 비트-인터리버 (412) 는 감소된-세트 M-시퀀스 인터리버로서 구성될 수도 있다. 이러한 타입의 인터리버는 인터리빙된 시퀀스에 추가될 다음의 비트를 나타내는 비트-인덱스들을 생성하기 위해 사용될 수 있는 M-시퀀스 생성기에 기초한다. M-시퀀스 생성기는 어떤 길이 M 의 선형 피드백 시프트 레지스터 (LFSR) 를 포함할 수도 있다. 레지스터 길이는, 처리할 가장 큰 인코딩된 패킷을 커버하기 위해 LFSR 이 충분하게 큰 상태 공간을 갖도록 선택된다. 인터리빙될 패킷의 사이즈 S 는 16K/R 이고, 여기서, R 은 터보 코드 레이트이다. 예를 들어, 1/3 의 코드 레이트는 48K 비트들의 인코딩된 패킷들을 발생시킨다. 16-비트 LFSR 은 216-1 = 65535 상태들을 갖고 이러한 사이즈의 인코딩된 패킷을 커버한다.
도 5 는 단계 412 에서 M-시퀀스 인터리버에 대해 사용될 수도 있는 M-시퀀스를 생성하기 위한 예시적인 16-비트 LFSR 을 도시한다. 인터리빙을 시작하기 이전에, 레지스터 (502) 가 0x1 의 값으로 로딩된다. 그 후, 레지스터는 1회 클록된다. 그 후, 레지스터 비트들의 값 X 는 인터리버 길이 S 에 함께 비교된다. X 가 S 보다 작으면, X 의 값은 회로의 출력으로 카피된다. X 가 S 와 동일하면, 0 의 값이 출력된다. X 가 S 보다 크면, X 의 값은 스킵되고 레지스터는 다시 클록된다. 이러한 프로세스는, [1, ..., S] 의 타겟 범위의 X 의 값이 도달될 때까지 반복된다.
이러한 방식으로 생성되는 입력 버퍼 어드레스 IN_ADDR 의 각 값은 인터리빙될 패킷으로의 인덱스로서 사용된다. 출력 버퍼 어드레스 OUT_ADDR 은 0 의 값으로 초기화된다. IN_ADDR 에 의해 어드레싱된 비트의 값은 인터리버의 출력 버퍼에서 어드레스 OUT_ADDR 로 카피된다. 그 후, OUT_ADDR 의 값은 1 만큼 증분된다. 이제, 프로세스는 출력 버퍼의 다음의 비트를 생성하기 위해 반복된다. 이러한 방식으로, 출력 버퍼가 순차적으로 기록된다. S-1 과 동일한 OUT_ADDR 에서의 출력 버퍼의 최종 비트가 기록되면, 프로세스가 완료된다. 이 알고리즘은 이러한 경우에서, 입력 패킷의 각 비트가 출력 버퍼로 정확하게 1회 카피되었음을 보장한다.
인코딩된 터보 패킷을 인터리빙하기 위해 M-시퀀스 생성기를 사용하는 프로세스는, 출력 패킷의 사이즈 S 에 관계없이, 모든 코드 레이트들 R 에 대해 자동으로 작동한다. 타겟 인터리버 사이즈 S 를 초과하는 내부 LFSR 의 임의의 상태 값들은 스킵되거나 "펑처링 (puncture)" 되고, 이것은 인터리빙이 정확하게 완료한 것을 보장한다. 상대적으로 작은 출력 패킷들을 발생시키는 터보 코드 레이트들에 대해, 이것은 큰 수의 X 의 값들이 타겟 범위 [1, ..., S] 에서의 다음의 값이 도달되기 이전에 스킵될 필요가 있다는 것을 의미할 수 있음에 유의한다.
이것은 일반적으로 문제가 아니지만, 동작을 완료하기 위해 장치가 클록 사이클 외부에서 구동하는 경우에 바람직할 수도 있는 가능한 대안의 실시형태들이 존재한다. 이러한 대안의 실시형태들에서, 상이한 버전의 알고리즘이 상이한 길이의 LFSR들과 통합된다. 그 후, 적절한 버전의 알고리즘이 사용되는 터보 코드의 코드 레이트에 의존하여 선택될 수 있다. 예를 들어, 코드 레이트 1/3 에 대해, 16-비트 LFSR 이 필요하다. 코드 레이트 2/3 에 대해, 터보 인코더의 출력은 24K 비트 길이이고, 이 경우에서, 15-비트 LFSR 이 요구된 수의 상태들을 커버하기 위해 충분하다.
도 6 은 FLO-EV 와 같은 FLO 통신 시스템과 활용될 수도 있는 대안의 실시형태 인코딩/인터리빙 방법을 예시한다. 이러한 실시형태 인코딩/인터리빙 방법이 구현 구조에 복잡성을 추가할 수도 있지만, 도 4 에 예시된 실시형태의 설계에 비하여 약간의 개선된 성능을 제공하고, 따라서, 몇몇 구현예들에서는 바람직할 수도 있다. 특히, 도 6 의 MLC 인코더는 도 4 에서와 같이 N 개의 코드 블록들을 포함하고, 각각은 단일의 16K 비트 길이 정보 패킷으로 이루어진다. 도 4 에 도시된 실시형태와 유사하게, 터보 인코더는 패킷을 터보 인코딩하여 길이 16K/R 의 출력 패킷을 형성하기 위해 단계 411 에서 사용되고, 여기서, R 은 MLC 를 위해 사용된 터보 코드레이트이다.
그러나, 도 4 에 도시된 실시형태와 대조적으로, 도 6 에 도시된 실시형태에서는, 도 4 의 단계 412 에서의 M-시퀀스 비트 인터리버와 같은 인트라-코드블록 비트-인터리버가 존재하지 않는다. 또한, 도 6 에 도시된 실시형태에서는, 출력 패킷은 도 4 의 단계 413 에서의 서브패킷들로 더 이상 파티션되지 않는다. 대신에, 모든 N 개의 코드블록들의 터보 인코딩된 패킷들과 관련된 비트들이 함께 연결되어 사이즈 (16K*N)/R 의 단일 수퍼패킷을 형성한다. 그 후, 이러한 수퍼패킷은 단계 615 에서 감소된-세트 M-시퀀스 인터리버를 사용하여 한번에 비트-인터리빙된다. 이러한 M-시퀀스 인터리버 (615) 의 설계는, LFSR 이 수퍼패킷의 증가된 사이즈를 커버한다는 점을 제외하고는, 단계 412 에서 활용되고 도 4 와 관련하여 상술된 M-시퀀스 비트 인터리버와 유사하다. 일 실시형태에서, LFSR 은 16QAM, 터보 레이트 2/3 의 송신 모드를 사용하는 단일 MLC 로 전체 MediaFLO 수퍼프레임을 채우는 것에 기초하여, 27 비트 시프트 레지스터를 사용할 수 있다.
터보 인코딩된 수퍼패킷이 비트-인터리빙되면, 결과적인 인코딩되고 인터리빙된 비트들은 도 3 및 도 4 와 관련하여 상술한 동일하거나 유사한 단계들 (320 내지 326) 을 사용하여 프로세싱될 수도 있다. 도 6 에 도시된 바와 같이, 도 3 및 도 4 에 도시된 프로세스들과는 대조적으로 슬롯들이 단계 323 에서 슬롯 - 인터레이스 맵을 사용하여 인터레이스들에 매핑되면, 변조 심볼들은 단계 324 에서의 감소된-세트 비트-반전 인터리버를 사용하는 인터레이스내에서 인터리빙되지 않을 수도 있고 인터레이스에서 서브캐리어들에 매핑되지 않을 수도 있다. 터보 인코딩된 비트들이 수퍼패킷이 형성된 이후에 인터리빙되기 때문에, 인터리빙 프로세스는 단계 615 에서 인터레이스내에서 비트들을 본질적으로 인터리빙하고, 따라서, 이러한 추가의 인터리빙 동작이 요구되지 않는다.
도 6 의 실시형태는 풀 주파수 다이버시티가 항상 활용되기 때문에 각 인터레이스내에서 변조 심볼들의 인터리빙에 대한 필요성을 제거할 뿐만 아니라 도 4 를 참조하여 상술한 실시형태 보다 페이딩 채널에서 약간 개선된 성능을 제공한다. 한편, 도 6 에 도시된 실시형태는 구현 복잡성을 증가시킨다. 수퍼패킷에서의 비트들의 수가 프로세서 칩상에 저장될 수 있는 것을 초과할 가능성이 있기 때문에, 인터리빙 이전 또는 이후에 패킷을 저장하기 위해 외부 메모리가 요구된다. 그 후, 인터리빙 동작 자체는 이러한 메모리상에서 단일-비트 판독 및 기록 동작들을 수반하고, 이것은 메모리 버스의 비효율적 사용을 발생시킨다. 추가로, 이러한 설계에서 요구되는 가장 짧고 가장 긴 인터리버 사이의 차이는 매우 크고, 이것은 매우 큰 수의 인터리버 상태들이 펑처링되어야 하거나, 대안으로는, 상당한 수의 상이한 버전의 인터리버 회로가 과도한 펑처링을 회피하기 위해 존재해야 하는 것을 의미한다.
수신기 디바이스들에서, 상술한 프로세스들의 인버스가 원래의 데이터 패킷들을 복구하기 위해 수행된다. 도 7 은 도 4 를 참조하여 상술한 실시형태 인코딩/인터리빙 방법을 구현하는 기지국으로부터 수신된 데이터 패킷들을 디코딩/인터리빙하는 수신기 디바이스에서 구현될 수도 있는 실시형태 방법을 예시한다. 데이터 패킷들을 디코딩/디인터리빙하는 실시형태 방법은 수신기 디바이스 내의 전용 수신기 회로 또는 프로세서에 의해 수행될 수도 있다. OFDM 신호는 단계 501 에서 주파수 정정 및 채널 추정을 달성하는 FLO 수신기 회로에서 안테나를 통해 수신될 수도 있다. 수신된 OFDM 신호는 단계 502 에서 각각의 심볼들로 복조될 수도 있다. 복조되면, 심볼들은 단계 503 에서 각각의 인터레이스들로 분리될 수도 있다. 인터레이스들은 단계 504 에서 감소된 세트 소프트 비트 반전 프로세스를 사용하여 디인터리빙될 수도 있다. 디인터리빙된 인터레이스들은 단계 505 에서 인터레이스 - 슬롯 맵을 사용하여 적절한 슬롯들로 매핑될 수도 있다. 변조 심볼들은 단계 506 에서 적절한 소프트 비트 스트링으로 매핑될 수도 있다. 소프트 비트 스트링은 단계 507 에서 각각의 슬롯으로 디스크램블링될 수도 있다. 수신기에서, "소프트 비트" 또는 "소프트 정보" 는 프로세싱된다. 특정한 비트에 대응하는 소프트 정보는 비트가 0 또는 1 인 가능성을 나타낸다 (예를 들어, 모든 음의 값들은 비트가 더욱 1 일 것 같다는 것을 의미하고, 소프트 정보의 모든 양의 값들은 비트가 더욱 0 일 것 같다는 것을 의미한다). 소프트 정보의 크기는 특정한 값의 신뢰도를 나타낸다.
그 후, 결과적인 비트스트림은 개별 코드블록 서브패킷들을 복구하기 위해 도 4 를 참조하여 상술한 바에 인버스 방식으로 디인터리버가 동작하는 단계 508 에서 라운드 로빈 디인터리버를 사용하여 디인터리빙될 수도 있다. 라운드 로빈 디인터리버는, 제 1 코드블록에 할당된 서브패킷이 도달될 때까지, 제 1 서브패킷을 최종 코드블록에 할당함으로써 개별 코드블록 서브패킷 스트림들을 복구한다. 이 때, 디인터리빙 동작은, 모든 N 개의 코드블록들의 모든 16개의 패킷들이 디인터리빙될 때까지, 최종 코드블록의 제 2 패킷으로 계속된다. 각 코드블록에서, 서브패킷들은 단계 509 에서 복구된다.
복구된 서브패킷들은 비트 스트림을 획득하기 위해 M-시퀀스 비트 디인터리빙 프로세싱된다 (단계 510). M-시퀀스 비트 디인터리빙 프로세스에서, 코드블록의 각 터보 인코딩된 비트가 M-시퀀스 비트 디인터리버에 의해 수신될 때, 인코딩된 소프트 비트는, 원래의 터보 인코딩된 데이터 패킷들 (즉, 도 4 를 참조하여 상술한 바와 같은 단계 412 에서 M-시퀀스 비트 인터리빙을 받는 데이터 패킷들) 을 복구하는 방식으로 의사 랜덤 잡음 시퀀스 어드레스 위치를 생성하기 위해 저장된다. 이러한 프로세스가 도 9 에 예시된다. 이러한 프로세스는 M-시퀀스 비트 인터리빙 암호화를 사용하여 암호화된 데이터 스트림들이 어떻게 암호해독되는지와 유사하다. 소프트 비트들이 복구될 때, 이들은 원래의 터보 인코딩된 코드블록들을 복구하기 위해 적절한 코드블록에 할당된다. 전체 코드블록이 복구되면, 코드블록들은 원래의 코드블록 (즉, 도 4 를 참조하여 상술한 바와 같이 단계 411 에서의 터보 인코딩 이전의 코드블록) 을 복구하기 위해 단계 511 에서 터보 디코딩 프로세스를 받는다. M-시퀀스 비트 인터리버 프로세스 및 터보 디코딩을 통한 디인터리빙의 프로세스는, 복수의 N 개의 원래의 코드블록들을 산출하기 위해 디인터리버/해독기 모듈 (500) 내의 복수의 N 개의 디코더 모듈 (1-N) 에서 병렬로 수행될 수도 있다. 복구된 복수의 디코딩되고 디인터리빙된 코드블록들은 컨텐츠 흐름의 수신을 가능하게 하기 위해 프로세서에 제공되는 MLC 데이터 흐름을 재생성하기 위해 결합될 수도 있다.
간섭 또는 페이딩으로 인해 분실된 데이터의 비트들 또는 프레임들을 복구하는 프로세스가, 심볼들이 복구된 이후이지만 데이터가 복구되기 이전에 수행될 수도 있다. 이러한 방식으로, 에러 검출 및 정정 프로세싱은, 에러 정정 프로세스가 페이딩 이벤트들 동안 지속적으로 작용 (즉, 바이어스된 성능을 회피) 한다는 것을 보장하는 것을 돕는 의사 랜덤하게 인터리빙된 데이터에 대해 작용한다.
도 8 은 도 6 을 참조하여 상술한 실시형태 인코딩/인터리빙 방법을 구현하는 기지국으로부터 수신된 데이터 패킷들을 디코딩/디인터리빙하는 수신기 디바이스에서 구현될 수도 있는 실시형태 방법을 예시한다. 도 8 에 예시된 대안의 실시형태 방법은 도 7 에 예시된 실시형태 방법과 실질적으로 유사한 동작들을 구현한다. 그러나, 데이터 패킷들은 단계 615 에서 감소된 세트 M-시퀀스 인터리버를 사용하여 도 6 에 도시된 실시형태 방법에서 인코딩되고 인터리빙된다. 그 결과, 수신기 디바이스측상에서, 수신된 데이터만이 단계 520 에서의 단일 감소된-세트 M-시퀀스 비트 반전 디인터리빙 프로세스를 받아야 한다. 따라서, 단계 504 의 감소된 세트 비트 반전 프로세스 및 단계 510 에서의 M-시퀀스 비트 디인터리빙 프로세스는 필요하지 않다. 대신, 단계 520 에서의 감소된 세트 M 디인터리빙 프로세스는 원래의 복수의 N 개의 데이터 패킷들을 복구하기 위해 단계 509 에서 터보 디코딩 프로세스를 각각 받는 복수의 N 개의 터보 인코딩된 코드블록을 복구한다. 따라서, 이러한 실시형태에서, 디코더 모듈 (500) 은 복수의 N 개의 터보 디코더 (509) 를 포함한다. 그 후, 복구된 복수의 데이터 패킷은 MLC 의 데이터 흐름을 복구하기 위해 결합된다.
도 6 에 관하여 상기 논의한 바와 같이, 도 8 에 예시된 디코딩/디인터리빙 프로세스는 도 7 을 참조하여 상술한 설계 보다 페이딩 채널들에서 약간 개선된 성능을 제공할 뿐만 아니라 인터레이스들을 각각의 변조 심볼들로 디인터리빙하는 필요성을 제거한다. 그러나, 도 8 의 실시형태 방법의 구현은 도 6 을 참조하여 상술한 바와 같은 다수의 단점을 받을 수도 있다. 예를 들어, 도 8 의 디코딩/디인터리빙 프로세스의 구현은 수신기 디바이스내의 하드웨어의 복잡성을 증가시킬 수도 있다. 수퍼패킷에서의 비트들의 수가 칩상에 저장될 수 있는 것 보다 초과할 가능성이 있기 때문에, 디인터리빙 이전 및 이후에 패킷을 저장하기 위해 외부 메모리가 요구된다. 그 후, 디인터리빙 동작 자체는 이러한 메모리상에서 단일 비트 판독 및 기록 동작들을 수반하고, 이것은 메모리 버스의 비효율적인 사용을 발생시킬 수도 있다.
상기 논의한 바와 같이, 다양한 실시형태들은 또한 다중의 서브프레임들로 이루어진 수퍼프레임에 대한 롱 터보 코딩을 활용하는 임의의 브로드캐스트 기술에 유용할 수도 있고 적용가능할 수도 있고, 그 일 예가 롱 터보 코딩이 구현되는 경우 ATSC M/H 프로토콜 송신이다. 따라서, MediaFLO® 기술에 대한 참조 및 MediaFLO® 용어의 사용은 예시적인 실시형태로서 기능하고, 구체적으로 설명하지 않으면 청구항들의 범위를 제한하지 않도록 의도된다.
수신된 FLO/DVB-H 신호들을 디코딩하고 디인터리빙하는 다양한 실시형태 방법들은 멀티미디어 수신기 (606) 및 프로세스 (601) 와 메모리 (602) 의 부분들에 의해 수행될 수도 있다. 다르게는, 멀티미디어 수신기 (606) 내 또는 멀티미디어 수신기에 커플링된 전용 모듈들은 실시형태 방법들을 수행할 수도 있다. 다른 대안의 실시형태들에서, 방법들은 FLO/DVB-H 신호가 멀티미디어 수신기 (606) 에 의해 수신되고 복조된 이후에 프로세서 (601) 에 의해 수행될 수도 있다.
도 10 은 임의의 실시형태들에 따라 인코딩되고 인터리빙된 데이터를 수신하는데 적합한 수신기 디바이스의 시스템 블록도이다. 통상의 수신기 디바이스 (600) 는 내부 메모리 (602), 디스플레이 (603), 및 스피커 (608) 에 커플링된 프로세서 (601) 를 포함할 수도 있다. 추가적으로, 수신기 디바이스 (600) 는 무선 데이터 링크에 접속될 수도 있는 전자기 방사를 전송 및 수신하는 안테나 (604) 및/또는 프로세서 (601) 에 커플링된 셀룰러 전화 트랜시버 (605) 및 프로세서 (601) 에 커플링된 모바일 멀티미디어 브로드캐스트 수신기 (606) 를 포함한다. 수신기 디바이스 (600) 는 통상적으로, 사용자 입력들을 수신하는 메뉴 선택 버튼들 또는 락커 스위치들 (607) 을 또한 포함한다.
상술한 브로드캐스트측상의 다양한 실시형태들은 도 11 에 예시된 서버 (700) 와 같은 임의의 다양한 상업적으로 이용가능한 서버 디바이스들상에서 구현될 수도 있다. 이러한 서버 (700) 는 휘발성 메모리 (702) 및 디스크 드라이브 (703) 와 같은 대용량 비휘발성 메모리에 커플링된 프로세서 (701) 를 통상적으로 포함한다. 서버 (700) 는 또한, 프로세서 (701) 에 커플링된 플로피 디스크 드라이브, 컴팩트 디스크 (CD) 또는 DVD 디스크 드라이브 (706) 를 포함할 수도 있다. 서버 (700) 는 또한, FLO 스케줄러 서버 (214) 또는 브로드캐스트 변조기 (220) 에 커플링된 로컬 영역 네트워크와 같은, 네트워크 (705) 와의 데이터 접속을 확립하기 위해 프로세서 (701) 에 커플링된 네트워크 액세스 포트들 (704) 을 포함할 수도 있다.
프로세서들 (601, 701) 은 후술하는 다양한 실시형태들의 기능들을 포함하는 다양한 기능들을 수행하기 위해 소프트웨어 명령들 (애플리케이션들) 에 의해 구성될 수 있는 임의의 프로그램가능한 마이크로프로세서, 마이크로컴퓨터 또는 다중의 프로세서 칩 또는 칩들일 수도 있다. 몇몇 모바일 수신기 디바이스들에서, 무선 통신 기능들에 전용된 하나의 프로세서 및 다른 애플리케이션들을 구동하는데 전용된 하나의 프로세서와 같은 다중의 프로세서들 (701) 이 제공될 수도 있다. 통상적으로, 소프트웨어 애플리케이션들은 이들이 프로세서 (601, 701) 로 액세스되고 로딩되기 이전에 내부 메모리 (602, 702, 703) 에 저장될 수도 있다. 프로세서 (601, 701) 는 애플리케이션 소프트웨어 명령들을 저장하는데 충분한 내부 메모리를 포함할 수도 있다.
당업자는, 정보 및 신호들이 임의의 다양한 다른 기술들 및 기법들을 사용하여 표현될 수도 있다는 것을 이해할 것이다. 예를 들어, 상기 설명 전반적으로 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은, 전압, 전류, 전자기파, 자기장 또는 자기 입자, 광학장 또는 광 입자, 또는 이들의 임의의 조합으로 표현될 수도 있다.
또한, 당업자는 본 명세서에 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록, 모듈, 회로 및 알고리즘 단계가 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합으로서 구현될 수도 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호교환성을 명확히 예시하기 위해서, 다양한 예시적인 컴포넌트, 블록, 모듈, 회로, 및 단계들이 그들의 기능성 측면에서 일반적으로 상술되었다. 이러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부여된 설계 제약 및 특정 애플리케이션에 의존한다. 당업자는 설명된 기능성을 각각의 특정 애플리케이션에 대해 변화하는 방식으로 구현할 수도 있지만, 이러한 구현 결정이 본 발명의 범위로부터 벗어나는 것으로 해석되어서는 안된다.
본 명세서에 개시된 예시적인 실시형태들과 관련하여 설명한 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 응용 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA) 또는 다른 프로그래머블 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 임의의 조합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다르게는, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스의 조합, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합한 하나 이상의 마이크로프로세서, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다.
본 명세서에 개시된 예시적인 실시형태들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어, 프로세서에 의해 실행된 소프트웨어 모듈, 또는 이 둘의 조합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 당업계에 공지되어 있는 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 비-일시적 프로세서 판독가능한 저장 매체가 프로세서에 커플링되어서, 프로세서는 그 저장 매체로부터 정보를 판독할 수 있고 그 저장 매체에 정보를 기입할 수 있다. 다르게는, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 는 사용자 단말기에 상주할 수도 있다. 다르게는, 프로세서 및 저장 매체는 사용자 단말기에 개별 컴포넌트로서 상주할 수도 있다. 제한하지 않는 예로서, 비-일시적 프로세서 판독가능한 매체는, RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장 디바이스, 자기 디스크 저장 디바이스 또는 다른 자기 저장 디바이스, 또는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 운반하거나 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 본 명세서에 사용된 바와 같이, 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 일반적으로 데이터를 자기적으로 재생하지만, 디스크 (disc) 는 일반적으로 데이터를 레이저로 광학적으로 재생한다. 상기의 조합들이 비-일시적 프로세서 판독가능한 매체의 범위내에 또한 포함되어야 한다. 추가로, 방법 또는 알고리즘의 동작들은 컴퓨터 프로그램 제품으로 통합될 수도 있는 유형의 (tangible) 비-일시적 프로세서 판독가능한 매체 및/또는 컴퓨터 판독가능한 매체상에 코드들 및/또는 명령들의 임의의 조합 또는 세트로서 상주할 수도 있다.
개시된 예시적인 실시형태들의 이전의 설명은 당업자가 본 발명을 제조하거나 사용할 수 있게 하기 위해 제공된다. 이들 예시적인 실시형태들에 대한 다양한 변형이 당업자에게 쉽게 명백할 것이고, 본 명세서에 정의된 일반적인 원리는 본 발명의 사상 또는 범위에서 벗어남 없이 다른 예시적인 실시형태에 적용될 수도 있다. 따라서, 본 발명은 본 명세서에 나타낸 예시적인 실시형태들로 제한되는 것으로 의도된 것이 아니라, 본 명세서에 개시된 원리들 및 신규한 특징들과 일치하는 최광의 범위를 부여하려는 것이다.

Claims (38)

  1. 통신 시스템에서 복수의 코드블록을 송신하는 방법으로서,
    복수의 롱 터보 (long turbo) 인코더를 사용하여 복수 코드블록을 터보 인코딩하여 복수의 터보 인코딩된 코드블록을 생성하는 단계;
    M-시퀀스 비트 인터리빙 방식을 사용하여 상기 복수의 터보 인코딩된 코드블록 각각을 인터리빙하는 단계; 및
    상기 복수의 터보 인코딩되고 M-시퀀스 비트 인터리빙된 코드블록을 송신하는 단계를 포함하는, 복수의 코드블록을 송신하는 방법.
  2. 제 1 항에 있어서,
    상기 M-시퀀스 비트 인터리빙 방식은,
    선형 피드백 시프트 레지스터에서 최대 길이 M-시퀀스 상태를 의사 랜덤하게 생성하고,
    상기 선형 피드백 시프트 레지스터의 내부 상태를 버퍼에서의 메모리 위치 어드레스로서 활용하고,
    M-시퀀스 상태 메모리 어드레스에서 입력 버퍼에 저장된 상기 복수의 터보 인코딩된 코드블록 중 적어도 하나의 비트를 획득하며,
    상기 획득된 비트를 출력 버퍼에서의 다음의 이용가능한 메모리 위치 어드레스에 저장하는 것을 포함하는, 복수의 코드블록을 송신하는 방법.
  3. 제 2 항에 있어서,
    상기 M-시퀀스 비트 인터리빙 방식을 사용하여 복수의 터보 인코딩된 코드블록을 인터리빙하는 단계는, 인트라 코드블록에 기초하여 수행되어 복수의 인트라 코드블록 인터리빙된 비트 스트림을 형성하는, 복수의 코드블록을 송신하는 방법.
  4. 제 3 항에 있어서,
    상기 복수의 인트라 코드블록 인터리빙된 비트 스트림 각각으로부터 비트들의 정수의 서브패킷들을 형성하는 단계, 및
    라운드 로빈 인터리빙 방식을 사용하여 인터-코드블록 방식에서 상기 복수의 인트라 코드블록 인터리빙된 비트 스트림 각각으로부터의 상기 형성된 서브패킷들을 인터리빙하는 단계를 더 포함하는, 복수의 코드블록을 송신하는 방법.
  5. 제 2 항에 있어서,
    상기 M-시퀀스 비트 인터리빙 방식을 사용하여 상기 터보 인코딩된 코드블록을 인터리빙하는 단계는, 인터-코드블록에 기초하여 수행되는, 복수의 코드블록을 송신하는 방법.
  6. 브로드캐스트 통신 시스템에서 사용하기 위한 장치로서,
    복수의 롱 터보 인코더를 사용하여 복수의 코드블록을 터보 인코딩하여 복수의 터보 인코딩된 코드블록을 생성하는 수단;
    M-시퀀스 비트 인터리빙 방식을 사용하여 상기 복수의 터보 인코딩된 코드블록 각각을 인터리빙하는 수단; 및
    상기 복수의 터보 인코딩되고 M-시퀀스 비트 인터리빙된 코드블록을 송신하는 수단을 포함하는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  7. 제 6 항에 있어서,
    상기 M-시퀀스 비트 인터리빙 방식을 사용하여 상기 복수의 터보 인코딩된 코드블록 각각을 인터리빙하는 수단은,
    선형 피드백 시프트 레지스터에서 최대 길이 M-시퀀스 상태를 의사 랜덤하게 생성하는 수단,
    상기 선형 피드백 시프트 레지스터의 내부 상태를 버퍼에서의 메모리 위치 어드레스로서 활용하는 수단, 및
    상기 버퍼에서의 상기 메모리 위치 어드레스에 상기 복수의 터보 인코딩된 코드블록 중 적어도 하나의 다음의 이용가능한 비트를 저장하는 수단을 포함하는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  8. 제 7 항에 있어서,
    상기 M-시퀀스 비트 인터리빙 방식을 사용하여 복수의 터보 인코딩된 코드블록을 인터리빙하는 수단은, 인트라 코드블록에 기초하여 상기 M-시퀀스 비트 인터리빙 방식을 사용하여 상기 복수의 터보 인코딩된 코드블록을 인터리빙하여 복수의 인트라 코드블록 인터리빙된 비트 스트림을 형성하는 수단을 포함하는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  9. 제 8 항에 있어서,
    상기 복수의 인트라 코드블록 인터리빙된 비트 스트림 각각으로부터 비트들의 정수의 서브패킷들을 형성하는 수단, 및
    라운드 로빈 인터리빙 방식을 사용하여 인터-코드블록 방식에서 상기 인트라 코드블록 인터리빙된 비트 스트림 각각으로부터의 상기 형성된 서브패킷들을 인터리빙하는 수단을 더 포함하는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  10. 제 6 항에 있어서,
    상기 M-시퀀스 비트 인터리빙 방식을 사용하여 상기 터보 인코딩된 코드블록을 인터리빙하는 수단은, 인터 코드블록에 기초하여 상기 M-시퀀스 비트 인터리빙 방식을 사용하여 상기 터보 인코딩된 코드블록을 인터리빙하는 수단을 포함하는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  11. 브로드캐스트 통신 시스템에서 사용하기 위한 장치로서,
    메모리 버퍼;
    상기 메모리 버퍼에 커플링된 프로세서를 포함하고,
    상기 프로세서는,
    복수의 롱 터보 인코더를 사용하여 복수의 코드블록을 터보 인코딩하여 복수의 터보 인코딩된 코드블록을 생성하는 단계;
    M-시퀀스 비트 인터리빙 방식을 사용하여 상기 복수의 터보 인코딩된 코드블록 각각을 인터리빙하는 단계; 및
    상기 복수의 터보 인코딩되고 M-시퀀스 비트 인터리빙된 코드블록을 송신하는 단계를 포함하는
    단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  12. 제 11 항에 있어서,
    상기 프로세서는 또한,
    선형 피드백 시프트 레지스터에서 최대 길이 M-시퀀스 상태를 의사 랜덤하게 생성하는 단계,
    상기 선형 피드백 시프트 레지스터의 내부 상태를 상기 메모리 버퍼에서의 메모리 위치 어드레스로서 활용하는 단계, 및
    상기 버퍼에서의 상기 메모리 위치 어드레스에 상기 복수의 터보 인코딩된 코드블록 중 적어도 하나의 다음의 이용가능한 비트를 저장하는 단계를 더 포함하는
    단계들을 수행하기 위한 명령들로 구성되는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  13. 제 12 항에 있어서,
    상기 프로세서는 또한,
    인트라 코드블록에 기초하여 상기 M-시퀀스 비트 인터리빙 방식을 사용하여 상기 복수의 터보 인코딩된 코드블록을 인터리빙하여 복수의 인트라 코드블록 인터리빙된 비트 스트림을 형성하는 단계를 더 포함하는 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  14. 제 13 항에 있어서,
    상기 프로세서는 또한,
    상기 복수의 인트라 코드블록 인터리빙된 비트 스트림 각각으로부터 비트들의 정수의 서브패킷들을 형성하는 단계, 및
    라운드 로빈 인터리빙 방식을 사용하여 인터-코드블록 방식에서 상기 인트라 코드블록 인터리빙된 비트 스트림 각각으로부터의 상기 형성된 서브패킷들을 인터리빙하는 단계를 더 포함하는
    단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  15. 제 12 항에 있어서,
    상기 프로세서는 또한,
    인터-코드블록에 기초하여 상기 M-시퀀스 비트 인터리빙 방식을 사용하여 상기 터보 인코딩된 코드블록을 인터리빙하는 단계를 더 포함하는 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  16. 브로드캐스트 통신 시스템에서의 프로세서로 하여금,
    복수의 롱 터보 인코더를 사용하여 복수의 코드블록을 터보 인코딩하여 복수의 터보 인코딩된 코드블록을 생성하는 단계;
    M-시퀀스 비트 인터리빙 방식을 사용하여 상기 복수의 터보 인코딩된 코드블록 각각을 인터리빙하는 단계; 및
    상기 복수의 터보 인코딩되고 M-시퀀스 비트 인터리빙된 코드블록을 송신하는 단계를 포함하는
    단계들을 수행하게 하도록 구성된 프로세서 실행가능한 소프트웨어 명령들이 저장된, 유형의 (tangible) 저장 매체.
  17. 제 16 항에 있어서,
    상기 유형의 저장 매체는,
    브로드캐스트 통신 시스템에서의 프로세서로 하여금,
    선형 피드백 시프트 레지스터에서 최대 길이 M-시퀀스 상태를 의사 랜덤하게 생성하는 단계,
    상기 선형 피드백 시프트 레지스터의 내부 상태를 버퍼에서의 메모리 위치 어드레스로서 활용하는 단계, 및
    상기 버퍼에서의 상기 메모리 위치 어드레스에 상기 복수의 터보 인코딩된 코드블록 중 적어도 하나의 다음의 이용가능한 비트를 저장하는 단계를 포함하는
    추가의 단계들을 수행하게 하도록 구성된 프로세서 실행가능한 소프트웨어 명령들을 갖는, 유형의 저장 매체.
  18. 제 17 항에 있어서,
    상기 유형의 저장 매체는,
    브로드캐스트 통신 시스템에서의 프로세서로 하여금,
    인트라 코드블록에 기초하여 상기 M-시퀀스 비트 인터리빙 방식을 사용하여 상기 복수의 터보 인코딩된 코드블록을 인터리빙하여 복수의 인트라 코드블록 인터리빙된 비트 스트림을 형성하는 단계를 포함하는 추가의 단계들을 수행하게 하도록 구성된 프로세서 실행가능한 소프트웨어 명령들을 갖는, 유형의 저장 매체.
  19. 제 18 항에 있어서,
    상기 유형의 저장 매체는,
    브로드캐스트 통신 시스템에서의 프로세서로 하여금,
    상기 복수의 인트라 코드블록 인터리빙된 비트 스트림 각각으로부터 비트들의 정수의 서브패킷들을 형성하는 단계, 및
    라운드 로빈 인터리빙 방식을 사용하여 인터-코드블록 방식에서 상기 인트라 코드블록 인터리빙된 비트 스트림 각각으로부터의 상기 형성된 서브패킷들을 인터리빙하는 단계를 포함하는
    추가의 단계들을 수행하게 하도록 구성된 프로세서 실행가능한 소프트웨어 명령들을 갖는, 유형의 저장 매체.
  20. 제 17 항에 있어서,
    상기 유형의 저장 매체는,
    브로드캐스트 통신 시스템에서의 프로세서로 하여금,
    인터 코드블록에 기초하여 상기 M-시퀀스 비트 인터리빙 방식을 사용하여 상기 터보 인코딩된 코드블록을 인터리빙하는 단계를 포함하는 추가의 단계들을 수행하게 하도록 구성된 프로세서 실행가능한 소프트웨어 명령들을 갖는, 유형의 저장 매체.
  21. 브로드캐스트 통신 시스템에서 사용하기 위한 장치로서,
    MediaFLO 논리 채널 (MLC) 에서 송신을 위해 복수의 코드블록 중 하나를 인코딩하여 복수의 터보 인코딩된 코드블록을 생성하도록 각각 구성된 복수의 롱 터보 인코더;
    상기 복수의 터보 인코딩된 코드블록 각각을 인터리빙하도록 구성된 적어도 하나의 M-시퀀스 인터리버 (interleaver); 및
    상기 복수의 터보 인코딩되고 m-시퀀스 비트 인터리빙된 코드블록을 송신하는 송신기를 포함하는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  22. 제 21 항에 있어서,
    상기 적어도 하나의 M-시퀀스 인터리버는,
    M-시퀀스 의사 랜덤 시퀀스 생성기;
    상기 M-시퀀스 의사 랜덤 시퀀스를 생성하는 최대 길이 선형 피드백 시프트 레지스터;
    메모리 버퍼; 및
    상기 M-시퀀스 의사 랜덤 시퀀스의 각 멤버를 상기 메모리 버퍼에서의 메모리 위치 어드레스로서 해석하고, 상기 메모리 버퍼에서의 상기 메모리 위치 어드레스에 상기 복수의 터보 인코딩된 코드블록 중 적어도 하나의 다음의 이용가능한 비트를 저장하도록 구성된 프로세서를 더 포함하는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  23. 제 22 항에 있어서,
    복수의 M-시퀀스 인터리버를 더 포함하고,
    상기 복수의 M-시퀀스 인터리버 각각은, 인트라-코드블록에 기초하여 상기 복수의 터보 인코딩된 코드블록 중 하나를 인터리빙하도록 구성되는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  24. 제 23 항에 있어서,
    상기 인트라-코드블록 인터리빙된 비트 스트림으로부터 비트들의 정수의 서브패킷들을 형성하도록 각각 구성된 복수의 서브패킷 형성 모듈; 및
    상기 복수의 롱 터보 인코딩된 패킷 각각의 서브패킷들을 수퍼프레임의 상이한 프레임들에 각각 배치함으로써 상기 수퍼프레임의 다중의 프레임들에 걸쳐 상기 복수의 서브패킷 형성 모듈 각각으로부터의 상기 형성된 서브패킷들을 인터리빙하도록 구성된 라운드 로빈 인터리버를 더 포함하는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  25. 제 22 항에 있어서,
    상기 적어도 하나의 M-시퀀스 인터리버는, 상기 복수의 롱 터보 인코딩된 패킷 각각의 서브패킷들을 수퍼프레임의 상이한 프레임들에 각각 배치함으로써 상기 수퍼프레임의 다중의 프레임들에 걸쳐 상기 복수의 롱 터보 인코더 각각으로부터의 상기 터보 인코딩된 코드블록 각각을 인터리빙하도록 구성되는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  26. 제 25 항에 있어서,
    상기 적어도 하나의 M-시퀀스 인터리버는, 수퍼프레임에 대해 상기 복수의 롱 터보 인코더로부터 수신된 모든 롱 터보 코드 인코딩된 코드블록을 연결하고, 상기 수퍼프레임에서 상기 코드블록들을 연속 인터리빙하도록 구성되는, 브로드캐스트 통신 시스템에서 사용하기 위한 장치.
  27. 수신기 디바이스에서 수신된 데이터 신호를 디코딩 및 디인터리빙 (de-interleaving) 하는 방법으로서,
    롱 터보 인코딩되고 M-시퀀스 인터리빙된 데이터 신호를 수신하는 단계;
    라운드 로빈 디인터리버 (de-interleaver) 를 사용하여 상기 수신된 데이터 신호를 디인터리빙하여 복수의 터보 인코딩된 코드블록을 생성하는 단계;
    상기 복수의 터보 인코딩된 코드블록 각각을 대응하는 코드블록 입력 버퍼에 저장하는 단계;
    최대 길이 선형 피드백 시프트 레지스터에서 M-시퀀스 상태를 의사 랜덤하게 생성하는 단계;
    상기 M-시퀀스 상태를 상기 코드블록 입력 버퍼에서의 메모리 위치 어드레스로서 사용하는 단계; 및
    상기 코드블록 입력 버퍼에 저장된 다음의 이용가능한 소프트 비트를 M-시퀀스 비트 메모리 위치 어드레스에 대응하는 위치에서 코드블록 출력 버퍼에 저장하는 단계를 포함하는, 수신된 데이터 신호를 디코딩 및 디인터리빙하는 방법.
  28. 통신 시스템에서 수신된 데이터 신호를 디코딩 및 디인터리빙하는 방법으로서,
    롱 터보 인코딩되고 M-시퀀스 인터리빙된 데이터 신호를 수신하는 단계;
    복수의 터보 인코딩된 코드블록을 생성하기 위해 M-시퀀스 디인터리버를 사용하여 상기 수신된 데이터 신호를 디인터리빙하는 단계; 및
    대응하는 복수의 롱 터보 디코더를 사용하여 상기 복수의 코드블록 각각을 디코딩하는 단계를 포함하는, 수신된 데이터 신호를 디코딩 및 디인터리빙하는 방법.
  29. 제 28 항에 있어서,
    상기 M-시퀀스 비트 디인터리버를 사용하여 상기 수신된 데이터 신호를 디인터리빙하는 단계는,
    상기 수신된 데이터 신호를 입력 버퍼에 저장하는 단계;
    최대 길이 선형 피드백 시프트 레지스터에서 M-시퀀스 비트를 의사 랜덤하게 생성하는 단계;
    상기 M-시퀀스 비트를 상기 입력 버퍼에서의 메모리 위치 어드레스로서 활용하는 단계; 및
    상기 M-시퀀스 메모리 위치 어드레스에 대응하는 출력 버퍼에서의 위치에 상기 입력 버퍼에서의 다음의 이용가능한 소프트 비트를 저장하는 단계를 포함하는, 수신된 데이터 신호를 디코딩 및 디인터리빙하는 방법.
  30. 통신 수신기 디바이스에서 사용하기 위한 장치로서,
    롱 터보 인코딩되고 M-시퀀스 인터리빙된 데이터 신호를 수신하는 수단;
    복수의 터보 인코딩된 코드블록을 생성하기 위해 라운드 로빈 디인터리버를 사용하여 상기 수신된 데이터 신호를 디인터리빙하는 수단;
    상기 복수의 터보 인코딩된 코드블록 각각을 대응하는 코드블록 입력 버퍼에 저장하는 수단;
    최대 길이 선형 피드백 시프트 레지스터에서 M-시퀀스 상태를 의사 랜덤하게 생성하는 수단;
    코드블록 입력 버퍼에서의 메모리 위치 어드레스로서 M-시퀀스 상태를 사용하는 수단; 및
    코드블록 입력 버퍼에 저장된 다음의 이용가능한 소프트 비트를 M-시퀀스 메모리 위치 어드레스에 대응하는 위치에서 코드블록 출력 버퍼에 저장하는 수단을 포함하는, 통신 수신기 디바이스에서 사용하기 위한 장치.
  31. 통신 수신기 디바이스에서 사용하기 위한 장치로서,
    롱 터보 인코딩되고 M-시퀀스 인터리빙된 데이터 신호를 수신하는 수단;
    복수의 터보 인코딩된 코드블록을 생성하기 위해 M-시퀀스 디인터리버를 사용하여 상기 수신된 데이터 신호를 디인터리빙하는 수단; 및
    대응하는 복수의 롱 터보 디코더를 사용하여 상기 복수의 코드블록 각각을 디코딩하는 수단을 포함하는, 통신 수신기 디바이스에서 사용하기 위한 장치.
  32. 제 31 항에 있어서,
    상기 M-시퀀스 비트 인터리버를 사용하여 상기 수신된 데이터 신호를 디인터리빙하는 수단은,
    상기 수신된 데이터 신호를 입력 버퍼에 저장하는 수단;
    최대 길이 선형 피드백 시프트 레지스터에서 M-시퀀스 비트를 리버스 의사 랜덤하게 생성하는 수단;
    상기 M-시퀀스 비트를 상기 입력 버퍼에서의 메모리 위치 어드레스로서 활용하는 수단; 및
    상기 M-시퀀스 메모리 위치 어드레스에 대응하는 출력 버퍼에서의 위치에 상기 입력 버퍼에서의 다음의 이용가능한 소프트 비트를 저장하는 수단을 포함하는, 통신 수신기 디바이스에서 사용하기 위한 장치.
  33. 통신 수신기 디바이스에서 사용하기 위한 장치로서,
    메모리; 및
    상기 메모리에 커플링된 프로세서를 포함하고,
    상기 프로세서는,
    롱 터보 인코딩되고 M-시퀀스 인터리빙된 데이터 신호를 수신하는 단계;
    라운드 로빈 디인터리버 방식을 사용하여 상기 수신된 데이터 신호를 디인터리빙하여 복수의 터보 인코딩된 코드블록을 생성하는 단계;
    상기 복수의 터보 인코딩된 코드블록 각각을 대응하는 코드블록 입력 버퍼에 저장하는 단계;
    선형 피드백 시프트 레지스터에서 최대 길이 M-시퀀스를 리버스 의사 랜덤하게 생성하는 단계;
    상기 M-시퀀스 상태를 상기 대응하는 코드블록 입력 버퍼에서의 메모리 위치 어드레스로서 사용하는 단계; 및
    상기 대응하는 코드블록 입력 버퍼에 저장된 다음의 이용가능한 소프트 비트를 M-시퀀스 메모리 위치 어드레스에 대응하는 위치에서 코드블록 출력 버퍼에 저장하는 단계
    를 포함하는 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 통신 수신기 디바이스에서 사용하기 위한 장치.
  34. 통신 수신기 디바이스에서 사용하기 위한 장치로서,
    메모리 및
    상기 메모리에 커플링된 프로세서를 포함하고,
    상기 프로세서는,
    롱 터보 인코딩되고 M-시퀀스 인터리빙된 데이터 신호를 수신하는 단계;
    M-시퀀스 디인터리버 방식을 사용하여 상기 수신된 데이터 신호를 디인터리빙하여 복수의 터보 인코딩된 코드블록을 생성하는 단계; 및
    상기 복수의 코드블록 각각을 롱 터보 디코딩하는 단계
    를 포함하는 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 통신 수신기 디바이스에서 사용하기 위한 장치.
  35. 제 34 항에 있어서,
    상기 프로세서는 또한,
    상기 수신된 데이터 신호를 입력 버퍼에 저장하는 단계;
    최대 길이 선형 피드백 시프트 레지스터에서 M-시퀀스 비트를 리버스 의사 랜덤하게 생성하는 단계;
    상기 M-시퀀스 비트를 상기 입력 버퍼에서의 메모리 위치 어드레스로서 활용하는 단계; 및
    상기 입력 버퍼에서의 다음의 이용가능한 소프트 비트를 M-시퀀스 메모리 위치 어드레스에 대응하는 출력 버퍼에서의 위치에 저장하는 단계
    를 포함하는 단계들을 수행하기 위한 소프트웨어 명령들로 구성되는, 통신 수신기 디바이스에서 사용하기 위한 장치.
  36. 모바일 디바이스 프로세서로 하여금,
    롱 터보 인코딩되고 M-시퀀스 인터리빙된 데이터 신호를 수신하는 단계;
    라운드 로빈 디인터리버 방식을 사용하여 상기 수신된 데이터 신호를 디인터리빙하여 복수의 터보 인코딩된 코드블록을 생성하는 단계;
    상기 복수의 터보 인코딩된 코드블록 각각을 대응하는 코드블록 입력 버퍼에 저장하는 단계;
    선형 피드백 시프트 레지스터에서 최대 길이 M-시퀀스 상태를 의사 랜덤하게 생성하는 단계;
    상기 M-시퀀스 상태를 상기 코드블록 입력 버퍼에서의 메모리 위치 어드레스로서 사용하는 단계; 및
    상기 코드블록 입력 버퍼에 저장된 다음의 이용가능한 소프트 비트를 M-시퀀스 메모리 위치 어드레스에 대응하는 위치에서 코드블록 출력 버퍼에 저장하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성된 프로세서 실행가능한 소프트웨어 명령들이 저장된, 비일시적(non-trnsitory) 프로세서 판독가능한 저장 매체.
  37. 수신기 디바이스 프로세서로 하여금,
    롱 터보 인코딩되고 M-시퀀스 인터리빙된 데이터 신호를 수신하는 단계;
    M-시퀀스 디인터리버 방식을 사용하여 상기 수신된 데이터 신호를 디인터리빙하여 복수의 터보 인코딩된 코드블록을 생성하는 단계; 및
    상기 복수의 코드블록 각각을 롱 터보 디코딩하는 단계
    를 포함하는 단계들을 수행하게 하도록 구성된 프로세서 실행가능한 명령들이 저장된, 비일시적 프로세서 판독가능한 저장 매체.
  38. 제 37 항에 있어서,
    상기 저장된 프로세서 실행가능한 소프트웨어 명령들은, 모바일 디바이스로 하여금,
    상기 수신된 데이터 신호를 입력 버퍼에 저장하는 단계;
    최대 길이 선형 피드백 시프트 레지스터에서 M-비트 시퀀스를 리버스 의사 랜덤하게 생성하는 단계;
    상기 M-시퀀스 비트를 상기 입력 버퍼에서의 메모리 위치 어드레스로서 활용하는 단계; 및
    상기 입력 버퍼에서의 다음의 이용가능한 소프트 비트를 M-시퀀스 비트 메모리 위치 어드레스에 대응하는 출력 버퍼에서의 위치에 저장하는 단계
    를 포함하는 추가의 단계들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능한 저장 매체.
KR1020117026543A 2009-04-11 2010-04-09 순방향 링크 전용 시스템에서 인터리빙하는 장치 및 방법 KR101274349B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16859609P 2009-04-11 2009-04-11
US61/168,596 2009-04-11
US12/756,917 2010-04-08
US12/756,917 US8612820B2 (en) 2009-04-11 2010-04-08 Apparatus and methods for interleaving in a forward link only system
PCT/US2010/030595 WO2010118364A1 (en) 2009-04-11 2010-04-09 Apparatus and methods for interleaving in a forward link only system

Publications (2)

Publication Number Publication Date
KR20120004519A true KR20120004519A (ko) 2012-01-12
KR101274349B1 KR101274349B1 (ko) 2013-06-19

Family

ID=42934342

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117026543A KR101274349B1 (ko) 2009-04-11 2010-04-09 순방향 링크 전용 시스템에서 인터리빙하는 장치 및 방법

Country Status (5)

Country Link
US (1) US8612820B2 (ko)
KR (1) KR101274349B1 (ko)
CN (1) CN102388540A (ko)
TW (1) TW201136185A (ko)
WO (1) WO2010118364A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8982832B2 (en) * 2008-04-28 2015-03-17 Qualcomm Incorporated Wireless communication of turbo coded data with time diversity
US20110047434A1 (en) * 2008-04-28 2011-02-24 Qualcomm Incorporated Wireless communication of turbo coded atsc m/h data with time diversity
JP5800745B2 (ja) * 2012-03-29 2015-10-28 三菱電機株式会社 ヘリコプター衛星通信システム、通信装置、通信方法、及び通信プログラム
CN107078832B (zh) * 2014-10-27 2018-12-18 索尼公司 一种装置
CN105991285B (zh) 2015-02-16 2019-06-11 阿里巴巴集团控股有限公司 用于量子密钥分发过程的身份认证方法、装置及系统
CN109391360B (zh) * 2017-08-11 2022-04-12 中兴通讯股份有限公司 数据编码方法及装置
CN110651453B (zh) * 2018-04-27 2022-04-26 深圳市汇顶科技股份有限公司 数据合并方法、装置及设备
US11165538B2 (en) * 2019-05-03 2021-11-02 Qualcomm Incorporated Codeblock concatenation for improved vulnerable symbol handling
US20220303987A1 (en) * 2021-03-22 2022-09-22 Qualcomm Incorporated Interleaver design for multi-slot uplink shared channel transmission

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010055320A1 (en) * 1994-12-15 2001-12-27 Pierzga Wayne Francis Multiplex communication
JPH11340799A (ja) 1998-05-28 1999-12-10 Oki Electric Ind Co Ltd M系列発生回路、m系列の発生方法及びpn系列発生回路
US6625234B1 (en) 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
CN1271796C (zh) 1999-05-19 2006-08-23 三星电子株式会社 涡式交织方法
AU2001225416A1 (en) 2000-01-20 2001-07-31 Nortel Networks Limited Adaptive frame structures for hybrid cdma/tdma system
US6476734B2 (en) 2000-09-14 2002-11-05 Texas Instruments Incorporated Method and apparatus for prioritizing information protection in high order modulation symbol mapping
US6961388B2 (en) 2001-02-01 2005-11-01 Qualcomm, Incorporated Coding scheme for a wireless communication system
US6973611B2 (en) 2001-04-17 2005-12-06 Texas Instruments Incorporated Interleaved coder and method
US7826414B2 (en) 2001-05-07 2010-11-02 Qualcomm, Incorporated Channel allocations in a communications system
RU2251794C2 (ru) 2001-05-08 2005-05-10 Самсунг Электроникс Ко.,Лтд Устройство и способ формирования кодов в системе связи
CN1414724A (zh) * 2001-10-26 2003-04-30 宁波大学 一种高速cdma无线通信网
US7181668B2 (en) * 2002-03-29 2007-02-20 Lucent Technologies Inc. Method and system of decoding an encoded data block
US8599764B2 (en) 2003-09-02 2013-12-03 Qualcomm Incorporated Transmission of overhead information for reception of multiple data streams
EP1771961A2 (en) 2004-07-29 2007-04-11 QUALCOMM Incorporated System and method for interleaving
KR100773291B1 (ko) 2004-10-21 2007-11-05 삼성전자주식회사 광대역 무선통신시스템의 데이터 버스트 할당 장치 및 방법
US7490282B2 (en) 2004-11-04 2009-02-10 Intel Corporation Method and apparatus of turbo encoder
WO2006076451A2 (en) * 2005-01-11 2006-07-20 Qualcomm Incorporated Methods and apparatus for transmitting layered and non-layered data via layered modulation
US20060198454A1 (en) * 2005-03-02 2006-09-07 Qualcomm Incorporated Adaptive channel estimation thresholds in a layered modulation system
US7925955B2 (en) 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
KR100720555B1 (ko) * 2005-04-29 2007-05-22 엘지전자 주식회사 수신감도 표시기능을 갖는 dmb 단말기 및 이를 이용한수신감도 표시방법
GB2426617B (en) 2005-05-26 2009-02-11 Iml Ltd Voting system
NZ566935A (en) 2005-09-27 2010-02-26 Qualcomm Inc Methods and apparatus for service acquisition
US8457219B2 (en) 2005-12-30 2013-06-04 Ikanos Communications, Inc. Self-protection against non-stationary disturbances
WO2007115333A2 (en) 2006-04-04 2007-10-11 Sennari Entertainment, Inc. Voting and multi-media actionable messaging services for mobile social networks
US8208946B2 (en) 2006-07-24 2012-06-26 Qualcomm Incorporated Method, apparatus, and system for transmitting messages
US8887987B2 (en) 2006-10-17 2014-11-18 Microsoft Corporation Federated voting with criteria-based discrimination
US7992070B2 (en) * 2006-12-27 2011-08-02 Nec Laboratories America, Inc. Bit-interleaved LDPC-coded modulation for high-speed optical transmission
US8332896B2 (en) 2007-07-05 2012-12-11 Coherent Logix, Incorporated Transmission of multimedia streams to mobile devices with cross stream association
EP2183898B1 (en) 2007-07-05 2016-09-14 Coherent Logix Incorporated Mobile television broadcast system
US7705920B2 (en) 2007-08-24 2010-04-27 Lg Electronics, Inc. Digital broadcasting system and method of processing data in digital broadcasting system
US8982832B2 (en) 2008-04-28 2015-03-17 Qualcomm Incorporated Wireless communication of turbo coded data with time diversity
US20110047434A1 (en) 2008-04-28 2011-02-24 Qualcomm Incorporated Wireless communication of turbo coded atsc m/h data with time diversity

Also Published As

Publication number Publication date
US8612820B2 (en) 2013-12-17
WO2010118364A1 (en) 2010-10-14
CN102388540A (zh) 2012-03-21
KR101274349B1 (ko) 2013-06-19
TW201136185A (en) 2011-10-16
US20100260161A1 (en) 2010-10-14

Similar Documents

Publication Publication Date Title
KR101274349B1 (ko) 순방향 링크 전용 시스템에서 인터리빙하는 장치 및 방법
RU2426254C2 (ru) Скремблирование на уровне кодового слова для mimo-передачи
KR101495934B1 (ko) 신호를 인코딩 및 디코딩하는 장치 및 방법
US8457219B2 (en) Self-protection against non-stationary disturbances
KR101490877B1 (ko) 디지털 텔레비전 시스템을 위한 프리앰블
JP2008526134A (ja) 余分なものを取り除いたビット反転インターリーバー
JP2009112009A (ja) データ処理装置及び方法
US7613256B2 (en) Forward error correction in a distribution system
JP2009112010A (ja) データ処理装置及び方法
KR20070067763A (ko) 디지털 방송 시스템 및 처리 방법
US8250428B2 (en) Scheduling data with time diversity in flow systems
KR100835134B1 (ko) 순방향 오류정정 복호화 방법 및 복호화기.
Chang et al. Iterative channel decoding of FEC-based multiple-description codes
JP4846785B2 (ja) インタリーブ方法
KR20080108402A (ko) 무선 통신시 비디오 신호의 품질을 향상시키기 위한 화소인터리빙 방법 및 장치
Rashed et al. Transmission of voice signal: BER performance analysis of different FEC schemes based OFDM system over various channels
JP2019121935A (ja) 送信装置及び受信装置
JP2005535210A (ja) データ送信におけるレートマッチングのための符号化及び復号化
KR101215363B1 (ko) 디지털 방송 시스템 및 처리 방법
JP6799421B2 (ja) 送信装置及び受信装置
Westerlund Forward error correction in real-time video streaming applications
CN111628849B (zh) Ldpc码字的交织映射方法及解交织解映射方法
KR101119110B1 (ko) 디지털 방송 시스템 및 처리 방법
US8995582B2 (en) Priori training in a mobile DTV system
JP4972200B2 (ja) インタリーブ装置、通信装置及びインタリーブ方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee