(57)【要約】【課題】ＬＳＩの動作速度を低く抑え、かつ、携帯端末の小型化・軽量化・低価格化を図ること。【解決手段】加算部１２０ａ−１〜４は、更新前のチャネル推定係数、乗算器１１０ａの乗算結果、ならびにＧＮＤ、２ビットカウンタ１３０のカウンタ値、または選択信号６００に基づいて、更新後のチャネル推定係数を得る。２ビットカウンタ１３０は、所定のクロック数で２ビットの数値を生成し、各ビットをそれぞれ加算部１２０ａ−２，３へ出力するとともに、２ビットのカウンタ値を記憶部１４０へ出力する。記憶部１４０は、更新前のチャネル推定係数を、２ビットカウンタ１３０のカウンタ値および選択信号６００に基づいて加算部１２０ａ−１〜４へ出力するとともに、更新後のチャネル推定係数を、２ビットカウンタ１３０のカウンタ値に基づいて所定の記憶領域に保持する。【選択図】　　　図３
2004147103.tif 000002
【特許請求の範囲】
【請求項１】
所定周期ごとにカウンタ値を生成するカウンタと、
複数の演算係数を前記カウンタのカウンタ値に対応する記憶領域に記憶する記憶手段と、
記憶された前記複数の演算係数のうち、前記カウンタのカウンタ値に対応する演算係数を前記カウンタ値に基づいて更新する更新手段と、
を有することを特徴とする演算処理装置。
【請求項２】
前記演算係数は、最尤系列推定を用いた適応等化におけるチャネル推定係数であることを特徴とする請求項１記載の演算処理装置。
【請求項３】
前記更新手段は、
最尤系列推定によって推定されて得られた信号系列と実際の信号との誤差を示す誤差信号および定数値を乗算する第１乗算器と、
前記第１乗算器の乗算結果、前記カウンタ値に対応する前記信号系列の各系列値、および前回更新されて得られたチャネル推定係数を用いた加算を行って前記チャネル推定係数を更新する加算部と、
を有することを特徴とする請求項２記載の演算処理装置。
【請求項４】
前記更新手段は、
複数の誤差平均値を前記カウンタのカウンタ値に対応する記憶領域に記憶する記憶部と、
記憶された前記複数の誤差平均値のうち、前記カウンタのカウンタ値に対応する誤差平均値と定数値を乗算する第２乗算器と、をさらに有し、
前記加算部は、
前記カウンタのカウンタ値に応じて、前記第１乗算器の乗算結果、前記第２乗算器の乗算結果、前記カウンタ値に対応する前記信号系列の各系列値、および前記カウンタのカウンタ値を用いた前記誤差平均値の更新処理、または前記第２乗算器の乗算結果、および前回更新されて得られたチャネル推定係数を用いた前記チャネル推定係数の更新処理を切り替えて行うことを特徴とする請求項３記載の演算処理装置。
【請求項５】
前記更新手段は、
タップ数に対応して設けられ、それぞれ少なくとも３つの入力を処理する加算部を有し、
前記加算部は、第１入力に基づいて第２入力および第３入力の加算を行うことを特徴とする請求項１記載の演算処理装置。
【請求項６】
前記加算部は、
前記第２入力を反転する反転器と、
前記第１入力に基づいて、前記第２入力および前記反転器からの出力のいずれか一方を選択して出力するセレクタと、
前記第３入力および前記セレクタからの出力に対して、前記第１入力をキャリー入力として加算を行う全加算器と、
を有することを特徴とする請求項５記載の演算処理装置。
【請求項７】
前記更新手段は、
タップ数に対応して設けられ、それぞれ少なくとも５つの入力を処理する加算部を有し、
前記加算部は、第１入力に基づいて第２入力および第３入力のいずれか一方を選択し、前記第１入力および第４入力に基づいて、選択された入力および第５入力の加算を行うことを特徴とする請求項１記載の演算処理装置。
【請求項８】
前記加算部は、
前記選択された入力を反転する反転器と、
前記第１入力および前記第４入力に基づいて、前記選択された入力および前記反転器からの出力のいずれか一方を選択して出力するセレクタと、
前記第５入力および前記セレクタからの出力に対して、前記第１入力および前記第４入力から生成された値をキャリー入力として加算を行う全加算器と、
を有することを特徴とする請求項７記載の演算処理装置。
【請求項９】
前記記憶手段は、
前記カウンタ値に応じて、前記更新手段へ出力するための演算係数を選択するセレクタを有することを特徴とする請求項１記載の演算処理装置。
【請求項１０】
前記記憶手段は、
前記カウンタ値に応じて、前記演算係数を記憶するための記憶領域を選択するセレクタを有することを特徴とする請求項１記載の演算処理装置。
【請求項１１】
請求項１から請求項１０のいずれかに記載の演算処理装置を有することを特徴とする移動局装置。
【請求項１２】
請求項１から請求項１０のいずれかに記載の演算処理装置を有することを特徴とする基地局装置。
【請求項１３】
所定周期ごとにカウンタ値を生成するステップと、
複数の演算係数のうち、生成したカウンタ値に対応する演算係数を当該カウンタ値に基づいて更新するステップと、
更新した演算係数を記憶するステップと、
を有することを特徴とする演算処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演算処理装置に関する。
【０００２】
【従来の技術】
従来、例えば移動体通信分野においては、エア上におけるマルチパスやフェージング、または受信装置内の熱雑音などの影響を受けて歪んだ信号を、受信装置において元の送信された信号に近づけるため、受信信号に等化処理を施す技術がある。
【０００３】
等化処理においては、ビタビアルゴリズムを用いた最尤系列推定法による適応等化器が用いられることがある（例えば特許文献１参照）。特許文献１に記載された等化器は、トランスバーサルフィルタから構成される推定受信信号部にて推定受信信号を生成し、生成された推定受信信号と実際に受信した受信信号との推定誤差を求め、その推定誤差をビタビアルゴリズムのブランチメトリックとして用い、最も推定誤差の小さなパスを選択するように構成されている。
【０００４】
この等化器が有するトランスバーサルフィルタのフィルタ係数は、等化処理が行われる前に、データとデータの間に挟まれる既知信号（トレーニングシーケンス）を用いてチャネル推定処理が施されることにより決定される。このフィルタ係数を、チャネル推定係数と呼ぶ。
【０００５】
しかし、伝搬環境が時々刻々と変化する移動体通信においては、時間的にトレーニングシーケンスから離れたデータになるほど、最初に決定したチャネル推定係数を用いた処理では等化性能が劣化するため、適応的にチャネル推定係数を更新する必要性が生じる。特に、通信端末装置が高速に移動するような環境においては、伝搬環境の変化が激しいため、性能劣化は顕著である。
【０００６】
チャネル推定係数の更新には、演算量が比較的少ないＬＭＳ（Ｌｅａｓｔ　Ｍｅａｎｓ　Ｓｑｕａｒｅ：最小二乗平均）アルゴリズムが用いられることがある。ＬＭＳアルゴリズムは、最尤系列推定法で得られた推定誤差を補正値とし、ステート単位でチャネル推定系数を更新する。このようなＬＭＳアルゴリズムを用いてチャネル推定係数を更新する等化処理は、一般に、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）やＤＳＰ（Ｄｉｇｉｔａｌ　Ｓｉｇｎａｌ　Ｐｒｏｃｅｓｓｏｒ）などのプロセッサによるソフトウェア処理で実現されている（例えば特許文献２参照）。
【０００７】
【特許文献１】
特開平７−９５１０７号公報
【特許文献２】
特開２０００−３６７７９号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、ステートごとにＬＭＳアルゴリズムを動作させながらビタビアルゴリズムを実行して等化処理を行うと、膨大な量の演算を行うことになる。膨大な演算量を迅速に行うためには、プロセッサの動作速度を速くする必要がある。プロセッサの動作速度を速くすると、プロセッサに用いられるＬＳＩの回路規模が大きくなって消費電力が増大し、結果として例えば携帯端末などの通信端末装置の小型化・軽量化・低価格化を図ることが困難になるという問題がある。
【０００９】
以下、この問題について、具体的に説明する。
【００１０】
移動体通信においては、携帯端末のバッテリの寿命を長時間持続させることが望まれている。また、それと同時に、携帯端末の小型化・軽量化・低価格化が望まれている。これらを同時に達成するためには、ＬＳＩの回路規模を小さくすることによって、使用されるトランジスタ数を少なくし、チップの面積を小さくし、チップの単価を安価にすることが要求される。
【００１１】
一般に、ＬＳＩの消費電力は、動作速度に比例して増加する。さらに、ＬＳＩの動作速度を高速にするためには、トランジスタのサイズを大きくして、ＬＳＩに印加する動作電圧を上げる必要性が生じる。このため、上述したプロセッサによって、ステートごとにＬＭＳアルゴリズムを動作させるという膨大な演算を短い時間で行うためには、ＬＳＩのチップサイズおよび消費電力を大きくする必要がある。したがって、携帯端末のバッテリの寿命を長時間持続できなくなり、かつ、携帯端末の小型化・軽量化・低価格化も達成できなくなるという問題が生じる。
【００１２】
例えば、図１４に示すようなスロット構造をもつＴＤＭＡ通信において、連続してスロットが受信される場合（マルチスロット受信）、受信されたスロットの等化処理は、次のスロットが受信されて蓄積されている間に終わらなければ、実時間での処理が不可能となる。したがって、図１４の例では、０．５７７ｍｓｅｃ（ミリセカンド）の１スロット時間内に、５８ビットのデータと３ビットのテールビットをそれぞれ２つずつ、合計１２２ビットの等化処理を完了させなければならない。
【００１３】
従来のソフトウェア処理では、ＬＭＳアルゴリズムと受信信号の期待値生成処理だけでも約５００００個の命令を要するため、これを０．５７７ｍｓｅｃ以内に完了させるには、プロセッサは、最低でも約９０ＭＨｚ（メガヘルツ）の動作速度が要求される。
【００１４】
さらに、同スロット時間内に処理しなければならないその他の処理として、チャネル推定処理、最尤系列推定処理などがあり、これらを考慮すると、要求動作速度はさらに上昇し、約２００ＭＨｚ以上の動作速度で動作するＬＳＩが必要となる。
【００１５】
携帯端末に２００ＭＨｚで動作するようなＬＳＩを搭載すると、前述のようにバッテリの寿命を長時間持続できなくなり、かつ、小型化・軽量化・低価格化も達成できなくなる。
【００１６】
本発明は、かかる点に鑑みてなされたものであり、ＬＳＩの動作速度を低く抑え、かつ、携帯端末の小型化・軽量化・低価格化を図ることができる演算処理装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
本発明の演算処理装置は、所定周期ごとにカウンタ値を生成するカウンタと、複数の演算係数を前記カウンタのカウンタ値に対応する記憶領域に記憶する記憶手段と、記憶された前記複数の演算係数のうち、前記カウンタのカウンタ値に対応する演算係数を前記カウンタ値に基づいて更新する更新手段と、を有する構成を採る。
【００１８】
この構成によれば、所定周期ごとに生成されるカウンタ値に対応する演算係数を当該カウンタ値に基づいて更新するため、演算係数の更新処理をハードウェアで行うことができ、この更新処理をソフトウェアで行う場合に比べてＬＳＩの動作速度を低く抑え、装置の小型化・軽量化・低価格化を図ることができる。
【００１９】
本発明の演算処理装置は、前記演算係数は、最尤系列推定を用いた適応等化におけるチャネル推定係数である構成を採る。
【００２０】
この構成によれば、演算係数は、最尤系列推定を用いた適応等化におけるチャネル推定係数であるため、無線通信におけるチャネル推定係数の更新処理をハードウェアで行うことができ、この更新処理をソフトウェアで行う場合に比べてＬＳＩの動作速度を低く抑え、かつ、携帯端末の小型化・軽量化・低価格化を図ることができる。
【００２１】
本発明の演算処理装置は、前記更新手段は、最尤系列推定によって推定されて得られた信号系列と実際の信号との誤差を示す誤差信号および定数値を乗算する第１乗算器と、前記第１乗算器の乗算結果、前記カウンタ値に対応する前記信号系列の各系列値、および前回更新されて得られたチャネル推定係数を用いた加算を行って前記チャネル推定係数を更新する加算部と、を有する構成を採る。
【００２２】
この構成によれば、無線通信において、ＬＭＳアルゴリズムを用いたチャネル推定係数の更新処理をハードウェアで行うことができ、この更新処理をソフトウェアで行う場合に比べてＬＳＩの動作速度を低く抑え、かつ、携帯端末の小型化・軽量化・低価格化を図ることができる。
【００２３】
本発明の演算処理装置は、前記更新手段は、複数の誤差平均値を前記カウンタのカウンタ値に対応する記憶領域に記憶する記憶部と、記憶された前記複数の誤差平均値のうち、前記カウンタのカウンタ値に対応する誤差平均値と定数値を乗算する第２乗算器と、をさらに有し、前記加算部は、前記カウンタのカウンタ値に応じて、前記第１乗算器の乗算結果、前記第２乗算器の乗算結果、前記カウンタ値に対応する前記信号系列の各系列値、および前記カウンタのカウンタ値を用いた前記誤差平均値の更新処理、または前記第２乗算器の乗算結果、および前回更新されて得られたチャネル推定係数を用いた前記チャネル推定係数の更新処理を切り替えて行う構成を採る。
【００２４】
この構成によれば、無線通信において、勾配フィルタリング法のＬＭＳアルゴリズムを用いたチャネル推定係数の更新処理をハードウェアで行うことができ、この更新処理をソフトウェアで行う場合に比べてＬＳＩの動作速度を低く抑え、かつ、携帯端末の小型化・軽量化・低価格化を図ることができる。
【００２５】
本発明の演算処理装置は、前記更新手段は、タップ数に対応して設けられ、それぞれ少なくとも３つの入力を処理する加算部を有し、前記加算部は、第１入力に基づいて第２入力および第３入力の加算を行う構成を採る。
【００２６】
この構成によれば、タップに対応する各チャネル推定係数をＬＭＳアルゴリズムを用いて効率良く更新することができる。
【００２７】
本発明の演算処理装置は、前記加算部は、前記第２入力を反転する反転器と、前記第１入力に基づいて、前記第２入力および前記反転器からの出力のいずれか一方を選択して出力するセレクタと、前記第３入力および前記セレクタからの出力に対して、前記第１入力をキャリー入力として加算を行う全加算器と、を有する構成を採る。
【００２８】
この構成によれば、ＬＭＳアルゴリズムにおける乗算を小規模な回路で行うことができるため、回路規模を削減することができる。
【００２９】
本発明の演算処理装置は、前記更新手段は、タップ数に対応して設けられ、それぞれ少なくとも５つの入力を処理する加算部を有し、前記加算部は、第１入力に基づいて第２入力および第３入力のいずれか一方を選択し、前記第１入力および第４入力に基づいて、選択された入力および第５入力の加算を行う構成を採る。
【００３０】
この構成によれば、タップに対応する各チャネル推定係数を勾配フィルタリング法のＬＭＳアルゴリズムを用いて効率良く、かつ高精度で更新することができる。
【００３１】
本発明の演算処理装置は、前記加算部は、前記選択された入力を反転する反転器と、前記第１入力および前記第４入力に基づいて、前記選択された入力および前記反転器からの出力のいずれか一方を選択して出力するセレクタと、前記第５入力および前記セレクタからの出力に対して、前記第１入力および前記第４入力から生成された値をキャリー入力として加算を行う全加算器と、を有する構成を採る。
【００３２】
この構成によれば、勾配フィルタリング法のＬＭＳアルゴリズムにおける乗算を小規模な回路で行うことができるため、回路規模を削減することができる。
【００３３】
本発明の演算処理装置は、前記記憶手段は、前記カウンタ値に応じて、前記更新手段へ出力するための演算係数を選択するセレクタを有する構成を採る。
【００３４】
この構成によれば、更新対象の演算係数をカウンタ値に応じて出力するため、複数の演算係数に対する更新処理を順序良く実行することができる。
【００３５】
本発明の演算処理装置は、前記記憶手段は、前記カウンタ値に応じて、前記演算係数を記憶するための記憶領域を選択するセレクタを有する構成を採る。
【００３６】
この構成によれば、演算係数の記憶領域をカウンタ値に応じて選択するため、更新後の演算係数を正しい記憶領域に記憶することができる。
【００３７】
本発明の移動局装置は、上記のいずれかに記載の演算処理装置を有する構成を採る。
【００３８】
この構成によれば、上記のいずれかに記載の演算処理装置と同様の作用効果を移動局装置において実現することができる。
【００３９】
本発明の基地局装置は、上記のいずれかに記載の演算処理装置を有する構成を採る。
【００４０】
この構成によれば、上記のいずれかに記載の演算処理装置と同様の作用効果を基地局装置において実現することができる。
【００４１】
本発明の演算処理方法は、所定周期ごとにカウンタ値を生成するステップと、複数の演算係数のうち、生成したカウンタ値に対応する演算係数を当該カウンタ値に基づいて更新するステップと、更新した演算係数を記憶するステップと、を有するようにした。
【００４２】
この方法によれば、所定周期ごとに生成されるカウンタ値に対応する演算係数を当該カウンタ値に基づいて更新するため、演算係数の更新処理をハードウェアで行うことができ、この更新処理をソフトウェアで行う場合に比べてＬＳＩの動作速度を低く抑え、装置の小型化・軽量化・低価格化を図ることができる。
【００４３】
【発明の実施の形態】
本発明の骨子は、ＬＭＳアルゴリズムをハードウェアで処理するとともに、並列的に複数の演算処理を行って演算速度を向上させることである。
【００４４】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００４５】
（実施の形態１）
まず、本発明の実施の形態１に係るＬＭＳアルゴリズムの概要について説明する。本実施の形態においては、以下の（式１）に示す、標準的なＬＭＳアルゴリズムが用いられる。
Ｗ［ｔ＋１］＝Ｗ［ｔ］＋α×ｅ［ｔ］×Ｕ［ｔ］・・・（式１）
ここで、Ｗ［ｔ］は時刻ｔにおける遷移先のステートのチャネル推定係数、αは定数、ｅ［ｔ］およびＵ［ｔ］は、それぞれ時刻ｔにおいて、あるステートから次のステートへ遷移する際の推定誤差および推定送信信号系列を示している。また、チャネル推定係数Ｗ［ｔ］は、タップ数×ステート数分だけ独立に存在する。
【００４６】
上記の（式１）に示したＬＭＳアルゴリズムは、時刻ｔにおける最尤系列推定の結果得られる、あるステートから次のステートへ遷移したと仮定した際の期待値と実際の受信信号値との誤差（すなわち、推定誤差ｅ［ｔ］）と、その際に実際に送信された信号として推定された推定送信信号系列Ｕ［ｔ］とを乗算し、さらに、その乗算結果に定数αを乗じた値と、時刻ｔの推定時に用いたチャネル推定係数Ｗ［ｔ］とを加算することで、次の時刻（ｔ＋１）におけるチャネル推定係数Ｗ［ｔ＋１］を得るものである。
【００４７】
なお、（式１）における推定送信信号系列Ｕ［ｔ］の乗算において、Ｕ［ｔ］が「０」であるタップに関しては、（＋１）を乗算し、Ｕ［ｔ］が「１」であるタップに関しては、（−１）を乗算する。
【００４８】
図１は、本実施の形態に係るＮタップ（Ｎは整数）の等化器の構成を示すブロック図である。同図において、Ｎタップチャネル推定係数２００が用いられることにより、期待値生成部３００によって受信信号の期待値が生成される。生成された期待値と実際の受信信号が用いられることにより、最尤系列推定部４００によって、ビタビアルゴリズムに基づいた最尤系列推定が行われる。そして、最尤系列推定において、あるステートから次のステートへ遷移したと仮定した際の期待値と実際の受信信号値との誤差（すなわち、推定誤差）を示す誤差信号５００、および、最尤系列推定の結果、実際に送信された信号として選択された「０」または「１」（すなわち、推定送信信号系列における最下位のビット）を示す選択信号６００が、チャネル推定係数更新部１００へ出力される。そして、チャネル推定係数更新部１００によって、誤差信号５００および選択信号６００が用いられてＬＭＳアルゴリズムの演算が行われ、Ｎタップチャネル推定係数２００が更新される。
【００４９】
ここで、図２に示すステートの遷移図を参照して、図１に示す等化器の動作の概要を説明する。
【００５０】
なお、以下では、等化器のタップ数を４として説明するが、本発明はこれに限定されるものではない。
【００５１】
図２に示すように、遷移元であるノードＡから遷移先であるノードＢへ遷移する時刻ｔにおいて、例えばノードＢのステート０とステート４へは、ノードＡにおけるステート０とステート１のいずれかから遷移する。これらのノードＢのステートへノードＡのいずれのステートから遷移したかについて、図１の期待値生成部３００および最尤系列推定部４００によって推定が行われる。具体的には、期待値生成部３００では、ステート０からステート０へ遷移したと仮定した時の推定送信信号系列として「００００」が、ステート１からステート０へ遷移したと仮定した時の推定送信信号系列として「０００１」が、それぞれ用いられて期待値が生成される。同様に、その他のステートに関する遷移についても期待値が生成される。そして、最尤系列推定部４００では、受信信号と期待値とが用いられて、ビタビアルゴリズムによる受信信号の適応等化が行われる。
【００５２】
そして、遷移元としてステート０が選ばれた場合は「０」、ステート１が選ばれた場合は「１」が、図１の選択信号６００としてそれぞれ出力される。同時に、受信信号と選択された遷移の経路に対応する期待値との誤差が、図１の誤差信号５００として出力される。これらの誤差信号５００および選択信号６００が用いられることにより、チャネル推定係数更新部１００によってＮ（ここでは４）タップチャネル推定係数２００が更新される。
【００５３】
以上の処理は、他のステートの遷移経路に関しても同様に行われる。なお、誤差信号５００は、上述した（式１）のｅ［ｔ］に相当し、選択された遷移の経路に対応する推定送信信号系列は、（式１）のＵ［ｔ］に相当する。また、選択された遷移元のステートに属するチャネル推定係数が（式１）のＷ［ｔ］に相当し、対応するノードＢのステートに属するチャネル推定係数が（式１）のＷ［ｔ＋１］に相当する。
【００５４】
図３は、本実施の形態に係るチャネル推定係数更新部１００の構成を示すブロック図である。
【００５５】
本実施の形態に係るチャネル推定係数更新部１００は、乗算器１１０ａ、乗算器１１０ｂ、加算部１２０ａ−１〜４、加算部１２０ｂ−１〜４、２ビットカウンタ１３０、および記憶部１４０を有している。乗算器１１０ａおよび加算部１２０ａ−１〜４から構成される系統と、乗算器１１０ｂおよび加算部１２０ｂ−１〜４から構成される系統とは並列に動作し、最尤系列推定部４００における最尤系列推定において、遷移先がノードＢのステート０〜３となる経路に関しては、乗算器１１０ａおよび加算部１２０ａ−１〜４の系統が処理を行い、遷移先がノードＢのステート４〜７となる経路に関しては、乗算器１１０ｂおよび加算部１２０ｂ−１〜４の系統が処理を行う。
【００５６】
乗算器１１０ａ（１１０ｂ）は、最尤系列推定部４００から出力された誤差信号５００と定数αを乗算する。乗算結果は、加算部１２０ａ−１〜４（１２０ｂ−１〜４）へ入力される。なお、上述したように、誤差信号５００は、最尤系列推定におけるステートの遷移元によって異なった信号であり、図２に示したノードＢのステート０〜３に対応する誤差信号５００は乗算器１１０ａによって定数αと乗算され、図２に示したノードＢのステート４〜７に対応する誤差信号５００は乗算器１１０ｂによって定数αと乗算される。また、以下の説明における選択信号６００も同様に、ステート０〜３に対応するものは、乗算器１１０ａおよび加算部１２０ａ−１〜４の系統へ入力され、ステート４〜７に対応するものは、乗算器１１０ｂおよび加算部１２０ｂ−１〜４の系統へ入力される。
【００５７】
加算部１２０ａ−１〜４（１２０ｂ−１〜４）は、記憶部１４０から出力されるノードＡにおけるステートに属するチャネル推定係数（以下、この入力をＡとする）、乗算器１１０ａ（１１０ｂ）の乗算結果（以下、この入力をＢとする）、ならびにＧＮＤ（ＶＤＤ）、２ビットカウンタ１３０のカウンタ値、または選択信号６００（以下、この入力をＤとする）に基づいて、ノードＢにおけるステートに属するチャネル推定係数（以下、この出力をＣとする）を得る。なお、ＧＮＤは「０」を示し、ＶＤＤは「１」を示す。
【００５８】
２ビットカウンタ１３０は、所定のクロック数で２ビットの数値を生成し、各ビットをそれぞれ加算部１２０ａ−２，３（１２０ｂ−２，３）へ出力するとともに、２ビットのカウンタ値を記憶部１４０へ出力する。
【００５９】
記憶部１４０は、各ステートに属する更新前のチャネル推定係数を、２ビットカウンタ１３０のカウンタ値および選択信号６００に基づいて所定の記憶領域から加算部１２０ａ−１〜４（１２０ｂ−１〜４）へ出力するとともに、加算部１２０ａ−１〜４（１２０ｂ−１〜４）から出力される各ステートに属する更新後のチャネル推定係数を、２ビットカウンタ１３０のカウンタ値に基づいて所定の記憶領域に保持する。
【００６０】
ここで、再度図２を参照して、ノードＢにおける推定送信信号系列に着目すると、ステート０〜３の推定送信信号系列の最上位ビットはいずれも「０」であり、ステート４〜７の推定送信信号系列の最上位ビットはいずれも「１」である。したがって、図３において、加算部１２０ａ−４および加算部１２０ｂ−４には、それぞれ「０」を示すＧＮＤおよび「１」を示すＶＤＤが入力（入力Ｄ）されている。すなわち、加算部１２０ａ−４および加算部１２０ｂ−４は、最上位タップのチャネル推定係数の更新を行う。
【００６１】
また、ノードＢにおけるステート０〜３の推定送信信号系列の中位２ビットは、ステート０からステート３へ向かうにつれ、１づつカウントアップしている。これは、ノードＢにおけるステート４〜７の推定送信信号系列の中位２ビットにおいても同じである。したがって、図３において、加算部１２０ａ−２，３および加算部１２０ｂ−２，３には、２ビットカウンタ１３０の各ビットの値が入力（入力Ｄ）されている。すなわち、加算部１２０ａ−２，３および加算部１２０ｂ−２，３は、中位２タップのチャネル推定係数の更新を行う。
【００６２】
さらに、ノードＢにおけるステート０〜３の推定送信信号系列の最下位ビットは、「０」または「１」、すなわち、実際に送信された信号として最尤系列推定により選択された経路に対応する信号であり、したがって、選択信号６００が加算部１２０ａ−１に入力（入力Ｄ）される。これは、ノードＢにおけるステート４〜７の推定送信信号系列の最下位ビットについても同様であり、選択信号６００が加算部１２０ｂ−１に入力（入力Ｄ）される。すなわち、加算部１２０ａ−１および加算部１２０ｂ−１は、最下位タップのチャネル推定係数の更新を行う。
【００６３】
図４は、加算部１２０ａ−１の構成を示す図である。なお、加算部１２０ａ−２〜４および加算部１２０ｂ−１〜４も同様の構成を有するものとする。また、同図におけるＡ、Ｂ、Ｃ、およびＤは、図３における入力Ａ、入力Ｂ、出力Ｃ、および入力Ｄを示している。
【００６４】
図４において、加算部１２０ａ−１は、反転器１２２ａ、セレクタ１２４ａ、および全加算器１２６ａを有している。
【００６５】
反転器１２２ａは、入力Ｂの値を反転する。すなわち、反転器１２２ａは、誤差信号５００と定数αの乗算結果の符号を反転させる。
【００６６】
セレクタ１２４ａは、入力Ｄ（加算部１２０ａ−１では選択信号６００であるが、他の加算部においては、２ビットカウンタ１３０の各ビット、ＧＮＤ、またはＶＤＤ）の値に応じて、入力Ｂまたは入力Ｂの値を反転した値を選択して出力する。具体的には、セレクタ１２４ａは、入力Ｄの値が「０」ならば入力Ｂを選択して出力し、入力Ｄの値が「１」ならば反転器１２２ａの出力の値を選択して出力する。
【００６７】
全加算器１２６ａは、１ビット以上の全加算器から構成されており、入力Ａ（更新前の各タップのチャネル推定係数）の値とセレクタ１２４ａの出力の値とを用いて、入力Ｄを最下位ビットのキャリー入力（ｃｉｎ）として加算を行い、出力Ｃを得る。
【００６８】
以上の演算をまとめると、入力Ｄが「０」ならば、
出力Ｃ＝入力Ａ＋入力Ｂ・・・（式２）
を行い、入力Ｄが「１」ならば、
出力Ｃ＝入力Ａ＋（−入力Ｂ）・・・（式３）
を行うことになる。
【００６９】
また、推定送信信号系列の各ビットの値を示す入力Ｄを用いると、（式２）および（式３）は、以下の（式４）のようにまとめることができる。
出力Ｃ＝入力Ａ＋入力Ｂ×入力Ｄ・・・（式４）
なお、（式４）において、入力Ｄが信号「０」を示す場合は、（＋１）を乗算し、入力Ｄが信号「１」を示す場合は、（−１）を乗算する。
【００７０】
（式４）を上述した（式１）と比較すると、入力Ａは、更新前のチャネル推定係数Ｗ［ｔ］に対応し、入力Ｂは、推定誤差ｅ［ｔ］と定数αの乗算結果に対応し、入力Ｄは、推定送信信号系列Ｕ［ｔ］に対応するため、出力Ｃとしてチャネル推定係数の更新結果Ｗ［ｔ＋１］が得られることがわかる。
【００７１】
上記のとおり、反転器１２２ａおよび全加算器１２６ａへのキャリー入力によって、２の補数の演算を実現している。これにより、（式１）における推定送信信号系列Ｕ［ｔ］の乗算を実現することができる。
【００７２】
また、反転器１２２ａの入出力においては、値が反転するだけであるため、出力のビット幅は入力と同じビット幅で良く、回路の複雑性を軽減することができる。換言すれば、回路の複雑性を軽減するために、局所的に１の補数の数体系としている。
【００７３】
図５は、記憶部１４０の構成を示す図である。
【００７４】
図５において、記憶部１４０は、セレクタ１４２ａ、セレクタ１４２ｂ、メモリ１４４、セレクタ１４６ａ、およびセレクタ１４６ｂを有している。
【００７５】
セレクタ１４２ａ（１４２ｂ）は、加算部１２０ａ−１〜４（１２０ｂ−１〜４）から出力される更新後のチャネル推定係数を、２ビットカウンタ１３０のカウンタ値に応じた出力端子ｏｕｔ０〜３から出力する。これらの出力端子ｏｕｔ０〜３は、各ステートに対応している。
【００７６】
メモリ１４４は、４タップ×８ステート分のチャネル推定係数を、それぞれ対応する記憶領域に格納する。メモリ１４４の各ステートの各タップに対応する記憶領域は、更新前のチャネル推定係数を記憶する記憶領域および更新後のチャネル推定係数を記憶する記憶領域から構成されており、時刻ｔのＬＭＳアルゴリズム実行時における更新後のチャネル推定係数を記憶する記憶領域は、次の時刻（ｔ＋１）のＬＭＳアルゴリズム実行時において、更新前のチャネル推定係数を記憶する記憶領域となる。また、時刻ｔのＬＭＳアルゴリズム実行時における更新前のチャネル推定係数を記憶する記憶領域は、次の時刻（ｔ＋１）のＬＭＳアルゴリズム実行時において、更新後のチャネル推定係数を記憶する記憶領域として使用される。
【００７７】
具体的には、更新前のチャネル推定係数を記憶する記憶領域と、更新後のチャネル推定係数を記憶する記憶領域とを、独立に備え、時刻が切り替わるごとに上記のとおり切り替える構成で実現可能である。
【００７８】
または、時刻ｔのＬＭＳアルゴリズム実行時に、例えばステート０とステート１に対応する記憶領域から更新前のチャネル推定係数を読み出した場合、これらの記憶領域にステート０とステート４に対応する更新後のチャネル推定係数を格納し、同様な動作を順にステート３とステート７に対応するチャネル推定係数の格納まで行い、時刻（ｔ＋１）のＬＭＳアルゴリズム実行時には、ステート０とステート１に対応するチャネル推定係数が、それぞれ記憶されている記憶領域から読み出されるようなアクセス変換を行っても良い。
【００７９】
セレクタ１４６ａ（１４６ｂ）は、メモリ１４４に格納されている更新前のチャネル推定係数を、２ビットカウンタ１３０のカウンタ値および選択信号６００に応じた入力端子ｉｎ０〜７から入力し、加算部１２０ａ（１２０ｂ）へ出力する。
【００８０】
次いで、上記のように構成されたチャネル推定係数更新部１００の動作について説明する。
【００８１】
まず、２ビットカウンタ１３０のカウンタ値が「００」である場合、記憶部１４０からこのカウンタ値と選択信号６００に対応するチャネル推定係数が出力される。具体的には、セレクタ１４６ａ（１４６ｂ）によって、２ビットカウンタ値「００」および選択信号６００に対応する入力端子が、図６に示す規則に従って選択され（ここでは、ｉｎ０またはｉｎ１）、メモリ１４４に記憶されているチャネル推定係数が加算部１２０ａ−１〜４（１２０ｂ−１〜４）へ出力される。ここで出力されるチャネル推定係数は、更新前の（すなわち、時刻ｔにおける最尤系列推定に用いられた）ものであり、図２におけるノードＡのステートに対応している。
【００８２】
そして、加算部１２０ａ−１〜４（１２０ｂ−１〜４）によって、上述したような演算が行われ、タップごとのチャネル推定係数の更新値が得られる。
【００８３】
得られた更新値は、記憶部１４０へ出力され、カウンタ値「００」に対応する記憶領域に格納される。具体的には、セレクタ１４２ａ（１４２ｂ）によって、２ビットカウンタ値「００」に対応する出力端子が、図７に示す規則に従って選択され（ここでは、ｏｕｔ０）、更新されたチャネル推定係数がメモリ１４４に格納される。ここで格納されるチャネル推定係数は、更新後の（すなわち、時刻（ｔ＋１）における最尤系列推定に用いられる）ものであり、図２におけるノードＢのステートに対応している。
【００８４】
これにより、図２のノードＢにおけるステート０およびステート４に対応するチャネル推定係数の更新が行われたことになる。
【００８５】
次に、２ビットカウンタ１３０がカウントアップされ、カウンタ値が「０１」となる。そして、カウンタ値が「００」の場合と同様に、チャネル推定係数の更新処理が行われ、図２のノードＢにおけるステート１およびステート５に対応するチャネル推定係数の更新が行われる。
【００８６】
そして、２ビットカウンタ１３０がカウントアップされ、カウンタ値が「１０」となると、図２のノードＢにおけるステート２およびステート６に対応するチャネル推定係数の更新が行われ、さらに、カウンタ値が「１１」となると、図２のノードＢにおけるステート３及びステート７に対応するチャネル推定係数の更新が行われる。
【００８７】
このようにして、図２のノードＢにおけるステート０〜３のチャネル推定係数更新処理とステート４〜７のチャネル推定係数更新処理とを並列に行うため、８ステート分のＬＭＳアルゴリズムに基づくチャネル推定係数の更新を、４クロックで完了させることができる。
【００８８】
また、期待値生成部３００においては、期待値の生成処理に４クロックを必要とするため、本実施の形態における等化処理は、合計８クロックを必要とする。図１４に示したスロット構造の場合、０．５７７ｍｓｅｃ（ミリセカンド）の１スロット時間内に、５８ビットのデータと３ビットのテールビットとをそれぞれ２つずつ、合計１２２ビットの等化処理を完了させる必要がある。
【００８９】
したがって、１２２×８＝９７６クロックを０．５７７ｍｓｅｃ以内で処理するためには、約１．７ＭＨｚ（メガヘルツ）で動作させれば良く、ソフトウェア処理の場合の動作速度である約９０ＭＨｚに比べ、およそ５０分の１に必要動作速度を低減させることができる。
【００９０】
このように、本実施の形態によれば、チャネル推定係数の更新処理をハードウェアで行うことができ、並列処理が可能な処理については並列に行うため、カウンタのカウンタ値が１周する間にすべてのステートに属するチャネル推定係数の更新を行うことができ、ＬＳＩの動作速度を低く抑え、かつ、携帯端末の小型化・軽量化・低価格化を図ることができる。
【００９１】
なお、本実施の形態では、加算部１２０ａ−１〜４および加算部１２０ｂ−１〜４は、説明の簡略化のためすべて図４に示す構成としているが、上述したように、加算部１２０ａ−４および加算部１２０ｂ−４の入力Ｄは固定値（ＧＮＤまたはＶＤＤ）であるため、セレクタ１２４ａによる選択は不要となる。したがって、加算部１２０ａ−４は、入力Ａを常に全加算器１２６ａに入力し、「０」（すなわち、ＧＮＤ）をキャリー入力とし、一方、加算部１２０ｂ−４は、入力Ａを反転器１２２ａで反転した値を常に全加算器１２６ａに入力し、「１」（すなわち、ＶＤＤ）をキャリー入力とする構成にしても良い。こうすることで、回路規模をさらに削減することができる。
【００９２】
（実施の形態２）
本発明の実施の形態２の特徴は、ＬＭＳアルゴリズムとして、勾配フィルタリング法を採用したＬＭＳアルゴリズムを用いて、チャネル推定係数更新の精度を向上する点である。
【００９３】
本実施の形態においても、まず、ＬＭＳアルゴリズムの概要について説明する。本実施の形態においては、以下の（式５）および（式６）に示す、勾配フィルタリング法を採用したＬＭＳアルゴリズムが用いられる。
Ａ［ｔ＋１］＝ω×Ａ［ｔ］＋（１−ω）×ｅ［ｔ］×Ｕ［ｔ］・・・（式５）
Ｗ［ｔ＋１］＝Ｗ［ｔ］＋β×Ａ［ｔ＋１］・・・（式６）
ここで、Ｗ［ｔ］は時刻ｔにおける遷移先のステートのチャネル推定係数、βは定数、ｅ［ｔ］およびＵ［ｔ］は、それぞれ時刻ｔにおいて、あるステートから次のステートへ遷移する際の推定誤差および推定送信信号系列、Ａ［ｔ］は時刻ｔにおける誤差平均値、ωはフィルタリング係数（０≦ω≦１）を示している。また、チャネル推定係数Ｗ［ｔ］と誤差平均値Ａ［ｔ］は、タップ数×ステート数分だけ独立に存在する。
【００９４】
上記の（式５）は、時刻ｔにおける最尤系列推定の結果得られる、あるステートから次のステートへ遷移したと仮定した際の期待値と実際の受信信号値との誤差（すなわち、推定誤差ｅ［ｔ］）と、その際に実際に送信された信号として推定された推定送信信号系列Ｕ［ｔ］とを乗算し、さらに、その乗算結果に定数（１−ω）を乗じた値と、時刻ｔの推定時に用いた誤差平均値Ａ［ｔ］に定数ωを乗算した値とを加算することで、次の時刻（ｔ＋１）における誤差平均値Ａ［ｔ＋１］を得るものである。
【００９５】
また、上記の（式６）は、（式５）で更新した誤差平均値Ａ［ｔ＋１］に定数値βを乗じた値を、時刻ｔの推定時に用いたチャネル推定係数Ｗ［ｔ］に加算することで、次の時刻（ｔ＋１）におけるチャネル推定係数Ｗ［ｔ＋１］を得るものである。
【００９６】
なお、（式５）における推定送信信号系列Ｕ［ｔ］の乗算において、Ｕ［ｔ］が「０」であるタップに関しては、（＋１）を乗算し、Ｕ［ｔ］が「１」であるタップに関しては、（−１）を乗算する。
【００９７】
本実施の形態に係る等化器の構成は、実施の形態１（図１）と同様であるため、説明を省略する。また、本実施の形態においても、等化器のタップ数を４として説明するが、本発明はこれに限定されるものではない。
【００９８】
図８は、本実施の形態に係るチャネル推定係数更新部１００の構成を示すブロック図である。なお、同図において、図３と同じ部分には同じ符号を付し、その説明を省略する。
【００９９】
本実施の形態に係るチャネル推定係数更新部１００は、乗算器１１０ａ、乗算器１１０ｂ、記憶部１４０、加算部１５０ａ−１〜４、加算部１５０ｂ−１〜４、記憶部１６０ａ、記憶部１６０ｂ、セレクタ１７０ａ、セレクタ１７０ｂ、乗算部１８０ａ、乗算部１８０ｂ、および３ビットカウンタ１９０を有している。乗算器１１０ａ、加算部１５０ａ−１〜４、記憶部１６０ａ、セレクタ１７０ａ、および乗算部１８０ａから構成される系統と、乗算器１１０ｂ、加算部１５０ｂ−１〜４、記憶部１６０ｂ、セレクタ１７０ｂ、および乗算部１８０ｂから構成される系統とは並列に動作し、図２に示したノードＢのステート０〜３となる経路に関しては、前者の系統が処理を行い、図２に示したノードＢのステート４〜７となる経路に関しては、後者の系統が処理を行う。
【０１００】
乗算器１１０ａ（１１０ｂ）は、最尤系列推定部４００から出力された誤差信号５００と定数（１−ω）を乗算する。乗算結果は、加算部１５０ａ−１〜４（１５０ｂ−１〜４）へ入力される。
【０１０１】
加算部１５０ａ−１〜４（１５０ｂ−１〜４）は、乗算器１１０ａ（１１０ｂ）の乗算結果（以下、この入力をＡとする）、記憶部１４０から出力されるノードＡにおけるステートに属するチャネル推定係数（以下、この入力をＢとする）、乗算部１８０ａ（１８０ｂ）の乗算結果（以下、この入力をＥとする）、３ビットカウンタ１９０の最下位ビット（以下、この入力をＦとする）、ならびにＧＮＤ（ＶＤＤ）、３ビットカウンタ１９０のカウンタ値の上位２ビット、または選択信号６００（以下、この入力をＤとする）に基づいて、ノードＢにおけるステートに属する誤差平均値およびチャネル推定係数（以下、この出力をＣとする）を得る。なお、ＧＮＤは「０」を示し、ＶＤＤは「１」を示す。
【０１０２】
記憶部１６０ａ（１６０ｂ）は、各ステートに属する誤差平均値を、３ビットカウンタ１９０の上位２ビットに応じた記憶領域に格納するとともに、３ビットカウンタ１９０のカウンタ値に基づいて所定の記憶領域から誤差平均値を出力する。
【０１０３】
セレクタ１７０ａ（１７０ｂ）は、３ビットカウンタ１９０の最下位ビットに応じて、定数ωまたは定数βのいずれか一方を出力する。
【０１０４】
乗算部１８０ａ（１８０ｂ）は、記憶部１６０ａ（１６０ｂ）から出力される誤差平均値とセレクタ１７０ａ（１７０ｂ）から出力される定数ωまたは定数βとを乗算し、加算部１５０ａ−１〜４（１５０ｂ−１〜４）へ出力する。
【０１０５】
３ビットカウンタ１９０は、所定のクロック数で３ビットの数値を生成し、上位２ビットをそれぞれ加算部１５０ａ−２，３（１５０ｂ−２，３）へ出力し、最下位ビットを加算部１５０ａ−１〜４（１５０ｂ−１〜４）およびセレクタ１７０ａ（１７０ｂ）へ出力するとともに、３ビットのカウンタ値を記憶部１４０および記憶部１６０ａ（１６０ｂ）へ出力する。
【０１０６】
本実施の形態においては、上述した（式５）および（式６）の演算に、それぞれ１サイクルの処理を行う。すなわち、３ビットカウンタ１９０の最下位ビットが「０」のときに（式５）の演算を行い、「１」のときに（式６）の演算を行う。また、３ビットカウンタ１９０の上位２ビットは、実施の形態１における２ビットカウンタ１３０の各ビットに相当する。
【０１０７】
図９は、加算部１５０ａ−１の構成を示す図である。なお、加算部１５０ａ−２〜４および加算部１５０ｂ−１〜４も同様の構成を有するものとする。また、同図におけるＡ、Ｂ、Ｃ、Ｄ、Ｅ、およびＦは、図８における入力Ａ、入力Ｂ、出力Ｃ、入力Ｄ、入力Ｅ、および入力Ｆを示している。
【０１０８】
図９において、加算部１５０ａ−１は、セレクタ１５２ａ、反転器１５４ａ、セレクタ１５６ａ、および全加算器１５８ａを有している。
【０１０９】
セレクタ１５２ａは、入力Ｆ（３ビットカウンタ１９０の最下位ビット）の値に応じて、入力Ａ（誤差信号５００と定数（１−ω）の乗算結果）または入力Ｂ（記憶部１４０から出力された更新前のチャネル推定係数）の値を出力する。具体的には、セレクタ１５２ａは、入力Ｆの値が「０」ならば入力Ａを選択して出力し、入力Ｆの値が「１」ならば入力Ｂを選択して出力する。
【０１１０】
反転器１５４ａは、セレクタ１５２ａからの出力を反転する。すなわち、反転器１５４ａは、入力Ａまたは入力Ｂの値の符号を反転させる。
【０１１１】
セレクタ１５６ａは、入力Ｄ（加算部１５０ａ−１では選択信号６００であるが、他の加算部においては、３ビットカウンタ１９０の上位２ビット、ＧＮＤ、またはＶＤＤ）と入力Ｆに基づいて生成されるスイッチ信号の値に応じて、セレクタ１５２ａからの出力値またはこの出力値を反転した値を選択して出力する。
【０１１２】
具体的には、セレクタ１５６ａは、図１０に示す表に従って生成されるスイッチ信号の値に応じて、スイッチ信号が「０」ならばセレクタ１５２ａからの出力値を選択して出力し、スイッチ信号が「１」ならばこの出力値を反転した値を選択して出力する。ここで、スイッチ信号としては、入力Ｆが「０」ならば、入力Ｄの値が出力され、入力Ｆが「１」ならば、常に０が出力される。
【０１１３】
全加算器１５８ａは、１ビット以上の全加算器で構成されており、入力Ｅ（乗算部１８０ａの乗算結果）とセレクタ１５６ａの出力値とを用いて、上記のスイッチ信号を最下位ビットのキャリー入力（ｃｉｎ）として加算を行い、出力Ｃを得る。
【０１１４】
以上の演算をまとめると、入力Ｆが「０」ならば、
出力Ｃ＝入力Ｅ＋入力Ａ×入力Ｄ・・・（式７）
を行い、入力Ｆが「１」ならば、
出力Ｃ＝入力Ｅ＋入力Ｂ・・・（式８）
を行う。
【０１１５】
なお、（式７）において、入力Ｄが信号「０」を示す場合は、（＋１）を乗算し、入力Ｄが信号「１」を示す場合は、（−１）を乗算する。
【０１１６】
（式７）および（式８）を上述した（式５）および（式６）と比較すると、入力Ｂは、更新前のチャネル推定係数Ｗ［ｔ］に対応し、入力Ａは、推定誤差ｅ［ｔ］と定数（１−ω）の乗算結果に対応し、入力Ｄは、推定送信信号系列Ｕ［ｔ］に対応し、入力Ｅは、更新前の誤差平均値Ａ［ｔ］と定数ωの乗算結果または更新後の誤差平均値Ａ［ｔ＋１］と定数βの乗算結果に対応し、出力Ｃは、更新後の誤差平均値Ａ［ｔ＋１］または更新後のチャネル推定係数Ｗ［ｔ＋１］に対応する。
【０１１７】
なお、反転器１５４ａの入出力においては、値が反転するだけであるため、出力のビット幅は入力と同じビット幅で良く、回路の複雑性を軽減することができる。換言すれば、回路の複雑性を軽減するために、局所的に１の補数の数体系としている。また、反転器１５４ａ、セレクタ１５６ａ、および全加算器１５８ａによって乗算を実現しているため、回路規模を小さくすることができる。
【０１１８】
図１１は、記憶部１６０ａの構成を示す図である。なお、記憶部１６０ｂも同様の構成を有している。
【０１１９】
図１１において、記憶部１６０ａは、セレクタ１６２ａ、メモリ１６４ａ、およびセレクタ１６６ａを有している。
【０１２０】
セレクタ１６２ａは、加算部１５０ａ−１〜４（１５０ｂ−１〜４）から出力される更新後の誤差平均値を、３ビットカウンタ１９０の上位２ビットの値に応じた出力端子ｏｕｔ０〜３から出力する。これらの出力端子ｏｕｔ０〜３は、各ステートに対応している。
【０１２１】
メモリ１６４ａは、４タップ×４ステート分（記憶部１６０ａにおいては、図２におけるステート０〜３の４ステート）の誤差平均値を、それぞれ対応する記憶領域に格納する。
【０１２２】
セレクタ１６６ａは、メモリ１６４ａに格納されている更新後の誤差平均値を、３ビットカウンタ１９０のカウンタ値に応じた入力端子ｉｎ０〜３から入力し、乗算部１８０ａへ出力する。
【０１２３】
次いで、上記のように構成されたチャネル推定係数更新部１００の動作について説明する。
【０１２４】
まず、３ビットカウンタ１９０のカウンタ値が「０００」である場合、記憶部１６０ａからこのカウンタ値の上位２ビット（すなわち「００」）に対応する誤差平均値が出力される。具体的には、セレクタ１６６ａによって、カウンタ値の上位２ビット「００」に対応する入力端子が、図１２に示す規則に従って選択され（ここでは、ｉｎ０）、メモリ１６４ａに記憶されている誤差平均値が乗算部１８０ａへ出力される。
【０１２５】
また、同時に、カウンタ値の最下位ビット（すなわち「０」）がセレクタ１７０ａへ入力されることにより、セレクタ１７０ａから定数ωが乗算部１８０ａへ出力される。そして、誤差平均値および定数ωは、乗算部１８０ａによって乗算され、乗算結果が加算部１５０ａ−１〜４へ出力される。この乗算結果は、上述の入力Ｅに対応する。
【０１２６】
さらに、乗算器１１０ａによって、誤差信号５００と定数（１−ω）が乗算され、乗算結果が加算部１５０ａ−１〜４へ出力される。この乗算結果は、上述の入力Ａに対応する。
【０１２７】
そして、加算部１５０ａ−１〜４によって、入力Ｅ、入力Ａ、入力Ｆ、および入力Ｄが用いられることにより、上述したような演算が行われ、タップごとの誤差平均値の更新値が得られる。この更新値は、出力Ｃとして、記憶部１６０ａへ出力され、記憶される。具体的には、セレクタ１６２ａによって、３ビットカウンタ値「０００」に対応する入力端子が、図１３に示す規則に従って選択され（ここでは、ｏｕｔ０）、更新された誤差平均値がメモリ１６４ａに格納される。
【０１２８】
ここで、図１３から明らかなように、３ビットカウンタ１９０の最下位ビットが「０」の場合にのみ、更新された誤差平均値がセレクタ１６２ａから出力され、メモリ１６４ａに格納される。
【０１２９】
次に、３ビットカウンタ１９０がカウントアップされ、カウンタ値が「００１」となる。
【０１３０】
カウントアップが行われると、再度図１２に示す規則に従って、記憶部１６０ａからこのカウンタ値の上位２ビット（すなわち「００」）に対応する誤差平均値が乗算部１８０ａへ出力される。ここでも、３ビットカウンタ１９０の上位２ビットは変化していないため、入力端子ｉｎ０が選択されるが、この入力端子から出力される誤差平均値は、すでに更新が完了している値である。
【０１３１】
また、同時に、カウンタ値の最下位ビット（すなわち「１」）がセレクタ１７０ａへ入力されることにより、セレクタ１７０ａから定数βが乗算部１８０ａへ出力される。そして、誤差平均値および定数βは、乗算部１８０ａによって乗算され、乗算結果が加算部１５０ａ−１〜４へ出力される。この乗算結果は、上述した入力Ｅに対応する。
【０１３２】
そして、実施の形態１と同様に、記憶部１４０から３ビットカウンタ１９０の上位２ビットと選択信号６００に対応するチャネル推定係数が出力される。すなわち、３ビットカウンタ１９０の上位２ビット「００」および選択信号６００に対応する入力端子が、図６に示す規則に従って選択され（ここでは、ｉｎ０またはｉｎ１）、対応するチャネル推定係数が加算部１５０ａ−１〜４（１５０ｂ−１〜４）へ出力される。このチャネル推定係数は、上述した入力Ｂに対応する。
【０１３３】
そして、加算部１５０ａ−１〜４によって、入力Ｅ、入力Ｂ、入力Ｆ、および入力Ｄが用いられることにより、上述したような演算が行われ、タップごとの誤差平均値の更新値が得られる。この更新値は、出力Ｃとして、記憶部１４０へ出力され、記憶される。
【０１３４】
これにより、図２のノードＢにおけるステート０およびステート４に対応するチャネル推定係数の更新が行われたことになる。
【０１３５】
次に、３ビットカウンタ１９０がカウントアップされ、カウンタ値が「０１０」となる。そして、カウンタ値が「０００」の場合と同様に、誤差平均値の更新処理が行われ、続いてカウンタ値が「０１１」となると、チャネル推定係数の更新処理が行われる。
【０１３６】
以下、同様にカウンタ値に応じて、チャネル推定係数の更新が順次行われていく。
【０１３７】
このようにして、図２のノードＢにおけるステート０〜３のチャネル推定係数更新処理とステート４〜７のチャネル推定係数更新処理とを並列に行うため、８ステート分の勾配フィルタリング法のＬＭＳアルゴリズムに基づく誤差平均値およびチャネル推定係数の更新を、８クロックで完了させることができる。
【０１３８】
また、実施の形態１と同様に、期待値の生成処理に必要な４クロックを加えると、本実施の形態における等化処理は、合計１２クロックを必要とする。図１４に示したスロット構造の場合、０．５７７ｍｓｅｃ（ミリセカンド）の１スロット時間内に、５８ビットのデータと３ビットのテールビットとをそれぞれ２つずつ、合計１２２ビットの等化処理を完了させる必要がある。
【０１３９】
したがって、１２２×１２＝１４６４クロックを０．５７７ｍｓｅｃ以内で処理するためには、約２．６ＭＨｚ（メガヘルツ）で動作させれば良く、ソフトウェア処理の場合の動作速度である約９０ＭＨｚに比べ、およそ３５分の１に必要動作速度を低減させることができる。
【０１４０】
このように、本実施の形態によれば、チャネル推定係数の更新処理をハードウェアで行うことができ、並列処理が可能な処理については並列に行うとともに共有化できる回路は共有して使用するため、カウンタのカウンタ値が１周する間にすべてのステートに属するチャネル推定係数の更新を行うことができ、ＬＳＩの動作速度を低く抑え、かつ、携帯端末の小型化・軽量化・低価格化を図ることができる。
【０１４１】
【発明の効果】
以上説明したように、本発明によれば、ＬＳＩの動作速度を低く抑え、かつ、携帯端末の小型化・軽量化・低価格化を図ることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る等化器の構成を示すブロック図
【図２】本発明の実施の形態に係るステートの遷移を示す図
【図３】本発明の実施の形態１に係るチャネル推定係数更新部の構成を示すブロック図
【図４】実施の形態１に係る加算部の構成を示す図
【図５】実施の形態１に係る記憶部の構成を示す図
【図６】実施の形態１に係る記憶部の出力動作を説明するための図
【図７】実施の形態１に係る記憶部の入力動作を説明するための図
【図８】本発明の実施の形態２に係るチャネル推定係数更新部の構成を示すブロック図
【図９】実施の形態２に係る加算部の構成を示す図
【図１０】実施の形態２に係る加算部の動作を説明するための図
【図１１】実施の形態２に係る記憶部の構成を示す図
【図１２】実施の形態２に係る記憶部の出力動作を説明するための図
【図１３】実施の形態２に係る記憶部の入力動作を説明するための図
【図１４】ＴＤＭＡ通信におけるスロット構造の一例を示す図
【符号の説明】
１００　チャネル推定係数更新部
１１０ａ、１１０ｂ　乗算器
１２０ａ−１〜４、１２０ｂ−１〜４　加算部
１２２ａ、１５４ａ　反転器
１２４ａ、１４２ａ、１４２ｂ、１４６ａ、１４６ｂ、１５２ａ、１５６ａ、１６２ａ、１６６ａ、１７０ａ、１７０ｂ　セレクタ
１２６ａ、１５８ａ　全加算器
１３０　２ビットカウンタ
１４０、１６０ａ、１６０ｂ　記憶部
１４４、１６４ａ　メモリ
１５０ａ−１〜４、１５０ｂ−１〜４　加算部
１８０ａ、１８０ｂ　乗算部
１９０　３ビットカウンタ
【図１】
2004147103.tif 000003
【図２】
2004147103.tif 000004
【図３】
2004147103.tif 000005
【図４】
2004147103.tif 000006
【図５】
2004147103.tif 000007
【図６】
2004147103.tif 000008
【図７】
2004147103.tif 000009
【図８】
2004147103.tif 000010
【図９】
2004147103.tif 000011
【図１０】
2004147103.tif 000012
【図１１】
2004147103.tif 000013
【図１２】
2004147103.tif 000014
【図１３】
2004147103.tif 000015
【図１４】
2004147103.tif 000016