JP2012084964A - レート調整装置およびレート調整方法 - Google Patents

レート調整装置およびレート調整方法 Download PDF

Info

Publication number
JP2012084964A
JP2012084964A JP2010227290A JP2010227290A JP2012084964A JP 2012084964 A JP2012084964 A JP 2012084964A JP 2010227290 A JP2010227290 A JP 2010227290A JP 2010227290 A JP2010227290 A JP 2010227290A JP 2012084964 A JP2012084964 A JP 2012084964A
Authority
JP
Japan
Prior art keywords
input data
bits
bit
punctures
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010227290A
Other languages
English (en)
Other versions
JP5521965B2 (ja
Inventor
Toshiharu Miyazaki
俊治 宮崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010227290A priority Critical patent/JP5521965B2/ja
Priority to US13/252,200 priority patent/US9203444B2/en
Publication of JP2012084964A publication Critical patent/JP2012084964A/ja
Application granted granted Critical
Publication of JP5521965B2 publication Critical patent/JP5521965B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65583GPP2
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • 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/6522Intended application, e.g. transmission or communication standard
    • H03M13/6533GPP HSDPA, e.g. HS-SCCH or DS-DSCH related
    • 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/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • 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

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)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】パンクチャ処理の処理量を低減する。
【解決手段】算出部1aは、入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、入力データのビットを連続して出力する出力数を算出する。処理部1bは、算出部1aによって算出された出力数に基づいて、入力データのビットを連続して出力し、入力データのビットのパンクチャを行う。
【選択図】図1

Description

