JP4704646B2 - 正準符号桁数字係数表現を用いる再構成可能な有限応答フィルタ - Google Patents
正準符号桁数字係数表現を用いる再構成可能な有限応答フィルタ Download PDFInfo
- Publication number
- JP4704646B2 JP4704646B2 JP2001543855A JP2001543855A JP4704646B2 JP 4704646 B2 JP4704646 B2 JP 4704646B2 JP 2001543855 A JP2001543855 A JP 2001543855A JP 2001543855 A JP2001543855 A JP 2001543855A JP 4704646 B2 JP4704646 B2 JP 4704646B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- data
- filter
- coefficient
- data tap
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0294—Variable filters; Programmable filters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0223—Computation saving measures; Accelerating measures
- H03H17/0225—Measures concerning the multipliers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/06—Non-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)
- Filters That Use Time-Delay Elements (AREA)
Description
発明の背景
本発明は、一般的には、デジタルフィルタ、より詳細には、異なるセットの正準符号桁数字係数に対して再構成可能な有限インパルス応答フィルタに関する。
【0002】
有限インパルス応答(以下、FIRとも云う)フィルタを実現するための一つの技法に正準符号桁数字(canonical sign digit、以下、CSDとも云う)表現がある。この技法は、デジタルフィルタリング動作を遂行するために要求される最も大きくかつ最も高価な要素である乗算器の必要性が排除できるために、FIRフィルタのハードウエア実現にはかなり有利である。代わりに、CSD表現では全てのフィルタ係数内の非零のビットの総数をフィルタ性能を許容できるレベルに維持しながら最小化することが許される。
【0003】
CSD表現のフィルタ内の各タップに対して、データタップ値が、そのタップに対する係数内の各非零のビットの位置に対応する数のビット位置だけシフトされる。結果としてのシフトされたデータタップ値が次に加算される。これがフィルタ内の各係数に対して行なわれる。このやり方のでは、従来のFIRフィルタを実現するやり方と比較して、より大きな加算器(つまり、より多くのデータ入力を持つ加算器)が必要となる。ただし、このやり方は、それでも、乗算器を用いる必要がないために望ましい。乗算器のハードウエア費用が非常に高いために、CSD実現は、非常に長いデジタルフィルタに対しては、とりわけ魅力的である。このような非常に長いデジタルフィルタは、しばしば、例えば、通信システムにおいて、特に、デジタルデータ信号の復調のために必要とされる。
【0004】
CSDフィルタにおいては、各係数(の処理)は、関連するデータタップ値を係数のビット位置だけシフトし、これらを加算することで実現される。データタップ値のシフティングは、通常はデータバスのハードワイヤド機能(hard-wired function)であるために、CSDフィルタは、もっぱら特定のセットの係数に対して設計され、このため、異なる係数に対して再構成あるいはプログラムすることはできない。これとは対象的に、従来のFIRフィルタでは、単に各係数にデータタップ値が乗じられる。このようなFIRフィルタは、各データタップ乗算器の係数入力の所にプログラマブルレジスタを設けた場合は、容易に再構成が可能であり、このため、個々の係数を任意の所望の値に、単にその値をレジスタ内にプログラミングすることで再構成することができる。
【0005】
発明の概要
本発明は、正準符号桁数字フォーマットを用いて表現された係数を用いる再構成あるいはプログラミング可能な有限インパルス応答フィルタに関する。本発明によると、FIRフィルタは、任意の時点において、係数に対して異なる値を指定する(つまり、プログラミングする)ことで再構成することができ、この指定はフィルタ長に対する最大値およびデータと係数の精度に関する制約によってのみ制限される。
【0006】
本発明によるFIRフィルタは、少なくとも一つのデータタップ値および少なくとも一つのCSD係数と関連するシフトグループを備える。各シフトグループは複数の並列経路を含む。各並列経路は、データタップ値を、係数のビット対に従ってシフトすることで、重み付けされた積を生成する。各シフトグループからの重み付けされた積を結合するための加算器も設けられる。
【0007】
各並列経路は、さらに、データタップ値を、ビット対の第一のビットの係数内の位置に対応する所定の数の桁だけシフトするためのシフトユニットを備える。各並列経路は、さらに、シフトユニットの出力に結合された加算器入力ユニットを備える。加算器入力ユニットは、前記ビット対の第二のビットが非零である場合は、データタップ値をさらにシフトし、前記ビット対の第二のビットが零である場合は、シフトユニットからのデータタップ値を、変更せずに、加算器にパスし、前記ビット対の両方が零である場合は、前記シフトユニットからのデータタップ値を強制的に零にする。加算器入力ユニットは、さらに、前記ビット対の一方のビットが負である場合は、前記シフトユニットからのデータタップ値を反転する。
【0008】
本発明は、正準符号桁数字(CSD)係数にてデータタップ値を処理するための方法にも関する。この方法は、デジタルフィルタタップ値を複製することで複製されたタップ値を生成するステップを含む。この方法は、さらに、各複製されたタップ値をCSD係数のビット対に従ってシフトすることで重み付けされた積を生成し、次に、重み付けされた積を加算するステップを含む。
【0009】
以下に、本発明を図面を用いて説明するが、図面中、類似の参照符号は類似のパーツを示す。
【0010】
発明の実施の形態
従来のFIRフィルタにおけるセルの数は、フィルタの長さ(つまり、データタップの数)と同数である。各セルは、メモリレジスタ、第二のレジスタ、および乗算器から成る。メモリレジスタはフィルタによって処理されている信号のデジタルサンプルであるデータタップ値を格納し、第二のレジスタは特定のタップに対するフィルタ係数を格納し、乗算器は2つのレジスタの内容の積を生成する。この後者の積は、セルの出力を与え、全てのセルの出力を加えることで、FIRフィルタの出力を構成する重み付けされた総和が生成される。
【0011】
図1は、FIRフィルタ係数に対するCSD表現の一例を示す。図から分かるように、個々の係数ビットは、0、+1、あるいは−1のみの値を持つ。これとは対象的に、従来の二進表現においては、0と+1のビット値のみが許される。CSD表現においてはもう一つの制約として2つの非零のビットは隣接することができない。
【0012】
図2はCSD係数を用いて実現されるFIRフィルタの構造を示す。図から分かるように、フィルタ2は、データタップ値を格納するデータタップレジスタ4−1〜4−N、およびフィルタ出力を生成するための加算器8を備える。ただし、CSD 表現においては、乗算器の代わりに、シフトグループ6−1〜6−Nを用いて重み付けされた積が生成され、こうして生成された積を加算器8によって結合することで、フィルタの出力が生成される。これら各重み付けされた積は、非零の各係数ビットにて重み付けされた各データタップ値の総和として表される。データタップ値の重み付けは、データタップ値を、問題の非零のCSDビットのCSD係数内の位置に従ってシフトすることで遂行される。例えば、非零のCSDビットが第二のビット位置にあるときは、データタップ値は1桁(place)だけシフトされる。
【0013】
ただし、もしそのCSD係数ビットが−1であるときは、データタップ値は減算される。この動作として、本当であれば符号付きの2の補数の減算が遂行されるべきであるが、1の補数表現の方が単にデータ値のビット毎の反転で済むために実現が遥かに簡単である。このため、正しい値と、係数位置だけシフトされるために1の最下位ビット(one least significant bit)の定数だけ異なる1の補数が、その後補償される。
【0014】
CSD係数を用いて実現されるFIRフィルタにおいては、各フィルタタップに対して、加算すべきデータ値の数は、従来のFIRフィルタにおいては単一の値が生成されるのとは対照的に、CSD係数内の非零のビットの数に等しい。その後、上述 のように、個々のフィルタ係数内の各負のCSD係数ビットに対して要求される1の補数の補償が加えられ、単一の数値が生成されるが、これはCSDフィルタするグローバル補償定数(global compensation constant)と呼ばれる。このグローバル補償定数が、次に、データ加算器8への一つの追加の入力としてフィルタ総和に加えられる。
【0015】
CSD実現の長所は、乗算器が除去できることである。ただし、CSD実現においては、データ加算器8への入力の数が増加する。このために、CSDフィルタの設計における基本的な方針として、フィルタ性能要件を満たすという制約の下で、非零の係数ビットを最小化することが求められる。
【0016】
CSDフィルタ構造は、乗算器に対する必要性が除去されるために、明らかに、従来のFIR構造と比較して、特定のフィルタをハードウエアにて実現するには(特に、非常に長いフィルタの場合は)を効率的である。ただし、CSD構造は、そのままでは、任意の所望の係数をプログラムすることができる再構成可能な実現は与えない。この理由は、各CSD係数に対して、データタップ当たりのデータ加算器入力の数が、係数内の非零のビットの数と等しくなり、このため、フィルタの構造が係数値に依存するためである。
【0017】
さらに、CSD構造をハードウエアにてより効率的に実現するためには、各係数ビットに対して要求されるデータタップ値のシフトを、データバスのハードワイヤドシフト(hard-wired shift)として実現する必要がある。このため、タップ値のシフトも係数値に依存することとなる。このため、CSD実現は、厳密に指定されており、変更する必要がない係数を持つ長いフィルタに対しては有効であるが、これら条件が保障できない用途に対しては現実的なオプションとはいえない。
【0018】
以下に、10-ビット係数精度を持つ100−タップフィルタを用いて、再構成可能なCSDフィルタ構造の実現に伴う困難さについて解説するが、この議論は他のフィルタ一般にも適用するものである。典型的なCSDフィルタは、平均的に、フィルタタップの数に係数当たりのビット数を掛けた値の2倍より少し多くの数のデータ加算器入力を持つ。説明の例においては、このことは、加算器入力の数は、200より極端に多くはない(例えば、最大で250程度である)ことに対応する。CSD係数ビットに関する制約がない場合は、このフィルタは、最大で1000のデータ加算器入力を持つところである(100タップ従って100の係数の各々に対して、10ビット従って10個の入力)。加えて、データタップ値がシフトされた位置の数を調節する問題も残される。
【0019】
ただし、CSD表現においては、2つの非零のCSD係数ビットは、隣接するビット位置を占拠することはできないという制約を課される。これは、最大で、全CSDビットの半分が非零の値を持ち得ることを意味する。上の例では、これは、500ビットに等しい。こうして、データ加算器入力の最大数は、2の因数だけ低減される。これは、典型的な数よりも2の因数だけ多く、従ってまだ非常に大きいが、それでもかなりの改善である。これは、CSDフィルタを、最大フィルタ長および係数ビット精度の制約内で、全てのフィルタ係数の任意の再構成が許されるように設計する場合は、特にそうである。
【0020】
図3は、本発明による再構成可能CSD係数フィルタの一つの実施例を示す。図から分かるように、再構成可能CSD係数フィルタ10もデータタップ値を格納するデータタップレジスタ4−1〜4−N、および重み付けされた積を結合することでフィルタ出力を生成するの加算器8を備える。ただし、再構成可能CSD係数フィルタ10においては、重み付けされた積は、異なるセットのCSD係数に対して再構成することが可能なシフトグループ12−1〜12−Nによって生成される。
【0021】
換言すれば、シフトグループ12−1〜12−Nは、データタップ値に対応するCSD係数に従って重みを付けする。シフトグループ12−1〜12−Nは、この機能を、2つの非零のCSD係数ビットは隣接位置を占拠することができないという制約を利用して遂行する。この制約は、係数がビット対に分割された場合、各ビット対内の非零のビットは、最大で1ビットであること(つまり、2ビットの一方は+1あるいは−1であり得るが、他方は0であるべきこと)を含蓄する。こうして、係数の各ビット対は、たった2つの可能な位置値の一方だけシフトされた1つのデータタップ値によって表される。つまり、反転あるいは非反転、もしくは零である。つまり、全てのケースに対して、たった一つの加算器入力にて、2ビットの任意の許される値に対する2つのCSD係数ビット位置を実現することが可能となる。
【0022】
上述のスキームを実現するために、各シフトグループ12−1〜12−Nは、対応するデータタップ値を複製するための並列構造を含む。各並列経路は、複製された各データタップ値を処理するためのシフトユニット14および加算器入力ユニット16を備える。各シフト経路は、各係数内の異なる隣接ビット対にも対応する。値Kは各係数内のビットの数に等しいために、各シフトグループは、通常、K/2個の並列経路を含む。
【0023】
動作においては、各シフトユニット14−1〜14−K/2は、対応するデータタップ値を所定の数のビット位置だけシフトする。本発明によると、この所定の数は、対応するビット対内の一方のビットの係数内の位置に等しい。説明の実施例においては、この一方のビットは対応するビット対の最下位ビット(least significant bit)とされる。こうして、シフトユニット14−1は、メモリレジスタ4−1からのデータタップ値を、"0"場所だけシフトし、シフトユニット14−2はデータタップ値を"2"場所だけシフトし、シフトユニット14−3はデータタップ値を"4"場所だけシフトする。本発明によると、シフトユニット14−1〜14−K/2は、好ましくは、データバスのハードワイヤドシフトにて実現される。
【0024】
さらに、加算器入力ユニット16−1〜16−K/2は、シフティングユニット14−1〜14−K/2から受信されるデータタップ値に関して対応するビット対の構成に従ってさらなる論理動作(演算)を遂行する。図から分かるように、各加算器入力ユニット16−1〜16−K/2は3つの制御入力を持つ。本発明によると、好ましくは、各制御ユニットは、ビット対の異なる構成に対応する単一のビットとされる。これら制御ビットは、異なるセットの係数に対して、オフラインにて生成される必要がある。ただし、これを行なう方法については当業者においては周知である。
【0025】
前述のように、各シフトユニット14−1〜14−K/2は、データタップ値を対応するビット対の最下位ビット(least significant bit)の係数内の位置に従ってシフトする。第一の制御ビットが、そのビット対の最上位ビット(most significant bit)が零であることを示す場合は、加算器ユニットユニット16−1〜16−K/2は、単に、シフトユニット14−1〜14−K/2から受信されるデータタップ値を変更することなく、加算器8にパスする。第一の制御ビットが、そのビット対の最上位ビットが非零であることを示す場合は、加算器入力ユニット16−1〜16−K/2は対応するデータタップ値をもう1桁だけシフトする。
【0026】
さらに、第二の制御ビットが、そのビット対の両ビットともに零であることを示す場合は、加算器入力ユニット16−1〜16−K/2は、対応するデータタップ値を強制的に零にする。第三の制御ビットが、そのビット対の非零のビットが負であることを示す場合は、加算器入力ユニット16−1〜16−K/2は、対応するデータタップ値を反転することで、1の補数を実現する。加算器入力ユニット16−1〜16−K/2の上述の動作は、対応するビット対の構成に従って遂行される。これによって、本発明によるCSDフィルタを異なるセットの係数に対して再構成することが可能となる。
【0027】
シフトグループの一つの動作の例を示すと以下の通りである。図から分かるように、シフトユニット14−2および加算器入力ユニット16−2は、CSD係数1のビット2/3に対応する。最初に、データタップレジスタ4−1からのデータタップ値は、シフトユニット14−2によって、このビット対の最下位ビット(least significant bit)の位置に対応する2桁だけシフトされる。このビット対の最下位ビット、つまり、ビット2が、非零の場合は、加算器入力ユニット16−2は、単に、シフトユニット14−2からのデータタップ値を変更することなく、加算器8にパスする。これは、このデータタップ値が、ビット2が非零であることに対応して、既に幾つかの場所だけシフトされているためである。このビット対の最上位ビット(most significant bit)、つまり、ビット3が非零である場合は、加算器入力ユニット16−2は対応するデータタップ値をもう1桁だけシフトする。こうして、このデータタップ値は、ビット3が非零であることに対応して、全部で3桁だけシフトされる。
【0028】
さらに、このビット対の両ビットとも零である場合は、加算器入力ユニット16−2は、対応するデータタップ値を強制的に零にする。このビット対の非零のビットが負であるときは、加算器入力ユニット16−1〜16−K/2は、対応するデータタップ値を反転することで1の補数を実現する。これによって、ビット2/3のいずれかが負である場合は、対応するデータタップ値を減算することが可能となる。全てのシフトユニットおよび加算器入力ユニットも同様に機能し、加算器8に重み付けされた積を供給する。次に、加算器8は、これら全ての重み付けされた積を結合することで、フィルタ出力を生成する。
【0029】
図4は、本発明による再構成可能CSD係数フィルタのもう一つの実施例を示す。この実施例18は、図3の実施例と類似するが、シフトグループ20−1〜20−Nが異なる。この実施例18においては、シフトユニット22−1〜22−K/2は、対応するデータタップ値を、各ビット対の最上位ビット(most significant bit)の係数内のビット位置に従ってシフトする。従って、シフトユニット22−1はメモリレジスタ4−1からのデータタップ値を"1"桁だけシフトし、シフトユニット22−2は、データタップ値を"3"桁だけシフトし、シフトユニット22−3は、データタップ値を"5"桁だけシフトする。
【0030】
さらに、加算器入力ユニット24−1〜24−K/2も、シフトユニット22−1〜22−K/2から受信されるデータタップ値に関して、対応するビット対の構成に従ってさらなる論理動作を遂行する。ただし、この実施例においては、対応するビット対の最上位ビット(most significant bit)が非零の場合は、加算器入力ユニット24−1〜24−K/2は、シフトユニット22−1〜22−K/2からの対応するデータタップ値を、変更することなく、加算器8にパスする。そのビット対の最下位ビット(least significant bit)が非零である場合は、加算器入力ユニット24−1〜24−K/2は、対応するデータタップ値を1位置だけシフトする。この場合は、データタップ値は、最下位ビットに向ってシフトする必要がある。今までは、全てのシフトは、最上位ビットに向ってであるものと仮定されていた。
【0031】
図5は図3の加算器入力ユニットの一例を示す。各加算器入力ユニット16内に含まれる論理ゲートが破線ボックスによって囲まれている。説明の目的で、この図には、図3のデータタップレジスタの一つが示される。より具体的には、データタップレジスタ4と加算器入力ユニット16との間の接続が示される。ただし、データタップレジスタ4は加算器入力ユニット16の部分は構成しないことに注意する。
【0032】
各加算器入力ユニット16は、データタップ値に関して、上述のように、3つの制御入力に従って論理動作を遂行する論理を備える。
【0033】
加算器入力ユニット16においては、一つの対の係数ビットに対して許される2つのデータシフトは、2入力マルチプレクサ30を用いて実現され、第一の制御ビットが、非零のCSDビット位置を選択するために用いられる。選択されたビットの符号(の決定)は、ビットワイズ排他的ORゲート32を用いて実現され、この排他的ORゲート32は第三の制御ビットによって制御される。この第三の制御ビットは、CSDビットが−1であり、データの反転が要求される場合に出現する(アサートされる)。最後に、両方のCSDビットが零の場合は、ビットワイズANDゲート34を用いて実現(処理)され、ANDゲート34は、第二の制御ビットによって不能にされた場合は、(第一の2ビットの値とは関係なく)全データビットを強制的に零にする。説明の特定の実現は、単に、要求される論理を解説するためのものであり、ユニークなあるいは好ましい実現を指定するものではなく、この論理は幾つかの周知の論理削減技法を用いて最適化することが可能である。
【0034】
図6は、図3の加算器入力ユニットのよりハードウエア的に最適な実施例を示す。図からわかるように、ここでも加算器入力ユニット16は破線のブロックによって囲まれており、データタップレジスタ4の一つがこれら2つの間の接続を示すために含まれる。この実施例においても、加算器入力ユニット16は図5との関連で説明したのと同一の論理動作を遂行する。ただし、この実施例では、加算器入力ユニット16は、4入力マルチプレクサ38−1〜38−Tの並列配列に単純化される。ここで、Tは、各データタップ値内のビットの数に対応する。図7は、このような4入力マルチプレクサ38の標準的に論理実現を示す。
【0035】
図8は、図6の4入力マルチプレクサ38のカスタム回路実現を示す。この実施例においては、各4入力マルチプレクサ38は、示されるように、トランジスタの並列配列40を含む。ただし、全トランジスタの並列配列40に対して、たった1セットの論理ゲート42のみが要求される。こうして、このセットの論理ゲート42は、全マルチプレクサ38に共通とされる。従って、このカスタム回路実現は、必要とされる論理ゲートの数が少なくて済み、このために、図7の標準の論理実現より、ハードウエアにて実現するのにより効率的である。
【0036】
図9は、本発明による再構成可能CSD係数フィルタのもう一つの実施例を示す。図から分かるように、この図面では、参照符号は、文字"p"、"q"、および"r"を含む。文字"p"はフィルタの中央タップから遠く離れたデバイスを表し、"q"は中央タップにより近いデバイスを表し、"r"は、中央タップの所あるいはこれに非常に近いデバイスを表す。この実施例46においては、中央タップから遠く離れたシフトグループ12−pおよび中央タップにより近いシフトグループ12−qは各ビット対と関連する並列経路の全ては利用しないように構成される。
【0037】
図から分かるように、シフトグループ12−pにおいては、ビット0/1と関連する並列経路のみが利用され、シフトグループ12−qにおいては、ビット0/1および2/3と関連する並列経路のみが用いられる。この構成のために、この実施例46では、要求されるシフトユニットおよび加算器入力ユニットは、さらに少なくなる。従って、この実施例46では、要求されるハードウエアの量は前の幾つかの実施例より少なくなる。
【0038】
図9の実現は、以下のように正当化できる。再構成可能CSDフィルタを実現するためには、各データ加算器入力に対して追加の論理が要求されることに加えて、これら入力の数も、固定係数フィルタに対して要求されるようもかなり多くなる(このため、要求されるデータ論理回路の数も影響を受ける)。これらペナルティの内の第一のペナルティは除去することはできないが、第二のペナルティは、実際のFIRフィルタの特性を考慮することで大幅に低減することができる。
【0039】
サンプリング速度を変換するために、幾つかのポリフェーズフィルタ(多相フィルタ)が用いられていることを除いて、大きな長さを持つ事実上全てのデジタルフィルタは、全ての大きな係数がフィルタの中央タップに非常に接近して配置されるという特性を持つ。このことは、フィルタの長さが増加するほど言える。CSD実現は、主として非常に長いフィルタを対象とするために、これは重要な点である。原則として、あるタップが中央から遠く離れていればいるほど、その係数の規模は小さくなる。CSD係数の場合は、このことは、ある与えられた係数の最大レンジより大きな規模に対応するビットは、常に零であることを意味する。このことが少なくとも2つの高次ビット(high-order bits)に対して言える場合は、CSD表現内の全てのこのようなビット対は、零なるデータ加算器入力値を与え、このため、入力も、この入力に対する関連する論理も不要となる。
【0040】
さらに、ある与えられた最大フィルタ長およびビット精度に対して、各CSD係数の最大の実際的なレンジは、中央タップからのタップ距離の関数として決定することができる。従って、このレンジを越える規模に対応する全てのビット対は、全て除去することができる。この結果、加算器入力の数は、同一の長さと精度の典型的な固定係数フィルタに対する平均値よりそれほど大きくない値に低減される。残される唯一のペナルティは、各入力に対してデータ論理が要求されることであるが、これと引き替えに、利益として、再構成できる能力とプログラミングできる能力が獲得される。図9に示すCSDフィルタの実施例は、実際のフィルタの上述の特性を利用する。つまり、係数内に含まれるフィルタの中央タップの所あるいはこれに隣接するビット対と関連するハードウエアを排除する。
【0041】
特定のフィルタがもっぱら少数の特定の用途(例えば、幾つかの変調標準のみをサポートするデジタル復調器)に対してのみ使用されることが保障されており、この特定のフィルタのみをサポートすることが必要とされる場合は、ハードウエアのさらなる削減を達成することができる。この場合は、図9の再構成可能なCSDフィルタ構造は、要求されるフィルタの少なくとも一つ内で用いられる係数ビット対をサポートするのみで済む。任意のフィルタ内で必要とされないビット対は、それらのデータ加算器入力と関連する論理ともに、その係数内のそれらの位置あるいはフィルタ自身内の係数の位置とは関係なく、省くことができる。全ての要求されるフィルタのCSD係数の設計を、任意のフィルタによって使用される係数ビット対の総数を最小にするという追加の基準に従って設計した場合は、フィルタハードウエアのさらなる大幅な削減が可能となる。
【0042】
図10は、本発明による再構成可能なCSD係数フィルタのもう一つの実施例を示す。この実施例48においては、要求されるハードウエアをさらに削減するために、資源を共有する技法が用いられる。資源の共有は、一つあるいは複数のデータタップ値に、1つのデータサンプリング期間の間、同数の処理(クロック)サイクルを通じて関連する係数を乗算する過程と、結果を累積する過程を伴う。一つの再構成可能CSDフィルタにおいては、資源の共有を利用することで、データ加算器入力の数が低減される。
【0043】
図10から分かるように、各巡回シフトグループ50−1〜50−N/MがM個のデータタップレジスタ4−1〜4−Mと関連する。各シフトグループ50−1〜50−N/Mは、図3のシフトグループと同一に動作するように構成される。ただし、この実施例48においては、各巡回シフトグループ50−1〜50−N/Mは、たった一つではなく、M個のCSD係数と関連付けられる。こうすることで、各シフトグループ50−1〜50−N/MがM個の係数の各々を通じて回転し、M個のサイクルを通じて各グループのデータタップレジスタ4−1〜4−Mからのデータを処理できるようにされる。加算器8の出力の所には、M個のサイクルを通じて結果を累積・加算するためのアキュムレータ52が設けられる。
【0044】
ある与えられたグループの資源共有タップ内の係数の共有は、そのグループ内の各係数に対して、CSD表現を通じて巡回的に"回転(rotating)"することで実現される。これがフィルタ内の全ての資源共有グループに対して行なわれ、結果がデータ加算器の出力の所で累積される。通常行なわれるように、資源の共有は、非常に長いフィルタの場合に、最も効果的である。共有は隣接するデータタップ間で遂行され、これら隣接するデータタップは定義から中央タップから概ね同一距離にあるために、各々の共有される係数のレンジは本質的に等しく、このため、資源の共有を使用するCSDフィルタには、さらに、係数のレンジを中央タッ プからの距離の関数として制限することでデータ加算器入力を低減する上述の技法も適用できる。
【0045】
本発明による再構成可能なフィルタは集積回路上に効率良く実現できる。本発明は、結果としてハードウエア乗算器を排除できるフィルタ係数のCSD表現を再構成およびプログラミング可能なFIRフィルタ内に用いることができる点でFIRフィルタの分野における進歩である。
【0046】
本発明の上述の説明は、単に解説の目的で示されたものであり、本発明を開示された形態に厳密に制限することを意図するものではない。上述の教示を考慮すれば、多くの修正および変形が可能であり、従って、本発明の範囲は上述の詳細な説明によって制限されるものではない。
【0047】
本発明の一つの特定な実施例においては、第一のビットは、ビット対の最下位ビット(least significant bit)から成る。
【0048】
本発明の一つの特定な実施例においては、第一のビットは、ビット対の最上位ビット(most significant bit)から成る。
【0049】
本発明の一つの特定な実施例においては、第二のビットは、ビット対の最上位ビットから成る。
【0050】
本発明の一つの特定な実施例においては、第二のビットは、ビット対の最下位ビットから成る。
【図面の簡単な説明】
【図1】 FIRフィルタ係数の正準符号桁数字(CSD)表現の一例を示す図。
【図2】 CSD係数を用いる従来のFIRフィルタを示す線図である。
【図3】 本発明による再構成可能なCSD係数フィルタの一つの実施例を示す線図である。
【図4】 本発明による再構成可能なCSD係数フィルタのもう一つの実施例を示す線図である。
【図5】 本発明による図3の加算器入力ユニットの一例を示す線図である。
【図6】 本発明による図3の加算器入力ユニットのよりハードウエア化に適する実施例を示す線図である。
【図7】 図5に示す4入力マルチプレクサの実施例を示す線図である。
【図8】 図5に示す4入力マルチプレクサの実施例を示す線図である。
【図9】 本発明による再構成可能なCSD係数フィルタのもう一つの実施例を示す線図である。
【図10】 本発明による再構成可能なCSD係数フィルタのもう一つの実施例を示す線図である。
【符号の説明】
4 データタップレジスタ
6 シフトグループ
8 加算器
12 シフトグループ
14 シフトユニット
16 加算器入力ユニット
30 2入力マルチプレクサ
32 ビットワイズ排他的ORゲート
38 4入力マルチプレクサ
40 トランジスタの並列配列
42 論理ゲート
50 巡回シフトグループ
52 アキュムレータ
Claims (5)
- 正準符号桁数字係数によりデータタップ値を処理するための有限インパルス応答フィルタであって、
少なくとも一つのデータタップ値および少なくとも一つの正準符号桁数字係数と関連するシフトグループであって、各シフトグループが複数の並列経路を含み、各並列経路が前記係数のビット対と関連し、前記データタップ値を前記ビット対に従ってシフトすることで重み付けされた積を生成するシフトグループと、
前記各シフトグループからの前記重み付けされた積を結合するための加算器と、
を備え、
各並列経路が、
前記データタップ値を前記ビット対の第一のビットの前記係数内の位置に対応する所定の数の桁だけシフトするためのシフトユニットと、
前記シフトユニットの出力に結合され、前記ビット対の第二のビットが非零である場合、前記データタップ値をさらにシフトする加算器入力ユニットと、
有する、ことを特徴とする有限インパルス応答フィルタ。 - 前記フィルタの中央タップから離れたシフトグループが前記並列経路の全ては利用しないことを特徴とする請求項1記載の有限インパルス応答フィルタ。
- 正準符号桁数字係数によりデータタップ値を処理するための方法であって、
デジタルフィルタタップ値を複製することで複製されたタップ値を生成するステップと、
前記各複製されたタップ値を前記正準符号桁数字係数のビット対に従ってシフトするステップと、
前記データタップ値を前記ビット対の第一のビットの前記係数内の位置に対応する所定の数の桁だけシフトするステップと、
重み付けされた積を生成するため、前記ビット対の第2ビットが非零である場合には前記データタップ値をさらにシフトするステップと、
前記重み付けされた積を加算するステップと、
を含むことを特徴とする方法。 - 前記シフトグループは、前記ビット対の最上位ビットが非零である場合には前記データタップ値をシフトし、前記ビット対の最上位ビットが零である場合には前記データタップ値を変更せずに通過させるよう構成される、請求項1記載の有限インパルス応答フィルタ。
- 前記シフトは、前記ビット対の最上位ビットが非零である場合に前記データタップ値をシフトする、請求項1記載の有限インパルス応答フィルタ。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/456,688 US6590931B1 (en) | 1999-12-09 | 1999-12-09 | Reconfigurable FIR filter using CSD coefficient representation |
| US09/456,688 | 1999-12-09 | ||
| PCT/EP2000/012029 WO2001043285A2 (en) | 1999-12-09 | 2000-11-30 | A reconfigurable fir filter using csd coefficient representation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003516692A JP2003516692A (ja) | 2003-05-13 |
| JP4704646B2 true JP4704646B2 (ja) | 2011-06-15 |
Family
ID=23813760
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001543855A Expired - Fee Related JP4704646B2 (ja) | 1999-12-09 | 2000-11-30 | 正準符号桁数字係数表現を用いる再構成可能な有限応答フィルタ |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US6590931B1 (ja) |
| EP (1) | EP1186099B1 (ja) |
| JP (1) | JP4704646B2 (ja) |
| DE (1) | DE60042365D1 (ja) |
| WO (1) | WO2001043285A2 (ja) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1122637A3 (de) * | 2000-01-31 | 2005-10-12 | Micronas GmbH | Recheneinheit für eingeschränkte Signalverarbeitung |
| AU2001212724A1 (en) * | 2000-10-16 | 2002-04-29 | Nokia Corporation | Multiplier and shift device using signed digit representation |
| KR100422443B1 (ko) * | 2001-02-13 | 2004-03-11 | 삼성전자주식회사 | 버츄얼 공통패턴을 사용한 저전력 csd 선형위상 fir필터 구조 및 그에 따른 필터구현방법 |
| US7167514B2 (en) | 2001-07-18 | 2007-01-23 | Agere Systems Inc. | Processing of quinary data |
| KR100422449B1 (ko) * | 2001-11-12 | 2004-03-11 | 삼성전자주식회사 | 수직 공통패턴을 사용한 저전력 csd 선형위상 디지털필터 구조 및 그에 따른 필터구현방법 |
| US7054896B2 (en) * | 2002-04-29 | 2006-05-30 | Industrial Technology Research Institute | Method for implementing a multiplier-less FIR filter |
| US7277479B2 (en) * | 2003-03-02 | 2007-10-02 | Mediatek Inc. | Reconfigurable fir filter |
| KR100644271B1 (ko) | 2004-07-16 | 2006-11-10 | 한국전자통신연구원 | 군지연 등화된 다중 통과 대역 필터 구현 방법 |
| US7483479B2 (en) | 2004-09-16 | 2009-01-27 | Keyeye Communications | Scaled signal processing elements for reduced filter tap noise |
| EP1650869A1 (en) * | 2004-10-20 | 2006-04-26 | STMicroelectronics Pvt. Ltd | A device for implementing a sum of products expression |
| US20060218213A1 (en) * | 2005-03-24 | 2006-09-28 | Shereef Shehata | Optimization technique for FIR and IIR filter design |
| JP4923039B2 (ja) * | 2005-03-31 | 2012-04-25 | エヌエックスピー ビー ヴィ | カノニカル形式で署名された数字の乗算器 |
| US8135975B2 (en) * | 2007-03-09 | 2012-03-13 | Analog Devices, Inc. | Software programmable timing architecture |
| US8638852B2 (en) | 2008-01-08 | 2014-01-28 | Qualcomm Incorporated | Video coding of filter coefficients based on horizontal and vertical symmetry |
| JP4814899B2 (ja) * | 2008-02-29 | 2011-11-16 | 日本電信電話株式会社 | 音響信号フィルタとそのフィルタリング方法と、そのプログラムと記録媒体 |
| US20130257667A1 (en) * | 2012-03-30 | 2013-10-03 | Broadcom Corporation | Antenna Tuning |
| US10410700B1 (en) | 2018-09-28 | 2019-09-10 | The Mitre Corporation | Systems and method for a low-power correlator architecture using shifting coefficients |
| US10879877B1 (en) | 2018-09-28 | 2020-12-29 | The Mitre Corporation | Systems and method for a low power correlator architecture using distributed arithmetic |
| US11658643B2 (en) * | 2021-01-18 | 2023-05-23 | Raytheon Company | Configurable multiplier-free multirate filter |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4967388A (en) * | 1988-04-21 | 1990-10-30 | Harris Semiconductor Patents Inc. | Truncated product partial canonical signed digit multiplier |
| ATE91831T1 (de) * | 1987-05-18 | 1993-08-15 | Advanced Micro Devices Inc | Aufbesserung von kanonischen, mit vorzeichenziffern behafteten filterkoeffizienten. |
| JP2639543B2 (ja) * | 1987-12-02 | 1997-08-13 | 日本ビクター株式会社 | デジタル・フィルタ装置 |
| US5262974A (en) * | 1991-10-28 | 1993-11-16 | Trw Inc. | Programmable canonic signed digit filter chip |
| US5307405A (en) * | 1992-09-25 | 1994-04-26 | Qualcomm Incorporated | Network echo canceller |
| KR100248021B1 (ko) * | 1995-09-30 | 2000-03-15 | 윤종용 | Csd 필터의 신호처리방법과 그 회로 |
| US6044068A (en) * | 1996-10-01 | 2000-03-28 | Telefonaktiebolaget Lm Ericsson | Silence-improved echo canceller |
| US6263036B1 (en) * | 1997-07-30 | 2001-07-17 | Yamaha Corporation | Asynchronous signal input apparatus and sampling frequency conversion apparatus |
| US6282184B1 (en) * | 1997-12-22 | 2001-08-28 | Nortel Networks Limited | Common digitizing rate for multiple air interfaces for generic cell sites in cellular radio |
-
1999
- 1999-12-09 US US09/456,688 patent/US6590931B1/en not_active Expired - Fee Related
-
2000
- 2000-11-30 JP JP2001543855A patent/JP4704646B2/ja not_active Expired - Fee Related
- 2000-11-30 DE DE60042365T patent/DE60042365D1/de not_active Expired - Lifetime
- 2000-11-30 EP EP00993360A patent/EP1186099B1/en not_active Expired - Lifetime
- 2000-11-30 WO PCT/EP2000/012029 patent/WO2001043285A2/en not_active Ceased
-
2003
- 2003-05-28 US US10/446,230 patent/US7164712B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US20030194003A1 (en) | 2003-10-16 |
| WO2001043285A3 (en) | 2001-11-15 |
| US6590931B1 (en) | 2003-07-08 |
| EP1186099B1 (en) | 2009-06-10 |
| JP2003516692A (ja) | 2003-05-13 |
| DE60042365D1 (de) | 2009-07-23 |
| EP1186099A2 (en) | 2002-03-13 |
| WO2001043285A2 (en) | 2001-06-14 |
| US7164712B2 (en) | 2007-01-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4704646B2 (ja) | 正準符号桁数字係数表現を用いる再構成可能な有限応答フィルタ | |
| EP0372350B1 (en) | Programmable digital filter | |
| US5966314A (en) | Finite impulse response filter | |
| JPH09135149A (ja) | 広帯域デジタルろ波方法およびこの方法を使用したフィルタ | |
| US5729483A (en) | Implementation of a digital interpolation filter and method | |
| JPH07273638A (ja) | 複数広域入力機能のためのプログラム式専用fpga機能ブロックを備えたfpgaアーキテクチャ | |
| JPH11266140A (ja) | ディジタルフィルタを実現するプログラム可能な回路 | |
| EP0751618B1 (en) | A hardware efficient interpolation filter | |
| JPH09284094A (ja) | デジタルフィルタバンク装置およびその作動方法 | |
| CN104734668B (zh) | 一种插值滤波器 | |
| Chren Jr | Low delay-power product CMOS design using one-hot residue coding | |
| US8645442B2 (en) | Method and apparatus for a finite impulse response filter | |
| JP3913921B2 (ja) | 有限フィールドでの任意要素の逆数具現回路 | |
| EP0426296B1 (en) | Apparatus having modular interpolation architecture | |
| Khan et al. | Area and power efficient VLSI architecture of distributed arithmetic based LMS adaptive filter | |
| Bayoumi et al. | Fast Parallel Multiple Access Distributed Arithmetic (FPMA-DA) Reconfigurable FIR Filter | |
| CA2298872A1 (en) | Digital channelizer having efficient architecture for presum discrete fourier transformation selectively of real or complex data and method of operation | |
| JP2001177378A (ja) | Firデジタルフィルタ | |
| JP3425958B2 (ja) | ディジタルトランスバーサルフィルタを多重使用するための回路装置および方法 | |
| JP3827207B2 (ja) | ディジタルフィルタおよび情報通信機器 | |
| Grayver et al. | Reconfigurable signal processing ASIC architecture for high speed data communications | |
| Nikolaidis et al. | CORDIC based pipeline architecture for all-pass filters7 | |
| JPH07118630B2 (ja) | 乗算用信号処理回路 | |
| JPH0716145B2 (ja) | ディジタルトランスバーサルフィルタ | |
| JP3130631B2 (ja) | ディジタル信号処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070410 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071127 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101012 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110111 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110215 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110310 |
|
| LAPS | Cancellation because of no payment of annual fees |