레이트-매칭을 이용한 계산상 효율적인 컨볼루셔널 코딩

申请号 KR1020157026394 申请日 2008-06-06 公开(公告)号 KR1020150115950A 公开(公告)日 2015-10-14
申请人 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘); 发明人 쳉,중-푸;
摘要 에러코딩회로가둘 이상의패리티비트들의그룹을생성하기위해, 입력비트스트림을코딩하는비체계적컨볼루셔널인코더, 각패리티비트들의그룹내의패리티비트들을인터리브하기위한인터리버회로, 및원하는코드레이트를얻기위해선택된수의인터리빙된패리티비트들을그룹순으로출력하기위한레이트-매칭회로를포함한다.
权利要求
  • 모바일 통신 시스템을 위한 통신 단말로서,
    에러 코딩 회로를 포함하고,
    상기 에러 코딩 회로는
    패리티 비트들의 그룹들을 둘 이상 생성하기 위해 입력 비트 스트림을 코딩하기 위한 비체계적인 컨볼루셔널(non-systematic convolutional) 인코더;
    패리티 비트들의 각 그룹 내의 패리티 비트들을 인터리빙하기 위한 인터리버 회로; 및
    원하는 코드 레이트를 얻기 위해 선택된 수의 인터리빙된 상기 패리티 비트들을 그룹순으로 출력하기 위한 레이트 매칭 회로를 더 포함하며,
    상기 인터리버 회로는 패리티 비트들의 각 그룹 내에서 홀수 패리티 비트들이 짝수 패리티 비트들에 선행하도록 패리티 비트들을 순서화하도록 구성되는,
    통신 단말.
  • 제1항에 있어서,
    상기 인터리버 회로는 열 퍼뮤테이션(column permutation)을 위한 역 BRO(reverse bit-reversal order) 인터리버를 구현하는, 통신 단말.
  • 제1항에 있어서,
    상기 인터리버 회로는 열 퍼뮤테이션을 위해 순환적으로-시프팅되는 BRO(bit-reversal order) 인터리버를 구현하는, 통신 단말.
  • 제1항에 있어서,
    상기 인터리버 회로는 열 퍼뮤테이션을 위해 모듈로-오프셋 BRO(bit-reversal order) 인터리버를 구현하는, 통신 단말.
  • 제1항에 있어서,
    상기 에러 코딩 회로는 상기 레이트 매칭 회로 다음에 채널 인터리버를 더 포함하는, 통신 단말.
  • 모바일 통신 시스템을 위한 통신 단말로서,
    에러 코딩 회로를 포함하고,
    상기 에러 코딩 회로는
    패리티 비트들의 그룹들을 둘 이상 생성하기 위해 입력 비트 스트림을 코딩하기 위한 비체계적인 컨볼루셔널 인코더;
    패리티 비트들의 각 그룹 내의 패리티 비트들을 인터리빙하기 위한 인터리버 회로; 및
    원하는 코드 레이트를 얻기 위해 선택된 수의 인터리빙된 상기 패리티 비트들을 그룹순으로 출력하기 위한 레이트 매칭 회로를 더 포함하며,
    상기 레이트 매칭 회로는 상기 인코더가 데이터 통신 채널에 매칭하기 위해 요구되는 수보다 많은 비트들을 생성할 때, 패리티 비트들의 상기 그룹들 중 한 그룹 내의 상기 패리티 비트들 모두를, 패리티 비트들의 다른 어떤 그룹 내의 비트들도 펑처링(puncturing)하기 전에 펑처링 함으로써 패리티 비트들을 펑처링하도록 구성되는,
    통신 단말.
  • 제6항에 있어서,
    상기 레이트 매칭 회로는 상기 인코더가 데이터 통신 채널에 매칭하기 위해 요구되는 수보다 적은 비트들을 생성할 때, 패리티 비트들의 상기 그룹들 중 한 그룹 내의 상기 패리티 비트들 모두를, 패리티 비트들의 다른 어떤 그룹 내의 비트들도 반복하기 전에 반복함으로써, 패리티 비트들을 반복하도록 구성되는,
    통신 단말.
  • 모바일 통신 시스템을 위한 통신 단말에서의 방법으로서,
    상기 방법은 입력 비트 스트림을 에러 코딩하기 위해,
    패리티 비트들의 그룹을 둘 이상 생성하기 위해 상기 입력 비트 스트림을 비체계적인 컨볼루셔널 인코더에서 코딩하는 단계;
    패리티 비트들의 각 그룹 내에서 홀수 패리티 비트들이 짝수 패리티 비트들에 선행하도록 패리티 비트들의 각 그룹 내의 패리티 비트들을 인터리빙하는 단계; 및
    원하는 코드 레이트를 얻기 위해 선택된 수의 인터리빙된 상기 패리티 비트들을 그룹순으로 출력하는 단계
    를 포함하는 방법.
  • 제8항에 있어서,
    상기 인터리빙하는 단계는 열 퍼뮤테이션을 위해 역 BRO(reverse bit-reversal order) 인터리빙하는 단계를 포함하는, 방법.
  • 제8항에 있어서,
    상기 인터리빙하는 단계는 열 퍼뮤테이션을 위해 순환적으로-시프팅된 BRO(bit-reversal order) 인터리빙하는 단계를 포함하는, 방법.
  • 제8항에 있어서,
    상기 인터리빙하는 단계는 열 퍼뮤테이션을 위해 모듈로-오프셋 BRO(bit-reversal order) 인터리빙하는 단계를 포함하는, 방법.
  • 모바일 통신 시스템을 위한 통신 단말에서의 방법으로서,
    상기 방법은 입력 비트 스트림을 에러 코딩하기 위해,
    패리티 비트들의 그룹을 둘 이상 생성하기 위해 상기 입력 비트 스트림을 비체계적인 컨볼루셔널 인코더에서 코딩하는 단계;
    패리티 비트들의 각 그룹 내의 패리티 비트들을 인터리빙하는 단계; 및
    원하는 코드 레이트를 얻기 위해 선택된 수의 인터리빙된 상기 패리티 비트들을 그룹순으로 출력하는 단계를 포함하고,
    상기 출력하는 단계는 상기 코딩하는 단계가 데이터 통신 채널에 매칭하기 위해 요구되는 수보다 많은 비트들을 생성할 때, 패리티 비트들의 상기 그룹들 중 한 그룹 내의 상기 패리티 비트들 모두를, 패리티 비트들의 다른 어떤 그룹 내의 비트들도 펑처링하기 전에 펑처링 함으로써, 패리티 비트들을 펑처링하는 단계를 포함하는,
    방법.
  • 제12항에 있어서,
    상기 출력하는 단계는 상기 코딩하는 단계가 데이터 통신 채널에 매칭하기 위해 요구되는 수보다 적은 비트들을 생성할 때, 패리티 비트들의 상기 그룹들 중 한 그룹 내의 상기 패리티 비트들 모두를, 패리티 비트들의 다른 어떤 그룹 내의 비트들도 반복하기 전에 반복함으로써, 패리티 비트들을 반복하는 단계를 포함하는,
    방법.
  • 모바일 통신 시스템을 위한 통신 단말로서,
    에러 코딩 회로를 포함하고,
    상기 에러 코딩 회로는
    3 그룹의 패리티 비트들을 생성하기 위해 입력 비트 스트림을 코딩하기 위한 비체계적인 컨볼루셔널(non-systematic convolutional) 인코더;
    패리티 비트들의 각 그룹 내의 패리티 비트들을 인터리빙하기 위한 인터리버 회로; 및
    원하는 코드 레이트를 얻기 위해 선택된 수의 인터리빙된 상기 패리티 비트들을 그룹순으로 출력하기 위한 레이트 매칭 회로를 더 포함하며,
    상기 인코더는, ODS(optimal distance spectra)를 갖는 MFD(maximum free distance) 코드들의 클래스에 속하는 레이트 1/3 테일-바이팅(tail-biting) 컨볼루셔널 코드를 구현하여, 패리티 비트들의 상기 그룹들 중 하나를 펑처링함으로써 ODS를 갖는 MFD 코드들의 클래스에 속하는 레이트 1/2 코드를 얻을 수 있는,
    통신 단말.
  • 제14항에 있어서,
    상기 인코더는 제한 길이(constraint length) k=7 및 생성 다항식 [133, 171, 165] O 인 레이트 1/3 테일-바이팅(tail-biting) 컨볼루셔널 코드를 구현하는,
    통신 단말.
  • 제14항에 있어서,
    상기 인코더는 제한 길이 k=7 및 생성 다항식 [133, 171] O 인 레이트 1/2 테일-바이팅(tail-biting) 컨볼루셔널 코드를 구현하는,
    통신 단말.
  • 说明书全文

    레이트-매칭을 이용한 계산상 효율적인 컨볼루셔널 코딩{COMPUTATIONALLY EFFICIENT CONVOLUTIONAL CODING WITH RATE-MATCHING}

    이 출원은 2007년 6월 8일에 출원된 미국 가출원 제60/942,770호의 권리를 주장하는 것으로, 상기한 미국 가출원은 그 명세서 전체가 본원에 참조로서 포함되어 있다.

    본 발명은 일반적으로 모바일 통신 네트워크들을 위한 에러 코딩에 관한 것으로서, 더 상세히는 레이트 매칭을 이용한 계산상 효율적인 컨볼루셔널 코딩을 위한 방법 및 장치에 관한 것이다.

    레이팅 매칭은 모바일 통신 시스템들에서 컨볼루셔널 인코더 또는 터보 인코더와 같은 인코더의 코드 레이트를 통신 채널의 데이터 전송 레이트에 매칭시키기 위해 사용되는 기술이다. 레이트 매칭은 통상적으로 통신 채널의 데이터 전송 레이트에 매칭시키기 위해 인코더에 의해 출력된 코딩된 비트들을 펑처링하거나(puncturing) 반복하는 것을 수반한다. 레이트 매칭은 상이한 데이터 전송 레이트를 갖는 복수의 데이터 채널에 대해 단 하나의 인코더가 사용되는 것을 허용한다.

    종래의 레이트-매칭 회로에서, 인코더는 입력 비트 스트림을 수신하여 둘 이상의 코딩된 비트 스트림을 생성한다. 인터리버는 각 코딩된 비트 스트림을 인터리브한다. 레이트 매칭 회로는 각 인터리빙된 비트 스트림의 코딩된 비트들을 비트-멀티플렉싱하고, 원하는 수의 비트들을 갖는 하나의 비트 스트림을 송신기에 출력하여 통신 채널의 데이터 전송 레이트에 매칭시킨다. 레이트 매칭 회로에 의해 수행된 비트-멀티플랙싱은 모든 인터리빙된 비트 스트림들로부터의 인터리빙된 비트들을 인터믹스(intermix)한다. 인코더에 의해 출력된 비트들의 수가 요구되는 수보다 많은 경우에는, 인터리빙된 비트들 중 일부가 펑처링될 수 있다. 반대로, 인코더에 의해 출력된 비트들의 수가 요구되는 것보다 적다면, 비트들 중 일부가 반복될 수 있다. 레이트 매칭 회로는 순환 버퍼(circular buffer), 또는 실시간 멀티플렉싱 회로를 사용하여 구현될 수 있다.

    과거에 사용되던 레이트 매칭 회로들이 양호한 성능을 제공하기는 하지만, 양호한 성능을 제공하는 보다 덜 복잡한 컨볼루셔널 코드들을 위한 새로운 레이트 매칭 회로들이 요구된다.

    본 발명은 컨볼루셔널 인코더와 함께 사용할 레이팅 매칭을 위한 방법 및 장치에 관한 것이다. 정보 시퀀스가 비체계적인 컨볼루셔널(non-systematic convolutional) 인코더로 입력된다. 컨볼루셔널 인코더는 정보 시퀀스를 인코딩하여 둘 이상의 패리티 비트 스트림을 출력한다. 인터리빙 회로는 상이한 패리티 비트 스트림들 내의 패리티 비트들을 믹싱하지 않은 채 각 패리티 비트 스트림의 패리티 비트들을 인터리브한다. 인터리빙된 패리티 비트들은 레이트 매칭 회로에 입력된다. 레이트 매칭 회로는 데이터 채널에 매칭하기 위해 선택된 수의 패리티 비트들을 출력한다. 패리티 비트들은 그룹 순으로 출력된다. 즉, 패리티 비트들의 제1 그룹으로부터의 패리티 비트들 모두는 다음 그룹으로부터의 어떤 패리티 비트들도 출력되기 전에 출력된다.

    본 발명에 따른 레이트 매칭을 위한 방법 및 장치는 인코더에 의해 출력된 상이한 패리티 비트 스트림들을 인터리브하는 데 동일한 인터리버들이 사용되고, 모바일 단말을 위한 채널 인코더의 복잡함을 저감시켜, 채널 인코딩의 성능을 개선하게끔 한다.

    도 1은 코딩 회로를 포함한 예시적인 송수신기를 도시하는 도면.
    도 2는 본 발명의 예시적인 일 실시예에 따른 코딩 회로를 도시하는 도면.
    도 3은 일 예시적인 실시예에 따른 제1 예시적인 레이트-매칭 회로를 도시하는 도면.
    도 4는 다른 예시적인 실시예에 따른 제2 예시적인 레이트-매칭 회로를 도시하는 도면.
    도 5는 예시적인 레이트 매칭 회로에 의해 출력된 패리티 비트의 순서를 도시하는 도면.
    도 6은 전송을 위해 입력 비트 스트림을 코딩하기 위한 예시적인 방법을 도시하는 도면.

    도 1은 모바일 통신 시스템을 위한 통신 단말(10)의 메인 컴포넌트를 도시한다. 통신 단말(10)은 통신 단말(10)의 전체적인 동작을 제어하기 위한 시스템 컨트롤러(12), 동작을 위해 필요한 프로그램 및 데이터를 저장하기 위한 메모리(14), 원격 디바이스에 신호를 전송하기 위한 송신기(20), 및 원격 디바이스로부터 신호를 수신하기 위한 수신기(30)를 포함한다. 송신기(20) 및 수신기(30)는 전이중 방식(full duplex) 동작을 허용하는 듀플렉서 또는 스위치(16)에 의해 하나 이상의 안테나(18)에 연결된다.

    송신기(20)는 정보 소스로부터 정보 스트림을 수신하여, 라디오 채널을 통한 전송에 적합한 전송 신호를 생성하도록 정보 스트림을 처리하고, 전송 신호를 RF 캐리어로 변조한다. 송신기(20)는 소스 인코더(22), 채널 인코더(24), 및 변조기(26)를 포함한다. 소스 인코더(22)는 리던던시(redundancy)를 제거하거나 정보 비트 스트림을 랜덤화하여 최대 정보 컨텐츠에 최적화된 정보 시퀀스를 생성한다. 소스 인코더(22)로부터의 정보 시퀀스는 채널 인코더(24)에 패스된다. 채널 인코더(24)는 소스 인코더(22)에 의해 공급된 정보 시퀀스에 리던던시 요소를 도입하여 코딩된 시퀀스를 생성한다. 채널 인코더(24)에 의해 추가된 리던던시는 통신 시스템의 에러 정정 기능을 향상시키는 역할을 한다. 채널 인코더(24)의 출력은 전송 시퀀스이다. 변조기(26)는 채널 인코더(24)로부터 전송 시퀀스를 수신받아 통신 채널의 물리적 성질에 적합한 동시에 통신 채널을 통해 효과적으로 전송될 수 있기도 한 파형을 생성한다.

    수신기(30)는 통신 채널을 통한 통행(passage)에 의해 손상된(corrupted) 멀리 떨어진 엔드 디바이스로부터의 전송된 신호들을 수신한다. 수신기의 기능은 수신된 신호로부터 오리지널 정보 스트림을 재구성하는 것이다. 수신기(30)는 복조기(32), 채널 디코더(34), 및 소스 디코더(36)를 포함한다. 복조기(32)는 수신된 신호를 처리하여 수신된 비트 시퀀스를 생성하는데, 이는 각 수신된 비트나 심볼에 대한 하드 또는 소프트 값들을 포함할 수 있다. 수신된 신호가 통신 채널을 통해 에러 없이 전송된다면, 수신된 비트 시퀀스는 송신기에서의 전송 비트 시퀀스와 동일할 것이다. 실제로, 통신 채널을 통하는 수신된 신호의 통행은 수신된 신호에 전송 에러를 가져온다. 채널 디코더(34)는 송신기(20)에서 채널 인코더(24)에 의해 추가된 리던던시를 이용하여 비트 에러들을 감지하고 정정한다. 복조(32) 및 채널 디코더(34)가 얼마나 잘 수행하는지에 대한 척도는 디코딩된 정보 시퀀스에서 비트 에러가 발생하는 빈도이다. 마지막 단계로서, 소스 디코더(36)는 정보 소스로부터 오리지널 정보 비트 스트림을 재구성한다.

    도 2는 본 발명의 일 실시예에 따른 예시적인 채널 인코더(24)를 도시한다. 채널 인코더(24)는 인코더(40), 인터리빙 회로(42), 및 레이트 매칭 회로(44)를 포함한다. 몇몇 실시예에서 채널 인코더(24)는 레이트 매칭 회로(44) 다음에 채널 인터리버(46)를 더 포함할 수 있다.

    인코더(40)는, 예를 들면, 비체계적인 컨볼루셔널 인코더를 포함할 수 있다. 인코더(40)는 입력 시퀀스 I를 수신하여 둘 이상의 패리티 비트 스트림 P 1 , P 2 , ... P N 을 생성한다. 예로서, 인코더(40)는 제한 길이(constraint length) k=7 및 생성 다항식 [133, 171, 165] O 인 레이트 1/3 테일-바이팅(tail-biting) 컨볼루셔널 코드를 구현할 수 있다. 이 컨볼루셔널 코드는 ODS(optimal distance spectra)를 갖는 MFD(maximum free distance) 코드들의 클래스에 속한다. 이 코드들의 클래스는 코드 워드들 사이의 자유 거리를 최대화시키고, 모든 거리에서 가장 낮은 웨이트(weights)를 갖는다. 이 컨볼루셔널 코드의 다른 장점은 다항식 [165] O 에 의해 생성되는 코딩된 비트들을 펑처링함으로써 레이트 1/2 코드가 획득될 수 있다는 것이다. 결과의 1/2 레이트 컨볼루셔널 코드는 생성 다항식 [133, 171] O 에 의해 주어진다. 당업자는 레이트 1/3 및 레이트 1/2 컨볼루셔널 코드들의 네스팅(nesting) 구조를 활용하여 채널 인코더(24)의 복잡함을 줄일 수 있음을 이해할 것이다.

    인터리빙 회로(42)는 컨볼루셔널 인코더(40)로부터 세 개의 패리티 비트 스트림들을 개별적으로 처리하기 위해 세 개의 인터리버(42a, 42b, 42c)를 포함한다. 당업자는 각 패리티 비트 스트림이 생성 다항식들 중 하나에 대응함을 이해할 것이다. 패리티 비트 스트림들은 도 2에서 P 1 , P 2 , 및 P 3 으로 표기된다. 패리티 비트 스트림 P 1 은 생성 다항식 [133] O 에 대응하고, 패리티 비트 스트림 P 2 는 생성 다항식 [171] O 에 대응하고, 패리티 비트 스트림 P 3 은 생성 다항식 [165] O 에 대응한다. 이하에서 더욱 자세히 설명하겠지만, 패리티 비트들의 그룹 멀티플렉싱은 패리티 비트 스트림들 P 1 , P 2 , P 3 각각에 대해 동일한 인터리버들(42a, 42b, 42c)이 각기 사용되게끔 한다. 각 코딩된 비트 스트림 P 1 , P 2 , P 3 에 대해 동일한 인터리버 구조를 사용하는 능력은 채널 인코더(24)의 복잡함을 감소시켜 준다. 반대로, 비트 레벨 멀티플렉싱을 구현하는 레이트 매칭 회로들은 상이한 패리티 비트 스트림 P 1 , P 2 , P 3 에 대해 상이한 인터리버들을 사용할 것을 요구한다. 각 패리티 비트 스트림에 대해 동일한 인터리버를 사용하는 능력이 본 발명의 하나의 장점이지만, 당업자는 인터리빙 회로(42)가 패리티 비트 스트림들 각각을 위해 상이한 인터리버들(42a, 42b, 42c)을 포함할 수 있음을 이해할 것이다.

    인터리버들(42a, 42b, 42c)에 의해 출력된 인터리빙된 패리티 비트 스트림들 P 1 ', P 2 ', P 3 '은 레이트 매칭 회로(44)에 입력된다. 레이트 매칭 회로(44)는 이하에서 논의되는 패리티 비트 스트림 P 1 ', P 2 ', P 3 '의 그룹 멀티플렉싱을 수행하여 출력 시퀀스 C를 출력한다. 또한, 레이트 매칭 회로(44)는, 출력 비트들의 수를 데이터 전송 채널에 매칭시키기 위해 패리티 비트들 중 일부를 펑처링하거나 반복할 수 있다.

    상술한 바와 같이, 예시적인 실시예에서 컨볼루셔널 인코더(40)는 레이트 1/3 컨볼루셔널 코드를 포함한다. 따라서, 레이트 1/3 컨볼루셔널 코드가 요구될 때에, 레이트 매칭 회로(44)는 세 개의 패리티 비트 스트림 모두의 패리티 비트들 전부를 출력한다. 레이트 매칭 회로(44)는 그룹-멀티플렉싱된 포맷으로 패리티 비트들을 출력한다. 즉, 레이트 매칭 회로(44)는 우선 패리티 비트 스트림 P 1 에 대응하는 패리티 비트들을 출력하고, 다음으로 패리티 비트 스트림 P 2 의 패리티 비트들을 출력하며, 그 다음으로는, 패리티 비트 스트림 P 3 의 패리티 비트들을 출력한다. 세 개의 패리티 비트 스트림들 P 1 , P 2 , P 3 의 패리티 비트들은 종래의 레이트 매칭 회로에서와 같이 인터믹싱되지 않는 대신에, 그룹들로 출력된다.

    데이터 통신 채널에 매칭하기 위해 1/3보다 높은 코드 레이트가 요구되는 경우, 레이트 매칭 회로(44)는 패리티 비트들 중 선택된 것들을 펑처링함으로써 패리티 비트들 전부보다 적게 출력한다. 패리티 비트들을 펑처링할 때에, 레이트 매칭 회로(44)는 우선 패리티 비트 스트림 P 3 에 대응하는 패리티 비트들을 펑처링하고, 다음으로 패리티 비트 스트림 P 2 에 대응하는 패리티 비트들을 펑처링한다. 즉, 패리티 비트 스트림 P 3 으로부터의 패리티 비트들 전부가 펑처링될 때까지 패리티 비트 스트림 P 2 로부터의 어떤 패리티 비트들도 펑처링되지 않는다. 펑처링되지 않은 나머지 패리티 비트들은 앞서 설명한 대로 그룹순으로 출력된다. 따라서, 레이트 1/2 컨볼루셔널 코드에 대해, 레이트 매칭 회로(44)는 패리티 비트 스트림 P 3 에 대응하는 비트들의 전부를 펑처링한다. 1/2과 1/3 사이의 코드 레이트를 획득하기 위해, 레이트 매칭 회로(44)는 패리티 비트 스트림 P 3 에 대응하는 패리티 비트들 중 전부는 아니지만 일부를 펑처링한다. 1/2보다 높은 코드 레이트들을 획득하기 위해, 레이트 매칭 회로(44)는 패리티 비트 스트림 P 3 에 대응하는 패리티 비트들 전부와 패리티 비트 스트림 P 2 에 대응하는 패리티 비트 스트림들 중 일부를 펑처링한다.

    데이터 통신 채널에 매칭하기 위해 1/3보다 낮은 코드 레이트들이 요구되는 경우, 레이트 매칭 회로(44)는 앞서 설명한 바와 같이 P 1 , P 2 , P 3 그룹 멀티플렉싱된 순서로 각 패리티 비트 스트림 내 패리티 비트들을 출력하고 나서, 원하는 수의 비트들이 출력될 때 까지 동일한 출력 시퀀스를 순서대로 반복한다. 즉, 세 개의 패리티 비트 스트림 P 1 , P 2 , P 3 내의 패리티 비트들 모두가 출력된 후에, 레이트 매칭 회로(44)는 필요한 수의 패리티 비트들에 도달할 때까지, 우선 패리티 비트 스트림 P 1 에 대응하는 반복된 패리티 비트들을 출력하고, 다음으로 패리티 비트 스트림 P 2 로부터의 반복된 패리티 비트들을 출력하고 나서, 패리티 비트 스트림 P 3 으로부터의 패리티 비트들을 출력한다.

    도 3 및 4는 레이트 매칭 회로(44)의 두 예시적인 구현예를 도시한다. 도 3에 도시된 레이트 매칭 회로(44)는 순환 버퍼(50)를 포함한다. 인터리빙된 패리티 비트 스트림들 P 1 ', P 2 ', P 3 '은 순환 버퍼(50)의 대응 섹션들도 읽어들여 진다(read into). 따라서, 순환 버퍼(50) 내 패리티 비트들은 그룹별로 순서화한다. 그 다음, 레이트 매칭 회로(44)의 출력 비트들은 순환 버퍼(50)로부터 순차적으로 읽힌다. 요구되는 비트 수가 순환 버퍼(50)의 크기보다 크다면, 읽기는 순환 버퍼(50)의 끝에서부터 시작점까지로 된다(the reading wraps from the end of the circular buffer 50 to the beginning).

    도 4에 도시된 실시예에서, 그룹 멀티플렉싱 회로(52)는 순환 버퍼(50) 대신 사용된다. 그룹 멀티플렉싱 회로(52)는 세 개의 패리티 비트 스트림들로부터의 패리티 비트들을 읽기 위해 인터리빙 어드레스 "온 더 플라이(on the fly)"를 생성한다. 이 온 더 플라이 어드레싱은 순환 버퍼(50)와 동일한 출력 시퀀스 C를 생성하지만 출력 비트들을 버퍼링할 필요는 없다.

    위에서 언급한 바와 같이, 레이트 매칭 회로(44)에 의해 구현된 그룹 멀티플렉싱은 동일한 인터리버가 패리티 비트 스트림들 P 1 , P 2 , 및 P 3 각각에 대해 사용될 수 있게 해준다. BRO(bit reverse order) 인터리버들은 터보 인코더들에서의 레이트 매칭에 양호한 성능을 제공하는 것으로 밝혀졌다. 길이 32 BRO 인터리버는 다음과 같이 주어진다:

    임의적인 패리티 비트 스트림 길이를 수용하기 위해, 패리티 비트 스트림을 포함할 만큼 충분히 큰 사각형 인터리버에 대한 열 퍼뮤테이션 패턴(column permutation pattern)으로서 BRO 인터리버가 일반적으로 사용된다. 즉, 길이 N P 의 패리티 비트 스트림에 대해, 인터리버들(42a, 42b, 42c)은 32 열 및 ceil(N P /32) 행의 사각형 인터리버들로 정의된다. 사각형 인터리버의 크기(N I =32*ceil(N P /32)로 주어짐)가 패리티 비트 스트림 길이보다 크다면, N D =N I -N P 더미 비트들이 패리티 비트 스트림의 전방(front)에 패딩(padded)된다. 입력 스트림(패리티 비트들 및 잠재적으로 더미 비트들을 포함함)은 제1 행과 제1 열에서부터 시작하여 행별로 인터리버에 기입된다. 그러면 32 열들은 선택된 열 퍼뮤테이션 패턴에 기초하여 퍼뮤트된다. 열 퍼뮤테이션 후에는, 인터리버의 컨텐츠가 제1 열과 제1 행에서부터 시작하여 열별로 읽어내어 질 수 있다. 더미 비트들이 존재한다면, 더미 비트들은 사각형 인터리버의 컨텐츠가 읽어내어질 때 폐기된다.

    컨볼루셔널 코드들을 위해, 열-퍼뮤팅 BRO 인터리버들은 바람직하게는 각 패리티 비트 그룹 내 홀수-인덱스된 비트들이 동일한 패리티 비트 그룹 내 짝수-인덱스된 비트들보다 앞서서 출력되게끔 변경되어야 한다. 패리티 비트들의 순서는 도 5에 도시된다.

    하나의 예시적인 실시예에서, 인터리빙 회로(42)를 위한 인터리버들(42a, 42b, 42c)은 열 퍼뮤테이션을 위한 역(reverse) BRO 인터리버들을 포함할 수 있다. 역(reverse) BRO 인터리버는 아래와 같이 주어진다:

    역 BRO 인터리버는, 종래의 BRO 인터리버에 비교하여 역순으로 비트들이 출력되게끔 종래의 BRO 인터리버를 변경함으로써 구현된다.

    제2 실시예에서, 인터리빙 회로(42)를 위한 인터리버들(42a, 42b, 42c)은 열 퍼뮤테이션을 위해 순환적으로-시프팅된 BRO 인터리버들을 포함할 수 있다. 순환적으로-시프팅된 BRO 인터리버의 일례는 다음과 같이 주어진다:

    순환적으로-시프팅된 BRO 인터리버는 16개 자리만큼 종래의 BRO 인터리버의 출력 비트들을 시프팅함으로써 구현된다.

    제3 실시예에서, 인터리빙 회로(42)를 위한 인터리버들(42a, 42b, 42c)은 열 퍼뮤테이션을 위한 모듈로-오프셋 BRO 인터리버를 포함할 수 있다. 예시적인 모듈로-오프셋 인터리버는 다음과 같이 주어진다:

    수학식 4에 나타낸 모듈로-오프셋 인터리버는, 종래의 BRO 인터리버의 출력 인덱스에 미리 정해진 오프셋을 추가한 것 모듈로 인터리버(42)의 길이로써 구현될 수 있다. 인터리버 어드레스들에 추가된 오프셋은 홀수이어야 한다.

    인코더(40)로부터 출력된 패리티 비트 스트림들에서 수행되는 인터리빙 때문에, 레이트 매칭 회로(44)로부터의 출력 시퀀스는 상당히 랜덤화된 순서를 갖는다. 그러나, 레이트 매칭 회로(44)의 그룹 멀티플렉싱으로 인해, 패리티 비트들의 그룹들 사이에 인터리빙이 존재하지 않는다. 따라서, 어떤 상황에서는, 채널 인터리빙의 깊이를 향상시키기 위해 레이트 매칭 회로(44) 다음에 채널 인터리버(46)를 포함하는 것이 바람직할 수 있다. 예를 들면, 변조 포맷이 짝수 개의 패리티 비트들을 각 변조 심볼에 매핑한다면, 레이트 매칭 회로(44)로부터의 출력 비트들을 두 개의 서브-블록들 (c 0 , c 1 , c N /2- 1 )과 (c N /2 , c N /2+1 , c N - 1 )로 균등하게 나누는 것이 가능하다. 그러면 두 개의 서브-블록들은 비트 멀티플렉싱되어 변조기에 전송될 수 있다. 예로서 QPSK 변조를 사용하면, 제1 변조된 심볼은 c 0 과 c N /2 에 의해 결정되고, 제2 변조 심볼은 c 1 과 c N/2+1 에 의해 결정되는 등이다.

    도 6은 본 발명의 일 실시예에 따라 채널 인코더(24)에 의해 구현되는 예시적인 방법(100)을 도시한다. 정보 시퀀스 I가 채널 인코더(24)에 입력될 때 처리가 시작된다. 채널 인코더(24)는 정보 시퀀스 I를 인코딩하여 둘 이상의 패리티 비트 스트림들을 생성한다(블록 102). 위에서 논의한 바와 같이, 인코딩은 비체계적인 컨볼루셔널 인코더에 의해 수행된다. 패리티 비트 스트림들 P 1 , P 2 , ... P N 이 인터리빙 회로(42)에 입력된다. 인터리빙 회로(42)는 각 패리티 비트 스트림을 인터리브하여 인터리빙된 패리티 비트 스트림들 P 1 ', P 2 ', ... P N '을 생성한다(블록 104). 그러면 인터리빙된 패리티 비트 스트림들이 레이트 매칭 회로(44)에 공급된다. 레이트 매칭 회로(44)는 데이터 채널에 매칭하도록 선택된 수의 패리티 비트들을 출력한다(블록 106). 위에서 설명된 바와 같이, 패리티 비트들은 그룹순으로 출력된다. 즉, 패리티 비트 스트림 P 2 에 대응하는 그룹으로부터 어떠한 패리티 비트들도 출력되기 전에 패리티 비트 스트림 P 1 에 대응하는 모든 패리티 비트들이 출력되는 등이다. 데이터 채널에 매칭하기 위해, 패리티 비트들 전부보다 적은 패리티 비트들이 요구된다면, 패리티 비트 스트림 P N -1 에 대응하는 그룹으로부터 어떠한 패리티 비트들도 펑처링되기 전에 먼저 패리티 비트 스트림 P N 에 대응하는 그룹으로부터의 패리티 비트들이 펑처링되는 등이다. 데이터 채널에 매칭하기 위해 필요한 패리티 비트들의 수가 채널 인코더(24)에 의해 출력된 패리티 비트들의 수를 초과한다면, 패리티 비트들 전부는 위에서 설명한 대로 그룹 순으로 출력되고, 그 다음으로는 요구되는 패리티 비트들의 수에 도달할 때까지 출력 시퀀스가 반복된다. 본 발명의 일부 실시예에서, 레이트 매칭 회로(44)로부터의 출력 시퀀스 C는 인터리빙 깊이를 향상시키기 위해 채널 인터리버(42)에 의해 인터리빙될 수 있다(블록 108). 그러나 이 마지막 인터리빙 단계는 선택적이다.

    본 발명이 특정 구현예와 관련해서 설명되었지만, 당업자는 설명된 레이트 매칭 기술이 서로다른 레이트들을 갖는 인코더들, 및 서로다른 길이들의 인터리버들에 적용될 수 있음을 이해할 것이다. 또한, 바람직한 실시예가 세 개의 패리티 비트 스트림에 대해 동일한 인터리버를 사용하고 있지만, 상이한 패리티 비트 스트림들에 대해 상이한 인터리버들을 적용하는 것이 가능하다.

    물론, 본 발명은 본 발명의 범주 및 기본 특징들로부터 일탈하지 않고 본원에 설명된 방법외에 다른 특정 방법들로 실시될 수 있다. 따라서 본 실시예들은 모든 점에서, 제한적이 아니라 예시적으로 고려될 것이고, 첨부된 특허청구범위의 의미 및 등가 범주 내에 들어가는 모든 변경들은 본원에 포함되는 것으로 의도된다.

    QQ群二维码
    意见反馈