環状バッファにリダンダンシバージョンを割当てる方法、および環状バッファを備える装置
送信機の動作中に、環状バッファが生成される。環状バッファの列の先頭のみが、リダンダンシバージョンの開始位置として定義される。環状バッファがシーケンス形式の場合に、全ての可能なリダンダンシバージョンは、第1リダンダンシバージョンの開始位置の列のインデックスの関数として配置される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は概して通信システムに関し、詳細にはリダンダンシバージョン(Redundancy Version)を、通信システム内の環状バッファに割当てる方法および装置に関する。
【背景技術】
【0002】
通信システムにおいて、エラー制御方法は、チャネルを通して送信中に障害から信号を保護すべく使用される。そのようなエラー制御技術の一部として、コード名が各情報ブロックに生成される。無線通信レートに整合すべく、物理チャネルを通して送信される前に、コード名はレート整合アルゴリズムを介してサイズ変更される。レート整合アルゴリズムは、コード名のパンクチュアリングまたはコード名の反復を介して、チャネルを通して送信される所望ビット数を提供する。レート整合アルゴリズムは、そのアルゴリズムがシステム性能と実施効率に大いに影響するという点で、重要である。
【0003】
システムが前方誤り訂正(FEC)のみを使用する場合、与えられた情報ブロックには単一の送信のみが必要とされ、レート整合アルゴリズムは、コード名の一つのバージョンのみを提供する。システムがハイブリッド自動再送要求(HARQ)処理を使用する場合、与えられた情報ブロックには複数の送信が必要とされる場合があり、レート整合アルゴリズムはコード名の異なるバージョン(たとえばインクリメンタル・リダンダンシハイブリッド自動再送要求)を提供すべく義務づけられうる。ハイブリッド自動再送要求は、単一の送信のみが情報ブロックに使用される場合、前方誤り訂正に退化する。
【0004】
レート整合アルゴリズムを実行する一つの方法は、システムが直面しうる各情報ブロックサイズとコードレートのパンクチュアリング/回復パターンを定義することである。しかしながら、この方法は柔軟性がない。更に、3GPP(第3世代移動体通信システムの標準化プロジェクト)通信システムにおいてのように、システムが数千もの情報ブロックサイズと、数千ものコードレートの組み合わせとを含む場合は、この方法は実用的ではない。
【0005】
レート整合アルゴリズムを実行する他の方法は、一つずつコード名ビットを通る規則を定義し、且つコード名ビットがパンクチャード(除去)されるべきか否かまたは繰り返されるべきか否かを判定することである。このような方法は、柔軟性の利点があり、3GPP(第3世代移動体通信システムの標準化プロジェクト)リリース99において定義される。しかしながら、そのような方法は、実施効率の悪さに悩まされる。更に、与えられた情報に関連する送信がインクリメント・リダンダンシハイブリッド自動再送要求に重ならない(すなわち直交する)ことを保証する方法がない。つまり、システム性能に弱点がありうる。
【0006】
代替的に、レート整合アルゴリズムに基づく環状バッファは、実施の複雑さを少なくした良い性能を提供すべく、設計されうる。この方法において、コード名ビットは環状バッファを形成すべく再配置される。Ndesiredコードビットが送信に必要な場合、連続ビットの長さNdesiredのブロックは、環状バッファ(環状バッファの最終ビットに到達する場合、最初のビットに包み込まれる)から取り出される。したがって、パンクチュアリングと回復は、単一の方法を用いて達成されうる。環状バッファ技術は、柔軟性、性能、実行の点において、有利である。
【0007】
ハイブリッド自動再送要求処理において異なるコード名バージョンを実現すべく、リダンダンシバージョン(RV)のようなパラメータが、レート整合アルゴリズムに基づく環状バッファへの入力として使用されうる。リダンダンシバージョンは、送信のコード名の一部を選択すべく、環状バッファ内の開始点を明示しうる。
【発明の概要】
【発明が解決しようとする課題】
【0008】
先行技術では、リダンダンシバージョンの正当な開始位置は、再配置後にコード名ビットのシーケンスを含む環状バッファに渡って均一に配置される。この均一な配置は、ハイブリッド自動再送要求の各送信の実施を困難にする。したがって、リダンダンシバージョンを通信システム内の環状バッファに割当てる方法と装置の必要性が存在する。この通信システムは、レート整合アルゴリズムに基づき環状バッファの効率を改善することが期待される。
【課題を解決するための手段】
【0009】
上述の必要性に取り組むべく、通信システム内の環状バッファにリダンダンシバージョンを割当てる方法と装置が、ここに提供される。動作中、環状バッファが生成される。そこでは、リダンダンシバージョンのみが、構成要素のサブブロックインターリーバの最初(すなわち第1行)から開始すべく、明示される。たとえば8つのリダンダンシバージョンの全てによって、リダンダンシバージョンは、
天井関数[Kstream/32]×(12×i+σ),i=0,1,...,7
で決まる位置に配置される。ここで、σは第1リダンダンシバージョンRV0のサブブロックインターリーブ列のインデックスを示す。天井関数[x]は、実数xの天井関数を示す。
【0010】
上述のようにリダンダンシバージョンの位置を明示すると、ハイブリッド自動再送要求の実施が容易になる。より詳細には、本技術は、メモリレスのリダンダンシバージョンの明示を可能にする。このメモリレスのリダンダンシバージョンの明示は、環状バッファレート整合(RM)によって入力ブロックサイズの多くを支持するのに有用である。特に、上述のリダンダンシバージョンの配置は、仮想環状バッファを可能にする(すなわち物理環状バッファは、実施されない)。この仮想環状バッファの実施は、所望ビット数が、環状バッファの任意のリダンダンシバージョンから開始するエンコーダ出力ストリームから直接選択されることを可能にする。
【0011】
本発明は、リダンダンシバージョンを環状バッファに割当てる方法を含む。本方法は、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信するステップを有する。系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとは全て、ダミービットを有する。パリティビットの第1ブロックと、パリティビットの第2ブロックは、独立にインターリーブされたブロックであり、パリティビットの第1ブロックは、パリティビットの第2ブロックにインターレースされることによって、インターレースパリティビットを生成する。インターリーブされた系統的ビットは、インターレースされたパリティビットの先頭に追加されることによって環状バッファを生成し、その結果、リダンダンシバージョン(RV)は、環状バッファの特定行から開始すべく明示される。リダンダンシバージョン(RV)と所望ビット数が受信されると、所望ビット数は、リダンダンシバージョンのビット位置において開始する出力となる。
【0012】
本発明は、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを出力するエンコーダを有する装置を含む。レート整合回路は、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信すべく、且つダミービットを有する環状バッファを生成すべく、提供される。環状バッファの特定行は、リダンダンシバージョンとして使用され、レート整合回路は、環状バッファから特定リダンダンシバージョンにおいて開始する送信機へと出力する。最終的に、送信機回路は、非ダミービットを受信し、且つ非ダミービットを送信すべく提供される。
【0013】
最終的に、本発明は、各々の長さがKstreamの系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを出力するエンコーダを含む装置を有する。装置は加えて、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信するための、且つ系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとをインターリーブするためのレート整合回路を有する。論理回路は、データストリーム内の位置に対応するリダンダンシバージョンを明示すべく提供される。その位置では、データ出力が開始される。8つのリダンダンシバージョンが使用される際、リダンダンシバージョンは、
天井関数[Kstream/32]×(12×i+σ),i=0,1,...,7
で決まる位置に配置される。ここで、σは第1リダンダンシバージョンRV0のサブブロックインターリーブ列のインデックスを示す。ストリームは、インターリーブされた系統的ビットと、パリティビットのインターリーブされ且つインターレースされた第1ブロック、およびパリティビットのインターリーブされ且つインターレースされた第2ブロックとを有する。最終的に、送信回路は、特定リダンダンシバージョンから開始するため、且つ非ダミービットを送信するため提供される。
【0014】
以下の図では、部材番号が構成要素を特定する。
【図面の簡単な説明】
【0015】
【図1】先行技術の送信機のブロック図。
【図2】インターリーブされ且つインターレースされたサブブロック図。
【図3】本発明の送信機のブロック図。
【図4】インターリーブされ且つインターレースされたサブブロック図。
【図5】インターリーブされ且つインターレースされたサブブロック図。
【図6】マトリックス形式で示されるダミー除去環状バッファ。
【図7】ダミービットを有するリダンダンシバージョン環状バッファ。
【図8】仮想環状バッファの使用。
【図9】環状バッファリングとの第1ステージレート整合。
【図10】系統的ビットパンクチュアリング。
【図11】環状バッファ内の系統的ビットの小部分のスキッピング。
【図12】図3の送信機の動作を示すフローチャート。
【図13】図3の送信機の動作を示すフローチャート。
【発明を実施するための形態】
【0016】
図1と図2は、レート整合法に基づく環状バッファの機能性を示す。より詳細には、図1は送信機のブロック図であり、図2はインターリーブされ且つインターレースされたサブブロックを示す。送信機100の動作中に、エンコーダ101は、系統的ビットストリームと、少なくとも2つのパリティストリームとを出力する。この詳細な例では、エンコーダ101は、第3世代移動体通信システムの標準化において採用されたレート1/3のターボコーダを有する。以下の概念は、他のコードレートのターボコード、低密度パリティチェック(LDPC)コード、畳込コードといった、誤り訂正コードの他の型にも適用されうることを記す。
【0017】
エンコーダ101は、系統的ビットストリームと2つのパリティストリームに対応する、3つのストリームを出力する。ある場合において、系統的ストリームは、たとえば第3世代移動体通信システムの標準化プロジェクトのターボコードに関してのテールビットによって、系統的ではない幾つか(たとえば4つ)のビットを含みうる。(テールビット符号化が使用される際に、テールビットは不在である)。系統的ストリームはまた、ターボ符号化の前に挿入されたフィルタビットを含みうる。簡単のために、系統的ストリームの全てのビットを系統的ビットと呼び、それぞれのパリティストリームの全てのビットを、それぞれパリティ0ビットおよびパリティ1ビットと呼ぶ。
【0018】
レート整合回路102は、エンコーダ101からストリーム出力を受信し、各ストリームに個別にインターリーブするサブストリームを実行する。これは図2に示され、そこでは、それぞれ、S’は系統的ビットストリームであり、P0’はパリティ0ビットストリームであり、P1’はパリティ1ビットストリームである。各ストリームは、それ自身のサブブロック再配置(図1、図2には図示せず)とともに、再配置(インターリーブ)されることによって、系統的ストリームSとP0とP1とを生成する。単一出力バッファ105(環状バッファとも呼ばれる)は、最初に再配置された系統的ビットSを格納することによって形成され、続いてインターレースされたP0およびP1部201が形成される。
【0019】
動作の所望のコードレートでは、送信のために選択されるコードビット数Ndesiredが計算され、入力として論理回路104に渡される。論理回路104は単に、シーケンスから連続的ビットの長さNdesiredのブロックを読出し、ある開始点から環状バッファ(環状バッファの最終ビットを超えた場合に最初に包み込まれる)を読出す。したがって、パンクチュアリングと反復は、単一方法を用いて達成されうる。環状バッファリング技術は、(達成されるコードレートにおける)柔軟性と、(ストリームサイズにおける)粒度とにおいて有利である。サブブロックインターリーバが適切に設計された場合、環状バッファレート整合は、動作の所望のコードレートに関わりなく、トレリス符号に渡ってほぼ均一に分布したパリティビットを選択する。
【0020】
図3は、送信機300のブロック図である。送信機300は、エンコーダ301とレート整合回路303を有する。レート整合回路303は更に、論理回路305とメモリ307を有する。論理回路305は好ましくは、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、または当業者に知られたその他の装置である。論理回路305の、つまり送信機300の詳細な動作/機能は、ソフトウェア命令とルーチンの一行によって決定される。メモリ307は、ランダムアクセスメモリ(RAM)と、ダイナミックランダムアクセスメモリ(DRAM)と、リードオンリメモリ(ROM)とのうち少なくとも一つまたは環状バッファとして使用されるそれらと均等な物を有する。エンコーダ301は好ましくは、レート1/3第3世代移動体通信システムの標準化プロジェクトのターボコーダであるが、しかしながら、ここで送信機300を動作させるために記述された技術は、他のコードレート、テールビットまたは非テールビットでターボ符号化を実行するターボコーダ、またはフィルタビット挿入等と共にまたはフィルタビット挿入無しでのテールビッティング、バイナリまたはデュオバイナリターボコーダを含むがそれに限らない他のエンコーダに適用されうる。
【0021】
動作中に、エンコーダ301は、系統的ビットストリームと2つのパリティストリームに対応する、3つのストリームを出力する。論理回路305は、エンコーダ301から出力されたストリームを受信し、各ストリームに個別にインターリーブするサブブロックを実行する。論理回路305はそれから、P0’とP1’とをインターレースする。単一出力バッファ307(環状バッファ)は、最初に再配置された系統的ビットSを格納することによって形成され、次にインターレースされたP0とP1が形成される。
【0022】
サブブロック再配置は、任意の交換器(permuter)でありうる。一般には、Nr行およびNc列の矩形インターリーバ(ブロックインターリーバとも呼ばれる)が、簡便のために使用される。各ストリームのストリームサイズKstreamは、矩形インターリーバのサイズNr×Nc(すなわちブロックがいっぱい)である場合、動作は直接的である。しかしながら、しばしばストリームサイズは、Nr×Nc未満であり、つまりNr×Nc−Kstreamであるため、ダミービットがブロックを充填させるのに必要とされる。
【0023】
環状バッファを形成するこの処理は、図4と図5において、各ストリームに挿入された4つのダミービット407とともに図示される。図4を参照すると、ダミービット407を加えた系統的ビット401は、ブロックインターリーブされることによって、順番の変えられた系統的ビットS 402を生成する。同様の方法において、(ダミービットを加えた)パリティビットP0’およびP1’403がインターリーブされることによって、パリティビットP0およびP1404を生成する。ダミービットがストリームに追加されることによって、各ストリームは、ブロックインターリーバで満たされる。P0およびP1は、インターレースされることによって、インターレース部である、インターレースされたP0およびP1部405を生成する。行列S 402と行列P0−1 405は、図5に示すように組み合わされ、バッファ307に格納される。バッファ307は、列方向から読出され、行列の先頭から開始する。上述の記載において、ダミービットはストリームの後に挿入されるが、いくつかの実施形態では、ダミービットはストリームの前に挿入されてもよい。
【0024】
送信機300の動作中に、送信用に選択されるコードビット数Ndesiredが計算され、論理回路305に渡される。論理回路305は単に、出力バッファ307から(出力バッファの最終ビットが超えた場合に最初に包み込まれる)連続的ビットの長さNdesiredのブロックを読出し、ある開始点から出力バッファ307を読出す。ハイブリッド自動再送要求(HARQ)動作では、パラメータ(リダンダンシバージョン(RV))が論理回路305に提供され、バッファ307内の開始点を明示することによって、バッファの異なるセクションが送信用に選択されうる。前方誤り訂正(FEC)は、1つの送信のみの場合にハイブリッド自動再送要求に等しいため、前方誤り訂正はまた、リダンダンシバージョン値とともに明示されうる。つまり、論理回路305はリダンダンシバージョン値と、送信用に選択されるコードビット数Ndesiredとを受信する。Ndesiredビットは、リダンダンシバージョンによって明示される位置から開始するバッファ307から読出される。これらのビットは典型的には、続く変調と送信のための送信機311への出力である。
【0025】
系統的ビットSの詳細なフォーマットと、インターレースされたP0およびP1は、説明の目的で上述され、且ついくつかの方法でフォーマットされてもよいことを記すべきである。たとえば環状バッファは、1次元のアレイを用いて表現されているが、数学的目的のために2次元行列形式を使用することはしばしば有用である。
【0026】
ダミービットが環状バッファに保持される場合、環状バッファは、ダミーパッド環状バッファと呼ばれる。ダミーパッド環状バッファのサイズは、入力ストリームサイズと、挿入されたダミービットの全数との合計に等しい。文脈から明らかになるように、ダミーパッド環状バッファは、図5に示すような行列形式または、図2に図示されるようなシーケンス形式(すなわち1次元アレイまたは1次元データストリーム)でありうる。ダミービットが除去された場合は、ダミー除去環状バッファと呼ばれる。ダミー除去環状バッファのサイズは、入力ストリームサイズの合計に等しい。同様に、ダミー除去環状バッファは、図6のようなどこでダミービットが除去されても不連続性が存在する行列形式、またはシーケンス形式に存在しうる。先行技術のリダンダンシバージョンは、ダミー除去環状バッファに渡ってほぼ均一に分布される。エンコーダ出力ストリーム中の正確なリダンダンシバージョンの開始位置が、各場合に非自明処理を用いて計算される必要があると、ダミー除去環状バッファは、ハイブリッド自動再送要求の各送信を実行することを困難にする。この問題に取り組むために、ダミーパッド環状バッファ307は、リダンダンシバージョンの開始位置を明示すべく使用されうる。
【0027】
以下の文章は、レート整合技術の続く記述において有用でありうる。
・Kinfoは、情報ブロックサイズ(またはメッセージパケット長)を参照する。
・KFECは、FECエンコーダによって支持された入力ブロックサイズを参照する(KFECは、バイナリターボコードのインターリーバサイズに等しく、且つデュオバイナリターボコードのインターリーバサイズの2倍に等しい)。
【0028】
・Kfilterは、FECエンコーダ用に支持された入力サイズを取得すべく、情報ブロックに追加されたフィルタビット数を参照する。Kfilter=KFEC−Kinfo.
・Kstream=Kは、ストリーム長として参照し、ストリーム長は、ターボコードにおいて使用されるトレリス終結法に応じるKFECよりもわずかに大きな量に等しい。第3世代移動体通信システムの標準化プロジェクトのターボコードでは、3つのストリームがあり、各長さKstream=KFEC+4は、系統的ビットからなる。それぞれ第1エンコーダと第2エンコーダからのパリティビットと、12のテールビットとは、3つのストリームに均一に分布する。
【0029】
・Nrは、環状バッファにおいて使用されるサブブロックインターリーバの行数を参照する。
・Ncは、環状バッファにおいて使用されるサブブロックインターリーバの列数を参照する。
【0030】
・Krect=Nr×Ncは、環状バッファにおいて使用されるサブブロックインターリーバの次元である。フィルタビットがレート整合アルゴリズムの一部として放棄された場合に、KrectはKFEC以上の値になるべく選択されうるが、一般に、Krectは、Kstream以上の値になるべく選択される。
【0031】
[リダンダンシバージョン(RV)の明示]
説明のために、サブブロックインターリーバが30列を有し、且つ8つのリダンダンシバージョンが明示される必要がある場合のケースを考えよう。このケースでは、図7のバッファは、均等に8つのリダンダンシバージョンに分割できない90列を有しうる。エンコーダ出力ストリーム中の各リダンダンシバージョン(RV)の開始位置を見つけることは困難である(RV0が常に環状バッファの最初から開始する場合のRV0を除く)。8つの均等に分布したリダンダンシバージョンが必要と仮定すると、ダミービット(すなわちダミー除去環状バッファ)を含まなければ、i番目のリダンダンシバージョンRViの開始位置は、Kstream×3/8×i、i=0,1,...7である(必要とあれば、ラウンド処理、床関数処理、または天井関数処理を通じて整数値にする)。代替的に、ダミービットがカウントされた場合に(すなわちダミーパッド環状バッファ)、i番目のリダンダンシバージョンRViの開始位置は、Nr×Nc×3/8×i=Nr×90/8×iである(必要とあれば、ラウンド処理、床関数処理、または天井関数処理を通じて整数値にする)。各場合において、均一に分布されたリダンダンシバージョンの開始位置が所望されるのであれば、7つのリダンダンシバージョンの開始位置はほぼ常に、Nr×90の矩形の中央に位置する。(解は、すべての7つのリダンダンシバージョンの開始位置を、Nr×30の先頭の行にし、それによってバッファ中にリダンダンシバージョンのわずかに均一でない分布をもたらすことである。)30列のサブブロックインターリーバが、第3世代移動体通信システムの標準化プロジェクトのLTE(Long Term Evolution)標準に適用される場合は、以下を記す。
【0032】
・リダンダンシバージョンの開始位置が格納されると、全部で188×7の開始点が格納される必要があり、メモリに負担をかける。188のQPPインターリーバサイズと、各サイズ用に格納される必要がある7つのリダンダンシバージョンがあることを記す。
【0033】
・リダンダンシバージョンの開始位置が急に(on the fly)計算された場合、系統的ビット又の矩形内またはパリティ0/パリティ1の矩形内のポイントの行列のインデックスを発見するために、2つの困難な処理がハードウェアにプログラムされる必要がある。たとえばリダンダンシバージョンが系統的ストリーム内のL番目のインデックスにおいて開始する場合、2つの処理は:
・列インデックスが0から開始すると仮定し、列インデックス=床関数[L/_Nr]を導出するための除算。床関数[x]は、実数xの床関数を示す。Ncが30に固定され、且つNrがたぶん2の乗数ではない場合、NrはKstreamとともに変化するので、除算はハードウェアにおいて自明ではない。
【0034】
・列インデックス=mod(L,Nc)=mod(L,30)を導出するための剰余。30は2の乗数ではないため、剰余処理もまた、ハードウェアにおいて自明ではない。
Nc=30を使用することは、大体において、リダンダンシバージョンの場所を示す困難の原因の一つとなった。代わりに、バッファ307の全列数を有することが好ましい。バッファ307の全列数は、リダンダンシバージョンの全数の倍数となるべきで、リダンダンシバージョンの全数の倍数は、リダンダンシバージョンを均等に分布すべく支持された(リダンダンシバージョンは依然として不均一に明示されうるが)。たとえばサブブロックインターリーバは、8つのリダンダンシバージョンが明示されるべき場合に、32列を使用しうる。しばしば、2cのリダンダンシバージョンが明示される必要がある。ここで、cは整数である。つまり、Nc=2dを使用することが便利である。ここで、dはc以上の整数である。更に複雑さを低減するために、且つダミービット量を最小化するために、システムの全てのブロックサイズにおいて同じ値dを使用することが望ましい。たとえば定数d=5(つまり、Nc=32列)が、第3世代移動体通信システムの標準化プロジェクトのLTE(Long Term Evolution)の全てのブロックサイズに使用されうる。
【0035】
加えて、ダミービットが、リダンダンシバージョンの開始位置を明示する前に、つまり、上述の除算と剰余のような複雑な処理をさける前に、廃棄されていない場合、均一に分布したリダンダンシバージョンは、常に構成要素のサブブロックインターリーバの列の最初(すなわち第1行)から開始するように、明示されうる。
【0036】
列間置換パターン={0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23,15,31}と共に、Nc=32のサブブロックインターリーバが使用される場合、全てのKstreamに、Kstreamと共に変化する行数である、Nr=天井関数[Kstream/Nc]=天井関数[Kstream/32]と共に、同じ列数が使用される。リダンダンシバージョンは一般に、ほぼ等しいセクションにバッファ307を分割する必要があるため、ダミー除去環状バッファが使用される場合、各ストリームサイズのリダンダンシバージョンの明示における不均一性をモデル化するのに、追加の計算費用が必要とされる。
【0037】
更に明確にするために、リダンダンシバージョン数が8であり、且つサブブロックインターリーバの列数NcがNc=32であり、且つ入力ストリームサイズがKstreamであり、且つ長さ32の列の置換が、SとP0とP1のサブブロックインターリーバに使用されるケースを考慮する。
【0038】
図6は、明示された8つのリダンダンシバージョンと、ダミー除去環状バッファ(すなわちダミービットを廃棄した後)を示す。いずれでダミービットが廃棄されたとしても、不連続性があることを記す。シーケンス形式のダミー除去環状バッファ(バッファ307において使用されうる)は、左の先頭の隅から前方に行列要素の列方向を読むことによって得られる。任意のリダンダンシバージョン値がレート整合ブロックに入力されるハイブリッド自動再送要求動作において、矩形中のリダンダンシバージョン分布における規則性の無さは、困難を引き起こす。リダンダンシバージョンの開始点の行列のインデックスは、ストリームサイズ(およびダミービット数)に基づき起算されなくてはならない。つまり、このことは複雑なハードウェアをもたらす。
【0039】
環状バッファでハイブリッド自動再送要求動作を簡単にする代替の方法は、次に記述する。この場合、図7に示すようにリダンダンシバージョンが明示された後に、ダミービットは廃棄される。実際、ダミービットは環状バッファ(ダミーパッド環状バッファ)に置かれ、そしてダミーパッド環状バッファのサイズは、8の倍数であるため、任意のストリームサイズKstream用に等間隔に配置された8つのリダンダンシバージョンを明示することが可能である。特に、8つのリダンダンシバージョンは、サブブロックインターリーバの先頭から開始するべく明示されうる。一般に、リダンダンシバージョンをサブブロックインターリーバの第1行(すなわち列の先頭)の任意の位置に割当てることは便利である。たとえば8つのリダンダンシバージョンは、図7(Nc=32)における以下の8列2,14,26,38,50,62,74,86の先頭から開始しうる。シーケンス形式のダミーパッド環状バッファにおける位置に関して記述した場合、リダンダンシバージョンは、
天井関数[Kstream/32]×(12×i+σ),i=0,1,...,7
で決まる位置から開始する。ここで、σは第1のリダンダンシバージョンRV(RV0)の開始位置の列インデックスを示す。
【0040】
前のリダンダンシバージョンの開始位置を知ることなく任意のリダンダンシバージョンから所望のコードビットを出力し始めることが簡単であるという意味では、このリダンダンシバージョンの明示は、ダミーパッド環状バッファにとってメモリレスであることを記す。ビットがダミーパッド環状バッファから読出される際に、ダミービットは廃棄される。全部の列数が支持されたリダンダンシバージョンの全数の倍数ではない場合でも、たとえば8つのリダンダンシバージョンであってNc=30である場合でも、リダンダンシバージョンは、それでも90列のうちの任意の8列の先頭から開始すべく明示されうる。
【0041】
上述の議論において、リダンダンシバージョンの開始位置を明示する簡単な方法として列の先頭が使用されるが、他の便利な位置もまた使用されうる。たとえばリダンダンシバージョンの開始位置は全て、ダミーパッド環状バッファの特定行rに位置する。ここで、0<r<Nrである。
【0042】
ダミーパッド環状バッファに渡ってリダンダンシバージョンを明示するための正当化は以下に与えられる。
・各ストリーム(または、サブブロックインターリーバ)の置換は、Krect=Nr×Ncのダミービットを含む矩形アレイとして記述される。
【0043】
・Krect=Nr×Ncの場合に、各ストリームのビットは、矩形の行方向に書き込まれ、列方向から読出される(列の置換後)。
・Krect<Nr×Ncの場合に、各ストリームのビットは、矩形の行方向に書き込まれ、列方向から読出され、そしてNr×Nc―Kstreamダミービットはパッド化され、完全に矩形を満たす。チャネルへの送信前に、ダミービットは消去されるかまたは「取り除かれる」。
【0044】
・矩形が満たされた場合(ダミービットが使用されるか否かにかかわらず)、各ストリームの置換は、閉じた式を有し、このことは、逆置換を決定することが容易であることを意味することを記すべきである。逆置換を決定するのが容易な場合、したがって、特定リダンダンシバージョンに対応するエンコーダ出力ストリームにおける位置を決定することが容易である。矩形が部分的に満たされた場合(ダミービットが無く、Kstream<Nr×Nc)、各ストリームの置換は閉じた式を有さない。この場合に、逆置換を決定するのは困難であり、したがって、特定リダンダンシバージョンに対応するエンコーダ出力ストリームにおける位置を決定することも困難である。
【0045】
説明の簡単化のために、上記の議論において、たとえばメモリに環状バッファのビットを格納することによって、環状バッファ307(ダミー除去またはダミーパッド)が物理的に形成されたと仮定する。ハードウェア実施には、物理環状バッファ307を形成することなく所望出力ビットを直接生成する仮想環状バッファ概念を利用することがより良い。換言すると、レート整合機能性は、中間記憶媒体無しで満たされる。この概念は図8に示される。
【0046】
全体の物理環状バッファ形成処理を経なければならないことなく物理環状バッファの所望部分を簡単に生成する代数的規則を発見することによって、物理環状バッファを形成する中間ステップは避けられうる。
【0047】
仮想環状バッファにおいて、レート整合アルゴリズムは、入力パラメータ(リダンダンシバージョン数と入力サイズ)に基づき、アドレスジェネレータを適切開始値に初期化する。それから、入力ストリームのサブブロック置換によって記述されたように、レート整合アルゴリズムは、アドレス生成規則に従うことによって、ビット出力を直接開始する。アドレス生成規則は、ビットが出力されるエンコーダ出力ストリームにおける位置のシーケンスを明示する。
【0048】
仮想環状バッファは、ダミーパッド環状バッファとダミー除去環状バッファとして、動作されうる。しかしながら、ダミー除去環状バッファが使用される場合、リダンダンシバージョンは、図6に示されるように環状バッファにおける(行列形式における)どこからでも開始しうる。したがって、そのようなシナリオにおいて、リダンダンシバージョンの開始点は、明確に格納される必要がありうる。つまりメモリに負担をかけうる。代替的に、リダンダンシバージョンの開始点は、各場合用に導出されうるが、仮想環状バッファにおけるアドレス初期化は、ハードウェアにおいて実施するには複雑となる。
【0049】
対照的に、ダミーパッド環状バッファを利用する際に仮想環状バッファを動作させるために、リダンダンシバージョンはサブブロックインターリーバの列の先頭から開始し、したがって、仮想環状バッファ動作におけるアドレス初期化は、より効率的となる。アドレスジェネレータがダミービットを示すときはいつでも、アドレスジェネレータはビットを出力することなく、自動的に前進する。
【0050】
[第1ステージレート整合とのリダンダンシバージョン]
受信機が限られたソフトバッファサイズを有する際に、第1ステージレート整合技術は必要とされうる。第1ステージレート整合において、送信機は受信機のソフトバッファ容量の知見を有していて、それ故、受信機のソフトバッファ容量に格納されうる量以下のコードビットのみを送信することが許可される。
【0051】
最大ソフトバッファサイズは、環状バッファによってレート整合に特定の制限を課す。特に、各コードブロックの環状バッファは、図9に示すように更に制限されうる。この場合、環状バッファにおける取り囲みは、環状バッファの終端よりも早い点において発生しうる。
【0052】
一般に、ターボコーダへの入力(転送ブロックまたは連結された転送ブロック)がターボインターリーバによって支持された最大サイズよりも大きい場合、転送ブロック(TB)は複数のコードブロックセグメントにセグメント化され、セグメントの各々は個別にターボエンコード化され、且つレート整合される。つまり、パイプライン型動作が可能となる。したがって、転送ブロックの各セグメントは、それ自身の環状バッファ(または仮想環状バッファ)を有しうる(各セグメントに物理環状バッファを生成する必要はないことを記す)。NIRはハイブリッド自動再送要求処理毎のトータルのソフトバッファサイズであると仮定しよう(あるいは1つの転送ブロックに対応する最大バッファサイズと仮定する)。
【0053】
レート整合がコード名ごと(すなわちセグメントごと)に実行される場合、第1ステージレート整合は、もし含まれるのであれば、コード名ごと(セグメントごと)に実行されるであろうことが好ましい。各コード名(またはセグメント)の環状バッファのサイズは、NCWに限定される。ここで、NCW<3×Kstreamであり、3×Kstream=3×Kinfo+12は、第1ステージレート整合の前の(セグメント毎の)完全な環状バッファのサイズである。NCW>3×Kstreamの場合、(セグメント毎の)第1ステージレート整合は透明であることを記す。(全ての転送ブロックからの)全てのコード名のサイズNCWの合計は、NIrを超えることができない。ここで、NIRは、全ての転送ブロックのソフトバッファサイズである。NIRを第1ステージレート整合アルゴリズムへの入力とみなす代わりに、LTE(Long Term Evolution)におけるコード名あたりの第1ステージレート整合は、NCWを入力とみなすことができる。
【0054】
第1ステージレート整合のオプションは以下を含みうる:
1.バッファサイズを、UE(User Equipment)クラスの設定最大値に限定する。(全ての転送ブロックにおいて、与えられたTTI(Transmission Time Interval)の全てのコード名。UE(User Equipment)クラスは、第3世代移動体通信システムの標準化プロジェクトと第3世代移動体通信システムの標準化プロジェクトのLTE(Long Term Evolution)における送受信機容量のセットである。)転送ブロック毎とコード名毎の制限をスケーリングを通じてNIRから決定する。たとえばNCW=床関数[NIR/C]である。ここで、Cは連結された転送ブロックのターボコード名の数であり、コードブロックセグメンテーションルールによって決定される。コードブロックセグメンテーションルールと同様の方法によって、コード名毎の制限を決定することが可能である。
【0055】
2.バッファをUE(User Equipment)クラスの設定最大値N’IRに制限する(転送ブロック毎の制限を設定する)。スケーリングを通じて、この最大値からコード名毎の制限を決定する。
【0056】
3.バッファをUE(User Equipment)クラスのコード名毎の設定最大値に制限する。
これら3つのオプションと共に、コード名毎の制限は、(個別のセグメントの)仮想環状バッファから全ての列を消去することによって、明示されうる。
【0057】
リダンダンシバージョンの明示には、選択は以下を含む:
スキーム1.可能なリダンダンシバージョンのサブセットのみを許可する。YのリダンダンシバージョンY RVが、第1ステージレート整合無しに(すなわち第1レート整合が透明で)明示される場合、第1ステージレート整合が透明でないとき、Y’<=Yであるときに、Yが利用できるリダンダンシバージョンの中からのY’のリダンダンシバージョンY’RVは保持されうる。たとえばリダンダンシバージョンRV−i,i=0,1,...,Y’―1が使用される場合、RV−Y’の開始点はNCW未満である。
【0058】
スキーム2.Yのリダンダンシバージョンのフルセットが、許可された最大環状バッファのサイズ内において利用可能となるように、リダンダンシバージョンを再明示する。リダンダンシバージョンが、挿入されたダミービットと共に環状バッファの列の先頭から開始するように、リダンダンシバージョンを再明示する。リダンダンシバージョンRV 0は、全てのUEクラスにとって同じ位置から開始するように、系統的ビットパンクチャリング量は不変である。たとえば(第1ステージレート整合の前に3×Ncの列を含む)ダミーパッド環状バッファNcolが、第1ステージレート整合後に保持されている場合、YのリダンダンシバージョンY RVは、床関数[(Ncol−2)/Y]×i+2,i=0,1,...,Y−1の列インデックスの列の先頭から開始しうる。
【0059】
効果的なハイブリッド自動再送要求動作の転送ブロック毎の単一のリダンダンシバージョンを信号で伝えることが好ましいが、リダンダンシバージョンの開始点はまた、コード名毎の原理に基づいて明示されうる。
【0060】
[系統的ビットパンクチャリング]
上記で議論したリダンダンシバージョンの明示は、系統的パンクチャリングと呼ばれる性能改善技術を提供すべく、改善されうる。
【0061】
部分的系統的ターボコードは、系統的ターボコードよりも効率が良くなりうることが、文献では知られている。一つの単純な説明は、系統的ターボコードが部分的系統的ターボコードのサブセットであることである。しかしながら、WCDMAターボ符号化またはCDMA2000ターボ符号化といったワイヤレス標準が存在する場合、系統的ビットパンクチャリングは、レート整合アルゴリズムにおいて使用されない。この主な理由は、効率的な符号化レートが高いときに、リダンダンシバージョンRV0における送信が自己復号可能であることが好ましいからである。
【0062】
系統的ビットパンクチャリングは、パリティビットの過剰なパンクチャリングを避けるために使用される。さもなければ、パリティビットの過剰なパンクチャリングは、より高い符号化レートにおいて質の悪い最小距離をもたらし、したがって性能を劣化させるおそれがある。
【0063】
第3世代移動体通信システムのような通信システムにおいて、符号化レートはおそらく、5/6と同じかそれよりも高くなりうる。したがって、そのようなシステムは、系統的ビットのパンクチャリングの小さな比を扱うことができるべきである。そのような部分的系統的コードは、依然として自己復号可能であることを記す。ブロックサイズKinfoのターボコードにおいて、ΔK(R)は、コードレートRにおいてパンクチャされた系統的ビットの比を意味することとする。
【0064】
レート整合の設計における一つの課題は、KinfoとコードレートRの全ての正当な組み合わせの系統的ビット比ΔK(R)の最適値を発見することである。系統的ビット比ΔK(R)が決定された後に、系統的ビットパンクチャリングを含むべく、環状バッファは再構成されうる。図10に示すように再構成には多くのオプションがある。系統的ビットパンクチャリングの議論において、シーケンス形式の環状バッファはこの技術を説明すべく使用される。そして、環状バッファは、ダミーパッド環状バッファまたはダミー除去環状バッファでありうる。以下の例において、マザーコードレートは1/3であり、且つビットは常に環状バッファの第1ビットから連続的に開始するように選択されると仮定する。既述したように、Kinfoは情報ブロックサイズであり、Kstreamはストリーム長である。
【0065】
1.図10のオプション1は、シーケンス形式の通常の環状バッファを記述する。ここでは、全ての系統的ビットがまず送信され、いくつかのパリティビットまたは全てのパリティビットが次に送信される。
【0066】
2.図10のオプション2は、通常の環状バッファとして同じビットを含むが、環状バッファは修正される。いくつかの系統的ビット(SA)は、環状バッファの系統的な部分から選択され、バッファの最後に配置される。したがって、第1送信において、系統的ビットSAの系統的ビットは、多くのコードレートにおいてパンクチャされる。単にリダンダンシバージョンRV0の開始時に、環状バッファの最初に関連したオフセットを有する位置に配置することによって、オプション2はまた達成されうる。このオフセットは、必要な系統的ビットパンクチャリング量に基づいて、決定されうる。コードレートR>=Kinfo/(3×L−SA)である場合、系統的ビットSAは常にパンクチャされる。
【0067】
3.オプション3は、環状バッファが修正されるオプション2と同じである。しかしながら、環状バッファの系統的部分から選択された系統的ビット(SA)は、パリティストリームからXビット後のバッファに配置される。したがって、第1送信において、いくつかの系統的ビットは、多くのコードレートにおいてパンクチャされる。コードレートR>=Kinfo/(SB+X)である場合、SAの系統的ビットは常にパンクチャされる。
【0068】
a.コードレートK/(SB+X)>R>Kinfo/(SB+X+SA)から、SAにおける系統的ビットの各部はパンクチャされる。
b.Kinfo/(SB+X+SA)>=Rの場合、全ての系統的ビットが送信される。
【0069】
4.オプション4は、環状バッファが修正されるオプション3と同じである。しかしながら、環状バッファの系統的部分から選択された系統的ビット(SA)は、特定領域におけるバッファに分布する。したがって、第1送信において、系統的ビットのいくつかは、多くのコードレートにおいてパンクチャされる。オプション4は、環状バッファの設計においてより柔軟性を可能とし、系統的パンクチャリング比ΔK(R)を最適化する。たとえばSAにおける系統的ビットは、領域内に均等に分布されうる;または、系統的ビットは、領域内の系統的ビットの増加中の密度に配置される。または、系統的ビットは、領域内の系統的ビットの減少中の密度に配置される。
【0070】
上述のオプションの他の変化も存在する。たとえばSAにおける系統的ビットは、系統的ストリームS’にインターリーブされたサブブロックの先頭ではなく、むしろS’の中央またはS’の最後に配置されうる。SAにおける系統的ビットはまた、x>1である系統的ストリームS’のxビット毎の1ビットのように、系統的ストリームS’の不連続な場所から選択されうる。
【0071】
新たな修正が、環状バッファの形成後に実行される追加ステップとして示されたが、このステップは、直接環状バッファの明示に組み合わされうる。
異なるオプションは、異なる複雑さ/性能のトレードオフを有する。系統的ビットパンクチャリングが、ほぼ1/3に近い全てのレート用に固定されると、オプション2は好ましくないかもしれない。LTE(Long Term Evolution)にとって、3/4または5/6といった高レートには、5%付近の系統的ビットパンクチャリングが好ましいが、0%の系統的ビットパンクチャリングは2/3または1/2といった低いコードレートにとって好ましいことを、シミュレーションは提案する。したがって、そのような理由によって影響されるように、系統的ビットをバッファの部分に配置することが好ましい。代替的に、系統的ビットパンクチャリングをオフにすべく、低いコードレートにおいてRV7を使用することが提案されている。
【0072】
議論は、第1送信(つまり前方誤り訂正)のレート整合設計に焦点を合わせているが、ハイブリッド自動再送要求に関連して情報ブロック毎の複数の送信と共に、同じ再構成された環状バッファも使用されうる。再構成された環状バッファの異なるセクションを選択することによって、ハイブリッド自動再送要求の異なるリダンダンシバージョンが取得されうる。ここで、セクションサイズは、現在の物理チャネル送信に必要な長さと等しい。特に、YのリダンダンシバージョンRVが必要とされる場合、再構成された環状バッファにおいてYを異なる開始点(A0,A1,...,AY−1)に明示する簡単な方法は、リダンダンシバージョンの一つである。i番目のリダンダンシバージョンRViでは、ビットは、Aiからmod(Ai+Ntx,NCB)に選択される。mod(A,B)は、A/Bの剰余である。ここで、i=0,1,...,Y−1であり、Ntxは送信に必要なビット数であり、NCBは環状バッファ長である。換言すると、Ntxビットは、位置Aiから開始すべく読み込まれ、バッファが最終に到達した場合に、環状バッファの最初に包み込む。与えられた情報ブロックでは、Ntxは各送信において異なってもよい。
【0073】
[系統的パンクチャリングによるリダンダンシバージョンの明示]
前述のaと、ダミーパッド環状バッファに基づくリダンダンシバージョンの明示と、前述のbとを組み合わせると、改善されたレート整合設計は以下の優位性を有する。ここで、Nc=32とマザーコードレート1/3(すなわちターボエンコーダ101からの3つのストリーム)を説明のために使用すると:
・リダンダンシバージョンの明示を簡便にすべく、環状バッファにダミービットが含まれる(すなわちダミーパッド環状バッファ)。
【0074】
・ハイブリッド自動再送要求の再送信用に、各リダンダンシバージョンを開始することが簡単となる。たとえば行列形式の環状バッファにおけるサブブロックインターリーバ列の先頭(つまり、第1行)から開始すべく、リダンダンシバージョンは明示される。より詳細には、
8つのリダンダンシバージョンが明示される必要がある場合は、i番目のリダンダンシバージョンRViは、シーケンス形式のダミーパッド環状バッファにおける位置Nr×(Nc×3/8×i+σ)=Nr×(12×i+σ)=天井関数[Kstream/32]×12×i+σ),i=0,1,...,7から開始する。行列形式では、RViは、12×i+σ番目の列の先頭から開始する。
【0075】
4つのリダンダンシバージョンのみが明示される場合は、各リダンダンシバージョンは、24×i+σ番目の列(σ=2)の先頭から開始する。同等に、シーケンス形式において、RViは、ビット位置Nr×(Nc×3/4×i+σ)=Nr×(24×i―σ)=天井関数[Kstream/32]×(24×i+σ),i=0,1,...,3から開始する。
【0076】
σ=0の場合(3×Ncの剰余)、i=0のリダンダンシバージョンRV0は、環状バッファの先頭から開始する。つまり、系統的ビットパンクチャリングはない。3つのストリーム(すなわちマザーコードレート1/3)では、σを0(3×Ncの剰余)よりも大きい値に設定することによって、系統的ビットパンクチャリングはONにされうる。つまり、RV0のビットを読出す際に、系統的ビットの小さい比を省略する。換言すると、i=0のリダンダンシバージョンRV0(第1リダンダンシバージョン)は、σ番目の列の先頭から開始すべく明示される。ここで、σはオフセット列数である。このことは、図11に示される。たとえばRV0は、σ=2に設定することによって、列#0の代わりに列#2から開始すべく明示されうる。σの他の値もまた、考慮されうる。
【0077】
上記で議論された改善設計は、いくつかの変化を有してもよい。変化のいくつかは以下に従う:
・32列が提案された設計に使用されているが、他の値、特に8,16,64または128のような2の乗数がNcとして使用されうる。
【0078】
・設計例では特定の列置換が使用されているが、他の置換もまた、列を置換すべく使用されうる。
・2以上のNcがレート整合設計において使用される場合、各Ncは多数のインターリーバサイズ用に使用されうる。
【0079】
・サブブロックインターリーバは、全てのストリームにおいて同じでなくてもよい。たとえばサブブロックインターリーバは、系統的ストリームとパリティ1のストリームの両方において同じとなりうる。しかし、パリティ2のストリームのサブブロックインターリーバは、異なっていてもよい。
【0080】
・記述の簡単化のために、リダンダンシバージョンはサブブロックインターリーバの列の先頭から開始すべく明示されているが、リダンダンシバージョンはまた、ダミーパッド環状バッファにおける他の便利な場所から開始すべく明示されうる。たとえば全てのリダンダンシバージョンは、0<r<Nrである構成要素のサブブロックインターリーバの同じ行rから開始しうる。
【0081】
[第1ステージレート整合と系統的パンクチャリングでのリダンダンシバージョンの明示]
系統的パンクチャリングと第1ステージレート整合の両方が使用される場合、以下の要求を満たすべく、リダンダンシバージョンの明示は修正される必要がありうる:
・環状バッファにダミービットを含むこと(すなわちダミーパッド環状バッファ)によって、リダンダンシバージョンの明示を簡単にすること。
【0082】
・ハイブリッド自動再送要求の各リダンダンシバージョン用のアドレス生成開始を簡単にすること。たとえば行列形式の環状バッファにおいて、リダンダンシバージョンは、サブブロックインターリーバの列の先頭(すなわちサブブロックインターリーバの列の第1行)から開始すべく明示されうる。
【0083】
・第1ステージレート整合の後に、リダンダンシバージョンの開始位置を、環状バッファの制限の範囲内に保持すること。
系統的パンクチャリングと第1ステージレート整合の両方が使用される場合、実施は以下に説明されうる。まず、短縮化された環状バッファを形成すべく、1以上の列を環状バッファから(好ましくは、仮想環状バッファの最終列から)消去することによって、第1ステージレート整合は達成される。つまり、短縮化された環状バッファの始点に関連するオフセットの位置から開始すべく、第1リダンダンシバージョンを明示することによって、系統的ビットはパンクチャされうる。換言すると、系統的サブブロックインターリーバのサブブロックインターリーバに位置する特定のゼロではない列数においてi=0でのリダンダンシバージョンRV0を明示することによって、系統的ビットパンクチャリングは達成されうる。上述のステップはまた、直接組み合わされうることを記す。再び、第1ステージレート整合が、コード名毎(またはセグメント毎)の原理に適用されるべく、考慮されうる。便宜上、短縮された環状バッファはまた、第1ステージレート整合が適用された後に、環状バッファと呼ばれる。この区別は、文脈から明確にされるべきである。
【0084】
たとえば8つのリダンダンシバージョンが基準として使用される場合(第1ステージレート整合がない場合)、第1ステージレート整合においてリダンダンシバージョンを明示するために、以下のオプションが利用可能である。
【0085】
・リダンダンシバージョンの明示スキーム1では、8つのリダンダンシバージョンの開始位置は保持されうるが、必ずしも常に使用されるわけではない。環状バッファの範囲(0<j<NCW−1)に位置する最初のリダンダンシバージョンの開始位置のみが許可されうる。このことはまた、以下の条件を用いて、記述されうる。Nr×σ<=Nr×(12×i+σ)<NCW−1のRV−iのみが使用されると、いくつかの場合において8つのRVよりもおそらく少ない結果をもたらす。インデックスiの最後の許可されたリダンダンシバージョンRVは、つまり床関数[((NCW−1)/Nr―σ)/12]である。
【0086】
・リダンダンシバージョンの明示スキーム2では、8つのリダンダンシバージョンは依然として(全ての場合において)必要とされる。次に、リダンダンシバージョンの開始位置は、Nr×(C×i+σ),i=0,1,...,7となりうる。ここで、CはNr×(C×i+σ)<=NCW−1となる最大整数である。換言すると、C=床関数[((NCW−1)/Nr−σ)/7]である。
【0087】
上記の議論において、Cは2つの隣接したリダンダンシバージョン間の列数を示し、Yは明示されたリダンダンシバージョン数である。
リダンダンシバージョンの他の数(たとえば4)が第1ステージレート整合の前に明示される場合に、同様のリダンダンシバージョンの修正が適用されうる。たとえば4つのリダンダンシバージョンが基準として使用される場合(第1ステージレート整合がない場合)、第1ステージレート整合におけるリダンダンシバージョンを明示するために、以下のオプションが利用可能である。
【0088】
第1ステージレート整合なしに、シーケンス形式のダミーパッド環状バッファにおける位置Nr×(Nc×3/4×i+σ)=Nr×(24×i+σ),i=0,1,2,3からRV−iは開始する。第1ステージレート整合が使用された後に、環状バッファは位置jのビットを含む。ここで、0<j<NCW−1である。
【0089】
・リダンダンシバージョンの明示スキーム1では、4つのリダンダンシバージョンの開始位置が保持され、次にNr×2<=Nr×(24×i+σ)<=NCW―1であるRV−iが使用されると、いくつかの場合において4つのRVよりもおそらく少ない結果をもたらす。
【0090】
・リダンダンシバージョンの明示スキーム2では、4つのリダンダンシバージョンは依然として必要であり、それからリダンダンシバージョンの開始位置は、Nr×(C×i+2)となりうる。ここで、Cは、Nr×(C×i+σ)<=NCW−1となる、最大整数である。
【0091】
図12は、図3の送信機の動作を示すフローチャートである。特に、図12の論理フローは、リダンダンシバージョンを環状バッファ307に割当てるステップと、環状バッファ307からのビットの次の送信とを示す。論理回路305が、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信するステップ1201において論理フローが始まる。これらのビットは、エンコーダ301からの出力である。上記で議論したように、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとの全ては、ダミービットを有する。論理回路305は、インターリーバ309を用いて、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを、個別にブロックインターリーブする(ステップ1203)。ステップ1205において、論理回路305は、パリティビットの第2ブロックと共に、パリティビットの第1ブロックをインターレースし、且つインターリーブされた系統的ビットを、インターレースされたパリティビットの先頭に付け加えることによって、環状バッファ307を生成する。ステップ1207において、論理回路305は次に、環状バッファの特定行のリダンダンシバージョンを明示する。本発明の1実施形態では、特定行は、環状バッファの先頭の行を有する。たとえば8または4のサブブロックインターリーバの列の先頭の行を有する。論理回路305は、リダンダンシバージョンと所望ビット数を受信し(ステップ1209)、そして送信機に、リダンダンシバージョンのビット位置から開始する所望ビット数を出力する(ステップ1211)。
【0092】
図13は、図3の送信機の動作を示すフローチャートである。特に、図13の論理フローは、リダンダンシバージョンを仮想環状バッファに割当てるステップと、仮想環状バッファからのビットの次の送信とを示す。論理回路305が、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信するステップ1301において論理フローが始まる。上記で議論したように、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとの全ては、ダミービットを有する。論理回路305は、インターリーバ309を用いて、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを、個別にブロックインターリーブする(ステップ1303)。ステップ1305において、論理回路305は、パリティビットの第2ブロックと共に、パリティビットの第1ブロックをインターレースし、且つインターリーブされた系統的ビットを、インターレースされたパリティビットの先頭に付け加える。ステップ1307において、論理回路305は次に、データストリームのビット位置に対応するリダンダンシバージョンを明示する。ここで、全ての可能なリダンダンシバージョンは、天井関数[Kstream/32]×(13×i+σ),i=0,1,...,7の位置にあり、ここで、σは、第1リダンダンシバージョンRV(RV0)の開始位置の列のインデックスを示す。データストリームは、インターリーブされた系統的ビットと、インターリーブされたパリティビットのインターレースされた第1ブロックと、インターリーブされたパリティビットのインターレースされた第2ブロックとを有する。論理回路305は、リダンダンシバージョンと、所望ビット数とを受信し(ステップ1309)、送信機に、リダンダンシバージョンのビット位置から開始する所望ビット数を出力する(ステップ1311)。
【0093】
発明は、詳細な実施形態を参照して、詳細に示され且つ記述された一方、形式と詳細における様々な変化がここで、本発明の精神と範囲から逸脱することなくなされうることを、当業者は理解するであろう。
【0094】
一例では、手順が説明されているが、ダミービットはストリームに加えられなくてもよく、後に環状バッファから除去されなくても良い。むしろ、アドレスを適切に生成するような他の方法によっても同じ効果が実現される。
【0095】
他の例では、環状バッファの特定行(たとえば列の先頭)からリダンダンシバージョンを開始することも、ダミービットが存在しつつ、各ストリームのサブブロックインターリーバの特定行からリダンダンシバージョンを開始することと等価になりうる。環状バッファにおけるリダンダンシバージョンの開始点を明示することは、他の実施にとってより便利になりうる一方で、開始点をサブブロックインターリーバの位置にマッピングすることは、特定の実施にとってはより便利でありうる。
【0096】
そのような変化は、本発明の請求の範囲になるように意図される。
【技術分野】
【0001】
本発明は概して通信システムに関し、詳細にはリダンダンシバージョン(Redundancy Version)を、通信システム内の環状バッファに割当てる方法および装置に関する。
【背景技術】
【0002】
通信システムにおいて、エラー制御方法は、チャネルを通して送信中に障害から信号を保護すべく使用される。そのようなエラー制御技術の一部として、コード名が各情報ブロックに生成される。無線通信レートに整合すべく、物理チャネルを通して送信される前に、コード名はレート整合アルゴリズムを介してサイズ変更される。レート整合アルゴリズムは、コード名のパンクチュアリングまたはコード名の反復を介して、チャネルを通して送信される所望ビット数を提供する。レート整合アルゴリズムは、そのアルゴリズムがシステム性能と実施効率に大いに影響するという点で、重要である。
【0003】
システムが前方誤り訂正(FEC)のみを使用する場合、与えられた情報ブロックには単一の送信のみが必要とされ、レート整合アルゴリズムは、コード名の一つのバージョンのみを提供する。システムがハイブリッド自動再送要求(HARQ)処理を使用する場合、与えられた情報ブロックには複数の送信が必要とされる場合があり、レート整合アルゴリズムはコード名の異なるバージョン(たとえばインクリメンタル・リダンダンシハイブリッド自動再送要求)を提供すべく義務づけられうる。ハイブリッド自動再送要求は、単一の送信のみが情報ブロックに使用される場合、前方誤り訂正に退化する。
【0004】
レート整合アルゴリズムを実行する一つの方法は、システムが直面しうる各情報ブロックサイズとコードレートのパンクチュアリング/回復パターンを定義することである。しかしながら、この方法は柔軟性がない。更に、3GPP(第3世代移動体通信システムの標準化プロジェクト)通信システムにおいてのように、システムが数千もの情報ブロックサイズと、数千ものコードレートの組み合わせとを含む場合は、この方法は実用的ではない。
【0005】
レート整合アルゴリズムを実行する他の方法は、一つずつコード名ビットを通る規則を定義し、且つコード名ビットがパンクチャード(除去)されるべきか否かまたは繰り返されるべきか否かを判定することである。このような方法は、柔軟性の利点があり、3GPP(第3世代移動体通信システムの標準化プロジェクト)リリース99において定義される。しかしながら、そのような方法は、実施効率の悪さに悩まされる。更に、与えられた情報に関連する送信がインクリメント・リダンダンシハイブリッド自動再送要求に重ならない(すなわち直交する)ことを保証する方法がない。つまり、システム性能に弱点がありうる。
【0006】
代替的に、レート整合アルゴリズムに基づく環状バッファは、実施の複雑さを少なくした良い性能を提供すべく、設計されうる。この方法において、コード名ビットは環状バッファを形成すべく再配置される。Ndesiredコードビットが送信に必要な場合、連続ビットの長さNdesiredのブロックは、環状バッファ(環状バッファの最終ビットに到達する場合、最初のビットに包み込まれる)から取り出される。したがって、パンクチュアリングと回復は、単一の方法を用いて達成されうる。環状バッファ技術は、柔軟性、性能、実行の点において、有利である。
【0007】
ハイブリッド自動再送要求処理において異なるコード名バージョンを実現すべく、リダンダンシバージョン(RV)のようなパラメータが、レート整合アルゴリズムに基づく環状バッファへの入力として使用されうる。リダンダンシバージョンは、送信のコード名の一部を選択すべく、環状バッファ内の開始点を明示しうる。
【発明の概要】
【発明が解決しようとする課題】
【0008】
先行技術では、リダンダンシバージョンの正当な開始位置は、再配置後にコード名ビットのシーケンスを含む環状バッファに渡って均一に配置される。この均一な配置は、ハイブリッド自動再送要求の各送信の実施を困難にする。したがって、リダンダンシバージョンを通信システム内の環状バッファに割当てる方法と装置の必要性が存在する。この通信システムは、レート整合アルゴリズムに基づき環状バッファの効率を改善することが期待される。
【課題を解決するための手段】
【0009】
上述の必要性に取り組むべく、通信システム内の環状バッファにリダンダンシバージョンを割当てる方法と装置が、ここに提供される。動作中、環状バッファが生成される。そこでは、リダンダンシバージョンのみが、構成要素のサブブロックインターリーバの最初(すなわち第1行)から開始すべく、明示される。たとえば8つのリダンダンシバージョンの全てによって、リダンダンシバージョンは、
天井関数[Kstream/32]×(12×i+σ),i=0,1,...,7
で決まる位置に配置される。ここで、σは第1リダンダンシバージョンRV0のサブブロックインターリーブ列のインデックスを示す。天井関数[x]は、実数xの天井関数を示す。
【0010】
上述のようにリダンダンシバージョンの位置を明示すると、ハイブリッド自動再送要求の実施が容易になる。より詳細には、本技術は、メモリレスのリダンダンシバージョンの明示を可能にする。このメモリレスのリダンダンシバージョンの明示は、環状バッファレート整合(RM)によって入力ブロックサイズの多くを支持するのに有用である。特に、上述のリダンダンシバージョンの配置は、仮想環状バッファを可能にする(すなわち物理環状バッファは、実施されない)。この仮想環状バッファの実施は、所望ビット数が、環状バッファの任意のリダンダンシバージョンから開始するエンコーダ出力ストリームから直接選択されることを可能にする。
【0011】
本発明は、リダンダンシバージョンを環状バッファに割当てる方法を含む。本方法は、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信するステップを有する。系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとは全て、ダミービットを有する。パリティビットの第1ブロックと、パリティビットの第2ブロックは、独立にインターリーブされたブロックであり、パリティビットの第1ブロックは、パリティビットの第2ブロックにインターレースされることによって、インターレースパリティビットを生成する。インターリーブされた系統的ビットは、インターレースされたパリティビットの先頭に追加されることによって環状バッファを生成し、その結果、リダンダンシバージョン(RV)は、環状バッファの特定行から開始すべく明示される。リダンダンシバージョン(RV)と所望ビット数が受信されると、所望ビット数は、リダンダンシバージョンのビット位置において開始する出力となる。
【0012】
本発明は、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを出力するエンコーダを有する装置を含む。レート整合回路は、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信すべく、且つダミービットを有する環状バッファを生成すべく、提供される。環状バッファの特定行は、リダンダンシバージョンとして使用され、レート整合回路は、環状バッファから特定リダンダンシバージョンにおいて開始する送信機へと出力する。最終的に、送信機回路は、非ダミービットを受信し、且つ非ダミービットを送信すべく提供される。
【0013】
最終的に、本発明は、各々の長さがKstreamの系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを出力するエンコーダを含む装置を有する。装置は加えて、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信するための、且つ系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとをインターリーブするためのレート整合回路を有する。論理回路は、データストリーム内の位置に対応するリダンダンシバージョンを明示すべく提供される。その位置では、データ出力が開始される。8つのリダンダンシバージョンが使用される際、リダンダンシバージョンは、
天井関数[Kstream/32]×(12×i+σ),i=0,1,...,7
で決まる位置に配置される。ここで、σは第1リダンダンシバージョンRV0のサブブロックインターリーブ列のインデックスを示す。ストリームは、インターリーブされた系統的ビットと、パリティビットのインターリーブされ且つインターレースされた第1ブロック、およびパリティビットのインターリーブされ且つインターレースされた第2ブロックとを有する。最終的に、送信回路は、特定リダンダンシバージョンから開始するため、且つ非ダミービットを送信するため提供される。
【0014】
以下の図では、部材番号が構成要素を特定する。
【図面の簡単な説明】
【0015】
【図1】先行技術の送信機のブロック図。
【図2】インターリーブされ且つインターレースされたサブブロック図。
【図3】本発明の送信機のブロック図。
【図4】インターリーブされ且つインターレースされたサブブロック図。
【図5】インターリーブされ且つインターレースされたサブブロック図。
【図6】マトリックス形式で示されるダミー除去環状バッファ。
【図7】ダミービットを有するリダンダンシバージョン環状バッファ。
【図8】仮想環状バッファの使用。
【図9】環状バッファリングとの第1ステージレート整合。
【図10】系統的ビットパンクチュアリング。
【図11】環状バッファ内の系統的ビットの小部分のスキッピング。
【図12】図3の送信機の動作を示すフローチャート。
【図13】図3の送信機の動作を示すフローチャート。
【発明を実施するための形態】
【0016】
図1と図2は、レート整合法に基づく環状バッファの機能性を示す。より詳細には、図1は送信機のブロック図であり、図2はインターリーブされ且つインターレースされたサブブロックを示す。送信機100の動作中に、エンコーダ101は、系統的ビットストリームと、少なくとも2つのパリティストリームとを出力する。この詳細な例では、エンコーダ101は、第3世代移動体通信システムの標準化において採用されたレート1/3のターボコーダを有する。以下の概念は、他のコードレートのターボコード、低密度パリティチェック(LDPC)コード、畳込コードといった、誤り訂正コードの他の型にも適用されうることを記す。
【0017】
エンコーダ101は、系統的ビットストリームと2つのパリティストリームに対応する、3つのストリームを出力する。ある場合において、系統的ストリームは、たとえば第3世代移動体通信システムの標準化プロジェクトのターボコードに関してのテールビットによって、系統的ではない幾つか(たとえば4つ)のビットを含みうる。(テールビット符号化が使用される際に、テールビットは不在である)。系統的ストリームはまた、ターボ符号化の前に挿入されたフィルタビットを含みうる。簡単のために、系統的ストリームの全てのビットを系統的ビットと呼び、それぞれのパリティストリームの全てのビットを、それぞれパリティ0ビットおよびパリティ1ビットと呼ぶ。
【0018】
レート整合回路102は、エンコーダ101からストリーム出力を受信し、各ストリームに個別にインターリーブするサブストリームを実行する。これは図2に示され、そこでは、それぞれ、S’は系統的ビットストリームであり、P0’はパリティ0ビットストリームであり、P1’はパリティ1ビットストリームである。各ストリームは、それ自身のサブブロック再配置(図1、図2には図示せず)とともに、再配置(インターリーブ)されることによって、系統的ストリームSとP0とP1とを生成する。単一出力バッファ105(環状バッファとも呼ばれる)は、最初に再配置された系統的ビットSを格納することによって形成され、続いてインターレースされたP0およびP1部201が形成される。
【0019】
動作の所望のコードレートでは、送信のために選択されるコードビット数Ndesiredが計算され、入力として論理回路104に渡される。論理回路104は単に、シーケンスから連続的ビットの長さNdesiredのブロックを読出し、ある開始点から環状バッファ(環状バッファの最終ビットを超えた場合に最初に包み込まれる)を読出す。したがって、パンクチュアリングと反復は、単一方法を用いて達成されうる。環状バッファリング技術は、(達成されるコードレートにおける)柔軟性と、(ストリームサイズにおける)粒度とにおいて有利である。サブブロックインターリーバが適切に設計された場合、環状バッファレート整合は、動作の所望のコードレートに関わりなく、トレリス符号に渡ってほぼ均一に分布したパリティビットを選択する。
【0020】
図3は、送信機300のブロック図である。送信機300は、エンコーダ301とレート整合回路303を有する。レート整合回路303は更に、論理回路305とメモリ307を有する。論理回路305は好ましくは、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、または当業者に知られたその他の装置である。論理回路305の、つまり送信機300の詳細な動作/機能は、ソフトウェア命令とルーチンの一行によって決定される。メモリ307は、ランダムアクセスメモリ(RAM)と、ダイナミックランダムアクセスメモリ(DRAM)と、リードオンリメモリ(ROM)とのうち少なくとも一つまたは環状バッファとして使用されるそれらと均等な物を有する。エンコーダ301は好ましくは、レート1/3第3世代移動体通信システムの標準化プロジェクトのターボコーダであるが、しかしながら、ここで送信機300を動作させるために記述された技術は、他のコードレート、テールビットまたは非テールビットでターボ符号化を実行するターボコーダ、またはフィルタビット挿入等と共にまたはフィルタビット挿入無しでのテールビッティング、バイナリまたはデュオバイナリターボコーダを含むがそれに限らない他のエンコーダに適用されうる。
【0021】
動作中に、エンコーダ301は、系統的ビットストリームと2つのパリティストリームに対応する、3つのストリームを出力する。論理回路305は、エンコーダ301から出力されたストリームを受信し、各ストリームに個別にインターリーブするサブブロックを実行する。論理回路305はそれから、P0’とP1’とをインターレースする。単一出力バッファ307(環状バッファ)は、最初に再配置された系統的ビットSを格納することによって形成され、次にインターレースされたP0とP1が形成される。
【0022】
サブブロック再配置は、任意の交換器(permuter)でありうる。一般には、Nr行およびNc列の矩形インターリーバ(ブロックインターリーバとも呼ばれる)が、簡便のために使用される。各ストリームのストリームサイズKstreamは、矩形インターリーバのサイズNr×Nc(すなわちブロックがいっぱい)である場合、動作は直接的である。しかしながら、しばしばストリームサイズは、Nr×Nc未満であり、つまりNr×Nc−Kstreamであるため、ダミービットがブロックを充填させるのに必要とされる。
【0023】
環状バッファを形成するこの処理は、図4と図5において、各ストリームに挿入された4つのダミービット407とともに図示される。図4を参照すると、ダミービット407を加えた系統的ビット401は、ブロックインターリーブされることによって、順番の変えられた系統的ビットS 402を生成する。同様の方法において、(ダミービットを加えた)パリティビットP0’およびP1’403がインターリーブされることによって、パリティビットP0およびP1404を生成する。ダミービットがストリームに追加されることによって、各ストリームは、ブロックインターリーバで満たされる。P0およびP1は、インターレースされることによって、インターレース部である、インターレースされたP0およびP1部405を生成する。行列S 402と行列P0−1 405は、図5に示すように組み合わされ、バッファ307に格納される。バッファ307は、列方向から読出され、行列の先頭から開始する。上述の記載において、ダミービットはストリームの後に挿入されるが、いくつかの実施形態では、ダミービットはストリームの前に挿入されてもよい。
【0024】
送信機300の動作中に、送信用に選択されるコードビット数Ndesiredが計算され、論理回路305に渡される。論理回路305は単に、出力バッファ307から(出力バッファの最終ビットが超えた場合に最初に包み込まれる)連続的ビットの長さNdesiredのブロックを読出し、ある開始点から出力バッファ307を読出す。ハイブリッド自動再送要求(HARQ)動作では、パラメータ(リダンダンシバージョン(RV))が論理回路305に提供され、バッファ307内の開始点を明示することによって、バッファの異なるセクションが送信用に選択されうる。前方誤り訂正(FEC)は、1つの送信のみの場合にハイブリッド自動再送要求に等しいため、前方誤り訂正はまた、リダンダンシバージョン値とともに明示されうる。つまり、論理回路305はリダンダンシバージョン値と、送信用に選択されるコードビット数Ndesiredとを受信する。Ndesiredビットは、リダンダンシバージョンによって明示される位置から開始するバッファ307から読出される。これらのビットは典型的には、続く変調と送信のための送信機311への出力である。
【0025】
系統的ビットSの詳細なフォーマットと、インターレースされたP0およびP1は、説明の目的で上述され、且ついくつかの方法でフォーマットされてもよいことを記すべきである。たとえば環状バッファは、1次元のアレイを用いて表現されているが、数学的目的のために2次元行列形式を使用することはしばしば有用である。
【0026】
ダミービットが環状バッファに保持される場合、環状バッファは、ダミーパッド環状バッファと呼ばれる。ダミーパッド環状バッファのサイズは、入力ストリームサイズと、挿入されたダミービットの全数との合計に等しい。文脈から明らかになるように、ダミーパッド環状バッファは、図5に示すような行列形式または、図2に図示されるようなシーケンス形式(すなわち1次元アレイまたは1次元データストリーム)でありうる。ダミービットが除去された場合は、ダミー除去環状バッファと呼ばれる。ダミー除去環状バッファのサイズは、入力ストリームサイズの合計に等しい。同様に、ダミー除去環状バッファは、図6のようなどこでダミービットが除去されても不連続性が存在する行列形式、またはシーケンス形式に存在しうる。先行技術のリダンダンシバージョンは、ダミー除去環状バッファに渡ってほぼ均一に分布される。エンコーダ出力ストリーム中の正確なリダンダンシバージョンの開始位置が、各場合に非自明処理を用いて計算される必要があると、ダミー除去環状バッファは、ハイブリッド自動再送要求の各送信を実行することを困難にする。この問題に取り組むために、ダミーパッド環状バッファ307は、リダンダンシバージョンの開始位置を明示すべく使用されうる。
【0027】
以下の文章は、レート整合技術の続く記述において有用でありうる。
・Kinfoは、情報ブロックサイズ(またはメッセージパケット長)を参照する。
・KFECは、FECエンコーダによって支持された入力ブロックサイズを参照する(KFECは、バイナリターボコードのインターリーバサイズに等しく、且つデュオバイナリターボコードのインターリーバサイズの2倍に等しい)。
【0028】
・Kfilterは、FECエンコーダ用に支持された入力サイズを取得すべく、情報ブロックに追加されたフィルタビット数を参照する。Kfilter=KFEC−Kinfo.
・Kstream=Kは、ストリーム長として参照し、ストリーム長は、ターボコードにおいて使用されるトレリス終結法に応じるKFECよりもわずかに大きな量に等しい。第3世代移動体通信システムの標準化プロジェクトのターボコードでは、3つのストリームがあり、各長さKstream=KFEC+4は、系統的ビットからなる。それぞれ第1エンコーダと第2エンコーダからのパリティビットと、12のテールビットとは、3つのストリームに均一に分布する。
【0029】
・Nrは、環状バッファにおいて使用されるサブブロックインターリーバの行数を参照する。
・Ncは、環状バッファにおいて使用されるサブブロックインターリーバの列数を参照する。
【0030】
・Krect=Nr×Ncは、環状バッファにおいて使用されるサブブロックインターリーバの次元である。フィルタビットがレート整合アルゴリズムの一部として放棄された場合に、KrectはKFEC以上の値になるべく選択されうるが、一般に、Krectは、Kstream以上の値になるべく選択される。
【0031】
[リダンダンシバージョン(RV)の明示]
説明のために、サブブロックインターリーバが30列を有し、且つ8つのリダンダンシバージョンが明示される必要がある場合のケースを考えよう。このケースでは、図7のバッファは、均等に8つのリダンダンシバージョンに分割できない90列を有しうる。エンコーダ出力ストリーム中の各リダンダンシバージョン(RV)の開始位置を見つけることは困難である(RV0が常に環状バッファの最初から開始する場合のRV0を除く)。8つの均等に分布したリダンダンシバージョンが必要と仮定すると、ダミービット(すなわちダミー除去環状バッファ)を含まなければ、i番目のリダンダンシバージョンRViの開始位置は、Kstream×3/8×i、i=0,1,...7である(必要とあれば、ラウンド処理、床関数処理、または天井関数処理を通じて整数値にする)。代替的に、ダミービットがカウントされた場合に(すなわちダミーパッド環状バッファ)、i番目のリダンダンシバージョンRViの開始位置は、Nr×Nc×3/8×i=Nr×90/8×iである(必要とあれば、ラウンド処理、床関数処理、または天井関数処理を通じて整数値にする)。各場合において、均一に分布されたリダンダンシバージョンの開始位置が所望されるのであれば、7つのリダンダンシバージョンの開始位置はほぼ常に、Nr×90の矩形の中央に位置する。(解は、すべての7つのリダンダンシバージョンの開始位置を、Nr×30の先頭の行にし、それによってバッファ中にリダンダンシバージョンのわずかに均一でない分布をもたらすことである。)30列のサブブロックインターリーバが、第3世代移動体通信システムの標準化プロジェクトのLTE(Long Term Evolution)標準に適用される場合は、以下を記す。
【0032】
・リダンダンシバージョンの開始位置が格納されると、全部で188×7の開始点が格納される必要があり、メモリに負担をかける。188のQPPインターリーバサイズと、各サイズ用に格納される必要がある7つのリダンダンシバージョンがあることを記す。
【0033】
・リダンダンシバージョンの開始位置が急に(on the fly)計算された場合、系統的ビット又の矩形内またはパリティ0/パリティ1の矩形内のポイントの行列のインデックスを発見するために、2つの困難な処理がハードウェアにプログラムされる必要がある。たとえばリダンダンシバージョンが系統的ストリーム内のL番目のインデックスにおいて開始する場合、2つの処理は:
・列インデックスが0から開始すると仮定し、列インデックス=床関数[L/_Nr]を導出するための除算。床関数[x]は、実数xの床関数を示す。Ncが30に固定され、且つNrがたぶん2の乗数ではない場合、NrはKstreamとともに変化するので、除算はハードウェアにおいて自明ではない。
【0034】
・列インデックス=mod(L,Nc)=mod(L,30)を導出するための剰余。30は2の乗数ではないため、剰余処理もまた、ハードウェアにおいて自明ではない。
Nc=30を使用することは、大体において、リダンダンシバージョンの場所を示す困難の原因の一つとなった。代わりに、バッファ307の全列数を有することが好ましい。バッファ307の全列数は、リダンダンシバージョンの全数の倍数となるべきで、リダンダンシバージョンの全数の倍数は、リダンダンシバージョンを均等に分布すべく支持された(リダンダンシバージョンは依然として不均一に明示されうるが)。たとえばサブブロックインターリーバは、8つのリダンダンシバージョンが明示されるべき場合に、32列を使用しうる。しばしば、2cのリダンダンシバージョンが明示される必要がある。ここで、cは整数である。つまり、Nc=2dを使用することが便利である。ここで、dはc以上の整数である。更に複雑さを低減するために、且つダミービット量を最小化するために、システムの全てのブロックサイズにおいて同じ値dを使用することが望ましい。たとえば定数d=5(つまり、Nc=32列)が、第3世代移動体通信システムの標準化プロジェクトのLTE(Long Term Evolution)の全てのブロックサイズに使用されうる。
【0035】
加えて、ダミービットが、リダンダンシバージョンの開始位置を明示する前に、つまり、上述の除算と剰余のような複雑な処理をさける前に、廃棄されていない場合、均一に分布したリダンダンシバージョンは、常に構成要素のサブブロックインターリーバの列の最初(すなわち第1行)から開始するように、明示されうる。
【0036】
列間置換パターン={0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23,15,31}と共に、Nc=32のサブブロックインターリーバが使用される場合、全てのKstreamに、Kstreamと共に変化する行数である、Nr=天井関数[Kstream/Nc]=天井関数[Kstream/32]と共に、同じ列数が使用される。リダンダンシバージョンは一般に、ほぼ等しいセクションにバッファ307を分割する必要があるため、ダミー除去環状バッファが使用される場合、各ストリームサイズのリダンダンシバージョンの明示における不均一性をモデル化するのに、追加の計算費用が必要とされる。
【0037】
更に明確にするために、リダンダンシバージョン数が8であり、且つサブブロックインターリーバの列数NcがNc=32であり、且つ入力ストリームサイズがKstreamであり、且つ長さ32の列の置換が、SとP0とP1のサブブロックインターリーバに使用されるケースを考慮する。
【0038】
図6は、明示された8つのリダンダンシバージョンと、ダミー除去環状バッファ(すなわちダミービットを廃棄した後)を示す。いずれでダミービットが廃棄されたとしても、不連続性があることを記す。シーケンス形式のダミー除去環状バッファ(バッファ307において使用されうる)は、左の先頭の隅から前方に行列要素の列方向を読むことによって得られる。任意のリダンダンシバージョン値がレート整合ブロックに入力されるハイブリッド自動再送要求動作において、矩形中のリダンダンシバージョン分布における規則性の無さは、困難を引き起こす。リダンダンシバージョンの開始点の行列のインデックスは、ストリームサイズ(およびダミービット数)に基づき起算されなくてはならない。つまり、このことは複雑なハードウェアをもたらす。
【0039】
環状バッファでハイブリッド自動再送要求動作を簡単にする代替の方法は、次に記述する。この場合、図7に示すようにリダンダンシバージョンが明示された後に、ダミービットは廃棄される。実際、ダミービットは環状バッファ(ダミーパッド環状バッファ)に置かれ、そしてダミーパッド環状バッファのサイズは、8の倍数であるため、任意のストリームサイズKstream用に等間隔に配置された8つのリダンダンシバージョンを明示することが可能である。特に、8つのリダンダンシバージョンは、サブブロックインターリーバの先頭から開始するべく明示されうる。一般に、リダンダンシバージョンをサブブロックインターリーバの第1行(すなわち列の先頭)の任意の位置に割当てることは便利である。たとえば8つのリダンダンシバージョンは、図7(Nc=32)における以下の8列2,14,26,38,50,62,74,86の先頭から開始しうる。シーケンス形式のダミーパッド環状バッファにおける位置に関して記述した場合、リダンダンシバージョンは、
天井関数[Kstream/32]×(12×i+σ),i=0,1,...,7
で決まる位置から開始する。ここで、σは第1のリダンダンシバージョンRV(RV0)の開始位置の列インデックスを示す。
【0040】
前のリダンダンシバージョンの開始位置を知ることなく任意のリダンダンシバージョンから所望のコードビットを出力し始めることが簡単であるという意味では、このリダンダンシバージョンの明示は、ダミーパッド環状バッファにとってメモリレスであることを記す。ビットがダミーパッド環状バッファから読出される際に、ダミービットは廃棄される。全部の列数が支持されたリダンダンシバージョンの全数の倍数ではない場合でも、たとえば8つのリダンダンシバージョンであってNc=30である場合でも、リダンダンシバージョンは、それでも90列のうちの任意の8列の先頭から開始すべく明示されうる。
【0041】
上述の議論において、リダンダンシバージョンの開始位置を明示する簡単な方法として列の先頭が使用されるが、他の便利な位置もまた使用されうる。たとえばリダンダンシバージョンの開始位置は全て、ダミーパッド環状バッファの特定行rに位置する。ここで、0<r<Nrである。
【0042】
ダミーパッド環状バッファに渡ってリダンダンシバージョンを明示するための正当化は以下に与えられる。
・各ストリーム(または、サブブロックインターリーバ)の置換は、Krect=Nr×Ncのダミービットを含む矩形アレイとして記述される。
【0043】
・Krect=Nr×Ncの場合に、各ストリームのビットは、矩形の行方向に書き込まれ、列方向から読出される(列の置換後)。
・Krect<Nr×Ncの場合に、各ストリームのビットは、矩形の行方向に書き込まれ、列方向から読出され、そしてNr×Nc―Kstreamダミービットはパッド化され、完全に矩形を満たす。チャネルへの送信前に、ダミービットは消去されるかまたは「取り除かれる」。
【0044】
・矩形が満たされた場合(ダミービットが使用されるか否かにかかわらず)、各ストリームの置換は、閉じた式を有し、このことは、逆置換を決定することが容易であることを意味することを記すべきである。逆置換を決定するのが容易な場合、したがって、特定リダンダンシバージョンに対応するエンコーダ出力ストリームにおける位置を決定することが容易である。矩形が部分的に満たされた場合(ダミービットが無く、Kstream<Nr×Nc)、各ストリームの置換は閉じた式を有さない。この場合に、逆置換を決定するのは困難であり、したがって、特定リダンダンシバージョンに対応するエンコーダ出力ストリームにおける位置を決定することも困難である。
【0045】
説明の簡単化のために、上記の議論において、たとえばメモリに環状バッファのビットを格納することによって、環状バッファ307(ダミー除去またはダミーパッド)が物理的に形成されたと仮定する。ハードウェア実施には、物理環状バッファ307を形成することなく所望出力ビットを直接生成する仮想環状バッファ概念を利用することがより良い。換言すると、レート整合機能性は、中間記憶媒体無しで満たされる。この概念は図8に示される。
【0046】
全体の物理環状バッファ形成処理を経なければならないことなく物理環状バッファの所望部分を簡単に生成する代数的規則を発見することによって、物理環状バッファを形成する中間ステップは避けられうる。
【0047】
仮想環状バッファにおいて、レート整合アルゴリズムは、入力パラメータ(リダンダンシバージョン数と入力サイズ)に基づき、アドレスジェネレータを適切開始値に初期化する。それから、入力ストリームのサブブロック置換によって記述されたように、レート整合アルゴリズムは、アドレス生成規則に従うことによって、ビット出力を直接開始する。アドレス生成規則は、ビットが出力されるエンコーダ出力ストリームにおける位置のシーケンスを明示する。
【0048】
仮想環状バッファは、ダミーパッド環状バッファとダミー除去環状バッファとして、動作されうる。しかしながら、ダミー除去環状バッファが使用される場合、リダンダンシバージョンは、図6に示されるように環状バッファにおける(行列形式における)どこからでも開始しうる。したがって、そのようなシナリオにおいて、リダンダンシバージョンの開始点は、明確に格納される必要がありうる。つまりメモリに負担をかけうる。代替的に、リダンダンシバージョンの開始点は、各場合用に導出されうるが、仮想環状バッファにおけるアドレス初期化は、ハードウェアにおいて実施するには複雑となる。
【0049】
対照的に、ダミーパッド環状バッファを利用する際に仮想環状バッファを動作させるために、リダンダンシバージョンはサブブロックインターリーバの列の先頭から開始し、したがって、仮想環状バッファ動作におけるアドレス初期化は、より効率的となる。アドレスジェネレータがダミービットを示すときはいつでも、アドレスジェネレータはビットを出力することなく、自動的に前進する。
【0050】
[第1ステージレート整合とのリダンダンシバージョン]
受信機が限られたソフトバッファサイズを有する際に、第1ステージレート整合技術は必要とされうる。第1ステージレート整合において、送信機は受信機のソフトバッファ容量の知見を有していて、それ故、受信機のソフトバッファ容量に格納されうる量以下のコードビットのみを送信することが許可される。
【0051】
最大ソフトバッファサイズは、環状バッファによってレート整合に特定の制限を課す。特に、各コードブロックの環状バッファは、図9に示すように更に制限されうる。この場合、環状バッファにおける取り囲みは、環状バッファの終端よりも早い点において発生しうる。
【0052】
一般に、ターボコーダへの入力(転送ブロックまたは連結された転送ブロック)がターボインターリーバによって支持された最大サイズよりも大きい場合、転送ブロック(TB)は複数のコードブロックセグメントにセグメント化され、セグメントの各々は個別にターボエンコード化され、且つレート整合される。つまり、パイプライン型動作が可能となる。したがって、転送ブロックの各セグメントは、それ自身の環状バッファ(または仮想環状バッファ)を有しうる(各セグメントに物理環状バッファを生成する必要はないことを記す)。NIRはハイブリッド自動再送要求処理毎のトータルのソフトバッファサイズであると仮定しよう(あるいは1つの転送ブロックに対応する最大バッファサイズと仮定する)。
【0053】
レート整合がコード名ごと(すなわちセグメントごと)に実行される場合、第1ステージレート整合は、もし含まれるのであれば、コード名ごと(セグメントごと)に実行されるであろうことが好ましい。各コード名(またはセグメント)の環状バッファのサイズは、NCWに限定される。ここで、NCW<3×Kstreamであり、3×Kstream=3×Kinfo+12は、第1ステージレート整合の前の(セグメント毎の)完全な環状バッファのサイズである。NCW>3×Kstreamの場合、(セグメント毎の)第1ステージレート整合は透明であることを記す。(全ての転送ブロックからの)全てのコード名のサイズNCWの合計は、NIrを超えることができない。ここで、NIRは、全ての転送ブロックのソフトバッファサイズである。NIRを第1ステージレート整合アルゴリズムへの入力とみなす代わりに、LTE(Long Term Evolution)におけるコード名あたりの第1ステージレート整合は、NCWを入力とみなすことができる。
【0054】
第1ステージレート整合のオプションは以下を含みうる:
1.バッファサイズを、UE(User Equipment)クラスの設定最大値に限定する。(全ての転送ブロックにおいて、与えられたTTI(Transmission Time Interval)の全てのコード名。UE(User Equipment)クラスは、第3世代移動体通信システムの標準化プロジェクトと第3世代移動体通信システムの標準化プロジェクトのLTE(Long Term Evolution)における送受信機容量のセットである。)転送ブロック毎とコード名毎の制限をスケーリングを通じてNIRから決定する。たとえばNCW=床関数[NIR/C]である。ここで、Cは連結された転送ブロックのターボコード名の数であり、コードブロックセグメンテーションルールによって決定される。コードブロックセグメンテーションルールと同様の方法によって、コード名毎の制限を決定することが可能である。
【0055】
2.バッファをUE(User Equipment)クラスの設定最大値N’IRに制限する(転送ブロック毎の制限を設定する)。スケーリングを通じて、この最大値からコード名毎の制限を決定する。
【0056】
3.バッファをUE(User Equipment)クラスのコード名毎の設定最大値に制限する。
これら3つのオプションと共に、コード名毎の制限は、(個別のセグメントの)仮想環状バッファから全ての列を消去することによって、明示されうる。
【0057】
リダンダンシバージョンの明示には、選択は以下を含む:
スキーム1.可能なリダンダンシバージョンのサブセットのみを許可する。YのリダンダンシバージョンY RVが、第1ステージレート整合無しに(すなわち第1レート整合が透明で)明示される場合、第1ステージレート整合が透明でないとき、Y’<=Yであるときに、Yが利用できるリダンダンシバージョンの中からのY’のリダンダンシバージョンY’RVは保持されうる。たとえばリダンダンシバージョンRV−i,i=0,1,...,Y’―1が使用される場合、RV−Y’の開始点はNCW未満である。
【0058】
スキーム2.Yのリダンダンシバージョンのフルセットが、許可された最大環状バッファのサイズ内において利用可能となるように、リダンダンシバージョンを再明示する。リダンダンシバージョンが、挿入されたダミービットと共に環状バッファの列の先頭から開始するように、リダンダンシバージョンを再明示する。リダンダンシバージョンRV 0は、全てのUEクラスにとって同じ位置から開始するように、系統的ビットパンクチャリング量は不変である。たとえば(第1ステージレート整合の前に3×Ncの列を含む)ダミーパッド環状バッファNcolが、第1ステージレート整合後に保持されている場合、YのリダンダンシバージョンY RVは、床関数[(Ncol−2)/Y]×i+2,i=0,1,...,Y−1の列インデックスの列の先頭から開始しうる。
【0059】
効果的なハイブリッド自動再送要求動作の転送ブロック毎の単一のリダンダンシバージョンを信号で伝えることが好ましいが、リダンダンシバージョンの開始点はまた、コード名毎の原理に基づいて明示されうる。
【0060】
[系統的ビットパンクチャリング]
上記で議論したリダンダンシバージョンの明示は、系統的パンクチャリングと呼ばれる性能改善技術を提供すべく、改善されうる。
【0061】
部分的系統的ターボコードは、系統的ターボコードよりも効率が良くなりうることが、文献では知られている。一つの単純な説明は、系統的ターボコードが部分的系統的ターボコードのサブセットであることである。しかしながら、WCDMAターボ符号化またはCDMA2000ターボ符号化といったワイヤレス標準が存在する場合、系統的ビットパンクチャリングは、レート整合アルゴリズムにおいて使用されない。この主な理由は、効率的な符号化レートが高いときに、リダンダンシバージョンRV0における送信が自己復号可能であることが好ましいからである。
【0062】
系統的ビットパンクチャリングは、パリティビットの過剰なパンクチャリングを避けるために使用される。さもなければ、パリティビットの過剰なパンクチャリングは、より高い符号化レートにおいて質の悪い最小距離をもたらし、したがって性能を劣化させるおそれがある。
【0063】
第3世代移動体通信システムのような通信システムにおいて、符号化レートはおそらく、5/6と同じかそれよりも高くなりうる。したがって、そのようなシステムは、系統的ビットのパンクチャリングの小さな比を扱うことができるべきである。そのような部分的系統的コードは、依然として自己復号可能であることを記す。ブロックサイズKinfoのターボコードにおいて、ΔK(R)は、コードレートRにおいてパンクチャされた系統的ビットの比を意味することとする。
【0064】
レート整合の設計における一つの課題は、KinfoとコードレートRの全ての正当な組み合わせの系統的ビット比ΔK(R)の最適値を発見することである。系統的ビット比ΔK(R)が決定された後に、系統的ビットパンクチャリングを含むべく、環状バッファは再構成されうる。図10に示すように再構成には多くのオプションがある。系統的ビットパンクチャリングの議論において、シーケンス形式の環状バッファはこの技術を説明すべく使用される。そして、環状バッファは、ダミーパッド環状バッファまたはダミー除去環状バッファでありうる。以下の例において、マザーコードレートは1/3であり、且つビットは常に環状バッファの第1ビットから連続的に開始するように選択されると仮定する。既述したように、Kinfoは情報ブロックサイズであり、Kstreamはストリーム長である。
【0065】
1.図10のオプション1は、シーケンス形式の通常の環状バッファを記述する。ここでは、全ての系統的ビットがまず送信され、いくつかのパリティビットまたは全てのパリティビットが次に送信される。
【0066】
2.図10のオプション2は、通常の環状バッファとして同じビットを含むが、環状バッファは修正される。いくつかの系統的ビット(SA)は、環状バッファの系統的な部分から選択され、バッファの最後に配置される。したがって、第1送信において、系統的ビットSAの系統的ビットは、多くのコードレートにおいてパンクチャされる。単にリダンダンシバージョンRV0の開始時に、環状バッファの最初に関連したオフセットを有する位置に配置することによって、オプション2はまた達成されうる。このオフセットは、必要な系統的ビットパンクチャリング量に基づいて、決定されうる。コードレートR>=Kinfo/(3×L−SA)である場合、系統的ビットSAは常にパンクチャされる。
【0067】
3.オプション3は、環状バッファが修正されるオプション2と同じである。しかしながら、環状バッファの系統的部分から選択された系統的ビット(SA)は、パリティストリームからXビット後のバッファに配置される。したがって、第1送信において、いくつかの系統的ビットは、多くのコードレートにおいてパンクチャされる。コードレートR>=Kinfo/(SB+X)である場合、SAの系統的ビットは常にパンクチャされる。
【0068】
a.コードレートK/(SB+X)>R>Kinfo/(SB+X+SA)から、SAにおける系統的ビットの各部はパンクチャされる。
b.Kinfo/(SB+X+SA)>=Rの場合、全ての系統的ビットが送信される。
【0069】
4.オプション4は、環状バッファが修正されるオプション3と同じである。しかしながら、環状バッファの系統的部分から選択された系統的ビット(SA)は、特定領域におけるバッファに分布する。したがって、第1送信において、系統的ビットのいくつかは、多くのコードレートにおいてパンクチャされる。オプション4は、環状バッファの設計においてより柔軟性を可能とし、系統的パンクチャリング比ΔK(R)を最適化する。たとえばSAにおける系統的ビットは、領域内に均等に分布されうる;または、系統的ビットは、領域内の系統的ビットの増加中の密度に配置される。または、系統的ビットは、領域内の系統的ビットの減少中の密度に配置される。
【0070】
上述のオプションの他の変化も存在する。たとえばSAにおける系統的ビットは、系統的ストリームS’にインターリーブされたサブブロックの先頭ではなく、むしろS’の中央またはS’の最後に配置されうる。SAにおける系統的ビットはまた、x>1である系統的ストリームS’のxビット毎の1ビットのように、系統的ストリームS’の不連続な場所から選択されうる。
【0071】
新たな修正が、環状バッファの形成後に実行される追加ステップとして示されたが、このステップは、直接環状バッファの明示に組み合わされうる。
異なるオプションは、異なる複雑さ/性能のトレードオフを有する。系統的ビットパンクチャリングが、ほぼ1/3に近い全てのレート用に固定されると、オプション2は好ましくないかもしれない。LTE(Long Term Evolution)にとって、3/4または5/6といった高レートには、5%付近の系統的ビットパンクチャリングが好ましいが、0%の系統的ビットパンクチャリングは2/3または1/2といった低いコードレートにとって好ましいことを、シミュレーションは提案する。したがって、そのような理由によって影響されるように、系統的ビットをバッファの部分に配置することが好ましい。代替的に、系統的ビットパンクチャリングをオフにすべく、低いコードレートにおいてRV7を使用することが提案されている。
【0072】
議論は、第1送信(つまり前方誤り訂正)のレート整合設計に焦点を合わせているが、ハイブリッド自動再送要求に関連して情報ブロック毎の複数の送信と共に、同じ再構成された環状バッファも使用されうる。再構成された環状バッファの異なるセクションを選択することによって、ハイブリッド自動再送要求の異なるリダンダンシバージョンが取得されうる。ここで、セクションサイズは、現在の物理チャネル送信に必要な長さと等しい。特に、YのリダンダンシバージョンRVが必要とされる場合、再構成された環状バッファにおいてYを異なる開始点(A0,A1,...,AY−1)に明示する簡単な方法は、リダンダンシバージョンの一つである。i番目のリダンダンシバージョンRViでは、ビットは、Aiからmod(Ai+Ntx,NCB)に選択される。mod(A,B)は、A/Bの剰余である。ここで、i=0,1,...,Y−1であり、Ntxは送信に必要なビット数であり、NCBは環状バッファ長である。換言すると、Ntxビットは、位置Aiから開始すべく読み込まれ、バッファが最終に到達した場合に、環状バッファの最初に包み込む。与えられた情報ブロックでは、Ntxは各送信において異なってもよい。
【0073】
[系統的パンクチャリングによるリダンダンシバージョンの明示]
前述のaと、ダミーパッド環状バッファに基づくリダンダンシバージョンの明示と、前述のbとを組み合わせると、改善されたレート整合設計は以下の優位性を有する。ここで、Nc=32とマザーコードレート1/3(すなわちターボエンコーダ101からの3つのストリーム)を説明のために使用すると:
・リダンダンシバージョンの明示を簡便にすべく、環状バッファにダミービットが含まれる(すなわちダミーパッド環状バッファ)。
【0074】
・ハイブリッド自動再送要求の再送信用に、各リダンダンシバージョンを開始することが簡単となる。たとえば行列形式の環状バッファにおけるサブブロックインターリーバ列の先頭(つまり、第1行)から開始すべく、リダンダンシバージョンは明示される。より詳細には、
8つのリダンダンシバージョンが明示される必要がある場合は、i番目のリダンダンシバージョンRViは、シーケンス形式のダミーパッド環状バッファにおける位置Nr×(Nc×3/8×i+σ)=Nr×(12×i+σ)=天井関数[Kstream/32]×12×i+σ),i=0,1,...,7から開始する。行列形式では、RViは、12×i+σ番目の列の先頭から開始する。
【0075】
4つのリダンダンシバージョンのみが明示される場合は、各リダンダンシバージョンは、24×i+σ番目の列(σ=2)の先頭から開始する。同等に、シーケンス形式において、RViは、ビット位置Nr×(Nc×3/4×i+σ)=Nr×(24×i―σ)=天井関数[Kstream/32]×(24×i+σ),i=0,1,...,3から開始する。
【0076】
σ=0の場合(3×Ncの剰余)、i=0のリダンダンシバージョンRV0は、環状バッファの先頭から開始する。つまり、系統的ビットパンクチャリングはない。3つのストリーム(すなわちマザーコードレート1/3)では、σを0(3×Ncの剰余)よりも大きい値に設定することによって、系統的ビットパンクチャリングはONにされうる。つまり、RV0のビットを読出す際に、系統的ビットの小さい比を省略する。換言すると、i=0のリダンダンシバージョンRV0(第1リダンダンシバージョン)は、σ番目の列の先頭から開始すべく明示される。ここで、σはオフセット列数である。このことは、図11に示される。たとえばRV0は、σ=2に設定することによって、列#0の代わりに列#2から開始すべく明示されうる。σの他の値もまた、考慮されうる。
【0077】
上記で議論された改善設計は、いくつかの変化を有してもよい。変化のいくつかは以下に従う:
・32列が提案された設計に使用されているが、他の値、特に8,16,64または128のような2の乗数がNcとして使用されうる。
【0078】
・設計例では特定の列置換が使用されているが、他の置換もまた、列を置換すべく使用されうる。
・2以上のNcがレート整合設計において使用される場合、各Ncは多数のインターリーバサイズ用に使用されうる。
【0079】
・サブブロックインターリーバは、全てのストリームにおいて同じでなくてもよい。たとえばサブブロックインターリーバは、系統的ストリームとパリティ1のストリームの両方において同じとなりうる。しかし、パリティ2のストリームのサブブロックインターリーバは、異なっていてもよい。
【0080】
・記述の簡単化のために、リダンダンシバージョンはサブブロックインターリーバの列の先頭から開始すべく明示されているが、リダンダンシバージョンはまた、ダミーパッド環状バッファにおける他の便利な場所から開始すべく明示されうる。たとえば全てのリダンダンシバージョンは、0<r<Nrである構成要素のサブブロックインターリーバの同じ行rから開始しうる。
【0081】
[第1ステージレート整合と系統的パンクチャリングでのリダンダンシバージョンの明示]
系統的パンクチャリングと第1ステージレート整合の両方が使用される場合、以下の要求を満たすべく、リダンダンシバージョンの明示は修正される必要がありうる:
・環状バッファにダミービットを含むこと(すなわちダミーパッド環状バッファ)によって、リダンダンシバージョンの明示を簡単にすること。
【0082】
・ハイブリッド自動再送要求の各リダンダンシバージョン用のアドレス生成開始を簡単にすること。たとえば行列形式の環状バッファにおいて、リダンダンシバージョンは、サブブロックインターリーバの列の先頭(すなわちサブブロックインターリーバの列の第1行)から開始すべく明示されうる。
【0083】
・第1ステージレート整合の後に、リダンダンシバージョンの開始位置を、環状バッファの制限の範囲内に保持すること。
系統的パンクチャリングと第1ステージレート整合の両方が使用される場合、実施は以下に説明されうる。まず、短縮化された環状バッファを形成すべく、1以上の列を環状バッファから(好ましくは、仮想環状バッファの最終列から)消去することによって、第1ステージレート整合は達成される。つまり、短縮化された環状バッファの始点に関連するオフセットの位置から開始すべく、第1リダンダンシバージョンを明示することによって、系統的ビットはパンクチャされうる。換言すると、系統的サブブロックインターリーバのサブブロックインターリーバに位置する特定のゼロではない列数においてi=0でのリダンダンシバージョンRV0を明示することによって、系統的ビットパンクチャリングは達成されうる。上述のステップはまた、直接組み合わされうることを記す。再び、第1ステージレート整合が、コード名毎(またはセグメント毎)の原理に適用されるべく、考慮されうる。便宜上、短縮された環状バッファはまた、第1ステージレート整合が適用された後に、環状バッファと呼ばれる。この区別は、文脈から明確にされるべきである。
【0084】
たとえば8つのリダンダンシバージョンが基準として使用される場合(第1ステージレート整合がない場合)、第1ステージレート整合においてリダンダンシバージョンを明示するために、以下のオプションが利用可能である。
【0085】
・リダンダンシバージョンの明示スキーム1では、8つのリダンダンシバージョンの開始位置は保持されうるが、必ずしも常に使用されるわけではない。環状バッファの範囲(0<j<NCW−1)に位置する最初のリダンダンシバージョンの開始位置のみが許可されうる。このことはまた、以下の条件を用いて、記述されうる。Nr×σ<=Nr×(12×i+σ)<NCW−1のRV−iのみが使用されると、いくつかの場合において8つのRVよりもおそらく少ない結果をもたらす。インデックスiの最後の許可されたリダンダンシバージョンRVは、つまり床関数[((NCW−1)/Nr―σ)/12]である。
【0086】
・リダンダンシバージョンの明示スキーム2では、8つのリダンダンシバージョンは依然として(全ての場合において)必要とされる。次に、リダンダンシバージョンの開始位置は、Nr×(C×i+σ),i=0,1,...,7となりうる。ここで、CはNr×(C×i+σ)<=NCW−1となる最大整数である。換言すると、C=床関数[((NCW−1)/Nr−σ)/7]である。
【0087】
上記の議論において、Cは2つの隣接したリダンダンシバージョン間の列数を示し、Yは明示されたリダンダンシバージョン数である。
リダンダンシバージョンの他の数(たとえば4)が第1ステージレート整合の前に明示される場合に、同様のリダンダンシバージョンの修正が適用されうる。たとえば4つのリダンダンシバージョンが基準として使用される場合(第1ステージレート整合がない場合)、第1ステージレート整合におけるリダンダンシバージョンを明示するために、以下のオプションが利用可能である。
【0088】
第1ステージレート整合なしに、シーケンス形式のダミーパッド環状バッファにおける位置Nr×(Nc×3/4×i+σ)=Nr×(24×i+σ),i=0,1,2,3からRV−iは開始する。第1ステージレート整合が使用された後に、環状バッファは位置jのビットを含む。ここで、0<j<NCW−1である。
【0089】
・リダンダンシバージョンの明示スキーム1では、4つのリダンダンシバージョンの開始位置が保持され、次にNr×2<=Nr×(24×i+σ)<=NCW―1であるRV−iが使用されると、いくつかの場合において4つのRVよりもおそらく少ない結果をもたらす。
【0090】
・リダンダンシバージョンの明示スキーム2では、4つのリダンダンシバージョンは依然として必要であり、それからリダンダンシバージョンの開始位置は、Nr×(C×i+2)となりうる。ここで、Cは、Nr×(C×i+σ)<=NCW−1となる、最大整数である。
【0091】
図12は、図3の送信機の動作を示すフローチャートである。特に、図12の論理フローは、リダンダンシバージョンを環状バッファ307に割当てるステップと、環状バッファ307からのビットの次の送信とを示す。論理回路305が、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信するステップ1201において論理フローが始まる。これらのビットは、エンコーダ301からの出力である。上記で議論したように、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとの全ては、ダミービットを有する。論理回路305は、インターリーバ309を用いて、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを、個別にブロックインターリーブする(ステップ1203)。ステップ1205において、論理回路305は、パリティビットの第2ブロックと共に、パリティビットの第1ブロックをインターレースし、且つインターリーブされた系統的ビットを、インターレースされたパリティビットの先頭に付け加えることによって、環状バッファ307を生成する。ステップ1207において、論理回路305は次に、環状バッファの特定行のリダンダンシバージョンを明示する。本発明の1実施形態では、特定行は、環状バッファの先頭の行を有する。たとえば8または4のサブブロックインターリーバの列の先頭の行を有する。論理回路305は、リダンダンシバージョンと所望ビット数を受信し(ステップ1209)、そして送信機に、リダンダンシバージョンのビット位置から開始する所望ビット数を出力する(ステップ1211)。
【0092】
図13は、図3の送信機の動作を示すフローチャートである。特に、図13の論理フローは、リダンダンシバージョンを仮想環状バッファに割当てるステップと、仮想環状バッファからのビットの次の送信とを示す。論理回路305が、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信するステップ1301において論理フローが始まる。上記で議論したように、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとの全ては、ダミービットを有する。論理回路305は、インターリーバ309を用いて、系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを、個別にブロックインターリーブする(ステップ1303)。ステップ1305において、論理回路305は、パリティビットの第2ブロックと共に、パリティビットの第1ブロックをインターレースし、且つインターリーブされた系統的ビットを、インターレースされたパリティビットの先頭に付け加える。ステップ1307において、論理回路305は次に、データストリームのビット位置に対応するリダンダンシバージョンを明示する。ここで、全ての可能なリダンダンシバージョンは、天井関数[Kstream/32]×(13×i+σ),i=0,1,...,7の位置にあり、ここで、σは、第1リダンダンシバージョンRV(RV0)の開始位置の列のインデックスを示す。データストリームは、インターリーブされた系統的ビットと、インターリーブされたパリティビットのインターレースされた第1ブロックと、インターリーブされたパリティビットのインターレースされた第2ブロックとを有する。論理回路305は、リダンダンシバージョンと、所望ビット数とを受信し(ステップ1309)、送信機に、リダンダンシバージョンのビット位置から開始する所望ビット数を出力する(ステップ1311)。
【0093】
発明は、詳細な実施形態を参照して、詳細に示され且つ記述された一方、形式と詳細における様々な変化がここで、本発明の精神と範囲から逸脱することなくなされうることを、当業者は理解するであろう。
【0094】
一例では、手順が説明されているが、ダミービットはストリームに加えられなくてもよく、後に環状バッファから除去されなくても良い。むしろ、アドレスを適切に生成するような他の方法によっても同じ効果が実現される。
【0095】
他の例では、環状バッファの特定行(たとえば列の先頭)からリダンダンシバージョンを開始することも、ダミービットが存在しつつ、各ストリームのサブブロックインターリーバの特定行からリダンダンシバージョンを開始することと等価になりうる。環状バッファにおけるリダンダンシバージョンの開始点を明示することは、他の実施にとってより便利になりうる一方で、開始点をサブブロックインターリーバの位置にマッピングすることは、特定の実施にとってはより便利でありうる。
【0096】
そのような変化は、本発明の請求の範囲になるように意図される。
【特許請求の範囲】
【請求項1】
環状バッファにリダンダンシバージョンを割当てる割当方法であって、前記割当方法は:
系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信する第1受信ステップであって、前記系統的ビット、前記第1ブロック、および前記第2ブロックがそれぞれダミービットを有することと;
前記系統的ビット、前記第1ブロック、および前記第2ブロックを個別にブロックインターリーブするインターリーブステップと;
前記第1ブロックと前記第2ブロックをインターレースすることによって、インターレースしたパリティビットを生成するインターレースステップと;
インターリーブした前記系統的ビットを、インターレースした前記パリティビットの先頭に加えることによって、環状バッファを生成する環状バッファ生成ステップと;
前記環状バッファの特定行から開始するためのリダンダンシバージョンを明示する行明示ステップと;
前記リダンダンシバージョンと所望ビット数を受信する第2受信ステップと;
前記リダンダンシバージョンのビット位置から開始する前記所望ビット数を出力する出力ステップと
を備えることを特徴とする、割当方法。
【請求項2】
前記行明示ステップは、前記環状バッファの列の先頭から開始するリダンダンシバージョンを明示する列明示ステップを有する、請求項1記載の割当方法。
【請求項3】
前記列明示ステップは、前記環状バッファの8つの列の先頭から開始するリダンダンシバージョンを明示する8列明示ステップを有する、請求項2記載の割当方法。
【請求項4】
前記列明示ステップは、前記環状バッファの4つの列から開始するリダンダンシバージョンを明示する4列明示ステップを有する、請求項2記載の割当方法。
【請求項5】
前記割当方法は更に、前記環状バッファの先頭に関連するオフセットの位置から開始する第1リダンダンシバージョンを明示することによって、系統的ビットをパンクチャするステップを有する、請求項1記載の割当方法。
【請求項6】
前記割当方法は更に、σ番目の列の先頭から開始する第1リダンダンシバージョンを明示するステップを有し、前記σはオフセット列の数である、請求項5記載の割当方法。
【請求項7】
前記割当方法は更に、前記環状バッファから1以上の列を消去することによって短縮された短縮環状バッファを生成するステップを有する、請求項1記載の割当方法。
【請求項8】
前記割当方法は更に、前記短縮環状バッファの列の先頭から開始するリダンダンシバージョンを明示するステップを有する、請求項7記載の割当方法。
【請求項9】
前記割当方法は更に、前記短縮環状バッファの先頭に関連するオフセットの位置から開始する第1リダンダンシバージョンを明示することによって、前記系統的ビットをパンクチャするステップを有する、請求項8記載の割当方法。
【請求項10】
エンコーダ、レート整合回路、および送信回路を有する装置であって、
前記エンコーダは系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを出力し、
前記レート整合回路は、前記前記系統的ビット、前記第1ブロック、および前記第2ブロックを受信し、ダミービットを有する環状バッファを生成し、前記環状バッファの特定行はリダンダンシバージョンの開始点を有し、前記レート整合回路は、前記環状バッファの非ダミービットを、特定リダンダンシバージョンから開始する送信機に出力し、
前記送信回路は、前記非ダミービットを受信して前記非ダミービットを送信することを特徴とする、装置。
【請求項11】
前記特定行は、前記環状バッファの先頭列を有する、請求項10記載の装置。
【請求項12】
前記環状バッファの8つの列の先頭は、リダンダンシバージョンの開始位置として明示される、請求項10記載の装置。
【請求項13】
前記環状バッファの4つの列の先頭は、リダンダンシバージョンの開始位置として明示される、請求項10記載の装置。
【請求項14】
前記環状バッファは、
インターリーブされた前記系統的ビットと;
インターリーブされ且つインターレースされた前記第1ブロックと;
インターリーブされ且つインターレースされた前記第2ブロックと
を有する、請求項10記載の装置。
【請求項15】
前記レート整合回路は、前記環状バッファの先頭に関連するオフセットの位置から開始する第1リダンダンシバージョンを明示することによって、前記系統的ビットをパンクチャする、請求項14記載の装置。
【請求項16】
前記レート整合回路は、σ番目の列の先頭から第1リダンダンシバージョンを開始し、前記σはオフセット列の数である、請求項15記載の装置。
【請求項17】
前記レート整合回路は、前記環状バッファから1以上の列を消去することによって、短縮された短縮環状バッファを生成する、請求項10記載の装置。
【請求項18】
前記レート整合回路は、前記短縮環状バッファの列の先頭から開始するリダンダンシバージョンを明示する、請求項17記載の装置。
【請求項19】
前記レート整合回路は、前記短縮環状バッファの先頭に関連するオフセットの位置から開始する第1リダンダンシバージョンを明示することによって、前記系統的ビットをパンクチャする、請求項18記載の装置。
【請求項20】
エンコーダ、レート整合回路、論理回路、および送信回路を有する装置であって、
前記エンコーダは系統的ビット、パリティビットの第1ブロック、およびパリティビットの第2ブロックを出力し、前記パリティビットの各々の長さはKstreamであり、
前記レート整合回路は前記系統的ビット、前記第1ブロック、および前記第2ブロックを受信し、前記レート整合回路は前記系統的ビット、前記第1ブロック、および前記第2ブロックを個別にインターリーブし、
前記論理回路は、データ出力を開始するデータストリーム内のビット位置に対応するリダンダンシバージョンを明示し、前記リダンダンシバージョンは天井関数[Kstream]×(C×iーσ)である位置から開始し、ここでi=0,1,...,Y−1であり、天井関数[K]はKの天井関数を表し、Cは2つの互いに隣接したリダンダンシバージョン間の列数を示し、Yは明示されたリダンダンシバージョンの数であり、σは第1リダンダンシバージョンの開始位置の列インデックスを示し、
前記データストリームは、インターリーブされた前記系統的ビットと、インターリーブされ且つインターレースされた前記第1ブロックと、インターリーブされ且つインターレースされた前記第2ブロックと、ダミービットとを有し、
前記送信回路は、特定リダンダンシバージョンから開始する非ダミービットを受信し、且つ前記非ダミービットを送信することを特徴とする、装置。
【請求項1】
環状バッファにリダンダンシバージョンを割当てる割当方法であって、前記割当方法は:
系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを受信する第1受信ステップであって、前記系統的ビット、前記第1ブロック、および前記第2ブロックがそれぞれダミービットを有することと;
前記系統的ビット、前記第1ブロック、および前記第2ブロックを個別にブロックインターリーブするインターリーブステップと;
前記第1ブロックと前記第2ブロックをインターレースすることによって、インターレースしたパリティビットを生成するインターレースステップと;
インターリーブした前記系統的ビットを、インターレースした前記パリティビットの先頭に加えることによって、環状バッファを生成する環状バッファ生成ステップと;
前記環状バッファの特定行から開始するためのリダンダンシバージョンを明示する行明示ステップと;
前記リダンダンシバージョンと所望ビット数を受信する第2受信ステップと;
前記リダンダンシバージョンのビット位置から開始する前記所望ビット数を出力する出力ステップと
を備えることを特徴とする、割当方法。
【請求項2】
前記行明示ステップは、前記環状バッファの列の先頭から開始するリダンダンシバージョンを明示する列明示ステップを有する、請求項1記載の割当方法。
【請求項3】
前記列明示ステップは、前記環状バッファの8つの列の先頭から開始するリダンダンシバージョンを明示する8列明示ステップを有する、請求項2記載の割当方法。
【請求項4】
前記列明示ステップは、前記環状バッファの4つの列から開始するリダンダンシバージョンを明示する4列明示ステップを有する、請求項2記載の割当方法。
【請求項5】
前記割当方法は更に、前記環状バッファの先頭に関連するオフセットの位置から開始する第1リダンダンシバージョンを明示することによって、系統的ビットをパンクチャするステップを有する、請求項1記載の割当方法。
【請求項6】
前記割当方法は更に、σ番目の列の先頭から開始する第1リダンダンシバージョンを明示するステップを有し、前記σはオフセット列の数である、請求項5記載の割当方法。
【請求項7】
前記割当方法は更に、前記環状バッファから1以上の列を消去することによって短縮された短縮環状バッファを生成するステップを有する、請求項1記載の割当方法。
【請求項8】
前記割当方法は更に、前記短縮環状バッファの列の先頭から開始するリダンダンシバージョンを明示するステップを有する、請求項7記載の割当方法。
【請求項9】
前記割当方法は更に、前記短縮環状バッファの先頭に関連するオフセットの位置から開始する第1リダンダンシバージョンを明示することによって、前記系統的ビットをパンクチャするステップを有する、請求項8記載の割当方法。
【請求項10】
エンコーダ、レート整合回路、および送信回路を有する装置であって、
前記エンコーダは系統的ビットと、パリティビットの第1ブロックと、パリティビットの第2ブロックとを出力し、
前記レート整合回路は、前記前記系統的ビット、前記第1ブロック、および前記第2ブロックを受信し、ダミービットを有する環状バッファを生成し、前記環状バッファの特定行はリダンダンシバージョンの開始点を有し、前記レート整合回路は、前記環状バッファの非ダミービットを、特定リダンダンシバージョンから開始する送信機に出力し、
前記送信回路は、前記非ダミービットを受信して前記非ダミービットを送信することを特徴とする、装置。
【請求項11】
前記特定行は、前記環状バッファの先頭列を有する、請求項10記載の装置。
【請求項12】
前記環状バッファの8つの列の先頭は、リダンダンシバージョンの開始位置として明示される、請求項10記載の装置。
【請求項13】
前記環状バッファの4つの列の先頭は、リダンダンシバージョンの開始位置として明示される、請求項10記載の装置。
【請求項14】
前記環状バッファは、
インターリーブされた前記系統的ビットと;
インターリーブされ且つインターレースされた前記第1ブロックと;
インターリーブされ且つインターレースされた前記第2ブロックと
を有する、請求項10記載の装置。
【請求項15】
前記レート整合回路は、前記環状バッファの先頭に関連するオフセットの位置から開始する第1リダンダンシバージョンを明示することによって、前記系統的ビットをパンクチャする、請求項14記載の装置。
【請求項16】
前記レート整合回路は、σ番目の列の先頭から第1リダンダンシバージョンを開始し、前記σはオフセット列の数である、請求項15記載の装置。
【請求項17】
前記レート整合回路は、前記環状バッファから1以上の列を消去することによって、短縮された短縮環状バッファを生成する、請求項10記載の装置。
【請求項18】
前記レート整合回路は、前記短縮環状バッファの列の先頭から開始するリダンダンシバージョンを明示する、請求項17記載の装置。
【請求項19】
前記レート整合回路は、前記短縮環状バッファの先頭に関連するオフセットの位置から開始する第1リダンダンシバージョンを明示することによって、前記系統的ビットをパンクチャする、請求項18記載の装置。
【請求項20】
エンコーダ、レート整合回路、論理回路、および送信回路を有する装置であって、
前記エンコーダは系統的ビット、パリティビットの第1ブロック、およびパリティビットの第2ブロックを出力し、前記パリティビットの各々の長さはKstreamであり、
前記レート整合回路は前記系統的ビット、前記第1ブロック、および前記第2ブロックを受信し、前記レート整合回路は前記系統的ビット、前記第1ブロック、および前記第2ブロックを個別にインターリーブし、
前記論理回路は、データ出力を開始するデータストリーム内のビット位置に対応するリダンダンシバージョンを明示し、前記リダンダンシバージョンは天井関数[Kstream]×(C×iーσ)である位置から開始し、ここでi=0,1,...,Y−1であり、天井関数[K]はKの天井関数を表し、Cは2つの互いに隣接したリダンダンシバージョン間の列数を示し、Yは明示されたリダンダンシバージョンの数であり、σは第1リダンダンシバージョンの開始位置の列インデックスを示し、
前記データストリームは、インターリーブされた前記系統的ビットと、インターリーブされ且つインターレースされた前記第1ブロックと、インターリーブされ且つインターレースされた前記第2ブロックと、ダミービットとを有し、
前記送信回路は、特定リダンダンシバージョンから開始する非ダミービットを受信し、且つ前記非ダミービットを送信することを特徴とする、装置。
【図1】
【図2】
【図3】
【図5】
【図8】
【図12】
【図13】
【図4】
【図6】
【図7】
【図9】
【図10】
【図11】
【図2】
【図3】
【図5】
【図8】
【図12】
【図13】
【図4】
【図6】
【図7】
【図9】
【図10】
【図11】
【公表番号】特表2010−529756(P2010−529756A)
【公表日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願番号】特願2010−510563(P2010−510563)
【出願日】平成20年6月17日(2008.6.17)
【国際出願番号】PCT/US2008/067175
【国際公開番号】WO2008/157523
【国際公開日】平成20年12月24日(2008.12.24)
【出願人】(390009597)モトローラ・インコーポレイテッド (649)
【氏名又は名称原語表記】MOTOROLA INCORPORATED
【Fターム(参考)】
【公表日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願日】平成20年6月17日(2008.6.17)
【国際出願番号】PCT/US2008/067175
【国際公開番号】WO2008/157523
【国際公開日】平成20年12月24日(2008.12.24)
【出願人】(390009597)モトローラ・インコーポレイテッド (649)
【氏名又は名称原語表記】MOTOROLA INCORPORATED
【Fターム(参考)】
[ Back to top ]