JP3071765B2 - 有限数の入力データをフィルタ処理対象とするディジタルフィルタ及びディジタルフィルタ処理方法 - Google Patents

有限数の入力データをフィルタ処理対象とするディジタルフィルタ及びディジタルフィルタ処理方法

Info

Publication number
JP3071765B2
JP3071765B2 JP10275655A JP27565598A JP3071765B2 JP 3071765 B2 JP3071765 B2 JP 3071765B2 JP 10275655 A JP10275655 A JP 10275655A JP 27565598 A JP27565598 A JP 27565598A JP 3071765 B2 JP3071765 B2 JP 3071765B2
Authority
JP
Japan
Prior art keywords
delay
data
delay element
pointer
filter processing
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
JP10275655A
Other languages
English (en)
Other versions
JP2000114932A (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 日本電気アイシーマイコンシステム株式会社
Priority to JP10275655A priority Critical patent/JP3071765B2/ja
Priority to EP99119295A priority patent/EP0991187A3/en
Priority to CN 99123928 priority patent/CN1254988A/zh
Publication of JP2000114932A publication Critical patent/JP2000114932A/ja
Application granted granted Critical
Publication of JP3071765B2 publication Critical patent/JP3071765B2/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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は汎用マイコンの有限
個数の入力データ数を持つディジタル・フィルタに関す
る。
【0002】
【従来の技術】最近、汎用マイコンの動作周波数が高速
化し、積和演算命令等のマルチメディア命令 を内蔵し
た汎用マイコンが出始めている。これに伴い、従来では
DSPで行なってきたフィルタ処理が 汎用マイコンとソフ
トウェアで実現される様になってきた。従来、汎用マイ
コンにおいては、ディジタルフィルタ処理はリングバッ
ファ形式のFIR(有限インパルス応答型ディジタルフィ
ルタ)によって実現されていた。
【0003】図4は遅延数pのリングバッファ形式のデ
ィジタルフィルタの要部の構成図である。このフィルタ
はp+1個のバッファと入力データポインタP1および遅延
データポインタP2を備えている。入力データポインタP1
は入力データを格納する位置を指定する。遅延データポ
インタP2は積和演算の初期時には、入力データポインタ
P1と同一のバッファ位置を指定し、その初期位置から出
発して、積和演算のためにタップ係数と乗算されるデー
タが格納されているバッファ位置を指示する。サンプリ
ングされた時系列データ D1, D2, D3, D4, ....... DP,
Dp+1, Dp+2,Dp+3, Dp+4 .... は、このディジタルフィ
ルタに次のように格納される。まず、データD1は、フィ
ルタの一端Y2側の最端にあるバッファに格納される。デ
ータD2はバッファの他端Y1側の最端にあるバッファに格
納される。データD3, D4, ....... DP, Dp+1は、データ
D2が格納されているY1側の端のバッファから順次にY2方
向に書き込まれる。したがって、データDp+1は、データ
D1が格納されているバッファのY1側の隣接バッファに格
納される。これで、データの書き込み位置が一巡する。
次のデータDp+2はデータD1上に上書きされる。以降、デ
ータDp+3, Dp+4.... はデータ D2, D3に上書きされる。
図4の(D1),(D2),(D3)は上書き前にその位置に書き込ま
れていたデータである。
【0004】上記のデータ格納の際に、データの格納位
置は入力データポインタP1によって指定される。すなわ
ち、入力データポインタP1は、まず、フィルタのY2側の
端のバッファを指定する。次に、入力データポインタP1
はY1側の端のバッファを指示する。以降、入力データポ
インタP1は順次にY2方向に向かってシフトして順次にバ
ッファを指定する。そうして、Y2方向最端のバッファを
指定した後には、次に、Y1方向最端のバッファを指定
し、以後、Y2方向にシフトする。図4において、入力デ
ータポインタP1は、現在、Y1側の端から2番目のバッフ
ァを指定している。それによって、データ Dp+4が、前
に格納されたデータD3上に上書きされている。
【0005】積和演算において、データとタップ係数と
の乗算は、入力データポインタP1が指定しているデータ
から開始して、データの格納順序に対して逆方向に行わ
れる。すなわち、遅延データポインタP2は、積和演算の
初期時には、入力データポインタP1と同一の値を持ち、
以降、Y1方向にシフトする。遅延データポインタP2がY1
側最端のバッファを指示すると、次に、遅延データポイ
ンタP2はY2側最端のバッファを指示する。図4におい
て、次のデータDp+5がデータD4上に上書きされるまで
に、遅延データポインタP2は順次に、データ Dp+4, D
p+3,D4, Dp+2, Dp+1,DP, ....... D4,を指定する。 そ
の結果、積和 Dp+4,+a1Dp+3+a2Dp+2+a3Dp+1+a4DP+
.......+apD4が演算される。
【0006】前掲のリングバッファ型ディジタルフィル
タにおいては、p+1個の遅延素子(バッファ)にデータ
がリング状に配列されている。例えば、図4に示されて
いる現在のデータ配置においては、最先に入力したデー
タD4と最後に入力したデータDp+4とが隣り合わせに配列
し、両端Y1、Y2を繋ぐとD4からDp+4までのデータが
D4....Dp,Dp+1,Dp+2,Dp+3,Dp+4の順序にリング状に配列
している。このリング状の配列によって少数のバッファ
で大量のデータを順次にフィルタ処理することができる
けれども、ポインタ管理が複雑で、ポインタをシフトす
るときには、その度に、ポインタがバッファの終端にき
ているか、否かをチェックする必要がある。
【0007】
【発明が解決しようとする課題】従来のディジタルフィ
ルタには、汎用マイコンでフィルタ処理を行う際に、次
の問題点がある。第1の問題点は、マルチメディア処理
ではリアルタイム性が要求されるので、マルチメディア
処理を更に高速化することが必要となってきたことであ
る。第2の問題点は、汎用マイコンにおいてフィルタ処
理を行う場合に、ポインタ管理が複雑なことである。そ
れは次の理由による。すなわち、従来、汎用マイコンに
おいて、ディジタルフィルタ処理はリングバッファ形式
のFIRによって実現されていた。しかし、リングバッフ
ァ形式のディジタルフィルタにおいてポインタ管理を行
なう場合には、ポインタを移動する度に、リングバッフ
ァの終端チェックが必要である。
【0008】本発明の目的は、フィルタ処理時間が高速
でポインタ管理が容易な、汎用マイコン用の有限入力デ
ータ数を持つディジタルフィルタを提供することにあ
る。
【0009】
【課題を解決するための手段】上記の課題を解決するた
めに、本発明のディジタルフィルタは、入力データ数が
有限値Nのデータ系列に、該系列の順にp個のタップ係数
を乗算してその乗算結果を累算する積和演算を実行す
る、遅延数pのFIR型ディジタルフィルタであって、入力
データ数Nと遅延数pとを合計した数p+Nの遅延素子の配
列を有し、フィルタ処理の初期設定時には、該配列の第
1の端側からp個の遅延素子には0が格納され、第1の
端側から数えてp+1番目の遅延素子から第2の端側に向
かってN個の遅延素子に、前記データ系列のN個の入力デ
ータがその系列順に、順次に格納される遅延器と、N個
の入力データでなるデータ系列のうち、積和演算の第1
項のデータが格納されている遅延素子を指定する第1の
ポインタ手段と、第1のポインタ手段が指定する遅延素
子から出発して、第1の端子側へ、当該第1のポインタ
手段が指定する遅延素子を含めてp+1個の遅延素子を順
次に指定する第2のポインタ手段と、該第2のポインタ
手段が指定する遅延素子に格納されているデータのう
ち、第1のポインタ手段が指定する遅延素子に格納され
ているデータを積和演算第1項とし、その他のデータ
に、予め、定められたp個のタップ係数を順次に乗算し
て、前記積和演算第1項と共に累算する積和演算手段を
有し、第1のポインタ手段は、フィルタ処理の初期時に
は、第1回目の積和演算の第1項のデータが格納されて
いる遅延素子として前記遅延器の第1の端側から数えて
p+1番目の遅延素子を指定し、第2のポインタ手段は、
第2のポインタ手段が順次に指定するp+1個の遅延素子
に格納されているデータの積和演算が終了したときに第
1のポインタ手段を制御して、第1のポインタ手段の指
定を、第2の端側に1遅延素子だけ移動させ、第1のポ
インタ手段の指定が移動すると、第1のポインタ手段が
指定する遅延素子から出発して、第1の端子側へ、当該
第1のポインタ手段が指定する遅延素子を含めて、順次
に、p+1個の遅延素子を指定し、前記のp+1個の遅延素子
の指定を当該フィルタ処理が終了まで、遅延時間として
設定されている時間毎に繰り返す。本発明のディジタル
フィルタ処理方法は、入力データ数が有限値Nのデータ
系列に、該系列の順にp個のタップ係数を乗算してその
乗算結果を累算する積和演算を実行する、遅延数pのFIR
型ディジタルフィルタ処理方法であって、入力データ数
Nと遅延数pとを合計した数p+Nの遅延素子を配列して遅
延器を構成し、フィルタ処理の初期設定時には、該配列
の第1の端側からp個の遅延素子に0を格納し、第1の
端側から数えてp+1番目の遅延素子から第2の端側に向
かってN個の遅延素子には、前記データ系列のN個の入力
データをその系列順に、順次に格納する初期設定処理
と、前記N個の入力データでなるデータ系列のうち、第
1回目の積和演算の第1項のデータが格納されている遅
延素子として前記遅延器の第1の端側から数えてp+1番
目の遅延素子を指定する第1のフィルタ処理と、第1の
フィルタ処理によって指定された遅延素子から出発し
て、第1の端子側へ、当該第1のフィルタ処理によって
指定される遅延素子を含めてp+1個の遅延素子を順次に
指定する第2のフィルタ処理と、該第2のフィルタ処理
によって指定される遅延素子に格納されているデータの
うち、第1のフィルタ処理において指定された遅延素子
に格納されているデータを積和演算第1項とし、その他
のデータには、予め、定められたp個のタップ係数を順
次に乗算して、前記積和演算第1項と共に累算する第3
のフィルタ処理と、第3のフィルタ処理が終了したとき
に第2回目の積和演算第1項のデータを格納する遅延素
子として第1のフィルタ処理による指定位置を遅延器の
第2の端側に1遅延素子だけ移動する第4のフィルタ処
理と、第4のフィルタ処理によって指定された遅延素子
から出発して、第1の端子側へ、当該第3のフィルタ処
理によって指定される遅延素子を含めてp+1個の遅延素
子を順次に指定する第5のフィルタ処理と、該第5のフ
ィルタ処理によって指定される遅延素子に格納されてい
るデータのうち、第1のフィルタ処理において指定され
た遅延素子に格納されているデータを積和演算第1項と
し、その他のデータには、予め、定められたp個のタッ
プ係数を順次に乗算して、前記積和演算第1項と共に累
算する第6のフィルタ処理と、以後、第3乃至第6のフ
ィルタ処理と同様の処理を第N回目の積和演算が終了す
るまで繰り返す処理を含んでいる。
【0010】
【作用】説明の便宜上、遅延素子に次のように識別番号
をつける。遅延器の第1の端側の最端の遅延素子番号を
1とし、遅延器の第1の端とは反対側にある第2の端側
の最端の素子番号をp+Nとして、その間の遅延素子には
連続的な整数の識別番号を与える。そうして、識別番号
j(1≦j≦p+N)の遅延素子を「番号jの遅延素子」と呼称
する。
【0011】本発明においては、p+N個の遅延素子のう
ち、番号1から番号pまでのp個の遅延素子には0(初期設
定値)を格納し、番号p+1から番号p+NまでのN個の遅延
素子には入力データの系列を格納する。N個のデータD1,
D2,.....DNはこの順序に番号p+1から番号p+Nまでの遅
延素子に格納される。
【0012】以上のように、記号の設定をすると、本発
明は次のように説明される。前掲のリングバッファ形デ
ィジタルフィルタがリング状に配列されたp+1個の時系
列データの積和演算をすることと対照的に、本発明にお
いては、直線状に配列されたp+1個の連続したデータ系
列(連続した整数の識別番号が付けられている)につい
て積和演算をする。
【0013】j番目の積和演算の数式的表現は従来技術
と同様に、次式で表されることは勿論である。
【0014】 Xj = Dj+a1Dj-1+a2Dj-2....+apDj-p (1) 式(1)から分かるように、第j回目の積和演算Xjの第1項
のデータはDjであって、このデータは番号p+jの遅延素
子に格納されている。
【0015】第1のポインタ手段が指定する遅延素子の
位置は、積和演算の回数に対応し、第j回目の積和演算
の期間中には、番号p+jの遅延素子を指示している。そ
して積和演算の回数が進むに従って、p+j,p+j+1,p+j+
2...,p+Nのように、遅延素子番号が増加する方向に(第
2の端側に)指定を移動させる。
【0016】第2のポインタ手段は、第j回目の積和演
算の期間中には、番号p+jの遅延素子から出発して順次
に番号p+j,p+j-1,p+j-2.....,jのように、遅延素子番号
が減少する方向に(第1の端側に)指定を移動させる。
【0017】このように、本発明のディジタルフィルタ
は、第1のポインタ手段と第2のポインタ手段のいずれ
も、一方向のみに遅延素子の指定を移動する。したがっ
て、ポインタの管理は極めて容易である。
【0018】本発明のディジタルフィルタは、周知のFI
Rのように遅延器の中をデータが移動するのではなく、
データ位置は固定されていて、ポインタ手段による指定
が移動するのみである。それによって、フィルタ処理の
高速化が可能になる。
【0019】
【発明の実施の形態】図1は本発明のディジタルフィル
タの一実施形態を説明するブロック図である。本実施形
態のディジタルフィルタは、遅延器1、乗算器2、累算
器3、ポインタ装置PM1、ポインタ装置PM2を備えてい
る。遅延器1は、フィルタ処理対象のデータDj( 1≦j≦
N)の数Nと遅延数pとの和N+p個の遅延素子の配列で構成
されている。乗算器2は、p個の乗算素子からなり、こ
れらの乗算素子は、p個の連続した(相互に隣接した)
遅延素子の出力にそれぞれタップ係数a1,a2,....,ap
乗算して出力する。累算器3は、ポインタ装置PM1(後
述)が指定する遅延素子に格納されているデータ(以
下、ポインタ装置PM1が指定するデータと記す)と前記p
個の乗算素子の出力を累算して出力する。以下の記述に
おいて、ポインタ装置PM1が指定する遅延素子(積和演
算第1項)、および、タップ係数ak(1≦k≦p)と乗算さ
れるp個のデータが格納されている遅延素子、すなわ
ち、積和演算が行われるp+1個の連続して位置する遅延
素子を積和演算範囲Kと記す。
【0020】ポインタ装置PM1は積和演算第1項のデー
タが格納される遅延素子の位置を指定する。本発明にお
いては、N個のデータD1..Dj...DN-1、DNは、遅延器1の
第1の端Y1から数えてp+1番目の遅延素子から第2の端Y
2の向きに順次に格納されている。図1に示されている
例では、ポインタ装置PM1は、現在、遅延器1の第1の
端Y1からp+j番目の遅延素子位置を指示し、その位置に
は第j回目の積和演算第1項のデータとしてデータDj
格納されている。
【0021】本発明においては、N個のデータD1..Dj...
DN-1、DNは、遅延器1の第1の端Y1から数えてp+1番目
の遅延素子から第2の端Y2の向きに順次にに格納され、
この順序で積和演算第1項として指定される。したがっ
て、ポインタ装置PM1が指定する積和演算第1項のデー
タ格納位置は、図1の点線の矢印(記号PM1の左側の矢
印)の方向にシフトする。
【0022】本発明においては、積和演算は、ポインタ
装置PM1が指定する遅延素子位置から第1の端Y1側に数
えてp+1個の連続する遅延素子領域を積和演算範囲Kとし
て実行される。したがって、積和演算範囲Kは、積和演
算の回数が増加するのに従って、第2の端Y2側にシフト
する。
【0023】ポインタ装置PM2はタップ係数に乗算され
るデータが格納されている遅延素子を指定する。その指
定は、ポインタ装置PM1が指定している遅延素子から出
発して第1の端側(図1の記号PM2の右側に画かれた点
線矢印の方向)へ向かって順次にp+1個の遅延素子位置
について行われる。図1の例では、データDj(積和演算
第1項)の累算器3への入力をタップ係数a0=1との乗算
として、p+1回の乗算および累算を積和演算周期として
積和演算が行われる。図において、黒く塗りつぶされて
いる乗算素子が、現在タップ係数の乗算が行なわれてい
る乗算素子である。なお、図1の第1の端Y1からp個の
遅延素子にはデータが格納されないので、その内容は、
常に、初期設定値0である。
【0024】図2は本発明のディジタルフィルタの要部
をさらに詳細に説明するための説明図である。前掲のポ
インタ装置PM1は、入力データ数カウンタ4とポインタP
1を備えている。ポインタP1は積和演算第1項のデータ
を格納する遅延素子位置を指定する。入力データ数カウ
ンタ4は実行された積和演算の数を計数し、積和演算数
Nを計数すると、遅延器1を使用したフィルタ処理を終了
する。このようにして、入力データ数カウンタ4はフィ
ルタ処理の終了条件を与える。
【0025】前掲のポインタ装置PM2は、遅延数カウン
タ5とポインタP2とを備えている。ポインタP2は、タッ
プ計数を乗算するデータが格納されている遅延素子を指
定する。遅延数カウンタ5はディジタルフィルタの遅延
時間に該当する時間を周期として0からp+1までの計数値
を出力する。遅延数カウンタ5が計数値p+1を出力する
と、ポインタP1は、Y2側に1遅延素子だけ指定を移動す
る。また、遅延数カウンタ5が計数値p+1を出力する
と、入力データ数カウンタ4は1だけカウントアップす
る。
【0026】ポインタP2は遅延数カウンタ5の出力によ
って位置制御され、遅延数カウンタ5が0を出力してい
るときには、ポインタP1が指定する遅延素子を指示し、
以後、遅延数カウンタ5の計数値の増加に同期して第1
の端Y1の方向に、遅延素子の指定をシフトさせる。
【0027】図2を参照すると、ディジタル・フィルタ
は、遅延させる入力データの個数Nと遅延数pとを合計し
た大きさの遅延器1を持っている。遅延器1はRAMによっ
て構成され、その場合には、各遅延素子はアドレスによ
って指定される。ポイ ンタP1によって指示される、デ
ータ系列の最初のデータD1の格納位置は、遅延器1の一
端Y1から遅延数p+1だけ離れた位置F1である。位置F1よ
り位置X1迄の遅延数p+1分の遅延K1に対して積和演算を
含むフィルタ処理が行われ る。1入力データに対する
フィルタ処理が終了した後、ポイ ンタP1は、第1の端Y
1とは反対の方向へ1つずらした位置F2となる。ここ
で、ポインタP1を1つずらすことによって1つの遅延が実
現される。次に位置 F2に格納されている次のデータD2
に対して、位置F2から位置X2までの遅延数p+1分の遅延K
2に対する積和演算を含むフィルタ処理が行われる。 こ
の様に、入力データの個数N 及び遅延数Pを合わせた遅
延器1を用いて、入力デ ータの格納位置をずらすことに
よって、高速な遅延処理が実現される。
【0028】積和範囲K2に対するフィルタ処理が終了す
ると、ポインタP1はY2側に1遅延素子だけ指定を移動
し、位置F3を指定する。図2(3)は、ポインタP2がデー
タD1を指定し、従って、現在、乗算a2D1が実行されてい
ることを示している。
【0029】図3は本実施形態の動作を説明するフロー
図である。初めにディジタルフィルタの初期化を行う。
初期化は、ポインタ装置PM1の初期化(ステップS1)と
ポインタ装置PM2の初期化(ステップS2)との2ステッ
プで行う。PM1の初期化処理として、遅延器1の総ての
遅延素子を0クリアし、入力データ数カウンタ4を0にリ
セットし、ポインタP1を遅延器1の端Y1から遅延数pだけ
離れた位置F1に設定する。PM2の初期化処理として遅延
数カウンタ2を0クリアし、ポインタP2をポインタP1と同
じ値にする。
【0030】次に、積和演算第1項のデータを累算レジ
スタに書き込む(ステップS3)。すなわち、図1の累算
レジスタの内容Xj=Dj+a1Dj-1....+aj-1D1+aj*0の右辺第
1項Djは、入力データをそのまま累算レジスタに書き込
むことによって得られる。
【0031】次に、積和演算を実行する(ステップS
4)。この処理段階において、例えば、遅延数カウンタ
5が計数値kを出力しているときには、該計数値kに対
応するタップ係数akと、そのときポインタP2が指定する
遅延素子のデータとが乗算される。そうして、その乗算
結果は累算レジスタへ加算され、遅延カウンタ5は1だけ
インクリメントされる。
【0032】次に、インクリメントされた遅延数カウン
タ5の計数値が遅延数p以下であるか、否かを判断し(ス
テップS5)、遅延数カウンタ5の計数値が遅延数p以下で
ある場合には、ステップS4の積和演算を繰り返す。ステ
ップS4、ステップS5の処理は、遅延数カウンタ5の計数
値がpに等しくなるまで繰り返される。遅延数カウンタ5
の計数値がp+1に等しくなったときには、積和演算は全
積和演算範囲Kについて実行されたことになる。すなわ
ち、積和演算の1周期が終了する。
【0033】積和演算周期が終了すると、次のデータに
対して積和演算を実行するために、入力データ数カウン
タ4を1だけインクリメントし、ポインタP1を遅延器1
の端Y2側(図1参照)に1つシフトする(ステップS
6)。そうして、そのインクリメントした入力データ数
カウンタ4の計数値がデータ数Nより小さいか、否かを
判断する(ステップS7)。そうして、入力データ数カウ
ンタ4の計数値がデータ数Nより小さいときには、新た
なデータに対して積和演算を再開するために、ポインタ
装置PM2を初期化し(ステップS2)、入力データ数カウ
ンタ4の計数値がデータ数Nに等しくなるまで、ステッ
プS2〜S7の処理を繰り返す。入力データ数カウンタ4の
計数値がデータ数N以上になると、処理対象のN個のデー
タに対するフィルタ処理を終了する。
【0034】前掲の有限数の入力データをフィルタ処理
対象とするディジタルフィルタにおけるフィルタ処理
は、図示されていない記録媒体に記録されている制御プ
ログラムに従って、これも図示されていないプロセッサ
の制御のもとで実行される。以下の記述において、前記
の図示されていないプロセッサ、遅延器を構成するRA
M、入力データ数カウンタ、および遅延数カウンタを含
むハードウエアシステムをコンピュータと記す。(第
1、第2のポインタはソフトウエアによって実現するこ
とができる。) 本発明の制御プログラムには、コンピュータに少なくと
も次の処理を実行させるために必要な手順が記述されて
いる。すなわち、1)フィルタ処理の初期設定時には、該
配列の第1の端側からp個の遅延素子に0を格納し、第
1の端側から数えてp+1番目の遅延素子から第2の端側
に向かってN個の遅延素子には、データ系列のN個の入力
データをその系列順に、順次に格納する初期設定処理、
2)N個の入力データでなるデータ系列のうち、第1回目
の積和演算の第1項のデータが格納されている遅延素子
として前記遅延器の第1の端側から数えてp+1番目の遅
延素子を指定する第1のフィルタ処理、3)第1のフィル
タ処理によって指定された遅延素子から出発して、第1
の端子側へ、当該第1のフィルタ処理によって指定され
る遅延素子を含めてp+1個の遅延素子を順次に指定する
第2のフィルタ処理、4)該第2のフィルタ処理によって
指定される遅延素子に格納されているデータのうち、第
1のフィルタ処理において指定された遅延素子に格納さ
れているデータを積和演算第1項とし、その他のデータ
には、予め、定められたp個のタップ係数を順次に乗算
して、前記積和演算第1項と共に累算する第3のフィル
タ処理、5)第3のフィルタ処理が終了したときに第2回
目の積和演算第1項のデータを格納する遅延素子として
第1のフィルタ処理による指定位置を遅延器の第2の端
側に1遅延素子だけ移動する第4のフィルタ処理、6)以
後、第N回目の積和演算が終了するまで第1乃至第4の
フィルタ処理と同様の処理を繰り返す後続処理。
【0035】
【発明の効果】本発明は次の効果を有する。 1)遅延を、遅延器に対する入力データを格納するポイ
ンタの移動のみで実現することによってフィルタ処理時
間を高速にすることができる。その理由は、従来のシフ
ト処理による遅延実現に比較してメモリアクセス 回数
が減ったためである。具体的には、例えば、従来の方法
では、およそ(8×P+8)×Nステップを必要とするのに対
して、本発明によると(5×P+7)×Nステップで済む。こ
れを割合に直すと、処理時間を従来の約63%まで短縮す
ることができる。フィルタ処理では、入力データは等し
い時間間隔で処理される。たとえば、入力データは8KH
z、実時間で125usecでサンプリングされ、従来の1入力
データの処理時間が、約100usecで処理を行っていた場
合には、本発明により、63usecで処理をすることが可能
になる。その結果、フィルタ処理以外のアプリケーショ
ン処理に使用できる時間が、約37usec増え、全体では約
62usecの時間をフィルタ処理以外のアプリケーションで
使用することが可能になる。 2)遅延を実現させるためのポインタ管理が容易にな
る。その理由は、従来のリングバッファでは、本発明と
同様にポインタ管理によって遅延を実現しているが、遅
延数分の大きさのバッファしか用意していないので、ポ
インタ(入力データの格納位置を指定するポインタ、本
発明のポインタP1に該当するポインタ)を移動する時に
常に、ポインタがリングバッファの終端か否かを判断
し、もし終端となった場合、ポインタをリングバッファ
の先頭へ移動する必要がある。例えば、従来の方法で
は、ポインタの移動におよそ(6×P+10)×Nステップを
必要としていた。本発明においては、ポインタを移動す
るのみで終端チェックの必要がなくなり、従来の処理時
間を約83%まで短縮することができる。前記の効果1)
と同様に、アプリケーションで使用可能な時間は、約17
usec増え、全体では、約42usecの時間をフィルタ処理以
外のアプリケーションで 使用可能となる。DSPG, incで
アルゴリズムを提供している、Windows95標準搭載の音
声圧縮方式であるTrueSpeech8.5に適用した場合、約12%
性能が改善された。
【図面の簡単な説明】
【図1】本発明のディジタルフィルタの一実施形態を説
明する構成図である。
【図2】本発明のディジタルフィルタの要部を詳細に説
明するための説明図である。
【図3】本発明のディジタルフィルタの動作を説明する
フロー図である。
【図4】従来のリングバッファ型ディジタルフィルタの
要部を説明する構成図である。
【符号の説明】
1 遅延器 2 乗算器 3 塁算器 4 入力データ数カウンタ 5 遅延数カウンタ
フロントページの続き (56)参考文献 特開 昭56−102110(JP,A) 特開 平3−184413(JP,A) 特開 平6−97772(JP,A) 特開 平3−277009(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03H 17/06 671 H03H 17/06 653 H03H 17/06 655

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 フィルタ処理対象データ数が有限値Nの
    データ系列に、該系列の順にp個のタップ係数を乗算し
    てその乗算結果を累算する積和演算を実行する、遅延数
    pのFIR型ディジタルフィルタにおいて、フィルタ処理対象データ 数Nと遅延数pとを合計した数p+
    Nの遅延素子の配列を有し、フィルタ処理の初期設定時
    には、該配列の第1の端側からp個の遅延素子0が格
    納され、第1の端側から数えてp+1番目の遅延素子から
    第2の端側に向かってN個の遅延素子に、前記データ系
    列のN個のフィルタ処理対象データがその系列順に、順
    次に格納される遅延器と、 前記N個のフィルタ処理対象データでなるデータ系列の
    うち、積和演算の第1項のデータが格納されている遅延
    素子を指定する第1のポインタ手段と、 第1のポインタ手段が指定する遅延素子から出発して、
    第1の端子側へ、当該第1のポインタ手段が指定する遅
    延素子を含めてp+1個の遅延素子を順次に指定する第2
    のポインタ手段と、 該第2のポインタ手段が指定する遅延素子に格納されて
    いるデータのうち、第1のポインタ手段が指定する遅延
    素子に格納されているデータを積和演算第1項とし、そ
    の他のデータに、予め、定められたp個のタップ係数を
    順次に乗算して、前記積和演算第1項と共に累算する積
    和演算手段を有し、 第1のポインタ手段は、フィルタ処理の初期時には、第
    1回目の積和演算の第1項のデータが格納されている遅
    延素子として前記遅延器の第1の端側から数えてp+1番
    目の遅延素子を指定し、 第2のポインタ手段は、第2のポインタ手段が順次に指
    定するp+1個の遅延素子に格納されているデータの積和
    演算が終了したときに第1のポインタ手段を制御して、
    第1のポインタ手段の指定を、第2の端側に1遅延素子
    だけ移動させ、第1のポインタ手段の指定が移動する
    と、第1のポインタ手段が指定する遅延素子から出発し
    て、第1の端子側へ、当該第1のポインタ手段が指定す
    る遅延素子を含めて、順次に、p+1個の遅延素子を指定
    し、前記のp+1個の遅延素子の指定を当該フィルタ処理
    が終了まで、遅延時間として設定されている時間毎に繰
    り返すことを特徴とする、有限数の入力データをフィル
    タ処理対象とするディジタルフィルタ。
  2. 【請求項2】 第2のポインタ手段は遅延数カウンタと
    第2のポインタとを有し、前記遅延数カウンタは、0か
    らp+1まで1ずつ増加する計数値の出力を遅延時間とし
    て設定されている時間毎に繰り返し、前記第2のポイン
    タは、前記遅延数カウンタが0を出力したときには、
    第1のポインタが指定する遅延素子を指定し、以後、
    前記遅延数カウンタが計数値pを出力するまで、前記
    延数カウンタの計数値に応答して、遅延素子の指定を
    第1の端の方向に順次に移動する、請求項1に記載の
    ディジタルフィルタ。
  3. 【請求項3】 前記第1のポインタ手段は、入力データ
    数カウンタと第1のポインタを有し、前記入力データ数
    カウンタは、フィルタ処理初期時には0に設定され、
    遅延数カウンタが計数値p+1を出力したとき、計数値
    を1だけ増加させ、前記入力データ数カウンタの計数値
    がNになったとき、当該入力データ数カウンタはフィル
    タ処理の終了を示す信号を出力し、前記第1のポインタ
    はフィルタ処理の初期設定時には前記遅延器の前記第1
    の端側から数えてp+1番目の遅延素子を指定し、以後
    は、前記遅延数カウンタが計数値p+1を出力したとき、
    遅延素子の指定を、前記遅延器の前記第2の端側に1遅
    延素子だけ移動させる、請求項1または2に記載のディ
    ジタルフィルタ。
  4. 【請求項4】 前記遅延器は、N+P個の連続したアドレ
    スによって指定されるRAM上の領域であり、前記遅延
    素子は、前記N+P個の連続したアドレスの各々のアドレ
    スによって指定される当該RAMの領域である、請求項
    1に記載のディジタルフィルタ。
  5. 【請求項5】 フィルタ処理対象データ数が有限値Nの
    データ系列に、該系列の順にp個のタップ係数を乗算し
    てその乗算結果を累算する積和演算を実行する、遅延数
    pのFIR型ディジタルフィルタ処理方法において、フィルタ処理対象データ 数Nと遅延数pとを合計した数p+
    Nの遅延素子を配列して遅延器を構成し、フィルタ処理
    の初期設定時には、該配列の第1の端側からp個の遅延
    素子に0を格納し、第1の端側から数えてp+1番目の遅
    延素子から第2の端側に向かってN個の遅延素子には、
    前記データ系列のN個のフィルタ処理対象データをその
    系列順に、順次に格納する初期設定処理と、 前記N個のフィルタ処理対象データでなるデータ系列の
    うち、第1回目の積和演算の第1項のデータが格納され
    ている遅延素子として前記遅延器の第1の端側から数え
    てp+1番目の遅延素子を指定する第1のフィルタ処理
    と、 第1のフィルタ処理によって指定された遅延素子から出
    発して、第1の端子側へ、当該第1のフィルタ処理によ
    って指定される遅延素子を含めてp+1個の遅延素子を順
    次に指定する第2のフィルタ処理と、 該第2のフィルタ処理によって指定される遅延素子に格
    納されているデータのうち、第1のフィルタ処理におい
    て指定された遅延素子に格納されているデータを積和演
    算第1項とし、その他のデータには、予め、定められた
    p個のタップ係数を順次に乗算して、前記積和演算第1
    項と共に累算する第3のフィルタ処理と、 第3のフィルタ処理が終了したときに第2回目の積和演
    算第1項のデータを格納する遅延素子として第1のフィ
    ルタ処理による指定位置を遅延器の第2の端側に1遅延
    素子だけ移動する第4のフィルタ処理と、 第4のフィルタ処理によって指定された遅延素子から出
    発して、第1の端子側へ、当該第のフィルタ処理によ
    って指定され遅延素子を含めてp+1個の遅延素子を順
    次に指定する第5のフィルタ処理と、 該第5のフィルタ処理によって指定される遅延素子に格
    納されているデータのうち、第のフィルタ処理におい
    て指定された遅延素子に格納されているデータを積和演
    算第1項とし、その他のデータには、予め、定められた
    p個のタップ係数を順次に乗算して、前記積和演算第1
    項と共に累算する第6のフィルタ処理と、 以後、第3乃至第6のフィルタ処理と同様の処理を第N
    回目の積和演算が終了するまで繰り返す処理を含んでい
    ることを特徴とする、有限数の入力データをフィルタ処
    理対象とするディジタルフィルタ処理方法。
JP10275655A 1998-09-29 1998-09-29 有限数の入力データをフィルタ処理対象とするディジタルフィルタ及びディジタルフィルタ処理方法 Expired - Lifetime JP3071765B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP10275655A JP3071765B2 (ja) 1998-09-29 1998-09-29 有限数の入力データをフィルタ処理対象とするディジタルフィルタ及びディジタルフィルタ処理方法
EP99119295A EP0991187A3 (en) 1998-09-29 1999-09-28 Digital filter for filtering finite input data
CN 99123928 CN1254988A (zh) 1998-09-29 1999-09-29 用于对有限输入数据进行滤波的数字滤波器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10275655A JP3071765B2 (ja) 1998-09-29 1998-09-29 有限数の入力データをフィルタ処理対象とするディジタルフィルタ及びディジタルフィルタ処理方法

Publications (2)

Publication Number Publication Date
JP2000114932A JP2000114932A (ja) 2000-04-21
JP3071765B2 true JP3071765B2 (ja) 2000-07-31

Family

ID=17558500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10275655A Expired - Lifetime JP3071765B2 (ja) 1998-09-29 1998-09-29 有限数の入力データをフィルタ処理対象とするディジタルフィルタ及びディジタルフィルタ処理方法

Country Status (3)

Country Link
EP (1) EP0991187A3 (ja)
JP (1) JP3071765B2 (ja)
CN (1) CN1254988A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014090952A (ja) * 2012-11-06 2014-05-19 Tokyo Unique:Kk コマ玩具セット

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5061741B2 (ja) * 2007-06-13 2012-10-31 日本電気株式会社 情報処理装置及びそれに用いる順序付きデータ管理方法並びにそのプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274469A (en) * 1991-12-23 1993-12-28 Eastman Kodak Company Sample rate converter circuit for image data
US5475628A (en) * 1992-09-30 1995-12-12 Analog Devices, Inc. Asynchronous digital sample rate converter

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014090952A (ja) * 2012-11-06 2014-05-19 Tokyo Unique:Kk コマ玩具セット

Also Published As

Publication number Publication date
CN1254988A (zh) 2000-05-31
EP0991187A3 (en) 2000-10-18
JP2000114932A (ja) 2000-04-21
EP0991187A2 (en) 2000-04-05

Similar Documents

Publication Publication Date Title
US4344149A (en) Decimation, linear phase, digital FIR filter
US6510445B2 (en) Digital filters
EP2417701B1 (en) Obtaining a desired non-zero phase shift using forward-backward filtering
JP3160675B2 (ja) サンプル・データ補間装置
EP0548917B1 (en) Sample rate converter circuit for image data
US5729483A (en) Implementation of a digital interpolation filter and method
WO2002089334A1 (en) Resampling system and apparatus
JP3071765B2 (ja) 有限数の入力データをフィルタ処理対象とするディジタルフィルタ及びディジタルフィルタ処理方法
JP2733403B2 (ja) デシメーション用ディジタルフィルタ
JP4464380B2 (ja) デジタルフィルタ
JPS63304708A (ja) デジタル格子形フィルタ
US10224062B1 (en) Sample rate conversion with pitch-based interpolation filters
JP3880807B2 (ja) デジタルフィルタおよびその処理方法
JP3197648B2 (ja) ディジタルフィルタ
JP3468677B2 (ja) 周波数変換装置
JPH08204506A (ja) 補間回路および補間方式
JP2622962B2 (ja) Fftアナライザのズーミング装置
JP3177358B2 (ja) デジタルフィルタ
JP3154759B2 (ja) デジタル・フィルタの演算データの遅延方法及び装置
GB2495553A (en) Re-sampling method and apparatus
CN107453732B (zh) 一种信号采样率转换方法及装置
JP3387122B2 (ja) 画像特殊効果装置
JPH02149011A (ja) サンプリング周波数変換装置
JPH09298451A (ja) デジタルフィルタ回路およびその制御方法
JPH06216715A (ja) ディジタルフィルタ