JPH07112144B2 - デジタル・フィルタ - Google Patents

デジタル・フィルタ

Info

Publication number
JPH07112144B2
JPH07112144B2 JP63081172A JP8117288A JPH07112144B2 JP H07112144 B2 JPH07112144 B2 JP H07112144B2 JP 63081172 A JP63081172 A JP 63081172A JP 8117288 A JP8117288 A JP 8117288A JP H07112144 B2 JPH07112144 B2 JP H07112144B2
Authority
JP
Japan
Prior art keywords
data sequence
input
filter
output
stage
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 - Lifetime
Application number
JP63081172A
Other languages
English (en)
Other versions
JPS63262912A (ja
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 JPS63262912A publication Critical patent/JPS63262912A/ja
Publication of JPH07112144B2 publication Critical patent/JPH07112144B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0283Filters characterised by the filter structure
    • H03H17/0286Combinations of filter structures

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Oscillators With Electromechanical Resonators (AREA)
  • Gasification And Melting Of Waste (AREA)
  • Networks Using Active Elements (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、多数のフィルタ段を有するデジタル・フィル
タ、特に、周期的な入力データ・シーケンスに応答して
周期的な出力データ・シーケンスを発生し、この出力デ
ータ・シーケンスの第1データ要素が入力データ・シー
ケンスの第1データ要素と同相である多段デジタル・フ
ィルタに関する。
[従来の技術] デジタル・フィルタは、入力データ・シーケンスの要素
の関数として計算したデータ要素を含む出力データ・シ
ーケンスを発生する。シーケンスの要素数を変化させず
にロウ・パス・フィルタを実現するために、各入力デー
タ・シーケンス要素に対して1つの出力データ・シーケ
ンスを発生する「直接(direct)」デジタル・フィルタ
をしばしば用いる。「間引き(decimation)」デジタル
・フィルタは、データ・シーケンス内の要素数を減らす
ものであり、この間引きデジタル・フィルタを時には用
いて、波形を表すデータ・シーケンスをより効率的に蓄
積したり、転送できるように、このデータ・シーケンス
を圧縮する。「補間(interpolatin)」デジタル・フィ
ルタは、データ・シーケンス内の要素数を増加させるも
のであり、この補間デジタル・フィルタを用いて、以前
に間引いたデータ・シーケンスに対するデータ点を再生
することができる。間引きフィルタ及び補間フィルタを
カスケード(縦続)接続して、多段ロウ・パス・フィル
タを形成できる。この多段ロウ・パス・フィルタは、同
様なロウ・パスろ波特性のダイレクト・デジタル・フィ
ルタよりも、1秒間当たりの計算回数が少なくて済む。
(音響、話及び信号の処理に関するIEEEの会報で1975年
10月発行のVol.ASSP−23,No.5のエル・アール・ラビナ
ー著「狭帯域FIRデジタル・フィルタの新規なインプリ
メンテーション(A Novel Implementation for Narrow
Band FIR Digital Filters)」を参照されたい。) [発明が解決しようとする課題] 安定状態において、デジタル・フィルタは、その入力デ
ータ・シーケンス内の要素の振幅における振動のある周
波数を増幅、又は減衰できるが、このフィルタは、新た
な周波数を付加しない。よって、出力データ・シーケン
ス内の振動の全サイクル期間中、入力データ・シーケン
ス内に振動の対応サイクルが存在する。しかし、フィル
タの伝達関数で決まる時間だけ、出力データ・シーケン
スのサイクルは、入力データ・シーケンスの対応サイク
ルより遅延しているかもしれない。さらに、入力及び出
力データ・シーケンスの要素が対応サイクル期間中の同
一相対時点に発生しないかもしれないという意味におい
て、出力データ・シーケンスの要素は、「位相シフト」
されているかもしれない。
多くのアプリケーションにおいて、フィルタの入出力デ
ータ・シーケンスが時間的に相互に関係するように、こ
のフィルタの出力データ・シーケンスの第1要素が入力
データ・シーケンスの第1要素と同相になるのが望まし
い。しかし、多段デジタル・フィルタにおいて、種々の
フィルタ段が、位相シフトした出力シーケンスを発生す
るかもしれない。しかし、仮とえ、他の入出力シーケン
ス要素が同相であったとしても、フィルタの遅延量に応
じて、出力データ・シーケンスの第1要素は、入力デー
タ・シーケンスの第1要素と同相でないかもしれない。
したがって本発明の目的は、周期的な入力データ・シー
ケンスに応答して周期的な出力データ・シーケンスを発
生し、この出力データ・シーケンスの第1要素が入力デ
ータ・シーケンスの第1要素と同相である多段デジタル
・フィルタを提供することである。
[課題を解決するための手段及び作用] 本発明は、多段デジタル・フィルタに関し、各段は、周
期的な入力データ・シーケンスに応答して周期的な出力
データ・シーケンスを発生する有限インパルス応答(FI
R)フィルタであり、前段が発生した出力データ・シー
ケンスにより(第1段以外の)各段に供給された入力デ
ータ・シーケンスを発生するように、各段をカスケード
接続している。
本発明によれば、各フィルタ段の出力データの要素がそ
の入力データ・シーケンスの第1要素と同相になるよう
に、その出力データ・シーケンスを入力データ・シーケ
ンスに関係付ける各フィルタ段の伝達関数を選択してい
る。さらに、(カスケード接続された第1段以外の)各
段が、前段の第1入力データ・シーケンス要素と同相の
第1入力データ・シーケンス要素を受けるまで、これら
各段の動作を抑制する。第1段は、その入力データ・シ
ーケンスの第1要素を受けるまで、その動作が抑制され
る。よって、最終段の出力データ・シーケンスの第1要
素は、フィルタの第1段への入力シーケンスの第1要素
と同相になる。
本発明の要旨は、この明細書の特許請求の欄に明瞭に示
してある。しかし、本発明の構成及び動作方法は、その
他の特徴及び目的と共に、添付図を参照した以下の説明
より、最も良く理解できよう。
[実施例] 本発明は、多段デジタル・フィルタに関するものであ
り、各段は、周期的な入力データ・シーケンスに応答し
て周期的な出力データ・シーケンスを発生する有限イン
パルス応答(FIR)フィルタであり、最終段以外の各段
が発生する出力データ・シーケンスが次段の入力データ
・シーケンスを構成するように、各段をカスケード接続
する。FIRフィルタは、出力テータ・シーケンスを発性
するが、この出力データ・シーケンスの各要素は、有限
数の項の和であり、各項は、スカラー係数及び入力デー
タ・シーケンスの要素の積である。FIRフィルタは、3
つのカテゴリ、即ち「直接」、「間引き」及び「補間」
に分類できる。直接フィルタは、各入力データ・シーケ
ンスに対して1つの出力データ・シーケンスを発生し、
間引きフィルタは、各入力データ・シーケンス要素に対
し1つの出力データ・シーケンス要素より少ない出力デ
ータ・シーケンスを発生し、補間フィルタは、各入力デ
ータ・シーケンス要素に対し1つの出力データ・シーケ
ンス要素より多い出力データ・シーケンスを発生する。
安定状態において、FIRフィルタは、その入力データ・
シーケンスにおける要素の振幅において、振動のある周
波数を増幅、又は減衰するかもしれないが、新たな振動
周波数を付加しない。よって、出力データ・シーケンス
の所定サイクル期間中、入力データ・シーケンス内に
は、振動の対応サイクルがある。しかし、出力データ・
シーケンス内のサイクルは、入力データ・シーケンス内
の対応サイクルより遅延するかもしれない。各出力シー
ケンス要素の計算に含まれる第1及び最終入力シーケン
ス要素間の入力シーケンス要素数と、各入力シーケンス
要素間の周期とにより、遅延期間を決定する。要素間の
周期は、通常、一定なので、フィルタの遅延は、通常、
時間の単位ではなく、入力データ・シーケンス要素の数
の期間で表せる。
入力及び出力データ・シーケンスの対応サイクル期間中
の同一相対時点において、入力及び出力シーケンス要素
が生じないと、出力データ・シーケンスの要素は、入力
データ・シーケンスの要素とは「位相がずれている」か
もしれない。
例えば、第2図では、時間の関数としての3つのデータ
・シーケンスA、B及びCの振幅を表すタイミング図を
示している。アナログ鋸波信号A′をデジタル化して、
データ・シーケンスAを発生できる。データ・シーケン
スB及びCは、異なるロウ・パス間引きFIRフィルタに
より、シーケンスAに応答して発生させる。データ・シ
ーケンスB及びCは、入力データ・シーケンスAと同じ
周波数で振動しており、鋸波信号A′より滑らかなアナ
ログ波形B′及びC′に対応する。出力データ・シーケ
ンスB及びCは、入力データ・シーケンスAの半分の要
素数のみで構成されているので、これら両フィルタは係
数2だけ「間引き」する。入力データ・シーケンスAの
対応サイクルに続く2つの入力データ・シーケンスA要
素により、出力データ・シーケンスB及びCの両方のサ
イクルが遅延される。しかし、シーケンスA及びBの要
素は互いに同相であるが、シーケンスAの要素に対して
シーケンスCの要素は位相がシフトしている。例えば、
シーケンスA及びBは、共に、アナログ波形A′及び
B′のピーク値に一致する要素を含んでいるが、波形
C′のピーク値の要素は、波形B′のピークよりも位相
シフト分だけシフトしていることに留意されたい。
多くのアプリケーションにおいて、フィルタの出力デー
タ・シーケンスの要素はその入力データ・シーケンスと
同相であることが望ましく、また特に、出力データ・シ
ーケンスの第1要素が入力データ・シーケンスの第1要
素と同相であることが望ましい。しかし、従来の多段デ
ジタル・フィルタにおいては、各フィルタ段の遅延は異
なっているかもしれないし、その出力データ・シーケン
ス要素はいくらか位相シフトしているかもしれない。ま
た、第1段の入力データ・シーケンス及び最終段の出力
シーケンス間の総合遅延及び位相シフトを決めることは
困難であり、調整することも困難である。
本発明によれば、多段FIRフィルタの出力データ・シー
ケンスをその入力データ・シーケンスと確実に同相にす
るため、直接、間引き及び/又は補間フィルタ段の各々
の出力データ・シーケンスの要素がその入力データ・シ
ーケンスの第1要素と同相になるように、これら各フィ
ルタ段の伝達関数を選択する。さらに、(多段フィルタ
の第1段以外の)各段が、その前段の第1入力データ・
シーケンス要素と同相である入力シーケンス要素を受け
るまで、これら各段の動作を抑制する。第1段の動作
は、その入力データ・シーケンスの第1要素を受けるま
で、抑制される。よって、フィルタの最終段の出力デー
タ・シーケンスの第1要素は、第1段への入力シーケン
スの第1要素と同相になる。
直接FIRフィルタの伝達関数は、次式で表せる。
なお、w(i)はi番目の出力データ・シーケンス要素
であり、v(i)はi番目の入力データ・シーケンス要
素であり、h(n)は選択された係数であり、Nはこの
フィルタの「長さ」である。N=3の長さの直接FIRフ
ィルタでは、最初の5つの出力データ・シーケンス要素
は次のようになる。
w(0)=h(0)*v(0) w(1)=h(0)*v(1)+h(1)*v(0) w(2)=h(0)*v(2)+h(1)*v(1)+h(2)*v(0) w(3)=h(0)*v(3)+h(1)*v(2)+h(2)*v(1) w(4)=h(0)*v(4)+h(1)*v(3)+h(2)*v(2) 表1 この表1は、入力シーケンスvのi番目の要素v(i)
が、3つの積、即ち、h(0)*v(i)、h(1)*
v(i)及びh(2)*v(i)を形成し、各連続した
積が、出力データ・シーケンスwのw(i)を通じて独
立し、連続した要素w(i−N+1)に関係した和の項
として含まれていることを示す。「全帯域」FIRフィル
タにとって、総ての係数h(n)はゼロでない値であ
る。長さN=1、5、9、13・・・の「半帯域」FIRフ
ィルタにとって、nが奇数のとき、h(n)=0であ
る。長さN=3、7、11、15・・・の半帯域FIRフィル
タにとって、nが偶数のとき、h(n)=0である。i
〈0の入力データ・シーケンス要素v(i)は存在しな
いので、最初のN−1個のデータ・シーケンス要素は、
N個の項よりも少ない。出力データ・シーケンスのこれ
ら最初のN−1個の要素は、フィルタの「遷移応答」を
構成する。
任意の長さNの全帯域FIRフィルタと、長さN=1、
5、9、13・・・の半帯域フィルタとにおいて、遅延
は、(N−1)/2である。よって、N=3の全帯域直接
FIRフィルタの遅延は、1である。長さN=3、7、11
・・・の半帯域フィルタにとって、h(N−1)及びh
(0)は共にゼロであるため、遅延は[(N−1)/2]
−1に短縮でき、各出力シーケンス要素の第1項及び最
終項を計算する必要がない。長さN=3の半帯域直接フ
ィルタにとって、係数h(0)及びh(2)はゼロであ
る。かかる半帯域フィルタにおいて、v(i+1)を待
つことなく、w(i)を発生できる。よって、長さN=
3の半帯域フィルタのいくつかのインプリメンテーショ
ンにおいて、遅延を0に短縮できる。
出力データ・シーケンス要素に対して、入力データ・シ
ーケンス要素と同相にするために、遅延dは整数でなけ
ればならない。よって、遅延は、(N−1)/2、又は
[(N−1)/2]−1なので、Nは奇数でなければなら
ない。Nが偶数ならば、総ての出力データ・シーケンス
要素は、総ての入力データ・シーケンス要素に対して位
相がずれる。したがって、本発明の多段デジタル・フィ
ルタにおいて、総ての直接FIR段の長さは、奇数であ
る。
長さNの間引きFIRフィルタも、出力データ・シーケン
スwを発生し、ここで、各要素は、項の和となり、各項
は、選択した係数と、入力データ・シーケンスxの以前
に発生した要素との積から構成される。しかし、総ての
M入力データ・シーケンス要素に対して、1つの出力デ
ータ・シーケンス要素w(i)を発生する。なお、
「M」は、フィルタの「間引き係数」である。間引きFI
Rフィルタの伝達関数を次式で表す。
間引きフィルタの遅延も(N−1)/2であるか、又はあ
る半帯域フィルタの場合は、[(N−1)/2]−1であ
る。よって、間引きフィルタが発生した出力データ・シ
ーケンスが、その入力データ・シーケンスの要素と同相
な要素を有するためには、このフィルタの長さNは奇数
でなければならない。しかし、奇数の長さの総ての間引
きフィルタは、その第1入力データ・シーケンス要素と
同相の出力データ・シーケンス要素を発生しない。式
[2]より、各出力データ・シーケンス要素w(i)の
大きさは、部分的には、Cの値の選択により決まること
が判る。M=2及びC=0で、長さN=3であり、伝達
関数が式[2]に応じたフィルタでは、出力データ・シ
ーケンスwの最初の5つの項w(i)は、以下の表2の
ようになる。
w(0)=h(0)*v(0) w(1)=h(0)*v(2)+h(1)*v(1)+h(2)*v(0) w(2)=h(0)*v(4)+h(1)*v(3)+h(2)*v(2) w(3)=h(0)*v(6)+h(1)*v(5)+h(2)*v(4) w(4)=h(0)*v(8)+h(1)*v(7)+h(2)*v(6) 表2 これとは対照的に、M=2及びC=1で、長さN=3で
あり、伝達関数が式[2]に応じたフィルタでは、出力
データ・シーケンスwの最初の5つの要素は以下の表3
のようになる。
w(0)=h(0)*v(1)+h(1)*v(0) w(1)=h(0)*v(3)+h(1)*v(2)+h(2)*v(1) w(2)=h(0)*v(5)+h(1)*v(4)+h(2)*v(3) w(3)=h(0)*v(7)+h(1)*v(6)+h(2)*v(5) w(4)=h(0)*v(9)+h(1)*v(8)+h(2)*v(7) 表3 表1、2及び3を比較することにより、「2による間引
き」フィルタ(即ち、M=2)は、同じ長さの直接フィ
ルタの半分の数の要素を有する出力データ・シーケンス
を発生し、直接FIRフィルタの要素w(Mi+C)の値
は、同じ長さの間引きFIRフィルタの要素w(i)と同
じになることが判る。また、表2のC=0間引きフィル
タは、要素w(1)で開始する表1の直接フィルタが発
生した総ての他の出力シーケンス要素を除去(「間引
き」)し、表3のC=1間引きフィルタは、要素w
(0)で開始する表1の直接フィルタが発生した総ての
他の出力データ・シーケンス要素を間引くことが判る。
h(2)がゼロでないとき、表1、2及び3の総てのN
=3のフィルタの遅延は、(N−1)/2=1である。上
述の如く、表1の直接フィルタ出力シーケンスにとっ
て、出力データ・シーケンスw(1)は、第1入力シー
ケンス要素v(0)と同相である。よって、N=3の間
引きフィルタが要素(0)と同相の出力シーケンス要素
を確実に発生するためには、表1の直接フィルタの要素
w(1)と同じ値の出力データ・シーケンス要素が発生
するように、Cの値を選ばなければならない。表1、2
及び3を検査することにより、表3のシーケンスの要素
w(0)が表示1の出力データ・シーケンス要素w
(1)の値と同じであり、同様な値の要素が表2に見つ
からないことが判る。よって、長さN=3で間引き係数
M=2の間引きフィルタにとって、第1入力シーケンス
要素v(0)と同相に、出力データ・シーケンス要素が
確実に発生するために、C=1を選択しなければならな
い。
したがって、長さNの間引きフィルタが、第1入力シー
ケンス要素と同相の出力シーケンス要素を確実に発生す
るためには、Nが奇数であるばかりでなく、Cの値を適
切に選ばなければならない。[2]式より、この数列を
完全にするのに必要な入力シーケンスの最終要素v(C
+jM)が利用可能なとき、出力シーケンスのj番目の要
素w(j)を発生できることが判る。したがって、遅延
dのフィルタにとって、jのある整数値に対して以下の
式を満足するように、Cの値を選択する必要がある。
C+jM=d [3] 0≦C<M [4] 長さN=3、間引き係数M=2、遅延d=(N−1)/2
のフィルタにとって、式[3]及び[4]を満足するた
めに、Cは1に等しくなければならず、また、jは0に
等しくなければならない。よって、かかる間引きフィル
タにとって、C=1のとき、第1出力データ・シーケン
ス要素w(j)=w(0)は、v(0)と同相である。
例えば、長さN=25、間引き係数M=5、遅延d=(N
−1)/2の間引きフィルタにとって、式[3]は、次の
ようになる。
C+jM=(N−1)/2 C+j5=(25−1)/2=12 式[4]によれば、CはM=5よりも小さくなければな
らないので、jは2でなければならず、また、Cは2で
なければならないことが示されている。よって、Cが2
に選択されると、第3出力データ・シーケンス要素w
(2)は、第1入力シーケンス要素v(0)と同相であ
る。Cが任意の値ならば、出力シーケンス要素はv
(0)と同相ではない。比較すると、長さN=25、間引
き係数M=5、遅延d=[(N−1)/2]−1の半帯域
間引きフィルタにとって、式[3]は次のようになる。
C+jm=[(N−1)/2]=1 C+j5=[(25−1)/2]−1=11 Cは、m=5未満でなければならないので、出力データ
・シーケンス要素にとって、第1入力データ・シーケン
ス要素v(0)と同相になるために、jは2でなければ
ならず、Cは1でなければならない。
よって、間引きフィルタにとって、出力データ・シーケ
ンスの要素が入力データ・シーケンスの第1要素に確実
に同期するために、Nの値を奇数にしなければならない
し、また、間引き係数M、遅延dの所定組合わせに対し
て、Cが上述の式[3]及び[4]の関係を満足するよ
うに、C及びjの値を選択しなければならない。このよ
うにjを選択した際、w(j)は、入力データ・シーケ
ンスの第1要素と同相の出力データ・シーケンスの第1
要素になることに留意されたい。
補間フィルタは、各入力データ・シーケンス要素に対す
るL個の出力データ・シーケンス要素を発生する。な
お、このフィルタの「補間係数」であるLは、1より大
きい数である。補間係数L=2のFIR補間フィルタの伝
達関数は、次式で表せる。
なお、Nが奇数のとき、Lim1=(N−1)/2、Lim2=
((N−1)/2)−1であり、また、Nが偶数のとき、
Lim1=(N−2)/2、Lim2=(N−2)2である。
長さN=5、補間係数L=2の補間フィルタにとって、
入力データ・シーケンスvに応答した出力データ・シー
ケンスwの最初の5つの要素w(i)は、以下の表4に
示すようになる。
w(0)=h(0)*v(0) w(1)=h(1)*v(0) w(2)=h(0)*v(1)+h(2)*v(0) w(3)=h(1)*v(1)+h(3)*v(0) w(4)=h(0)*v(2)+h(2)*v(1)+h(4)*v(0) w(5)=h(1)*v(2)+h(3)*v(1) w(6)=h(0)*v(3)+h(2)*v(2)+h(4)*v(1) w(7)=h(1)*v(4)+h(3)*v(2) 表4 表4より、各入力データ・シーケンス要素v(i)用
に、2つの出力データ・シーケンス要素w(2*i)及
びw(2*i+1)が発生したことが判る。全帯域及び
いくつかの判帯域補間FIRフィルタの遅延は、d=(N
−1)/2であり、dは、出力シーケンス要素の数で表せ
る。一方、その他の半帯域補間フィルタの遅延は、d=
[(N−1)/2]−1である。補間フィルタにとって、
第1入力データ・シーケンス要素に同期して出力シーケ
ンス要素を発生するために、フィルタの長さNは、奇数
でなければならない。補間係数L=2、遅延dの奇数の
長さの補間FIRフィルタにとって、出力データ・シーケ
ンス要素w(d)は、入力データ・シーケンス要素v
(0)に同期している。よって、例えば、長さN=5、
補間係数L=2の全帯域補間フィルタの遅延は、2であ
る。したがって、出力データ・シーケンス要素w(2)
は、入力データ・シーケンス要素v(0)と同相であ
る。
よって、本発明によれば、複数の直接フィルタ、間引き
フィルタ及び/又は補間フィルタをカスケード接続した
とき、かかるフィルタのカスケード接続が、その入力デ
ータ・シーケンスの第1要素に同期した出力データ・シ
ーケンス要素を確実に発生するために、奇数長さフィル
タを用いる。さらに、間引きフィルタの場合、上述の式
[3]及び[4]を満足するように、遅延d、間引き係
数M及びシーケンス選択定数Cの組合わせを選ぶ。
さらに、多段フィルタが発生した出力データ・シーケン
スの第1要素が入力データ・シーケンスの第1要素と確
実に同相になるために、第1段以外の各段が前段への第
1入力要素と同相であり前段が発生した第1出力要素W
(J)を入力として受けるまで、これら各段の動作を抑
圧する。前段が直接FIRフィルタのとき、jは、前段の
遅延dに等しい。前段が補間FIRフィルタであるとき、
j=dである。なお、dは、このフィルタの遅延であ
る。前段が間引きFIRフィルタであるとき、jは、上述
の式[3]及び[4]を満足する値である。
第1図は、本発明が実現するように適応させたプログラ
マブル多段フィルタ(10)のブロック図である。選択可
能な長さN、補間係数L、間引き係数M、及び/又はシ
ーケンス選択定数Cの直接FIRフィルタ、間引きFIRフィ
ルタ又は補間FIRフィルタのいずれかの機能を実行する
ように、各段は、選択的にプログラムされている。さら
に、各フィルタ段が、前段の第1入力シーケンス要素に
同期し、前段が発生した第1出力要素を入力として受け
るまで、これら各段の動作は抑制される。
多段フィルタ回路(10)は、シーケンス発生器(12)が
発生した入力データ・シーケンスXを出力データ・シー
ケンスYに変換し、この出力データ・シーケンスを宛先
装置(14)に供給する。このフィルタ回路(10)は、入
力データ・シーケンスXの要素の値に応じて出力データ
・シーケンスYの各要素を計算するデータ処理手段であ
るデータ・パス装置(16)を具えている。また、フィル
タ回路(10)は、データ制御手段であるステート・マシ
ン(18)も含んでいる。このステート・マシン(18)
は、データ及び制御信号をデータ・パス装置(16)に送
って、その動作を制御する他、シーケンス発生器(1
2)、データ・パス装置(16)及び宛先回路(14)間の
データ伝送も制御する。
ステート・マシン(18)の基本的機能は、パターン・デ
ータの入力に応じて予め定めたパターン・データ及び制
御信号を出力することであり、種々の周知の手段で実現
し得る。第1図に示す如く、、ステート・マシン(18)
は、好適には、ランダム・アクセス・メモリ(RAM)(2
0)と、外部クロックで駆動されるレジスタ(22)とを
含んでいる。RAM(20)は、通常、読出しモードで動作
し、RAM(20内のアドレス指定されたデータがレジスタ
(22)に入力される。レジスタ(22)の出力の中で、デ
ータ及び制御信号はデータ・パス装置(16)に入力し、
アクノリッジ信号(XACK)はシーケンス発生器(12)に
入力し、レディ信号(YRDY)は宛先装置(14)に入力す
る。また、レジスタ(22)は、ステート・データも記憶
しており、それらをマルチプレクサ(MUX)(24)を介
してRAM(20)のアドレス端子に帰還する。シーケンス
発生器(12)が出力するデータ・レディ信号(XRDY)及
び宛先装置(14)が出力するデータ・アクノリッジ信号
(YACK)は、マルチプレクサ(24)を介してRAM(20)
の別のアドレス端子に入力する。
デジタル・フィルタ(10)の動作を再プログラムするた
めに、ホスト・コンピュータ(26)がRAM(20)の記憶
データを変更しても良い。このコンピュータ(26)は、
RAM(20)のデータ入力端子に接続しているほか、マル
チプレクサ(24)を介してRAM(20)のアドレス端子に
も接続している。ホスト・コンピュータ(26)は、マル
チプレクサ(24)の切替え状態と、RAM(20)の読出/
書込制御端子とを制御する。ホスト・コンピュータ(2
6)は、マルチプレクサ(24)を介してRAM(20)のアド
レス端子に入力するRESET信号によりステート・マシン
(18)を初期状態にリセットしたり、マルチプレクサ
(24)を介してRAM(20)のアドレス端子に入力するHAL
T信号によりステート・マシン(18)の状態変化を禁止
したりできる。
第3図は、第1図のデータ・パス装置(16)を簡単に示
したブロック図である。このデータ・パス装置(16)
は、乗算器(30)及び累算器(32)を含んでいる。乗算
器(30)は、入力シーケンス項V(i)を係数h(n)
と乗算して、積の項を発生する。累算器(32)は、乗算
器(30)の出力を累算(加算)して、出力シーケンス要
素w(i)を生成する。よって、例えば、フィルタの長
さN=3(表1参照)の式[1]に示した直接FIRフィ
ルタにとって、出力データ・シーケンスwの要素w
(i)を計算する過程において、乗算器(30)は、各入
力シーケンス要素v(i)を3つの係数h(0)、h
(1)及びh(2)と乗算し、この結果得られた積を別
の累積部分和R(i)、R(i+1)及びR(i+2)
に加算する。これら累積部分和は、夫々出力データ・シ
ーケンスの要素w(i)、w(i+1)及びw(i+
2)に関連ている。特定のフィルタ段の出力シーケンス
の要素w(i)に関連する総ての項が累積されると、こ
の累算された部分和R(i)がフィルタ段出力要素w
(i)となる。
各フィルタ段では、乗算器(30)で乗算される次の入力
データ・シーケンス要素が、マルチプレクサ(31)によ
って選択される。乗算器(30)がカスケード接続された
フィルタの第1段用の項を発生する場合には、マルチプ
レクサ(31)は、カスケード接続されたフィルタの入力
データ・シーケンスの要素X(i)を選択する。乗算器
(30)が、カスケード・フィルタの第1段以外のフィル
タ段用の項を発生する場合には、前段のフィルタ段が最
終出力データ・シーケンス要素であるw′(i)を、マ
ルチプレクサ(31)が選択する。乗算器(30)に入力す
る適当な係数h(n)は、第1図のステート・マシン
(18)から供給される。
累算器(32)は、加算器(34)及びRAM(36)を含んで
いる。加算器(34)は、乗算器(30)の各出力項をRAM
(36)に記憶されている累積和Rに加算する。加算器
(34)の加算出力は、RAM(36)に蓄積され、累積和R
を加算結果と置換される。RAM(36)のアドレスは、第
1図のステート・マシン(18)が発生したアドレス信号
(ADDR)によって制御される。RAM(36)のデータ出力
は、1組のAND(アンド)ゲート(38)を介して加算器
(34)に入力している。これらANDゲート(38)の他方
の入力は、第1図のステート・マシン(18)が発生した
信号(NADD)により制御される。NADD信号が低状態(論
理「0」)の時、RAM(36)の現在のアドレス指定され
たデータではなく、「0」値を加算器(34)に出力す
る。乗算器(30)の出力がRAM(36)で累算される和の
第1項のときに、加算器(34)がその項にゼロを単に加
算して、その値をRAM(36)に蓄積するように、NADD信
号は、「低」に駆動される。加算器(34)の出力は別の
1組のANDゲート(40)を介してRAM(36)データ入力端
子に結合される。ステート・マシン(18)が発生した信
号(NLOAD)が、これらANDゲート(40)の他方の入力端
子に供給され、RAM(36)が加算器(34)の出力ではな
くゼロ値を蓄積しようとするとき、このNLOAD信号は
「低」に駆動される。NLOAD信号により、RAM(36)の任
意の記憶位置の内容が必要に応じて0に初期化される。
[1]式による伝達関数の直接全帯域FIRフィルタ段を
実現するに際し、このフィルタ段に対し、合計でN−1
個の記憶位置がRAM(36)の中に割り当てられ、N−1
個の項の累積を可能にする。例えば、N=3の時、RAM
(36)の中に2つの記憶位置が用意され、出力データ・
シーケンスの次の2つの要素w(i)及びw(i+1)
を得るために累算部分和R(i)及びR(i+1)が蓄
積されている。最初、乗算器(30)の一方の入力端子に
v(i)が入力すると、ステート・マシン(18)は、乗
算器(30)の他方の入力端子に係数h(0)を入力し、
乗算器(30)は、項h(0)*v(i)を出力する。そ
の後、加算器(34)が、この項をRAM(36)に記憶され
ているw(i)用の累積部分和R(i)に加算し、その
結果、このフィルタ段の次の要素w(i)が得られる。
このw(i)は、RAM(36)には記憶されない。その代
わり、ANDゲート(40)に入力するNLOAD信号が「低」に
駆動され、w(i)に関連したRAM(36)の記憶位置に
あった累積和R(i)の値が0に初期化される。その
後、この記憶位置は、出力データ・シーケンス要素w
(i+N−1)に関連した部分和R(i+N−1)を累
積するために使用される。
ステート・マシン(18)は、次に、係数h(1)を乗算
器(30)に入力し、乗算器(30)から項h(1)*v
(i)が出力される。加算器(34)は、この項をRAM(3
6)に蓄積された要素w(i+1)用の累積和に加算す
る。この結果の部分和は、要素w(i+1)を構成する
総ての項を含んでいないが、RAM(36)に蓄積され、R
(i+1)の最終累積値を更新する。
次に、ステート・マシン(18)は、係数h(2)を乗算
器(30)に入力し、もう1つの項h(2)*v(i)を
発生させる。この項h(2)*v(i)はフィルタ段の
出力データ・シーケンス要素w(i+2)の第1項であ
る。ANDゲート(38)に入力するNADD信号が「低」に駆
動すると、加算器(34)は、この項にゼロを加算する。
加算器(34)の出力値は、部分和R(i+2)としてRA
M(36)に記憶されるが、記憶されるアドレスは、フィ
ルタ段の現在の出力データ・シーケンスの要素w(i)
に対応する累積部分和R(i)が以前記憶されていたア
ドレスである。この時点で、マルチプレクサ(31)から
乗算器(30)に新しい入力データ・シーケンスの要素v
(i+1)が入力し、その後、このv(i+1)に3つ
の係数h(0)、h(1)及びh(2)を乗算して、こ
れらの項を累算するという上記の過程が繰り返される。
従って、マルチプレクサ(31)が特定のフィルタ段への
入力データ・シーケンスの要素v(i)を選択する度
に、乗算器(30)は合計N個の項を出力し、N個の項の
中の1つが出力データ・シーケンスの要素w(i)を得
る為に累積部分和R(i)に加算され、残りのN−1個
の項は、w(i+1)からw(i+N−1)までの出力
データ・シーケンスの要素に対応しているR(i+1)
からR(i+N−1)までのN−1個の部分和に夫々累
積される。
加算器(34)が累積部分和R(i)に最後の項を加算し
て、特定のフィルタ段の出力データ・シーケンスの要素
w(i)を生成し、且つこの特定のフィルタ段が縦続フ
ィルタ段の最後段であったとき、データ・パス装置(1
6)は、出力データ・シーケンスYの次の要素Y(i)
としてw(i)を出力する。しかし、加算器(34)の現
在の出力w(i)がフィルタ段の最後段の出力でなけれ
ば、このw(i)は他のRAM(42)に記憶される。RAM
(42)は、フィルタ段の最後段以外の中間段の最新の出
力データ・シーケンスの要素w(i)を記憶している。
フィルタ段は縦続接続しているので、1つのフィルタ段
の出力データ・シーケンスの要素w(i)は、次のフィ
ルタ段の入力データ・シーケンスの要素になる。その
為、各中間フィルタ段では、RAM(42)に記憶された出
力要素w(i)は、マルチプレクサ(31)に入力するデ
ータ・シーケンスw′の次の要素w′(i)になり、マ
ルチプレクサ(31)が選択した次の要素v(i)が乗算
器(30)に供給される。したがってRAM(42)及びマル
チプレクサ(31)が設けた加算器(34)の出力及び乗算
器(31)間の「帰還」経路により、「時分割」を基本と
したいくつかのフィルタ段の機能を実行することによっ
て、カスケード接続されたフィルタ段としてデータ・パ
ス装置(16)が動作できる。例えば、乗算器(30)及び
累算器(32)は、入力データ・シーケンス要素を第1段
として処理するために、乗算器(30)の入力としてデー
タ・シーケンスvの要素v(i)を選択し、その後、第
2段として入力データ・シーケンスを処理するために、
乗算器(30)の入力としてデータ・シーケンスw′の要
素w′(i)を選択し、その後、第1段の次の入力デー
タ・シーケンス要素v(i+1)を処理するために、乗
算器(30)のに入力データ・シーケンス要素v(i+
1)を供給する。
データ処理装置が、段の計算に逆順序に優先度を与える
ように、即ち、最終段が最高位の優先度になり、第1段
が最下位の優先度になるように、ステート・マシン(1
8)は、データ・パス装置(16)を操作する。したがっ
て、フィルタ段の最後段の入力データ・シーケンスの要
素がRAM(42)に記憶されているとき、その要素が乗算
器(30)に次の入力として供給される。逆に、データ・
パス装置(16)の入力データ・シーケンスの要素X
(i)が乗算器(30)に入力するのは、RAM(42)の内
容が空のときだけである。このように、後続のフィルタ
段の計算が、前段のフィルタ段の計算により常に優先的
に実行される。さらに本発明によれば、前段が、この前
段の入力シーケンスの第1要素と同相の出力シーケンス
要素w(j)を発生するまで、各段への入力データの供
給を抑制する。
第4図は、データ・パス装置(16)のより詳細なブロッ
ク図である。詳細に関しては後述するが、データ・パス
装置(16)では、各処理段階のデータをクロック駆動す
るラッチ及びレジスタを使用して、マルチプレクサ(3
1)、乗算器(30)、加算器(34)及びRAM(42)でデー
タを「パイプライン処理」することにより、データの処
理速度を向上している。これによって、各処理段階が同
時に進行し得る。シフト・レジスタ(58)は、乗算器
(30)が発生した出力項の値を2の累乗で決まる比率で
増減したり、或いはそのままの値を出力したりする等の
選択が出来るので、出力項の割合を選択的に調整し得
る。累算器(32)が、(詳細に後述する)直線位相FIR
フィルタ段の累積動作を実行する速度は、2重ポートRA
M型(36)と、加算器(34)の累積動作を支援する追加
した加算器(35)を用いることにより改善される。ま
た、データ・パス装置(16)のデータの流れを必要に応
じて一時的に停止するための手段も含まれている。
更に第4図を参照し、データ・パス装置の18ビットの入
力データ・シーケンスの要素X(i)は、マルチプレク
サ(31)の入力端子に接続されたラッチ(50)にラッチ
され、マルチプレクサ(31)の出力及び18ビットの係数
h(n)は、乗算器(30)の入力端子に接続されたラッ
チ(52)及び(54)に夫々ラッチされる。乗算器(30)
の22ビットの出力は、ラッチ(56)を介してシフト・レ
ジスタ(58)に入力し、シフト・レジスタ(58)の21ビ
ットの出力の上位側20ビットが加算器(34)及び(35)
に供給される。マルチプレクタ(60)は、加算器(34)
及び(35)の20ビットの出力を切り換えてレジスタ(6
2)の入力に供給し、一方、レジスタ(62)の内容の上
位側18ビットが丸め回路(64)に入力される。丸め回路
(64)の18ビットの出力は、ラッチ(66)及びRAM(4
2)のデータ入力端子に入力される。
加算器(34)の出力及びNLOADA信号は、20個1組のAND
ゲート群(40)に入力され、ANDゲート群(40)の出力
は2重ポート型RAM(36)のポートAのデータ入力端子
に供給される。RAM(36)のポートAのデータ出力は、N
ADDA信号と共に20個1組のANDゲート群(38)に入力さ
れ、ANDゲート群(38)の出力は加算器(34)に入力さ
れる。同様に、加算器(35)の出力及びNLOADB信号が20
個1組のANDゲート群(41)の入力端子に入力され、AND
ゲート群(41)の出力はRAM(36)のポートBのデータ
入力端子に供給される。ポートBのデータ出力は、NADD
A信号と共に20個1組のANDゲート群(39)に入力され、
このANDゲート群(39)の出力は、加算器(35)に供給
される。システム・クロック信号(CLOCK)によって駆
動されるNANDゲート(80)の出力(書込みイネーブル)
に応じて1対のラッチ回路(68)及び(70)が、第1図
のステート・マシン(18)からのRAMADDRA信号及びRAMA
DDRB信号を夫々ラッチし、それらをRAM(36)のポート
A及びBのアドレス端子に夫々送る。ステート・マシン
(18)が発生したWEDAR信号及びWEDBR信号は、夫々ポー
トA及びBを読出しイネーブル状態或いは書込みイネー
ブル状態に制御する。
[2]式の直接FIRフィルタの伝達関数に従ってフィル
タ段を動作させる際に、第1図のステート・マシン(1
8)が、シーケンス発生器(12)からXRDY信号を受けて
入力データ・シーケンスXの18ビットの要素X(i)が
ラッチ回路(50)に入力される場合、ステート・マシン
(18)は、WEIN信号をラッチ回路(50)に供給して要素
X(i)をマルチプレクサ(31)に入力させる。その
後、ステート・マシン(18)がX(i)が処理されると
判断すると、ステート・マシンからINPSTG信号がマルチ
プレクサ(31)に送られ、マルチプレクサ(31)はラッ
チ回路(52)にX(i)を入力する。同時に、ステート
・マシン(18)は、18ビットの係数h(0)をラッチ
(54)に入力する。ステート・マシン(18)は、乗算器
(30)が最後の乗算処理を完了したと判断すると、ステ
ート・マシン(18)は、イネーブル信号(WEX)をNAND
ゲート(72)に送り、NANDゲート(72)の出力によりラ
ッチ回路(52)及び(54)がイネーブルされ、X(i)
及びh(0)が乗算器(30)に供給される。その後、乗
算器(30)はh(0)*v(i)を算出し、これをラッ
チ回路(56)にラッチする。ラッチ回路(56)は、NAND
ゲート(74)を介してシステム・クロック信号(CLOC
K)によりイネーブルされ、乗算器(30)の22ビットの
出力をシフト・レジスタ(58)に送る。
ステート・マシン(18)は、1対の制御信号SHFL信号及
びSHFR信号をシフト・レジスタ(58)の制御端子に供給
している。SHFL信号のみが入力したとき、シフト・レジ
スタ(58)は入力データを2倍したデータの上位側21ビ
ットを加算器(34)及び(35)に送る。SHFR信号のみが
入力したとき、シフト・レジスタ(58)は、入力データ
を2で割り算する。もし、SHFL信号及びSHFR信号のどち
らも入力しない場合には、シフト・レジスタ(58)は、
入力データの上位側21ビットをそのまま加算器(34)及
び(35)に出力する。シフト・レジスタ(58)は21ビッ
トの出力データを発生するが、その内の上位側20ビット
だけが加算器(34)及び(35)の入力端子に供給され
る。残りの最下位ビットは、加算器(34)及び(35)の
桁上げ入力端子(CIN)に供給され、乗算器(30)の出
力を丸めるために用いられる。
追加された加算器(35)は、フィルタ段の加算器(34)
と共に「対称な」係数を用いて累積動作を同時に実行す
るためにある。「対称な」係数とは、即ち、線形位相FI
Rフィルタ段の総てのh(n)について互いに、h
(n)=h(N−1−n)である2つの係数のことであ
る。例えば、N=7の時、h(0)=h(6)、h
(1)=h(5)、h(2)=h(4)等となる。係数
が対称であれば、乗算器(30)の出力項h(n)*v
(i)の値はh(N−1−n)*v(i)の値に等し
い。したがって、2重ポート型RAM(36)に単独でアク
セスし得る加算器(35)は、加算器(34)が項h(n)
*v(i)の累積を実行するのと同時にh(n)*v
(i)の値を用いてh(N−1−n)*v(i)の累積
を実行する。これによって、データ・パス装置(16)が
対称係数フィルタ段への入力データ列の要素を処理する
速度は、実質的に2倍にできる。
加算器(34)及び(35)が、出力データ列の要素w
(i)に関する累積和R(i)の累積動作を完了してい
る場合には、ステート・マシン(18)はSPBTQ信号をマ
ルチプレクサ(60)に送って加算器(34)及び(35)の
出力をレジスタ(62)の入力端子に供給する。その後、
ステート・マシン(18)は、イネーブル信号(WESTG)
をNANDゲート(76)に送り、NANDゲート(76)の出力で
レジスタ(62)をイネーブルする。レジスタ(62)の内
容の上位側18ビットは、丸め回路(64)の入力端子に供
給され、他方、最下位側の2ビット(LSB1)及び(LSB
2)と、最上位ビット(MSB)は、丸め回路(64)の制御
端子に供給される。丸め回路(64)は、次の表5に示し
た真理値表に従って、18ビットの入力データを増分(イ
ンクリメント)する。
増分 MSB LSB1 LSB2 NO 0 0 0 NO 0 0 1 YES 0 1 0 YES 0 1 1 NO 1 0 0 NO 1 0 1 NO 1 1 0 YES 1 1 1 表5 丸め回路(64)の18ビットの出力がデータ・パス装置
(16)の出力データ列の要素Y(i)であるとき、ステ
ート・マシン(18)は、イネーブル信号(WEOUT)をNAN
D(ナンド)ゲート(78)の入力端子に供給する。NAND
ゲート(78)の出力により、データ・パス装置(16)の
出力端子上のラッチ回路(66)は、Y(i)をラッチす
る。その後、ステート・マシン(18)は第1図の宛先装
置(14)にYRDY信号を送り、宛先装置(14)は、YACK信
号をステート・マシン(18)に送ってデータの受領を知
らせる。
丸め回路(64)の出力w(i)が、フィルタ段の最終段
以外の中間フィルタ段の出力である場合、ステート・マ
シン(18)は、アドレス信号(ADRSTR)を用いてその中
間フィルタ段に対応するRAM(42)の記憶位置をアドレ
ス指定する。その後、ステート・マシン(18)は、WEST
R信号をNANDゲート(82)に送り、その出力によりRAM
(42)をイネーブルしてw(i)を記憶させる。その
後、ステート・マシン(18)が、記憶したw(i)の値
を次のフィルタ段の入力信号として処理すべきであると
判断すると、上述の優先順位に従ってステート・マシン
(18)はRAM(42)に適当なアドレス信号(ADRSTR)を
送り、w(i)の値を読み出す。
NANDゲート(72)、(74)、(76)、(78)、(80)及
び(82)は、夫々他方の入力端子にステート・マシン
(18)からNSTOP信号を受け、NSTOP信号が低状態になる
と、ラッチ回路(52)、(54)、(56)、(66)、(6
8)及び(70)、レジスタ(62)並びにRAM(42)は、総
て書込み禁止状態になる。NSTOP信号はRAM(36)のポー
トA及びBの入力端子にも供給され、NSTOP信号が入力
されるとRAM(36)はアドレス指定できなくなる、すな
わちアクセス不能になる。従って、NSTOP信号が発生し
た場合には、データ・パス装置(16)のデータ処理動作
は停止する。ステート・マシン(18)がNSTOP信号を低
状態に駆動するのは、データ・パス装置(16)のデータ
を処理するパイプラインが一杯になり、宛先装置(14)
が他の出力データ列の要素Y(i)を受け入れ不能にな
った場合である。
第4図において、フィルタ段が、上述の式[2]に応じ
た伝達関数を有し、例えば、長さN=3、間引き係数M
=2、シーケンス選択係数C=1(表3参照)の間引き
フィルタのとき、第1図のステート・マシン(18)は、
INPSTG信号を設定して、v(0)をラッチ回路(52)の
入力に供給し、ラッチ回路(54)の入力にh(1)を入
力し、WEX信号を出力して、乗算器(30)の入力にh
(1)及びv(0)をラッチする。乗算器(30)の出力
は、ラッチ回路(56)によりラッチされ、シフト・レジ
スタ(58)を介して加算器(34)に供給される。NADDA
が「低」に駆動されると、加算器(34)は、h(1)*
v(0)を0に加算して、その加算結果を部分和R
(0)としてRAM(36)に蓄積する。
次に、マルチプレクサ(31)の入力端子にv(1)が供
給されると、第1図のステート・マシン(18)は、INPS
TG信号によりマルチプレクサ(31)を設定してv(1)
をラッチ回路(52)の入力端子に供給し、且つラッチ回
路(54)の入力端子にh(1)を入力する。その後、ス
テート・マシン(18)は、WEX信号を供給して乗算器(3
0)の入力端子にh(1)及びv(1)を供給する。乗
算器(30)の出力は、ラッチ回路(56)及びレジスタ
(58)を介して加算器(34)に供給される。NADDA信号
が高状態に駆動されると、加算器(34)は、h(1)*
v(1)を累積部分和R(1)に加算してh(1)*v
(1)+h(2)*v(0)を算出し、その値を出力シ
ーケンス要素w(0)とする。ステート・マシン(18)
は、h(2)をラッチ回路(54)の入力に供給し、WEX
信号を出力して、h(2)及びv(1)を乗算器(30)
の入力にラッチする。乗算器(30)の出力は、ラッチ回
路(56)及びシフト・レジスタ(58)を介して加算器
(34)に供給される。NADDAが再び「低」に駆動される
と、加算器(34)は、h(2)*v(1)を0に加算し
て、その結果を部分和R(1)としてRAM(36)に蓄積
する。
マルチプレクサ(31)の入力端子にv(2)が供給され
ると、第1図のステート・マシン(18)は、INPSTG信号
によりマルチプレクサ(31)を設定して、ラッチ回路
(52)の入力端子にv(2)を供給し、h(1)をラッ
チ回路(54)に入力し、WEX信号を供給して係数h
(0)及びシーケンス要素v(2)をラッチして、乗算
器(30)に入力する。乗算器(30)の出力は、ラッチ回
路(56)及びレジスタ(58)を介して加算器(34)に送
られる。NADDA信号が「高」に駆動されると、加算器(3
4)はh(1)*v(2)を累積和R(1)に加算し、
h(1)*v(2)+h(2)*v(1)が算出され、
この計算計画を前の累積和R(1)の代わりに、RAM(3
6)に蓄積する。
その後の入力データ列の要素v(i)に関して、上述と
同様の乗算及び累積処理が実行され、iが奇数の場合に
は、v(i)はh(0)及びh(2)と夫々乗算され、
これら2つの乗算結果が連続する2つの累積部分和R
(i)及びR(i+1)として累積される。また、iが
偶数の場合、v(i)は、h(1)と乗算され、この乗
算結果が1つだけの累積部分和R(i)として累積され
る。式[2]、表3、及び上述の説明から、フィルタ回
路(10)には、入力データ列より出力データ列の要素の
数が少なくなる間引きフィルタ段を含めても良く、フィ
ルタ段の入出力データ列の関係を決める伝達関数はプロ
グラムによって決定されることが判る。
各間引きフィルタ段用の長さN、間引き係数M、シーケ
ンス選択係数Cを含む伝達関数を独立に調整でき、乗算
器(30)に与えた項h(n)の数及び値を調整すると共
に、累算器(32)が積の項を累積する方法を変更するこ
とにより、上述の式[3]及び[4]を満足させられ
る。よって、フィルタ(10)は、段の出力データ・シー
ケンスの第1要素がその入力データ・シーケンスの第1
要素と同相である間引きフィルタ段を実現できる。
フィルタ段が、例えば、N=5の上述の式[5]及び
[6]に応じた伝達関数を有する補間フィルタのとき、
第1図のステート・マシン(18)は、先ず、v(0)を
ラッチ回路(52)の入力に供給するようにINPSTG信号を
設定し、h(0)をラッチ回路(54)の入力に供給し、
WEX信号を出力して、h(0)及びv(0)を乗算器(3
0)の入力にラッチする。ラッチ回路(56)及びシフト
・レジスタ(58)により、乗算器(30)の出力を加算器
(34)に供給する。NADDAが「低」に駆動されると、加
算器(34)は、h(0)*v(0)を0に加算し、その
結果を出力データ・シーケンス要素w(0)として発生
する。h(1)及びv(0)を乗算器(30)の入力にラ
ッチするために、ステート・マシン(18)は、h(1)
をラッチ回路(54)の入力に供給し、WEX信号を出力す
る。乗算器(30)の出力を加算器(34)に供給し、NADD
Aが再び「低」に駆動されると、加算器(34)は、h
(1)*v(0)を0に加算する。マルチプレクサ(6
0)は、その結果をレジスタ(62)に供給して、出力デ
ータ・シーケンス要素w(1)を与える。
次に、ステート・マシン(18)は、h(2)をラッチ回
路(54)の入力に供給し、WEX信号を出力して、乗算器
(30)の入力にh(2)及びv(0)をラッチする。乗
算器(30)の出力を加算器(34)に供給する。NADDAが
依然「低」なので、加算器(34)はh(2)*v(0)
を0に加算して、その結果の部分和R(2)をRAM(3
6)に蓄積する。ステート・マシン(18)は、次に、h
(3)をラッチ回路(54)の入力に供給し、WEX信号を
出力して、h(3)及びv(0)を乗算器(30)の入力
にラッチする。NADDAが依然「低」なので、加算器(3
4)は、その後、積h(3)*v(0)を0に加算し
て、その結果の部分和R(3)をRAM(36)に蓄積す
る。最後に、ステート・マシン(18)は、h(4)をラ
ッチ回路(54)の入力に供給し、WEX信号を出力して、
h(4)及びv(0)を乗算器(30)の入力にラッチす
る。NADDAがまだ「低」なので、加算器(34)は、その
後、積h(4)*v(0)を0に加算して、部分和R
(4)を発生する。この部分和は、総てRAM(36)に蓄
積される。
その後、入力データ・シーケンス要素v(1)がマルチ
プレクサ(31)の入力にて利用可能のとき、ステート・
マシン(18)は、v(1)をラッチ回路(52)の入力に
供給するようにINPSTG信号を設定する。ステート・マシ
ン(18)により、データ乗算器(30)は、項h(0)*
v(1)、h(1)*v(1)、h(2)*v(1)、
h(3)*v(1)、h(4)*v(1)を順次発生
し、累算器(32)は、これらの項を和R(2)〜R
(6)に夫々累積し、この過程において、累算器(32)
は、出力データ・シーケンス要素w(2)及びw(3)
を発生する。その後の入力データ・シーケンス要素v
(i)を同様に処理して、各入力データ・シーケンス要
素に対して2つの出力データ・シーケンス要素w(2*
i)及びw(2*i+1)を発生する。
各補間フィルタ段に対して、長さN及び補間係数Lを含
む伝達関数は、x(i)の各要素に対してマルチプレク
サ(30)に供給した項h(n)の数及び値を調整するこ
とにより独立に調整できる点に留意されたい。また、こ
の方法においては、累算器(32)が積の項を累積する。
よって、フィルタ(10)は、奇数の長さNの補間フィル
タ段を実現できるので、出力データ・シーケンスの要素
は、入力シーケンス要素と同相である。
本発明の好適な実施例について、図示し、説明したが、
本発明の要旨を逸脱することなく種々の変更が可能なこ
とが、当業者には明らかであろう。
[発明の効果] 本発明のデジタル・フィルタによれば、複数のデジタル
・フィルタ段を縦続接続構成とし、その複数のデジタル
・フィルタ段の各々は伝達関数を調整可能とし、更に、
複数のデジタル・フィルタ段の各入力データ・シーケン
スの第1の要素と出力データ・シーケンスの第1要素が
同相となるまで後続のデジタル・フィルタ段の動作を抑
圧するようにしたので、フィルタ処理されるデータの入
出力間の位相が常に一致した状態で順次後続のデジタル
・フィルタ段に送られ、装置全体のデジタル・フィルタ
処理における位相の乱れを略完全に排除することが可能
になる。
【図面の簡単な説明】
第1図は本発明を実施した多段デジタル・フィルタのブ
ロック図、第2図はデジタル・フィルタの遅延及び位相
シフトを説明するタイミング図、第3図は第2図の多段
デジタル・フィルタに用いるデータ・パス装置の簡略化
したブロック図、第4図は第3図の詳細なブロック図で
ある。 (16):複数のデジタル・フィルタ段 (18):データ制御手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−220615(JP,A) 特開 昭57−115015(JP,A) 特開 昭63−296511(JP,A) 特開 昭59−185421(JP,A) 特開 昭53−76726(JP,A) 米国特許4835723(US,A) 欧州特許285317(EP,B)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】縦続接続された複数のデジタル・フィルタ
    段を有するデジタル・フィルタであって、 上記複数のデジタル・フィルタ段の各々は、 入力データ・シーケンスと出力データ・シーケンスとの
    間の伝達関数を調整し、上記入力データ・シーケンスの
    第1要素の位相と上記出力データ・シーケンスの第1要
    素の位相が同相となるまで、後続のデジタル・フィルタ
    段の動作を抑圧するデータ制御手段を具えることを特徴
    とするデジタル・フィルタ。
JP63081172A 1987-04-03 1988-04-01 デジタル・フィルタ Expired - Lifetime JPH07112144B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US34463 1987-04-03
US07/034,463 US4835723A (en) 1987-04-03 1987-04-03 Phase coordinated multistage digital filter

Publications (2)

Publication Number Publication Date
JPS63262912A JPS63262912A (ja) 1988-10-31
JPH07112144B2 true JPH07112144B2 (ja) 1995-11-29

Family

ID=21876585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63081172A Expired - Lifetime JPH07112144B2 (ja) 1987-04-03 1988-04-01 デジタル・フィルタ

Country Status (4)

Country Link
US (1) US4835723A (ja)
EP (1) EP0285317B1 (ja)
JP (1) JPH07112144B2 (ja)
DE (1) DE3870960D1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4835723A (en) 1987-04-03 1989-05-30 Tektronix, Inc. Phase coordinated multistage digital filter
JP2583610B2 (ja) * 1989-07-07 1997-02-19 三菱電機株式会社 A/d、d/a変換装置
US5068813A (en) * 1989-11-07 1991-11-26 Mts Systems Corporation Phased digital filtering in multichannel environment
US4999798A (en) * 1990-03-01 1991-03-12 Motorola, Inc. Transient free interpolating decimator
JP2953052B2 (ja) * 1990-11-30 1999-09-27 ソニー株式会社 デジタル映像信号処理装置
US5495496A (en) * 1991-09-26 1996-02-27 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for suppressing linear amplitude interference from bandspread communication signals
US5379242A (en) * 1993-09-01 1995-01-03 National Semiconductor Corporation ROM filter
US5841681A (en) * 1996-04-10 1998-11-24 United Microelectronics Corporation Apparatus and method of filtering a signal utilizing recursion and decimation
TW302578B (en) * 1996-04-10 1997-04-11 United Microelectronics Corp The digital filter bank structure and its application method
US7480603B1 (en) * 2006-08-16 2009-01-20 Altera Corporation Finite impulse response (FIR) filter compiler
JP4143703B2 (ja) * 2004-01-30 2008-09-03 テクトロニクス・インターナショナル・セールス・ゲーエムベーハー デジタル演算処理方法
US7702710B2 (en) * 2004-09-10 2010-04-20 Analog Devices, Inc. Digital signal processor optimized for interpolation and decimation
US7680869B2 (en) * 2005-03-30 2010-03-16 Stmicroelectronics Ltd. Interpolation and decimation using newton polyphase filters
DE102005043011A1 (de) * 2005-09-09 2007-03-15 Rohde & Schwarz Gmbh & Co. Kg Dezimierendes Filter und dezimierende Filterkaskade mit minimierter Einschwingzeit
DE102005043010A1 (de) * 2005-09-09 2007-03-15 Rohde & Schwarz Gmbh & Co. Kg Dezimierende Filterkaskade mit minimierter Einschwingzeit nach Reinitialisierung
US9313078B1 (en) * 2015-04-09 2016-04-12 Xilinx, Inc. Pulse cancellation crest factor reduction with a low sampling rate
EP4300130A1 (en) * 2021-02-25 2024-01-03 Mitsubishi Electric Corporation Data processing device and radar device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4835723A (en) 1987-04-03 1989-05-30 Tektronix, Inc. Phase coordinated multistage digital filter

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL176211C (nl) * 1974-09-16 1985-03-01 Philips Nv Interpolerend digitaal filter.
US4020332A (en) * 1975-09-24 1977-04-26 Bell Telephone Laboratories, Incorporated Interpolation-decimation circuit for increasing or decreasing digital sampling frequency
JPS5376726A (en) * 1976-12-20 1978-07-07 Toshiba Corp Synchronizing system digital filter
ATE14358T1 (de) * 1980-11-26 1985-08-15 Studer Willi Ag Verfahren und schaltungsanordnung zur umsetzung der abtastfrequenz einer abtastfolge unter umgehung der konversion in ein kontinuierliches signal.
JPS59185421A (ja) * 1983-04-06 1984-10-22 Nec Corp 信号処理装置
US4701874A (en) * 1983-04-06 1987-10-20 Nec Corporation Digital signal processing apparatus
DE3532536C1 (de) * 1985-09-12 1987-03-05 Swf Auto Electric Gmbh Wischblatt

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4835723A (en) 1987-04-03 1989-05-30 Tektronix, Inc. Phase coordinated multistage digital filter

Also Published As

Publication number Publication date
EP0285317A2 (en) 1988-10-05
EP0285317A3 (en) 1990-02-28
EP0285317B1 (en) 1992-05-13
US4835723A (en) 1989-05-30
DE3870960D1 (de) 1992-06-17
JPS63262912A (ja) 1988-10-31

Similar Documents

Publication Publication Date Title
US4715257A (en) Waveform generating device for electronic musical instruments
JPH07112144B2 (ja) デジタル・フィルタ
US7262716B2 (en) Asynchronous sample rate converter and method
US5471411A (en) Interpolation filter with reduced set of filter coefficients
JP2600236B2 (ja) サンプリング周波数変換回路
EP0227172B1 (en) Phase-locked loop coefficient generator for a filter arrangement having a non-rational ratio between input and output sampling frequencies
JPH0340972B2 (ja)
US5925093A (en) Sampling frequency converting apparatus
US9432043B2 (en) Sample rate converter, an analog to digital converter including a sample rate converter and a method of converting a data stream from one data rate to another data rate
EP0372350B1 (en) Programmable digital filter
JP4376973B2 (ja) サンプルレートコンバータ
US4809208A (en) Programmable multistage digital filter
JP4290783B2 (ja) データ速度を減少させる装置
US4701875A (en) High speed convolution arithmetic circuit with multiple counters
JP3245618B2 (ja) アナログ装置とディジタル装置との間の通信を行なうために、アナログ―ディジタル―アナログ変換装置とともに使用するのに適応できる装置
JP2001339279A (ja) フィルタ回路
JP4273323B2 (ja) 積和演算回路
JP3097599B2 (ja) ディジタルフィルタ
JP3258938B2 (ja) デシメーションフィルタ
JPH09298451A (ja) デジタルフィルタ回路およびその制御方法
JP4276258B2 (ja) 速度とフレキシビリティを最大にするためにハードウエアとソフトウエアを用いてサンプルレートコンバータを実装するシステム及び方法
JP2012085177A (ja) デシメータ回路及びデシメータ回路の演算方法
JPH03211910A (ja) ディジタルフィルタ
JPH02149011A (ja) サンプリング周波数変換装置
JPH0677769A (ja) Fir型ディジタルフィルタ

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: 20071129

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20081129

Year of fee payment: 13

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081129

Year of fee payment: 13