JP5108022B2 - 乗算器を利用しない有限インパルス応答フィルタを実装する方法および装置 - Google Patents

乗算器を利用しない有限インパルス応答フィルタを実装する方法および装置 Download PDF

Info

Publication number
JP5108022B2
JP5108022B2 JP2009540417A JP2009540417A JP5108022B2 JP 5108022 B2 JP5108022 B2 JP 5108022B2 JP 2009540417 A JP2009540417 A JP 2009540417A JP 2009540417 A JP2009540417 A JP 2009540417A JP 5108022 B2 JP5108022 B2 JP 5108022B2
Authority
JP
Japan
Prior art keywords
response
filter
output
impulse response
candidate
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.)
Active
Application number
JP2009540417A
Other languages
English (en)
Other versions
JP2010512124A (ja
JP2010512124A5 (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.)
Hitachi Ltd
Original Assignee
Hitachi Aloka Medical Ltd
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 Hitachi Aloka Medical Ltd filed Critical Hitachi Aloka Medical Ltd
Publication of JP2010512124A publication Critical patent/JP2010512124A/ja
Publication of JP2010512124A5 publication Critical patent/JP2010512124A5/ja
Application granted granted Critical
Publication of JP5108022B2 publication Critical patent/JP5108022B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0248Filters characterised by a particular frequency response or filtering method
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0227Measures concerning the coefficients
    • H03H17/023Measures concerning the coefficients reducing the wordlength, the possible values of coefficients
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)

Description