本件は、入力データのパンクチャを行うレート調整装置、入力データのレペティションを行うレート調整装置、入力データのパンクチャを行うレート調整方法、および入力データのレペティションを行うレート調整方法に関する。
携帯電話などの無線通信装置では、送信するデータのレートを伝搬環境などに応じて調整することがある。例えば、3GPP(3rd Generation Partnership Project)で標準化されているWCDMA(Wideband Code Division Multiple Access)やHSPA(High Speed Packet Access)の通信技術では、符号化されたデータが送信される際に、誤り訂正符号化後のビット系列に対してレートマッチング処理が施される。
例えば、HSPAの誤り訂正においては、符号化率が3分の1のターボ符号が用いられ、1ビットの情報に対して2ビットのパリティビットが生成される。そして、レートマッチング処理では、伝搬路の品質に応じて誤り訂正符号化後のビット系列からビット間引き(パンクチャ)が行われたり、ビットの繰り返し(レペティション)が行われたりする。また、受信側では、レートマッチング処理後のビット系列に対して誤り訂正復号が行われる。
3GPPによって標準化されているレートマッチング処理では、判定用のパラメータeを用いたアルゴリズムによって、パンクチャまたはレペティションが行われることとなっている。例えば、パンクチャについては、入力ビットに対応した判定値eから所定の減分値e-を繰り返し減算し、減分値e-をm回(mは1以上の整数)減算した時点で判定値eの値が負になると、m番目のビットをパンクチャし、増分値e+を加算する。レペティションについては、例えば、ビットに対応した判定値eから所定の減分値e-を減算した後、判定値eの値が負になった場合、判定値eに所定の増分値e+を加算し、判定値eの値が正になるまで繰り返し増分値e+を加算するごとに同一のビットをレペティションする。
なお、従来、簡単な構成で高速にレートマッチング処理およびレートデマッチングを行うことができるレートマッチング/デマッチング処理装置が提案されている。
特開2002−199048号公報
3GPP TS 25.212 v8.0.0-v8.6.0
しかし、上記アルゴリズムでは、減分値および増分値に基づいて繰り返し判定値を算出し、パンクチャするビット位置およびレペティションするビット位置を特定するため処理量が大きいという問題点があった。
本件はこのような点に鑑みてなされたものであり、パンクチャの処理量およびレペティションの処理量を抑制するレート調整装置およびレート調整方法を提供することを目的とする。
上記課題を解決するために、入力データのパンクチャを行うレート調整装置が提供される。このレート調整装置は、前記入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、前記入力データのビットを連続して出力する出力数を算出する算出部と、前記算出部によって算出された前記出力数に基づいて前記入力データのビットを連続して出力しパンクチャする処理部と、を有する。
また、上記課題を解決するために、入力データのパンクチャを行うレート調整装置が提供される。このレート調整装置は、前記入力データのパンクチャ数がパンクチャ後の残留ビット数より大きい場合、前記入力データのビットを連続してパンクチャするパンクチャ数を算出する算出部と、前記算出部によって算出された前記パンクチャ数に基づいて前記入力データのビットを連続してパンクチャし前記入力データのビットを出力する処理部と、を有する。
さらに、上記課題を解決するために、入力データのレペティションを行うレート調整装置が提供される。このレート調整装置は、前記入力データのレペティション数が前記入力データのビット数より小さい場合、前記入力データのビットを連続して出力する出力数を算出する算出部と、前記算出部によって算出された前記出力数に基づいて前記入力データのビットを連続して出力しレペティションする処理部と、を有する。
開示の装置および方法によれば、パンクチャ処理の処理量を低減できる。また、開示の装置および方法によれば、レペティション処理の処理量を低減できる。
第1の実施の形態に係るレート処理装置を説明する図である。 第2の実施の形態に係るレート処理装置が適用される通信システムを示した図である。 3GPPのパンクチャを説明する図である。 3GPPのパンクチャ動作を説明する図である。 3GPPのパンクチャ処理のアルゴリズムの一例を示した図である。 3GPPのパンクチャパターン生成処理例を示したフローチャートである。 パンクチャビット数が大きい場合の3GPPのパンクチャを説明する図である。 パンクチャビット数が大きい場合の3GPPのパンクチャ動作を説明する図である。 3GPPのレペティションを説明する図である。 3GPPのレペティション動作を説明する図である。 3GPPのレペティション処理のアルゴリズムの一例を示した図である。 3GPPのレペティションパターン処理例を示したフローチャートである。 レペティション数が大きい場合の3GPPのレペティションを説明する図である。 レペティション数が大きい場合の3GPPのレペティション動作を説明する図である。 レペティション数の算出を説明する図のその1である。 レペティション数の算出を説明する図のその2である。 レペティション数の算出を説明する図のその3である。 レペティション数を算出する場合のレペティション処理のアルゴリズムの一例を示した図である。 レペティション数を算出する場合のレペティションパターン処理例を示したフローチャートである。 コーデック部のブロックを示した図である。 コーデック部のパンクチャ処理を説明する図である。 図21のパンクチャ動作を説明する図である。 パラメータ変数変換を行ったパンクチャ動作を説明する図である。 パンクチャ処理のアルゴリズムの一例を示した図である。 パンクチャパターン生成処理例を示したフローチャートである。 第3の実施の形態に係るコーデック部のブロックを示した図である。 コーデック部のパンクチャ処理を説明する図である。 図27のパンクチャ動作を説明する図である。 パラメータ変数変換を行ったパンクチャ動作を説明する図である。 パンクチャ処理のアルゴリズムの一例を示した図である。 第4の実施の形態に係るコーデック部のブロックを示した図である。 コーデック部のレペティション処理を説明する図である。 図32のレペティション動作を説明する図である。 パラメータ変数変換を行ったレペティション動作を説明する図である。 レペティション処理のアルゴリズムの一例を示した図である。
以下、実施の形態を、図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係るレート処理装置を説明する図である。図1の(A)には、レート処理装置1のブロックが示してある。レート処理装置1は、算出部1aおよび処理部1bを有している。
図1の(B)には、パンクチャされる入力データ2a、入力データ2aのパンクチャされる部分を示したデータ2b、およびパンクチャされた出力データ2cが示してある。
算出部1aは、入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、入力データのビットを連続して出力する出力数を算出する。
例えば、図1の(B)では、入力データ2aのパンクチャ数がパンクチャ後の残留ビット数(出力データ2cのビット数)より小さい場合を示している。図1の(B)のデータ2bの斜線部分は、入力データ2aのそのまま出力されるビット部分を示し、データ2bの空白部分は、入力データ2aのパンクチャされるビット部分を示している。この場合、算出部1aは、例えば、データ2bの空白部分で区切られた斜線部分のビット数を算出する。
処理部1bは、算出部1aによって算出された出力数に基づいて、入力データのビットを連続して出力しパンクチャを行う。
例えば、処理部1bは、データ2bに示すように、空白部分で区切られた斜線部分の入力データ2aを図1の左側から、算出された出力数に基づき連続して順次出力して、入力データ2aのビットをパンクチャする。
このように、算出部1aは、入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、入力データのビットを連続して出力する出力数を算出する。そして、処理部1bは、算出した出力数に基づいて入力データのパンクチャ処理を行う。これにより、レート処理装置1は、例えば、入力データを1ビットずつパンクチャするか否か判定値に基づいて判断せずに済み、パンクチャ処理の処理量を低減することができる。
[第2の実施の形態]
次に、第2の実施の形態を、図面を参照して詳細に説明する。
図2は、第2の実施の形態に係るレート処理装置が適用される通信システムを示した図である。図2には、送信装置10と受信装置20とが示してある。送信装置10および受信装置20は、例えば、携帯電話システムの基地局および携帯電話である。
送信装置10は、上位レイヤ処理部11、コーデック部12、およびモデム処理部13を有している。
上位レイヤ処理部11からは、受信装置20に送信するデータが出力される。例えば、ユーザの音声データや画像データなどが出力される。
コーデック部12は、上位レイヤ処理部11から出力されるデータの符号化処理を行う。例えば、コーデック部12は、上位レイヤ処理部11から出力されるデータの誤り検出符号化、誤り訂正符号化処理、レートマッチング処理、インターリーブ処理等を行う。
コーデック部12は、メモリ12aおよびCPU(Central Processing Unit)12bを有している。メモリ12aには、CPU12bによって実行される符号化処理のプログラムが記憶されている。コーデック部12は、例えば、図1で説明したレート処理装置に対応する。
モデム処理部13は、コーデック部12によって符号化処理されたデータの変調処理を行う。変調処理されたデータは、アンテナを介して受信装置20に無線送信される。
受信装置20は、モデム処理部21、コーデック部22、復号器23、および上位レイヤ処理部24を有している。
モデム処理部21は、送信装置10から無線送信されたデータの復調処理を行う。
コーデック部22は、モデム処理部21によって復調されたデータの復号に関連する処理を行う。例えば、コーデック部22は、モデム処理部21から出力されるデータのデレートマッチング処理等を行う。
コーデック部22は、メモリ22aおよびCPU22bを有している。メモリ22aには、CPU22bによって実行される処理のプログラムが記憶されている。コーデック部22は、例えば、図1で説明したレート処理装置に対応する。
復号器23は、コーデック部22によって処理されたデータの復号処理を行う。例えば、復号器23は、コーデック部22によって処理されたデータのチャネル復号処理を行う。
上位レイヤ処理部24は、例えば、復号器23によって復号されたデータを図示しないディスプレイに表示したり、または、スピーカなどから音声を出力したりする。
なお、図2では、送信装置10と受信装置20を別々に示しているが1つの装置に送信装置10と受信装置20が組み込まれていてもよい。
次に、コーデック部12,22の機能について説明するが、その前に、図3〜図14を用いて、3GPPのパンクチャ処理およびレペティション処理について説明する。
図3は、3GPPのパンクチャを説明する図である。図3には、レートマッチング処理前(パンクチャ処理前)の符号化された符号化ビット31aが示してある。
パンクチャ処理は、符号化ビット31aのビットxk(k=0,…,Xi−1)から、指定されたビット数分だけパンクチャする。図3に示す符号化ビット31bの空白部分は、符号化ビット31aのパンクチャされる部分を示している。
符号化ビット31cは、符号化ビット31aのパンクチャ後のビット列を示している。パンクチャ結果のビット列をyk(k=0,…,Yi−1)とする。なお、Xi,Yiは、レートマッチング処理前後(パンクチャまたはレペティション処理前後)のビットサイズとする。
図4は、3GPPのパンクチャ動作を説明する図である。パンクチャのビット位置やパンクチャ数は、初期値eini、増分値e+、および減分値e-のパラメータ変数によって決まる。図4に示す上向きの矢印32aは増分値e+を示し、下向きの矢印32bは、減分値e-を示す。
図4に示すグラフの横軸は、パンクチャ処理される入力データのビット位置を示す。例えば、図3に示した符号化ビット31aのビット位置を示す。縦軸は判定値e(以下ではエラー変数と呼ぶこともある)を示し、エラー変数eが0以下になったとき、その入力ビットをパンクチャする。図4の矢印32cは、パンクチャされる入力データのビット位置を示している。
図5は、3GPPのパンクチャ処理のアルゴリズムの一例を示した図である。図5に示す処理33aは、入力データの全ビットにおいて、パンクチャ処理を繰り返すことを示している。
処理33bは、エラー変数eから減分値e-を減算し、減算したエラー変数eが0以下であるか判断している。処理33bは、エラー変数eが0以下になった場合、入力データのビットをパンクチャし、0以下でない場合、入力データのビットをそのまま(パンクチャせずに)出力することを示している。
図6は、3GPPのパンクチャパターン生成処理例を示したフローチャートである。以下でも述べるが、図6のフローチャートは、パンクチャビットのインデックスと、パンクチャされる入力データのビット位置との関係を求める処理を示している。
[ステップS1]コーデック部は、変数m,nを0に初期化する。変数mは、入力データのビット位置に対応する変数であり、変数nは、出力データのビット位置に対応する変数である。また、コーデック部は、エラー変数eに初期値e_iを代入する。
[ステップS2]コーデック部は、変数mが入力データのビット数Xiより小さいか否か判断する。コーデック部は、変数mが入力データのビット数Xiより小さい場合、ステップS3へ進む。コーデック部は、変数mが入力データのビット数Xi以上の場合、処理を終了する。
[ステップS3]コーデック部は、エラー変数eから減分値e_mを減算する。
[ステップS4]コーデック部は、エラー変数eが0以下であるか否か判断する。コーデック部は、エラー変数eが0以下の場合、ステップS5へ進む。コーデック部は、エラー変数eが0より大きい場合、ステップS6へ進む。
[ステップS5]コーデック部は、エラー変数eに増分値e_pを加算する。
[ステップS6]コーデック部は、配列P[n]にmを格納する。
[ステップS7]コーデック部は、変数nに1を加算する。
[ステップS8]コーデック部は、変数mに1を加算する。
なお、上記のe_i、e_p、およびe_mは、図4で説明したeini、e+、およびe-に対応する。
上述したように、図6のフローチャートは、パンクチャビットのインデックスと、パンクチャされる入力データのビット位置との関係を求める処理を示している。例えば、パンクチャビットのインデックスは、図4に示す矢印32cの左から0,1,2,…と付与される。そして、パンクチャビットのインデックスを配列P[n]のnに代入すると、パンクチャされる入力データのビット位置が求まる。
例えば、図4の例の場合、P[0]=0、P[1]=6、P[2]=12となる。すなわち、図6の処理によって求めた配列P[n]から、パンクチャされる入力データのビット位置が分かる。
次に、図3のパンクチャに対し、パンクチャビット数が大きい場合の例について説明する。
図7は、パンクチャビット数が大きい場合の3GPPのパンクチャを説明する図である。図7には、パンクチャ処理前の符号化された符号化ビット34aが示してある。
パンクチャ処理は、図3で説明したように、符号化ビット34aのビットから、指定されたビット数分だけパンクチャする。図7に示す符号化ビット34bの空白部分は、符号化ビット34aのパンクチャされる部分を示している。
図7では、符号化ビット34bの空白部分が、図3の符号化ビット31bの空白部分より大きくなっている。すなわち、図7の例は、図3のパンクチャビット数より大きい場合の例を示している。
図8は、パンクチャビット数が大きい場合の3GPPのパンクチャ動作を説明する図である。図4で説明したように、パンクチャのビット位置やパンクチャ数は、初期値eini、増分値e+、および減分値e-のパラメータ変数によって決まる。従って、例えば、図8に示すように、初期値eini、増分値e+、および減分値e-を設定することにより、パンクチャビット数を大きくすることができる。図8に示す上向きの矢印35aは増分値e+を示し、下向きの矢印35bは、減分値e-を示す。
図8に示すグラフの横軸は、パンクチャ処理される入力データのビット位置を示す。例えば、図7に示した符号化ビット34aのビット位置を示す。縦軸はエラー変数eを示し、エラー変数eが0以下であるとき、その入力ビットをパンクチャする。図8の矢印35cは、入力データの残留ビット位置(パンクチャされないビット位置)を示している。
パンクチャビット数が大きい場合のアルゴリズムは、図5と同様であるのでその説明を省略する。また、パンクチャビット数が大きい場合のフローチャートは、図6と同様であるのでその説明を省略する。
レペティション処理について説明する。
図9は、3GPPのレペティションを説明する図である。図9には、レートマッチング処理前(レペティション処理前)の符号化された符号化ビット36aが示してある。
レペティション処理は、符号化ビット36aのビットxk(k=0,…,Xi−1)の何れかを繰り返し出力する。図9に示す符号化ビット36bの斜線部分は、符号化ビット36aのレペティション(繰り返し出力)された部分を示している。
符号化ビット36bは、符号化ビット36aをレペティションした結果のビット列を示している。レペティション結果のビット列をyk(k=0,…,Yi−1)とする。なお、Xi,Yiは、レートマッチング処理前後のビットサイズとする。
図10は、3GPPのレペティション動作を説明する図である。レペティションのビット位置やレペティション数は、初期値eini、増分値e+、および減分値e-のパラメータ変数によって決まる。図10に示す上向きの矢印37aは増分値e+を示し、下向きの矢印37bは、減分値e-を示す。
図10に示すグラフの横軸は、レペティション後の出力データのビット位置を示す。例えば、図9に示した符号化ビット36bのビット位置を示す。縦軸はエラー変数eを示し、エラー変数eが0以下になったとき、入力ビットをレペティションする。図10の矢印37cは、入力データのレペティションされるビット位置を示している。
図11は、3GPPのレペティション処理のアルゴリズムの一例を示した図である。図11に示す処理38aは、入力データの全ビットにおいて、処理38a以下の処理を繰り返すことを示している。
処理38bは、エラー変数eから減分値e-を減算し、減算したエラー変数eが0以下であるか判断している。処理38bは、エラー変数eが0以下になった場合、エラー変数が0以下である限り、入力データの同じビットを繰り返して出力することを示している。
処理38cは、エラー変数eが0以下でない場合の処理を示し、入力データのビットをそのまま出力することを示している。
図12は、3GPPのレペティションパターン処理例を示したフローチャートである。以下でも述べるが、図12のフローチャートは、入力データのビット位置と、そのビット位置のビットが繰り返し出力される回数との関係を求める処理を示している。
[ステップS11]コーデック部は、変数m,nを0に初期化する。変数mは、入力データのビット位置に対応する変数であり、変数nは、出力データのビット位置に対応する変数である。また、コーデック部は、エラー変数eに初期値e_iを代入する。
[ステップS12]コーデック部は、変数mが入力データのビット数Xiより小さいか否か判断する。コーデック部は、変数mが入力データのビット数Xiより小さい場合、ステップS13へ進む。コーデック部は、変数mが出力データのビット数Xi以上の場合、処理を終了する。
[ステップS13]コーデック部は、エラー変数eから減分値e_mを減算する。
[ステップS14]コーデック部は、配列P[m]に1を格納する。
[ステップS15]コーデック部は、変数nに1を加算する。
[ステップS16]コーデック部は、エラー変数eが0以下であるか否か判断する。コーデック部は、エラー変数eが0以下の場合、ステップS17へ進む。コーデック部は、エラー変数eが0より大きい場合、ステップS20へ進む。
[ステップS17]コーデック部は、エラー変数eに増分値e_pを加算する。
[ステップS18]コーデック部は、配列P[m]に格納されている値に1を加算する。
[ステップS19]コーデック部は、変数nに1を加算する。コーデック部は、ステップS16の処理へ戻る。
[ステップS20]コーデック部は、変数mに1を加算する。
上述したように、図12のフローチャートは、入力データのビット位置と、そのビット位置のビットが繰り返し出力される回数との関係を求める処理を示している。例えば、図12のフローチャートで求まった配列のP[m]のmに入力データのビット位置を代入すると、そのビット位置のビットが繰り返し出力される回数が求まる。
例えば、図10の例の場合、P[0]=1、P[1]=1、P[2]=1、P[3]=1、P[4]=2、P[5]=1、…となる。すなわち、図10の処理によって求めた配列P[m]から、入力データのビットのレペティション数が分かる。
次に、図9のレペティションに対し、レペティション数が大きい場合の例について説明する。
図13は、レペティション数が大きい場合の3GPPのレペティションを説明する図である。図13には、レペティション処理前の符号化された符号化ビット39aが示してある。
レペティション処理は、図9で説明したように、符号化ビット39aのビットの何れかを繰り返し出力する。図13に示す符号化ビット39bの斜線部分は、符号化ビット39aのレペティション(繰り返し出力)された部分を示している。
図13では、符号化ビット39bの斜線部分が、図9の符号化ビット36bの斜線部分より大きくなっている。すなわち、図13の例は、図9のレペティション数より大きい場合の例を示している。
図14は、レペティション数が大きい場合の3GPPのレペティション動作を説明する図である。図10で説明したように、入力データのビットのレペティション位置やレペティション数は、初期値eini、増分値e+、および減分値e-のパラメータ変数によって決まる。従って、例えば、図14に示すように、初期値eini、増分値e+、および減分値e-を設定することにより、レペティション数を大きくすることができる。図14に示す上向きの矢印40aは増分値e+を示し、下向きの矢印40bは、減分値e-を示す。
図14に示すグラフの横軸は、レペティション後の出力データのビット位置を示す。例えば、図13に示した符号化ビット39bのビット位置を示す。縦軸はエラー変数eを示し、エラー変数が0以下である間は、入力ビットはレペティションされる。図14の矢印40cは、レペティションされない(レペティション数1)入力データのビット位置を示している。
レペティション数が大きい場合のアルゴリズムは、図11と同様であるのでその説明を省略する。また、レペティション数が大きい場合のフローチャートは、図12と同様であるのでその説明を省略する。
ここで、レペティション処理において、レペティション数が大きくなると、例えば、図11に示した処理38bのループ処理(while処理)が増加する。また、図12に示したステップS17〜S19の処理が増加する。そのため、例えば、図9のレペティション処理に対し、図13のレペティション処理は、処理負担が大きくなる。そこで、レペティション数を予め算出することにより、例えば、図13のレペティション処理負担を低減することができる。
図15は、レペティション数の算出を説明する図のその1である。図10で説明したように、入力データのビットのレペティション位置やレペティション数は、初期値eini、増分値e+、および減分値e-のパラメータ変数によって決まる。従って、例えば、図15に示すように、初期値eini、増分値e+、および減分値e-を設定することにより、レペティション数を大きくすることができる。また、パラメータ変数の設定によって、レペティション数を変えることができる。
例えば、図15の例の場合、レペティション数は、5,4,5,…と変化し、入力データの0ビット目は、5回繰り返されて出力され、1ビット目は4回繰り返されて出力されている。図15に示す上向きの矢印41aは増分値e+を示し、下向きの矢印41bは、減分値e-を示す。
図15に示すグラフの横軸は、レペティション後の出力データのビット位置を示す。縦軸はエラー変数を示し、エラー変数が0以下である間は、入力ビットはレペティションされる。図15の矢印41cは、レペティションされない入力データのビット位置を示している。
図16は、レペティション数の算出を説明する図のその2である。図16のパラメータ変数は、図15と同様であるとする。すなわち、レペティション数は、5,4,5,…と変化している。
図16に示すグラフの横軸は、入力データのビット位置を示す。縦軸はエラー変数を示し、エラー変数が0以下である間は、入力ビットはレペティションされる。図16に示す上向きの矢印42aは増分値e+を示し、下向きの矢印42bは、減分値e-を示す。
図16のグラフは、図15のグラフの横軸を圧縮した形となっている。図16に示すように、入力データの0ビット目(m=0)は5回繰り返され、入力データの1ビット目(m=1)は4回繰り返されていることが分かる。
すなわち、減分値e-を示す矢印42bの矢先と、図16に示す横方向の点線(e=e+)との間に含まれる増分値e+、つまり、矢印42aの数をカウントすることにより、入力ビットのレペティション数を算出することができる。例えば、図16に示すレペティション数42cは、入力データの2ビット目(m=2)のレペティション数を示し、5であることが分かる。
図17は、レペティション数の算出を説明する図のその3である。図17のパラメータ変数は、図15、図16と同様であるとする。図17において図16と同じものには同じ符号を付し、その説明を省略する。
入力ビットのレペティション数を算出するには、図17の基準レペティション数43a(入力ビットをレペティションする基準となる数)を算出する。基準レペティション数は、次の式(1)により算出できる。
Figure 2012084964
入力ビットのレペティション数は、原則、基準レペティション数43aとする。ただし、図17のm=1に示すように、レペティション数が基準レペティション数より1小さい場合がある。すなわち、エラー変数eが点線43bを超える場合、レペティション数は、基準レペティション数より1小さくなる。
そこで、エラー変数eが、入力ビットの1ビットごとに対応して、そのビットが基準レペティション数より1小さくなるビットであるか否かを示すようにするための基準剰余数を算出する。基準剰余数は、増分値e+、減分値e-に基づいて算出され、次の式(2)より算出される。
Figure 2012084964
式(2)の基準剰余数は、図17の矢印43cを示している。従って、エラー変数eに基準剰余数を加算していき(エラー変数の初期値はeini)、エラー変数eが増分値e+より大きくなった場合、エラー変数から増分値e+を減算するようにする。
これにより、エラー変数eは、例えば、図17の矢印43dに示すように変化する。すなわち、エラー変数eは、基準剰余数の導入により、入力ビットの1ビットごとに対応して、そのビットが基準レペティション数より1小さくなるビットであるか否かを示すようになる。
そして、図17に示すように、基準剰余数を導入したエラー変数eが点線43b(増分値e+)より小さい場合、その入力ビットのレペティション数を、基準レペティションから1減算すれば、適切なレペティション結果を得ることができる。
例えば、図17の例の場合、基準レペティション数は5となる。エラー変数eがe+を超える入力ビット(例えば、m=1)に対しては、基準レペティションから1を減算した4がレペティション数となる。これにより、例えば、図15のように、エラー変数eを逐次演算して、入力ビットがレペティションされるか否か判断しなくて済み、1度の演算で入力ビットが何回レペティションされるか求めることができる。よって、処理量を低減することができる。
図18は、レペティション数を算出する場合のレペティション処理のアルゴリズムの一例を示した図である。図18に示す処理44aは、基準レペティション数を算出している。処理44bは、基準剰余数を算出している。
処理44cは、入力データの全ビットにおいて、レペティション処理を繰り返すことを示している。
処理44dは、エラー変数eに基準剰余数er0を加算し、変数k0に基準レペティション数を加算することを示している。そして、エラー変数eが増分値e+より大きい場合、エラー変数eから増分値e+を減算することを示している。そして、変数k0から1を減算することを示している。
処理44eは、変数k0の示す値分、入力ビットをレペティションして出力することを示している。
図18のレペティション処理では、図11のレペティション処理に対し、繰り返し処理する処理量(処理38bのwhileに含まれる処理量)が低減される。
図19は、レペティション数を算出する場合のレペティションパターン処理例を示したフローチャートである。以下でも述べるが、図19のフローチャートは、入力データのビット位置と、そのビット位置のビットが繰り返し出力される回数との関係を求める処理を示している。
[ステップS31]コーデック部は、変数m,nを0に初期化する。変数mは、入力データのビット位置に対応する変数であり、変数nは、出力データのビット位置に対応する変数である。また、コーデック部は、エラー変数eに初期値e_iを代入する。また、コーデック部は、変数k0に0を代入する。
[ステップS32]コーデック部は、変数mが入力データのビット数Xiより小さいか否か判断する。コーデック部は、変数mが入力データのビット数Xiより小さい場合、ステップS33へ進む。コーデック部は、変数mが入力データのビット数Xi以上の場合、処理を終了する。
[ステップS33]コーデック部は、エラー変数eに基準剰余数er0を加算する。また、コーデック部は、変数k0に基準レペティション数を加算する。
[ステップS34]コーデック部は、エラー変数eが増分値e_pより大きいか否か判断する。コーデック部は、エラー変数eが増分値e_pより大きい場合、ステップS35へ進む。コーデック部は、エラー変数eが増分値e_p以下の場合、ステップS36へ進む。
[ステップS35]コーデック部は、エラー変数eから増分値e_pを減算する。また、コーデック部は、変数k0から1を減算する。
[ステップS36]コーデック部は、配列P[m]に1を加算した変数k0を格納する。コーデック部は、変数k0に0を代入する。
[ステップS37]コーデック部S37は、変数mに1を加算し、ステップS32へ進む。
上述したように、図19のフローチャートは、入力データのビット位置と、そのビット位置のビットが繰り返し出力される回数との関係を求める処理を示している。例えば、図12のフローチャートで求まった配列のP[m]のmに入力データのビット位置を代入すると、そのビット位置のビットが繰り返し出力される回数が求まる。
例えば、図17の例の場合、P[0]=5、P[1]=4、P[2]=5、…となる。すなわち、図19の処理によって求めた配列P[m]から、入力データのビットのレペティション数が分かる。
図19の処理では、図12の処理に対し、ステップS16〜S19の繰り返し処理が低減される。
図2のコーデック部12,22の説明に戻る。コーデック部22は、コーデック部12と同様の機能を有するので、以下では、コーデック部12について説明する。なお、以下では、図15から図19で説明したレペティション数の算出方法をレペティション基準形と呼ぶことがある。
図20は、コーデック部のブロックを示した図である。図20に示すように、コーデック部12は、出力数算出部51およびパンクチャ処理部52を有している。コーデック部12は、例えば、HSPAのデータ伝送チャネルHS−DSCH(High Speed-physical Downlink Shared CHannel)の符号化処理を行う。コーデック部12は、例えば、図2で示したCPU12bがメモリ12aに記憶されているプログラムを実行することによって、図20のブロックの機能を実現する。
出力数算出部51は、入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、入力データのビットをそのまま順次連続して出力する基準出力数を算出する。
パンクチャ処理部52は、出力数算出部51によって算出された基準出力数に基づいて、入力データのビットを連続して出力し、入力データのビットのパンクチャを行う。
図21は、コーデック部のパンクチャ処理を説明する図である。図21には、パンクチャ処理前のターボ符号化された符号化ビット61aが示してある。符号化ビット61aは、組織ビット61aa、パリティビット61ab(パリティ系列1)、およびパリティビット61ac(パリティ系列2)から形成されている。
HSPAの1stレートマッチングでは、例えば、ターボ符号化後のビット数がH−ARQ(Hybrid Automatic Repeat reQuest)ソフトバッファサイズを超える場合にパンクチャ処理が適用され、出力ビットはソフトバッファサイズに制限される。
パンクチャ処理は、符号化ビット61aのパリティ系列1,2に対し、それぞれ独立に適用される。パリティ系列1,2に対するパンクチャ処理の違いは、パラメータ変数であり、以下では、パリティ系列1を例に説明する。
パンクチャ処理は、パリティビット61abのビットxk(k=0,…,Xi−1)から、指定されたビット数分だけパンクチャする。図21に示す符号化ビット61bの空白部分は、パリティビット61ab,61acのパンクチャされる部分を示している。
符号化ビット61cは、符号化ビット61aをパンクチャした結果のビット列を示している。パリティビット61abのパンクチャ結果のビット列をyk(k=0,…,Yi−1)とする。なお、Xi,Yiは、パリティビット61abのパンクチャ処理前後のビットサイズとする。
図21のパンクチャは、2M<X(M:パンクチャ数、X:パリティビット61abのビット数)の関係にあるとする。すなわち、図21のパンクチャは、入力データ(パリティビット61ab)のパンクチャ数が、パンクチャ後の残留ビットより小さい関係にあるとする。
図22は、図21のパンクチャ動作を説明する図である。パンクチャのビット位置やパンクチャ数は、初期値eini、増分値e+、および減分値e-のパラメータ変数によって決まる。従って、入力データのパンクチャ数がパンクチャ後の残留ビット数より小さいか否かは、初期値eini、増分値e+、および減分値e-より知ることができる。図22に示す上向きの矢印62aは増分値e+を示し、下向きの矢印62bは、減分値e-を示す。
図22に示すグラフの横軸は、パンクチャ処理される入力データのビット位置を示す。例えば、図21に示したパリティビット61abのビット位置を示す。縦軸は判定値eを示し、エラー変数eが0以下になったとき、その入力ビットはパンクチャされる。図22の矢印62cは、パンクチャされる入力データのビット位置を示している。
図22のグラフにおいて、横軸を軸にグラフを反転させると、図15に示すレペティション基準形と同様の形となる。すなわち、パラメータ変数を横軸で反転するように変換することによって、レペティション基準形と同様に処理量を低減することが可能となる。
図23は、パラメータ変数変換を行ったパンクチャ動作を説明する図である。図23では、次の式(3)に示すようにパラメータ変数変換を行い、横軸を圧縮したグラフを示している。
Figure 2012084964
図23の横軸はパリティビット61abのパンクチャされるパンクチャビットのインデックスを示し、縦軸はパラメータ変数変換したエラー変数Fを示している。矢印63aは、パラメータ変数変換した増分値F+を示している。矢印63bは、パラメータ変数変換した減分値F-を示している。矢印63cは、パリティビット61abのパンクチャされるビットのインデックスを示している。
すなわち、2M<Xのパンクチャ処理の場合、式(3)に示すパラメータ変数変換によって、図17に示すレペティション基準形と同様の形となる。
図24は、パンクチャ処理のアルゴリズムの一例を示した図である。出力数算出部51は、図24に示す処理64aを行う。処理64aは、式(3)に示したパラメータ変数変換の処理を示している。すなわち、出力数算出部51は、図22に示したグラフが横軸を軸に反転するようにパラメータ変数変換を行う。
出力数算出部51は、処理64bを行う。処理64bは、パラメータ変数変換したパラメータより、基準出力数Fk0(入力ビットを連続してそのまま出力する回数)と基準剰余数Fr0を算出する処理を示している。処理64bは、図18で示した処理44a,44bと同様である。
パンクチャ処理部52は、処理64cを行う。処理64cは、パラメータ変数変換による変数k0の初期値補正値を算出している。
パンクチャ処理部52は、処理64dを行う。処理64dは、変数F,m,n,k0の初期設定を行う。なお、レペティション処理の場合、出力ビットの先頭ビットは、入力ビットの先頭ビットなる。一方、パンクチャするビットは、入力ビットの途中から始まる場合もある。そこで、パンクチャ処理部52は、残留ビットが途中から始まる場合を想定し、仮想的な残留ビットを入出力ビットインデックスとして挿入するためにn=m=−1とする。
パンクチャ処理部52は、処理64eを行う。処理64eは、入力データの全ビットにおいて、パンクチャ処理を繰り返すことを示している。また、処理64eは、エラー変数Fに基準剰余数Fr0を加算し、変数k0に基準出力数Fk0を加算することを示している。また、処理64eは、エラー変数Fが増分値F+より大きい場合、エラー変数Fから増分値F+を減算し、変数k0から1を減算することを示している。また、処理64eは、変数k0の示す値分、入力ビットを出力ビットとして出力することを示している。なお、処理64eは、図18の処理44c〜44eと同様である。
すなわち、出力数算出部51は、入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、パンクチャの有無判定に用いられる増分値e+,減分値e-をパラメータ変数変換し、入力データのビットを連続してそのまま出力する基準出力数Fk0を算出する。そして、パンクチャ処理部52は、基準出力数Fk0または基準出力数Fk0から1減算した減算基準出力数、連続して入力ビットを出力した後、入力データのビットをパンクチャする。これにより、図21のパンクチャ処理は、図3のパンクチャ処理に対し、繰り返し処理する処理量が低減される。
なお、処理64cは、エラー変数の初期値を変数n=−1から始めて、n=0から次の入力ビットまでの間の2段目のwhileループ処理数が、先頭の繰り返し数に相当するようにk0iを算出している。一方、入力ビットを連続してそのまま出力する回数は、基準出力数Fk0かそれより1小さい数となる。従って、パンクチャ処理部52は、n=m=−1に対しての出力数のみ、先頭の繰り返し数に等しくなるよう、基準出力数Fk0の初期値から補正値を差し引いておく。また、パンクチャ処理部52は、処理64dのエラー変数Fについても、1回のエラー変数の更新処理により、条件0<e<e+を満たすように補正する。
図25は、パンクチャパターン生成処理例を示したフローチャートである。以下でも述べるが、図25のフローチャートは、入力データのビット位置と、そのビット位置のビットが繰り返し出力される回数との関係を求める処理を示している。図25のフローチャートには示していないが、出力数算出部51は、式(3)で示したパラメータ変数変換を行っているとする。また、出力数算出部51は、基準出力数Fk0および基準剰余数Fr0を算出しているとする。
[ステップS41]パンクチャ処理部52は、変数m,nを−1に初期化する。変数mは、入力データのビット位置に対応する変数であり、変数nは、出力データのビット位置に対応する変数である。また、パンクチャ処理部52は、エラー変数Fおよび変数k0を初期化する。
[ステップS42]パンクチャ処理部52は、変数nがパンクチャビット数N(インデックスの最大値)より小さいか否か判断する。パンクチャ処理部52は、変数nがNより小さい場合、ステップS43へ進む。パンクチャ処理部52は、変数nがN以上の場合、処理を終了する。
[ステップS43]パンクチャ処理部52は、パラメータ変数変換したエラー変数Fに基準剰余数Fr0を加算する。また、パンクチャ処理部52は、変数k0に基準出力数Fk0を加算する。
[ステップS44]パンクチャ処理部52は、エラー変数Fが増分値F_p以上か否か判断する。パンクチャ処理部52は、エラー変数Fが増分値F_p以上の場合、ステップS45へ進む。パンクチャ処理部52は、エラー変数Fが増分値F_pより小さい場合、ステップS46へ進む。
[ステップS45]パンクチャ処理部52は、エラー変数Fから増分値F_pを減算する。また、パンクチャ処理部52は、変数k0から1を減算する。
[ステップS46]パンクチャ処理部52は、配列P[n]に変数mの値を格納する。
[ステップS47]パンクチャ処理部52は、変数mに変数k0を加算し、変数nに1を加算し、ステップS42へ進む。
上述したように、図25のフローチャートは、パンクチャビットのインデックスと、パンクチャされる入力データのビット位置との関係を求める処理を示している。例えば、パンクチャビットのインデックスは、図23に示す矢印63cの左から0,1,2,…と付与される。そして、パンクチャビットのインデックスを配列P[n]のnに代入すると、パンクチャされる入力データのビット位置が求まる。
例えば、図4の例の場合、P[0]=0、P[1]=6、P[2]=12となる。すなわち、図25の処理によって求めた配列P[n]から、パンクチャされる入力データのビット位置が分かる。すなわち、パンクチャ処理部52は、基準出力数Fk0により入力ビットをパンクチャするビット位置が分かるので、これにより入力ビットをそのまま連続して出力し、入力ビットをパンクチャすることもできる。
なお、図25の処理では、図6の処理に対し、N回の繰り返し処理で済み、処理を低減することができる。
このように、出力数算出部51は、入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、入力データのビットを連続して出力する基準出力数を算出する。そして、パンクチャ処理部52は、算出した基準出力数に基づいて入力データのパンクチャ処理を行う。これにより、コーデック部12は、パンクチャする入力ビットの位置を逐次特定でき、処理量を低減することができる。例えば、パンクチャするビットを特定するのに必要な処理は、たかだか、従来の入力ビットの1ビット当たりの判定処理に要していた処理量の2倍程度で済むので、X/2M倍程度の処理量削減となる。
なお、上記の第2の実施の形態は、HS−DSCHの2ndレートマッチングにも適用することができる。
[第3の実施の形態]
次に、第3の実施の形態を、図面を参照して詳細に説明する。第2の実施の形態では、入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合の処理低減について説明した。第3の実施の形態では、入力データのパンクチャ数がパンクチャ後の残留ビット数より大きい場合の例について説明する。なお、第3の実施の形態に係るレート処理装置が適用される通信システムは図2と同様であり、その説明を省略する。
図26は、第3の実施の形態に係るコーデック部のブロックを示した図である。図26に示すように、コーデック部12は、パンクチャ数算出部71およびパンクチャ処理部72を有している。コーデック部12は、例えば、HSPAのデータ伝送チャネルHS−DSCHの符号化処理を行う。コーデック部12は、例えば、図2で示したCPU12bがメモリ12aに記憶されているプログラムを実行することによって、図26のブロックの機能を実現する。
パンクチャ数算出部71は、入力データのパンクチャ数がパンクチャ後の残留ビット数より大きい場合、入力データのビットを連続してパンクチャする基準パンクチャ数を算出する。
パンクチャ処理部72は、パンクチャ数算出部71によって算出された基準パンクチャ数に基づいて、入力データのビットを連続してパンクチャし、入力データのビットを出力する。
図27は、コーデック部のパンクチャ処理を説明する図である。図27には、パンクチャ処理前のターボ符号化された符号化ビット81aが示してある。符号化ビット81aは、組織ビット81aa、パリティビット81ab(パリティ系列1)、およびパリティビット81ac(パリティ系列2)から形成されている。
HSPAの1stレートマッチングでは、例えば、ターボ符号化後のビット数がH−ARQソフトバッファサイズを超える場合にパンクチャ処理が適用され、出力ビットはソフトバッファサイズに制限される。
パンクチャ処理は、符号化ビット81aのパリティ系列1,2に対し、それぞれ独立に適用される。パリティ系列1,2に対するパンクチャ処理の違いは、パラメータ変数であり、以下では、パリティ系列1を例に説明する。
パンクチャ処理は、パリティビット81abのビットxk(k=0,…,Xi−1)から、指定されたビット数分だけパンクチャする。図27に示す符号化ビット81bの空白部分は、パリティビット81ab,81acのパンクチャされる部分を示している。
符号化ビット81cは、符号化ビット81aをパンクチャした結果のビット列を示している。パリティビット81abのパンクチャ結果のビット列をyk(k=0,…,Yi−1)とする。なお、Xi,Yiは、パリティビット81abのパンクチャ処理前後のビットサイズとする。
図27のパンクチャは、2N<X(N:残留ビット数、X:パリティビット81abのビット数)の関係にあるとする。すなわち、図27のパンクチャは、入力データ(パリティビット81ab)のパンクチャ数が、パンクチャ後の残留ビットより大きい関係にあるとする。
図28は、図27のパンクチャ動作を説明する図である。パンクチャのビット位置やパンクチャ数は、初期値eini、増分値e+、および減分値e-のパラメータ変数によって決まる。図28に示す上向きの点線矢印82aは増分値e+を示し、下向きの点線矢印82bは、減分値e-を示す。
図28に示すグラフの横軸は、パンクチャ処理される入力データのビット位置を示す。例えば、図27に示したパリティビット81abのビット位置を示す。縦軸は判定値を示し、エラー変数eが0以下になったとき、その入力ビットはパンクチャされる。図28の矢印82cは、パンクチャされる入力データのビット位置を示している。
図28のグラフにおいて、点線矢印82a,82bに示す増分値e+、減分値e-を矢印82d,82eに示すようにパラメータ変数変換し、初期値einiを初期値finiにパラメータ変数変換すれば、図22で示した形と同様になる。
従って、入力データのパンクチャ数が、パンクチャ後の残留ビットより大きい関係にある場合、図28の点線波形を実線波形に示すようにパラメータ変数変換すれば、第2の実施の形態で説明したパラメータ変数変換を行うことにより、処理量を低減することができる。
次の式(4)は、入力データのパンクチャ数が、パンクチャ後の残留ビットより大きい関係にある場合のパラメータ変数変換に関する式を示している。
Figure 2012084964
式(4)の一番上の式は、例えば、図28の矢印82dを算出していることを示している。式(4)の上から2番目の式は、例えば、図28の矢印82eを算出していることを示している。式(4)の上から3〜5番目の式は、例えば、図28の初期値finiを算出していることを示している。
図29は、パラメータ変数変換を行ったパンクチャ動作を説明する図である。図28の実線波形(式(4))を、次の式(5)に示すようにパラメータ変数変換を行い(第2の実施の形態で説明したパラメータ変換を行い)、横軸を圧縮すると図29に示すようになる。
Figure 2012084964
図29の横軸はパリティビット81abの残留ビットのインデックスを示し、縦軸はパラメータ変数変換したエラー変数Fを示している。矢印83aは、パラメータ変数変換した増分値F+を示している。矢印83bは、パラメータ変数変換した減分値F-を示している。矢印83cは、パリティビット81abの残留ビットのインデックスを示している。
すなわち、パンクチャ数算出部71は、2N<Xのパンクチャ処理の場合、式(4),(5)に示すパラメータ変数変換によって、図17に示すレペティション基準形と同様の形に変換することができる。
図30は、パンクチャ処理のアルゴリズムの一例を示した図である。パンクチャ数算出部71は、図30に示す処理84aを行う。処理84aは、式(4)に示したパラメータ変数変換の処理を示している。すなわち、パンクチャ数算出部71は、図28に示した点線波形が実線波形となるようにパラメータ変数変換を行う。
パンクチャ数算出部71およびパンクチャ処理部72は、処理84bを行う。処理84bは、図24で説明した処理64a〜64eと同様であり、その説明を省略する。
すなわち、パンクチャ数算出部71は、入力データのパンクチャ数がパンクチャ後の残留ビット数より大きい場合、パンクチャの有無判定に用いられる増分値e+,減分値e-を式(4),(5)よりパラメータ変数変換し、入力データのビットを連続してパンクチャする基準パンクチャ数Fk0を算出する。そして、パンクチャ処理部72は、基準パンクチャ数Fk0または基準パンクチャ数Fk0から1減算した減算パンクチャ数、連続して入力ビットをパンクチャした後、入力データのビットをそのまま出力する。これにより、図27のパンクチャ処理は、図7のパンクチャ処理に対し、繰り返し処理する処理量が低減される。
なお、フローチャートは、図25と同様になり、その説明を省略する。ただし、第3の実施の形態では、パンクチャ数算出部71は、図25で説明したフローチャートの動作処理の前に、式(4)のパラメータ変数変換を行う。また、第3の実施の形態では、パンクチャ処理部72は、入力ビットを残留するビット位置が分かり、これによりパンクチャ処理を行うことができる。
このように、パンクチャ数算出部71は、入力データのパンクチャ数がパンクチャ後の残留ビット数より大きい場合、入力データのビットを連続してパンクチャする基準パンクチャ数を算出する。そして、パンクチャ処理部72は、算出した基準パンクチャ数に基づいて入力データのパンクチャ処理を行う。これにより、コーデック部12は、残留する残留ビットの位置を逐次特定でき、処理量を低減することができる。例えば、パンクチャするビットを特定するのに必要な処理は、たかだか、従来の入力ビットの1ビット当たりの判定処理に要していた処理量の2倍程度で済むので、X/2M倍程度の処理量削減となる。
なお、上記の第3の実施の形態は、HS−DSCHの2ndレートマッチングにも適用することができる。
[第4の実施の形態]
次に、第4の実施の形態を、図面を参照して詳細に説明する。第4の実施の形態では、入力データのレペティション数がレペティション後のビット数より小さい場合の処理低減について説明する。
図31は、第4の実施の形態に係るコーデック部のブロックを示した図である。図31に示すように、コーデック部12は、出力数算出部91およびレペティション処理部92を有している。コーデック部12は、例えば、HSPAのデータ伝送チャネルHS−DSCHの符号化処理を行う。コーデック部12は、例えば、図2で示したCPU12bがメモリ12aに記憶されているプログラムを実行することによって、図31のブロックの機能を実現する。
出力数算出部91は、入力データのレペティション数がレペティション後の出力ビット数より小さい場合、入力データのビットを連続して出力する基準出力数を算出する。
レペティション処理部92は、出力数算出部91によって算出された基準出力数に基づいて、入力データのビットをそのまま連続して順次出力して、レペティションを行う。
図32は、コーデック部のレペティション処理を説明する図である。図32には、2ndレートマッチングのレペティション処理前のターボ符号化された符号化ビット101aが示してある。符号化ビット101aは、組織ビット101aa、パリティビット101ab(パリティ系列1)、およびパリティビット101ac(パリティ系列2)から形成されている。
HSPAの2ndレートマッチングでは、例えば、ターボ符号化後のビット数がH−ARQソフトバッファサイズを超えない場合にレペティション処理が適用される。HSPAの2ndレートマッチングでは、組織ビット101aa、パリティビット101ab、およびパリティビット101acのそれぞれにレペティション処理が適用される。
レペティション処理は、符号化ビット101aのビットの何れかを繰り返し出力する。図32に示す符号化ビット101bの空白部分は、符号化ビット101aのレペティションされた部分を示している。
図32のレペティションは、2N<Y(Y:出力ビット数、N:レペティションビット数)の関係にあるとする。すなわち、図32のレペティションは、入力データのレペティション数が、入力データのビット数より小さい関係にあるとする。
図33は、図32のレペティション動作を説明する図である。レペティションのビット位置やレペティション数は、初期値eini、増分値e+、および減分値e-のパラメータ変数によって決まる。図33に示す上向きの矢印102aは増分値e+を示し、下向きの矢印102bは、減分値e-を示す。
図33に示すグラフの横軸は、レペティション処理される入力データのビット位置を示す。例えば、図32に示した符号化ビット101aのビット位置を示す。縦軸は判定値を示し、エラー変数eが0以下になったとき、その入力ビットはレペティションされる。図33の矢印102cは、レペティションされる入力データのビット位置を示している。
図33のグラフにおいて、横軸を軸にグラフを反転させると、図15に示すレペティション基準形と同様の形となる。従って、入力データのレペティション数が、入力データのビット数より小さい関係にある場合、次の式(6)に示すパラメータ変数変換を行えば、処理量を低減することができる。
Figure 2012084964
なお、図33は、図22とも同様であり、式(6)は、式(3)と同様である。
図34は、パラメータ変数変換を行ったレペティション動作を説明する図である。図33に示した初期値eini、増分値e+、および減分値e-のパラメータ変数を、式(6)に示すようにパラメータ変数変換を行い、横軸を圧縮すると図29に示すようになる。
図29の横軸は、例えば、図32に示した符号化ビット101aのレペティションするビットを示し、縦軸はパラメータ変数変換したエラー変数Fを示している。矢印103aは、パラメータ変数変換した増分値F+を示している。矢印103bは、パラメータ変数変換した減分値F-を示している。矢印103cは、レペティションされる入力ビットを示している。
すなわち、出力数算出部91は、2N<Yのレペティション処理の場合、式(6)に示すパラメータ変数変換によって、図17に示すレペティション基準形と同様の形に変換することができる。
図35は、レペティション処理のアルゴリズムの一例を示した図である。図35に示す処理104は、図24で説明した処理64a〜64eと同様である。
出力数算出部91およびレペティション処理部92は、処理104を行う。出力数算出部91は、入力データのレペティション数が入力データのビット数より小さい場合、レペティションの有無判定に用いられる増分値e+,減分値e-を式(6)によってパラメータ変数変換し、入力データのビットをそのまま順次連続して出力する(入力ビットをレペティションせずに出力する)基準出力数Fk0を算出する。そして、レペティション処理部92は、基準出力数Fk0または基準出力数Fk0から1減算した減算基準出力数、連続して入力ビットを出力した後、入力データのビットをレペティションする。これにより、図32のレペティション処理は、図9のレペティション処理に対し、繰り返し処理する処理量が低減される。
なお、レペティション処理の場合、出力ビットの先頭ビットは、入力ビットの先頭ビットとなるが、式(6)に示すパラメータ変数変換を行った場合、出力ビットの先頭ビットは、入力ビットの先頭ビットとならない場合が生じる。そこで、レペティション処理部92は、第2の実施の形態と同様に、仮想的な残留ビットを入出力ビットインデックスとして挿入するためにn=m=−1とする。そして、レペティション処理部92は、第2の実施の形態と同様に、基準出力数Fk0およびエラー変数Fを補正する。
フローチャートは、図25と同様になり、その説明を省略する。ただし、第4の実施の形態では、出力数算出部91は、図25で説明したフローチャートの動作処理の前に、式(6)のパラメータ変数変換を行う。また、第4の実施の形態では、レペティション処理部92は、レペティションするビット位置が分かり、これによりレペティション処理を行うことができる。
このように、出力数算出部91は、入力データのレペティション数が入力データのビット数より小さい場合、入力データのビットを連続して出力する基準出力数を算出する。そして、レペティション処理部92は、算出した基準出力数に基づいて入力データのレペティション処理を行う。これにより、コーデック部12は、レペティションする入力ビットの位置を逐次特定でき、処理量を低減することができる。例えば、レペティションするビットを特定するのに必要な処理は、たかだか、従来の入力ビットの1ビット当たりの判定処理に要していた処理量の2倍程度で済むので、Y/2N倍程度の処理量削減となる。
なお、上記の第4の実施の形態は、DCH(Dedicated CHannel)のレートマッチングにも適用することができる。
以上の実施の形態に開示された技術には、以下の付記に示す技術が含まれる。
(付記1) 入力データのパンクチャを行うレート調整装置において、
前記入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、前記入力データのビットを連続して出力する出力数を算出する算出部と、
前記算出部によって算出された前記出力数に基づいて前記入力データのビットを連続して出力しパンクチャする処理部と、
を有することを特徴とするレート調整装置。
(付記2) 前記算出部は、前記入力データの各ビットのパンクチャの有無判定に用いられる増分値および減分値に基づいて、前記出力数を算出することを特徴とする付記1記載のレート調整装置。
(付記3) 前記処理部は、前記入力データのビットを前記算出部によって算出された前記出力数または前記算出部によって算出された前記出力数から1減算した減算出力数連続して出力し、前記入力データのビットをパンクチャすることを特徴とする付記2記載のレート調整装置。
(付記4) 入力データのパンクチャを行うレート調整装置において、
前記入力データのパンクチャ数がパンクチャ後の残留ビット数より大きい場合、前記入力データのビットを連続してパンクチャするパンクチャ数を算出する算出部と、
前記算出部によって算出された前記パンクチャ数に基づいて前記入力データのビットを連続してパンクチャし前記入力データのビットを出力する処理部と、
を有することを特徴とするレート調整装置。
(付記5) 前記算出部は、前記入力データの各ビットのパンクチャの有無判定に用いられる増分値および減分値に基づいて、前記パンクチャ数を算出することを特徴とする付記4記載のレート調整装置。
(付記6) 前記処理部は、前記入力データのビットを前記算出部によって算出された前記パンクチャ数または前記算出部によって算出された前記パンクチャ数から1減算した減算パンクチャ数連続してパンクチャし、前記入力データのビットを出力することを特徴とする付記5記載のレート調整装置。
(付記7) 入力データのレペティションを行うレート調整装置において、
前記入力データのレペティション数が前記入力データのビット数より小さい場合、前記入力データのビットを連続して出力する出力数を算出する算出部と、
前記算出部によって算出された前記出力数に基づいて前記入力データのビットを連続して出力しレペティションする処理部と、
を有することを特徴とするレート調整装置。
(付記8) 前記算出部は、前記入力データの各ビットのレペティショの有無判定に用いられる増分値および減分値に基づいて、前記出力数を算出することを特徴とする付記7記載のレート調整装置。
(付記9) 前記処理部は、前記入力データのビットを前記算出部によって算出された前記出力数または前記算出部によって算出された前記出力数から1減算した減算出力数連続して出力し、前記入力データのビットをレペティションすることを特徴とする付記8記載のレート調整装置。
(付記10) 入力データのパンクチャを行うレート調整装置のレート調整方法において、
前記入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、前記入力データのビットを連続して出力する出力数を算出し、
算出した前記出力数に基づいて前記入力データのビットを連続して出力しパンクチャする、
ことを特徴とするレート調整方法。
(付記11) 前記出力数を算出する際、前記入力データの各ビットのパンクチャの有無判定に用いられる増分値および減分値に基づいて、前記出力数を算出することを特徴とする付記10記載のレート調整方法。
(付記12) 前記パンクチャ処理を行う際、前記入力データのビットを算出した前記出力数または算出した前記出力数から1減算した減算出力数連続して出力し、前記入力データのビットをパンクチャすることを特徴とする付記11記載のレート調整方法。
(付記13) 入力データのパンクチャを行うレート調整装置のレート調整方法において、
前記入力データのパンクチャ数がパンクチャ後の残留ビット数より大きい場合、前記入力データのビットを連続してパンクチャするパンクチャ数を算出し、
算出した前記パンクチャ数に基づいて前記入力データのビットを連続してパンクチャし前記入力データのビットを出力する、
ことを特徴とするレート調整方法。
(付記14) 前記パンクチャ数を算出する際、前記入力データの各ビットのパンクチャの有無判定に用いられる増分値および減分値に基づいて、前記パンクチャ数を算出することを特徴とする付記13記載のレート調整方法。
(付記15) 前記パンクチャ処理を行う際、前記入力データのビットを算出した前記パンクチャ数または算出した前記パンクチャ数から1減算した減算パンクチャ数連続してパンクチャし、前記入力データのビットを出力することを特徴とする付記14記載のレート調整方法。
(付記16) 入力データのレペティションを行うレート調整装置のレート調整方法において、
前記入力データのレペティション数が前記入力データのビット数より小さい場合、前記入力データのビットを連続して出力する出力数を算出し、
算出した前記出力数に基づいて前記入力データのビットを連続して出力しレペティションする、
ことを特徴とするレート調整方法。
(付記17) 前記出力数を算出する際、前記入力データの各ビットのレペティショの有無判定に用いられる増分値および減分値に基づいて、前記出力数を算出することを特徴とする付記16記載のレート調整方法。
(付記18) 前記レペティション処理を行う際、前記入力データのビットを算出した前記出力数または算出した前記出力数から1減算した減算出力数連続して出力し、前記入力データのビットをレペティションすることを特徴とする付記16記載のレート調整方法。
1 レート処理装置
1a 算出部
1b 処理部
2a 入力データ
2b データ
2c 出力データ

