(57)【要約】【課題】良好な周波数特性を実現するＦＩＲフィルタを極めて小さいハードウェア規模で構成できるようにする。【解決手段】入力データとそれより所定遅延量だけ前の前データとを加算器１３で加算もしくは減算し、その結果をシフト演算器１４で振幅調整して出力するといった移動平均演算をｍ倍周波数のクロックｍ＊ｃｋに従って時分割多重でｍ回繰り返し行う多重処理部１−１，１−２，・・・，１−ｎをｎ段縦続接続し、入力データに対してシンプルな移動平均演算を繰り返し行う構成によってＦＩＲフィルタ１０を構成することにより、従来はタップ付遅延線の各タップ出力に対してフィルタ係数を乗算するために必要であった乗算器を無くすことができるようにするとともに、ｍ回の移動平均演算を時分割多重で行うことによって加算器の使用数も大幅に削減できるようにする。【選択図】        図１
2005020554.tif 000002
【特許請求の範囲】
【請求項１】
入力データとそれより所定遅延量だけ前の前データとを加算もしくは減算し振幅調整して出力する移動平均演算をｍ回繰り返し行う移動平均演算回路を備え、
上記移動平均演算回路をｎ段縦続接続して構成したことを特徴とするデジタルフィルタ。
【請求項２】
上記移動平均演算回路は、上記振幅調整の結果を次段に出力するか自身の入力データとしてフィードバックするかの切り替えを行う出力処理部と、
外部からのデータを入力するか上記出力処理部からフィードバックされたデータを入力するかの切り替えを行う入力処理部とを備え、
上記ｍ回の移動平均演算を時分割多重処理により行うようにしたことを特徴とする請求項１に記載のデジタルフィルタ。
【請求項３】
上記ｎ段の移動平均演算回路の周波数振幅特性において極大値をとる位置に接点を有し、当該接点において極小値をとる補正用の周波数振幅特性を実現する波形調整回路を更に備え、
上記ｎ段の移動平均演算回路に対して上記波形調整回路を縦続接続して構成したことを特徴とする請求項１または２に記載のデジタルフィルタ。
【請求項４】
上記波形調整回路は、縦続接続された複数の遅延回路と、
上記複数の遅延回路の入出力タップに接続された複数の係数器と、
上記複数の係数器の出力段に接続された複数の加算器とを備えて構成されることを特徴とする請求項３に記載のデジタルフィルタ。
【請求項５】
２組の上記遅延回路の入出力タップに３個の上記係数器を接続し、上記入出力タップの出力データに対して係数ａ，ｂ，ａを乗算するとともに、上記３個の係数器の出力段に接続された２個の加算器で上記乗算の結果を加減算して出力するように構成し、
上記係数ａ，ｂ，ａを  ｜ｂ｜−｜２ａ｜＝１  の関係が成り立つように設定したことを特徴とする請求項４に記載のデジタルフィルタ。
【請求項６】
ａ＝０．５、ｂ＝２であることを特徴とする請求項５に記載のデジタルフィルタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデジタルフィルタに関し、特に、ＦＩＲフィルタの改良技術に関するものである。
【０００２】
【従来の技術】
デジタルフィルタの１つの形態として、ＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ：有限長インパルス応答）フィルタが存在する。このＦＩＲフィルタは、複数の遅延器から成るタップ付き遅延線を備え、各タップの出力信号をそれぞれフィルタ係数により数倍した後、それらの乗算結果を加算して出力するタイプのフィルタであり、次のような利点を持つ。第１に、ＦＩＲフィルタの伝達関数の極はｚ平面の原点のみにあるため、回路は常に安定である。第２に、フィルタ係数が対称型であれば、完全に正確な直線位相特性を実現することができる。
【０００３】
このＦＩＲフィルタは、有限時間長で表されるインパルス応答がそのままフィルタ係数となっている。したがって、ＦＩＲフィルタを設計するということは、希望の周波数特性が得られるようにフィルタ係数を決定するということである。従来、ＦＩＲフィルタを設計する際には、目標とする周波数特性に基づき無限インパルス応答を求め、これに所謂“窓掛け”を行うことによって有限個のフィルタ係数を決定していた。
【０００４】
図１２は、従来のＦＩＲフィルタの構成を示す図である。この図１２に示すように、タップ数（フィルタ係数の数）がＮ個のＦＩＲフィルタでは、縦続接続された（Ｎ−１）個のＤ型フリップフロップ１０１−１〜１０１−（Ｎ−１）の入出力タップから取り出したＮ個の信号に対し、Ｎ個の乗算器１０２−１〜１０２−Ｎでフィルタ係数をそれぞれ乗算し、それらの乗算結果をすべて（Ｎ−１）個の加算器１０３−１〜１０３−（Ｎ−１）で加算する。
【０００５】
【発明が解決しようとする課題】
上記図１２に示したように、タップ数がＮ個のＦＩＲフィルタをハードウェアで構成するためには、Ｎ個の乗算器と（Ｎ−１）個の加算器とが必要である。フィルタ係数の対称性を利用して回路構成を合理化しても、｛（Ｎ−１）／２＋１｝個の乗算器と（Ｎ−１）個の加算器とが必要である。
【０００６】
ＦＩＲフィルタの設計で窓掛けを行うのは、無限インパルス応答によるフィルタ係数をそのまま用いると、タップ数が膨大となり、非常に多くの乗算器および加算器を設けなければならなくなってしまうからである。ただし、目標とする周波数特性にできるだけ近い特性を得るためには、窓掛けによってフィルタ係数を無闇に減らすことができず、タップ数Ｎは多くならざるを得なかった。
【０００７】
これに伴い、従来のＦＩＲフィルタはハードウェア規模が非常に大きくなってしまうという問題があった。そのため、回路規模を比較的小さくできるＩＩＲ（Ｉｎｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ：無限長インパルス応答）が用いられることも多かったが、ＩＩＲフィルタの場合にはＦＩＲフィルタに比べて位相特性が悪くなってしまうという問題があった。
【０００８】
本発明は、このような問題を解決するために成されたものであり、良好な周波数特性を実現するＦＩＲフィルタを極めて小さいハードウェア規模で構成できるようにすることを目的とする。
【０００９】
【課題を解決するための手段】
本発明によるデジタルフィルタは、入力データとそれより所定遅延量だけ前の前データとを加算もしくは減算し振幅調整して出力する移動平均演算をｍ回繰り返し行う移動平均演算回路を備え、上記移動平均演算回路をｎ段縦続接続して構成したことを特徴とする。
【００１０】
本発明の他の態様では、上記移動平均演算回路は、上記振幅調整の結果を次段に出力するか自身の入力データとしてフィードバックするかの切り替えを行う出力処理部と、外部からのデータを入力するか上記出力処理部からフィードバックされたデータを入力するかの切り替えを行う入力処理部とを備え、上記ｍ回の移動平均演算を時分割多重処理により行うようにしたことを特徴とする。
【００１１】
本発明の他の態様では、上記ｎ段の移動平均演算回路の周波数振幅特性において極大値をとる位置に接点を有し、当該接点において極小値をとる補正用の周波数振幅特性を実現する波形調整回路を更に備え、上記ｎ段の移動平均演算回路に対して上記波形調整回路を縦続接続して構成したことを特徴とする。
【００１２】
本発明の他の態様では、上記波形調整回路は、縦続接続された複数の遅延回路と、上記複数の遅延回路の入出力タップに接続された複数の係数器と、上記複数の係数器の出力段に接続された複数の加算器とを備えて構成されることを特徴とする。
【００１３】
本発明の他の態様では、２組の上記遅延回路の入出力タップに３個の上記係数器を接続し、上記入出力タップの出力データに対して係数ａ，ｂ，ａを乗算するとともに、上記３個の係数器の出力段に接続された２個の加算器で上記乗算の結果を加減算して出力するように構成し、上記係数ａ，ｂ，ａを  ｜ｂ｜−｜２ａ｜＝１  の関係が成り立つように設定した（例えば、ａ＝０．５、ｂ＝２）ことを特徴とする。
【００１４】
【発明の実施の形態】
本発明者は、時間軸上のインパルス応答と周波数軸上の周波数特性との関係において、インパルス応答の畳み込みが周波数応答の積算となる点に着目し、特願２００３−５６２６５号に記載のフィルタ設計法を既に提案した。これは、有限インパルス応答を有する基本フィルタを周波数軸上で合成し、係数演算により阻止域の傾斜、通過域の帯域幅および通過域の平坦度を調整する手法である。
【００１５】
この手法を簡単に説明すると、次の通りである。まず、所定の基本的な数値列より成るフィルタ係数に基づきＦＩＲ演算を行う。その後、その演算データに対して、演算前の元データとそれより所定遅延量だけ前の前データとを加算し振幅調整して出力する移動平均演算を複数回繰り返し行うことによってフィルタ係数を求める。この手法によれば、窓掛けの必要がなく、減衰特性に優れ位相の直線性も有する良好なフィルタ特性を得ることが可能である。
【００１６】
これに対して、本実施形態では、この特願２００３−５６２６５号に記載の手法を更に一般化し、最もシンプルな移動平均の繰り返しを行う構成とすることにより、ＦＩＲフィルタから乗算器を無くすことを可能とした。また、この移動平均演算により生成されるオリジナル波形に対して補正波形による調整を行う構成を採用することにより、乗算器なしで通過域の帯域幅を調整することを可能とした。さらに、移動平均演算部に特殊な時分割多重処理を適用することにより、回路構成上で大きな面積を占める加算器を削減することも可能とした。
【００１７】
以下に、本実施形態の詳細を説明する。図１は、本実施形態によるＦＩＲフィルタ１０の全体構成例を示す図である。図１に示すように、本実施形態のＦＩＲフィルタ１０は、移動平均演算処理部１および波形調整部２を備えて構成されている。移動平均演算処理部１は、ｎ段（ｎ≧１）の多重処理部１−１，１−２，・・・，１−ｎを備えて構成されている。
【００１８】
個々の多重処理部１−１，１−２，・・・，１−ｎの内部は、データのスイッチ機能を備えた入力処理部１１、複数のＤ型フリップフロップが縦続接続された遅延処理部１２、加算器１３、シフト演算器１４、データのスイッチ機能を備えた出力処理部１５により構成されている。各多重処理部１−１，１−２，・・・，１−ｎが備える遅延処理部１２の遅延量Ｍ１，Ｍ２，・・・Ｍｎは、全て同じでも構わないが、ここでは異なっているものとする。
【００１９】
波形調整部２は、基準周波数のクロックｃｋに従って動作する。これに対して多重処理部１−１，１−２，・・・，１−ｎ内の遅延処理部１２は、基準クロックｃｋに比べて周波数がｍ倍（ｍ≧１）のクロックｍ・ｃｋ（以下では一例としてｍ＝４とする）に従って動作する。
【００２０】
図１では、入力処理部１１および遅延処理部１２の構成を簡略化して図示している。これらの詳細な構成例を、次の図２および図３を用いて説明する。
図２は、１段目の多重処理部１−１について遅延処理部１２の構成を詳細に示した図である。
【００２１】
図２に示すように、遅延処理部１２は、複数（この例では９個）のＤ型フリップフロップを縦続接続して構成されている。これらのＤ型フリップフロップは、基準クロックｃｋの４倍の周波数を有する４倍クロック４ｃｋに従って動作し、入力データを当該４倍クロック４ｃｋに相当する時間ずつ順次遅延させて伝搬していく。
【００２２】
１段目のＤ型フリップフロップＤ１１の出力タップと、最終段のＤ型フリップフロップＤ３１の出力タップとが、それぞれ加算器１３の入力端に接続されている。加算器１３は、１段目のＤ型フリップフロップＤ１１の出力データから、最終段のＤ型フリップフロップＤ３１の出力データを減算し、その結果をシフト演算器１４に供給する。
【００２３】
シフト演算器１４は、加算器１３からの出力データを１／２倍して振幅を調整する。ここでは１／２倍の乗算を行っているが、これはビットシフトで対応することができる。シフト演算器１４から出力されるデータは、出力処理部１５によりスイッチングされて、あるタイミングでは次段の多重処理部１−２に供給され、あるタイミングでは入力処理部１１にフィードバックされる。入力処理部１１および出力処理部１５は、以下に説明する切替クロックｃｋ１に従って同期してスイッチング動作する。
【００２４】
図３は、入力処理部１１の詳細な構成例を示す図である。また、図４は、基準クロックｃｋ、４倍クロック４ｃｋ、切替クロックｃｋ１を示すタイミングチャートである。図３に示すように、本実施形態の入力処理部１１は、Ｄ型フリップフロップ２１と、インバータ２２と、ＡＮＤゲート２３，２４と、ＯＲゲート２５とを備えて構成されている。
【００２５】
Ｄ型フリップフロップ２１は、入力データを切替クロックｃｋ１の時間分だけ保持して出力する。切替クロックｃｋ１は、図４に示すように、４倍クロック４ｃｋの４クロックに１回の割合で１サイクル期間中ＯＮとなるクロックである。この切替クロックｃｋ１は、一方のＡＮＤゲート２３の入力端に供給されるとともに、インバータ２２を介して他方のＡＮＤゲート２４の入力端に供給される。
【００２６】
一方のＡＮＤゲート２３は、切替クロックｃｋ１の他にＤ型フリップフロップ２１の出力データを入力し、切替クロックｃｋ１がＯＮの期間中にＤ型フリップフロップ２１の出力データを通過させる。他方のＡＮＤゲート２４は、インバータ２２を通過した切替クロックｃｋ１の他に出力処理部１５の出力データをフィードバック入力し、切替クロックｃｋ１がＯＦＦの期間中に当該フィードバックデータを通過させる。ＯＲゲート２５は、２つのＡＮＤゲート２３，２４から出力されるデータの何れかを通過させ、１段目のＤ型フリップフロップＤ１１に供給する。
【００２７】
図２の出力処理部１５におけるスイッチング動作は、入力処理部１１におけるスイッチング動作と同期して行われる。すなわち、出力処理部１５は、切替クロックｃｋ１がＯＮの期間中は、シフト演算器１４の出力データを次段の多重処理部１−２に供給するようにスイッチング動作する。一方、切替クロックｃｋ１がＯＦＦの期間中は、シフト演算器１４の出力データを入力処理部１１にフィードバックするようにスイッチング動作する。
【００２８】
以上のように１段目の多重処理部１−１を構成することにより、４つの４倍クロック４ｃｋ中で切替クロックｃｋ１がＯＮとなる１サイクル期間中は、外部入力データが１段目のＤ型フリップフロップＤ１１に供給されるとともに、シフト演算器１４の出力データが次段の多重処理部１−２に供給される。また、切替クロックｃｋ１がＯＦＦとなる残りの３サイクル期間中は、シフト演算器１４の出力データが１段目のＤ型フリップフロップＤ１１にフィードバック入力される。
【００２９】
このような構成により、多重処理部１−１では、４倍クロック４ｃｋの下で移動平均演算を４回繰り返し行うことができる。通常、４回の移動平均演算を行うには、加算器と乗算器とが４個ずつ必要になる。これに対して、本実施形態の多重処理部１−１によれば、加算器１３と乗算器（シフト演算器１４）とが１個ずつで済み、使用数を１／４に削減することができる。しかも、１／２倍の乗算はビットシフト演算で実現できるので、乗算器は全く不要である。
【００３０】
図５は、図２に示す多重処理部１−１に対して振幅“１”のインパルス信号を入力した場合の動作を示す図である。図５において、縦軸は４倍クロック４ｃｋのサイクルを示し、横軸は遅延処理部１２を構成する各Ｄ型フリップフロップのデータ保持状態を示す。この図５からも分かるように、多重処理部１−１では、４クロックごとに１個のデータを入力するとともに１個の移動平均演算データを出力し、その間に４回の移動平均演算を繰り返し行っている。
【００３１】
図５において、一番右の列に示した出力データの数値列｛０．０６２５，０，−０．２５，０，０．３７５，０，−０．２５，０，０．０６２５｝が、４回の移動平均演算を繰り返し行った結果得られるフィルタ係数を示している。このフィルタ係数は、｛０．５，０，０．５｝のフィルタ係数を有する基本フィルタを４段縦続接続したものと等価であり、ハイパスフィルタの周波数特性を実現する。なお、このことの詳細は、特願２００３−５６２６５号に記載されている。
【００３２】
以下、基準クロックｃｋで１クロック分（＝４倍クロック４ｃｋで４クロック分）の遅延量をｄとした場合、遅延処理部１２の初段と最終段との間に遅延量ｄを有する多重処理部で構成されるハイパスフィルタを“Ｈ０ｄ”で表すこととする。遅延量がｄの下で移動平均演算を４回繰り返し行う場合、使用するＤ型フリップフロップの数は｛４（ｄ＋１）＋１｝個となる。
【００３３】
また、初段と最終段との間に挿入する遅延量をｄとすることにより、周波数振幅特性の周波数軸（周波数方向に対する周期）は１／ｄとなる。よって、遅延量ｄを変えることにより、フィルタの通過帯域を調整することが可能である。
【００３４】
なお、図２に示した多重処理部１−１は、基準クロックｃｋで見た場合に初段となるＤ型フリップフロップＤ１１〜Ｄ１４と、最終段となるＤ型フリップフロップＤ３１との間に、基準クロックｃｋで１クロック分の遅延量（ｄ＝１）に相当するＤ型フリップフロップＤ２１〜Ｄ２４を備えているから、ハイパスフィルタＨ０１と表すことができる。
【００３５】
２段目以降の多重処理部１−２，・・・，１−ｎについても、１段目の多重処理部１−１と同様に構成する。ただし、上述したように遅延処理部１２の遅延量（Ｄ型フリップフロップの使用数）は、それぞれの段ごとに異ならせても良い。また、加算器１３において、初段のＤ型フリップフロップの出力データと最終段のＤ型フリップフロップの出力データとを加算するようにしても良い。加算を行うようにした場合、４回の移動平均演算によって得られるフィルタ係数は、ローパスフィルタの周波数特性を実現するものとなる。
【００３６】
例えば、図２に示した多重処理部１−１の構成で、加算器１３において減算ではなく加算を行うようにすると、多重処理部１−１は、｛−０．５，０，−０．５｝のフィルタ係数を有する基本フィルタを４段縦続接続したものと等価となり、ローパスフィルタの周波数特性を実現することができる。この場合は、ローパスフィルタＬ０１と表すこととする。
【００３７】
一例として、多重処理部１−１，１−２，・・・，１−ｎを６段構成にし（ｎ＝６）、Ｈ０１＊Ｌ０３＊Ｈ０５＊Ｌ０７＊Ｈ０９＊Ｌ０１１のように多重処理部１−１，１−２，・・・，１−６を縦続接続する。このように、ハイパスフィルタとローパスフィルタとを適当に組み合わせて縦続接続することにより、それぞれの周波数特性が掛け合わされて、減衰特性の良好なバンドパスフィルタが生成される。
【００３８】
次に、波形調整部２について説明する。図６は、波形調整部２の詳細な構成例を示す図である。また、図７は、波形調整部２の動作を説明するための周波数特性図である。
【００３９】
図７中に符号Ａで示す波形は、移動平均演算処理部１によって実現されるオリジナルフィルタ（初段の多重処理部１−１に振幅“１”のインパルス信号を入力した場合に最終段の多重処理部１−ｎから出力される数値列をフィルタ係数として持つデジタルフィルタ）の周波数振幅特性を示している。ここでは、オリジナルフィルタの周波数振幅特性においてゲインが“１”で基準化（正規化）されている。
【００４０】
このようなオリジナル波形の周波数振幅特性に対して、図７中の符号Ｂで示すような補正波形の周波数振幅特性をさらに掛け合わせることにより、阻止域（通過域から遮断域に変化する部分）の傾斜、通過帯域幅を調整することができる。すなわち、図７中に符号Ｃで示す波形のように、傾斜を急峻にするとともに、通過帯域幅を広くすることができる。
【００４１】
図７中の符号Ｂで示す補正波形の周波数振幅特性は、オリジナル波形の周波数振幅特性において極大値をとる位置に接点を有し、当該接点において極小値をとるように成されたものである。図６は、このような補正波形の周波数振幅特性を実現するための構成例を示している。
【００４２】
図６に示すように、波形調整部２は、縦続接続された２組のＤ型フリップフロップ３１−１〜３１−２（本発明の遅延回路に相当）と、各Ｄ型フリップフロップ３１−１〜３１−２の入出力タップに接続された３個の係数器３２−１〜３２−３と、これら３個の係数器３２−１〜３２−３の出力段に接続された２個の加算器３３−１〜３３−２とを備えて構成されている。
【００４３】
２組のＤ型フリップフロップ３１−１〜３１−２は、入力データ（移動平均演算処理部１からの出力データ）を基準クロックｃｋに従ってｋクロック分ずつ順次遅延させる。ここでの遅延量ｋは、最終段の多重処理部１−ｎから出力される数値列のうち、各フィルタ係数の間に挿入されている“０”の数と同数程度で調整した適当な値とする。
【００４４】
３個の係数器３２−１〜３２−３は、各Ｄ型フリップフロップ３１−１〜３１−２の入出力タップから取り出したデータに対して、それぞれ１／２，２，１／２の係数を乗算する。なお、ここでは１／２倍および２倍の乗算を行っているが、何れもビットシフトで対応することができる。
【００４５】
第１の加算器３３−１は、第２の係数器３２−２の乗算結果から第１の係数器３２−１の乗算結果を減算する。また、第２の加算器３３−２は、第１の加算器３３−１の減算結果から第３の係数器３２−３の乗算結果を減算して出力する。このような構成により、図７中のオリジナル波形Ａに対して補正波形Ｂを掛け合わせて結果波形Ｃを得ることができる。
【００４６】
なお、上記３個の係数器３２−１〜３２−３が持つ係数値は、単なる一例を示したに過ぎない。第１および第３の係数器３２−１，３２−３が持つ係数値をａ、第２の係数器３２−２が持つ係数値ｂとした場合、｜ｂ｜−｜２ａ｜＝１の関係が成り立つように設定すれば、周波数振幅特性の極小値は常に“１”となり、その極小値がオリジナルフィルタの周波数振幅特性の極大値（これも“１”に基準化されている）と接するようにできる。
【００４７】
係数値ａ，ｂを変えると、補正波形Ｂの傾斜や振幅が変わる。これにより、係数値ａ，ｂとして適当な値を設定することにより、結果波形Ｃの阻止域の傾斜や通過帯域幅を微調整することができる。ただし、係数値ａ，ｂは２のべき乗とするのが好ましい。２のべき乗とすれば、係数器３２−１〜３２−３をシフト演算器で構成できるからである。
【００４８】
また、ここでは、移動平均演算処理部１に対して１個の波形調整部２を縦続接続する場合について説明しているが、複数の波形調整部２を縦続接続するようにしても良い。図８は、移動平均演算処理部１（オリジナルフィルタ）の周波数振幅特性およびこの移動平均演算処理部１に対して１〜３個の波形調整部２を縦続接続した場合に得られる周波数振幅特性を示す図である。
【００４９】
図８において、４１はオリジナルフィルタの周波数振幅特性、４２は波形調整部２を１個縦続接続した場合に得られる周波数振幅特性、４３は波形調整部２を２個縦続接続した場合に得られる周波数振幅特性、４４は波形調整部２を３個縦続接続した場合に得られる周波数振幅特性をそれぞれ示す。
【００５０】
この図８に示すように、移動平均演算処理部１に対して接続する波形調整部２の段数を多くすることにより、通過帯域幅がより広くて阻止域の傾斜もより急峻なフィルタ特性を得ることができる。
【００５１】
図９は、複数の波形調整部２を縦続接続した場合に得られる周波数特性の変化の原理を説明するための図である。なお、この図９は基本原理を説明するためのものであり、図７に示した周波数特性の波形と一致するものではない。
【００５２】
図９（ａ）は、移動平均演算処理部１に対して１個目の波形調整部２を縦続接続した場合における周波数振幅特性の変化を示す。図９（ａ）において、Ａは移動平均演算処理部１の周波数振幅特性、Ｂは１個目の波形調整部２の周波数振幅特性、Ｃは移動平均演算処理部１と１個目の波形調整部２とを縦続接続した場合に得られる周波数振幅特性を示す。
【００５３】
すなわち、移動平均演算処理部１に対して波形調整部２を１個縦続接続した場合の新たな周波数振幅特性Ｃは、移動平均演算処理部１の周波数振幅特性Ａと、波形調整部２の周波数振幅特性Ｂとを掛け合わせた形となる。
【００５４】
図９（ｂ）は、２個目の波形調整部２を更に縦続接続した場合における周波数振幅特性の変化を示す。図９（ｂ）において、Ａ’は１個目の波形調整部２を縦続接続した場合の周波数振幅特性であり、図９（ａ）で求められた周波数振幅特性Ｃと同じものである。Ｂは２個目の波形調整部２の周波数振幅特性であり、図９（ａ）中のものと同じである。Ｃ’は２個目の波形調整部２を更に縦続接続した場合に得られる新たな周波数振幅特性であり、２つの周波数振幅特性Ａ’，Ｂを掛け合わせた形のものとなっている。
【００５５】
一例として、Ｈ０１＊Ｌ０３＊Ｈ０５＊Ｌ０７＊Ｈ０９＊Ｌ０１１のように６個の多重処理部１−１，１−２，・・・，１−６を縦続接続して移動平均演算処理部１を構成するとともに、これに１個の波形調整部２を接続してＦＩＲフィルタ１０を構成する。この場合は、波形調整部２から図１０に示すような１０７タップ分のフィルタ係数が出力されることとなる。
【００５６】
図１１は、この１０７タップのフィルタ係数をＦＦＴ（高速フーリエ変換）した場合に得られる周波数特性を示す図である。このうち、図１１（ａ）はゲインを直線目盛りで表した周波数振幅特性、図１１（ｂ）はゲインを対数目盛りで表した周波数振幅特性、図１１（ｃ）は位相特性を示している。この図１１から分かるように、遮断域での減衰量が７０ｄＢ以上で、直線的な位相特性も有する極めて良好なバンドパスフィルタを得ることができている。
【００５７】
しかも、本実施形態のＦＩＲフィルタ１０では、このように良好な周波数特性を実現するためのハードウェア構成として必要な乗算器および加算器の数は、極めて少なくて済む。すなわち、移動平均演算処理部１や波形調整部２において乗算を行ってはいるが、その係数は全て２のべき乗で表されるので、シフト演算で済み、乗算器は全く不要である。また、加算器は６段の多重処理部１−１，１−２，・・・，１−６に１個ずつと波形調整部２に２個との合計８個だけで済む。
【００５８】
従来のＦＩＲフィルタにおいては、１０７タップを実現するためには、係数の対称性を利用して合理化しても乗算器が５４個、加算器が１０６個必要であった。これに対して、本実施形態では移動平均演算の繰り返しによってフィルタ係数を求めるようにしているので、乗算器は０個とすることができる。さらに、移動平均演算を時分割多重処理で行っているので、加算器をわずか８個に減らすことができる。これにより、全体として回路規模を大幅に小さくすることができる。しかも、本実施形態のＦＩＲフィルタ１０は設計が極めて容易で、窓掛けも必要としない。
【００５９】
以上詳しく説明したように、本実施形態によれば、タップ付遅延線の各タップ出力に対してフィルタ係数を乗算するタイプの一般的なＦＩＲフィルタの構成ではなく、シンプルな移動平均演算を繰り返し行う移動平均演算処理部１を用いてＦＩＲフィルタ１０を構成したので、従来は各タップ出力に対してフィルタ係数を乗算するために必要であった乗算器を全て無くすことができる。すなわち、移動平均演算の際には、振幅調整のために乗算を行う必要があるが、その乗算はビットシフト演算で実現することができる。したがって、移動平均演算処理部１において乗算器を全く不要とすることができる。
【００６０】
また、本実施形態では、移動平均演算処理部１を多重処理部１−１，１−２，・・・，１−ｎで構成し、４倍クロック４ｃｋの下で４回の移動平均演算を時分割多重で行うようにしている。したがって、移動平均演算を行う際に必要な加算器の使用数も、通常の移動平均演算を行う場合に比べて１／４に削減することができる。これにより、移動平均演算処理部１の回路規模を格段に小さくすることができる。
【００６１】
さらに、本実施形態では、周波数特性の波形調整用に波形調整部２を設けているが、これについても全ての乗算はビットシフト演算で実現することができる。よって、この波形調整部２においても乗算器は全く不要とすることができる。したがって、移動平均演算処理部１と波形調整部２とを合わせたＦＩＲフィルタ１０の全体として見ても、乗算器の使用数は０、加算器の使用数もほんのわずかで済み、極めて小さいハードウェア規模で、良好な周波数特性を有するＦＩＲフィルタ１０を構成することができる。
【００６２】
なお、上記実施形態では、波形調整部２を設けているが、これは本発明において必須の構成ではない。すなわち、本実施形態のデジタルフィルタを用いる電子機器の用途によって、移動平均演算処理部１により実現される周波数特性で目標とする特性が達成できる場合には、波形調整部２は設ける必要がない。波形調整部２は、移動平均演算処理部１により実現される周波数特性では通過帯域幅が狭い場合や阻止域の傾斜が不十分であるような場合に、任意段数接続すれば良い。
【００６３】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００６４】
【発明の効果】
以上説明したように本発明によれば、入力データに対してシンプルな移動平均演算を繰り返し行う構成によってＦＩＲフィルタを構成したので、ＦＩＲフィルタから乗算器を無くすことができる。また、移動平均演算に特殊な時分割多重処理を適用したので、加算器の使用数も大幅に削減することができる。これにより、窓関数を用いることなく、良好な周波数特性を有するＦＩＲフィルタを極めて小さなハードウェア規模で構成することができる。
【図面の簡単な説明】
【図１】本実施形態によるＦＩＲフィルタの全体構成例を示す図である。
【図２】１段目の多重処理部について遅延処理部の構成を詳細に示した図である。
【図３】入力処理部の詳細な構成例を示す図である。
【図４】本実施形態で用いる各クロックを示すタイミングチャートである。
【図５】１段目の多重処理部に振幅“１”のインパルス信号を入力した場合の動作を示す図である。
【図６】波形調整部の詳細な構成例を示す図である。
【図７】波形調整部の動作を説明するための周波数特性図である。
【図８】移動平均演算処理部の周波数振幅特性およびこの移動平均演算処理部に対して１〜３個の波形調整部を縦続接続した場合に得られる周波数振幅特性を示す図である。
【図９】複数の波形調整部を縦続接続した場合に得られる周波数特性の変化の原理を説明するための図である。
【図１０】本実施形態のＦＩＲフィルタを構成する１０７タップのフィルタ係数を示す図である。
【図１１】本実施形態によるＦＩＲフィルタの周波数特性を示す図である。
【図１２】従来のＦＩＲフィルタの構成を示す図である。
【符号の説明】
１  移動平均演算処理部
１−１〜１−ｎ  多重処理部
２  波形調整部
１０  ＦＩＲフィルタ
１１  入力処理部
１２  遅延処理部
１３  加算器
１４  シフト演算器
１５  出力処理部
２１  Ｄ型フリップフロップ
２２  インバータ
２３，２４  ＡＮＤゲート
２５  ＯＲゲート
３１−１〜３１−２  Ｄ型フリップフロップ
３２−１〜３２−３  係数器
３３−１〜３３−２  加算器
【図１】
2005020554.tif 000003
【図２】
2005020554.tif 000004
【図３】
2005020554.tif 000005
【図４】
2005020554.tif 000006
【図５】
2005020554.tif 000007
【図６】
2005020554.tif 000008
【図７】
2005020554.tif 000009
【図８】
2005020554.tif 000010
【図９】
2005020554.tif 000011
【図１０】
2005020554.tif 000012
【図１１】
2005020554.tif 000013
【図１２】
2005020554.tif 000014