本発明は、概して、デジタル信号処理の分野に関する。より具体的には、本発明の実施形態は、乗算器を利用しない有限インパルス応答フィルタを実装する方法およびシステムに関する。
フィルタリングは、デジタル信号処理においてもっとも頻繁に利用される演算の1つである。フィルタリングの1つの方法は、有限インパルス応答(FIR)フィルタを利用することである。このタイプのフィルタにおいて、入力信号は、周波数応答出力の特性を決定する、有限期間のインパルス応答と共に畳み込まれる。FIRは、通常、抽出されたデータシステム内で利用されるため、信号およびインパルス応答は、時間および振幅について量子化されて離散サンプルを生成する。所望のインパルス応答を含むこの離散サンプルは、FIRフィルタ係数である。
各出力サンプルについてのFIRフィルタ計算は2ステップの工程である。いくつかの入力信号サンプルは、対応する数の係数値で乗算される(各ペアの値が掛け合わされる)。その後、すべての積が合算される。係数の数および値は、所望の周波数応答に相当する。インパルス応答が長くなればなるほど、より多くのフィルタ係数ひいてはより多くの乗算が必要になる。
FIRフィルタの欠点の1つは、各出力サンプルに必要な演算の複雑さである。たとえば、各出力サンプルについて、N回の乗累算(MAC)演算を実行する必要がある。100係数フィルタは、各出力サンプルにつき100回の乗算および100回の加算を必要とする。
デジタル信号処理(DSP)集積回路は、特化された計算エンジンであり、非常に大量の乗算および加算を行いながら、タップからタップへとサンプルデータを同時に移動するように設計されている。計算効率を向上させる方法は多く存在するにも関わらず、所望のフィルタ応答とタップ数のいずれかの間で妥協することも珍しくない。減衰、平坦な応答、通過帯域および減衰領域内のリップル、遷移帯域などの間にトレードオフが存在する。他の妥協事項は、計算精度に関連がある。係数および入力信号サンプルの両方に利用できるビット数がフィルタ品質に影響を与える。フィルタの設計者は、前述したすべての要因を考慮しなければならない。
集積回路の製造において、乗算器を実装するために必要とされる費用およびチップ領域の大きさを低減する進歩が達成されているにも関わらず、乗算器は、加算器などの他の算術演算器と比べ、依然として比較的高価なままである。この費用は、論理ゲートの数に直接関連する。2進加算器は、2進乗算器よりもコストは低いが、同時にその用途も限定されてしまう。フィルタ設計者の目標が、多重チャンネル設計を行うときのコストを抑え、かつIC資源を節約することであれば、乗算器を最小限に減らす、すなわち排除するフィルタリングアーキテクチャおよび方法を探すことが望ましい。
フィルタの実装に利用される乗算器の数を削減する方法が存在する。たとえば、フィルタ係数インパルス応答の対称性の活用である。ただし、削減されるのは、通常、2分の1だけであり、この削減は、多くの用途において不十分である。2の累乗である係数、または若干数の2の累乗の和を選択することによって、乗算器を単純化する方法も知られている。このタイプのフィルタは、通常、周波数応答を改善するための2つ目のフィルタを必要とするため、この場合の単純化も、やはり不十分である。計算において乗算器の数を低減する方法の多くは、不十分にしか機能せず、その柔軟性は限定的である。
超音波装置のフロントエンドでの入力信号のフィルタリングなど、コストおよびチップ資源が考慮すべき事項である用途に関して、性能および柔軟性が改善された低コストのFIRフィルタが求められている。
乗算器を利用せずにFIRフィルタを実装する各種の方法およびシステムが存在するが、このような方法およびシステムは完全に満足できるものではない。本発明者は、個別成分のランニングサムフィルタの和として、有限インパルス応答フィルタを実装する方法およびシステムを発見した。所望のフィルタ応答に必要なすべての成分フィルタの和は、累算器において計算され、新しいサンプルと破棄された古いサンプルとの差である、成分フィルタの更新期間のみが、成分フィルタごとに計算される。本発明は、チップ資源および製造コストを大幅に節約する。
所望のインパルス応答は、高さが等しい矩形インパルス応答の和に分解され、この各インパルス応答は、減算および加算を必要とするランニングサムとして実施される。サンプリングクロックの倍数で動作する回路を利用することで、同一のハードウェア上で複数のランニングサムを実施できる。任意のインパルス応答形状および長さを持つ全体フィルタは、メモリおよび2つの演算装置を利用して実装することができる。2つ以上のこのようなフィルタをカスケード接続して、所望の周波数特性のより適切な近似値を得ることができる。
本発明の一態様は、所望のインパルス応答を利用して信号をフィルタリングする方法を提供する。本発明のこの態様に係る方法は、好ましくは、所望のインパルス応答を複数の個別の矩形成分インパルス応答に分解することから始まり、この複数の矩形成分インパルス応答それぞれに信号を入力し、前記複数の矩形成分インパルス応答のそれぞれを入力信号と共に畳み込み、複数の畳み込みの和を求めるものであり、この和が、入力信号に対する所望のインパルス応答の応答である。
本方法の他の態様において、畳み込みは、ランニングサムを利用することを含む。
本方法の更に他の態様において、分解することは、所望のインパルス応答に対応する周波数応答を計算し、成分矩形インパルス応答の数量を指定し、所望のインパルス応答を候補応答に分解することを含み、前記候補応答は、前記数量の成分矩形インパルス応答を含み、この各成分矩形インパルス応答は、正または負いずれかの振幅を持ち、合算されたときに所望のインパルス応答を近似化するものである。また、前記分解することは、候補応答を繰り返し改良することを含み、繰り返し改良することは、a)前記候補応答に対応する周波数応答を計算し、b)前記候補の周波数応答と、所望の周波数応答とを比較し、前記候補の周波数応答が所定の範囲内にある場合は、その候補応答を利用する一方で、前記候補の周波数応答が所定の範囲内にない場合は、1つ以上の候補応答の成分矩形インパルス応答の長さを調整し、a)およびb)のステップを繰り返すことを含む。
本発明の他の態様は、デジタルフィルタである。本発明のこの態様に係るデジタルフィルタは、信号サンプルを入力するフィルタ入力と、フィルタ処理されたサンプル信号を出力するフィルタ出力と、前記フィルタ入力に連結されて、矩形インパルス応答に先行するサンプル数に対応する数のサンプルを遅延させる第1遅延部と、前記第1遅延部の出力に連結されて、矩形インパルス応答を表すサンプル数に対応する数のサンプルを遅延させる第2遅延部と、前記第1遅延部の出力および前記第2遅延部の出力に連結されて、受信信号サンプルと、矩形インパルス応答に対応する大きさだけ時間シフトされた信号サンプルとの差異を取得する減算器と、前記減算器の出力に連結されて、前記差異サンプルのランニングサムをフィルタ出力として保持する累算器入力と、を含む。
本発明の更に他の態様は、デジタルフィルタであり、このデジタルフィルタは、信号サンプルを入力するフィルタ入力と、フィルタ処理されたサンプル信号を出力するフィルタ出力と、前記フィルタ入力に連結されて、待ち行列として機能するバッファと、前記バッファの第1データ出力に連結された入力を持つレジスタと、前記レジスタの出力に連結されたマイナス入力および前記バッファの第2データ出力に連結されたプラス入力を有し、前記バッファから出力される、複数の時間シフトされた信号サンプルと第2の複数の時間シフトされた信号サンプルとの差異を取得する減算器であって、前記バッファから出力される第1および第2の複数の時間シフトされたサンプルの各サンプルペアは、受信データサンプルが、時間に関して、複数の矩形インパルス応答それぞれと共に畳み込まれる矩形インパルス応答を表す減算器と、前記減算器の出力に連結されて、複数の差異のランニングサムを保持する累積器入力および前記フィルタ出力に連結された出力と、前記バッファおよび累積器に連結されたコントローラとを含み、前記コントローラは、前記バッファを介して、次の受信信号サンプルの書き込み先であるアドレスと、既に書き込まれている信号サンプルの読み出し元であるアドレスとを巡回させるように構成されて、前記ランニングサムに対して、差異を加算するのか、または減算するのかを制御する。
本発明の1つ以上の実施形態の詳細は、添付の図面および下記の説明に記載される。本発明の他の特徴、目的、および利点は、下記の説明および図面、ならびに請求項から明らかになるであろう。
フィルタインパルス応答の例示的グラフを示す図である。 図1に示したフィルタインパルス応答を、成分インパルス応答h,h,h、およびhに分解する例示的分解処理を示す図である。 図1に示したフィルタインパルス応答を、成分インパルス応答h,h,h、およびhに分解する例示的分解処理を示す図である。 図1に示したフィルタインパルス応答を、成分インパルス応答h,h,h、およびhに分解する例示的分解処理を示す図である。 インパルス応答の分解方法を例示するブロック図である。 成分矩形フィルタの和として実装されるフィルタの例示的システムブロック図である。 矩形インパルス応答のランニングサムフィルタの例示的システムブロック図である。 時分割される複数の矩形インパルス応答フィルタを利用するFIRフィルタの例示的システムブロック図である。 図6に示すフィルタの代替の構成である、スケーリング乗算器を含む例示的実施形態を示す図である。 図6に示すフィルタの代替の構成である、スケーリングマルチプレクサを含む例示的実施形態を示す図である。
本発明の実施形態について添付の図面を参照しながら説明する。図面において、同様の番号は、各図をとおして同様の要素を示す。また、本明細書で用いる表現または用語は、説明のためのものであり、限定するものと見なされるべきでないことは理解されるであろう。本明細書における「包含する」、「含む」、「有する」、およびこれらの変化形の使用は、後に列挙された項目およびその等価物を、追加の項目と共に含むことを意味する。「搭載」、「接続」、および「連結」の用語は、幅広い意味で用いられ、直接および間接の両方の方式で搭載すること、接続すること、ならびに連結することを含む。また、「接続」および「連結」は、物理的もしくは機械的な接続または連結に限定されるものではない。
また、一部の構成要素および項目は、この分野での一般的な慣例となっているように、ハードウェア要素であるかのように説明および記載されることも理解されたい。ただし、当業者であれば、下記の詳細な説明を読むことによって、少なくとも1つの実施形態において、本方法およびシステムの構成要素は、ソフトウェアまたはハードウェアにおいて実施されてよいことは理解されるであろう。
本発明の実施形態は、乗算器を必要としないFIRフィルタ構造を実現する方法およびシステムを提供する。
前置きとして、s[n]が、0からN−1までのN個のサンプルを有する離散時間においてサンプリングされた入力信号であり、h[n]が、FIRフィルタ係数(インパルス応答)を規定する0からM−1個のサンプルを有するMサンプル信号である場合、この2つの畳み込み0[n]は、0からN+M−2までのN+M−1サンプル信号であり、次式によって得られる。
Figure 0005108022
上式は畳み込み和を定義するものである。
図1は、例示的な所望のフィルタインパルス応答、すなわちフィルタカーネルを示す図で、この図は、中央部を基準に対称であり、正の中央ローブと、振幅が小さい側方ローブとを含む。1組の負の側方ローブのみが図示されている。図2Aに示すように、インパルス応答は、下記の式によって得られる、正および負の矩形成分の和によって近似化することができる。
Figure 0005108022
上式において、i=1,2,3,・・・,Iである。矩形成分Iの数は4(h1,h2,h3、およびh4)に等しいが、1以上の任意の値であってよい。所望のフィルタインパルス応答は、対称である必要はない。
各矩形成分カーネルh,h,h,hは、不連続な数の±非ゼロ係数(またはサンプル)によって定義される。ゼロの値は、適切な時間的整合のために、非ゼロの係数の数がより多い成分カーネルの期間を等しくするように、矩形応答の片側に追加される。たとえば、図2Bに示される矩形フィルタ成分hは、22個の非ゼロの負(−1)の係数を含む。適切な時間的整合のために、図2Cに示す矩形フィルタ成分hは、10個の正(+1)の係数を含み、その10個の正の係数の前に6個のゼロ係数を持たなければならない。したがって、図2Aに示した矩形フィルタ成分hは、8個の正の係数を含み、その非ゼロの振幅の前に配置される7個のゼロ係数を持たなければならない。矩形フィルタ成分hは、6個の正の係数を含み、その非ゼロの振幅の前に配置される8個のゼロ係数を持たなければならない。
成分フィルタh,h,h,hは、±1いずれかの振幅を持ち、乗算器を必要としない。他の成分フィルタの振幅を利用することで、より良好な近似化および精度が得られる。ただし、演算がより複雑になる。正確な振幅は、各成分フィルタの振幅をスケーリングするための乗算器および係数記憶装置を必要とする。おおよそのスケーリングは、2の累乗(2、x=0,1,2,・・・)を利用したスケーリングマルチプレクサを用いて実行することができる。次に、本発明のこの態様について説明する。
成分インパルス応答を組み合わせて単一のインパルス応答を形成するため、各成分インパルス応答は、同一の期間(係数の数)および同一の単位元等級を持つが、非ゼロ係数の符号は異なる。非ゼロ係数の数および位置は、前述したように、成分ごとに異なっていてよい。
所望のフィルタインパルス応答またはカーネルを成分矩形フィルタに分解することは、実装費用と、演算効率と、所望のフィルタ周波数応答の精度との関係を最適化することである。インパルス応答の近似化に用いた(2)において、矩形フィルタ成分の数iが大きくなると、実装費用も増加する。逆に、利用する矩形成分が少なくなると、インパルス応答の近似化の質が低下し、ひいては対応する周波数応答の質も低下する。
本発明は、図3に示すように、所望のフィルタ周波数応答を用いて開始するインパルス分解方法を実行する。フィルタ周波数応答は、量子化されたインパルス応答およびフィルタ係数が同一であるインパルス応答によって決定される。この設計は、所望の周波数応答からインパルス応答を特定し、次に、そのインパルス応答を量子化してフィルタ係数を生成することから成る。
ユーザ、すなわち設計者は、停止、通過帯域、および阻止帯域の減衰量(dB)を指定し(ステップ305)、インパルス応答の最大数などのハードウェア制約を指定し(ステップ310)、所望のフィルタの最大カーネル長(係数の数)を指定する(ステップ315)。所望の周波数応答およびフィルタ係数の数が決まったら、特にフィルタインパルス応答を計算するために設計されたソフトウェアを利用して、プロトタイプのインパルス応答を設計することができる(ステップ320)。このインパルス応答は、複雑な最適化プロセスを実行するソフトウェアを利用して導き出される。幅広く利用されるプログラムの1つである、マスワークス(The MathWorks)社のMATLABを利用してもよい。算出されたインパルス応答を取得した後、そのインパルス応答は、図2に示すように、成分矩形インパルス応答にグラフ的に分解することができ(ステップ325)、これにより第1候補の分解が得られる。
分解は、一意ではなく、第1の候補(ステップ325)は満足できる結果をもたらさないこともある。分解の後、反復プロセスを利用して、候補のインパルス応答の分解に対応する周波数応答を計算し(ステップ330)、最初の周波数応答仕様と比較する(ステップ355)ことができる。
周波数の比較結果が満足できるものでない場合(ステップ340)、成分構造の反復を実行することができる。分解は、矩形成分インパルス応答の幅を若干量だけ変化させて、新しい候補を生成し、その候補の周波数応答を計算して(ステップ330)、最初の周波数応答仕様と比較すること(ステップ335)によって修正される。比較結果が許容できるものである場合(ステップ340)は、その候補の応答が利用される(ステップ355)。
多くのフィルタ周波数応答の仕様について、導出された最大インパルス応答の長さおよび成分インパルス応答の数が小さい場合は、比較的少ない回数の反復後に、処理が収束する(ステップ345,360)。これ以上の反復は、より良い結果をもたらすとは限らず、最適な応答から外れる可能性がある。
最終結果が依然として満足できるものでない場合(ステップ340,345)、同一または異なる矩形成分を利用する2つ以上のランニングサムFIRフィルタを、一緒にカスケード接続して、次式のように構成してもよい。
Figure 0005108022
カスケード接続された各フィルタは、前述したように設計することができ、同様の反復処理によって更に改良することができるが、この場合、カスケード接続されたFIRフィルタの周波数応答は、各反復の後で計算されて(ステップ330)、最初の仕様と比較される点が異なる。最適化方法により、通常、2つのカスケード接続されたフィルタが得られ、この各フィルタは、周波数特性の阻止帯域内の最小値および最大値の位置が異なり、一方のフィルタの阻止帯域最小値が、他方の阻止帯域最大値を補償するように構成されている。この補償の側面により、カスケード接続されたフィルタは、一様に良好な阻止帯域減衰を提示し得る。
矩形成分は、個別の成分フィルタのインパルス応答を表すと考えることができる。成分フィルタおよびその矩形インパルス応答は、記号h,hなどによって示される。
畳み込みの線形性により、信号に対するフィルタの応答は、同一信号に対する成分フィルタの応答の和に等しく、次式のように表される。
Figure 0005108022
上式において、i=1,2,3,・・・Iである。図4に、同一信号s[n]で畳み込まれた個別の成分フィルタh,h,h,h(ここでI=4である)の応答を加算(403)するシステム401を示す。システム401への入力信号s[n]の入力405は、各成分フィルタh,h,h,hによって処理され、その後で合算(403)される。
非ゼロ部分に1または−1の値を持つ成分フィルタ応答hは、インパルス応答の非ゼロ部分の信号サンプルの符号付き合計として実装できるため、乗算器を排除することができる。
図5に、1つの所定の矩形成分応答に対応して構成された再帰的ランニングサムフィルタの例示的アーキテクチャを示す。フィルタ501は、信号サンプルs[n]の入力503と、FIFO(先入れ先出し)などの第1遅延ライン505と、第2遅延ライン507と、第1減算器509と、第2加算器/減算器513および記憶レジスタ515を含む累算器511と、フィルタサンプル0[n]の出力517とを含む。このフィルタ501は、同期式パイプライン型アーキテクチャである。データサンプルの読み出しと書き込みの両方に同一クロック(図示せず)が使用される。図4を実行するためには、図5に示されるような4つのフィルタが必要になり、この各フィルタは、矩形成分応答h,h,h,hを用いて予め構成されている。
矩形応答は、第1遅延ライン505および第2遅延ライン507を利用して定義される。第1遅延ライン505は、応答内の先行ゼロ係数dの数について事前設定される。第2遅延ライン507は、応答内の非ゼロ係数Dの数について事前設定される。
第1遅延ライン505は、インパルス応答の最初から第1の非ゼロ係数までの遅延dを提供する。たとえば、図5に示したアーキテクチャを利用して図4を実装した場合、各遅延505は、h,h,h,hの先行するゼロ係数の数を計上することになる。応答hに関して、dは0に等しい(Dは22に等しい)。応答hに関して、dは6に等しい(Dは10に等しい)。応答hに関して、dは7に等しい(Dは8に等しい)。応答hに関して、dは8に等しい(Dは6に等しい)。dの上記値は、各フィルタh,h,h,hの応答を時間整合させ、この時間整合は、図2に示した分解および下記の成分フィルタ関係(表記を簡単にするため、成分指数iは省略した)に従って行われる。
Figure 0005108022
演算に先立ち、累算器511、レジスタ515、ならびに第1および第2の遅延ライン505および507は、0を用いて初期化される。第1遅延ライン505は、d個のサンプルの遅延を提供する。d個の入力サンプルの間、第1遅延ライン505の出力は0である。入力サンプルs[d−1]において、第1遅延ライン505の出力はs[0]であり、同様に、s[d−l+1]はs[1]、s[d−l+2]はs[2]というように、入力信号の最後まで続く。
再帰演算は、dの遅延505が終了したときに始まり、最初の入力サンプルs[0]が第2遅延ライン507および減算器509に入る。減算器509は、第2遅延ライン507の出力(この時点では0である)を前記入力サンプルから減じる。第1の値s[0]は、加算器/減算器513において0と加算されて、レジスタ515に格納される。次の一連のサンプルs[1からD−l]が合算されて、513に格納される。
減算器507の出力は、加算器/減算器513によって、矩形応答が正である場合に累算器レジスタ515に加算され、矩形応答が負である場合に累算器レジスタ515から減算されて、出力信号517がs[0]または−s[0]になるようにする。加算器/減算器513は、制御信号(図示せず)によって制御されて、成分インパルス応答の符号(±)に従って加算または減算を実行する。
d+Dのサンプルが入力された後、累算器レジスタ515の出力517は、サンプル(n=0からD−1)の和である。入力503において、サンプルd+Dが利用可能になると、第2遅延ライン507の出力において遅延サンプルs[0]を利用できる。減算器509は、差異s[D]−s[0]を計算し、加算器/減算器513が、この差異を累算器515の内容に加算する。出力517は、長さDの矩形インパルス応答と畳み込まれた入力サンプルのランニングサムになる。演算が続行され、出力517は、最新のD個の入力サンプルの和を表すように、各クロックサイクルにおいて更新される。
ほとんどのフィルタリング用途において、入力信号のサンプリング周波数fは、通常、フィルタ内で利用されるクロック周波数よりも低い。たとえば、超音波画像処理の用途において、一般的な入力信号のサンプリング周波数fは、40MHzであってよく、各サンプルは12ビットに量子化される。フィルタそのものは、サンプリング周波数fsの倍数、たとえば、160MHz(4f)で動作することができる。より高いクロックレートによって、フィルタ回路は、入力信号サンプル間の多重演算を実行できるようになるため、同一の回路で、複数の成分矩形フィルタを計算および加算することができる。複数の成分フィルタは、同一の回路において時分割方式で実装できるため、フィルタの全体サイズおよびコストが削減される。
図6に、本発明のFIRフィルタ601の実施形態を示す。フィルタ601は、信号サンプルs[n]の入力603と、多重ポートメモリ605と、第1記憶レジスタ607と、第1減算器609と、第2加算器/減算器613および第2記憶レジスタ615を含む累算器611と、フィルタサンプル出力0[n]617とを含む。制御装置619は、フィルタ演算を制御する。
この回路は、入力サンプルクロックfと位相整合されたクロックf(図示せず)によって、同期的に時間調整されて動作する。クロックは、採用される成分インパルス応答の数Iに依存するサンプリング周波数Ifの整数倍である周波数を持つ。
入力データs[n]のサンプルは、メモリ605の入力Dinに連結される。メモリ605は、第1および第2アドレス入力A1およびA2、第1および第2データ出力バスD1およびD2、ならびに書き込み可能WEを含む。第1アドレス入力A1は、書き込み可能信号WEがアサートされたときに、出力バスD1からのデータの読み出し元であると共に、データ入力Dinに存在する入力サンプルの書き込み先であるメモリ位置を選択する。第2アドレス入力A2は、出力バスD2からのデータの読み出し元であるメモリ位置を選択する。
本発明で採用される、好ましいタイプの多重ポートメモリ605は、FPGA(フィールドプログラマブルゲートアレイ)集積回路内で利用できる。他のメモリ構成も利用することができる。メモリ605は、最も長い期間を有する成分応答の長さと等しい長さを持つ循環バッファとして構成される。フィルタインパルス応答がM個の係数(M=d+D+末尾ゼロ)を有する場合、第1の入力サンプルs[0]は、メモリ605のアドレス0に書き込まれ、第2の入力サンプルs[1]はアドレス1に、M番目のサンプルs[Mth]はアドレスM−1に書き込まれる。
この後、書き込みアドレスは0にリセットされるため(これ故に「循環バッファ」と呼ばれる)、(M+1)番目の入力サンプルは、(M+1)サンプルの旧データを上書きする。したがって、最初のM個の後の各サンプリングクロックサイクルでは、メモリ606内で、入力データのM個のサンプルを利用できる。
フィルタ演算中に、入力サンプルs[n]は、アドレスcのうちのいずれに書き込まれてもよく、ここで、0≦c≦M−1である。遅延サンプルs[n−D]は、D≦Mである場合に、下記のアドレスから読み出すことができる。
Figure 0005108022
上式において、aは読み出し元のアドレスで、cは書き込み先のアドレスである。これにより、存在しないアドレス条件a<0が得られた場合、循環バッファのアドレス指定規則にしたがって、遅延サンプルのアドレスは次式のようになる。
Figure 0005108022
書き込み用として、第1アドレスA1によって位置がアドレス指定されると、その内容も第1出力バスD1から読み出される。A1によって選択されたメモリ位置に新しいサンプルを書き込む同一クロックのエッジは、そのメモリ位置から第1レジスタ607内に読み込まれた古い値も保存するため、その古い値は、減算器609および加算器/減算器613による累算器レジスタ609からの減算に利用できる。
制御装置619は、多重ポートメモリ605と、累算器611の第2加算器/減算器613とに連結される。フィルタの制御装置619は、第1および第2データアクセスアドレスA1およびA2、書き込み可能信号WE、累算器611の符号制御、ならびに初期化に利用されるゲート信号(図示せず)を提供する。好ましい実施形態において、制御装置619は、ルックアップテーブル(LUT)621を利用して実装され、このLUT621内には、第1および第2アドレスA1およびA2、書き込み可能WE、ならびに累算器613の符号制御に関する一連の値が、動作前に予め定義されている。他の実施形態において、LUT621は、自己アドレス指定されてよく、換言すると、一連のLUTアドレスも同一のLUT内でプログラムされる。動作の開始時に、LUTアドレスのレジスタの内容が消去され、その後、後続のアドレスがLUT621からLUT621自身によって読み出される。この動作は、制御装置の論理を単純化する。LUTは、読み出し専用メモリ(ROM)であっても、またはランダムアクセスメモリ(RAM)であってもよい。
LUTの出力を登録して、回路の速度を速くすることもでき、この場合は、適宜、回路のタイミングとLUT内の一連のデータとを調整する必要がある。同様に、第1加算器609の出力と累算器611の入力との間に、パイプラインレジスタ(図示せず)を挿入してもよい。このパイプラインレジスタは、第1加算器609と累算器611との間に追加のクロック遅延を追加するが、これを行うには、制御信号のタイミングを適宜調整する必要がある。前述した回路変更または他の回路変更は、当業者には既に知られている。
フィルタ601は、図5に示すように、図4に採用されている複数の成分フィルタの機能を実行する。実装可能な成分フィルタh,h,h,・・・hの数は、フィルタ601のクロックレートfおよび入力サンプル周波数fの比と等しく、次式で表される。
Figure 0005108022
フィルタ601では、採用された各成分フィルタの出力は、個別に計算されて合計されるのではない。その代わり、成分フィルタの出力の和が、累算器レジスタ515において計算される。
2つの(I=2)成分フィルタ、hおよびhを利用する例では、
Figure 0005108022
Figure 0005108022
上式において、a,b、およびnはサンプル数指数である。次に、所望のフィルタインパルス応答が、2つの成分矩形インパルス応答hおよびhの和に分解され、かつ、フィルタ回路のクロック周波数が、(8)に従って倍加される場合のフィルタ601について説明する。動作は、2つ以上の成分インパルス応答を必要とする用例と同様である。
2つの成分応答hおよびhから1つのフィルタ応答を生成するため、フィルタクロック周波数fは、入力サンプル周波数の2倍のf=2fである。各サンプルクロックサイクル内に、2つのフィルタのクロックサイクルであるサブサイクル0およびサブサイクル1が定義される。
各成分フィルタはM個の係数を有するため、フィルタ601の全体インパルス応答はM個の係数を有する。成分フィルタの1つhまたはhは、そのカーネル長を定義するM個の非ゼロ係数を持つ。他の成分フィルタのカーネルは、同一数またはM個よりも少ない非ゼロ係数Dを持つことができる。D個の非ゼロ係数を有する成分フィルタは、矩形応答を定義する非ゼロ部分の前に追加されたd個のゼロを持つことができ、かつ、成分インパルス応答の全体長さがMになるように末尾ゼロを持つことができる。非ゼロ係数の前の遅延dは、ゼロ以上であってよい。
フィルタ601の演算に先立ち、累算器611のレジスタ615およびメモリ605が0に初期化される。制御装置619も初期化されて、第1アドレス出力A1にアドレス0を生成する。
演算は、入力サンプリングクロックサイクル0において、フィルタ入力603にサンプルs[0]が到着したときに開始される。サンプリングサイクル0のサブサイクル0において、成分フィルタhの旧サンプルは、データバスD1を介してメモリ505のアドレス0から読み出される(初期化により、最初のM個の周期サイクルにおいて、古い値は0である)。制御装置619は、メモリ書き込み可能信号WEをアサートする。サブサイクル1のクロックの立ち上がりは、データバスD1からの値をレジスタ607に格納して、メモリ605のアドレス0にサンプルs[0]を書き込む。サブサイクル1の間に、制御装置619は、メモリ書き込み可能WEのアサート停止を行って、アドレスA2に値0を取らせ、サンプルs[0]が、メモリ605のアドレス0からデータバスD2に読み出されて、減算器609および加算器/減算器613を介して累算器レジスタ615の入力に送られるようにする。演算全体では、複数のサブサイクルが必要であるが、演算はパイプライン処理されるため、クロックサイクルごとに新しい演算が実行される。
制御装置619は、符号制御信号をアサートして、第1成分フィルタhの非ゼロ係数の符号に従って、加算器/減算器613に加算または減算を実行させる。同時に、制御装置619が、d+Dだけアドレス0に先行するアドレスA1をアサートすると、前述した循環バッファアドレス指定に従って、第1アドレスA1がM−d−Dに等しくなり、第2成分フィルタhの旧サンプルのアドレスを表すようになる。アドレスA1の内容は、データバスD1から読み出される。
サンプリングクロックfのサイクル1の間に、入力603においてサンプルs[1]を利用できるようになる。サブサイクル0において、累算器レジスタ615の内容が更新されてs[0]になると共に、成分フィルタfの旧サンプルがレジスタ607に保存される。制御装置619は、メモリ書き込み可能WE、アドレスA1=1(新しいサンプルの書き込み先であり、かつ、成分フィルタ1の古いサンプルの読み出し元である位置)、M−d(成分フィルタhの新しいサンプルの読み出し元)に等しいアドレスA2、および成分フィルタhの符号に対応する符号制御信号をアサートする。減算器609は、成分フィルタ2の新しいサンプルから古いサンプルを減じ、その差は、加算器/減算器613によって累算器レジスタ615の内容に加算または減算されるが、この加算または減算は、符号制御信号によって決定される成分フィルタhの符号に従って行われる。サブサイクル1の立ち上がりにより、第1の有効な出力サンプルo[0]、第1および第2の成分フィルタの出力の和が、累算器レジスタ615に保存され、出力617において利用可能になる。
演算は、前述した方式で、すべての入力サンプルs[n]が処理されるまで進行する。各サンプリングサイクル中に、制御装置619は、前のサンプリングサイクルで生成された対応するアドレスよりも1だけ大きいアドレスA1およびA2を生成するが、これらのアドレスは、循環バッファのアドレス指定規則に従って限定される範囲の値を取る。すなわち、サンプリングサイクル中に、アドレスがM−1に達した場合、次のサンプリングサイクルでは、対応するアドレスはMの値を取らずに、折り返して値0に戻る。
本発明の代替の実施形態を図7および図8に示す。成分フィルタの精度を改善するために、図7では、減算器609と累算器611との間に、係数記憶装置705と組み合わせてスケーリング乗算器703が追加されている。スケーリング乗算器703は、パイプライン内で制御装置619によって制御されながら、累算処理の前に、減算器609から出力される個別の成分フィルタ値hを、記憶装置705からの個別係数を利用して乗算する。各成分フィルタhの係数、すなわち因数は、任意のスケーリング値であってよく、個別の成分フィルタ、たとえば、hおよびhに代入される。これにより、±1よりも異なる振幅を有する成分フィルタを取得することができ、所望のインパルス応答の、より向上した近似化を実現できる。
図8に示した実施形態では、減算器609と累算器611との間にスケーリングマルチプレクサ803が追加される。このスケーリングマルチプレクサ803は、パイプライン演算中に制御装置619によって制御されながら、累算処理の前に、減算器609から出力される個別の成分フィルタ値hを、2の累乗(2、ただしx=0,1,2,・・・)でスケーリングする。各成分フィルタhの2”乗は、個別の成分フィルタ(hおよびh)に代入される所定のスケーリング値である。成分フィルタの所定のスケーリング値に応じて、マルチプレクサ803は、減算器609から出力される2進値を、最上位ビット(MSB)または最下位ビット(LSB)に向かって所定の桁数だけシフトし、必要に応じてゼロを追加する。MSBに向かって2進数を1桁(指数)移動することで、効率的に値に2を乗じ、その逆の移動で、効率的に値を2で割る。マルチプレクサ803の利用は、インパルス応答の近似化を改善できるが、乗算器703を利用することによって得られる解を改善するのではない。
本発明は、フィルタ応答の分解方法および多次元和の再帰的計算の実施を利用して、2次元またはより高次元のフィルタに適用されてもよい。2次元または多次元のフィルタリングは、画像処理の中で利用されることが多く、1次元のフィルタリングと同様である。多次元フィルタのフィルタ応答の分解は、矩形ではなく、平行6面体または平行6面体状の成分である。本発明の教示は、多次元フィルタ応答を含むように拡張することができる。
本発明の1つ以上の実施形態について説明した。ただし、本発明の精神および範囲から外れることなく各種の変更を行えることは理解されるであろう。したがって、他の実施形態も付随する請求項の範囲内に入るものである。

