JPH07507411A - 2の累乗である係数を用いるディジタルフィルタ - Google Patents

2の累乗である係数を用いるディジタルフィルタ

Info

Publication number
JPH07507411A
JPH07507411A JP6500746A JP50074693A JPH07507411A JP H07507411 A JPH07507411 A JP H07507411A JP 6500746 A JP6500746 A JP 6500746A JP 50074693 A JP50074693 A JP 50074693A JP H07507411 A JPH07507411 A JP H07507411A
Authority
JP
Japan
Prior art keywords
coefficient
shifter
terms
shifted
value
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.)
Pending
Application number
JP6500746A
Other languages
English (en)
Inventor
リン,クン
Original Assignee
モノリス テクノロジーズ コーポレイション
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 モノリス テクノロジーズ コーポレイション filed Critical モノリス テクノロジーズ コーポレイション
Publication of JPH07507411A publication Critical patent/JPH07507411A/ja
Pending 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
    • H03H17/0223Computation saving measures; Accelerating measures
    • H03H17/0227Measures concerning the coefficients
    • H03H17/023Measures concerning the coefficients reducing the wordlength, the possible values of coefficients

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 2の、で 、 い −ジ ルフ ル 皮五立互 本発明は、一般に2の整数乗の和として表される係数を有する、乗算器を用いな い有限インパルス応答(FIR)フィルタおよび無限インパルス応答(IIR) フィルタに関し、特に本発明は、複雑なハードウェアを単純化し、かつ乗算を行 うのに必要とされるシフト演算の数を低減できるように2の累乗である係数を実 際に用いる方法および装置に関する。
灸皿皇且l ディジタルフィルタ、特にFIRフィルタおよびIIRフィルタは、ディジタル 信号処理を行う際に、またリアルタイムのディジタル音声処理を行う際にますま す頻繁に用いられるようになってきている。これらのフィルタを拡張して利用し た結果、フィルタを設計する際に役立つ強力でしかも成熟した最適化理論を援用 できるようになっている。従来、このようなフィルタを実際に用いたハードウェ アは、遅延ユニット、乗算器、および加算器などの基本的・機能的構成要素を用 いてきた。これらの基本的・機能的構成要素のうち、乗算器をハードウェアの形 で実現したものは、典型的には最も複雑で、計算上も高価なものである。それに 加えて、乗算器は与えられたチップの利用可能な「実際に使用する部分」のかな りの部分を占めるものでもある。さらには、乗算器を用いる二とによって実質的 には伝搬遅延が導入されることになり、それによって処理速度が制限される。
処理速度を早め、かつ構成要素のコストの低減と複雑さの緩和を同時に実現する ために、現在のフィルタ設計技術では、しばしば「乗算器を用いない」技術が用 いられる。この技術によれば、乗算器の代わりに2進数加算器およびシフトレジ スタが用いられ、また、従来の乗算技術に代わって「シフトおよび加算」手法が 用いられている。
乗算器を用いないフィルタリングを利用すれば、入力データを乗算する係数が、 それぞれ29の形式の項の和を包含しなければならないことになる。これは、「 2の累乗の」係数による2進数乗算が被乗数のシフトと等価であるという事実に 由来するものであり、したがって、複雑な乗算も一連の単純なシフト演算および 加算演算を通して実行できることになる。
しかしながら、現在知られている乗算器を用いないディジタルフィルタは、いく つかの点で満足のいくものではない。
例えば、2の累乗の項に表される係数にはしはしば非常に高ツトの入力データ項 を28回シフトするためには、従来のシフトレジスタは少なくともn+28ビツ トを収容できるだけの長さのものでなければならない。このため、18ビツトの 入力データ値については、シフトレジスタは46ビツトを越える長さが必要にな る。ただし、切り捨てが可能な場合には、それよりも短い長さでも十分である。
これらのレジスタをノλ−ドウエアの形で実現することは極めて厄介な場合があ り、より低次の係数の累乗に関しても実質的に伝搬遅延が導入される原因となる 。それに加えて、より高次の複数の項を有する係数に対する総シフト数もまた、 さらに処理速度を遅くしている。例えば、Bhattacharyaらの米国特 許第4.782.458号(1988年11月1日公開)、0venらの米国特 許第4.356.588号(1982年10月22日公開)、および5habら の米国特許第4.862.402号(1989年8月29日公開)を参照のこと 。
乗算器を用いないディジタルフィルタは、シフトレジスタの複雑さを最適化し、 かつ高次の指数項を有する係数を「乗算する」のに必要なシフトの数を最適化で きるように、2の累乗である係数の和を用いたシフトおよび加算のアルゴリズム を活用する必要がある。
免吸立1道 本発明は、2の累乗である係数に関連してシフトおよび加算の機能を有効に実施 するための方法および装置を提供するものである。本発明のある局面によれば、 係数により入力データ項を「乗算する」シフトおよび加算の方法は、最適のビッ ト長を有するシフタを用いて実施される。本発明を実施する手法の特筆すべき利 点としては、シフトおよび加算機能を行うのに必要とされるシフト演算の数が大 幅に低減できる点が挙げられる。
本発明の別の局面によれば、より高次の指数項をより低次の項の等価でネスト( 入れ子)されたグループに低減するために、各係数は代数的に操作される。
本発明の好ましい実施態様によれば、前記代数的操作は、係数の式におけるより 高次の指数項からより低次の指数項を因数分解し、より低次の項を有効にネスト することによって達成される。ネストされたより低次の項は、以前に因数分解さ れたより高次の項と数学的かつ計算上等価のものであるが、また同時に、計算を 実行するのに必要なシフトの総数およびその長さを低減できるものでもある。
K貫夏鬼基ム1j 本発明の好ましい実施態様を添付の図面を参照しながら以下に説明する。以下の 説明において、同じ参照番号は同じ要素を指す。
図1は、先行技術によるディジタルフィルタの一例を模式的に示す回路図である 。
図2は、本発明によるシフトおよび加算アルゴリズムを実施する回路の好ましい 実施態様を模式的に示すブロック図である。
図3は、図2の回路の動作を説明するフローチャートである。
図4は、本発明の好ましい実施態様によるシフタの一例を模式的に示す図である 。
l五立犬1旦崖 図1は、先行技術によるディジタルフィルタ10をハードウェアの中に用いた一 般的な例を示すものであり、その例によれば、典型的には第一の回路12および 第二の回路14が設けられる。第一の回路12は、各遅延ユニット16(a)、 16(b)、l 6 (c) 、、、 l 6 (M −1)、各乗算器18( a)、18(b)、18 (c)、、、18 (M)、および各加算接続点20  (a)、20 (b)、20 (c) 、、、20 (M −1)を備えてい る。同様に第二の回路14は各遅延ユニット22(a)、22(b)、22 ( c) 、、、22 (N−1)、各乗算器24 (a)、24(b)、24 ( C)、、24 (N)、および各加算接続点26(a)、26 (b) 、、、 26 (N)を備えている。 したがって、ディジタルフィルタの一般人力/出 力式は以下のように表される。
ここで、y (n)は出力データを表し、X、は入力(サンプルされた)データ を表し、y、は以前に計算された出力データを表し、かつal、b+は値x1お よび値y、によりそれぞれ乗算された(荷重された)係数を表す。
有限インパルス応答(FIR)フィルタは、i=1からNの場合、a、=0であ ることを特徴とする。FIRに対する出力y (n)は、したがって入力データ X1および係数b+のみの関数である。逆に、無限インパルス応答(IIR)フ ィルタは、以前の出力データの形式でフィードバックを用い、i=1からNで1 以上の場合、a、≠0であることを特徴とする。
フィルタ10の各演界サイクル中、サンプルされた入力データx (n)は、入 力接続点28から第一の回路12の中に入り、乗算器18(a)および遅延ユニ ット16(a)にロードされる。乗算器18(a)は、係数す、によりデータ点 X(n)を乗算する。係数boは、乗算器18(a)の中に常駐するか、または 係数ROM(図示されず)から引き出され、積rbox (n)Jが加算接続点 20 (a)に与えられる。連続的に演算サイクルのそれぞれが行われる間、次 のデータワードx (n)は、乗算器18(a)および遅延ユニット16(a) の中にロードされ、以前のサイクルからのデータX(n−1)は、遅延ユニット 16(a)から遅延ユニット16(b)へとロードされ、かつ同時に乗算器18 (b)に与えられる。各演算サイクル中、各乗算器18(a)から18(M)に 現在常駐している入力データ点は、それぞれの乗算器に関連する対応係数bo  b−こより乗算される。前記乗算の積は、各加算ユニット20(a)から20( M−1)において順次加算され、その結果、以下に示す加算値y’ (n)が各 サイクル毎に加算ユニット20(a)から出力される。
の値の荷重された平均値を表す。
次に、項y’ (n)は入力接続点30から第二の回路14に与えられる。もし 、すべての係数−alから−asがOのとき、このフィルタはFIRフィルタで あることを示しており、y′(n)は第二の回路14を通過し、出力y (n) としてそこから出力される。また一方で、もし、一つ以上の係数−a+から−a NがOでない場合、フィルタ10がIIRフィルタであることを示しており、出 力y (n)として現れる前に(実際問題として、専用のFIRフィルタでは第 二の回路14を単純に省くことができる)、y’ (n)は第二の回路14にお いてさらに処理される。
より詳細には、第二の回路14は第一の回路12と類似した機能を果たす。「入 力」データy’(n)は、y (n)のN以前からの荷重された値と共に加算ユ ニット26 (a)において順次加算される。ここで言う「荷重」は、乗算器2 4 (a)から24(N)にそれぞれ関連する各係数−a+から−a++により 実行される。
本発明で用いられる技術は、IIRフィルタにもFIRフィルタにも同じように 適用することができる。しかしながら、説明を簡略化し、計算上の複雑さを緩和 するために、以下の好ましい実施態様はFIRフィルタに関して述べることにす る。
式(1)においてa+=0(i=0からN)の場合、有限インパルス応答(FI R)フィルタに関する一般式は以下のよここで、rxJはサンプルされた入力デ ータワードであり、それぞれのrbJは、各rxJを順次「荷重」する唯一の係 数を表す。
上述したように、従来のハードウェアの乗算器を用いずに、入力データ「xJの 値により係数rbJの値を乗算する務めを果たすのが望ましい場合が多い。この ことは、本発明に関しては、「シフトおよび加算」のアルゴリズムを実践できる ように構成されたシフタおよび加算器を用いることにより達成される。
シフトおよび加算の技術を用いれば、以下の式に示すように、各係数を2の累乗 の和として表すことが必要になる。
ここで、f=−1,0または+1であり、各指数rpJは整数である。
1つの2の累乗項を有する仮の係数rbJについては、データ人力rxJを表す 2進数ワードはrpJ回シフトされる(「P」はその係数が含んでいる項の指数 の整数である)。
rPJ回シフトされた結果として得られるrxJのシフトされた値は、rxJと rbJの積と等価である。2のL乗の和を有する係数rbJについては、2進数 入カワードrxJは、L回の前記シフト演算を受ける。ここで、Lは係数式を有 する項の数に等しい。結果として生ずるシフトされた値のそれぞれは、このよう に加算され、rxJとrbJの積を形成する。
従来の乗算器の代わりに2進数加算器およびシフトレジスタを用いて、前記シフ トおよび加算手法を実行するディジタルフィルタは、「乗算器を用いない」フィ ルタとして知られている。乗算器を用いないフィルタは、式(4)に述べた形式 の係数を用いる。本発明のある局面によれば、f=oとなるようなすべての項を 除外することにより、特定の係数rbJに関して式(4)を単純化することがで きる。その結果式(4)は、L項の和を有する唯一の係数す、に対応する式とな り、式中各項はf2−’の形式となる。ここで、rpJは整数であり、かつ、f =−1または+1である。
本発明のネスト技術によれば、式(4)は以下の関係式に基づいて代数的に操作 される。
(S″ン したがって、整数指数は、以下の式に応じて2の累乗の差として再び符号化され る。
(埒(1シ手L5] −pi = =pl −p2 = −[pl + 911 −1)3 = −[p2 + 92] = −[pl + ql + q2] −pL = −[p(L−1) + q(L−1) )” [pl +C1l”  C1z+・・・(1(L−1)]したがって、式(4)は次のように書き換え ることができる。
ここで、i=2がらLの場合、gi=+1または−lである。
以下の表は、ある整数値rpJに対するさまざまな2の累乗値の例を示すもので ある。
表1 19 2” 115242B8 .000001928 2−281/2680 00000 .00000000372本発明のネスト技術の例証として係数す が例えば、 0078716の場合を考える。2の累乗の面から特定の係数を表 す場合には、表1からいくつかの値を組み合わせて選び出し、そのさまざまな項 (および恐らくはその倍数も)を加算・減算することが必要であり、同様にその 係数について2の累乗式の適切な和に到達することも必要である。したがって、 任意のどのような係数、例えば、係数b = 、 0078716についても以 下のように表すことができる。
(C72 先行技術に関して言えば、データ入力値rxJの係数rbJによる乗算(式(7 )に表す)は、従来のシフトレジスタを用いて、式(7)の三つの項のそれぞれ によりデータ入力値rxJを順次シフトし加算する過程を包含する。より詳細に はこのシフトおよび加算演算は以下の過程を必然的に伴う。
(a)rxJを7回シフトする、(b)rxJを14回シフトする、(C)rx Jを19回シフトし、その結果から2の補数を取る(2−”の減算を容易にする ため)、および(d)以上3つのシフト演算の結果を加算し、rbJとrxJの 積の値に達する。rxJがjビットのデータワードである場合には、このため、 長さが少なくとも19+jのフリップフロップのレジスタが必要になり、また、 合計19+14+7=40回のシフト演算が必要になる。ただし、最下位ビット が切り捨てられる場合には、もっと小さいレジスタを用いることもできる。
本発明のネスト技術によれば、係数rbJの2の累乗の和を表す式(式(7)) は、式(6)に述べた関係に応じて操作することができ、例えば以下に示すよう な式で表すことがrxJが再びjビットのデータワードである場合には、rbJ とrxJの積をめるには、長さがわずかに7±jフリツプ/フロツプのレジスタ および合計がわずかに7+7+5=19回のシフト演算が必要とされるのみであ る。これは、式(7)の形式で表される同じ係数を「乗算コするのに必要なもの を実質的に下回るものである。
前記ネスト手法と併せてシフトおよび加算アルゴリズムを実施する装置および方 法の好ましい実施態様は、図2および図3に述べている。より詳細には、例示し た[乗算器を用いない乗算器」回路200は、適切には制御装置201、マルチ プレクサ(MLIX)202、シフタ204、係数ROM206、補数器208 、ラッチ210、加算器(adder)212、遅延回路221、およびアキュ ムレータ(ACC)216を備えている。
制御装置201は、この制御装置に常駐する命令に応じ所定の方法で回路200 を備えたさまざまな構成要素とともに作用し、制御する。制御装置201は、回 路200の所望の動作を実行できるように適切に調整された従来のマイクロプロ セッサを備えることができる。より詳細には、一連の命令(プログラム)は好ま しくは制御装置201の中に常駐し、これらの命令は順次実行されて、それによ って回路200を備えているさまざまな機能的構成要素の相互関係が制御される 。この点で、制御装置201は好ましくは、明瞭さを高めるために図2には示し ていない適切な電気的に導電性の経路をたどって回路200のさまざまな構成要 素と共に作用する。
シフタ204は、入力データワードのシフティングを実行するどのような適切な メカニズムも備えることができる。例えば、シフタ204は、回路200の動作 の各クロックサイクル中に入力データワードを1ケタシフトできるように構成さ れている。あるいは、シフタ204は単一のクロックパルス中に入力データワー ドを所定の数のケタをシフトできるように構成されたバレルシフタを備えること ができる。シフタ204については、図4を参照して以下により詳細に説明する 。
引き続き図2および図3を参照すると、シフトおよび加算の各サイクルを開始す る前に、アキュムレータ216の値がゼロに設定され(ACC=O)、係数ポイ ンタrpJの値が1に設定される(図3、ステップ302)。データワードrx Jが回路200に与えられると(ステップ304)、MUX202がDATA− INモードに設定されてrxJをシフタ204にロードする(ステップ306) 。2進数ワード(つまり、入力データおよび係数)をシフタ204にロードする ために、いずれかの適切な構成が用いられ得る。例えば、当業者であれば、デー タがビット単位でシフタへ順次クロックされ得ること、或いは、データが並列入 力インターフェースを介して単一クロックパルス中にシフタ204にロードされ 得ることを認めるであろう。
次に、第一の係数項は係数ROM206からシフタ204ヘロードされる(ステ ップ308)。式(4)および(6)のrlの値に対応する係数の符号も同様に 、係数ROM206から補数器208ヘロードされる(ステップ310)。係数 の符号は、後述するように、データワードrxJによって「乗算された」直後に 、対応する項をアキュムレータ216の現在の値に加算するか、或いはそれから 減算するかを決定する。
次に、rxJO値は、p番目の係数項の指数の整数値によって制御される適当な 数のケタだけシフトされる(ステップ312)。シフトされたデータワードの値 はその後ラッチ21Oに5HIFTERL(シフターし)として格納される(ス テップ314)。ACCおよび5HIFTERLの値はその後加算器212ヘロ ードされる(ステ・ンプ316)。
加算器212は5HIFTERLの値をACCの現在の値に加算して、その和を アキュムレータ216に格納する(ステップ318)。
次に、係数「b」からなる「L」個の全ての項が考慮されたかどうかを判定する (ステップ320)。L個の全ての項が考慮されたかどうかを判定するために、 いずれかの適切な機構が用いられ得る。例えば、カウンタ、比較器、計算処理ユ ニット、または同様の構成要素が、特定の係数に関連する考慮された項の数の情 報を得るために用いられ得る。或いは、制御装置201に常駐の命令プログラム を、ROM216に格納された各係数からなる各項を具体的に考慮するように構 築することによって、係数ポインタrpJの必要性を解消することができる。こ の後者の構成は、本発明が集積回路において具体化されている場合に特に適当で ある。特定の係数の全ての項が考慮されていないならば、次の係数項が、例えば rpJの値を1だけ増加することによって検索される(ステップ324)。
MUX 202は次に、5HIFTERLの値(ラッチ210に格納されている )をシフタ204にロードすることができるようにSHI FTモードに設定さ れる(ステップ326)。第二の係数項(P=2に対応)は次に、係数ROM2 06からシフタ204にロードされて(ステップ308)、前にシフトされ格納 されたrxJの値(rSHI FTER−LJ)が第二の係数項からなる2の累 乗の整数値に応じて再びシフトされる(ステップ312)。その結果がラッチ2 10に格納される。つまり、5HIFTERLの以前の内容は消去され、新しい 値に置き換えられる。SHI FTER−りの内容は次に、アキュムレータ21 6の内容として加算器212にロードされる。加算器212はこれら2つの値の 和を算出して、ACCとして新しい和の値をアキュムレータ216に再度格納す る。
本発明の他の局面によれば、符号ビットは係数ROM206内の係数項の2進数 の値の前にあるという利点を有している。このように、係数項とシフタ204の 内容との積は、加算器212によって実行される和算比の間に、ACCの値に適 当に加算されるか、或いはそれから減算され得る。具体的には、係数式の特定の 項の前に「プラス」符号が付いている場合には、符号ビット「1」が2進数ワー ドの上位にあり、項の付加部がACCの現在の値に加算されるべきであることを 示しているので、補数器208の機能が事実上迂回される。
一方、特定の項の前に「マイナス」符号が付されている場合には、項の付加部が ACCから減算されるべきであることを示しているので、この項の補数が補数器 208によって算出されて、符号ビットが補数をめられた項に遅延ユニット22 1を介して加えられる。当業者であれば、項の「2の補数」の加算がその項の減 算とは同等であることを認識するであろう。
上記プロセスは係数式のL個の全ての項が考慮されるまで繰り返される。係数式 を構成する全ての項が考慮されると、つまり、終了したシフト演算の数(rLJ  )が係数式の項の数と等しくなると(ステップ32o)、シフトおよび加算演 算は終了してアキュムレータ216に存在する値(ACC)が、rxJ入カデカ データ数rbJ倍した乗算の結果と等しくなる(ステップ322)。次に、係数 カウンタの値「p」は1にリセットされ、アキュムレータ216の値ACCはゼ ロにリセットされ、次のデータ入力値rxJが検索されて図3に示されるプロセ スが繰り返される。
式(7)は、L=3の場合のL個の項の和として表された係数rbJを示す。従 って、式(7)および(8)の例において、前述のプロセスはrxJとrbJの 積をめるために当初のデータ入力ワードrxJを所定回数だけ順次シフトし、そ れぞれシフトされた値を加算することを含む。さらに具体的には、最初のサイク ルでは、第一の係数項2−7を表す2進数ワード111がシフタ204に与えら れて、rxJの値が7ケタだけ左にシフトされる。(当業者であれば、シフタ2 04が従来のシフトレジスタである場合に例えばカウンタなどの適当なインター フェース装置が係数ROM206とシフタ204との間に配置され得ることを認 識するであろう。)次に、シフトされたワードはラッチ210でラッチされ加算 器212へ送られてACCの現在の値と加算される。ラッチ210の内容は同様 にシフタ204に再度ロードされて(MUXを介して)、係数rbJの第二の項 の値に応じて再度シフトされる。
さらに具体的には、前にシフトされて現在シフタ204内に存在するデータワー ドは次に、さらに7ケタだけシフトされ(式(7)の第二の項、っまり2−7に 対応する)、ラッチ210にラッチされ、その後、ACCの現在の値に加算され る。ラッチ210の内容は次にシフタ204へ「再循環」される。最後の係数項 (2−8、式(8)を参照)が係数ROM206から検索されてシフタ204に ロードされ、シフタ204の現在の値がさらに5回シフトされる。得られた値は 補数器208において補数をめられ、加算器212ヘロードされ、ACCの現在 の値に加算されて、rxJのrbJ倍の最終的な結果を得る(本実施例(式(7 )および(8))の第三の項は「マイナス」符号が前に付いていることに注意す ること)。
本発明のさらに他の局面によれば、係数ROM206はそれぞれが所望数の項を 有する所望数の係数を格納するように構成され得る。例えば、乗算器回路200 がrnJタップフィルタとして機能するように用いられる場合には、それぞれ複 数の項を有するrnJ個の係数が係数ROM206に格納される。しかしながら 、当業者であれば、対称なrnJタップフィルタがn / 2個の係数を必要と することを認識するであろう。
上述したように、シフタ204は入力データワードを所望のケタ数だけシフトさ せることが可能ないずれがの従来のシフタを適切に包含する。例えば、シフタ2 04は、係数ROM206から受け取る係数項に応じて左シフトまたは右シフト モードで入力データワードを順次シフトするように配置された所定数のフリップ フロップを有する従来のシフトレジスタを包含することができる。本発明の一局 面によれば、シフタ204を包含するシフトレジスタの長さくつまりビット数) は、特に、シフトされたデータワードにおける所定の所望レベルの精度の関数で ある。すなわち、シフタ204は、nビットデータワードを例えばjケタ(言い 換えればn+jビットのトータルレジスタビット長)すべてシフトすることがで きるほどの長さである必要はない。それよりもむしろ、シフタは、基準に合った 数の最上位ビットを保持しながら、入力データワードを必要なケタ数だけシフト することができるビット長を有していればよい。このようにして、シフトされた データワードがシフタのビット長を越えるビット数が切り捨てられる。当業者で あれば、所定数の最下位ビットが切り捨てられてもシフトされたデータの許容可 能なレベル精度が得られることを認識するであろう。
本発明の他の実施例によってシフタ204が入力データワードをシフトする方法 を以下に説明する。
図4を参照すると、他の好ましい実施例のシフタ204は、デコーダ(DECO DER) 408に連結されたバレルシフタ400を有することが好ましい。図 示される実施例において、デコーダ408はnから2″へのデコーダを有してお り、ここでnは係数ROM206のいずれかの項の最大指数の絶対値を表すため に必要なビットの数に等しい。例えばn=3である場合、係数項の最大値は2− 7である(数字の7は2進数表現では111として表現される)。
デコーダ408は、各入力ライン5HFoS 5HF1.5HF2、および各出 力ラインZON−27Nをさらに備えている。バレルシフタ400は並行データ 入力インターフェースD IN、並行データ出力インター7工 XD OUT、 出力ラインZON−27Nにそれぞれ電気的に接続された21行のトランジスタ 、および出力インターフェースD OUTの唯一の位置に各トランジスタを接続 させる複数の斜め方向伝導体401を備えることが好ましい。
係数ROM206から取り出されてシフタ204にロードされた特定の係数項に 対して、係数の指数の2進数表現が各入力ライン5HFO1SHF 1および5 HF2に与えられる。
特定の係数項の指数の2進数で表された値に応じて、各出力ラインZON−27 Nのうち1つがオンされる。
特に、デコーダ408は入力ラインに与えられる2進数に対応する出力ラインZ ON−27Nの1つのみをアクティブにする。例えば、係数項2−7に対応する 2進数111(7に等しい)が入力ライン5HFO−SHF2に与えられると、 出力ライン27Nがハイ(High)になり、他の出力ラインZON−Z6Nは O(Low)のままである。データインターフェースD INでバレルシフタ4 00に与えられるデータワードはこのように第一のトランジスタ行(出力ライン 27Nに対応)にロードされる。次のクロックパルスでは、データワードは7ケ タだけ実際にシフトされて、データワードは各斜め方向伝導体401に沿って出 方インターフェースD OUTへ送られる。このようにシフトされた値はデータ 出力インターフェースD OUTに現れる。同様に、係数項2−2に対応する2 進数ワード010(2に等しい)がデコーダ4080入カライン5HFO−3H F2に与えられると、出力う、イン22Nがハイ論理状態となると考えられ、残 りの出力ラインはローのままである。バレルシフタ400に与えられるデータ入 力ワードはこのように2ケタだけシフトされて、このようにシフトされたデータ ワードはD OUTに現れる。
本発明の更に他の局面によれば、ある特定の係数表現の削減(ネスティング)は 「ダミー」の2の累乗の挿入を介してさらに向上され得る。例えば、以下の係数 を考える。
b =2−7 2−fi+ +2−11上述したネスト構造が直接用いられるな らば、前述の式は以下のように縮小することができる。
b=2−’[1−2−”(1−2−’)]このネスト化演算がシフタ領域を約5 0%減少させ、係数ROMを約15%だけ減少させるが、一方、ダミーの2の累 乗を以下のように挿入することによってさらに減少させることができる。
b == 2−7+ 2−14−2−14 2−2′+ 2−2m=2−M1+ 2−’[1−1−2−’(1+24)])従って、全てのシフト動作において実 行されるべきシフトの最大数が14から7に削減される。前述の縮小構造は低次 項の整数倍である指数を有する2の累乗の和に特によく適合する。
本発明は好ましい実施例を用いて説明されたが、当業者であれば、開示されるア ルゴリズム並びに上述した構造を実施するための構成要素の選択および配置に対 して各種修正が行われ得ることを認識するであろう。例えば、係数ROM206 、シフタ204および補数器208は同等の一連の加算用モジュールによって置 き換えることができる。これらの加算用モジュールのそれぞれは係数ROM20 6に格納される係数項に対応するハードワイヤ(hard wired)の2進 数ワードを有している。さらに、シフタ204の代わりに複数のシフタを用いて 、特定の係数を有する様々な項の同時計算を行うことができる。本明細書および 図面に説明されるハードウェアおよびソフトウェアへの上述およびその他の改変 例は添付の特許請求の範囲に記載される発明の精神から離れることな〈実施可能 である。
補正書の写しく翻訳文)提出書く特許法第184条の8)平成6年11月288

Claims (8)

    【特許請求の範囲】
  1. 1.データワードxと2進数係数bとの積の印(indicia)を発生させる 装置であって、該係数bは、それぞれがf2−pの形であるL個の項の和として 表されることが可能であり、ここでf=+1、−1、またはo、およびpは正の 整数であり、該装置は、 該係数bの印を格納するように構成された係数メモリと、シフタであって、該シ フタにデータをロードするためのシフタ入力手段を有しており、該項のうち1つ に従って該シフタの内容を選択的にシフトさせるように該係数メモリと機能的に 関連しているシフタと、 該シフタから出力されるデータを該シフタ入力手段へ与えろように配置されたフ ィードバックリンクと、該シフタとは機能的に関連する加算手段であって、該シ フタから出力されるL個のデータ値を順番に加算して、該データワードxと該係 数bとの該積の該印を発生させる加算手段と、 を備えている装置。
  2. 2.加算器であって、該加算器にデータをロードするための第一および第二の各 加算器入力手段を有しており、該第一の加算器入力手段は該シフタ出力手段に機 能的に連結されている加算器と、 アキュムレータであって、該加算器とは協同して該加算器からの出力を選択的に 受け取り、該アキュムレータの内容を該第二の入力加算器手段に与えるアキュム レータと、をさらに備えている請求項1に記載の装置。
  3. 3.前記係数bがb=f12−p(1)+f22−p(2)...fL2−p( L)として表されることが可能であり、 該係数bの前記印がそれぞれの整数値p(1)、f(1)・・q(L−1)を有 しており、 P(1)=P(1) p(2)=p(1)+f(1) p(L)=p(1)十q(1)・・・十f(L−1)である、請求項1に記載の 装置。
  4. 4.2進数データワードxのシフトおよび加算演算を、それぞれがf2−pの形 である項の和として表され得る2進数係数bに従って行う方法であって、ここで f=+1またはo、およびpは整数であり、該方法は、 該データワードxをシフタにロードするステップと、第一のシフトされた値を生 成するために該係数bを含む該項のうち最初の項に従って該データワードxをシ フトさせるステップと、該第一のシフトされた値を該シフタに送り返すステップ と、 該係数bを含む該項のうち第二の項に従って該第一のシフトされた値をシフトさ せるステップと、該シフタから出力される複数の値を加算するステップであって 、これによりデータワードxと係数bとの積の印を発生させるステップと、 を包含する方法。
  5. 5.前記項のうち第二の項に従って前記第一のシフトされた値をシフトさせる前 記ステップが第二のシフトされた値を発生させるステップを包含しており、前記 方法は、前記シフタに該第二のシフトされた値を導くステップと、第三のシフト された値を発生させるために該項のうち第三の項に従って該第二のシフトされた 値をシフトさせるステップと、をさらに包含しており、 前記加算するステップが、 第一の和を発生させるために加算器において該第一のシフトされた値を該第二の シフトされた値に加算し、該第一の和をアキュムレータに格納するステップと、 該アキュムレータから該第一の和を取り出し、該第一の和および該第三のシフト された値を該加算器に与えるステップと、 該第一の和および該第三のシフトされた値を加算するステップとを包含する、 請求項4に記載の方法。
  6. 6.前記係数bがf2−pの形であるL個の項の和として表されることが可能で あり、 前記シフタの内容が該項のそれぞれの項に従ってL回だけ置き換えおよびシフト され、 該シフタの出力が該シフタに(L−1)回だけロードされ、前記加算するステッ プが該シフタから出力されるL個の値を加算することを包含する、 請求項4に記載の方法。
  7. 7.前記係数がb=f12−p(1)+f22−p(2)...fL2−p(L )として表されることが可能であり、 該係数bの前記印が、それぞれの整数値p(1)、f(1).q(L−1)を有 しており、 p(1)=p(1) p(2)=p(1)+f(1) p(L)=p(1)十q(1)...十f(L−1)であり、 前記データワードxをシフトさせる前記ステップがp(1)に従って該データワ ードxをシフトさせることを包含し、前記第一のシフトされた値をシフトさせる 前記ステップがq(1)に従って該第一のシフトされた値をシフトさせることを 包含する、 請求項4に記載の方法。
  8. 8.データワードxと係数bとの積の印を発生させる方法であって、該係数bは b=f12=−p(1)+f12−p(2)...fL2−p(L)いの形のL 個の項の和として表されることが可能であり、ここでfL=+1、−1、または 0およびp(i)はi=1からしでは整数であり、該方法は、 該シフタに該データワードxをロードするステップと、その後、該項のうち該( L−1)個のそれぞれに対して、該項のそれぞれ1つに従って該シフタの内容を シフトさせるステップと、該シフタからシフトされた値を出力するステップと、 該シフタに該シフトされた値をロードするステップと、該積の該印を形成するた めに該シフトされた値を加算するステップと を包含する方法。
JP6500746A 1992-05-26 1993-05-26 2の累乗である係数を用いるディジタルフィルタ Pending JPH07507411A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/889,134 US5287299A (en) 1992-05-26 1992-05-26 Method and apparatus for implementing a digital filter employing coefficients expressed as sums of 2 to an integer power
US889,134 1992-05-26
PCT/US1993/005006 WO1993024879A1 (en) 1992-05-26 1993-05-26 Digital filter employing powers of 2 coefficients

Publications (1)

Publication Number Publication Date
JPH07507411A true JPH07507411A (ja) 1995-08-10

Family

ID=25394560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6500746A Pending JPH07507411A (ja) 1992-05-26 1993-05-26 2の累乗である係数を用いるディジタルフィルタ

Country Status (4)

Country Link
US (1) US5287299A (ja)
JP (1) JPH07507411A (ja)
TW (1) TW227634B (ja)
WO (1) WO1993024879A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612229A (ja) * 1992-06-10 1994-01-21 Nec Corp 乗累算回路
JP2541128B2 (ja) * 1993-11-16 1996-10-09 日本電気株式会社 マルチキャリアロ―ルオフフィルタ
US5461582A (en) * 1994-03-16 1995-10-24 Industrial Technology Research Institute Filter for 2B1Q signals
US5598158A (en) * 1994-11-02 1997-01-28 Advanced Micro Devices, Inc. Digital noise shaper circuit
US6885652B1 (en) * 1995-06-30 2005-04-26 Interdigital Technology Corporation Code division multiple access (CDMA) communication system
US6697350B2 (en) 1995-06-30 2004-02-24 Interdigital Technology Corporation Adaptive vector correlator for spread-spectrum communications
US7123600B2 (en) * 1995-06-30 2006-10-17 Interdigital Technology Corporation Initial power control for spread-spectrum communications
US6487190B1 (en) 1996-06-27 2002-11-26 Interdigital Technology Corporation Efficient multichannel filtering for CDMA modems
ZA965340B (en) * 1995-06-30 1997-01-27 Interdigital Tech Corp Code division multiple access (cdma) communication system
US7929498B2 (en) * 1995-06-30 2011-04-19 Interdigital Technology Corporation Adaptive forward power control and adaptive reverse power control for spread-spectrum communications
US6816473B2 (en) 1995-06-30 2004-11-09 Interdigital Technology Corporation Method for adaptive forward power control for spread-spectrum communications
US6788662B2 (en) 1995-06-30 2004-09-07 Interdigital Technology Corporation Method for adaptive reverse power control for spread-spectrum communications
US6940840B2 (en) 1995-06-30 2005-09-06 Interdigital Technology Corporation Apparatus for adaptive reverse power control for spread-spectrum communications
US7072380B2 (en) * 1995-06-30 2006-07-04 Interdigital Technology Corporation Apparatus for initial power control for spread-spectrum communications
US7020111B2 (en) * 1996-06-27 2006-03-28 Interdigital Technology Corporation System for using rapid acquisition spreading codes for spread-spectrum communications
JPH0962653A (ja) * 1995-08-29 1997-03-07 Mitsubishi Electric Corp 積和演算装置、積和演算器集積回路装置及び累積加算器
WO1997009780A1 (en) * 1995-09-07 1997-03-13 Philips Electronics N.V. Improved digital filter
JPH09116387A (ja) * 1995-10-13 1997-05-02 Ricoh Co Ltd デジタルフィルタ
KR0181999B1 (ko) * 1995-12-06 1999-05-01 김광호 동화상 복호화장치에 있어서 수평필터
US5740344A (en) * 1996-02-08 1998-04-14 Itri-Industrial Technology Research Institute Texture filter apparatus for computer graphics system
CA2177664C (en) * 1996-05-29 2003-01-28 Andrew G. Deczky Digital receive filter for communications systems
JP3090043B2 (ja) * 1996-06-03 2000-09-18 日本電気株式会社 ディジタル補間フィルタ回路
US5784011A (en) * 1996-06-14 1998-07-21 Lsi Logic Corporation Multiplier circuit for performing inverse quantization arithmetic
US5805477A (en) * 1996-09-26 1998-09-08 Hewlett-Packard Company Arithmetic cell for field programmable devices
US20020051434A1 (en) * 1997-10-23 2002-05-02 Ozluturk Fatih M. Method for using rapid acquisition spreading codes for spread-spectrum communications
US20040136986A1 (en) * 1997-10-31 2004-07-15 Genentech, Inc. Methods and compositions comprising glycoprotein glycoforms
US6487260B1 (en) * 1999-04-05 2002-11-26 Motorola, Inc. Method and apparatus for efficient correlation detection
JP2000333171A (ja) * 1999-05-12 2000-11-30 Neucore Technol Inc 画像処理装置
US6714956B1 (en) * 2000-07-24 2004-03-30 Via Technologies, Inc. Hardware accelerator for normal least-mean-square algorithm-based coefficient adaptation
US6542028B1 (en) * 2000-07-27 2003-04-01 2Wire, Inc. System and method for efficient demodulation and filtering of a received signal
US6993546B2 (en) * 2000-12-21 2006-01-31 Texas Instruments Incorporated Quantized nonlinear scaler
US7371041B2 (en) * 2001-08-30 2008-05-13 Seagate Technology Llc Assembly station with rotatable turret which forms and unloads a completed stack of articles
US7277479B2 (en) * 2003-03-02 2007-10-02 Mediatek Inc. Reconfigurable fir filter
US7395291B2 (en) * 2004-02-24 2008-07-01 The University Of Hong Kong Multiplierless correlators for HIPERLAN/2 and IEEE 802.11A wireless local area networks
US7129753B2 (en) * 2004-05-26 2006-10-31 Infineon Technologies Ag Chip to chip interface
JP4293225B2 (ja) 2006-10-31 2009-07-08 セイコーエプソン株式会社 画像処理回路
US20090083507A1 (en) * 2007-09-24 2009-03-26 Moore Charles H Shift-add mechanism
CN104218918A (zh) * 2013-05-30 2014-12-17 无锡华润矽科微电子有限公司 实现asic音频处理功能的直流滤波电路
US10372416B2 (en) 2017-04-28 2019-08-06 Intel Corporation Multiply-accumulate “0” data gating

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4356558A (en) * 1979-12-20 1982-10-26 Martin Marietta Corporation Optimum second order digital filter
FR2557746B1 (fr) * 1983-12-30 1986-04-11 Thomson Csf Filtre numerique a bande passante et phase variables
US4679164A (en) * 1984-12-17 1987-07-07 The United States Of America As Represented By The Secretary Of The Army Digital high speed programmable convolver
US4862402A (en) * 1986-07-24 1989-08-29 North American Philips Corporation Fast multiplierless architecture for general purpose VLSI FIR digital filters with minimized hardware
US4782458A (en) * 1986-12-18 1988-11-01 North American Philips Corporation Architecture for power of two coefficient FIR filter
FR2626691B1 (fr) * 1988-02-02 1990-05-25 France Etat Multiplieur numerique generalise et filtre numerique mettant en oeuvre ce multiplieur

Also Published As

Publication number Publication date
US5287299A (en) 1994-02-15
TW227634B (ja) 1994-08-01
WO1993024879A1 (en) 1993-12-09

Similar Documents

Publication Publication Date Title
JPH07507411A (ja) 2の累乗である係数を用いるディジタルフィルタ
US5255216A (en) Reduced hardware look up table multiplier
US3988606A (en) Digital filter device for processing binary-coded signal samples
KR100302093B1 (ko) 교차형디지탈유한임펄스응답필터에서이진입력신호를탭계수와승산시키는방법및회로배열과교차형디지탈필터의설계방법
US4947363A (en) Pipelined processor for implementing the least-mean-squares algorithm
US4346451A (en) Dual moduli exponent transform type high speed multiplication system
Premkumar A formal framework for conversion from binary to residue numbers
JPH082014B2 (ja) 多段デジタル・フィルタ
JPH0377418A (ja) ディジタルフィルタ
JP3660075B2 (ja) 除算装置
US5912904A (en) Method for the production of an error correction parameter associated with the implementation of modular operations according to the Montgomery method
JPH0831776B2 (ja) デジタルフイルタ
US6230178B1 (en) Method for the production of an error correction parameter associated with the implementation of a modular operation according to the Montgomery method
JP2737933B2 (ja) 除算装置
Mandelbaum A method for calculation of the square root using combinatorial logic
KR100235537B1 (ko) 디지털 필터의 가변탭 구조 및 그의 곱셈회로
JPS59194242A (ja) ディジタル乗算累積加算装置
Sahoo et al. A high speed FIR filter architecture based on novel higher radix algorithm
Priyadharshini et al. Retracted: Implementation of Distributed Arithmetic based Sum-of-Products
Cardarilli et al. RNS implementation of high performance filters for satellite demultiplexing
Nair et al. Optimized FIR filter using distributed parallel architectures for audio application
Haynal et al. Arithmetic structures for inner-product and other computations based on a latency-free bit-serial multiplier design
JP2953918B2 (ja) 演算装置
Golconda et al. Comparrative analysis of Multiplier and Multiplierless methods used to implement FIR Filter on FPGA
Sagar et al. A High Speed FIR Filter Architecture Based on Higher Radix Algorithm