JPH1127098A - Iir型ディジタルフィルタ - Google Patents
Iir型ディジタルフィルタInfo
- Publication number
- JPH1127098A JPH1127098A JP9187168A JP18716897A JPH1127098A JP H1127098 A JPH1127098 A JP H1127098A JP 9187168 A JP9187168 A JP 9187168A JP 18716897 A JP18716897 A JP 18716897A JP H1127098 A JPH1127098 A JP H1127098A
- Authority
- JP
- Japan
- Prior art keywords
- bits
- data
- filter
- multiplication
- word
- 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
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【課題】 入力データレベルが低下してもフィルタ特性
を劣化させないようにする。 【解決手段】 IIR型のディジタルフィルタにおい
て、フィードバック演算項の演算を、乗算により得られ
た2倍語長のうちの上位1語長と下位1語長について個
々に演算し、得られた下位1語長の演算結果を上位1語
長に反映させ、その上位1語長を出力データとして出力
する。
を劣化させないようにする。 【解決手段】 IIR型のディジタルフィルタにおい
て、フィードバック演算項の演算を、乗算により得られ
た2倍語長のうちの上位1語長と下位1語長について個
々に演算し、得られた下位1語長の演算結果を上位1語
長に反映させ、その上位1語長を出力データとして出力
する。
Description
【0001】
【発明の属する技術分野】本発明は、ディジタル入力デ
ータに対して予め設定したフィルタ係数に基づいて演算
を実行することにより所望のフィルタ特性を得ることが
できるようにしたIIR型のディジタルフィルタに関す
るものであって、特に小さい語長のDSP(Digital Si
gnal Processor)を用いたとき、低レベル入力時であっ
ても良好なフィルタ特性を得ることができるようにした
ものである。
ータに対して予め設定したフィルタ係数に基づいて演算
を実行することにより所望のフィルタ特性を得ることが
できるようにしたIIR型のディジタルフィルタに関す
るものであって、特に小さい語長のDSP(Digital Si
gnal Processor)を用いたとき、低レベル入力時であっ
ても良好なフィルタ特性を得ることができるようにした
ものである。
【0002】
【従来の技術】従来の2次IIR型のディジタルフィル
タのシグナルフローを図6に示す。1はデータ入力部、
2はデータ出力部、3〜6は1サンプル遅延器、7〜1
1は各々フィルタ係数a0,a1,a2,−b1,−b
2が設定された乗算器、12は加算器、13はバッファ
である。31は非再帰部、32はフィードバック演算を
行う再帰部である。
タのシグナルフローを図6に示す。1はデータ入力部、
2はデータ出力部、3〜6は1サンプル遅延器、7〜1
1は各々フィルタ係数a0,a1,a2,−b1,−b
2が設定された乗算器、12は加算器、13はバッファ
である。31は非再帰部、32はフィードバック演算を
行う再帰部である。
【0003】いま、nサンプル時のデータ入力部1の入
力データをX(n)、データ出力部2の出力データをY
(n)とすると、その出力データを表す差分方程式は、 Y(n)=a0*X(n)+a1*X(n−1)+a2*X(n−2) −b1*Y(n−1)−b2*Y(n−2) ・・・・(1) のように表すことができる。
力データをX(n)、データ出力部2の出力データをY
(n)とすると、その出力データを表す差分方程式は、 Y(n)=a0*X(n)+a1*X(n−1)+a2*X(n−2) −b1*Y(n−1)−b2*Y(n−2) ・・・・(1) のように表すことができる。
【0004】これにより、2次特性をもつLPF、HP
F、BPF、BRF等のフィルタを実現することができ
る。このとき、フィルタ係数(a0,a1,a2,−b
1,−b2)の語長は、使用するDSPの1ワードに対
応させるが、そのビット数はハードウエアアーキテクチ
ャに依存する。
F、BPF、BRF等のフィルタを実現することができ
る。このとき、フィルタ係数(a0,a1,a2,−b
1,−b2)の語長は、使用するDSPの1ワードに対
応させるが、そのビット数はハードウエアアーキテクチ
ャに依存する。
【0005】
【発明が解決しようとする課題】ところで、上記(1)
式により実現されるフィルタ特性は、フィルタ係数と入
力データを畳み込み乗算することにより得られるが、こ
の乗算は、フィルタ係数の語長と、データの語長を各々
Nビット(例えば、16ビット)とすると、その乗算結
果は2Nビット(例えば、32ビット)となる。しか
し、使用するDSPの語長がNビットの場合は、上位N
ビットのみを使用し、下位Nビットは捨てている。従っ
て、この場合は、畳み込みによる桁上げや桁下げがおこ
なわれるものの、得られた乗算結果には下位Nビット分
の誤差が含まれることになる。
式により実現されるフィルタ特性は、フィルタ係数と入
力データを畳み込み乗算することにより得られるが、こ
の乗算は、フィルタ係数の語長と、データの語長を各々
Nビット(例えば、16ビット)とすると、その乗算結
果は2Nビット(例えば、32ビット)となる。しか
し、使用するDSPの語長がNビットの場合は、上位N
ビットのみを使用し、下位Nビットは捨てている。従っ
て、この場合は、畳み込みによる桁上げや桁下げがおこ
なわれるものの、得られた乗算結果には下位Nビット分
の誤差が含まれることになる。
【0006】特に、入力信号のレベルが小さくなった場
合や、フィルタ係数値が小さい場合には、真値に対する
誤差の割合が大きくなる。例えば、フィードバック演算
項のフィルタ係数b1,b2については、LPFを実現
しようとすると、それぞれ1.0 、-0.5に近づくため
に、フィルタ演算における影響が大きくなる。
合や、フィルタ係数値が小さい場合には、真値に対する
誤差の割合が大きくなる。例えば、フィードバック演算
項のフィルタ係数b1,b2については、LPFを実現
しようとすると、それぞれ1.0 、-0.5に近づくため
に、フィルタ演算における影響が大きくなる。
【0007】さらに、このフィルタでは、再帰部32に
よりフィードバック演算を行っているために、上記誤差
が無限回フィードバック演算されて、無限回蓄積される
ことになり、フィルタ特性に大きな影響が表れる。
よりフィードバック演算を行っているために、上記誤差
が無限回フィードバック演算されて、無限回蓄積される
ことになり、フィルタ特性に大きな影響が表れる。
【0008】このような誤差を少なくするには、一般的
には、DSPのハードウエアを浮動小数点型のものにし
たり、あるいは固定小数点型であってもより演算語長の
長い24ビット、32ビット型のものにすればよいが、
ハードウエア構造が複雑になることや高コストを招くた
め、実用的でないという問題がある。
には、DSPのハードウエアを浮動小数点型のものにし
たり、あるいは固定小数点型であってもより演算語長の
長い24ビット、32ビット型のものにすればよいが、
ハードウエア構造が複雑になることや高コストを招くた
め、実用的でないという問題がある。
【0009】本発明は以上のような点に鑑みてなされた
ものであり、その目的は、固定小数点型のDSPでしか
も語長が短い場合であっても、レベルの小さい入力信号
の演算誤差を小さくでき、以て良好なフィルタ特性を実
現できるようにすることである。
ものであり、その目的は、固定小数点型のDSPでしか
も語長が短い場合であっても、レベルの小さい入力信号
の演算誤差を小さくでき、以て良好なフィルタ特性を実
現できるようにすることである。
【0010】
【課題を解決するための手段】上記目的を達成するため
の第1の発明は、メモリ、データバス幅、レジスタ等の
語長がNビットで、NビットとNビットの乗算演算を行
うと2Nビットが得られる固定小数点型のDSPを用い
て実現するIIR型ディジタルフィルタにおいて、フィ
ードバック演算項の演算を、上記乗算により得られた2
Nビットのうちの下位Nビットと上位Nビットについて
別々に行うとともに、前記下位Nビットの演算結果を前
記上位Nビットの演算結果に反映させる手段を設け、前
記上位Nビットを出力データとするよう構成した。第2
の発明は、第1の発明において、XをNビットの入力デ
ータ、YをNビットの出力データ、a0,a1,a2,
−b1,−b2をNビットのフィルタ係数とするとき、
Zをフィードバック帰還項の乗算結果の下位Nビットの
データとして、nサンプル時において、 Y(n)=a0*X(n)+a1*X(n−1)+a2
*X(n−2)−b1*{Y(n−1)+Z(n−
1)}−b2*{Y(n−2)+Z(n−2)} の差分方程式によりフィルタ特性を得るよう構成した。
の第1の発明は、メモリ、データバス幅、レジスタ等の
語長がNビットで、NビットとNビットの乗算演算を行
うと2Nビットが得られる固定小数点型のDSPを用い
て実現するIIR型ディジタルフィルタにおいて、フィ
ードバック演算項の演算を、上記乗算により得られた2
Nビットのうちの下位Nビットと上位Nビットについて
別々に行うとともに、前記下位Nビットの演算結果を前
記上位Nビットの演算結果に反映させる手段を設け、前
記上位Nビットを出力データとするよう構成した。第2
の発明は、第1の発明において、XをNビットの入力デ
ータ、YをNビットの出力データ、a0,a1,a2,
−b1,−b2をNビットのフィルタ係数とするとき、
Zをフィードバック帰還項の乗算結果の下位Nビットの
データとして、nサンプル時において、 Y(n)=a0*X(n)+a1*X(n−1)+a2
*X(n−2)−b1*{Y(n−1)+Z(n−
1)}−b2*{Y(n−2)+Z(n−2)} の差分方程式によりフィルタ特性を得るよう構成した。
【0011】
【発明の実施の形態】前述したように、演算誤差による
影響は、再帰部32の演算で誤差が無限回累積されるの
で大きくなる。そこで、本実施の形態では、フィードバ
ック演算項の演算を倍長データ(DSPの持つ1ワード
語長の2倍のデータであり、前述の例では2Nビット)
を用いて行うアルゴリズムによるものとする。このとき
の差分方程式は、次のようになる。 Y(n)=a0*X(n)+a1*X(n−1)+a2*X(n−2) −b1*{Y(n−1)+Z(n−1)} −b2*{Y(n−2)+Z(n−2)} ・・・・(2)
影響は、再帰部32の演算で誤差が無限回累積されるの
で大きくなる。そこで、本実施の形態では、フィードバ
ック演算項の演算を倍長データ(DSPの持つ1ワード
語長の2倍のデータであり、前述の例では2Nビット)
を用いて行うアルゴリズムによるものとする。このとき
の差分方程式は、次のようになる。 Y(n)=a0*X(n)+a1*X(n−1)+a2*X(n−2) −b1*{Y(n−1)+Z(n−1)} −b2*{Y(n−2)+Z(n−2)} ・・・・(2)
【0012】図1は上記(2)式により構成される2次
IIR型のディジタルフィルタのシグナルフローを示す
図である。前述した図6に示したものと同一のものに
は、同一の符号を付した。14,15は1サンプル遅延
器、16,17は各々フィルタ係数−b1,−b2が設
定された乗算器である。
IIR型のディジタルフィルタのシグナルフローを示す
図である。前述した図6に示したものと同一のものに
は、同一の符号を付した。14,15は1サンプル遅延
器、16,17は各々フィルタ係数−b1,−b2が設
定された乗算器である。
【0013】上記式(2)において、フィードバック演
算項(係数が負の項)のY(n−1)、Y(n−2)は
乗算により得られた2ワード(2Nビット)のうちの上
位1ワード(Nビット)のデータであるが、Z(n−
1)、Z(n−2)は下位1ワードのデータであり、こ
のZ(n−1)、Z(n−2)のデータの乗算演算を乗
算器16,17で行う。すなわち、遅延器14へは、出
力データY(n)の下位1ワードデータ18を送り、遅
延器5には上位1ワードデータ19を送る。
算項(係数が負の項)のY(n−1)、Y(n−2)は
乗算により得られた2ワード(2Nビット)のうちの上
位1ワード(Nビット)のデータであるが、Z(n−
1)、Z(n−2)は下位1ワードのデータであり、こ
のZ(n−1)、Z(n−2)のデータの乗算演算を乗
算器16,17で行う。すなわち、遅延器14へは、出
力データY(n)の下位1ワードデータ18を送り、遅
延器5には上位1ワードデータ19を送る。
【0014】DSPにおける演算は当該DSPに対応し
た1ワード単位で行われるので、2ワードデータを扱う
には、その2ワードデータをメモリやレジスタに一時的
に保管して、上位1ワードデータ、下位1ワードデータ
について個々に乗算演算を行い、その演算結果に基づい
て下位1ワードから上位1ワードへの桁上げやその逆の
操作等も同様に行う。つまり、下位1ワードデータの乗
算結果を上位1ワードデータの乗算結果に反映させて、
その上位1ワードデータを出力データとする。この手法
によって、再帰部32における乗算の演算時にフィルタ
係数と畳み込まれるデータ語長は2倍の語長をもつこと
になるので、演算誤差が少なくなり、良好なフィルタ特
性を得ることができる。
た1ワード単位で行われるので、2ワードデータを扱う
には、その2ワードデータをメモリやレジスタに一時的
に保管して、上位1ワードデータ、下位1ワードデータ
について個々に乗算演算を行い、その演算結果に基づい
て下位1ワードから上位1ワードへの桁上げやその逆の
操作等も同様に行う。つまり、下位1ワードデータの乗
算結果を上位1ワードデータの乗算結果に反映させて、
その上位1ワードデータを出力データとする。この手法
によって、再帰部32における乗算の演算時にフィルタ
係数と畳み込まれるデータ語長は2倍の語長をもつこと
になるので、演算誤差が少なくなり、良好なフィルタ特
性を得ることができる。
【0015】例えば、使用するDSPを16ビット固定
小数点型のものとし、フィルタ係数(a0,a1,a
2,−b1,−b2)、データ語長、内部データバス幅
等もすべて16ビットとしたとき、従来手法では2-16
の分解能であったのが、2-32の分解能に向上でき、そ
の誤差が少なくなる。
小数点型のものとし、フィルタ係数(a0,a1,a
2,−b1,−b2)、データ語長、内部データバス幅
等もすべて16ビットとしたとき、従来手法では2-16
の分解能であったのが、2-32の分解能に向上でき、そ
の誤差が少なくなる。
【0016】ここで、低域のカットオフ周波数(fc)
をもつLPFと、低域の中心周波数(fo)をもつBP
Fの周波数特性の測定の結果を示す。この測定は、フル
ビットを0dB基準としたとき、入力データレベルを−
30dB、−40dBと小さくした場合について行っ
た。
をもつLPFと、低域の中心周波数(fo)をもつBP
Fの周波数特性の測定の結果を示す。この測定は、フル
ビットを0dB基準としたとき、入力データレベルを−
30dB、−40dBと小さくした場合について行っ
た。
【0017】まず、図2はLPF(fc=100Hz、
−30dB、ロールオフ特性−12dB/oct.)の周波
数特性図で、その(a)は本発明によるもの、(b)は
従来のものである。
−30dB、ロールオフ特性−12dB/oct.)の周波
数特性図で、その(a)は本発明によるもの、(b)は
従来のものである。
【0018】図3はLPF(fc=100Hz、−40
dB、ロールオフ特性−12dB/oct.)の周波数特性
図で、その(a)は本発明によるもの、(b)は従来の
ものである。
dB、ロールオフ特性−12dB/oct.)の周波数特性
図で、その(a)は本発明によるもの、(b)は従来の
ものである。
【0019】図4はBPF(fo=100Hz、−30
dB、ロールオフ特性−6dB/oct.)の周波数特性図
で、その(a)は本発明によるもの、(b)は従来のも
のである。
dB、ロールオフ特性−6dB/oct.)の周波数特性図
で、その(a)は本発明によるもの、(b)は従来のも
のである。
【0020】図5はBPF(fo=100Hz、−40
dB、ロールオフ特性−6dB/oct.)の周波数特性図
で、その(a)は本発明によるもの、(b)は従来のも
のである。
dB、ロールオフ特性−6dB/oct.)の周波数特性図
で、その(a)は本発明によるもの、(b)は従来のも
のである。
【0021】以上のような結果であるが、従来方式のL
PF、BPFの周波数特性は、入力信号のレベルが低下
すると明らかに設計仕様から大幅に逸脱しているが、本
発明の場合は、入力信号レベルが低下してもその特性が
設計仕様に一致し、特性の改善が行われていることが分
かる。
PF、BPFの周波数特性は、入力信号のレベルが低下
すると明らかに設計仕様から大幅に逸脱しているが、本
発明の場合は、入力信号レベルが低下してもその特性が
設計仕様に一致し、特性の改善が行われていることが分
かる。
【0022】また、低レベルデータの入力時のフィルタ
出力音を実際に聞いてみると、従来方式の場合は、ざら
つき音や音の途切れが気になるのに対し、本発明では、
ざらつき音、音の途切れは全く気にならない。これは、
式(2)のフィードバック演算項の演算を倍精度で行っ
ているため、見かけ上、演算語長の長いハードウエアを
用いたと同様の結果が得られているからであると考えら
れる。
出力音を実際に聞いてみると、従来方式の場合は、ざら
つき音や音の途切れが気になるのに対し、本発明では、
ざらつき音、音の途切れは全く気にならない。これは、
式(2)のフィードバック演算項の演算を倍精度で行っ
ているため、見かけ上、演算語長の長いハードウエアを
用いたと同様の結果が得られているからであると考えら
れる。
【0023】
【発明の効果】以上から本発明によれば、入力データの
レベルが低い場合であっても、使用するDSPのハード
ウエアの変更を行うことなく、良好なフィルタ特性を得
ることができるという利点がある。本発明は、音響シス
テム用のフィルタ、計測機器用のフィルタ等に好適であ
る。
レベルが低い場合であっても、使用するDSPのハード
ウエアの変更を行うことなく、良好なフィルタ特性を得
ることができるという利点がある。本発明は、音響シス
テム用のフィルタ、計測機器用のフィルタ等に好適であ
る。
【図1】 本発明のひとつの実施の形態のIIR型ディ
ジタルフィルタのシグナルフローの説明図である。
ジタルフィルタのシグナルフローの説明図である。
【図2】 LPFの周波数特性図であり、(a)は本発
明、(b)は従来例のものである。
明、(b)は従来例のものである。
【図3】 LPFの周波数特性図であり、(a)は本発
明、(b)は従来例のものである。
明、(b)は従来例のものである。
【図4】 BPFの周波数特性図であり、(a)は本発
明、(b)は従来例のものである。
明、(b)は従来例のものである。
【図5】 BPFの周波数特性図であり、(a)は本発
明、(b)は従来例のものである。
明、(b)は従来例のものである。
【図6】 従来のIIR型ディジタルフィルタのシグナ
ルフローの説明図である。
ルフローの説明図である。
1:データ入力部、2:データ出力部、3〜6:1サン
プル遅延器、7〜11:乗算器、12:加算器、13:
バッファ、14,15:1サンプル遅延器、16,1
7:乗算器、18:下位1ワードデータ、19:上位1
ワードデータ、31:非再帰部、32:再帰部。
プル遅延器、7〜11:乗算器、12:加算器、13:
バッファ、14,15:1サンプル遅延器、16,1
7:乗算器、18:下位1ワードデータ、19:上位1
ワードデータ、31:非再帰部、32:再帰部。
Claims (2)
- 【請求項1】メモリ、データバス幅、レジスタ等の語長
がNビットで、NビットとNビットの乗算演算を行うと
2Nビットが得られる固定小数点型のDSPを用いて実
現するIIR型ディジタルフィルタにおいて、 フィードバック演算項の演算を、上記乗算により得られ
た2Nビットのうちの下位Nビットと上位Nビットにつ
いて別々に行うとともに、前記下位Nビットの演算結果
を前記上位Nビットの演算結果に反映させる手段を設
け、前記上位Nビットを出力データとすることを特徴と
するディジタルフィルタ。 - 【請求項2】XをNビットの入力データ、YをNビット
の出力データ、a0,a1,a2,−b1,−b2をN
ビットのフィルタ係数とするとき、Zをフィードバック
帰還項の乗算結果の下位Nビットのデータとして、nサ
ンプル時において、 Y(n)=a0*X(n)+a1*X(n−1)+a2
*X(n−2)−b1*{Y(n−1)+Z(n−
1)}−b2*{Y(n−2)+Z(n−2)} の差分方程式によりフィルタ特性を得ることを特徴とす
る請求項1に記載のディジタルフィルタ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9187168A JPH1127098A (ja) | 1997-06-30 | 1997-06-30 | Iir型ディジタルフィルタ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9187168A JPH1127098A (ja) | 1997-06-30 | 1997-06-30 | Iir型ディジタルフィルタ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1127098A true JPH1127098A (ja) | 1999-01-29 |
Family
ID=16201316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9187168A Pending JPH1127098A (ja) | 1997-06-30 | 1997-06-30 | Iir型ディジタルフィルタ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1127098A (ja) |
-
1997
- 1997-06-30 JP JP9187168A patent/JPH1127098A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7529788B2 (en) | Digital filter design method and device, digital filter design program, and digital filter | |
JP2957183B2 (ja) | 巡回型ディジタルフィルタ | |
JPS5834615A (ja) | Iirデイジタルフイルタ | |
KR900008410B1 (ko) | 샘플 신호의 절단오차의 보상방법 및 장치 | |
JPH1127098A (ja) | Iir型ディジタルフィルタ | |
US7058126B1 (en) | Digital graphametric equalizer | |
JPH1079644A (ja) | デジタルフィルタ | |
JPWO2004008637A1 (ja) | デジタルフィルタの設計方法、デジタルフィルタ設計用プログラム、デジタルフィルタ | |
US6643323B1 (en) | Digital filtering method | |
JPH0346813A (ja) | デジタル・フィルタ回路 | |
JP2630778B2 (ja) | 低周波帯域デジタルフィルタの構成方法 | |
US11652471B2 (en) | Low power biquad systems and methods | |
JP2002290209A (ja) | デシメーションフィルタ | |
JPH1131944A (ja) | Iir型周期的時変フィルタの安定判別方法 | |
JP2655834B2 (ja) | 残響装置 | |
KR20220037361A (ko) | 곱셈 연산 근사화 능력이 있는 필터 및 방법 | |
JPS60261210A (ja) | デイジタルフイルタ回路 | |
JP2003133908A (ja) | ダウンサンプリングフィルタ | |
JP2000156628A (ja) | ディジタルフィルタ装置 | |
JP2943112B2 (ja) | デジタル信号処理装置 | |
JP2005033307A (ja) | デジタル・フィルタの設計方法 | |
JPH0518484B2 (ja) | ||
JPH0411407A (ja) | ディジタルフィルタ装置 | |
JPH06202752A (ja) | 指数関数データの補間装置 | |
JPH0348716B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050412 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050830 |