Claims (22)

  1. 所望のインパルス応答を利用して信号をフィルタリングする方法であって、
    前記所望のインパルス応答を複数の個別の矩形成分インパルス応答に分解し、
    前記複数の矩形成分インパルス応答のそれぞれに前記信号を入力し、
    前記複数の矩形成分インパルス応答のそれぞれを、入力信号と共に畳み込み、
    複数の畳み込みの和を求めること、
    を含み、
    前記和は、前記入力信号に対する前記所望のインパルス応答の応答であり、
    前記畳み込みは、ランニングサムを利用することを更に含み、
    前記分解は、
    前記所望のインパルス応答に対応する周波数応答を計算し、
    成分矩形インパルス応答の数量を指定し、
    前記所望のインパルス応答を候補応答に分解し、前記候補応答は、前記数量の成分矩形インパルス応答を含み、その各成分矩形インパルス応答は、正または負いずれかの振幅を持つと共に、合算されたときに、前記所望のインパルス応答を近似化するものであり、
    前記候補応答インパルス応答を繰り返し改良することを更に含み、
    前記繰り返し改良することは、
    a)前記候補応答に対応する周波数応答を計算し、
    b)前記候補の周波数応答と、前記所望の周波数応答とを比較し、前記候補の周波数応答が、所定の範囲内にある場合に、その候補応答を利用し、前記候補の周波数応答が所定の範囲内にない場合に、1つ以上の前記候補応答の成分矩形インパルス応答の長さを調整し、
    a)およびb)のステップを繰り返すことを含む、
    ことを特徴とする方法。
  2. 所望のインパルス応答を成分矩形インパルス応答に分解する方法であって、
    前記所望のインパルス応答に対応する周波数応答を計算し、
    成分矩形インパルス応答の数量を指定し、
    前記所望のインパルス応答を候補応答に分解することを含み、前記候補応答は、前記数量の成分矩形インパルス応答を含み、その各成分矩形インパルス応答は、正または負いずれかの振幅を持つと共に、合算されたときに、前記所望のインパルス応答を近似化するものである、方法。
  3. 前記候補のインパルス応答を改良することを更に含み、改良することは、
    前記候補応答に対応する周波数応答を計算し、
    前記候補の周波数応答と、前記所望の周波数応答とを比較し、前記候補の周波数応答が所定の範囲内にない場合に、1つ以上の前記候補応答の成分矩形インパルス応答の長さを調整して、後続の候補応答として構成し、前記候補の周波数応答が前記所定の範囲内にある場合、その候補の応答を利用することを含む、請求項に記載の方法。
  4. 後続の候補応答に対応する周波数応答を計算し、
    前記後続の周波数応答と、前記所望の周波数応答とを比較し、前記後続の候補の周波数応答が、前記所定の範囲内にない場合に、1つ以上の前記後続の候補応答の成分矩形インパルス応答の長さを調整して、他の後続の候補応答として構成することを更に含む、請求項に記載の方法。
  5. 候補の応答を改良することは、候補の周波数応答が、収束しているのか、または発散しているかを観察することを更に含む、請求項に記載の方法。
  6. 候補の周波数応答が収束している場合に、前記改良することを継続して行う、請求項に記載の方法。
  7. 候補の周波数応答が発散している場合に、先に取得した後続の候補応答が利用される、請求項に記載の方法。
  8. 前記所望のインパルス応答は所定の長さを持つ、請求項に記載の方法。
  9. 各成分矩形インパルス応答は1の絶対量を持つ、請求項に記載の方法。
  10. 信号サンプルを入力するフィルタ入力と、
    フィルタ処理されたサンプル信号を出力するフィルタ出力と、
    1つの矩形インパルス応答、前記フィルタ入力に連結された成分デジタルフィルタ入力、および成分デジタルフィルタ出力をそれぞれが有する複数の成分デジタルフィルタと、
    前記複数の成分デジタルフィルタの出力に連結されたアナログ加算器と、を含むデジタルフィルタであって、
    前記複数の成分デジタルフィルタのインパルス応答は、前記入力された信号が、前記インパルス応答と共に畳み込まれるように互いに時間整合され、アナログ加算器内で合算されて、フィルタ出力として出力され
    前記複数の成分デジタルフィルタの各々が有する矩形インパルス応答は、前記信号サンプルに対する所望のインパルス応答を複数の矩形インパルス応答に分解して得られる各矩形インパルス応答であり、
    前記分解において、
    前記所望のインパルス応答に対応する周波数応答を計算し、
    矩形インパルス応答の数量を指定し、
    前記所望のインパルス応答を候補応答に分解し、前記候補応答は、前記数量の矩形インパルス応答を含み、その各矩形インパルス応答は、正または負いずれかの振幅を持つと共に、合算されたときに、前記所望のインパルス応答を近似化するものである、
    ことを特徴とするデジタルフィルタ。
  11. 各デジタル成分フィルタは、更に、
    前記成分デジタルフィルタ入力に連結されて、矩形インパルス応答に先行するサンプル数に対応する数のサンプルを遅延させる第1遅延部と、
    前記第1遅延部の出力に連結されて、前記矩形インパルス応答に対応する数のサンプルを遅延させる第2遅延部と、
    前記第1遅延部の出力および前記第2遅延部の出力に連結されて、受信信号サンプルと、前記矩形インパルス応答に対応する分量だけ時間シフトされた信号サンプルとの間の差異を取得する減算器と、
    前記減算器の出力に連結されて、前記差異サンプルのランニングサムをフィルタ出力として保持する累算器入力とを含む、請求項10に記載のデジタルフィルタ。
  12. 前記累算器入力として第1入力を有する加算器/減算器と、
    前記加算器/減算器の出力に連結された入力、ならびに前記加算器/減算器の第2入力およびフィルタ出力に連結された出力を有するレジスタとを更に含み、前記レジスタは前記ランニングサムを保持する、請求項11に記載のデジタルフィルタ。
  13. 前記入力信号サンプルを、前記矩形インパルス応答と共に畳み込むことを更に含む、請求項12に記載のデジタルフィルタ。
  14. 前記フィルタのクロックレートは、前記受信信号のサンプルレートと同一である、請求項13に記載のデジタルフィルタ。
  15. 前記第1遅延部によって遅延されるサンプルの数はゼロである、請求項14に記載のデジタルフィルタ。
  16. 信号サンプルを入力するフィルタ入力と、
    フィルタ処理されたサンプル信号を出力するフィルタ出力と、
    前記フィルタ入力に連結されて、待ち行列として機能するバッファと、
    前記バッファの第1データ出力に連結された入力を有するレジスタと、
    前記レジスタの出力に連結されたマイナス入力および前記バッファの第2データ出力に連結されたプラス入力とを有し、前記バッファから出力される、複数のタイムシフトされた信号サンプルと第2の複数のタイムシフトされた信号サンプルとの差異を取得する減算器であって、前記バッファから出力される前記第1および第2の複数のタイムシフトされたサンプルの各サンプルペアは、受信データサンプルが、時間に関して、複数の矩形インパルス応答のそれぞれと共に畳み込まれる矩形インパルス応答を表す、減算器と、
    前記減算器の出力に連結されて、前記複数の差異のランニングサムを保持する累算器入力および前記フィルタ出力に連結された出力と、
    前記バッファおよび累算器に連結された制御装置であって、前記バッファを介して、次の受信信号サンプルの書き込み先のアドレスと、既に書き込まれている信号サンプルの読み出し元のアドレスとを巡回させるように構成され、前記ランニングサムに対して差異を加算するのか、または減算するのかを制御する制御装置と、を含み、
    前記複数の矩形インパルス応答は、前記信号サンプルに対する所望のインパルス応答を分解して得られ、
    前記分解において、
    前記所望のインパルス応答に対応する周波数応答を計算し、
    矩形インパルス応答の数量を指定し、
    前記所望のインパルス応答を候補応答に分解し、前記候補応答は、前記数量の矩形インパルス応答を含み、その各矩形インパルス応答は、正または負いずれかの振幅を持つと共に、合算されたときに、前記所望のインパルス応答を近似化するものである、
    ことを特徴とするデジタルフィルタ。
  17. 前記累算器は、
    前記累算器入力として第1入力を有する加算器/減算器と、
    前記加算器/減算器の出力に連結された入力、ならびに前記加算器/減算器の第2入力およびフィルタ出力に連結された出力を有するレジスタとを更に含む、請求項16に記載のフィルタ。
  18. 前記フィルタのクロックレートは、前記フィルタ入力信号のサンプルレートで乗算される、前記フィルタによって採用される矩形インパルス応答の数によって決定される、請求項17に記載のフィルタ。
  19. 前記フィルタ入力信号サンプルおよびフィルタ処理された出力信号サンプルは、同期されて、同一のクロックレートである、請求項18に記載のフィルタ。
  20. 前記バッファは循環バッファである、請求項19に記載のフィルタ。
  21. 信号サンプルを入力するフィルタ入力と、
    フィルタ処理されたサンプル信号を出力するフィルタ出力と、
    前記フィルタ入力に連結されて、待ち行列として機能するバッファと、
    前記バッファの第1データ出力に連結された入力を有するレジスタと、
    前記レジスタの出力に連結されたマイナス入力および前記バッファの第2データ出力に連結されたプラス入力を有し、前記バッファから出力される、複数のタイムシフトされた信号サンプルと、第2の複数のタイムシフトされた信号サンプルとの差異を取得する減算器であって、前記バッファから出力される前記第1および第2の複数のタイムシフトされた信号サンプルの各サンプルペアは、受信データサンプルが、時間に関して、複数の矩形インパルス応答のそれぞれと共に畳み込まれる矩形インパルス応答を表す、減算器と、
    前記減算器の出力に連結された入力および係数記憶装置に連結された係数入力を有する乗算器であって、前記減算器から出力される差異を用いて、所定の係数を乗算して変倍差異として形成するように構成された乗算器と、
    前記乗算器の出力に連結されて、複数の差異のランニングサムを保持する累算器入力、および前記フィルタ出力に連結された出力と、
    前記バッファおよび累算器に連結された制御装置であって、前記バッファを介して、次の受信信号サンプルの書き込み先であるアドレスと、既に入力されている信号サンプルの読み出し元であるアドレスとを巡回させるように構成され、前記ランニングサムに対して差異を加算するのか、または減算するのかを制御すると共に、差異をスケーリングする必要がある場合に、差異で乗算する係数を前記係数記憶装置から選択する制御装置と、を含み、
    前記複数の矩形インパルス応答は、前記信号サンプルに対する所望のインパルス応答を分解して得られ、
    前記分解において、
    前記所望のインパルス応答に対応する周波数応答を計算し、
    矩形インパルス応答の数量を指定し、
    前記所望のインパルス応答を候補応答に分解し、前記候補応答は、前記数量の矩形インパルス応答を含み、その各矩形インパルス応答は、正または負いずれかの振幅を持つと共に、合算されたときに、前記所望のインパルス応答を近似化するものである、
    ことを特徴とするデジタルフィルタ。
  22. 信号サンプルを入力するフィルタ入力と、
    フィルタ処理されたサンプル信号を出力するフィルタ出力と、
    前記フィルタ入力に連結されて、待ち行列として機能するバッファと、
    前記バッファの第1データ出力に連結された入力を有するレジスタと、
    前記レジスタの出力に連結されたマイナス入力と、前記バッファの第2データ出力に連結されたプラス入力とを有し、前記バッファから出力される、複数のタイムシフトされた信号サンプルと、第2の複数のタイムシフトされた信号サンプルとの差異を取得する減算器であって、前記バッファから出力される前記第1および第2の複数のタイムシフトされたサンプルの各サンプルペアは、受信データサンプルが、時間に関して、複数の矩形インパルス応答のそれぞれと共に畳み込まれる矩形インパルス応答を表す減算器と、
    前記減算器の出力に連結された入力を有するマルチプレクサであって、前記減算器によって出力された差異を、2の所定の累乗でシフトして、変倍差異として形成するように構成されるマルチプレクサと、
    前記マルチプレクサの出力に連結されて、前記複数の差異のランニングサムを保持する累算器入力および前記フィルタ出力に連結された出力と、
    前記バッファおよび累算器に連結された制御装置であって、前記バッファを介して、次の受信信号サンプルの書き込み先のアドレスと、既に書き込まれている信号サンプルの読み出し元のアドレスとを巡回させるように構成され、前記ランニングサムに対して差異を加算するのか、または減算するのかを制御すると共に、差異をスケーリングする必要がある場合に、差異で乗算する2のべき数を前記マルチプレクサから選択する制御装置と、を含み、
    前記複数の矩形インパルス応答は、前記信号サンプルに対する所望のインパルス応答を分解して得られ、
    前記分解において、
    前記所望のインパルス応答に対応する周波数応答を計算し、
    矩形インパルス応答の数量を指定し、
    前記所望のインパルス応答を候補応答に分解し、前記候補応答は、前記数量の矩形インパルス応答を含み、その各矩形インパルス応答は、正または負いずれかの振幅を持つと共に、合算されたときに、前記所望のインパルス応答を近似化するものである、
    ことを特徴とするデジタルフィルタ。
