(57)【特許請求の範囲】
【請求項１】
一定周期で連続的に入力される複素相関行列をそれぞれ上三角行列に変換する信号処理回路であって、
少なくともN個の複素相関行列を記憶する記憶手段と、
記憶された複素相関行列の行列要素を読み出す読出手段と、
CORDICアルゴリズムをパイプライン型回路方式で実装したCORDIC計算回路手段と、
前記読出手段と前記CORDIC計算回路手段を制御して、１つの複素相関行列に対して前記CORDIC計算回路手段を繰り返し使用することで上三角行列を計算するQR分解制御手段であって、N個の複素相関行列の上三角行列への変換をインターリーブ形式で並行に計算するQR分解制御手段と、
を備え、
前記QR分解制御手段は、
一つの複素相関行列を入力してから上三角行列を出力するまでの計算処理をN個の処理
ステップに分割し、
前記N個の複素相関行列に対して、同じ時点でそれぞれ異なる処理ステップをインター
リーブ形式で並行計算する、
信号処理回路。
【請求項２】
前記QR分解制御手段は、
前記読出手段及び前記CORDIC計算回路手段を制御するためのマイクロコードを記憶したプログラムメモリと、
プログラムカウンタに従って読み出されたマイクロコードを記憶するマイクロコードレジスタと、
を有し、マイクロコードレジスタに読み出されたマイクロコードに従って、前記読出手段及び前記CORDIC計算回路手段を制御する、
請求項１に記載の信号処理回路。
【請求項３】
前記CORDIC計算回路手段は、ベクタリング計算処理と回転計算処理の一方または双方を実行するパイプライン型計算回路を含む、
請求項１または２に記載の信号処理回路。
【請求項４】
被検体から放出された超音波を受信し受信信号に変換する複数の超音波受信素子と、
前記複数の超音波受信素子から取得される複数の受信信号の位相を揃える整相遅延回路と、
前記整相遅延回路から取得される位相が揃えられた受信信号に対してアダプティブ信号処理を施すアダプティブ信号処理手段と、
を備え、
前記アダプティブ信号処理手段が、
位相が揃えられた受信信号をそれぞれ複素信号化し、複数の複素信号を取得する複素信号化回路と、
前記複数の複素信号の複素相関行列を計算する相関行列計算回路と、
前記複素相関行列を上三角行列に変換する請求項１乃至３のいずれか１項に記載の信号処理回路と、
を含む、超音波診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複素相関行列のQR分解計算を実行する計算回路に関するものであり、特に超音波診断装置のアダプティブ信号処理回路への適用に好適な計算回路方式に関する。
【背景技術】
【０００２】
近年、ディジタル信号処理技術の発達により、高度なアダプティブ信号処理がレーダ信号処理、無線通信、無線LANなど広い分野で実用化されてきている。超音波診断装置の分
野においても、超音波エコー信号処理にアダプティブ信号処理の導入が検討されており、エコー画像に対する高分解能化、高コントラスト化の効果が期待されている。
【０００３】
アダプティブ信号処理は、入力信号の特性を学習しつつ自らの信号処理を再構成し最適化する高度な信号処理技術である。既に、例えば最小2乗誤差法(Minimum Mean Square Error: MMSE)、最大S/N法(Maximum Signal-to-Noise ratio: MSN)、拘束条件付電力最小化
法(Constrained Minimization of Power: CMP)など多くの手法が提案されている。しかし、アダプティブ信号処理の計算量は通常の信号処理に比べて膨大であり、その膨大な計算を高速に実行する小型低価格の計算手段の実現が、アダプティブ信号処理の実用化の一つの大きな課題となっている。
【０００４】
ここで、超音波診断装置にCMP法を用いた場合のアダプティブ信号処理について説明す
る。CMP法では、拘束条件で保護された信号成分をそのまま保持し、その他の干渉波成分
等を出力電力最小化により抑圧することで、入力信号を最適化する。この際、順次入力される超音波受信信号の複素相関行列Aと、拘束ベクトルCを用いて、
【数１】
0005787527.tif 000002
を計算する。計算項(1)は、通常計算項(2)
【数２】
0005787527.tif 000003
を計算し、その結果と拘束ベクトルCとの内積計算を行うようにする。この計算項(2)は逆行列を含むため、アダプティブ信号処理の計算量の多さの主な原因となっている。CMP
法では、拘束条件付最小電力値ｐを
【数３】
0005787527.tif 000004
のように計算し、エコー画像の１画素信号とする。
【０００５】
超音波エコー画像の画素密度を劣化させないためには、複素相関行列を少なくとも5MHz程度の周期で生成することが必要であり、それに伴って、拘束付最小電力値pの計算も5MHz以上の周期で計算できることが必要となる。
以上のように、CMP法を超音波診断装置に適用するためには、もともと計算量の多い計
算項(2)を5MHz以上の周期、すなわち200ns以下の短時間で計算する小型低価格の計算手段が必要であり、そのことが実用化のための大きな課題となっている。
【０００６】
CMP法と同様に、MMSE法、MSN法などアダプティブ信号処理の多くは、その最適化の計算過程において、複素相関行列Aの逆行列に複素ベクトルyを掛けた、
【数４】
0005787527.tif 000005
なる計算項(4)が現れる。逆行列の計算は原理的に行列の大きさの３乗に比例する多数回
の計算が必要であり、複素数の場合は更に計算量が多くなる。
【０００７】
本発明の背景を明確にするために、計算項(4)の計算方法を具体的に説明する。計算項(4)は、複素相関行列Aを係数とする連立一次方程式(5) の解ベクトルxとして計算できる。
【数５】
0005787527.tif 000006
連立一次方程式を解く方法はいろいろあるが、QR分解処理と後退代入処理の組み合わせで解く方法が一般的である。
計算項(5)の行列形式は、要素に展開して表現すると、
【数６】
0005787527.tif 000007
の形となる。
【０００８】
QR分解処理とは、式(6)の両辺に適切な行列を掛け、
【数７】
0005787527.tif 000008
で示すように、係数行列を上三角行列に変換する計算処理である。
【０００９】
また、後退代入処理とは、式(7)の形に変換された連立一次方程式から、
【数８】
0005787527.tif 000009
の手順に従って、解ベクトルxの各要素x1,x2,..,xnを計算する処理である。
【００１０】
この計算手順は、解ベクトルxの最終要素から順に代入を繰り返して実行することから
、後退代入処理と言われている。QR分解処理と後退代入処理の計算量を比較すると、計算量はQR分解処理の方が圧倒的に多いことから、前述の計算量に関する課題はQR分解処理の計算量の膨大さの問題と考えてよい。
【００１１】
以上に述べたように、アダプティブ信号処理に現れる計算項(4)を解く方法としては、QR分解処理と後退代入処理の組み合わせで解く方法が一般的である。例えば、特許文献１
には、ギブンス回転法を用いたQR分解処理と後退代入処理との組み合わせが開示されている。また、特許文献２にはギブンス回転法によるQR分解処理とシストリックアレイ構成のQR分解回路がそれぞれ示されている。
【００１２】
シストリックアレイ構成のQR分解回路はそのまま実現すると回路規模が大きくなる。そこで、非特許文献1は、シストリックアレイを構成する2種の基本セルを回路化し、その回路を反復して使用することによって、回路規模を小さくすることを提案している。また、この文献には4×4行列の逆行列計算回路を簡易LSIであるFPGA上で作成し、約8.1μsの計
算速度を実現したことが報告されている。
【００１３】
しかし、アダプティブ信号処理を超音波診断装置に適用するためには、前述のように5MHz以上の周期でQR分解処理と後退代入処理を実行する必要があり、非特許文献1の回路に
比較して数十倍の計算速度が必要である。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開2006-324710号公報
【特許文献２】特開2009-135906号公報
【非特許文献】
【００１５】
【非特許文献１】M.Karkooti, et.al.  “FPGA Implementation of Matrix Inversion Using QRD-RLS Algorithm”, Asilomar Conference on Signal, System, and Computers, Oct. 2005
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上記の問題点を考慮し、本発明は、計算量が特に多いQR分解を高速に計算可能な信号処理回路を提供し、アダプティブ信号処理を使用した高性能な超音波診断装置を実現することを目的とする。
【課題を解決するための手段】
【００１７】
上記の課題を解決するために、本発明に係る信号処理回路は、
一定周期で連続的に入力される複素相関行列をそれぞれ上三角行列に変換する信号処理回路であって、
少なくともN個の複素相関行列を記憶する記憶手段と、
記憶された複素相関行列の行列要素を読み出す読出手段と、
CORDICアルゴリズムをパイプライン型回路方式で実装したCORDIC計算回路手段と、
前記読出手段と前記CORDIC計算回路手段を制御して、１つの複素相関行列に対して前記CORDIC計算回路手段を繰り返し使用することで上三角行列を計算するQR分解制御手段であって、N個の複素相関行列の上三角行列への変換をインターリーブ形式で並行に計算するQR分解制御手段と、
を備え、
前記QR分解制御手段は、
一つの複素相関行列を入力してから上三角行列を出力するまでの計算処理をN個の処理
ステップに分割し、
前記N個の複素相関行列に対して、同じ時点でそれぞれ異なる処理ステップをインター
リーブ形式で並行計算する。
【００１８】
また、本発明に係る超音波診断装置は、
被検体から放出された超音波を受信し受信信号に変換する複数の超音波受信素子と、
前記複数の超音波受信素子から取得される複数の受信信号の位相を揃える整相遅延回路と、
前記整相遅延手段から取得される位相が揃えられた受信信号に対してアダプティブ信号処理を施すアダプティブ信号処理手段と、
を備え、
前記アダプティブ信号処理手段が、
位相が揃えられた受信信号をそれぞれ複素信号化し、複数の複素信号を取得する複素信号化回路と、
前記複数の複素信号の複素相関行列を計算する相関行列計算回路と、
前記複素相関行列を上三角行列に変換する請求項１乃至５のいずれか１項に記載の信号処理回路と、
を含む。
【発明の効果】
【００１９】
本発明によれば、QR分解を高速に計算可能な小型かつ低コストの信号処理回路を提供できる。また、アダプティブ信号処理を適用した高性能な超音波診断装置を提供できる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態の超音波診断装置の構成を示す図
【図２】CORDICアルゴリズムを用いたROT処理とVEC処理の説明図
【図３】CORDICアルゴリズムをパイプライン型計算回路で実現したときの実施例
【図４】本実施形態の信号処理回路のブロック図
【図５】本実施形態の並行計算効果の説明図
【図６】本実施形態の並行計算動作シーケンスの説明図
【発明を実施するための形態】
【００２１】
アダプティブ信号処理は、超音波診断装置の分野でも性能向上のための技術として適用することができる。その目的は、複数の受信素子で受信したエコー信号から雑音波の影響を排除し、フォーカス点からの反射波信号のみをSN良く受信し、エコー画像の分解能とコントラストの向上を図ることである。しかし、超音波エコー信号に重畳する雑音波は、被検体内部の反射物質の分布によって、方向と強度が極めて短時間に急速に変化してしまうため、時間方向の分解能を劣化させないために、数十nsから数百nsという極めて短い周期でアダプティブ信号処理固有の計算を繰り返す必要がある。更に複素相関行列Aの大きさ
も、少なくとも6×6〜10×10程度が望ましく、アダプティブ信号処理を超音波診断装置に適用するためには、前述の非特許文献１と比較して実質数十倍から数百倍の計算速度を実現しなければならないという問題がある。ここで、計算速度を高速化するには、アダプティブ信号処理の大部分を占めるQR分解を高速に行うことが肝要である。
【００２２】
QR分解の方法は種々知られているが、本発明ではギブンス回転(Givens Rotation)法を
用いる。ギブンス回転法は、相関行列Aを上三角化行列に変換するにあたって、2次元ベクトルの回転計算を繰り返しながら、相関行列の下三角領域の行列要素を一つずつ順番に”0”要素へと変換していく方法である。また、このギブンス回転法の基本計算である2次元ベクトル回転アルゴリズムには、良く知られたCORDIC(COordinate Rotation DIgital Computer)アルゴリズムを使用する。
【００２３】
CORDICアルゴリズムは、予め定められた回転角の列に従って２次元ベクトルを右または左に回転させながら所望回転角に収束させることを基本原理とするアルゴリズムである。このCORDICアルゴリズムは、三角関数や平方根などの複雑な計算を必要とせずに、回転計
算を整数型の加減算のみの簡単な処理で実現できる優れた特徴がある。しかしその反面、逐次計算を行うため原理的に結果が出力されるまでの時間が長いという欠点がある。
【００２４】
QR分解処理は、ギブンス回転法とこのCORDICアルゴリズムを組み合わせた計算回路で容易に実現できる。しかし、ギブンス回転法によって行列要素を一つずつ”0”要素へと変
換していく過程においては、一つの計算の結果を次の計算に使用するという計算過程が多く存在するため、一つの計算の結果が出るまでの時間が長いCORDICアルゴリズムは、従来高速計算のためには使用しづらかった。
【００２５】
このため、非特許文献1においてはギブンス回転法を四則演算のみで実行可能なSGR(Squared Givens Rotation)法に修正し、浮動小数点型の計算回路で直接計算して高速化を実
現している。このようにすれば、相関行列１個当たりのQR分解計算は大幅に高速化できる。しかし、浮動小数点型の計算回路は複雑で大きな回路になることから、超音波用途に適合できるまでの大幅な高速化と小型化は難しかった。
【００２６】
本発明は、簡単な計算回路で実現可能なCORDICアルゴリズムの特徴を活かしながら高速回路を実現するために、
（１）CORDICアルゴリズムの逐次処理をパイプライン型回路で実装し、
（２）連続して入力される複数の複素相関行列のQR分解をインターリーブ形式で並行計算する、
ようにする。ここで、インターリーブ形式での並行計算とは、一般に複数の計算ステップからなる複雑な複合計算を一つのプロセッサで複数回計算する時、複数の複合計算の各計算ステップが相互に挟まりあう形でプロセッサをタイムシェアしながら計算されるデータ処理形式のことである。
【００２７】
パイプライン形式の回路は結果が出るまでの時間は長くなるが、1クロックごとに異な
る回転計算を次々と入力して実行できるので、１個の回転計算当たりの所要時間は最高１クロックまで短縮が可能である。従って、複数の複素相関行列に対する計算のうち計算可能な回転計算を優先し、インターリーブ形式で相互に挟まりあう形で実行させることにより、単位時間あたりの計算量を大幅に向上させることが出来る。この結果、計算結果が出力されるまでの時間は長いものの、入力行列1個あたりの計算時間は大幅に短縮すること
が可能になる。
【００２８】
＜超音波診断装置の全体構成＞
図１はCMP法を用いた本発明の実施形態に係る超音波診断装置のブロック図である。
超音波探触子１は、被検体に接触させるように用いられ、被検体に向けて超音波ビームを送信および受信する。超音波探触子１は、印加される駆動信号に基づいて超音波ビームを送信すると共に、被検体から放出（反射）され伝播してきた超音波エコーを受信してアナログ信号である受信信号に変換し出力する複数の超音波送受信素子5で構成される。こ
れらの超音波送受信素子は１次元または２次元状に配列されてトランスデューサアレイ（素子アレイ）になっている。なお、超音波探触子１は超音波送信素子と超音波受信素子とから構成されるようにしても良い。
【００２９】
送信信号処理回路2はCPUの指示により送信信号3を発生し、スイッチ回路4を介して超音波送受信素子群5を駆動する。これにより、超音波探触子１からパルス状の超音波ビーム6が送信される。超音波ビーム6の反射によって発生した超音波エコー波7は、再び超音波送受信素子群5によって電気信号に変換され、スイッチ回路4を通って整相遅延回路8に送ら
れる。
【００３０】
整相遅延回路8は、受信フォーカス処理、すなわち、同一点Pからのエコー信号の到着時
刻が揃うように各受信信号の遅延時間を調整する回路である。具体的には、複数チャンネルの受信超音波信号に対して、所望のフォーカス遅延を与えた後に加算処理を行う。この整相遅延回路8までの構成は、アダプティブ信号処理を行わない通常の超音波診断装置と
共通であるが、これ以降の処理がアダプティブ信号処理（CMP法）固有の処理となってい
る。
【００３１】
複素信号化回路9は各受信信号にそれぞれ90°位相のずれた信号を虚数信号として付加
し、複数の複素信号を取得する回路である。複素相関行列計算回路10は複素信号化された受信信号間の複素相関行列Aを一定時間周期に生成し、記憶回路11に記憶させる回路であ
る。
【００３２】
例えば、送信信号処理回路2からの送信信号3が超音波送受信素子群5を介して発信され
ると、発信後約100μsの間、そのエコー信号が連続的に受信され、50MHzクロックでサン
プリングされたディジタル信号が整相遅延回路8に転送される。整相遅延回路によって遅
延時間の調整された信号は、複素信号化回路9と複素相関行列計算回路10によって10クロ
ックごと（5MHz）に複素相関行列に変換され、変換された相関行列の系列A[1],A[2],A[3],...が記憶回路11に一時記憶される。
【００３３】
複素相関行列計算回路10では、実際には入力信号の相関行列に対して時間平均化処理、空間平均化処理などの付加的な処理を行って出力行列を生成するが、これらの詳細は本発明と直接関係しないので省略する。
【００３４】
QR分解回路12、後退代入回路13、内積計算回路14はアダプティブ信号処理の特徴的な処理回路であり、記憶回路11に次々と記憶される相関行列A[i]のそれぞれに対して、既知の拘束ベクトルCを用いた計算項(1)
【数９】
0005787527.tif 000010
を計算する。ここで、拘束ベクトルCは所望の超音波信号の受信方向を指定する方向ベク
トルであり、整相遅延処理の行われた入力信号に対しては、通常全ての要素を1とする縦
ベクトルである。また、右肩の記号Hは複素共役転置行列であることを意味する。
【００３５】
計算項(1)の計算は、通常計算項(2)
【数１０】
0005787527.tif 000011
を計算し、その結果と拘束ベクトルCとの内積計算を行うようにする。この計算項(2)は逆行列を含むため、アダプティブ信号処理の計算量の多さの主な原因となっており、この計算を高速に実行する計算手段の実現が本実施形態の主眼となっている。
【００３６】
LOG変換回路15は、その計算結果を用いてCMP法の拘束付最小電力値pを
【数１１】
0005787527.tif 000012
のように計算し、エコー画像の1画素信号としてCPUに転送する。すなわち、前述のように10クロックごとに複素相関行列Aが生成されると、10クロックに1個の画素値が計算される。CPUは転送されたエコー画像信号を編集して表示装置16に、エコー画像として表示する
。
【００３７】
図1の構成により、アダプティブ信号処理を用いた高性能超音波診断装置を実現するこ
とができる。しかし、この構成の装置でリアルタイム画像表示を行うためには、前述のQR分解回路12、後退代入回路13、内積計算回路14の三つの回路が、次々と生成される相関行列の繰り返し時間周期内にQR分解処理の計算を完了する必要がある。この三つの回路のうち特に計算量の多いのはQR分解回路12である。相関行列の繰り返し時間周期は、前述の実施例では50MHzクロックの10クロック分の時間に相当する200nsである。つまり、非特許文献１に開示された8.1μsに対しても数十倍の高速計算が必要である。
【００３８】
本実施形態では、アダプティブ信号処理のうち特に計算量の多いQR分解処理を行うQR分解回路12を工夫して、従来例に対して数十倍から数百倍高速に計算可能とする。また、QR分解回路12を小型で低コストに作成可能とする。このような小型かつ低コストな高性能なQR分解回路12により、アダプティブ信号処理を適用した高性能な超音波診断装置の実現ができる。
【００３９】
なお、上記の例では、アダプティブ信号処理としてCMP法を採用した構成を説明したが
、MMSE法、MSN法などのその他の手法を採用する場合でも、やはり高速な計算処理が必要
となる点は変わらない。そして、いずれの手法においても、QR分解計算が特に計算量の多い部分であるので、本実施形態におけるQR分解回路12を使って、MMSE法やMSE法などのア
ダプティブ信号処理を適用した高性能な超音波診断装置を実現できる。
【００４０】
〈ギブンス回転アルゴリズム〉
本実施形態におけるQR分解回路１２の内容を具体的に説明するために、以下、ギブンス回転アルゴリズムによるQR分解処理について更に詳細に説明する。ギブンス回転法は、前述のごとく２次元ベクトルの回転処理を繰り返し実施して、行列要素をひとつずつ”0”
化する計算方法である。
【００４１】
すなわち、まず式(9)に示すように相関行列Aの左から回転行列Qを掛け相関行列Aの第２行１列要素を”0”化する。このとき、式(9)の回転行列Qによる乗算は、相関行列Aの第１行と第２行の縦方向に配列した二つの要素から構成されるn個の二次元ベクトルの回転計
算を実行することに相当している。
【数１２】
0005787527.tif 000013
【００４２】
次に、式(10)のように左から回転行列Qを掛け第３行１列要素を”0”化する。式(10)の回転行列Qによる乗算は、相関行列Aの第１行と第3行の縦方向に配列した二つの要素から
構成されるn個の二次元ベクトルの回転計算を実行することに相当している。
【数１３】
0005787527.tif 000014
【００４３】
同様の処理を第n行１列要素まで繰り返すことにより、式(11)のように第１列要素の上
三角行列化を完了することができる。
【数１４】
0005787527.tif 000015
【００４４】
第１列要素の上三角行列化が完了したら、式(12)のように回転行列Qを掛け第２行２列
要素を”0”化する。
【数１５】
0005787527.tif 000016
【００４５】
このような処理を次々と繰り返して、第２列要素の上三角化が完了したら、第３列、第４列を順次上三角化し、最終的に入力行列の上三角化を完了する。
【００４６】
以上のようにギブンス回転によるQR分解は”0”化する要素の数だけ行列計算を繰り返
しているが、その行列計算は全て２次元ベクトルの回転を基本としている。そこで、基本的な計算として式(13)に示す２×２行列の上三角化計算を例として、ギブンス回転の計算手順を更に詳しく説明する。
【数１６】
0005787527.tif 000017
【００４７】
２×２行列の場合、ギブンス回転処理は、まず相関行列Aの第２行１列要素を”0”とするような回転行列Qの各係数を求め、次にその回転行列Qによる行列乗算計算を行う。
【００４８】
もし相関行列が実数行列であれば、回転行列Qは、第１列要素からなるベクトルの絶対
値と偏角を式(14)
【数１７】
0005787527.tif 000018
のように計算し、式(15)
【数１８】
0005787527.tif 000019
のように求められる。
【００４９】
また、相関行列Aと回転行列Qとの乗算結果は、相関行列Aの第2列要素からなるベクトルの回転計算結果を式(16)
【数１９】
0005787527.tif 000020
のようにおくと、式(17)
【数２０】
0005787527.tif 000021
のようになる。ここでは、２次元ベクトルの絶対値と偏角を求める式(14)の処理をVEC(VECtoring)処理(ベクタリング計算処理)、式(16)の回転計算をROT(ROTation)処理(回転計算処理)と称する。式(9)から式(12)に示した任意のn×n実数行列に対するギブンス回転法によるQR分解は、このVEC処理とROT処理を多数回繰返すことにより実行できる。
【００５０】
相関行列Aが複素数の場合は、複素数平面内での回転処理が必要になるため、ギブンス
回転法の計算手順はやや複雑になる。しかし、複素数の複素数平面内での回転計算や、複素数の絶対値と偏角を求める計算も２次元ベクトルの計算とまったく同様に計算できることから、詳細は省略するが、相関行列が複素数の場合であっても、ギブンス回転法はVEC
処理とROT処理を多数回繰返すことで実行できることが知られている。
【００５１】
アダプティブ信号処理の場合、使用される相関行列は通常複素数であるが、複素数であっても実数行列の場合と同様にVEC処理とROT処理の繰り返しで実行できるので、説明をわかりやすくするために、ここでは実数行列を仮定して説明することにする。
【００５２】
〈CORDICアルゴリズム〉
ギブンス回転法のVEC処理、ROT処理は、良く知られたようにCORDICアルゴリズムを適用した回路で計算する方法が最も簡単である。そこで、次にCORDICアルゴリズムの概略を説明する。CORDICアルゴリズムは、回転行列を
【数２１】
0005787527.tif 000022
のように変形し、
【数２２】
0005787527.tif 000023
を満足する角度θjの回転計算を組み合わせて所望の回転計算を行う方法である。すなわ
ち、トータルの回転角が所望の回転角に満たなければ正方向に角度θjだけ回転計算し、
所望の回転角を超えていれば負方向に角度θjだけ回転する。
【００５３】
図2(a)は、２次元ベクトルV0を角度θだけ回転してベクトルV1とするROT処理の手順を
、具体的に示したものである。まず、角度θが正なのでベクトルV0を角度θ1だけ正方向
に回転する。次に回転角θ1がθより大きいので、回転結果を角度θ2だけ負方向に回転する。更に、トータルの回転角θ1−θ2が角度θより小さいので、回転結果を角度θ3だけ
正方向に回転する。このようにベクトルV0の回転計算をj=1,2,3,...の角度系列に従って
実行すれば、トータルの回転角は最終的に2-jのオーダーで所望の角度θに収束し、角度
θだけ回転したベクトルV1が計算できる。
【００５４】
式(19)を満足する角度θjの回転計算は、tanθjの乗算が単にビットシフト処理となる
ので、cosθjの乗算を無視すれば、整数型の加算だけで実行できる。cosθjの乗算を省略すると、ベクトルの大きさにcosθjに相当する誤差が生じるが、この誤差は最後に纏めて乗算処理することによって容易に修正できるので問題は生じない。以下、簡単のために最後の大きさ補正のための乗算は無視して説明する。
【００５５】
VEC処理は、ROT処理の変形で実現できる。図2(b)は２次元ベクトルV0の偏角θと大きさRを計算するVEC処理の手順を、具体的に示したものである。VEC処理においては、ベクト
ルV0のy方向要素の符号を監視し、y要素が正ならベクトルを負方向に回転し、負なら正方向に回転することによって、ベクトルをx軸上に収れんさせる。ベクトルがx軸上に重なれば、その時のx要素の大きさがベクトルの大きさであり、トータルの回転角が偏角θに相
当する。
【００５６】
このように、CORDICアルゴリズムを用いれば、式(14)、(17)で示す複雑なVEC処理、ROT処理のどちらも基本的に簡単な加減算処理の繰り返しで計算できる。
【００５７】
図3はCORDICアルゴリズムをパイプライン型回路方式で実装した時の実施例である。図
において、PR0,PR1,...,PRmはm段からなるパイプライン回路を構成するパイプラインレジスタ、ROT1, ROT2,..,ROTmはそれぞれ式(19)に示される固定回転角θ1,θ2,..,θmの回転計算を行う回転計算回路である。このパイプライン型計算回路においては、PR0に入力と
なるベクトルをセットすると、所定のパイプラインクロックに従って、順々に必要な回転計算がおこなわれて、mクロック後に回転結果が出力レジスタPRmから出力される。このとき、パイプライン段数mがある程度以上大きければ、回転角度の誤差は2-mrad.以下であることが保証されるので、パイプラインの段数mは必要な要求計算精度によって決定される
。
【００５８】
パイプライン型のCORDIC計算回路は、入力レジスタPR0に１クロックごとに異なるベク
トルをセットすれば、それぞれの回転計算結果が所定のクロック後に次々と出力されるので、一つの回転計算当たりの計算時間が非常に短く実行できるという特徴がある。しかし、結果が出るまでの時間がパイプライン段数に相当するクロック数だけ遅れるという問題もある。
【００５９】
〈本実施形態におけるQR分解回路〉
図4は、以上に述べたギブンス回転法とCORDIC回路の特性に鑑みてなされたQR分解回路12の実施例である。図において、11は複数の相関行列を記憶する記憶回路、11a1,11a2,11a
3は行列データ記憶領域、21は記憶された相関行列の所望の要素を読みだす読み出し制御
回路、22は前述のパイプライン型のCORDIC回路、23はCODIC計算回路22の出力をいったん
記憶して再びCORDIC計算回路22に入力することのできる中間記憶回路である。CORDIC計算回路22は相関行列の所望の要素と中間記憶回路23に記憶された中間データを入力とし、VEC処理またはROT処理を行い、再び結果を中間メモリ23に記憶する。
【００６０】
QR分解制御回路25は、プログラムカウンタ26を用いてプログラムメモリ27からマイクロコードをマイクロコードレジスタ28に順次読みだし、読み出されたマイクロコードによって、
（１）記憶回路11及び中間記憶回路23からのデータ読出し、
（２）CORDIC計算回路22への入力設定、
（３）計算結果の中間記憶回路23への書込み、
など、QR分解計算手順を制御する。このとき、計算結果が最終計算結果であれば、計算結果をQR分解結果として後段の後退代入回路13に出力する。
【００６１】
ギブンス回転法は前述のようにVEC処理とROT処理を繰り返すことで実行できるので、プログラムメモリ27にあらかじめQR分解のためのマイクロコード列を記憶しておけば、この構成により、QR分解を実行することができる。
【００６２】
このようにQR分解はCORDIC計算回路22を繰り返し駆動することで実行できる。ただし、ギブンス回転法によるQR分解処理は一つのCORDIC計算の結果を次の計算に使用する場合が多いので、一つのCORDIC計算が完了するまで次の計算の待たされる状態が頻繁に発生し、計算速度を十分に高速化することができない。そこで本実施形態では、複数の行列に対するQR分解をインターリーブ形式で並行して計算させることにより、パイプライン型CORDIC計算回路22の稼働率を向上し、行列１個当たりの計算時間を向上させる。インターリーブ形式の並行計算は、QR分解制御回路25のプログラムメモリ27の内容を適切に設定することにより容易に実現可能である。
【００６３】
図5は、本実施形態の並行計算の効果を説明した図である。今、単一行列に対するQR分
解処理が二つのVEC処理Pv1,Pv2と三つのROT処理Pr1,Pr2,Pr3からなっていて、
（１）VEC処理、ROT処理の計算にはそれぞれ5クロックの時間が必要、
（２）Pr1,Pr2はPv1計算結果を、Pv2はPr2の結果をそれぞれ使用し、
（３）Pr3はPv2の計算結果を使用する、
と仮定する。図5(a)はこの場合のQR分解処理のCORDIC計算回路22への入出力シーケンスを具体的に示したものである。すなわち、まず、VEC処理Pv1_inが入力されると、5クロック後にその結果Pv1_outが出力され、その結果を待ってROT処理Pr1_in、Pr2_inが入力される。5クロック後にROT処理Pr1、Pr2の結果Pr1_out,Pr2_outが出力されると、その結果を待
ってVEC処理Pv2が入力される。このようにして、最後にROT処理Pr3の結果Pr3_outが出力
されて、単一行列に対するQR分解処理が完了する。この場合の計算時間は、図から推測できるように約25クロックである。
【００６４】
一方、図5(b)は６個の入力行列A[1],A[2],..,A[6]を３個ずつ、１回のVEC処理あるいはROT処理を単位としたインターリーブ形式で並行計算したときの動作シーケンスを示した
ものである。図では、１つの行列に対する計算時間を３つの時間区間に等分割し、１分割ずつ位相をずらせて並行計算するようにしている。図は各行列に対する計算のCORDIC計算回路入力のみを示しているが、この例ではCORDIC計算回路22への各入力はそれぞれ空き時間に挿入され、図のA[1]〜A[6]合成結果のように合成される。この結果、CORDIC計算回路22の稼働率が向上し、３個の行列が１個当たり単一行列計算時の約1/3の9クロックで計算可能となる。
【００６５】
図6は、並行計算する行列数Nを3とし、一定の時間周期で連続的に入力される行列A[1],
A[2],A[3],..をQR分解する動作シーケンスを、時間区間T1,T2,T3,...ごとに示した図で
ある。ただし、図においてAiPjは行列A[i]に対して区間処理P[j]を行うことを意味し、区間処理P[j]は一つの行列に対する全計算時間をN個の時間区間に等分割した時の第j番目の時間区間の計算処理を意味する。また、図の左の11a1,11a2,11a3は相関行列記憶回路11のN個の行列記憶領域を示す。
【００６６】
すなわち、時間区間T1では、行列記憶領域11aに記憶された行列A[1]に対して区間処理P[1]を行う。時間区間T2では、行列記憶領域11aに記憶された行列A[1]に対する区間処理P[2]と、行列記憶領域11bに記憶された行列A[2]に対する区間処理P[1]とをインターリーブ
形式で同時並行的に計算する。
【００６７】
時間区間T3以降も同様であり、T3以降はN個の行列に対してそれぞれ異なる区間処理P[1],P[2],..,P[N]が割り当てられて、同時並行的に処理される。このようにN個の複素行列
に対して、同じ時点でそれぞれ異なる処理ステップをインターリーブ形式で平行計算する。この結果、各時間区間でのトータルのCORDIC回路計算数は、各区間処理の計算数に大きなばらつきがあったとしても、開始および終了区間を除いて均一となり、並行計算が容易になるという利点がある。
【００６８】
なお、同一時間区間でN個の区間処理P[1],P[2],..,P[N]を合成する時、複数の区間処理においてCORDIC回路入力を重複して実行するクロックがあり得るが、その場合には重複する区間処理を１クロックずつ遅延させて合成するようにする。このようにすれば、実際の各時間区間の幅は若干大きくなるものの区間処理の合成は可能であり、各時間区間の長さも均一にできる。
【００６９】
超音波診断装置のように相関行列が一定周期で連続的に入力される場合には、入力周期を前記の時間区間に一致させることで、QR分解処理のリアルタイム処理が容易に可能になる。
【００７０】
前述の実施例では、CORDIC回路の計算機能をVEC処理またはROT処理に切り替えて使用していたが、QR分解の総処理時間を高速化するために、CORDICの機能を複合して一つのCORDIC回路に合成することは技術的に容易である。例えば、CORDIC回路を、二つのベクトルに対する同一角度のROT処理を同時に実施するようにしたり、VEC処理とROT処理との双方を
同時に実施するように構成することもできる。更に一つのROT処理の結果に対するROT処理を一つの回路で実行したり、その一方の回転処理を通常の乗算回路で実施したりすることも可能である。このような高速化や小型化のための変形をしたとしても、CORDICアルゴリズムをパイプライン回路方式で実現し、複数行列をインターリーブ方式で並行的に計算するようにすれば大幅な高速化は可能であり、本発明に含まれる。
【００７１】
シミュレーション評価によれば、１個のQR分解回路で８個の行列を並行計算することにより、CORDICパイプライン回路の稼働率を約７倍に向上できる。その結果、本実施形態のQR分解回路12(図4)により、6×6複素行列に対するQR分解計算を120クロック以内に完了できる小型回路が実現可能である。回路の駆動クロックを200MHzとすれば１行列当たりの計算時間は600nsである。この計算時間は、計算時間が行列寸法の３乗に比例することを考
慮すると、4×4複素行列を8.1μsで計算する非特許文献1の公知例に対して約40倍高速で
ある。本実施形態のQR分解回路を３個並列に駆動するようにすれば、１行列当たりの計算時間は200nsとなり、前述の超音波診断装置に必要な5MHz周期の計算が可能となる。QR分
解回路の中心となるCORDIC計算回路は、整数型の加減算回路を主体とする比較的小型の回路なので、３回路並列またはそれ以上の並列度の構成であっても容易に簡易LSIであるFPGA内部に実装が可能である。
【００７２】
このように、本発明によればアダプティブ信号処理に必要な高速QR分解処理を小型低価格の回路で実現することができる。特に高速計算の必要な超音波診断装置へのアダプティブ信号処理の適用が容易になり、超音波診断装置の高性能化を実現する上で極めて効果が大きい。
【００７３】
アダプティブ信号処理技術は、実施例で述べたCMP法以外にも、前述のように最小２乗
誤差法、最大SNR法など多くの手法が知られている。これらの手法の多くは相関行列Aの逆行列に既知のベクトルyを掛けた
【数２３】
0005787527.tif 000024
なる計算を含み、この計算を実行するために実施例で述べたQR分解手段が必要となる。したがって、CMP法以外を採用する場合にも、上記のQR分解処理回路を利用することで、ア
ダプティブ信号処理を高速に行える。
【００７４】
また、超音波診断装置以外の無線通信、無線LANなどの装置であっても、アダプティブ
信号処理の適用には同様な計算回路の実装が必要であり、本発明の信号処理回路がそれらの装置の小型高速化に有効であることは言うまでもない。
【符号の説明】
【００７５】
１１・・・記憶回路
１２・・・QR分解回路
２２・・・CORDIC計算回路
２３・・・中間記憶回路
２５・・・QR分解制御回路
【図１】
0005787527.tif 000025
【図２】
0005787527.tif 000026
【図３】
0005787527.tif 000027
【図４】
0005787527.tif 000028
【図５】
0005787527.tif 000029
【図６】
0005787527.tif 000030