(57)【要約】  所望の一連の積和（ＭＡＣ）演算の最終結果を決定するための方法及び対応する回路が、所望の一連のＭＡＣ演算における積の出現カウント値をカウントするステップと、該カウント値にそれらの対応する積を乗算して、部分和を得るようにするステップと、該部分和を加算して最終結果を得るようにするステップとに基づいて実現される。本願で教示されるようなＭＡＣ処理は、受信した通信信号に関連する干渉相関推定値と等化フィルタ値との少なくともいずれかの計算上効率のよい（高速）生成を行うための、無線通信における受信信号の処理のような広範囲のアプリケーションに適用することができる。
2009527161.tif 000002
【特許請求の範囲】
【請求項１】
所望の一連の積和演算の最終結果を決定する方法であって、
前記所望の一連の積和演算における積の出現カウント値をカウントするステップと、
部分和を得るために、前記出現カウント値に対応する積を乗算するステップと、
前記最終結果を得るために前記部分和を加算するステップと
を備えることを特徴とする方法。
【請求項２】
前記所望の一連の積和演算における前記積の出現カウント値をカウントするステップは、
前記積に対応する乗数対について乗算演算を実行することにより前記積を得るステップと、
個々の積の正号と負号の出現カウント値をカウントするステップと
を備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記個々の積の正号と負号の出現カウント値をカウントするステップは、
対応するカウンタのアドレス指定を行うために積の絶対値を用いるステップと、
所定の積の個々の正号の出現カウント値に対して対応するカウンタを増分するステップと、
個々の負号の出現カウント値に対して対応するカウンタを減分するステップと
を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記部分和を得るために、前記カウント値に対応する積を乗算するステップは、個々のカウンタに記憶された前記カウント値に前記対応する積を乗算するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記所望の一連の積和演算における前記積の出現カウント値をカウントするステップは、前記積に対応する乗数対の出現カウント値をカウントするステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記所望の一連の積和演算における前記積の出現カウント値をカウントするステップは、
所定の乗数対の個々の出現カウント値に対して対応するカウンタのアドレス指定を行うステップと、
前記出現カウント値が正数であれば、前記対応するカウンタを増分するステップと、
前記出現カウント値が負数であれば、前記対応するカウンタを減分ステップと、によって前記積に対応する乗数対を処理するステップを含む
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記所定の乗数対の個々の出現カウント値に対して、対応するカウンタをアドレス指定するステップは、前記所定の乗数対を有する個々の乗数の絶対値に基づいてカウンタアドレスを決定するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記所定の乗数対を有する前記個々の乗数の符号に基づいて、前記出現カウント値が正数か、負数かを判定するステップをさらに備えることを特徴とする請求項７に記載の方法。
【請求項９】
前記部分和を得るために、前記カウント値に対応する積を乗算するステップは、個々のカウンタに記憶された前記カウント値に、前記対応する乗数対の前記積を乗算するステップを含むことを特徴とする請求項６に記載の方法。
【請求項１０】
前記所望の一連の積和演算は、一連の積和演算全体の第１の部分集合を備え、
前記方法は、直接に積和演算又は同等のテーブルルックアップ演算を用いて前記一連の積和演算全体の第２の部分集合を実行することによって、前記一連の積和演算全体の最終結果を得るステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１１】
前記所望の一連の積和演算は、汎用ＲＡＫＥ受信を用いて受信信号処理を実行するように構成された無線通信受信機のための合成重み推定の少なくとも一部を含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記所望の一連の積和演算は、チップ等化フィルタを用いて受信信号処理を実行するように構成された無線通信受信機のためのチップ等化フィルタ処理の少なくとも一部を含むことを特徴とする請求項１に記載の方法。
【請求項１３】
前記所望の一連の積和演算は、信号サンプル相関推定処理、信号畳み込み処理、信号相関処理、及び有限インパルス応答フィルタ処理のうち、いずれか１つの処理において実行されることを特徴とする請求項１に記載の方法。
【請求項１４】
予め計算された積を含むルックアップテーブルから少なくともいくつかの前記対応する積を得るステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１５】
所望の一連の積和演算における積の出現カウント値をカウントし、
部分和を得るために前記出現カウント値に対応する積を乗算し、
最終結果を得るために前記部分和を加算する
ように構成された１以上の処理回路を備えることを特徴とする積和回路。
【請求項１６】
所定の積の個々の出現カウント値について複数のカウンタのうち対応するカウンタが増減するように、前記１以上の処理回路は、積の絶対値の関数としてカウンタアドレスを生成し、積符号の関数としてカウンタの増減を制御するように構成されたカウンタ制御回路を備えることを特徴とする請求項１５に記載の積和回路。
【請求項１７】
前記複数のカウンタは前記１以上の処理回路の一部を備えることを特徴とする請求項１６に記載の積和回路。
【請求項１８】
前記積和回路は、前記積に対応する前記乗数対の出現カウント値をカウントすることによって前記積の出現カウント値をカウントするように構成され、
所定の乗数対の個々の出現カウント値について複数のカウンタのうち対応するカウンタが増減するように、前記１以上の処理回路は、乗数対の絶対値の関数としてカウンタアドレスを生成し、前記乗数対の符号の関数としてカウンタの増減を制御するように構成されたカウンタ制御回路を備えることを特徴とする請求項１５に記載の積和回路。
【請求項１９】
前記積和回路は、前記積に対応する乗数対について乗算演算を実行して前記積を得て、個々の積の正号と負号の出現カウント値をカウントすることにより、前記所望の一連の積和演算における前記積の出現カウント値をカウントするように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項２０】
前記積和回路は、対応するカウンタのアドレス指定を行うために積の絶対値を用い、所定の積の個々の正号の出現カウント値に対して対応するカウンタを増分し、個々の負号の出現カウント値に対して前記対応するカウンタを減分することによって、個々の積の正号及び負号の出現カウント値をカウントするように構成されたことを特徴とする請求項１９に記載の積和回路。
【請求項２１】
前記積和回路は、個々のカウンタに記憶された前記カウント値に前記対応する積を乗算することによって、前記部分和を得るために前記カウント値にその対応する積を乗算するように構成されたことを特徴とする請求項２０に記載の積和回路。
【請求項２２】
前記積和回路は、前記積に対応する前記乗数対の出現カウント値をカウントすることによって前記所望の一連の積和演算における前記積の出現カウント値をカウントするように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項２３】
前記積和回路は、
所定の乗数対の個々の出現カウント値に対して対応するカウンタをアドレス指定し、
前記出現カウント値が正数であれば、前記対応するカウンタを増分し、
前記出現カウント値が負数であれば、前記対応するカウンタを減分することにより、前記積に対応する乗数対を処理することで、前記所望の一連の積和演算における前記積の出現カウント値をカウントするように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項２４】
前記積和回路は、前記所定の乗数対を有する個々の乗数の絶対値に基づいてカウンタアドレスを決定することによって、前記所定の乗数対の個々の出現カウント値に対して前記対応するカウンタをアドレス指定するように構成されたことを特徴とする請求項２３に記載の積和回路。
【請求項２５】
前記積和回路は、前記出現カウント値が正数であるか、負数であるかを、前記所定の乗数対を有する前記個々の乗数の符号に基づいて判定するように構成されたことを特徴とする請求項２４に記載の積和回路。
【請求項２６】
前記積和回路は、個々のカウンタに記憶された前記カウント値に前記対応する乗数対の前記積を乗算することによって、前記部分和を得るために前記カウント値に対応する積を乗算するように構成されたことを特徴とする請求項２４に記載の積和回路。
【請求項２７】
前記所望の一連の積和演算は、一連の積和演算全体の第１の部分集合を備え、
直接に積和演算又は同等のテーブルルックアップ演算を用い、前記一連の積和演算全体の第２の部分集合を実行することによって、前記一連の積和演算全体の最終結果を得るように構成された追加の積和回路をさらに備えることを特徴とする請求項１５に記載の積和回路。
【請求項２８】
前記積和回路は、合成重み生成の一部として干渉相関推定処理を実行するように構成された汎用ＲＡＫＥ受信機回路を含む無線通信装置の一部を備え、
前記積和回路は、前記汎用ＲＡＫＥ受信機回路の一部を備え、かつ、前記合成重みを生成するために干渉相関行列を生成する処理の一部として前記所望の一連の積和演算を実行するように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項２９】
前記積和回路は汎用ＲＡＫＥ受信機回路を含む無線通信装置の一部を備え、
前記積和回路は、合成重み生成のための信号サンプル値相関処理の一部として前記所望の一連の積和演算を実行するように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項３０】
前記積和回路は、受信信号等化処理の一部としてフィルタ係数推定処理を実行するように構成されたチップ等化フィルタ回路を含む無線通信装置の一部を備え、
前記積和回路は、前記チップ等化フィルタ回路の一部を備え、かつ、等化フィルタ係数を生成するために前記所望の一連の積和演算を実行するように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項３１】
前記所望の一連の積和演算は、信号サンプル相関推定処理、信号畳み込み処理、信号相関処理及び有限インパルス応答フィルタ処理のうち、いずれか１つの処理において行われることを特徴とする請求項１５に記載の積和回路。
【請求項３２】
前記積和回路は、予め計算された積を含むルックアップテーブルから、少なくともいくつかの前記対応する積を得るように構成されたことを特徴とする請求項１５に記載の積和回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、通信信号処理の文脈において用いられるような数値処理に関し、特に積和演算に関する。
【背景技術】
【０００２】
積和（ＭＡＣ）演算は、２数を乗算して、その結果を保存されている値に、あるいは、さらに一般的に言えば、累積レジスタに加算するものである。一連の数字対に対してこの演算を繰り返すことによって、デジタル領域における信号フィルタリングのような有用な結果が得られることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
所望の一連のＭＡＣ演算を行う従来のアプローチは、この一連の演算において個々の数字対に対する完全精度の乗算演算と完全精度の加算演算とを必要とする。ソフトウェアの形で行われる従来方式のＭＡＣ演算の実施は、結果的に望ましくない、パフォーマンス上不利な状態をもたらすことがある。適切に相互接続された加算器／乗算器と制御論理回路の形で専用ＭＡＣハードウェアを設けることによって、パフォーマンスの大幅な改善を図ることが可能となる。しかしながら、無線通信領域におけるデジタル信号処理と関連づけられる演算のような、ＭＡＣ演算の高速実行処理は、非常に高速な加算器と乗算器とを必要とする。このようなハードウェアは、少なくともいくつかの集積回路による処理用としては実際的でないか、又は、極端に高価なものとなるか、多量の電力を必要とするものとなることが考えられる。
【課題を解決するための手段】
【０００４】
１つの実施形態では、一連の積和（ＭＡＣ）演算を行う方法が、所望の一連のＭＡＣ演算に対応する、積集合内の特定の積の出現カウント値をカウントするステップと、このカウント値に対応する積を乗算することによって部分和を生成するステップと、この部分和を加算して、所望の一連のＭＡＣ演算の最終結果を得るようにするステップと、を備えることになる。所望の一連のＭＡＣ演算が一連の個々の乗算の総和を表わし、個々の乗算が乗数対を含むことになるため、１つの実施形態において積をカウントするステップは、乗数対の乗算を実行するステップと、上記乗算の結果生じる積の出現カウント値をカウントするステップとを備えることになる。別の実施形態では、積をカウントするステップは積に対応する乗数対の出現カウント値をカウントするステップを備える。すなわち、このカウント値は積対の乗算を行う必要なく得られることになる。
【０００５】
上記いずれの実施形態においても、所定の積の正号の出現カウント値に対しては対応するカウンタの増分を行い、また、積の負号の出現カウント値に対しては当該カウンタの減分を行うことによって上記カウントを行うことが可能となる。積を構成する個々の乗数の符号に基づいて負数及び正数の出現カウント値を決定することができる。したがって、１つのＭＡＣ回路の実施形態は、所望の一連のＭＡＣ演算において積の出現カウント値をカウントし、このカウント値にその対応する積を乗算して、部分和を得るようにし、この部分和を加算して最終結果を得るように構成される１以上の処理回路を備えることになる。ＭＡＣ回路の１以上の実施形態において、処理回路はカウンタ及びアドレス指定／制御回路を含む。このアドレス指定／制御回路は、カウントされる積の関数としてカウンタのアドレス指定を行う。例えば、アドレス指定／制御回路は、個々の一意の積の絶対値を所定のカウンタに対応づけるように構成し、それによって、カウンタが、積の負号の出現カウント値に対しては減分され、また、正号の出現カウント値に対しては増分されるようにすることができる。
【０００６】
上記積に対応する乗数対をカウントするステップに基づいて積の出現カウント値をカウントする実施形態の場合、制御回路はこの乗数対を対応するカウンタに対応づけるように構成することができる。例えば、本明細書に教示されているような１つのＭＡＣ回路の実施形態には、個々の一意の乗数対用カウンタが含まれている。しかし、カウンタの数を節減するために、アドレス指定／制御回路は、別の実施形態では、「同等の」乗数対を同じカウンタに対応づけるように構成される。１つの実施形態では、乗数対が同じ積の絶対値に対応していれば、この乗数対は同等であると見なされる。別の実施形態では、積の絶対値に基づいて同等と見なすことに加えて、あるいは、このような見なしの代替として、例えば、ａ×ｂ＝ｂ×ａのような同じ乗数を有すれば、（含まれている符号にかかわりなく）乗数対は同等であると見なすことができる。
【０００７】
本明細書において教示される種々の回路並びに方法を示す実施形態は、広範な適用性を有するものである。例えば、１つの実施形態では、無線通信装置が、本願において教示されるようなＭＡＣ回路を含むものとなり、少なくとも部分的に上記ＭＡＣ回路を用いて受信信号処理のための干渉相関を計算するように構成される。別の実施形態では、無線通信装置が、チップ等化フィルタ値の計算のために本願で教示されているようなＭＡＣ回路を使用するように構成される。別の実施形態では、無線通信装置が、汎用ＲＡＫＥ受信機回路を含み、その場合、所望の一連のＭＡＣ演算は、汎用ＲＡＫＥ受信機回路における合成重み生成のために使用できるような、少なくとも受信信号に対する相関推定処理の一部を備えることになる。本発明を限定するものではない別の実施例によって、サンプル値相関推定処理、信号畳み込み処理、信号相関処理、又は有限インパルス応答フィルタ処理において本願で教示されるような所望の一連のＭＡＣ演算の実行が可能となる。
【０００８】
本発明が上記特徴及び利点のみに限定されるわけではないことは言うまでもない。
【０００９】
実際、当業者であれば、添付図面を見ながら以下の説明を読むとき、追加の特徴及び利点を認識するであろう。
【発明を実施するための最良の形態】
【００１０】
図１は、所望の一連の積和（ＭＡＣ）演算を実行するための１つの処理用論理回路の実施形態を示す論理流れ図であり、この論理回路はハードウェア、ソフトウェア、又はこれらを任意に組み合わせた形で実装可能である。この例示の方法をより良く理解する手段として、所定の一連のＭＡＣ演算に関与する積項を表わす積１０の集合が図２に例示されている。これらの積（Ｐ１〜Ｐ１０）の各々は乗数対に対応していることがわかる。例えば、乗数ａとｂは積Ｐ１を生み出し、乗数ｂとｃは積Ｐ２を生み出す、等々。
【００１１】
集合１０の検査によって、この集合内のいくつかの積が２回以上出現していることが明らかにされる。例えば、この時点に対する符号の違いを全く無視すると、積Ｐ１は積Ｐ９と同じである。さらに、積に対応する乗数対を有する個々の乗数の順序が所定のアプリケーションにとって重要なものでなければ、乗数ｂとｃの積は積集合１０において４回（すなわち、Ｐ２、Ｐ６、Ｐ８、Ｐ１０）生じていることになる。積の反復は、長い一連の乗数対にわたって顕著になると考えられる。さらに詳細には、個々の乗数がとる基底を成す値の範囲に制限がある場合、例えば、乗数が低分解能のデジタルサンプル値に対応し、長いサンプル値の連続にわたって反復される乗数対／積の数が大きな意義をもつようになると考えられる。
【００１２】
この点を考慮し、図１の論理回路に戻ると、所望の一連のＭＡＣ演算の最終結果を決定する処理は、所望の一連のＭＡＣ演算における積の出現カウント値をカウントすることによって「開始する」（ステップ１００）。処理は上記カウント値にその対応する積を乗算して、部分和を得るようにし、次いで、この部分和を加算して、最終結果を得るようにし続ける（ステップ１０２）。したがって、実数値サンプル値か、複素数サンプル値かにかかわらず、さらに、乗数対であるか、さらに多くの複素積項であるかにかかわらず、本願において教示されるＭＡＣ回路と方法は、（例えば、アップ／ダウンカウンタなどの）複数の単純なカウンタ、及び、単純なポストカウンティング演算を用いて、所望の一連のＭＡＣ演算を行って、所望の一連のＭＡＣ演算を評価する基礎を提供することになる。
【００１３】
１以上の実施形態において、このような処理は符号付き数値に基づいて行われ、次いで、２つの部分（符号ビット部と絶対値部）に変えられる。このような実施形態において、個々のカウンタは２つの絶対値の積に関連づけられる。カウンタは、積を形成する２つの絶対値によって、特に積を形成する２つの絶対値によってアドレス指定される。カウンタがアドレス指定される場合、符号ビット（符号ビットは＋１又は−１によって表わされる）の積が正であるとき、カウンタは１だけカウントアップされ（本願ではこれを正数の出現カウント値と呼ぶ）、符号ビットの積が負のとき、１だけカウントダウンされる（本願ではこれを負数の出現カウント値と呼ぶ）。このようにして、カウンタ内の値は関連づけられた絶対値の対の累積された乗数を表わすことになる。例えば、所望の一連のＭＡＣ演算が２＊３＋（−２＊３）＋（−２＊−３）＋２＊３＋（−２＊−３）＋（−２＊３）であれば、本願で教示されるＭＡＣ処理方法を示す１以上の実施形態では、この所望の一連のＭＡＣ演算は以下のように計算される：（１−１＋１＋１＋１−１）（２＊３）＝２＊６。
【００１４】
アップ／ダウンカウントは、上記の操作で（１−１＋１＋１＋１−１）＝２を計算する。所望の一連のＭＡＣ演算の最終結果は、上記最終の数式に例示のように、アップダウンカウンタの「カウント値」（上記の例によれば２）と、上記カウンタと関連づけられる２つの絶対値の積（上記の例によれば６）と、を乗算することによって計算される。
【００１５】
１以上の実施形態において、所定の積の正数の出現カウント値は１つのカウンタの中で累積され得ること、さらに、当該同じ積の負数の出現カウント値は別のカウンタの中で累積され得ることにも留意されたい。次いで、これらの積の乗数は、累積された負数の出現カウント値を累積された正数の出現カウント値から減算することにより決定される。或いは、累積に先行して、負の部分和と正の部分和とを形成するようにしてもよい。アップ／ダウンカウンタではなく、例えばアップカウンタなどの一方向カウンタの使用の方が望ましい場合には、このような実施形態を実施することができる。カウント値の対応する積を乗じるような累積カウント値は部分和を生むことになり、次いで、この部分和をまとめて加算して、所望の一連のＭＡＣ演算の最終結果を得るようにしてもよい。すべての数が正（無符号）であれば、アップカウンタのみが必要となり、符号ビットを含む演算を省くことができる。
【００１６】
本願で教示されるようなＭＡＣ処理は任意の所望の一連のＭＡＣ演算に適用することができる。一般に、所望の一連のＭＡＣ演算は下式のように表わすことができる：
[数1]
2009527161.tif 000003
ｘ（ｉ）とｙ（ｉ）の絶対値を用いて、アップダウンカウンタのアドレス指定を行うことができる。そして、ｘ（ｉ）とｙ（ｉ）の符号ビットの積を用いて、アドレス指定済みカウンタを増分すべきか、減分すべきかが決定される。乗数ｘ（ｉ）とｙ（ｉ）が、有限の範囲の値をとる場合には、生じ得る積の数もやはり有限なものになる。そして、本願で教示される方法は、所定の一連のＭＡＣ演算において生じる積の絶対値の反復を利用するものとなる。
【００１７】
一般に、ｘ（ｉ）とｙ（ｉ）は実数である必要はないため、本願で教示される方法は、通信信号処理のような広い範囲の信号処理への広範にわたる適用性を有することになる。例えば、２つの数列の相関は数１の形をとる。したがって、本願で提案される方法は、広範囲の通信信号処理関数において優勢な相関計算に適用することが可能となる。
【００１８】
例えば、符号分割多元接続（ＣＤＭＡ）システムにおいて、受信機は、複素数値化された受信サンプル値と、逆拡散と呼ばれる複素数値化された拡散シーケンスとの間の相関計算を行う必要がある場合が多い。逆拡散演算は本願で提案される方法を用いて行うことができる。広帯域ＣＤＭＡ（ＷＣＤＭＡ）とＣＤＭＡ２０００とにおいて、拡散シーケンスは、値｛ａ，ｂ，−ａ，−ｂ｝をとる。但し、ａ＝１＋ｊかつｂ＝１−ｊである。上記シーケンスが複素数値｛ｃ，ｄ，ｅ，ｆ，−ｃ，−ｄ，−ｅ，−ｆ｝をとると仮定する。（ａ，ｃ）、（ａ，ｄ）、（ａ，ｅ）、（ａ，ｆ）、（ｂ，ｃ）、（ｂ，ｄ）、（ｂ，ｅ）、（ｂ，ｆ）とそれぞれ関連づけられるアップダウンカウンタを用いて、個々の対に関連づけられる乗数を相関中に数え上げることができる。最終相関は下式により得ることができる。
[数２]
ｚ＝Ｃac（ａ＊ｃ）＋Ｃad（ａ＊ｄ）＋Ｃae（ａ＊ｅ）＋Ｃaf（ａ＊ｆ）＋Ｃbc（ｂ＊ｃ）＋Ｃbd（ｂ＊ｄ）＋Ｃbe（ｂ＊ｅ）＋Ｃbf（ｂ＊ｆ）
但し、ｃi,jは（ｉ，ｊ）に関連づけられるカウンタ値である。
【００１９】
さらに別の例として、有限インパルス応答（ＦＩＲ）フィルタリングもＭＡＣ演算となり、下式のように表わすことができる。
[数３]
2009527161.tif 000004
【００２０】
したがって、ｘ（ｉ）はＦＩＲフィルタの係数を表わすことができることになる。また、ｙ（ｉ）はフィルタへ入力される信号サンプル値を表わすことができる。それ故、本願で教示される方法はＦＩＲフィルタに直接適用される。さらに、信号ｘ（ｉ）とｙ（ｉ）間の畳み込みは数３の形をとるため、本願で教示される方法は２つの信号の畳み込みに直接適用される。
【００２１】
上記並びに別の適用を念頭に置いて、図３は、ＭＡＣ回路１２の１つの実施形態を例示する図であり、この実施形態は、本願で教示されるＭＡＣ演算を行う方法を実施するように構成することができる。例示のＭＡＣ回路１２は、ＭＡＣ回路１２に含まれるか、ＭＡＣ回路１２と関連づけられる複数のカウンタ１６を制御するように構成されるカウンタ制御回路１４、並びに、１以上の計算回路１８を備える。計算回路１８は、所望の一連のＭＡＣ演算に対応する積を処理するカウンタ制御回路１４の関数としてカウンタ１６において累積する積出現カウント値に基づいて部分和を得るように、そして、この部分和をまとめて加算することによって最終結果を生成するように構成される。
【００２２】
理解すべきことだが、図３に描かれている回路素子はハードウェアベースの回路、ソフトウェアベースの回路、又はこれらの任意の組み合わせを備えることができる。例えば、図４は、プログラムメモリ２２を含むか、あるいは、プログラムメモリ２２に関連づけられるマイクロプロセッサ（又はＤＳＰ）２０を示す図である。このプログラムメモリ２２には、ＭＡＣ回路１２を実現するコンピュータプログラム命令が記憶される。また、上記プログラムメモリ２２は、カウンタ１６を実現するためのレジスタを提供し、積集合１０（又は対応する乗数対）を記憶するデータメモリ２４とさらに関連づけられる（積又は乗数を予め記憶する必要がなく、リアルタイムで、又はリアルタイムの近くで行われる所定の一連のＭＡＣ演算のための生成されるような（as-generated）基礎に基づいて処理を行うことができる点にも留意されたい。さらに、マイクロプロセッサの代わりに、ＡＳＩＣ、ＦＰＧＡ、又は別のプログラマブル論理素子を用いてＭＡＣ回路１２を実現するようにしてもよいことに留意されたい。）。
【００２３】
１つの実施形態では、その実施構成の細部にかかわりなく、ＭＡＣ回路１２は、積に対応する乗数対に対して乗算演算を実行し、個々の積の正数と負数の出現カウント値をカウントすることによって所望の一連のＭＡＣ演算における積の出現カウント値をカウントする。（或いは、関連づけられた回路が乗数対乗算を実行して、積を取得し、カウント用ＭＡＣ回路１２を提供するようにしてもよい。さらに、積値を丸めたり、量子化したりして、生じ得る積値の個数を制限するようにし、それによって必要なカウンタの数を減らすようにしてもよい。１つの実施形態では、個々の積の正数と負数の出現カウント値をカウントするステップは、積の絶対値を用いて、対応するカウンタ１６のカウンタをアドレス指定するステップと、所定の積の個々の正数の出現カウント値に対して対応するカウンタを増分ステップと、個々の負数の出現カウント値に対して対応するカウンタを減分するステップとを備える。このアプローチによって、カウント値にそれらの対応する積を乗算して、部分和を得るようにするステップは、個々のカウンタに記憶されたカウント値に、対応する積を乗算するステップを備えることになる。
【００２４】
所望の一連のＭＡＣ演算における乗数対の乗算を行うことにより積の出現カウント値をカウントするステップは、ＭＡＣ演算への従来方式の直接アプローチと比べて計算上の大きな利点を表わすものになる。その場合、個々の乗数対が乗算され、次いで、結果として生じる積がＭＡＣ累算器に加えられる。例えば、一連の１００回のＭＡＣ演算を実行するために、従来方式の（直接）ＭＡＣ回路は、１００回の完全精度の乗算と１００回の完全精度の加算とを実行することになり、この実行にはキャリー／オーバフロートラッキング（carry/overflow tracking）が含まれることになる。しかし、ＭＡＣ回路１２の１つの実施例では、ＭＡＣ回路１２が１００回の乗算を実行するとき、同じ値の積の出現カウント値が単純にカウントされ、累積されたカウント値が用いられて、対応する同じ値の積が乗算され、次いで、これらの結果をまとめて加算して、最終結果が得られることになる。１００回の積が単に１５個の一意の値を含む場合、従来方式で必要とされる１００回の加算の代わりに、１５回の加算のみが必要となる。対応する乗数対の積は、所定の積値を保持するルックアップテーブル又は別のデータ構造を用いて決定することができる。さらに一般的には、所望の一連のＭＡＣ演算時の積に対応する少なくともいくつかの乗数対の積は、予め計算された値としてメモリに記憶することができる。
【００２５】
１以上の別の実施形態において、ＭＡＣ回路１２及び対応する方法が、積に対応する乗数対の出現カウント値をカウントするステップに基づいて、所望の一連のＭＡＣ演算における積の出現カウント値をカウントすることによりさらに大きな計算効率を得る。このような実施形態では、乗数対の乗算を第１に行う必要なく積のカウントが取得される。再度、種々の乗数対の積に対応する予め計算された値を記憶することが可能となり、それによって、乗算を行うことによってではなく、ルックアップ機能を用いて乗数対の積値の決定が可能となる。したがって、ルックアップデータを含むメモリは、ＭＡＣ回路１２の中に含まれうることになる。あるいは直接的に又は間接的にＭＡＣ回路１２と関連づけることが可能となる。これらの乗数対の値をさらに量子化して、必要なカウンタの数を減らすようにすることができる。
【００２６】
他の利点の中で、本願で教示されるようなＭＡＣ処理により提供される計算効率における利得は顕著な低減を可能にするものになり得る。例えば、電力の節減を実現することができるが、これは、ＭＡＣ回路１２が機能的構成において相対的に単純であり、また、本願で教示される方法を用いて、所望の一連のＭＡＣ処理の結果を計算するために必要な演算回数を減らすことができるからである。さらに、本願で教示されるようなＭＡＣ処理をさらに実行可能にすることも可能である。例えば、１６０ＭＩＰＳのような乗算の実行は困難なものになる場合があるが、本願で教示されるようなカウントベースのＭＡＣ演算は同様の速度でずっと簡単に行うことができる。
【００２７】
積のカウンティングを示す１以上の実施形態をより良く示すために、図５には、アドレス生成回路３０及び増分／減分制御回路３２を備えるものとして、ＭＡＣ回路１２のカウンタ制御回路１４が描かれている。これらの回路は、カウンタ１６と関連づけられる。例えば、１つの実施形態では、ＭＡＣ回路１２を備える１以上の処理回路は積の絶対値の関数としてカウンタアドレスを生成し、次いで、カウンタの増分と減分を積符号の関数として制御するように構成される。複数のカウンタにおける対応するカウンタは、所定の積の個々の出現カウント値に対応して増分されるか、減分されるようになる。１以上の実施形態において、所望の一連のＭＡＣ演算に対して乗数符号等を特定するようなカウンタと前処理機能とが、ＭＡＣ回路１２を備えた上記１以上の処理回路内に含まれるようにしてもよい。
【００２８】
上記に関係なく、積の絶対値は、個々の一意の積の関数として対応するカウンタのアドレスを生成するように構成することができるアドレス生成回路３０への入力になり得る。さらに、対応する積符号は、増分／減分制御回路３２への入力になり得る。この構成によって、一連の演算における個々の一意の積は、カウンタ１６のうちの特定のカウンタに対応づけられる。したがって、一連の演算における一意の積の個々の出現カウント値は、該出現カウント値が正数であれば、対応するカウンタを増分させ、又は、該出現カウント値が負数であれば減分させることになる。出現カウント値は、カウントされる出現カウント値と共に増分／減分制御回路３２へ入力される（単複の）符号値によって正数か、又は負数かのいずれかに個々に決定される。
【００２９】
別の実施形態では、ＭＡＣ回路１２は、所定の乗数対の個々の出現カウント値に対する対応するカウンタへのアドレス指定に基づいて、積に対応する乗数対を処理し、出現カウント値が正数であれば対応するカウンタを増分し、出現カウント値が負数であれば対応するカウンタを減分することによって所望の一連のＭＡＣ演算時における積をカウントする。したがって、アドレス生成回路３０は、所定の乗数対を有する個々の乗数の絶対値に基づいてカウンタアドレスを決定することによって、所定の乗数対の個々の出現カウント値に対してカウンタアドレスを生成するように構成することができる。すなわち、乗数対、又は該乗数対の対応する絶対値は、乗数対又は該乗数対の対応する符号値の、増分／減分制御回路３２の中への入力と共に、アドレス生成回路３０への入力になり得る。
【００３０】
１つの実施形態では、アドレス生成回路３０は個々の一意の乗数対に対して一意のカウンタアドレスを生成する。例えば、本発明を限定するものではない例として、実数を用いて、アドレス生成回路３０は、乗数対（ａ＊ｂ）及び（ｂ＊ａ）に対して異なるカウンタアドレスを生成するように構成することができる。この場合これらの乗数対の対応する積の絶対値は同じである。すべての一意の乗数対を異なるカウンタアドレスに対応付ける１つの利点としてアドレス生成論理回路の単純化がある。このような単純化は非常に高速信号処理用アプリケーションにとって望ましい場合がある。
【００３１】
このような対応付けは単純化されたカウンタアドレス生成を結果としてもたらすことができるが、一方で、この対応付けは一般に、複数のカウンタ１６の中に多数のカウンタを必要とすることになる。アドレス指定可能なメモリレジスタを用いてカウンタ１６を実装できるという理由のために、利用可能な多量のカウンタ資源が生じる可能性がある。また一方で、カウンタ資源が関心事（concern）であるか、回路パフォーマンスが問題点でないかの少なくともいずれかであれば、アドレス生成回路３０は「同等の」乗数対を同じカウンタアドレスに対応付けるように構成することができる。１つの実施形態では、同等の乗数対は、同じ絶対値を有する個々の乗数の乗数対として定義される。例えば、乗数対（３，２）は（２，３）と同等なものとなる。さらに、上記とは別に、同等の乗数対の定義は同じ積の絶対値に対応する乗数対にまで拡張することができる。したがって、（３，２）、（２，３）、（１，６）、及び（６，１）はすべて同等なものとなり、これらの積のうちのいずれの積の出現カウント値も同じカウンタアドレスを生成することになる。
【００３２】
実際の積をカウントするか、又は、対応する乗数対をカウントするかの選択、並びに、多数のカウンタよりも単純化されたカウンタアドレス生成の方を優先するかの選択は、少なくともある程度まで手元にある特定のアプリケーションに依存して決められることになる。本願で前述したように例えば、ＭＡＣ演算を行うＭＡＣ回路１２及び対応する方法は通信信号処理用アプリケーションにおいて適用することができる。
【００３３】
この点に関して、（ＷＣＤＭＡ及びＣＤＭＡ２０００の無線通信ネットワークなどの）市販のＣＤＭＡシステムでは、多元接続干渉によってパフォーマンスが制限を受ける場合が多い。多元接続干渉の少なくとも一部は着色ノイズとしてモデル化することができる。基地局から端末へのダウンリンクにおいて、分散チャネルを経由して受信される２、３の基地局信号から着色ノイズが生じる。個々の基地局信号は周波数選択フェージングによって着色される。同様に、アップリンクにおいて、分散チャネルを経由するアクセス端末からの高出力の高速データレート受信信号は基地局受信機において着色干渉を引き起こす。
【００３４】
基地局受信機又はアクセス端末のいずれかにおいて、着色ノイズが優勢になると、干渉を抑制するための干渉相関を利用することによって受信機のパフォーマンスを大幅に改善することが可能となる。一般に、干渉相関推定値の決定が多数のＭＡＣ演算を潜在的に実行するステップを含むため、本願で教示される回路と方法を用いて少なくともいくつかの所望のＭＡＣ演算を実行することにより、干渉相関の決定を計算上単純化することが可能となる。干渉相関にはデータ又はチップサンプル値の相関が含まれるという点に留意されたい。
【００３５】
例えば、図６は、本願で教示されるようなＭＡＣ処理を実行する無線通信装置４０を示す図である。例示の実施形態では、無線通信装置４０は、受信／送信アンテナ４２、スイッチ／送受切換器４４、受信機フロントエンド４６、送信増幅回路４８、受信プロセッサ５２と送信プロセッサ５４とを含むベースバンドプロセッサ回路５０、システムコントローラ５６、及びユーザインタフェース５８を備える。当業者であれば理解できるように、無線通信装置４０は、描かれている回路構成から逸脱するものであってもよいことは言うまでもない。例えば、無線通信装置４０は、（セルラハンドセットなどの）移動無線電話機、無線通信機能を備えた携帯用デジタルアシスタント（ＰＤＡ）、無線ページャ、パームトップ／ラップトップコンピュータ又は該コンピュータ内のネットワークカード、等を備えるものであってもよい。
【００３６】
図７に図示の１つの実施形態において、受信プロセッサ５２は、逆拡散ユニット６２を備える汎用ＲＡＫＥ（Ｇ−ＲＡＫＥ）受信機６０、合成重み生成器６４、ＭＡＣ回路１２の実施形態を含む干渉相関回路６６、及び合成回路６８を含む。動作中、干渉相関回路６６は、受信データサンプル値に関連する干渉相関推定値を生みだす干渉相関推定処理を実行する。上記受信データサンプル値は、合成重み生成器６４により実行されるような合成重み生成において使用するための値である。干渉相関推定値が着色干渉相関を正確に表わす程度まで、逆拡散ユニット６２により出力された逆拡散信号に対して生成済みの合成重みを印加すると、その結果として、合成回路６８により出力された合成信号における着色干渉の除去が生じることになる。
【００３７】
特に、干渉相関回路６６は、該干渉相関回路の中に含まれているＭＡＣ回路１２を用いて少なくとも部分的に干渉相関推定を実行する。但し上記干渉相関回路６６は従来方式のＭＡＣ回路を含むか、又は従来方式のＭＡＣ回路へも同様にアクセスするものであってもよい。したがって、受信プロセッサ５２により実行される干渉相関推定処理に関連して、計算効率と、処理速度と、電力消費特性との少なくともいずれかが改善されることになる。（理解すべきことだが、マイクロプロセッサ、ＡＳＩＣ、ＦＰＧＡ、又は別の処理回路内において受信プロセッサ５２が実行可能である。）
さらに、当業者であれば理解できるように、Ｇ−ＲＡＫＥ処理は線形最小平均２乗誤差（ＬＭＭＳＥ）ベースのチップ等化（ＣＥ）と同等のものである。この目的のために、受信プロセッサ５２の別の実施形態が図８に描かれている。該受信プロセッサ５２はチップ等化回路７０を含み、このチップ等化回路７０は、（チップ）等化フィルタ７２、フィルタ係数生成装置７４、ＭＡＣ回路１２の実施形態を含むデータ相関回路７６、及び逆拡散相関器７８を備える。
【００３８】
動作中、等化フィルタ７２は、フィルタ係数生成装置７４により生成されるフィルタ係数に基づいて受信信号サンプル値を等化する。次いで、フィルタ係数が、データ相関回路７６により生成されるデータ相関推定値に少なくとも部分的に基づいて生成される。このデータ相関回路７６は、その中に含まれているＭＡＣ回路を用いてデータサンプル値の相関を生成するように構成される。等化された受信信号サンプル値は、次いで、送信済みシンボル情報の検出のために逆拡散相関器７８へ入力される。
【００３９】
図７の干渉相関回路６６の場合と同様に、図８のデータ相関回路７６は、干渉相関推定値を生成するために必要とされるＭＡＣ演算の少なくとも一部のために、ＭＡＣ回路１２の使用によるそのデータ相関推定処理中に計算効率の改善を図るものである。一般に線形干渉抑制受信機の場合、ＭＡＣ回路１２の種々の実施形態は、合成重み生成のためのＧ−ＲＡＫＥ実装構成における干渉相関の推定において、又は、フィルタタップ係数のためのＣＥ実装構成におけるデータ相関の推定において顕著なパフォーマンスと効率上の利点との少なくともいずれかを生み出すことができる。
【００４０】
Ｇ−ＲＡＫＥの場合、合成重みは、ｗGR＝Ｒu-1ｈのように定式化することができる。ここで、Ｒuは干渉相関値であり、ｈはネット応答値である。ＣＥの場合、タップ係数はｗCE＝Ｒd-1ｆによって決定することができる。ここで、Ｒdは受信サンプル値の相関値であり、ｆは受信サンプル値と関心対象のチップ値との間の相関値である。重みベクトルｗGRとｗCEは正数の換算係数と関係づけられる。すなわち、ｗGR＝λｗCE、但し、λ＞０。したがって、Ｇ−ＲＡＫＥの合成重みは、受信したサンプル値相関Ｒd行列を用いて決定することができる。したがって、本願で教示されるＭＡＣ回路１２と方法とにより提供されるようなＲdの効率的な計算は、チップ等化器だけでなくＧ−ＲＡＫＥ受信機にも利点を与えるものとなる。実際は、Ｇ−ＲＡＫＥのコンテキストにおいて、合成重み推定を逆拡散値ではなくチップサンプル値に基づかせることによって、高速フェージング条件の下で改善されたパフォーマンスを生み出すことが可能となる。
【００４１】
したがって、本願で教示されるような効率的なＭＡＣ処理は、一般に通信受信機に顕著な利点を与えることになる。したがって、本願で特定の実施形態を示されながら、当業者は、例えば、基地局と移動局の少なくともいずれかのような固定受信機と移動受信機の双方において本願で教示される方法と回路の実装が可能となることを認識することになる。
【００４２】
通信受信機用アプリケーションをさらに詳細に見ると、ｙ（ｉ）はｉ番目の複素数値化された受信サンプル値として表わされ、ｄ1，ｄ2，．．．ｄJは、サンプル値のユニットにおけるフィンガ（又はタップ）遅延にされている。受信サンプル値の相関行列Ｒdは下式によって推定することができる。
【００４３】
[数４]
2009527161.tif 000005
但し、Ｎは平滑化係数であり、ベクトルｙ（ｉ）＝［ｙ（ｉＫ＋ｄ1），ｙ（ｉＫ＋ｄ2），．．．，ｙ（ｉＫ＋ｄJ）］T
項Ｋは通常チップ時間におけるサンプル数に設定される。
【００４４】
一般に、Ｒdの正確な推定値を得るには大きな平滑化係数Ｎを必要とする。数４に必要な計算量は、Ｎが大きい場合かなり大きな量になる可能性がある。さらに詳細には、Ｒdの中にＪ＊Ｊ個の要素が存在し、さらに、個々の要素について、Ｎ回の複素乗算の計算を必要とする。したがって、全体としてＮ＊Ｊ2回の複素乗算が必要となる。しかし、処理回路はＲdのエルミート対称性を利用して、複素乗算の回数をほぼＮＪ2／２まで減らすように構成することができる。例えば、Ｊ＝６、Ｎ＝１０００のＷＣＤＭＡベースの通信信号のコンテキストにおいて、演算処理ＲdがＷＣＤＭＡスロット毎に更新されるものと仮定すると、ＭＡＣ演算への従来のアプローチを用いるＲdの演算処理は、毎秒１憶６０００万回以上の命令（ＭＩＰＳ）を消費することになる。
【００４５】
このような演算のためにＭＡＣ回路１２の実施形態を使用することは、所望のＭＩＰＳにおける大幅な減少をもたらすことになる。この減少は、例のようなＲdの（１，１）と（１，２）の要素の推定値を用いることにより示すことができる。前者の場合は（単複の）対角要素Ｒdを表わし、後者の場合は（単複の）非対角要素Ｒdを表わす。非対角要素ｒ1,2から始めると、
[数５]
2009527161.tif 000006
ｒ1,2の実数部又は同相成分（ｉ）は下式のように表わすことができる。
【００４６】
[数６]
2009527161.tif 000007
ここで、ｙI（ｉ）とｙQ（ｉ）は、それぞれ、受信したサンプル値ｙ（ｉ）の実数部と虚数部（直角位相成分（Ｑ））である。同様に、ｒ1,2の虚数部は下式のように表わすことができる。
[数７]
2009527161.tif 000008
【００４７】
数６と数７の計算のためのアップダウンカウンタの利用は、これらの数式の計算に必要な潜在的に多数の従来方式のＭＡＣ演算の実行と比較して、計算効率において顕著な利得をもたらすことになる。例えば、受信サンプル値ｙ（ｉ）の実数部と虚数部の双方が、１ビットの符号と２ビットの絶対値から成る３ビットに量子化されると仮定する。３ビットの量子化値はレベル−７、−５、−３、−１、１、３、５、及び７を表わす。２つの３ビットの符号付き整数の積は（ｓ1ｓ2）（ｕ1ｕ2）によって計算することができる。ここで、ｓ１とｓ２は符号であり、ｕ1とｕ2は、２ビットの絶対値である。符号の積は、カウントアップするか、カウントダウンするか（カウント値を増分するか減分するか）の決定に用いることができる。数５を実行する１つの方法として、数６の同相成分用の個別のカウンタと、数７の直角位相成分の個別のカウンタとを個々の反復について２回更新させる方法がある。
【００４８】
図９は、直上に記載のように、絶対値と符号の形の対応する乗数対の処理に基づいて、所望の一連のＭＡＣ演算における積の出現カウント値をカウントするように構成されるＭＡＣ回路１２のカウンタ制御回路１４の実施形態を例示する図である。さらに詳細には、アドレス生成回路３０は、乗数対（ｕ1，ｕ2）に対応する［ｕ1（１），ｕ1（２）］と［ｕ2（１），ｕ2（２）］の絶対値の関数として、カウンタアドレス（（カウンタ（ｉ，ｊ））を生成するように構成される。ここでｕk（１）とｕk（２）は、ｕkの２ビットの２ビット絶対値を示す。さらに、増分／減分制御回路３２は、乗数対の符号（ｓ1，ｓ2）の関数として、アドレス済みのカウンタを増分するか、減分するように構成される。図１０は２ビット絶対値のための積のテーブルであり、乗数対の絶対値と該乗数対の対応する積との間の対応付けを示す。この対応付けは、カウンタのアドレス指定を行うために使用することができる。
【００４９】
したがって、ＭＡＣ回路１２は、ある特定のカウンタにアクセスするためのアドレスとして、所望の一連のＭＡＣ演算において乗数対に対応する積の絶対値ビットを利用するように構成することができる。すなわち、絶対値ビット（ｉ，ｊ）はアドレスカウンタ（ｉ，ｊ）となる。例えば、２つの絶対値が３及び５であれば、カウンタ値（３，５）がアドレスになる。このアドレス指定されたカウンタは、乗数対符号ビットの積が１又は−１であれば、それぞれカウントアップするか、カウントダウンすることになる。
【００５０】
上述したように、ＭＡＣ回路１２は個々の一意の乗数対を異なるカウンタに対応づけるように構成することができる。上記アプローチは図１０に描かれている乗数対の対応付けを行うために１６のカウンタを必要とする。しかし、前述したように、乗数対の複数の組み合わせが同じ積値への対応づけを行うようになっている。したがって、同じカウンタに対して同等の乗数対を対応付けることによって、より少数のカウンタが使用できることになる。例えば、図１０に示される値に対してこのようにすることによって、必要なカウンタの数は１０個だけになる。
【００５１】
いずれの場合にも、カウントのアップダウンを行うために数６のすべての積項がカウンタのアドレス指定において使用されると、数６の総和を計算することが下式によって可能となる。
[数８]
2009527161.tif 000009
【００５２】
ここで、Ｍはカウンタの総数であり、ｃ（ｍ）はカウンタのｍ番目の値であり、ｐ（ｍ）はｍ番目のカウンタと関連づけられた積値である。受信サンプルの実数部と虚数部とに関連する３ビット符号付き整数についての本願の例を続けて、乗算の対称性を利用すると、Ｍ＝１０、ｐ（１）＝１＊１＝１、ｐ（２）＝１＊３＝３、ｐ（３）＝１＊５＝５、ｐ（４）＝１＊７＝７、ｐ（５）＝３＊３＝９、ｐ（６）＝３＊５＝１５、ｐ（７）＝３＊７＝２１、ｐ（８）＝５＊５＝２５、ｐ（９）＝５＊７＝３５、及びｐ（１０）＝７＊７＝４９。ここで、ｐ（ｍ）は予め計算し、記憶したものであってもよいという点に注意されたい。
【００５３】
例えば要素（１，１）などのＲdの対角要素の場合、ＭＡＣ回路１２は、Ｒdの非対角要素を計算するのに使用するのと同じ論理回路を使用することができる。対角要素は純粋に実数であるので、数７の計算は省くことができる。上記とは別に、ＭＡＣ回路１２は、対角要素特性を利用するアドレス指定論理回路を含むものであってもよい。この点に関して、（１，１）要素ｒ1,1などの対角要素Ｒdは下式のように計算できることに留意されたい。
[数９]
2009527161.tif 000010
したがって、ｙi又はｙqの２つの絶対値ビットのみが、対応するカウンタのアドレス指定に必要となる。（この場合カウントを「アップ」するためだけに必要な）カウンタのアドレス指定においてすべてのｙiとｙqとを使用すると、数９の総和は下式により計算することができる。
【００５４】
[数１０]
2009527161.tif 000011
ここで、Ｍ’は対角要素Ｒdの計算に用いられるカウンタの総数であり、ｃ’（ｍ）はｍ番目のカウンタの値であり、ｐ’ｍはｍ番目のカウンタと関連づけられる積値である。受信サンプル値の実数部と虚数部に関連する３ビット符号付き整数の本願の例を続けると、Ｍ＝４、ｐ’（１）＝１＊１＝１、ｐ’（２）＝３＊３＝９、ｐ’（３）＝５＊５＝２５、及びｐ’（４）＝７＊７＝４９となる。
ここで、ｐ’（ｍ）は予め計算し、記憶したものであってもよいという点に注意されたい。
【００５５】
演算処理数式の数８をさらに容易にするために、ＭＡＣ回路１２は加算／減算演算と組み合わせたシフト演算を利用して、ｃ（ｍ）ｐ（ｍ）のすべての積を計算するように構成することができる。周知のように、２のべき乗の乗算は、左シフトを使用して実現することが可能であり、したがって、
ｃ（１）ｐ（１）＝ｃ（１）；ｃ（２）ｐ（２）＝ｃ（２）＊３＝４ｃ（２）−ｃ（２）又は２ｃ（２）＋ｃ（２）；
ｃ（３）ｐ（３）＝ｃ（３）５＝４ｃ（３）＋ｃ（３）；ｃ（４）ｐ（４）＝ｃ（４）７＝８ｃ（４）−ｃ（４）；
ｃ（５）ｐ（５）＝ｃ（５）９＝８ｃ（５）＋ｃ（５）；
ｃ（６）ｐ（６）＝ｃ（６）１５＝１６ｃ（６）−ｃ（６）；ｃ（７）ｐ（７）＝ｃ（７）２１＝１６ｃ（７）＋４ｃ（７）＋ｃ（７）；
ｃ（８）ｐ（８）＝ｃ（８）２５＝１６ｃ（８）＋８ｃ（８）＋ｃ（８）；ｃ（９）ｐ（９）＝ｃ（９）３５＝３２ｃ（９）＋４ｃ（９）−ｃ（９）；
ｃ（１０）ｐ（１０）＝ｃ（１０）４９＝６４ｃ（１０）−１６ｃ（１０）＋ｃ（１０）となる。
【００５６】
１以上の実施形態において、ＭＡＣ回路１２は、上記計算を実行するように調整されるハードウェアとソフトウェアとの少なくともいずれかをベースとする論理回路を含み、同様の計算を用いて数１０の計算が可能となることを理解すべきである。さらに、除算を容易にするために２のべき乗のような平滑化係数Ｎを選択することができる。絶対単位が重要でなければ、Ｎによる除算は省くことができる。
【００５７】
上記の例は乗数対を用いるＭＡＣ処理を示すものではあるが、ＭＡＣ回路１２を用いて所望の一連のＭＡＣ演算の実行が可能であり、その場合複数の計算から積が生じることを理解すべきであることは言うまでもない。例えば、ｒ1,1Iを計算する際に、図１１に図示のようなテーブル２次元カウンタマッピングテーブルは用いて実数部と虚数部の和の２乗ｙI2（ｉＫ＋ｄ1）＋ｙQ2（ｉＫ＋ｄ1）
を求めることができる。この場合、カウンタは個々のサンプルについて２回あるいは４回ではなく一回だけ更新される。
【００５８】
大まかに言って、この場合、本願で教示されるようなＭＡＣ処理は実数の単純な積対に、又は、複素数値化された積対に、又は、例えば、積項を引き起こす３つのさらに多くの乗数などの積はいくつかの乗算を表わす所望の一連のＭＡＣ演算に適用することができる。したがって、本願で教示されるＭＡＣ処理は、所望の一連のＭＡＣ演算を含むほぼ任意のタイプの信号処理又は別の数値計算に適用されることになる。所望の一連のＭＡＣ演算において生じる積がとり得る可能な値の範囲が制限されている場合、処理効率において顕著な利得が得られることになる。
【００５９】
生じる可能性のある積の範囲がきわめて広いか、又は無制限のインスタンスにおいてさえ、一連のＭＡＣ演算全体の部分集合に対して良好に境界が設けられている場合がある。すなわち、積によっては他の積よりも出現頻度が高いものもある。したがって、本願で教示されるようなＭＡＣ処理、すなわち、ＭＡＣ結果の決定へのカウンタベースのアプローチを積集合全体における第１の部分集合の積に対して適用することが可能となる。従来方式の（直接）ＭＡＣ演算、すなわち、総当たり積和処理を用いるか、又は同等のルックアップテーブル処理を行うことによって、残りの部分集合の積を処理することができる。このようにして、少なくとも最も普通に生じる積、すなわち、実行される一連のＭＡＣ演算に関連して最も頻繁に反復される積を本願で教示されるように処理することが可能となる。次いで、個々の部分集合の最終結果を合成して、一連のＭＡＣ演算全体の最終結果を得るようにすることができる。
【００６０】
したがって、当業者であれば理解できるように、本発明は上述の説明によって限定されるものではないし、添付図面によって限定されるものでもない。実際には、本発明は、特許請求の範囲における記載及びその均等物によってのみ限定されるものである。
【図面の簡単な説明】
【００６１】
【図１】積和（ＭＡＣ）処理の１つの実施例のための処理論理回路の論理流れ図である。
【図２】図１のＭＡＣ処理方法に従って処理することができるような仮想上の積及び該積の対応する乗数対を示すテーブルである。
【図３】ＭＡＣ処理用として構成されたＭＡＣ回路の１つの実施形態のための回路素子のブロック図である。
【図４】ＭＡＣ回路を実現するのに用いることができるマイクロプロセッサベースの回路のブロック図である。
【図５】ＭＡＣ処理の１つの実施例のためのＭＡＣ回路の細部を示すブロック図である。
【図６】ＭＡＣ処理用として構成された無線通信装置のブロック図である。
【図７】図６の無線通信装置に含まれる受信機回路の汎用ＲＡＫＥの実施形態のためのブロック図であり、この実施形態では、合成重み生成のための干渉相関推定値を得るために、本願で教示されるようなＭＡＣ処理が利用される。
【図８】図６の無線通信装置に含まれる受信機回路のチップ等化（ＣＥ）実施形態のためのブロック図であり、この実施形態では、本願で教示されるようなＭＡＣ処理が用いられて、ＣＥフィルタリング用のフィルタタップ係数が得られる。
【図９】ＭＡＣ処理の１つの実施例のためのＭＡＣ回路の細部を示すブロック図である。
【図１０】本願で教示されるような、ＭＡＣ演算論理回路により実現可能であるような乗数からカウンタへのマッピングテーブルを示すテーブルである。
【図１１】本願で教示されるような、ＭＡＣ演算論理回路により実現可能であるような乗数からカウンタへのマッピングテーブルを示すテーブルである。
【図１】
2009527161.tif 000012
【図２】
2009527161.tif 000013
【図３】
2009527161.tif 000014
【図４】
2009527161.tif 000015
【図５】
2009527161.tif 000016
【図６】
2009527161.tif 000017
【図７】
2009527161.tif 000018
【図８】
2009527161.tif 000019
【図９】
2009527161.tif 000020
【図１０】
2009527161.tif 000021
【図１１】
2009527161.tif 000022
【手続補正書】
【提出日】平成20年3月17日(2008.3.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所望の一連の積和演算の最終結果を決定するための、積和回路で実行される方法であって、
前記所望の一連の積和演算における、絶対値が同一の積の出現カウント値をカウントするステップと、
部分和を得るために、前記出現カウント値に対応する積を乗算するステップと、
前記最終結果を得るために前記部分和を加算するステップと
を備えることを特徴とする方法。
【請求項２】
前記所望の一連の積和演算における、絶対値が同一の積の出現カウント値をカウントするステップは、
前記積に対応する乗数対について乗算演算を実行することにより前記積を得るステップと、
個々の積の正号と負号の出現カウント値をカウントするステップと
を備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記個々の積の正号と負号の出現カウント値をカウントするステップは、
対応するカウンタのアドレス指定を行うために積の絶対値を用いるステップと、
所定の積の個々の正号の出現カウント値に対して対応するカウンタを増分するステップと、
個々の負号の出現カウント値に対して対応するカウンタを減分するステップと
を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記部分和を得るために、前記カウント値に対応する積を乗算するステップは、個々のカウンタに記憶された前記カウント値に前記対応する積を乗算するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記所望の一連の積和演算における、絶対値が同一の積の出現カウント値をカウントするステップは、前記積に対応する乗数対の出現カウント値をカウントするステップを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記所望の一連の積和演算における、絶対値が同一の積の出現カウント値をカウントするステップは、
所定の乗数対の個々の出現カウント値に対して対応するカウンタのアドレス指定を行うステップと、
前記出現カウント値が正数であれば、前記対応するカウンタを増分するステップと、
前記出現カウント値が負数であれば、前記対応するカウンタを減分ステップと、によって前記積に対応する乗数対を処理するステップを含む
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記所定の乗数対の個々の出現カウント値に対して、対応するカウンタをアドレス指定するステップは、前記所定の乗数対に含まれる個々の乗数の絶対値に基づいてカウンタアドレスを決定するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記所定の乗数対に含まれる前記個々の乗数の符号に基づいて、前記出現カウント値が正数か、負数かを判定するステップをさらに備えることを特徴とする請求項７に記載の方法。
【請求項９】
前記部分和を得るために、前記カウント値に対応する積を乗算するステップは、個々のカウンタに記憶された前記カウント値に、前記対応する乗数対の前記積を乗算するステップを含むことを特徴とする請求項６に記載の方法。
【請求項１０】
前記所望の一連の積和演算の前記最終結果は、一連の積和演算全体の第１の部分集合の最終結果を含み、
前記方法は、
直接に積和演算又は同等のテーブルルックアップ演算を用いて前記一連の積和演算全体の第２の部分集合の最終結果を決定するステップと、
前記第１の部分集合の最終結果と前記第２の部分集合の最終結果とを結合して、前記一連の積和演算全体の最終結果を得るステップと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項１１】
前記所望の一連の積和演算は、汎用ＲＡＫＥ受信を用いて受信信号処理を実行するように構成された無線通信受信機のための合成重み推定において実行されることを特徴とする請求項１に記載の方法。
【請求項１２】
前記所望の一連の積和演算は、チップ等化フィルタを用いて受信信号処理を実行するように構成された無線通信受信機に対するチップ等化フィルタ処理において実行されることを特徴とする請求項１に記載の方法。
【請求項１３】
前記所望の一連の積和演算は、信号サンプル相関推定処理、信号畳み込み処理、信号相関処理、及び有限インパルス応答フィルタ処理のうち、いずれか１つの処理において実行されることを特徴とする請求項１に記載の方法。
【請求項１４】
予め計算された積を含むルックアップテーブルから少なくともいくつかの前記対応する積を得るステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１５】
所望の一連の積和演算における、絶対値が同一の積の出現カウント値をカウントするように構成された複数のカウンタと、
部分和を得るために前記カウント値に対応する積を乗算し、最終結果を得るために前記部分和を加算するように構成された１以上の演算回路と
を備えることを特徴とする積和回路。
【請求項１６】
所定の積の個々の出現カウント値について複数のカウンタのうち対応するカウンタが増減するように、積の絶対値の関数としてカウンタアドレスを生成し、積符号の関数としてカウンタの増減を制御するように構成されたカウンタ制御回路をさらに備えることを特徴とする請求項１５に記載の積和回路。
【請求項１７】
前記複数のカウンタは、前記積に対応する乗数対の出現カウント値をカウントすることによって前記絶対値が同一の積の出現カウント値をカウントするように構成され、
所定の乗数対の個々の出現カウント値について前記複数のカウンタのうち対応するカウンタが増減するように、前記積和回路は、乗数対の絶対値の関数としてカウンタアドレスを生成し、前記乗数対の符号の関数としてカウンタの増減を制御するように構成されたカウンタ制御回路をさらに備えることを特徴とする請求項１５に記載の積和回路。
【請求項１８】
前記積和回路は、前記積に対応する乗数対について乗算演算を実行して前記積を得るようにさらに構成され、
前記複数のカウンタは、個々の積の正号と負号の出現カウント値をカウントすることにより、前記所望の一連の積和演算における前記絶対値が同一の積の出現カウント値をカウントするように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項１９】
前記積和回路は、対応するカウンタのアドレス指定を行うために積の絶対値を用い、所定の積の個々の正号の出現カウント値に対して対応するカウンタを増分し、個々の負号の出現カウント値に対して前記対応するカウンタを減分するようにさらに構成されたことを特徴とする請求項１８に記載の積和回路。
【請求項２０】
前記１以上の演算回路は、個々のカウンタに記憶された前記カウント値に前記対応する積を乗算することによって、前記部分和を得るために前記カウント値にその対応する積を乗算するように構成されたことを特徴とする請求項１９に記載の積和回路。
【請求項２１】
前記複数のカウンタは、前記積に対応する乗数対の出現カウント値をカウントすることによって前記所望の一連の積和演算における前記積の出現カウント値をカウントするように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項２２】
所定の乗数対の個々の出現カウント値に対して対応するカウンタをアドレス指定し、
前記出現カウント値が正数であれば、前記対応するカウンタを増分し、
前記出現カウント値が負数であれば、前記対応するカウンタを減分する
ように構成されたカウンタ制御回路をさらに備えることを特徴とする請求項１５に記載の積和回路。
【請求項２３】
前記カウンタ制御回路は、前記所定の乗数対に含まれる個々の乗数の絶対値に基づいてカウンタアドレスを決定することによって、前記所定の乗数対の個々の出現カウント値に対して前記対応するカウンタをアドレス指定するように構成されたことを特徴とする請求項２２に記載の積和回路。
【請求項２４】
前記カウンタ制御回路は、前記出現カウント値が正数であるか、負数であるかを、前記所定の乗数対に含まれる前記個々の乗数の符号に基づいて判定するように構成されたことを特徴とする請求項２３に記載の積和回路。
【請求項２５】
前記１以上の演算回路は、個々のカウンタに記憶された前記カウント値に前記対応する乗数対の前記積を乗算することによって、前記部分和を得るために前記カウント値に対応する積を乗算するように構成されたことを特徴とする請求項２３に記載の積和回路。
【請求項２６】
前記所望の一連の積和演算の最終結果は、一連の積和演算全体の第１の部分集合の最終結果を含み、
直接に積和演算又は同等のテーブルルックアップ演算を用い、前記一連の積和演算全体の第２の部分集合の最終結果を決定し、前記第１の部分集合の最終結果と前記第２の部分集合の最終結果とを結合して、前記一連の積和演算全体の最終結果を得るように構成された追加の積和回路をさらに備えることを特徴とする請求項１５に記載の積和回路。
【請求項２７】
前記積和回路は、合成重み生成の一部として干渉相関推定処理を実行するように構成された汎用ＲＡＫＥ受信機回路を含む無線通信装置の一部を備え、
前記積和回路は、前記汎用ＲＡＫＥ受信機回路の一部を備え、かつ、前記合成重みを生成するために干渉相関行列を生成する処理の一部として前記所望の一連の積和演算を実行するように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項２８】
前記積和回路は汎用ＲＡＫＥ受信機回路を含む無線通信装置の一部を備え、
前記積和回路は、合成重み生成のための信号サンプル値相関処理の一部として前記所望の一連の積和演算を実行するように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項２９】
前記積和回路は、受信信号等化処理の一部としてフィルタ係数推定処理を実行するように構成されたチップ等化フィルタ回路を含む無線通信装置の一部を備え、
前記積和回路は、前記チップ等化フィルタ回路の一部を備え、かつ、等化フィルタ係数を生成するために前記所望の一連の積和演算を実行するように構成されたことを特徴とする請求項１５に記載の積和回路。
【請求項３０】
前記所望の一連の積和演算は、信号サンプル相関推定処理、信号畳み込み処理、信号相関処理及び有限インパルス応答フィルタ処理のうち、いずれか１つの処理において行われることを特徴とする請求項１５に記載の積和回路。
【請求項３１】
前記積和回路は、予め計算された積を含むルックアップテーブルから、少なくともいくつかの前記対応する積を得るように構成されたことを特徴とする請求項１５に記載の積和回路。
【国際調査報告】
2009527161.tif 000023
2009527161.tif 000024
2009527161.tif 000025