JP2009540417A 2006-12-04 2007-12-04 乗算器を利用しない有限インパルス応答フィルタを実装する方法および装置 Active JP5108022B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/633,875 2006-12-04
US11/633,875 US7912884B2 (en) 2006-12-04 2006-12-04 Method and apparatus for implementing finite impulse response filters without the use of multipliers
PCT/US2007/086346 WO2008070644A2 (en) 2006-12-04 2007-12-04 Method and apparatus for implementing finite impulse response filters without the use of multipliers

Publications (3)

Publication Number Publication Date
JP2010512124A JP2010512124A (ja) 2010-04-15
JP2010512124A5 JP2010512124A5 (ja) 2010-10-14
JP5108022B2 true JP5108022B2 (ja) 2012-12-26

Family

ID=39477105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009540417A Active JP5108022B2 (ja) 2006-12-04 2007-12-04 乗算器を利用しない有限インパルス応答フィルタを実装する方法および装置

Country Status (5)

Country Link
US (2) US7912884B2 (ja)
EP (1) EP2097759A4 (ja)
JP (1) JP5108022B2 (ja)
CN (1) CN101617235B (ja)
WO (1) WO2008070644A2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL1736748T3 (pl) * 2005-06-21 2012-09-28 Mettler Toledo Gmbh Sposób przetwarzania wyjściowego sygnału przetwornika pomiarowego, jak również urządzenie do pomiaru siły do wykonywania sposobu
SG141355A1 (en) * 2006-09-13 2008-04-28 Asml Masktools Bv A method for performing pattern decomposition based on feature pitch
US7912884B2 (en) 2006-12-04 2011-03-22 Aloka Co., Ltd. Method and apparatus for implementing finite impulse response filters without the use of multipliers
CN102201797B (zh) * 2010-03-23 2013-11-06 卓胜微电子(上海)有限公司 数字滤波器装置
US9431987B2 (en) * 2013-06-04 2016-08-30 Sony Interactive Entertainment America Llc Sound synthesis with fixed partition size convolution of audio signals
US10044386B2 (en) * 2016-04-30 2018-08-07 Analog Devices, Inc. Designing FIR filters with globally minimax-optimal magnitude response
US11129596B2 (en) * 2016-10-06 2021-09-28 General Electric Company Systems and methods for ultrasound multiplexing
US20220206096A1 (en) * 2020-12-25 2022-06-30 Canon Medical Systems Corporation Signal processing apparatus, magnetic resonance imaging apparatus, and signal processing method

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736448A (en) * 1984-03-31 1988-04-05 Kabushiki Kaisha Toshiba Spatial filter
US5623621A (en) * 1990-11-02 1997-04-22 Analog Devices, Inc. Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer
US5212659A (en) * 1991-10-08 1993-05-18 Crystal Semiconductor Low precision finite impulse response filter for digital interpolation
WO1994001933A1 (en) * 1992-07-07 1994-01-20 Lake Dsp Pty. Limited Digital filter having high accuracy and efficiency
JP3242761B2 (ja) * 1993-08-13 2001-12-25 松下電器産業株式会社 バースト波形発生装置
US5873054A (en) * 1995-08-14 1999-02-16 William K. Warburton Method and apparatus for combinatorial logic signal processor in a digitally based high speed x-ray spectrometer
CA2177664C (en) * 1996-05-29 2003-01-28 Andrew G. Deczky Digital receive filter for communications systems
US20050001673A1 (en) * 2002-10-29 2005-01-06 Zvi Regev Direct digital frequency modulation / phase modulation decoder
US7286604B2 (en) * 2003-05-27 2007-10-23 Aquity Llc Carrier interferometry coding and multicarrier processing
JP2005020554A (ja) * 2003-06-27 2005-01-20 Neuro Solution Corp デジタルフィルタ
WO2005109640A1 (en) * 2004-05-12 2005-11-17 Deqx Pty Limited Digital filter design system and method
US20050271120A1 (en) * 2004-06-02 2005-12-08 Lockheed Martin Corporation Detector for time-hopped impulse radio
US7643582B2 (en) * 2004-06-09 2010-01-05 Marvell World Trade Ltd. Method and system for determining symbol boundary timing in a multicarrier data transmission system
US7161515B2 (en) * 2004-11-04 2007-01-09 Tektronix, Inc. Calibration system and method for a linearity corrector using filter products
US7912884B2 (en) 2006-12-04 2011-03-22 Aloka Co., Ltd. Method and apparatus for implementing finite impulse response filters without the use of multipliers