Claims (12)

  1. 入力データのパンクチャを行うレート調整装置において、
    前記入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、前記入力データのビットを連続して出力する出力数を算出する算出部と、
    前記算出部によって算出された前記出力数に基づいて前記入力データのビットを連続して出力しパンクチャする処理部と、
    を有することを特徴とするレート調整装置。
  2. 前記算出部は、前記入力データの各ビットのパンクチャの有無判定に用いられる増分値および減分値に基づいて、前記出力数を算出することを特徴とする請求項1記載のレート調整装置。
  3. 前記処理部は、前記入力データのビットを前記算出部によって算出された前記出力数または前記算出部によって算出された前記出力数から1減算した減算出力数連続して出力し、前記入力データのビットをパンクチャすることを特徴とする請求項2記載のレート調整装置。
  4. 入力データのパンクチャを行うレート調整装置において、
    前記入力データのパンクチャ数がパンクチャ後の残留ビット数より大きい場合、前記入力データのビットを連続してパンクチャするパンクチャ数を算出する算出部と、
    前記算出部によって算出された前記パンクチャ数に基づいて前記入力データのビットを連続してパンクチャし前記入力データのビットを出力する処理部と、
    を有することを特徴とするレート調整装置。
  5. 前記算出部は、前記入力データの各ビットのパンクチャの有無判定に用いられる増分値および減分値に基づいて、前記パンクチャ数を算出することを特徴とする請求項4記載のレート調整装置。
  6. 前記処理部は、前記入力データのビットを前記算出部によって算出された前記パンクチャ数または前記算出部によって算出された前記パンクチャ数から1減算した減算パンクチャ数連続してパンクチャし、前記入力データのビットを出力することを特徴とする請求項5記載のレート調整装置。
  7. 入力データのレペティションを行うレート調整装置において、
    前記入力データのレペティション数が前記入力データのビット数より小さい場合、前記入力データのビットを連続して出力する出力数を算出する算出部と、
    前記算出部によって算出された前記出力数に基づいて前記入力データのビットを連続して出力しレペティションする処理部と、
    を有することを特徴とするレート調整装置。
  8. 前記算出部は、前記入力データの各ビットのレペティショの有無判定に用いられる増分値および減分値に基づいて、前記出力数を算出することを特徴とする請求項7記載のレート調整装置。
  9. 前記処理部は、前記入力データのビットを前記算出部によって算出された前記出力数または前記算出部によって算出された前記出力数から1減算した減算出力数連続して出力し、前記入力データのビットをレペティションすることを特徴とする請求項8記載のレート調整装置。
  10. 入力データのパンクチャを行うレート調整装置のレート調整方法において、
    前記入力データのパンクチャ数がパンクチャ後の残留ビット数より小さい場合、前記入力データのビットを連続して出力する出力数を算出し、
    算出した前記出力数に基づいて前記入力データのビットを連続して出力しパンクチャする、
    ことを特徴とするレート調整方法。
  11. 入力データのパンクチャを行うレート調整装置のレート調整方法において、
    前記入力データのパンクチャ数がパンクチャ後の残留ビット数より大きい場合、前記入力データのビットを連続してパンクチャするパンクチャ数を算出し、
    算出した前記パンクチャ数に基づいて前記入力データのビットを連続してパンクチャし前記入力データのビットを出力する、
    ことを特徴とするレート調整方法。
  12. 入力データのレペティションを行うレート調整装置のレート調整方法において、
    前記入力データのレペティション数が前記入力データのビット数より小さい場合、前記入力データのビットを連続して出力する出力数を算出し、
    算出した前記出力数に基づいて前記入力データのビットを連続して出力しレペティションする、
    ことを特徴とするレート調整方法。
