JP2960086B2 - 最小2乗平均アルゴリズムを実施するためのパイプライン式プロセッサ - Google Patents

最小2乗平均アルゴリズムを実施するためのパイプライン式プロセッサ

Info

Publication number
JP2960086B2
JP2960086B2 JP1321265A JP32126589A JP2960086B2 JP 2960086 B2 JP2960086 B2 JP 2960086B2 JP 1321265 A JP1321265 A JP 1321265A JP 32126589 A JP32126589 A JP 32126589A JP 2960086 B2 JP2960086 B2 JP 2960086B2
Authority
JP
Japan
Prior art keywords
input
convolution
multiplier
output
data
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.)
Expired - Fee Related
Application number
JP1321265A
Other languages
English (en)
Other versions
JPH02214322A (ja
Inventor
ティム・エー・ウィリアムズ
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH02214322A publication Critical patent/JPH02214322A/ja
Application granted granted Critical
Publication of JP2960086B2 publication Critical patent/JP2960086B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H21/00Adaptive networks
    • H03H21/0012Digital adaptive filters

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Filters That Use Time-Delay Elements (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野〕 本発明は、一般的にはデータプロセッサに関し、より
特定的には適応フィルタ型データプロセッサに関する。
[従来の技術] 一般に、伝達関数はリニアな、時間不変システム、あ
るいは時間変化、適応型システムを表わす。リニアな時
間不変システムに関しては、所定のインパルス関数が励
起およびインパルス応答結果のために用いられる。何ら
かの他の入力波形が与えられた場合、インパルス応答を
入力波形とコンボルブすることにより該インパルス応答
を出力を決定するために利用することができる。これに
対して、適応型システムにおいては、インパルス関数は
各データサンプル点においてあるいはデータサンプルの
各組において変化している。従って、適応型システムは
時間変化しておりあるいはノンリニアである。デジタル
フィルタがフィルタの所望の関数に応じて適応プロセス
により特定の伝達関数に向けられている。デジタルフィ
ルタの1つの応用は所定の伝達関数により1組のデータ
をろ波する場合における最小2乗平均誤差を得ることで
ある。この関数は最小2乗平均(LMS:least-mean-squar
e)アルゴリズムとして知られている。この場合のエラ
ーは何らかの所望の目標とフィルタが実際に出力してい
るものとの間の誤差を表わしかつフィルタの誤調整の測
定値となる。LMSアルゴリズムは、(1)部分的に先の
エラーに基づくフィルタの係数の更新である適応計算、
(2)所定の係数値およびデータ値の積の累積であるコ
ンボリューション計算、(3)そしてエラー計算を含
む。エラー計算はコンボリューション計算の出力値を所
定の所望値から減算することである。
商業的に入手可能な適応フィルタ型プロセッサは富士
通社のMB87XXAFPが例にあげられ、これはLMS適応FIRフ
ィルタアルゴリズムをサポートすることが可能である。
知られたLMSアルゴリズムシステムにおいては、コンボ
リューション計算が最初に行なわれそこからエラーが決
定される。次に前記エラーが利用される、更新計算がな
される。非常に高度な多重タップのフィルタに対して
は、このことはすべてのタップに対するコンボリューシ
ョン計算が最初に計算されなければならず、そして次に
すべてのタップに対するエラーおよび更新計算がなされ
なければならない。
[発明が解決しようとする課題] この知られたLMSアルゴリズムの設備に対する不都合
は多重タップフィルタを実施するために非常に多くのプ
ロセッサのクロックサイクルが必要となり、係数、デー
タおよびエラー値を格納するために多重メモリ構造を使
用する必要があり、そしてパイプライン式多重かつ分離
されたフィルタにおける効率の悪さを含む。典型的に
は、パイプライン様式で多重フィルタ機能を実施する従
来のシステムはカスケード構造で動作する個々の集積回
路製品を使用した。
従って、本発明の目的は、最小平均2乗(LMS)アル
ゴリズムを実施するための改良されたパイプライン式プ
ロセッサを提供することにある。
本発明の他の目的は、適応型フィルタを実施するため
の改良されたデジタルフィルタ構造を提供することにあ
る。
本発明のさらに他の目的は、最小平均2乗(LMS)ア
ルゴリズムを実施するための改良された方法を提供する
ことにある。
[課題を解決するための手段および作用] 本発明におけるこれらおよび他の目的を実施するにあ
たり、1つの形式として、Nを整数とした場合に、Nタ
ップのフィルタにおける最小2乗平均(LMS)アルゴリ
ズムを実施するための方法およびパイプライン式プロセ
ッサが提供される。一連のデータ値および係数値のコン
ボリューションがNのタップに対して計算される。実質
的に同時に、フィルタの各タップに対する係数値を更新
することによりプロセッサは一連の係数値の適応計算を
達成する。パイプライン式プロセッサの更新部は所定の
時間期間の間所定数の更新計算を行なう。コンボリュー
ション部が更新部に結合され同じ時間期間の間所定数の
コンボリューション積を達成する。記憶部が更新部およ
びコンボリューション部に結合され最小平均2乗アルゴ
リズムを実施するために更新部およびコンボリューショ
ン部の双方によって要求されるデータ値および係数値を
選択的に提供する。
これらおよび他の目的、特徴および利点は添付の図面
と組合わせて以下の詳細な説明からより明瞭に理解でき
るであろう。
[実施例] 一般的に、LMSアルゴリズムは2つの相互依存する方
程式によって構成される。2つの方程式の内の1つは典
型的には更新(update)方程式と称されかつ他方の方程
式はコンボリューション方程式として言及される。更新
方程式はデジタルフィルタの適応部分であり伝統的なニ
ュートンーラルフソン反復アルゴリズムと同様の様式で
フィルタ係数を修正する。コンボリューション方程式は
伝統的なFIRフィルタ方程式である。双方の方程式は各
データサンプル期間にフィルタの各タップにおいて達成
される。
第1図にはLMSアルゴリズムによって要求されるコン
ボリューションを実施するための時間不変フィルタ構造
10が示されている。このコンボリューションは次の方程
式で表わされる。
上述の式において、jはタップ番号値を表わし、kは
時間そしてNはフィルタにおけるタップ数を表わす。フ
ィルタ構造10の入力端子はタップ0および時間kにおけ
るデータ値Xを表わすX(0,k)と称されるデータ入力
を受ける。データ入力値は乗算器11の第1の端子に接続
されかつZ領域におけるZ-1で表わされる遅延機能を有
する遅延回路12の入力に接続されている。W(0)で表
わされる係数値が乗算器11の第2の入力に接続されてい
る。遅延回路12の出力はタップ1および時間kにおける
データ値Xを表わすデータ入力X(1,k)を与える。遅
延回路12の出力は乗算器13の第1の入力および遅延回路
14の入力に接続されている。W(1)で表わされる係数
値が乗算器13の第2の入力に接続されている。遅延回路
14の出力はタップ2および時間kにおけるデータ値Xを
表わすデータ入力X(2,k)を与える。遅延回路14の出
力は乗算器15の第1の入力に接続されている。乗算器15
の第2の入力はW(2)で表わされる係数値を受ける。
乗算器15の出力は加算器回路16の第1の入力に接続され
ている。加算器回路16の第2の入力は2進ゼロ値を受け
る。加算器回路16の出力は加算器回路17の第1の入力に
接続されている。乗算器13の出力は加算器回路17の第2
の入力に接続されている。加算器回路17の出力は加算器
回路18の第1の入力に接続されている。乗算器11の出力
は加算器回路18の第2の入力に接続されている。加算器
回路18の出力は方程式(1)で規定されるコンボリュー
ション出力信号Y(k)を与える。
動作においては、加算器回路16,17および18は所定の
係数値およびタップデータ値の積を表わす個々の積を受
ける。加算器回路16,17および18はこれらの積を加算し
て方程式1で規定される時間kにおける累積された出力
信号Y(k)を提供する。最初は、タップ2におけるデ
ータ入力はW(2)で乗算されかつゼロと加算される。
次に同じ時間インターバルkにおいて、最初の積がW
(1)により乗算されたタップ1におけるデータ入力の
積と加算される。加算器回路17の加算結果はW(0)に
より乗算されたタップゼロにおける出力データから得ら
れる積と加算されY(k)を与える。係数値W(0),W
(1)およびW(2)は固定された、変化しない係数で
ありこれがインパルス応答が時間的に不変であるという
理由である。
第2図には知られたフィルタ構造20が示されており、
この構連は方程式1で表わされるように、適応計算およ
びコンボリューション演算の双方が行なわれる適応型ま
たは時間変化型フィルタの単一フィルタタップを表わ
す。言替えれば、第1図の係数値W(0),W(1)およ
びW(2)が各時間期間に形成され時間的に変化する。
このLMSアルゴリズムに対する適応計算は次のように表
わされる。
W(j,k)=W(j,k−1)+β*e(k−1)*X(j,
k−1) …(2) 上式において、j=0,…,N−1であり、 かつk=0,1,2,…,∞. 遅延回路21はデータ入力X(1,k)を受けるための入
力を有する。遅延回路21の出力はデータ入力X(2,k)
を提供しかつ乗算器22の第1の入力および乗算器25の第
1の入力の双方に接続されている。乗算器22の第2の入
力はエラー信号βe(k)に接続されている。βの項は
フィルタの用途に応じて選択される所定の定数値であ
る。乗算器22の出力は加算器23の第1の入力に接続され
ている。加算器23の出力は遅延回路24の入力に接続され
ている。遅延回路24の出力は加算器回路23の第2の入力
および乗算器25の第2の入力の双方に接続されている。
遅延回路24は更新された係数値W(2,k)を提供する。
乗算器25の出力は加算器回路26の第1の入力に接続され
ている。加算器回路26の第2の入力は2進ゼロ入力を受
ける。加算器回路26の出力は式1のコンボリューション
アルゴリズムにおける信号Y(k)の第1の累積を与え
る。
動作においては、データ入力X(1,k)がタップ位置
1から遅延回路21によって受信される。遅延回路21はデ
ータ入力X(2,k)を提供しこれは乗算器22および乗算
器25の双方に結合される。乗算器25は同時に係数値W
(2,k)を受けかつ方程式1に従って乗算器25の出力に
初期コンボリューション積を提供する。同時に、係数値
W(2,k)が[X(2,k)*βe(K)]の積と加算され
乗算回路25による引き続く使用のために更新された係数
値W(2,k+1)が提供される。このようにして、タッ
プ位置2に対する係数値が遅延回路21およびエラー項β
e(k)により提供されるタップ値の関数として常に変
更される。フィルタ構造20のような構造が各タップに対
し必要とされるから、マルチタップのフィルタに対し要
求される回路の量は非常に大きい。
第3図には第2図の構造20の変形であるフィルタ構造
30が示されている。構造30においては、データ入力X
(1,k)が遅延回路31の入力に接続されている。遅延回
路31の出力はデータ入力X(2,k)を提供しこれは遅延
回路33の入力および乗算器37の第1の入力の双方に結合
されている。遅延回路33の出力は遅延されたデータ入力
X(2,k−1)を提供しかつ乗算器34の第1の入力に接
続されている。乗算器34の第2の入力はエラー項βe
(k−1)を受ける。乗算器34の出力は加算器回路35の
第1の入力に接続されている。加算器回路35の出力は係
数値W(2,k)を提供しかつ遅延回路36の入力および乗
算器37の第2の入力の双方に接続されている。遅延回路
36の出力は係数値W(2,k−1)を提供しかつ加算器回
路35の第2の入力に接続されている。乗算器37の出力は
加算器回路38の第1の入力に接続されている。加算器回
路38の第2の入力は論理ゼロの値に接続されている。加
算器回路38の出力は方程式(1)のコンボリューション
アルゴリズムを実施するうえで信号Y(k)の第1の累
積を提供する。
動作においては、フィルタ構造30は第2図の遅延回路
24の位置を再配置することによりフィルタ構造20とかな
り構造的に異なっているが機能的には等価である。第2
図の遅延回路24の機能を加算器23の前に位置づけること
によって、同じ機能を達成することができる。従って、
第3図においては、第2図の遅延回路24によって実施さ
れた遅延機能は遅延回路33および36そしてエラー項βe
(k−1)を乗算器34に結合することにより達成され
る。フィルタ構造20のように、フィルタ構造30は方程式
1の適応規則および方程式2のコンボリューションアル
ゴリズムの双方を行なうことによってLMSアルゴリズム
を実施する。
第4図にはフィルタ構造30の延長でありかつLMSアル
ゴリズムを実施するための3タップフィルタであるフィ
ルタ構造40が示されている。本発明は、任意の数のフィ
ルタタップを実施するためにも利用できかつ第4図にお
ける3タップの実施例は限定ではなく説明のためだけに
すぎない。データ入力X(0,k)が遅延回路42の入力お
よび乗算器44の第1の入力に結合されている。遅延回路
42の出力は遅延された入力データX(1,k)を提供しか
つ乗算器46の第1の入力に接続されている。乗算器46の
第2の入力はエラー項βe(k−1)に接続されてい
る。乗算器46の出力は加算器回路48の第1の入力に接続
されている。加算器回路48の出力は更新された係数値W
(0,k)を提供しかつ乗算器44の第2の入力および遅延
回路50の入力の双方に接続されている。遅延回路50の出
力は加算器回路48の第2の入力に接続されている。遅延
回路42の出力はまた乗算器52の第1の入力および遅延回
路54の入力の双方に接続されている。遅延回路54の出力
は遅延されたデータ入力X(2,k)を提供しかつ乗算器5
6の第1の入力に接続されている。乗算器56の第2の入
力はエラー項βe(k−1)に接続されている。乗算器
56の出力は加算器回路58の第1の入力に接続されてい
る。加算器回路58の出力は更新された係数値W(1,k)
を提供しかつ乗算器52の第2の入力および遅延回路60の
入力の双方に接続されている。遅延回路60の出力は加算
器回路58の第2の入力に接続されている。遅延回路54の
出力はまた乗算器64の第1の入力および遅延回路62の入
力の双方に接続されている。遅延回路62の出力は遅延さ
れたデータ入力X(3,k)を提供しかつ乗算器66の第1
の入力に接続されている。乗算器66の第2の入力はエラ
ー項βe(k−1)に接続されている。乗算器66の出力
は加算器回路68の第1の入力に接続されている。加算器
回路68の出力は更新された係数値W(2,K)を提供しか
つ乗算器64の第2の入力および遅延回路70の入力の双方
に接続されている。遅延回路70の出力は加算器回路68の
第2の入力に接続されている。乗算器64の出力は加算器
回路72の第1の入力に接続されている。加算器回路72の
第2の入力は2進ゼロの値に接続されている。加算器回
路72の出力は加算器回路74の第1の入力に接続されてい
る。乗算器52の出力は加算器回路74の第2の入力に接続
されている。加算器回路74の出力は加算器回路76の第1
の入力に接続されている。乗算器44の出力は加算器回路
76の第2の入力に接続されている。加算器回路76の出力
はLMSアルゴリズムのコンボリューション出力信号Y
(k)を提供する。
動作においては、時間変化LMSフィルタ構造40におけ
る各タップ計算は更新計算(方程式2)およびコンボリ
ューション計算(方程式1)を必要とする。これらの2
つの計算を達成するために各々の新しいデータサンプル
に対しフィルタタップごとに2つの乗算/加算操作が必
要とされる。フィルタ構造40は乗算および加算の操作の
みならず更新およびコンボリーシュン計算のパイプライ
ン化をも可能とする。各加算器および各乗算器はそのそ
れぞれの計算を形成するため完全な半サイクルを持つ事
を許容されるであろう。タップデータ入力Xおよび係数
値Wが示すように、各タップ位置におけるすべての操作
はサイクルkのような単一時間サイクルの間に実質的に
同時に起っている。例えば、タップ位置3においては、
乗算器64および66が時間サイクルkの最初の半分の間に
機能している。時間サイクルkの第2の半分の間に、加
算器68および72が機能している。同様に、タップ位置2
の乗算器52および56とタップ位置1の乗算器44および46
もまた時間サイクルkの最初の半分の間に機能してい
る。タップ位置2の加算器58および74とタップ位置1の
加算器48および76もまた時間サイクルkの第2の半分の
間に機能している。
時間サイクルkの最初の半分の間、乗算器64は方程式
1のコンボリューションアルゴリズムの積部分を実施す
るためW(2,k)およびX(2,k)を乗算している。同時
に、乗算器66はX(3,k)およびβe(k−1)の積を
形成しておりこれは方程式2の適応アルゴリズムの部分
である。データ入力X(3,k)はX(2,k−1)と等価で
あることに注意すべきであるが、ここで(k−1)は時
間サイクルkの前の時間サイクルである。従って、時間
サイクルkに対する更新された係数値Wは先の時間サイ
クル(k−1)からのデータおよびエラー情報でもって
時間サイクルkに形成される。
時間サイクルkの第2の半分の間、加算器72は先に形
成されたW(2,k)およびX(2,k)の積を強制された2
進ゼロと加算している。引き続きかつ順次に加算器74お
よび76は引き続くタップに対するトータルの累積を完了
し方程式1のコンボリューションアルゴリズムの実行を
完了する。時間サイクルkの第2の半分の間に同時に加
算器68は遅延回路70によって提供された先の係数値W
(2,k)を乗算器66により提供された積と加算し次の時
間サイクル(k十1)に対する更新された係数値W(2,
k十1)を提供している。各タップ位置に対する計算の
各々は実質的に同時に起っているが、計算は順次パイプ
ライン化されかつ右側の最も高いタップ位置から左側の
最も低いタップ位置へと計算できることに注目すべきで
ある。
図示された形式では、第4図に示された3タップの各
タップのフィルタ構造が第3図の個々のタップ構造と異
なることに注目すべきである。特に、第3図のフィルタ
構造30の遅延回路33は第4図のフィルタ構造40の各フィ
ルタのタップ位置において削除されている。例えば、フ
ィルタ構造40のフィルタタップ位置0においては、この
遅延機能は遅延回路42によって提供される。フィルタタ
ップ位置1においては、該遅延機能は遅延回路54により
提供され、かつフィルタタップ位置2においては遅延機
能は遅延回路62によって提供される。多重タップフィル
タを実施するのに必要とされる遅延回路の数を最小化す
ることに加え、フィルタ構造40はまた遅延回路42の出力
から双方の乗算器46および52を同時に駆動または再符号
化(recode)しかつ遅延回路54の出力から双方の乗算器
56および64を駆動または再符号化するために単一のデー
タ値を用いることができるという利点を提供する。以下
に示されるように、2つの乗算器の同時的な再符号化能
力は速度、サイズおよびパイプライン化の利点を提供す
る。
第5図には所定の整数Nのタップに対する第4図のフ
ィルタ構造40を実施するパイプライン式プロセッサ79が
示されている。特に、プロセッサ79はLMSアルゴリズム
を実行するよう機能する。プロセッサ79は双方向データ
バス80により通信する。一般に、プロセッサ79は時間変
化する係数値を与えるための更新部81、コンボリューシ
ョン部82、そして制御部83を有するものと考えることが
できる。ラッチ85の入力はデータバス80に接続されてい
る。ラッチ85の出力はマルチプレクサ86の第1の入力に
接続されている。制御信号C4はマルチプレクサ86の制御
入力に接続されている。マルチプレクサ86の第2の入力
は2進ゼロの値に接続されている。マルチプレタサ86の
出力は乗算器87の第1の入力に接続されている。乗算器
87の出力はラッチ88の第1の入力に接続されている。ラ
ッチ89の入力はデータバス80に接続されている。ラッチ
89の出力はマルチプレクサ90の第1の入力に接続されて
いる。「C1」と名付けられた制御信号はマルチプレタサ
90の制御入力に結合されている。マルチプレクサ90の出
力はレコーダ(再符号化器)回路92および93の各々の入
力に接続されておりかつラッチ94の入力に接続されてい
る。レコーダ回路92の第1の出力は乗算器87の第2の入
力に接続されている。レコーダ回路92の第2の出力はラ
ッチ88の第2の入力に接続されている。ラッチ88の第1
の出力は「C」と名付けられた信号を提供しかつ加算器
96の第1の入力に接続され、そしてラッチ88の第2の出
力は加算器96の制御入力に接続されている。加算器96の
出力はラッチ97の入力に接続されている。ラッチ97の出
力はラッチ98の入力に接続されている。ラッチ94および
98の各々の出力はランダムアクセスメモリ(RAM)99の
入力に接続されている。制御信号「C2」および「C3」は
RAM99のそれぞれの制御入力に結合されている。RAM99の
出力はラッチ101およびラッチ102の双方の入力に接続さ
れている。ラッチ102の出力はマルチプレクサ90の第2
の入力に接続されており、かつラッチ101の出力はラッ
チ104の入力に接続されている。ラッチ104の出力は加算
器96の第2の入力に接続されている。
コンボリューション部82においては、乗算器106の第
1の入力が「W」と名付けられた信号を受信するために
ラッチ97の出力に接続されている。レコーダ93の第1の
出力は乗算器106の第2の入力に接続されている。乗算
器106の出力はラッチ108の第1の入力に接続されてい
る。レコーダ93の第2の出力はラッチ108の第2の入力
に接続されている。ラッチ108の出力は「T」と名付け
られた信号を提供しかつ加算器110の第1の入力に接続
されている。加算器110の加算または減算動作モードの
いずれかを選択するためのラッチ108の制御出力は加算
器110に接続されている。加算器110の出力はラッチ112
の入力に接続されている。ラッチ112の出力はラッチ114
および116の双方の入力に接続されている。ラッチ114の
出力は加算器110の第2の入力に接続されている。リセ
ット信号がラッチ114のリセット端子に接続されてお
り、かつ制御信号C5がラッチ116の制御入力に結合され
ている。ラッチ116の出力はバス駆動回路118の入力に接
続されている。バス駆動回路118の出力はデータバス80
に接続されている。
動作においては、プロセッサ79は更新およびコンボリ
ューション操作を連続して達成するためにパイプライン
様式で機能する。プロセッサ79はまたLMSアルゴリズム
を実施するために必要とされる乗算および加算操作をパ
イプライン処理する。このようにして計算を組織化する
ことにより各加算器および乗算器がその結果を形成する
ために完全な半サイクルを持つことを許容する。また、
単一のRAM構造がタップ重み付けおよびフィルタデータ
の双方を保持するために利用されている。係数およびデ
ータに対する独立のRAMの使用を除去することによりか
なりの量の回路領域を節約する。
第6図を参照すると、プロセッサ79の動作がより容易
に理解できる。第6図には1つのコンボリューション出
力Y(k)を提供するために発生するマシン操作を図示
するタイミングシーケンス図が示されている。図示され
たステップは次に後続の時間変化する出力信号Y(k)
を提供するために繰返される。図示された形態において
は、第4図に示されるような3タップフィルタが示され
そこでは出力を提供するために4マシンクロックサイク
ルが必要とされる。一般的に、本発明はNタップのフィ
ルタを(N+1)クロックサイクルで実施するが、ここ
でNは整数である。各クロックサイクルは2つの位相、
即ちφ1およびφ2を有し、これらはほぼ50%のディー
ティサイクルを有するオーバラップしないクロックであ
る。クロック位相φ1の間は、更新部81の加算器96およ
びコンボリューション部82の加算器110が動作してい
る。クロック位相φ2の間は、更新部81の乗算器87およ
びコンボリューション部82の乗算器106が動作してい
る。第1のクロックサイクルの第1のクロック位相にお
いては加算器96はいまだ必要とされずかつ動作していな
い。RAM99はデータバス80からラッチ89およびマルチプ
レクサ90を介して先に受信された入力データX(3,k)
を提供するために読まれる。加算器110はラッチ114を通
りフィードバック経路を介して与えられるY(k)の現
在の値を時間期間(k−1)の間に乗算器106によって
与えられる最後の乗算器出力値T(0,k−1)と加算す
ることにより先の時間期間(k−1)から更新されたY
(k)の値を提供するよう機能する。動作の非常に始め
の部分においては、この値はゼロである。同時に、係数
値W(2,k−1)が加算器96の第1の入力においてクロ
ックサイクル2での引き続く使用のためRAM99から読ま
れる。係数値W(2,k−1)が正しい値であるという理
由は第3のタップ位置において第4図のフィルタ構造40
から確認することができる。
第1のクロックサイクルの第2のクロック位相におい
ては、乗算器87は出力信号c(2,k)を提供するよう機
能しこの出力信号は引き続き加算器96によって使用され
る。データ入力X(3,k)がRAM99からマルチプレクサ90
を介してレコーダ92に結合される。エラー項βe(k−
1)がデータバスからラッチ85およびマルチプレクサ86
を介して提供される。最初は、マルチプレクサ86は制御
信号C4によって制御されエラー更新がないことを表わす
ゼロ値入力を提供する。LMSアルゴリズムのY(k)の
引き続く計算のために、図示しない回路が乗算器87によ
る使用のためエラー項βe(k−1)を提供する。レコ
ーダ92は乗算器87による使用のための所定の再符号化ア
ルゴリズムを実施するよう機能する。レコーダ92と共に
付加的なレコーダを用いてより高い精度のデータに備え
ることができることを理解すべきである。第1のクロッ
クサイクルにおいては、乗算器106は出力を提供しない
が、これは加算器96がいまだWオペランドに対する値を
提供していないからである。第1のクロックサイクルに
おいてRAM99のアドレスAがアドレスされ、かつクロッ
クサイクルφ1の間にRAM99が読み取られることに注目
すべきである。また第1のクロックサイクルの第2のク
ロック位相の間ラッチ114はゼロにリセットされる。
第2のクロックサイクルの第1のクロック位相におい
ては、RAM99は乗算器87による後続の使用のためにデー
タ入力X(2,k)を提供するために読み取られる。係数
値W(2,k−1)およびオペランドC(2,k)はそれぞれ
RAM99および乗算器87から各々加算器96の第1および第
2の入力に接続される。また、第2のクロックサイクル
の第1の位相の間は、加算器110は動作していないが、
これは乗算器106が加算器110にTオペランドを提供する
ために第1のクロックサイクルにおいて動作していなか
ったからである。係数値W(1,k−1)はまた加算器96
による後続の使用のために第1のクロック位相の間にRA
M99から読まれる。
第2のクロックサイクルの第2のクロック位相におい
ては、RAM99は第1のクロック位相で計算された係数値
W(2,k)および新しいデータ入力X(3,k+1)の双方
を格納するために書き込まれる。レコーダ92にはデータ
入力X(2,k)が与えられ、即ちレコーダ92にはデータ
入力X(2,k)が与えられかつ乗算器106には係数値W
(2,k)が与えられる。乗算器87はC(1,k)を計算し、
かつ乗算器106はT(2,k)を計算する。第2のクロック
サイクルの間、RAM99のアドレスB位置が制御信号C2に
応答して選択される。
第3のクロックサイクルの第1のクロック位相におい
ては、RAM99が乗算器87による後の使用のためにX(1,
k)を提供しかつW(0,k−1)を提供するために読み取
られる。オペランドW(1,k−1)およびC(1,k)がそ
れぞれRAM99および乗算器87から加算器96の第1および
第2の入力にそれぞれ接続される。加算器96はW(1,
k)を計算しこれはラッチ97により格納されかつ後続の
クロック位相においてRAM99に書き込まれると共に乗算
器99に結合される。同時に、コンボリューション部82の
加算器110が乗算器106によって先のクロック位相におい
て提供されたオペランドT(2,k)をゼロオペランド値
と加算しオペランドY(k)を提供する。第3のクロッ
クサイクルの間、RAM99のアドレスC位置が制御信号C2
に応じて選択される。第3のクロックサイクルの第2の
クロック位相においては、RAM99が第3のクロックサイ
クルの第1のクロック位相において計算された係数オペ
ランドW(1,k)および新しいデータ値X(2,k)の双方
を格納するために書き込まれる。データ入力X(1,k)
がレコーダ92および93の双方に結合され、かつ係数オペ
ランドW(1,k)が乗算器106に接続される。乗算器87は
C(0,k)を計算し、かつ乗算器106はT(2,k)を計算
する。
第4のクロックサイクルの第1のクロック位相におい
ては、RAM99は読み取られない。先に読まれた係数オペ
ランドW(0,k−1)および先に計算されたC(0,k)は
それぞれ加算器96の第1および第2の入力に接続され
る。また、第4のクロックサイクルの第1の位相の間、
加算器110は先のY(k)の値を第3のクロックサイク
ルの第2のクロック位相において乗算器106により計算
されたT(1,k)と加算することにより更新されたY
(k)の値を計算する。最後の値Y(k)がラッチ116
に格納されかつ制御信号C5に応答してデータバス80に出
力される。図示しない回路が次に出力されたY(k)の
値を利用しかつこの値を所定の正しい値から減算して後
続の(k+1)時間フレームにおいて使用されるべき新
しいエラー項βe(k)を計算する。
第4のクロックサイクルの第2のクロック位相におい
ては、RAM99が第1のクロック位相で計算された係数値
W(0,k)を格納するために書き込まれる。レコーダ93
にはデータ入力X(0,k)が与えられ、かつ乗算器106に
は係数値W(0,k)が与えられる。更新部81の乗算器87
は第4のクロックサイクルの間は機能しないが、それは
最低のタップ位置、ゼロ、に対するCオペランドは先に
計算されたからである。第4のクロックサイクルの間、
RAM99のアドレスA位置は読み出しおよび書き込みのた
め制御信号C2に応答して再び選択され得る。
第4のクロックサイクルが終了した後、プロセッサ79
の動作は繰返される。即ち、Y(k+1)のようなYオ
ペランドに対する後続の値が計算されかつLMSアルゴリ
ズムが実施される。また、多重フィルタが単一の時間フ
レームにおいてパイプライン様式で実施できこの場合各
時間フレームは複数のクロックビートを含み、各複数の
ものは図示されたクロックの1つに等価である。以上の
説明により第4図の3タップフィルタ構造がプロセッサ
79により4クロックサイクルで実施されることが明らか
であろう。プロセッサ79はそれぞれ各形式のオペランド
を格納するために2つのRAMを使用することに反して、
フィルタ係数オペランド、W、およびデータオペラン
ド、X、の双方を格納するために単一のRAMが利用でき
るように実施される。また、乗算器56および乗算器64の
双方が同時に同じデータオペランドに結合される第4図
のフィルタ構造はレコーダ92および93が共にデータバス
80またはRAM99から同じデータオペランドによって同時
に駆動できるようにプロセッサ79が実施できることを意
味する。
本発明の他の見地はLMSアルゴリズムを実施する多重
フィルタのパイプライン式動作を含む。典型的には、他
の者がNタップフィルタを用いあるプロセッサまたは集
積回路でNのコンボリューション操作を完全に達成しか
つ次にコンボリューションおよび更新の双方の操作を行
なうための他のプロセッサまたは単一ハードウェア回路
の時分割多重によりNの更新操作を行なうことによりLM
Sアルゴリズムを実施している。この場合、Nの更新操
作に関連するオペランドの各々は更新操作のそれぞれの
オペランドに選択的に結合されなければならなかった。
これに対し、本発明においては、更新構造は本質的にコ
ンボリューション構造において与えられる。言い換えれ
ば、本発明におけるNタップフィルタはコンボリューシ
ョンおよび更新の双方をN回計算することにより達成し
て実施される。これはプロセッサの実行時間をかなり短
縮しかつNタップフィルタを実施するために使用される
回路の量を最小化する。多重フィルタがこのようにして
独立のフィルタ間の遷移の間クロックサイクルの損失な
しに実施できる。本発明のプロセッサ構造は制御信号C4
を介しマルチプレクサ86を制御可能とすることにより係
数更新操作の外部制御を提供する。いずれの新しいデー
タサンプル対しても、外部制御回路はフィルタの係数が
更新されているか否かを決定することができる。伝統的
な外部制御回路もまたマルチプレクサ86において適応ベ
ータ(β)を選択することにより更新レートを決定する
ことができる。外部回路はまたもしそれが望ましい場合
にはタップデータを知られた状態にすることができる。
本発明が好ましい実施例に関連して説明されたが、当
業者には本発明は多くの方法で変形することができかつ
上に説明されたもの以外の多くの実施例を含むことがで
きることは明らかである。従って、添付の請求の範囲は
本発明の真の精神および範囲内にある発明のすべての変
形をも含むことを意図している。
【図面の簡単な説明】
第1図は、LMSアルゴリズムに対するコンボリューショ
ン方程式を実施するための知られたフィルタ構造を示す
ブロック図、 第2図は、LMSアルゴリズムに対する適応法則およびコ
ンボリューションを実施するための他の知られたフィル
タ構造を示すブロック図、 第3図は、LMSアルゴリズムに対する適応ルールおよび
コンボリューションを実施するための他の知られたフィ
ルタ構造を示すブロック図、 第4図は、本発明に係わるLMSアルゴリズムの適応ルー
ルを実施するためのフィルタ構造を示すブロック図、 第5図は、本発明に係わる第4図のフィルタ構造を実施
するためのパイプライン式プロセッサを示すブロック
図、そして 第6図は、本発明のプロセッサのパイプライン式動作を
説明するための図式的説明図である。 40:フィルタ構造、42,50,54,60,62,70:遅延回路、44,4
6,52,56,64,66:乗算器、48,58,68,72,74,76:加算器、7
9;パイプライン式プロセッサ、80:データバス、81:更新
部、82:コンボリューション部、83:制御部、85,88,89,9
4,97,98,101,104,108,112,114,116:ラッチ、86,90:マル
チプレクサ、87,106:乗算器、92,93:レコーダ、96,110:
加算器、99:RAM、118:バスドライバ回路。

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】Nを整数とし、Nタップに対する一連のデ
    ータ値および係数値のコンボリューションを計算しかつ
    ほぼ同時にフィルタの各タップに対する係数値を更新す
    ることにより該一連の係数値の適応計算を行なうことに
    より、Nタップフィルタにおける最小2乗平均(LMS)
    アルゴリズムを実施するためのパイプライン式プロセッ
    サであって、該プロセッサは、 LMSアルゴリズムを実施するのに必要とされる係数値に
    対し所定数の更新計算を行なうための更新手段であっ
    て、前記更新計算は所定の期間の間に行なわれるもの、 前記更新手段に結合され同じ期間の間に各々所定の係数
    値と所定のデータ値を乗算することにより形成される所
    定数のコンボリューション積を加算し前記コンボリュー
    ションを表わす出力信号を提供するためのコンボリュー
    ション手段、そして 前記更新手段およびコンボリューション手段の双方に結
    合され前記更新手段およびコンボリューション手段の双
    方によって必要とされるデータ値および係数値を選択的
    に提供し最小2乗平均アルゴリズムを実施するための格
    納手段、 を具備することを特徴とするパイプライン式プロセッ
    サ。
  2. 【請求項2】前記所定の期間は所定の周波数のクロック
    信号の(N+1)クロックサイクルを有する請求項1に
    記載のパイプライン式プロセッサ。
  3. 【請求項3】前記更新手段およびコンボリューション手
    段は各々再符号化された乗算器を具備しかつ前記格納手
    段は選択的に同時に前記更新手段およびコンボリューシ
    ョン手段の各々の再符号化された乗算器に同じデータ値
    を提供する請求項1に記載のパイプライン式プロセッ
    サ。
  4. 【請求項4】データ値および係数値の双方を格納する前
    記格納手段は単一のメモリ構造である請求項1に記載の
    パイプライン式プロセッサ。
  5. 【請求項5】前記更新手段はさらに、 被乗数オペランドを受けるための第1の入力、再符号化
    された乗算器オペランドを受けるための第2の入力、そ
    して出力を有する乗算器であって、該乗算器は前記フィ
    ルタのために選択された所定のエラーオペランドおよび
    再符号化されたデータオペランドを乗算して更新された
    係数値を提供するもの、そして 前記乗算器の出力に結合された第1の入力、そして前記
    格納手段に結合された第2の入力を有する加算器であっ
    て、該加算器は前記フィルタの各タップに対し係数更新
    値および前記格納手段により与えられた所定の先の係数
    の和を提供し、それにより適応計算を行なうもの、 を具備する請求項1に記載のパイプライン式プロセッ
    サ。
  6. 【請求項6】前記コンボリューション手段はさらに、 被乗数オペランドを受けるための第1の入力、再符号化
    された乗算器オペランドを受けるための第2の入力、そ
    して出力を有する乗算器であって、前記乗算器は前記フ
    ィルタの各タップに対する所定の更新された係数値およ
    び再符号化されたデータオペランドを乗算しコンボリュ
    ーション項を提供するもの、そして 前記乗算器の出力に結合された第1の入力、そしてその
    出力に結合された第2の入力を有する加算器であって、
    該加算器は前記フィルタのNのタップに対し一連のデー
    タ値および係数値のコンボリューションを実施するため
    にNの累算を行なうもの、 を具備する請求項1に記載のパイプライン式プロセッ
    サ。
  7. 【請求項7】Nを整数とすると、Nのタップに対する一
    連のデータ値および係数値のコンボリューションを計算
    しかつほぼ同時にフィルタの各タップに対する係数値を
    更新することにより前記一連の係数値の適応計算を行な
    うことによりNタップのフィルタ機能を達成するパイプ
    ライン式プロセッサにおける最小2乗平均(LMS)アル
    ゴリズムを実施するための方法であって、該方法は、 所定の時間フレームの間に所定数の更新計算を行なうた
    めにプロセッサの更新回路部を時間多重する段階、 前記と同じ期間の間に所定数のコンボリューション積を
    行ない、最終コンボリューション積はLMSアルゴリズム
    の完了した計算を表わすコンボリューション回路部を時
    間多重する段階、そして 単一の格納手段を更新回路部およびコンボリューション
    回路部の双方に結合して最小2乗平均を実施するために
    更新回路部およびコンボリューション回路部の双方によ
    って必要とされるデータ値および係数値を提供する段
    階、 を具備することを特徴とする前記方法。
  8. 【請求項8】さらに、 前記所定の時間フレームを規定するために所定の周波数
    のクロック信号を利用する段階であって、前記最小2乗
    平均アルゴリズムは時間フレームごとにNの更新および
    コンボリューション積を計算するために(N+1)サイ
    クルのクロック信号を必要とするもの、 を具備する請求項7に記載の方法。
JP1321265A 1988-12-12 1989-12-11 最小2乗平均アルゴリズムを実施するためのパイプライン式プロセッサ Expired - Fee Related JP2960086B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/283,101 US4947363A (en) 1988-12-12 1988-12-12 Pipelined processor for implementing the least-mean-squares algorithm
US283,101 1988-12-12

Publications (2)

Publication Number Publication Date
JPH02214322A JPH02214322A (ja) 1990-08-27
JP2960086B2 true JP2960086B2 (ja) 1999-10-06

Family

ID=23084522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1321265A Expired - Fee Related JP2960086B2 (ja) 1988-12-12 1989-12-11 最小2乗平均アルゴリズムを実施するためのパイプライン式プロセッサ

Country Status (4)

Country Link
US (1) US4947363A (ja)
EP (1) EP0373468B1 (ja)
JP (1) JP2960086B2 (ja)
DE (1) DE68926154T2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5230007A (en) * 1991-06-28 1993-07-20 Motorola, Inc. Method for optimizing an adaptive filter update coefficient
US5450339A (en) * 1991-10-10 1995-09-12 Harris Corp Noncanonic fully systolic LMS adaptive architecture
US5535150A (en) * 1993-04-20 1996-07-09 Massachusetts Institute Of Technology Single chip adaptive filter utilizing updatable weighting techniques
GB9418755D0 (en) * 1994-09-16 1994-11-02 Ionica L3 Limited Filter
US5517346A (en) * 1994-09-16 1996-05-14 Varian Associates Spectral modification through phase modulation with spatial extent
US5907497A (en) * 1995-12-28 1999-05-25 Lucent Technologies Inc. Update block for an adaptive equalizer filter configuration
US6125438A (en) * 1997-04-21 2000-09-26 Matsushita Electrical Industrial Co., Ltd. Data processor
US6285412B1 (en) 1997-07-23 2001-09-04 Harris Corporation Adaptive pre-equalization apparatus for correcting linear distortion of a non-ideal data transmission system
US6519010B2 (en) 1998-06-26 2003-02-11 Harris Corporation Broadcast transmission system with sampling and correction arrangement for correcting distortion caused by amplifying and signal conditioning components
US6745218B1 (en) * 1999-03-16 2004-06-01 Matsushita Electric Industrial Co., Ltd. Adaptive digital filter
US6865588B2 (en) * 2002-01-03 2005-03-08 Intel Corporation Adaptive filtering with tap leakage using error filtering
EP1841065A1 (en) * 2006-03-29 2007-10-03 Mitel Networks Corporation Modified least-mean-squares method with reduced computational complexity
US8352215B2 (en) * 2009-10-23 2013-01-08 Sas Institute Inc. Computer-implemented distributed iteratively reweighted least squares system and method
CN102394592B (zh) * 2011-10-18 2013-12-11 北京理工大学 一种基于Backlash算子的自适应滤波器
US10560313B2 (en) 2018-06-26 2020-02-11 Sas Institute Inc. Pipeline system for time-series data forecasting
US10685283B2 (en) 2018-06-26 2020-06-16 Sas Institute Inc. Demand classification based pipeline system for time-series data forecasting

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4321686A (en) * 1980-01-24 1982-03-23 Communications Satellite Corporation Correction processor of self-adaptive filters
JPS61102813A (ja) * 1984-10-25 1986-05-21 Hitachi Denshi Ltd 適応デイジタルフイルタ
US4829463A (en) * 1985-03-27 1989-05-09 Akai Electric Co. Ltd. Programmed time-changing coefficient digital filter
US4802111A (en) * 1986-03-10 1989-01-31 Zoran Corporation Cascadable digital filter processor employing moving coefficients
US4726036A (en) * 1987-03-26 1988-02-16 Unisys Corporation Digital adaptive filter for a high throughput digital adaptive processor

Also Published As

Publication number Publication date
JPH02214322A (ja) 1990-08-27
US4947363A (en) 1990-08-07
EP0373468A2 (en) 1990-06-20
EP0373468B1 (en) 1996-04-03
EP0373468A3 (en) 1991-07-03
DE68926154T2 (de) 1996-10-24
DE68926154D1 (de) 1996-05-09

Similar Documents

Publication Publication Date Title
JP2960086B2 (ja) 最小2乗平均アルゴリズムを実施するためのパイプライン式プロセッサ
US5287299A (en) Method and apparatus for implementing a digital filter employing coefficients expressed as sums of 2 to an integer power
US6510445B2 (en) Digital filters
US6279021B1 (en) Digital filters
US5450339A (en) Noncanonic fully systolic LMS adaptive architecture
US4490807A (en) Arithmetic device for concurrently summing two series of products from two sets of operands
US4771396A (en) Digital filters
US6665696B2 (en) Delayed adaptive least-mean-square digital filter
JPS6037513B2 (ja) デジタル回路
US4398262A (en) Time multiplexed n-ordered digital filter
US5001661A (en) Data processor with combined adaptive LMS and general multiplication functions
US4939684A (en) Simplified processor for digital filter applications
US6279020B1 (en) Programmable circuit for realizing a digital filter
JPS63278411A (ja) 多段デジタル・フィルタ
JP4388141B2 (ja) ディジタルフィルタ用共有リソース
EP0266004A2 (en) Architecture for power of two coefficient fir filter
JPH10509011A (ja) 改良されたディジタルフィルタ
JPH10322168A (ja) 適応有限インパルス応答フィルタ集積回路
WO1991009371A1 (en) Random access fir filtering
JPH0767065B2 (ja) 信号処理集積回路
JP3197648B2 (ja) ディジタルフィルタ
JP3140853B2 (ja) データ駆動型フィルタ装置
JP2002026692A (ja) アダプティブフィルタおよびアダプティブフィルタのタップ係数更新方法
KR100337716B1 (ko) 곱의합을형성하는회로
JPH03211910A (ja) ディジタルフィルタ

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070730

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080730

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090730

Year of fee payment: 10

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D03

LAPS Cancellation because of no payment of annual fees