Also Published As

Publication number Publication date
JP2010512124A (ja) 2010-04-15
WO2008070644A2 (en) 2008-06-12
WO2008070644A3 (en) 2008-10-09
US7912884B2 (en) 2011-03-22
EP2097759A2 (en) 2009-09-09
EP2097759A4 (en) 2013-04-03
US20080133625A1 (en) 2008-06-05
US8452828B1 (en) 2013-05-28
CN101617235B (zh) 2013-07-10
CN101617235A (zh) 2009-12-30

Similar Documents

Publication Publication Date Title
JP5108022B2 (ja) 乗算器を利用しない有限インパルス応答フィルタを実装する方法および装置
Sudhashree et al. Analysis of Low Complexity Memory Footprint Reduction for Delay and Area Efficient Realization of 2D FIR Filters
Allred et al. LMS adaptive filters using distributed arithmetic for high throughput
Rosado-Muñoz et al. FPGA implementation of an adaptive filter robust to impulsive noise: two approaches
EP0372350B1 (en) Programmable digital filter
US4947363A (en) Pipelined processor for implementing the least-mean-squares algorithm
US7046723B2 (en) Digital filter and method for performing a multiplication based on a look-up table
Vinitha et al. New approach to low-area, low-latency memory-based systolic architecture for FIR filters
Baghel et al. Low power and less complex implementation of fast block LMS adaptive filter using distributed arithmetic
Das et al. Hardware implementation of parallel FIR filter using modified distributed arithmetic
Mehendale et al. DA-based circuits for inner-product computation
Trinder Hardware-software configuration for high performance digital filtering in real-time
Eshtawie et al. On-line DA-LUT architecture for high-speed high-order digital FIR filters
JPH10322168A (ja) 適応有限インパルス応答フィルタ集積回路
Shanthi et al. HIGH SPEED AND AREA EFFICIENT FPGA IMPLEMENTATION OF FIR FILTER USING DISTRIBUTED ARITHMETIC.
Meher Low-latency hardware-efficient memory-based design for large-order FIR digital filters
JP2001339279A (ja) フィルタ回路
Sreesh et al. Performance analysis of fixed point FIR filter architectures
Iruleswari et al. Design and Implementation of distributed arithmetic technique based FIR filter using lookup table
Chodoker et al. Multiple Constant Multiplication Technique for Configurable Finite Impulse Response Filter Design
WO2007030575A2 (en) Interpolator using splines generated from an integrator stack seeded at input sample points
Sousa Bidirectional systolic arrays for digital recursive filters
Changavi et al. On the performance of the BLMS adaptive filter based on distributed arithmetic
Chen et al. Double-Base Number System and Its Application in FIR Filter Design
Tsunekawa et al. High‐performance VLSI architecture of multiplierless LMS adaptive filters using distributed arithmetic

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120828

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121002

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121004

R150 Certificate of patent or registration of utility model

Ref document number: 5108022

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250