JP2010227290A 2010-10-07 2010-10-07 レート調整装置およびレート調整方法 Expired - Fee Related JP5521965B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010227290A JP5521965B2 (ja) 2010-10-07 2010-10-07 レート調整装置およびレート調整方法
US13/252,200 US9203444B2 (en) 2010-10-07 2011-10-04 Rate adjustment apparatus and a rate adjustment method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010227290A JP5521965B2 (ja) 2010-10-07 2010-10-07 レート調整装置およびレート調整方法

Publications (2)

Publication Number Publication Date
JP2012084964A true JP2012084964A (ja) 2012-04-26
JP5521965B2 JP5521965B2 (ja) 2014-06-18

Family

ID=45926075

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010227290A Expired - Fee Related JP5521965B2 (ja) 2010-10-07 2010-10-07 レート調整装置およびレート調整方法

Country Status (2)

Country Link
US (1) US9203444B2 (ja)
JP (1) JP5521965B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348335B2 (en) * 2015-05-15 2019-07-09 SK Hynix Inc. Miscorrection avoidance for turbo product codes
KR102422275B1 (ko) * 2015-07-30 2022-07-18 삼성전자주식회사 무선 통신 시스템에서 채널 부호화 및 복호화 방법과 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002527937A (ja) * 1998-10-07 2002-08-27 シーメンス アクチエンゲゼルシヤフト パンクチャードまたは繰り返されるデータの伝送装置および方法
JP2005039672A (ja) * 2003-07-17 2005-02-10 Mitsubishi Electric Corp 無線通信装置の符号化処理装置および復号化処理装置
JP2006504315A (ja) * 2002-10-25 2006-02-02 ノキア コーポレイション フレキシブルレイヤー1による冗長性の増加をサポートする速度整合方法
JP2011077943A (ja) * 2009-09-30 2011-04-14 Fujitsu Ltd レート調整装置、レート調整方法及びレート調整プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111912A (en) * 1995-11-09 2000-08-29 Lucent Technologies Inc. Method and apparatus for detecting the sub-rate of a punctured data packet for a multi-rate transmission scheme
DE10038229B4 (de) * 1999-08-24 2011-06-09 LG Electronics Inc., Kangnam-gu Verfahren und Vorrichtung zur Ratenanpassung in einem Mobilkommunikationssystem
JP3943329B2 (ja) 2000-12-27 2007-07-11 富士通株式会社 レートマッチング/デマッチング処理装置
KR101045449B1 (ko) * 2002-04-08 2011-07-01 지멘스 악티엔게젤샤프트 통신 장치에서 데이터 레이트를 적응시키기 위한 방법 및통신 장치
US8171383B2 (en) * 2007-04-13 2012-05-01 Broadcom Corporation Method and system for data-rate control by randomized bit-puncturing in communication systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002527937A (ja) * 1998-10-07 2002-08-27 シーメンス アクチエンゲゼルシヤフト パンクチャードまたは繰り返されるデータの伝送装置および方法
JP2006504315A (ja) * 2002-10-25 2006-02-02 ノキア コーポレイション フレキシブルレイヤー1による冗長性の増加をサポートする速度整合方法
JP2005039672A (ja) * 2003-07-17 2005-02-10 Mitsubishi Electric Corp 無線通信装置の符号化処理装置および復号化処理装置
JP2011077943A (ja) * 2009-09-30 2011-04-14 Fujitsu Ltd レート調整装置、レート調整方法及びレート調整プログラム

