【国等の委託研究の成果に係る記載事項】(出願人による申告)平成24年度、総務省、超高速近距離無線伝送技術等の研究開発の委託事業、産業技術力強化法第19条の適用を受ける特許出願
【文献】
石川 達之 他,メモリ容量削減手法を用いた高スループットLDPC復号器,電子情報通信学会技術研究報告,2006年 1月20日,Vol.105, No.570,pp.29-34,ICD2005-220
【文献】
Christopher Hansen,BRP Comment Resolution for CID 125,IEEE 802.11-11/0078r1,2011年 1月15日
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
<本開示に至る経緯>
情報通信においては、データ転送速度の高速化を始めとした通信機能の高度化が推進されている。例えば無線LAN(Local Area Network)、移動体通信に代表される無線通信分野においても、近年、高速無線通信への需要が高まっている。高速無線通信規格として、例えば「IEEE802.11ad」の標準化が進められている。通信速度の高速化に対応するため、誤り訂正復号においても高速な復号処理が必要とされている。
【0011】
IEEE802.11adでは、伝送路としての無線伝搬路における信号の誤りを訂正するための符号として、LDPC符号(Low Density Parity Check Code)を採用してい
る。LDPC符号は、ターボ符号と比較して相対的に高速復号装置を実装しやすいという利点がある。
【0012】
ここで、通信速度を更に向上させる一つの方法として、伝送データの変調多値数を増加することがあげられる。
【0013】
例えば、変調方式を、BPSK(Binary Phase Shift Keying、多値数=1)からQP
SK(Quadrature Phase Shift Keying、多値数=2)に、変更した場合、LDPC復号
装置では、変調多値数の増加に応じて2倍の処理能力を要求される。
【0014】
しかし、特許文献1の部分並列復号方式では、クロック速度同一の条件下において処理スループットを倍増させることは困難であるという課題がある。理由は、以下に示すとおりである。
【0015】
部分並列復号方式によるLDPC符号の復号処理において、列処理は、処理対象行の行処理が完了してから開始されるためである。
【0016】
また、復号単位の1つである1イタレーション(iteration)当たりの行処理(最小値
探索)に必要な演算量は一定である。更に、復号処理の1サイクル当たりに、シリアル処理可能な演算量は限られている。
【0017】
ここで、部分並列数(演算器の数)を増やして1サイクル当たりの処理能力を増やしたとしても、行処理演算量は一定であり、かつシリアル処理可能な演算数は限られているので、1イタレーション当たりの行処理に必要な処理サイクル数は減少しない。これは、列処理完了後に行処理を開始する場合においても同様である。
【0018】
したがって、部分並列数を増やしたとしても、1イタレーションの処理時間がボトルネックとなり、高速処理が困難となる。一方、処理時間を短縮するために、復号回路のクロック速度を上げると、消費電力が増大する別の課題が生じる。
【0019】
<本開示の概要>
第1開示は、受信パケットを復調処理した複数の尤度を記憶する記憶部と、復号に用いる検査行列を分割した部分検査行列をそれぞれ用いて、前記尤度毎に並列に復号処理する復号コアを複数有する復号部と、を備え、前記部分検査行列は、行数が列数以上となる行列である、復号装置を含む。
【0020】
これにより、複数の復号コアにおいて復号処理を分散し、第1の復号コアと第2の復号
コアとが並列的に処理可能であるため、全体の復号処理速度を向上でき、伝送データの変調多値数の変化にも対応できる。復号コアのクロック速度を上げなくても処理時間を短縮でき、低消費電力化を図れる。また、部分並列復号方式に対応して、復号コアごとに列処理を分散処理することによって、処理時間を短縮できる。
【0021】
また、第2開示は、上記第1開示の復号装置であって、前記受信パケットのMCS情報を取得するMCS情報取得部と、前記復号コアの動作用のクロックを選択的に出力するクロック出力部と、を備え、前記クロック出力部は、前記MCS情報に基づき、前記受信パケットを伝送する通信方式が、所定の高速通信よりも遅い所定の低速通信では、前記高速通信においてクロックを供給する復号コア数よりも少ない数の復号コアに対して前記クロックを供給する、復号装置を含む。
【0022】
これにより、低速通信の場合、高速通信の場合よりも少ない数の復号コアに対してクロックを供給することにより、動作する復号コアの数を減少でき、消費電力を削減できる。
【0023】
また、第3開示は、上記第1開示の復号装置であって、前記受信パケットのMCS情報を取得するMCS情報取得部と、前記MCS情報に含まれる変調方式の多値数に応じて、前記復号コアの通常動作に用いる第1のクロックと前記第1のクロックよりも低速の第2のクロックとのいずれかを出力するクロック出力部と、前記MCS情報に含まれる変調方式の多値数に応じて、前記クロック出力部が前記第1のクロックを出力する場合、前記復号部に供給する、通常動作電圧の第1の電源を出力し、前記クロック出力部が前記第2のクロックを出力する場合、前記通常動作電圧よりも低電圧の第2の電源を出力する電源部と、を備える、復号装置を含む。
【0024】
これにより、通信方式が、復号コアの最高処理速度よりも低い処理速度により処理可能な通信方式である場合、復号部を動作させるクロック周波数を下げることにより、消費電力を低減できる。また、電源電圧を下げることにより、消費電力を低減できる。
【0025】
また、第4開示は、上記第3開示の復号装置であって、前記電源部は、通信相手との通信初期化時に自装置の許容通信速度に関する情報を通信相手に通知し、変調多値数の少ない低速通信を許容することを通信相手に通知した場合、予め前記第2の電源の低電圧電源を出力する、復号装置を含む。
【0026】
これにより、低速通信を許容することを通信相手に通知し、予め低電圧電源を用いて復号コアを動作させることにより、消費電力を低減できる。
【0027】
また、第5開示は、上記第4開示の復号装置であって、通信速度又は消費電力に関するユーザ志向情報を入力する設定部を更に有し、前記クロック出力部は、前記ユーザ志向情報に基づいて、出力するクロックを選択し、前記電源部は、前記ユーザ志向情報に基づいて、出力する電圧を選択する、復号装置を含む。ここで、例えば、省電力志向の場合は低速通信を優先し、ベストエフォート(高速通信)志向の場合は高速通信を優先する。
【0028】
例えば、ユーザが高速通信よりも低消費電力動作を志向している場合、許容MCSを低速通信用(例えばBPSK)に限定する。一方、ユーザが高速通信を志向している場合、許容MCSを高速通信用(例えばQPSK)まで許容する。
【0029】
これにより、ユーザ志向に応じて、省電力志向の場合は低速通信を優先し、消費電力を低減できる。
【0030】
また、第6開示は、上記第4開示または第5開示の復号装置であって、前記復号対象デ
ータを伝送する伝搬路環境を推定する伝搬路環境推定部を備え、前記復号部は、前記通信初期化時の伝搬路環境推定値を用いて前記許容通信速度を設定する、復号装置を含む。
【0031】
これにより、通信開始時の伝搬路環境推定値に応じて、許容通信速度を設定でき、低速通信を許容する場合、消費電力を低減できる。
【0032】
また、第7開示は、上記第1開示から第3開示のいずれか一つの復号装置であって、前記復号対象データを伝送する伝搬路環境を推定する伝搬路環境推定部を備え、前記制御部は、前記伝搬路環境の推定結果に基づき、伝搬路環境推定値が所定値以上では、前記復号コアの復号処理におけるイタレーション回数を、前記伝搬路環境推定値が所定値未満の場合よりも少なくする、復号装置を含む。
【0033】
例えば、復号部は、最大イタレーション回数が2r回のMCS(例えばBPSK、QPSK)と、最大イタレーション回数がr回以下のMCS(例えば16QAM)との複数の復号モードを有し、制御部は、上記復号モードを用いて通信できる伝搬路環境推定値の閾値テーブルを有し、伝搬路環境推定部から得られる伝搬路環境推定値が閾値テーブルの閾値を超えている場合、通信相手に対し通信可能なMCSを通知する。
【0034】
これにより、伝搬路環境推定値が所定値以上では、復号コアの復号処理におけるイタレーション回数を少なくすることにより、伝搬路環境が良好な場合に誤り訂正能力を確保し、更に、処理時間を短縮でき、高速復号を実現できる。
【0035】
<実施形態>
以下に本開示に係る復号装置の実施形態について説明する。以下の各実施形態では、本開示に係る復号装置を用いて説明するが、復号装置の動作を規定した復号方法として表現しても良い。なお、以下の実施形態において、同一の構成には同一の符号を付し、その説明は重複するので省略する。
【0036】
(第1の実施形態)
図1は、第1の実施形態に係る復号装置の構成を示すブロック図である。第1の実施形態は、高速復号処理を実現する構成例である。
【0037】
本実施形態の復号装置は、復号部10、尤度記憶部21、選択部22、及び制御部51を含む構成である。
【0038】
復号部10は、複数の復号コア11−1〜11−Nを有する。図示例では、N個の復号コア11−1〜11−Nを有する例を示しているが、復号コアの数は任意である。以降では、復号コア11−1〜11−N(Nは1以上の整数)を代表して復号コア11として表す場合もある。復号コア11の構成及び動作については後述する。
【0039】
記憶部の一例としての尤度記憶部21は、例えばメモリを有して構成され、復号対象データの一例としての受信パケットの復調処理により得られた尤度を記憶する。例えば無線通信装置の受信機では、受信信号を復調処理した結果の尤度を記憶する。復号対象データとしては、尤度に限定されず、符号化されたデータを適宜用いてもよい。
【0040】
復号部10の復号コア11は、入力される尤度のデータを処理し、単位時間当たりに1コードワードに相当する復号ビットを復号する。ここで、コードワードとは符号化装置において符号化したLDPC符号語のことであり、1コードワードは情報ビットをLDPC符号化した1語に相当する。復号コア11は、復号結果として硬判定ビット(復号ビット)を出力する。
【0041】
図2は、第1の実施形態における復号処理のタイミングを示すタイミングチャートである。復号コア11において、尤度記憶部21から入力される尤度として、尤度#1、尤度#2、尤度#3、尤度#4、〜、尤度#m(mは、1以上の整数)を、時系列に順次入力される。尤度#mはコードワード#mに対応する尤度である。
【0042】
第1の復号コア11−1(復号コア#1)は、第1の尤度(尤度#1)を復号処理し、第1の復号ビット(復号ビット#1)を出力する。また、第2の復号コア11−2(復号コア#2)は、第2の尤度(尤度#2)を復号処理し、第2の復号ビット(復号ビット#2)を出力する。第1の復号コア11−1は、尤度#3の復号処理開始前に、尤度#1の復号処理を完了させる。復号処理完了後、第1の復号コア11−1は尤度#3の復号処理を開始する。
【0043】
以下、同様にして、複数の復号コア11−1、11−2は、入力される尤度を交互に復号処理する。なお、図示例では、2つの復号コア11−1、11−2(復号コア#1、#2)を動作させて交互に復号するが、3つ以上の復号コアを用いて同様な手順にて順番に復号タイミングをずらして、並列的に復号してもよい。
【0044】
制御部51は、復号部10の復号処理を制御する。制御部51は、復号部10の複数の復号コア11−1〜11−Nに対し、各復号コアの復号タイミングを制御し、所定の復号スケジューリングに従った復号タイミングにて復号処理が行われるよう制御する。
図2の例では、制御部51は、2つの復号コア11−1、11−2(復号コア#1、#2)に対して、前述した復号タイミングにて復号するために、復号部10を制御する。
【0045】
制御部51は、復号タイミングに関して、「受信符号語有効信号」を用いて判断する。受信符号語有効信号は、例えばパケット同期タイミングから換算したパケット内の尤度の位置を示す信号として提供される。
【0046】
制御部51は、各尤度の復号タイミングに基づき、尤度記憶部21に対して復号する尤度の尤度読み出し制御を実施する。例えば、制御部51は、尤度#1の復号時には尤度記憶部12から尤度#1を復号コア11−1(復号コア#1)へと読み出す制御を行う。
【0047】
選択部22は、制御部51の制御に基づき、復号部10の複数の復号コア11−1〜11−Nから出力される硬判定ビット(復号ビット)を選択し出力することにより、正しい順序での復号結果を出力させる。制御部51は、復号スケジューリングに従って選択部22における選択動作を制御する。
図2の例では、選択部22は復号(尤度#1)、復号(尤度#2)、復号(尤度#3)、復号(尤度#4)、〜、復号(尤度#m)(mは、1以上の整数)により得られた復号ビットを順番に選択し出力する。
図2に示される出力復号ビットが、選択部22により選択し出力された復号ビットに相当する。
【0048】
次に、復号コア11の構成及び動作を詳細に説明する。復号コア11は、列処理部111、行処理部112、事前値記憶部113、外部値記憶部114、及び硬判定部115を含む構成である。
【0049】
列処理部111は、列処理演算を実施する。事前値記憶部113は、列処理部111の列処理により得られる事前値を記憶する。行処理部112は、行処理演算を実施する。外部値記憶部114は、行処理部112の行処理により得られる外部値を記憶する。硬判定部115は、列処理部111及び行処理部112の復号処理により得られた軟判定値を用いて、硬判定ビットを生成し出力する。
【0050】
部分並列復号方式の復号処理について説明する。
図3は、部分並列復号の処理単位に分割した部分検査行列、部分検査行列に対応して分割した尤度、及び、尤度を分割するために用いる分割したコードワードの例を示す図である。本実施形態では、対象データの復号処理を実施するために、部分並列復号の処理単位に分割した検査行列を用いる。
【0051】
まず、検査行列Hは、符号化装置と復号装置とにおいて同じ行列を用いる。また、符号化装置において符号化されたデータビット系列であるコードワードを、復号化装置において復号することで、復号ビットが得られる。ここで、検査行列をH、コードワードをC、尤度をSとすると、
H * C = 0 …(1)
の関係が、符号化装置において成り立つ。
【0052】
本実施形態では、復号装置において、検査行列Hを、Hsub 1,Hsub 2,Hsub 3,〜,Hsub N−1,Hsub Nのように、部分並列復号の処理単位に分割した部分行列を用いる。ここで、検査行列を分割した部分行列の行数が列数以上となるよう検査行列Hを分割する。
【0053】
ここで、式(1)を満たすように、検査行列Hを分割した部分行列に対して乗算されるコードワードをCsub 1,Csub 2,Csub 3,〜,Csub N−1,Csub Nと分割すると下記の式(2)が成立する。
【0054】
[Hsub 1,Hsub 2,〜,Hsub N]
*[Csub 1
T,Csub 2
T,〜,Csub N
T]
T= 0
[Hsub 1*Csub 1+〜+Hsub N*Csub N] = 0 …(2)
(Tは転置を表す)
【0055】
つまり、Hsub M(Mは整数)にCsub Mが乗算されるようコードワードのベクトルを決定する。
【0056】
次に、復号装置で用いる尤度Sを、分割した各コードワードCsub Mと同一の長さのベクトルを用いて、分割する。分割した尤度Sを、Ssub 1,Ssub 2,Ssub 3,〜,Ssub N−1,Ssub Nを用いて表した行列を
図3に示す。
以上の方法により、尤度の分割を行う。
【0057】
本実施形態の復号コア11では、Hsub 1,2,3,…,Nの順に列処理及び行処理を実施する。
【0058】
本実施形態では、検査行列を分割した部分行列の行数が列数以上となるよう検査行列を分割する。
【0059】
上記のように分割する理由は以下のとおりである。
(i)事前値記憶部の記憶容量を削減できる。
(ii)部分並列復号における行処理時に用いる比較器数を削減できる。
(iii)外部値記憶部の記憶容量を削減できる。
【0060】
上記理由のうち、(ii)比較器削減、及び(iii)外部値記憶容量削減、の要因について以下に説明する。本実施形態では、復号方式として、Min−Sum復号アルゴリズムを用いて説明する。なお、復号方式はこれに限定されず、Sum−Product復号を始めとした他の復号方式を用いてもよい。復号アルゴリズムの詳細については、例えば参考文献1(和田山 正著、「低密度パリティ検査符号とその復号法」、トリケップス
出版、2002年6月5日、(P92−P99))に説明されている。
【0061】
列処理部111及び行処理部112の処理により、外部値αmn、事前値βmnは、次の式(3)、式(4)によって求められる。
【0064】
式(3)のmin|βmn|の項を計算する列処理、行処理は、Hsub 1,Hsub
2,〜,Hsub Nの部分並列単位毎に順次実施する。現状の最小値をβ_minとする。β_minは外部値記憶部114に格納されている。
【0065】
Hsub 1の行処理により探索された最小値と、β_minとを比較し、より小さい方が新たなβ_minとなる。
β_min = min(β_min,β_Hsub x) …(5)
ここで、β_Hsub x、はHsub xの行処理により求められたβ値とする。
【0066】
本実施形態では、上記より、比較演算を分散して実施できるため、検査行列を分割した部分行列の行数を列数以上にすることによって比較器数を削減できる。また、β_minは更新した値を記憶すればよいので、外部値記憶部114の容量を削減できる。
【0067】
上記理由のうち、(i)事前値記憶容量削減、の要因について説明する。本実施形態では、列処理演算結果により得られる事前値を保存することなく行処理に反映して使用できるため、従来例の部分並列復号方式のように、全ての列処理中間演算結果を保存しておく必要がない。
【0068】
つまり、必要となる事前値記憶容量は、部分行列Hsub xに対応する列処理が完了した後に行処理が実施されるまでであり、パイプラインレジスタでよい。従って、事前値記憶部113をパイプラインレジスタとして構成でき、事前値記憶部113の容量を削減できる。
図4を用いて詳細を説明する。
【0069】
図4は、部分並列復号における列処理及び行処理のタイミングを示す図であり、復号処理時の復号スケジューリングを表している。ここで復号スケジューリングとは、部分並列復号方式における行処理、列処理を行う順序のことを表す。
【0070】
部分並列復号において、行処理は処理対象となる行が含まれる列の列処理が終了した後に実施される。したがって、列処理Hsub 1の後に、行処理Hsub 1の順序によって処理が実施される。つまり、Hsub 1の列処理を行った後、Hsub 1の行処理を行い、更に、Hsub 2の列処理を行う。
【0071】
以降、Hsub Nまで同様にして列処理及び行処理を実行する。Hsub 1〜Hsub Nまで、順次、行処理及び列処理がパイプライン処理され、行処理Hsub Nが完了した時点において1イタレーション終了である。
【0072】
よって、列処理Hsub 1の開始から行処理Hsub Nの終了までの処理に要する時間が、1イタレーション処理遅延となる。1イタレーション終了後、次のイタレーションを開始できる。
【0073】
このように、Hsub xに対応する列処理が完了した後に、列処理結果を用いた行処理が実施されるため、事前値記憶部113は、部分行列Hsub xに対応した容量のパイプラインレジスタを用いて構成できる。
【0074】
なお、
図4において、列処理Hsub 1に対応する時刻において、行処理は、実施されていないため、空白となっている。
【0075】
図5は、部分並列復号による復号処理の全過程を示す概略図である。列処理部111及び行処理部112において、復号処理の1イタレーションが所定回数繰り返された後、硬判定部115において硬判定が実施され、復号完了する。このときの「1尤度復号」が、
図2における「復号(尤度#x)」に相当する。
【0076】
図6は、部分並列復号において列処理の並列演算数を2倍にした場合の一例を示す図であり、列処理の並列演算数を2倍にしてもイタレーション処理遅延が小さくならないことについて説明する。
【0077】
まず、列処理の並列演算数を2倍にすることによって、Hsub 1とHsub 2とは同時に並列処理が可能である。一方、Hsub 1とHsub 2との行処理は、最小値探索(β_minの計算)が直列処理(シリアル処理)になるため、列処理のように、並列処理の構成とはならない。
【0078】
Hsub 1とHsub 2との行処理を一括して実施する演算は、
β_min = min(β_min,β_Hsub 1、Hsub 2) …(6)として表現されるが、実際の演算としては、
β_min1 = min(β_min,β_Hsub 1)
β_min = min(β_min1,β_Hsub 2) …(7)
である。すなわちβ_minを求めるためにはまずβ_min1を求めなければならず、直列処理が必要となる。
【0079】
このため、処理遅延の削減は困難となり、1イタレーション処理遅延は、
図4と比較して処理時間が変わらない、Hsub1個の処理時間×(N+1)の時間が必要となる。したがって、単純に列処理の並列演算数を増やすでは、復号処理時間の短縮が困難であることがわかる。
【0080】
上記より、本実施形態では、復号部において復号コアを複数有するマルチコア構成とし、復号処理を復号コア毎に分散させている。このため、従来の検査行列を部分行列に分割しない復号方法では、行処理、列処理がパイプライン処理できないので、Hsub1個の処理時間×N×2の処理遅延、であったのに対して高速復号処理が実現できる。
【0081】
また、上記構成を用いることで、復号回路のクロック速度を上げなくても、1イタレーション当たりの処理時間を短縮でき、高速化に伴う消費電力の増加を抑制できる。また、
部分並列復号方式を用いたとしても、上記構成を用いることで、事前値記憶部及び外部値記憶部の記憶容量を削減でき、高速化に伴う装置構成の大型化、複雑化を抑制できる。
【0082】
(第2の実施形態)
図7は、第2の実施形態に係る復号装置の構成を示すブロック図である。第2の実施形態は、高速復号処理及び低消費電力化を実現する構成例である。
【0083】
第2の実施形態の復号装置は、復号部10、尤度記憶部21、選択部22、クロック生成部23、クロックゲート部24、ヘッダ解析部25、及び制御部52を含む構成である。
【0084】
例えば、IEEE802.11adによるパケット通信システムでは、変調方式と符号化率との複数の組合せに対応している。この複数の組合せは、MCS(Modulation and Coding Scheme)情報と呼ばれ、パケット通信におけるヘッダに記載されている。
【0085】
例えば、複数の通信方式に対応可能であり、2ビット/シンボルのQPSK通信時に最大能力にて動作する復号装置は、1ビット/シンボルのBPSK通信時に、1ビット分の復号コアが余剰となるため、アイドル状態になる復号コアが存在する。
【0086】
ここで、アイドル状態の復号コアも電力を消費してしまうため、不要な電力消費が生じるという課題がある。第2の実施形態では、不要な電力消費を削減させて低消費電力動作を可能とする。
【0087】
MCS情報取得部の一例としてのヘッダ解析部25は、パケット通信におけるヘッダを解析する。ヘッダは、MCS情報を含んでいる。ヘッダ解析部25は、受信パケットのヘッダの解析結果に基づき、MCS情報を取得し、取得したMCS情報を制御部52に通知する。
【0088】
クロック生成部23は、例えば発振器を有して構成され、復号部10を含む復号装置の回路を動作させるためのクロックを生成する。制御部52は、MCS情報に応じてクロックゲート部24から復号部10へのクロック供給を制御する。クロック出力部の一例としてのクロックゲート部24は、クロックを選択的に出力可能である。クロックゲート部24は、制御部52の制御に基づき、クロック生成部23において生成されたクロックをゲーティングし、各復号コア11−1〜11−Nへのクロックの供給または停止を行う。
【0089】
図8は、第2の実施形態における復号処理のタイミングを示すタイミングチャートである。第2の実施形態では、複数の通信方式に対応し、QPSK通信とBPSK通信とを切り替えて通信する場合を想定する。
図8(A)はQPSK通信時の動作を示し、
図8(B)はBPSK通信時の動作を示している。本例では、QPSK通信が所定の高速通信、BPSK通信が所定の低速通信に相当する。
【0090】
QPSK通信時には、クロックゲート部24は、2つの復号コアにクロックを供給して各復号コアを動作させる。すなわち、クロックゲート部24は、第1の復号コア11−1(復号コア#1)にクロック#1を供給し、第2の復号コア11−2(復号コア#2)にクロック#2を供給する。これにより、
図2に示した第1の実施形態と同様、2つの復号コア11−1、11−2によって分散して復号処理を行い、尤度#1、#2、#3、#4、〜、#mを復号する。
【0091】
BPSK通信時には、クロックゲート部24は、QPSK通信時よりも少ない数、本例では1つの復号コアにクロックを供給して動作させる。すなわち、クロックゲート部24
は、第1の復号コア11−1(復号コア#1)にクロック#1を供給し、第2の復号コア11−2(復号コア#2)へのクロック供給を停止する。これにより、
図8(B)では、1つの復号コア11−1によって復号処理を行い、尤度#1、#2、〜、#mを復号する。
【0092】
BPSK通信では、QPSK通信と比較して、各コードワードの伝送レートが半分(伝送時間が2倍)であり、入力尤度の入力レートが半分となるため、復号コアは半分の処理能力(2倍の処理時間)にて復号処理可能である。このため、制御部52は、復号部10における複数の復号コア11−1〜11−Nのうちの半数の復号コアを動作させ、半数のアイドル状態の復号コアを休止させ、不要な消費電力を削減する。
【0093】
上記より、本実施形態では、ヘッダ解析結果より得られるMCS情報に基づき、アイドル状態となる復号コアのクロックをゲーティングし、アイドル状態の復号コアの動作を停止させる。これにより、アイドル状態の復号コアにおける不要な電力消費を削減でき、消費電力を低減できる。したがって、高速復号処理を実現する構成において、例えば通信方式、伝送レートに代表される動作時の各種状況に応じて消費電力を低減し、低消費電力化を図れる。
【0094】
(第3の実施形態)
図9は、第3の実施形態に係る復号装置の構成を示すブロック図である。第3の実施形態は、復号装置の最大イタレーション回数が所定値以下である場合にも、伝搬路環境が良好な場合は高スループットを実現する構成例である。
【0095】
第3の実施形態の復号装置は、復号部10、尤度記憶部21、選択部22、クロック生成部23、クロックゲート部24、ヘッダ解析部25、無線部26、復調部27、伝搬路環境推定部28、及び制御部53を含む構成である。
【0096】
無線部26は、増幅器、周波数変換器を含む高周波回路を有し、アンテナにて受信した無線信号の増幅、周波数変換を含む無線信号処理を行う。復調部27は、例えば信号処理回路を有する電子回路により構成され、無線部26から出力される受信信号の復調処理を行い、受信信号に関する尤度を出力する。
【0097】
伝搬路環境推定部28は、復調部27にて復調された受信信号に基づき、無線信号の伝搬路環境、例えばSNR(Signal to Noise Ratio)、CNR(Carrier to Noise Ratio
)、RSSI(Received Signal Strength Indicator)に代表される受信信号の品質を推定する。
【0098】
制御部53は、伝搬路環境推定部28による伝搬路環境の推定結果に基づき、伝搬路環境が良好であると判断した場合、復号コア11の復号処理におけるイタレーション回数を減少させる。
【0099】
例えば、最大イタレーション回数が2r回のMCS(例えばBPSK、QPSK)に対応する第1の復号モードと、最大イタレーション回数がr回以下のMCS(例えば16QAM)に対応する第2の復号モードとを有しているとする。
【0100】
第1の復号モードは、伝搬路環境推定値が所定値未満であり、通信方式として低速通信が選択される場合が多い。
【0101】
第2の復号モードは、伝搬路環境推定値が所定値以上であり、通信方式として高速通信が選択される場合が多い。伝搬路環境が良好である場合、第2の復号モードを用いて、少
ないイタレーション回数による復号処理を行う。
【0102】
制御部53は、高速通信が可能であることを通信相手へフィードバックする。
【0103】
図10は、第3の実施形態における復号処理のタイミングを示すタイミングチャートである。第3の実施形態では、伝搬路環境が良好である場合に、16QAM通信を行う場合を想定する。16QAM通信では、各コードワードの伝送レート(入力尤度の入力レート)がQPSKのさらに2倍(伝送時間がQPSKの半分)である。
【0104】
高速通信時は、入力尤度の入力レートが高いため、より高いクロック周波数の復号コアを用いるか、復号コアの数を多くして対応することが考えられる。
【0105】
これに対して本実施形態では、復号装置の最大イタレーション回数が所定値以下である場合にも、良好な伝搬路環境では、通信相手へフィードバックして高速通信を行い、復号処理におけるイタレーション回数を少なくした第2の復号モードを用いて、1尤度あたりの復号時間を短くする。なお、良好な伝搬路環境以外では、第1の実施形態、又は第2の実施形態における復号方法である第1の復号モードを用いる。
【0106】
イタレーション回数を少なくすると誤り訂正能力が劣化するが、伝搬路環境が良好であるため、受信信号に含まれる誤りが統計的に少ない状態である。誤り発生率が低いため、少ないイタレーション回数でも誤り訂正できる。
【0107】
本実施形態によれば、復号装置は、高速通信時において最大イタレーション回数が所定値以下であっても、伝搬路環境が良好な場合には、第1の復号モードから第2の復号モードに切り換えることによって、高スループットを実現できる。
【0108】
(第4の実施形態)
図11は、第4の実施形態に係る復号装置の構成を示すブロック図である。第4の実施形態は、復号装置の低消費電力化を実現する別の構成例である。
【0109】
第4の実施形態の復号装置は、復号部10、尤度記憶部21、選択部22、クロック生成部23、クロックゲート部24、ヘッダ解析部25、無線部26、復調部27、伝搬路環境推定部28、クロック分周部29、電源31、低電圧電源32、設定部33、及び制御部54を含む構成である。
【0110】
クロック分周部29は、例えば分周器を有して構成され、クロック生成部23にて生成された回路動作用のクロックを分周し、低速クロックを出力する。クロックゲート部24は、制御部54の制御に基づいてクロックの出力切り替えを行い、クロック生成部23からのクロックまたはクロック分周部29からの低速クロックを各復号コア11−1〜11−Nへ供給する。本例では、クロック生成部23からのクロックが第1のクロック、クロック分周部29からの低速クロックが第2のクロックに相当する。クロック分周部29及びクロックゲート部24がクロック出力部の機能を実現する。
【0111】
本例では、電源31は、通常動作電圧の電力を出力する第1の電源に相当する。低電圧電源32は、通常動作電圧より低い電圧の電力を出力する第2の電源に相当する。電源31、及び低電圧電源32は、それぞれ所定電力を出力する電源回路により実現される。
【0112】
設定部33は、ユーザによる設定入力を受け付け、ユーザの志向を設定する。ユーザ志向の設定情報は制御部54に送られる。ユーザ志向として、例えばベストエフォート(高速通信)志向または省電力志向を設定する。
【0113】
制御部54は、ユーザ志向に応じて、低速通信時(低スループット時)には、クロック分周部29からの低速クロックを復号部10に供給してクロック速度を落とし、低電圧電源32からの電力を復号部10に供給して電源電圧を下げる。
【0114】
本実施形態の復号部10は、例えば、QPSKの通信速度に対応して復号処理する能力を有している。復号部10は、受信パケットの変調方式がBPSKであれば、QPSKの通信速度に対応した復号処理方法を用いた上でクロック速度を低速にしても復号処理が可能である。
【0115】
例えば通常のクロック周波数をK、QPSKの通信速度に対応した復号処理を実施した際の1尤度復号にかかるクロックサイクル数をLとする。このとき1尤度の復号に必要な時間はTq=L/Kである。ここでクロック速度を半分のK/2にしたとする。このとき1コードワードの復号に必要な時間はTb=L/(K/2)=2L/K=2Tqとなり2倍の時間が必要となる。
【0116】
一方でBPSKの通信速度に対応した復号処理で1尤度の復号に必要となる時間はTb=2Tqである。これは、QPSKが2ビット/シンボルの伝送レートに対して、BPSKは1ビット/シンボルの伝送レートであるためである。
【0117】
従って、QPSKに対応した復号部10において、クロック速度を半分にしてもBPSKを用いたパケットの復号処理が可能である。
【0118】
復号部10が処理可能な変調多値数をN、受信パケットに用いられている変調方式の多値数をM、クロックの分周数をRとする。
【0119】
復号部10は、
N / R ≧ M …(8)
を満たしていれば、クロック速度を低速にできる。
【0120】
よって、制御部54は、ヘッダ解析部25のヘッダ解析結果によって取得したMCS情報に基づき、受信パケットがBPSK変調である場合、すなわちBPSK通信時には、クロック速度を低下させる。クロックゲート部24は、制御部54の制御により、クロック分周部29からの低速クロックを復号コア11に供給する。
【0121】
なお、クロック速度が低速の場合、電源電圧を低下させても回路を駆動させることは可能である(参考文献2:「極低電圧動作による低エネルギーLSI」、電子情報通信学会誌 Vol.93、No.11、pp943−p47、2010年11月 参照)。よって、制御部54は、BPSK通信時には、低電圧電源32を使用して低電圧の電力を復号コア11に供給する。
【0122】
第4の実施形態では、復号コア11の最高処理速度よりも低い処理速度にて処理可能な通信方式である場合、復号コア11へ供給するクロックを低速クロックとし、電源を低電圧電源にする。低電圧電源32から供給する電圧値は、電源31からの通常動作電圧より低く、低速クロックにより復号コア11を駆動可能な最低電圧以上とする。
【0123】
回路の電源電圧とクロック周波数との関係については、参考文献2に記載があるように、通常動作電圧に対し、電源電圧を下げた場合にも動作クロックを低速にすることで回路を駆動できる。また、電源電圧及び動作クロックを低速にすることで消費電力を低減できることが記載されている。
【0124】
ここで、QPSK通信において設定されたクロック周波数、電源電圧に対して、BPSK通信において、電源電圧を下げると、電源電圧の低下によって復号コア11の動作可能なクロック周波数が下がる。
【0125】
しかし、本実施形態において、BPSK通信において必要とされるクロック周波数は、QPSK通信において必要とされるクロック周波数の半分であるため、復号コア11において、電源電圧の低下による動作クロック周波数の低下の下限は、元のクロック周波数の半分までであれば、所望イタレーション回数を満たす動作が可能である。さらにクロック周波数を下げること及び電源電圧を下げることにより消費電力を低減できる。
【0126】
つまり、本実施形態では、低電圧電源32に変更する場合は、クロック分周部29に変更する。
【0127】
回路の消費電力は、電源電圧の2乗に比例し、動作クロック周波数に比例する。よって、低電圧駆動、低速クロック動作を行うことにより、消費電力を低減できる。
【0128】
また、電源電圧を下げる場合、受信パケットのMCSを解析してから低電圧電源を駆動してもよいが、より安定して低電圧電源を用いて復号装置を駆動させるために、本実施形態では以下の制御を行う。
【0129】
制御部54は、通信開始時に通信相手とハンドシェイクを行う時点において、通信相手に対し受信側が許容する許容通信速度に関する情報(例えば、MCS、通信スループット)を送信側の通信相手にフィードバックする。通信相手の送信装置は、受信側(本実施形態の復号装置を有する受信装置)の許容通信速度によって通信する。許容通信速度として、ここでは許容MCSを用いる。
【0130】
図13は、第4の実施形態における通信初期化時のハンドシェイク手順を示すシーケンス図である。受信装置STA 2(Rx)と、通信相手の送信装置STA 1(Tx)とは、本実施形態の復号装置を有する。
【0131】
まず送信装置STA 1は、リンク確立リクエストを受信装置STA 2へ送信し[1]、受信装置STA 2は、リンク確立リクエストを受けて伝搬路環境推定を行う[2]。そして、受信装置STA 2は、リンク確立を承認し[3]、予め設定されたユーザ志向に対応するMCSを参照し、許容MCS情報を送信装置STA 1へフィードバックする。
【0132】
送信装置STA 1は、許容MCS情報を受けてリンク確立の確認を完了する[4]。その後、送信装置STA 1は、許容MCSによって通信を開始し、受信装置STA 2へ送信データを送信する[5]。以降は、送信装置STA 1と受信装置STA 2との間において設定されたMCSを用いて通信が行われる。受信装置STA 2は、受信データを正常に復調及び復号できた場合、ACKを送信装置STA 1へフィードバックする。
【0133】
通信初期化時に通信相手へ許容通信速度情報を通知するため、受信側の装置は予め低電圧電源にて駆動できる。
【0134】
また、受信側が許容するMCSに代表される許容通信速度情報は、ユーザの志向に応じて制御してもよい。例えば、ユーザが高速通信よりも低消費電力動作を志向している場合、制御部54は許容MCSを、例えば、BPSKに限定する。一方、ユーザが高速通信を
志向している場合、制御部54は、例えば、「許容MCSはQPSKまでである」といった制御を実施する。
【0135】
図12は、伝搬路環境とユーザ志向別のMCSとの関係の一例を示す図である。制御部54は、ユーザ志向情報として、例えば伝搬路環境推定値とユーザ志向に基づくMCSとを関連付けたテーブルを持っている。MCSの値1〜3は、1が低伝送レートの通信(例えばBPSK)、2が中伝送レートの通信(例えばQPSK)、3が高伝送レートの通信(例えば16QAM)とする。
【0136】
ベストエフォート志向(通信速度志向)では、伝送速度を優先し、伝搬路環境が良好な場合は高速通信を行う。省電力志向では、消費電力を優先し、伝搬路環境が良好であっても低速または中程度の通信を行う。
【0137】
制御部54は、推定した伝搬路環境推定値Pest(例えばCNR、 SNR、 RSSI)とテーブルに記載された閾値(
図12の例ではP1、P2)と比較し、対応するMCSを送信側の通信相手へフィードバックする。送信側の通信装置は、フィードバック情報に基づいてMCSを決定し、MCSに従って生成した送信データを送信する。
【0138】
本実施形態によれば、復号回路の処理能力に対して低速な通信を行う場合には、低速クロック、低電圧電源を使用することにより、消費電力を低減し、低消費電力化を実現できる。
【0139】
以上、図面を参照しながら各種の実施形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、開示の趣旨を逸脱しない範囲において、上記実施形態における各構成要素を任意に組み合わせてもよい。
【0140】
上記各実施形態では、本開示を、ハードウェアを用いて構成する場合を例にとって説明したが、本開示はハードウェアとの連携においてソフトウェアでも実現可能である。
【0141】
また、上記各実施形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、各機能ブロックの一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0142】
また、集積回路化の手法にはLSIに限らず、専用回路または汎用プロセッサを用いて実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、又は、LSI内部の回路セルの接続、設定が再構成可能なリコンフィグラブル・プロセッサーを利用してもよい。
【0143】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、別技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。