Also Published As

Publication number Publication date
US9203444B2 (en) 2015-12-01
US20120089891A1 (en) 2012-04-12
JP5521965B2 (ja) 2014-06-18

Similar Documents

Publication Publication Date Title
CN109196801A (zh) 利用分段式的冗余校验对控制信令进行编码和解码
US7000173B2 (en) Turbo code based incremental redundancy
EP3273602A2 (en) Low complexity rate matching design for polar codes
EP1911165B1 (en) Methods of channel coding for communication systems
JP5521965B2 (ja) レート調整装置およびレート調整方法
JP3928311B2 (ja) ターボ符号の誤り訂正復号装置およびターボ符号の誤り訂正復号方法
EP1804453A1 (en) Digital signal transmitting apparatus
US9419656B2 (en) Decoder and method for decoding an encoded sequence of bits
JP5170441B2 (ja) ターボ符号器及びそれに用いるharq処理方法
CN108055107B (zh) 一种基于穿刺极化码的信息通信方法
US20050172201A1 (en) Receiver for a wireless communication device
KR101120368B1 (ko) 통신 장치에서 데이터 레이트를 적응시키기 위한 방법 및 통신 장치
WO2014177041A1 (zh) 一种传输格式组合的译码方法及装置
CN103348618A (zh) Crc分量码的软解码
CN102638427B (zh) 软性决策方法
JP2008311869A (ja) レートマッチング装置及びその方法、デレートマッチング装置及びその方法、通信装置、プログラム、記録媒体
US20120106662A1 (en) Wireless communication apparatus, decoding processing method and wireless communication system
JP4675820B2 (ja) 受信装置及び受信方法
CN108134653B (zh) 一种基于辅助序列不等差错保护的信息传输方法
JP2001211084A (ja) 時分割多元接続方式での誤りビット訂正方法及びその回路
CN117750427A (zh) 混合自动重传数据的合并方法、装置、设备、芯片及介质
JP2004503173A (ja) データ通信システムにおけるシンボル挿入による可変データ伝送率の整合方法及び装置
JP2001251198A (ja) 復号化装置および復号化処理方法
JP5365455B2 (ja) レート調整装置、レート調整方法及びレート調整プログラム
JP4786404B2 (ja) 受信装置及び受信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140324

R150 Certificate of patent or registration of utility model

Ref document number: 5521965

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees