(57)【要約】【課題】  従来よりも演算回数を少なくすることができるデジタルフィルタ等に関するものである。【解決手段】  アナログ入力信号をデジタル変換して得られたデジタルデータを用いてフィルタリング処理を行う演算処理手段、デジタルデータが記憶される複数の記憶領域を備えるリングバッファメモリ、演算処理手段による演算結果が記憶される記憶部を備え、演算処理手段が、リングバッファメモリに記憶されている最古のデジタルデータを読み出して最新の入力データから減算する減算部、減算部による減算結果をリングバッファメモリが備える記憶領域の個数で除算する除算部、除算部による除算結果と記憶部に記憶されている当該除算結果が算出される直前のデジタルデータのサンプリング周期において算出されていた除算結果とを加算する加算部、加算部による加算結果を出力する出力部、を有してなるデジタルフィルタ。【選択図】図１
2011147009.tif 000002
【特許請求の範囲】
【請求項１】
アナログ入力信号をデジタル変換して得られたデジタルデータを用いてフィルタリング処理を行う演算処理手段と、
上記デジタルデータが記憶される複数の記憶領域を備えるリングバッファメモリと、
上記演算処理手段による演算結果が記憶される記憶部と、
を備え、
上記演算処理手段が、
上記リングバッファメモリに記憶されている最古のデジタルデータを読み出して最新の入力データから減算する減算部と、
上記減算部による減算結果を上記リングバッファメモリが備える記憶領域の個数で除算する除算部と、
上記除算部による除算結果と上記記憶部に記憶されている当該除算結果が算出される直前の上記デジタルデータのサンプリング周期において算出されていた上記除算結果とを加算する加算部と、
上記加算部による加算結果を出力する出力部と、
を有してなることを特徴とするデジタルフィルタ。
【請求項２】
アナログ入力信号をデジタル変換して得られたデジタルデータを用いてフィルタリング処理を行う演算処理手段と、
上記デジタルデータが記憶される複数の記憶領域を備えるリングバッファメモリと、
上記演算処理手段による演算結果が記憶される記憶部と、
を備えたデジタルフィルタにより上記アナログ入力信号に対してフィルタリング処理を実行するデジタルフィルタリング方法であって、
上記演算処理手段が、
上記リングバッファメモリに記憶されている最古のデジタルデータを読み出して最新の入力データから減算する減算処理を実行するステップと、
上記減算処理による減算結果を上記リングバッファメモリが備える記憶領域の個数で除算する除算処理を実行するステップと、
上記除算処理による除算結果と上記記憶部に記憶されている当該除算結果が算出される直前の上記デジタルデータのサンプリング周期において算出されていた除算結果とを加算する加算処理を実行するステップと、
上記加算処理による加算結果を出力する出力処理を実行するステップと、を有してなることを特徴とするデジタルフィルタリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、従来に比べて演算負荷を軽減した移動平均処理を含むデジタルフィルタおよびデジタルフィルタリング方法に関するものである。
【背景技術】
【０００２】
デジタル信号処理によって生じるエイリアシングを防止するために、デジタル信号に対する移動平均処理を適用する方法が知られている（例えば特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特公平２−５６８４７号公報
【０００４】
特許文献１に記載されているデジタルフィルタよれば、デジタルフィルタの一種であるＦＩＲフィルタを用いてデジタル信号の移動平均演算処理を行うことができる。しかし、当該移動平均演算処理においては、加算処理の回数がデジタル信号に係るサンプリング数に応じて大きくなるため、演算処理を実行するＣＰＵの負荷が高く、動作速度（クロックスピード）を速くする必要が生じていた。このようにＣＰＵの動作速度を速くすると、結果として消費電力が増加することになる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記課題に鑑みてなされたものであって、デジタル信号処理における移動平均演算処理を行うＦＩＲフィルタと同値の結果を得ることができるＩＩＲフィルタを用いることによって、ＣＰＵの演算負荷を軽減し、消費電力を削減することができるデジタルフィルタおよびデジタルフィルタリング方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明はデジタルフィルタに関するものであって、アナログ入力信号をデジタル変換して得られたデジタルデータを用いてフィルタリング処理を行う演算処理手段と、デジタルデータが記憶される複数の記憶領域を備えるリングバッファメモリと、演算処理手段による演算結果が記憶される記憶部と、を備え、演算処理手段が、リングバッファメモリに記憶されている最古のデジタルデータを読み出して最新の入力データから減算する減算部と、減算部による減算結果をリングバッファメモリが備える記憶領域の個数で除算する除算部と、除算部による除算結果と記憶部に記憶されている当該除算結果が算出される直前のデジタルデータのサンプリング周期において算出されていた除算結果とを加算する加算部と、加算部による加算結果を出力する出力部と、を有してなることを特徴とする。
【０００７】
また、本発明はデジタルフィルタリング方法に関するものであって、アナログ入力信号をデジタル変換して得られたデジタルデータを用いてフィルタリング処理を行う演算処理手段と、デジタルデータが記憶される複数の記憶領域を備えるリングバッファメモリと、演算処理手段による演算結果が記憶される記憶部と、備えたデジタルフィルタによりアナログ入力信号に対してフィルタリング処理を実行するデジタルフィルタリング方法であって、演算処理手段が、リングバッファメモリに記憶されている最古のデジタルデータを読み出して最新の入力データから減算する減算処理を実行するステップと、減算処理による減算結果をリングバッファメモリが備える記憶領域の個数で除算する除算処理を実行するステップと、除算処理による除算結果と記憶部に記憶されている当該除算結果が算出される直前のデジタルデータのサンプリング周期において算出されていた除算結果とを加算する加算処理を実行するステップと、加算処理による加算結果を出力する出力処理を実行するステップと、を有してなることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、従来の方法よりも演算回数の少ない加算処理によって移動平均値を算出することができるので、ＣＰＵの演算処理の負荷が軽くなり、消費電力の削減を図ることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係るデジタルフィルタの例を示す機能ブロック図である。
【図２】本発明に係るデジタルフィルタリング方法の例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明に係るデジタルフィルタとデジタルフィルタリング方法の実施の形態について説明をする。まず、従来のデジタルフィルタであるＦＩＲフィルタを用いた移動平均値算出式について説明をした上で、本願に係るデジタルフィルタを表す式との違いを説明する。
従来のＦＩＲフィルタを用いた移動平均値ＡＶＲ（ｔ）の算出式を式（１）に示す。
式（１）
2011147009.tif 000003
上記の式（１）は、入力データｘ（ｔ）の時刻ｔ０−Ｎ・Ｔｓからｔ０までの間における移動平均値ＡＶＲ（ｔ）を算出する式である。式（１）において、Ｔｓは入力デジタルデータにおけるサンプリング周波数であって、Ｎはサンプリング数である。
【００１１】
上記の式（１）を周波数領域に変換し、Ｚ変換で表すと式（２）となる。
式（２）
2011147009.tif 000004
【００１２】
上記の式（２）はＺ−１の等比級数の和であるので、等比級数の和の公式を適用すると式（３）のように変形することができる。
式（３）
2011147009.tif 000005
【００１３】
上記の式（３）を時間領域に戻すと式（４）を得ることができる。本発明に係るデジタルフィルタは、式（４）に基づく演算処理を用いてデジタルフィルタリングを行う。
式（４）
2011147009.tif 000006
【００１４】
上記の式（１）と式（４）における演算回数を、Ｎ＝２５６を例として比較する。まず、式（１）を用いた演算処理においては、１回の除算処理と、２５６回の加算処理を行うことになる。一方、式（４）を用いる本発明に係るデジタルフィルタリング処理においては、除算処理は同様に１回であるが、加算処理は３回ですむ。
【００１５】
以下、本発明に係るデジタルフィルタの実施の形態について図面を参照しながら説明する。図１は、本発明に係るデジタルフィルタの機能ブロック図の例である。図１において、ＤＳＰ１００はいわゆるＣＰＵの一種であって、前段に配置されるＡ／Ｄ変換器２００から当該Ａ／Ｄ変換器２００のサンプリング周期に応じて入力されるデジタルデータに基づいて所定のフィルタリング処理を行い、その処理の結果を後段に配置されるＤ／Ａ変換器３００に出力するよう構成されている。ＤＳＰ１００から出力されたデジタルデータはＤ／Ａ変換器３００によってアナログ信号に変換される。
【００１６】
ＤＳＰ１００は、リングバッファメモリ１０と、演算結果を記憶する記憶部である直前平均値記憶部５０、および演算処理手段を構成する、減算部２０、除算部３０、加算部４０を有してなる。加算部４０は、ＤＳＰ１００の後段に接続されるＤ／Ａ変換器３００に加算処理結果を出力する出力部を兼ねている。
ＤＳＰ１００が有する各処理部は、ＤＳＰ１００が備えるハードウェア資源を用いてＤＳＰ１００が実行可能なソフトウェアによる情報処理手段を用いて上記の式（４）にて表される演算処理を実行する。
【００１７】
リングバッファメモリ１０は、ＤＳＰ１００が備える記憶部に複数の記憶領域を確保してなり、図示しない設定手段によって、記憶領域の個数を可変可能に構成されている。
リングバッファメモリ１０には、Ａ／Ｄ変換器２００のサンプリングレートに応じて入力される入力データx(t)が順次記憶される。
【００１８】
減算部２０は、最新の入力データx(t)から、リングバッファメモリ１０に記憶されている最古の入力データx(t-NT)を減算する処理を行う。
【００１９】
除算部３０は、減算部２０における減算処理の結果を、リングバッファメモリ１０が備える記憶領域の個数で除算して平均値を算出する処理を行う。
【００２０】
加算部４０は、過去に計算されて記憶されている直前の平均値を直前平均値記憶部５０から読み出して、最新の平均値に加算し、後段に接続されているＤ／Ａ変換器３００に出力する出力を行う。
【００２１】
直前平均値記憶部５０は、加算部４０における加算処理結果を記憶し、すでに記憶されている平均値を更新する。
【００２２】
上記の機能ブロックを有するＤＳＰ１００によれば、前述のとおり、従来のＦＩＲフィルタを用いた移動平均の算出処理に比べて、加算処理の演算回数を大幅に減らすことができ、例えば、Ｎ＝２５６の場合には、演算処理にかかる負荷を従来に比べて約１／１００にすることができる。
【００２３】
次に、以上説明した本発明に係るデジタルフィルタを用いたデジタルフィルタリング方法の実施の形態について説明をする。図２は、本発明に係るデジタルフィルタリング方法の処理の例を示すフローチャートである。図２において各処理のステップをＳ１０、Ｓ１１・・・のように表す。
まず、Ａ／Ｄ変換器２００によって変換されたデジタルデータを、リングバッファメモリ１０に順次記憶する（Ｓ１０）。このステップＳ１０の処理を、リングバッファメモリ１０の記憶領域が一杯になるまで繰り返す（Ｓ１１のＮ）。
【００２４】
リングバッファメモリ１０の記憶領域が一杯になったとき（Ｓ１１のＹ）、Ａ／Ｄ変換器２００のサンプリング周期においてＡ／Ｄ変換器２００から入力されたデータｘ（ｔ）から、リングバッファメモリ１０に記憶されている最古の入力データｘ（ｔ−ＮＴ）を減算する処理を行う（Ｓ１２）。
【００２５】
次に、減算処理の結果を、リングバッファメモリ１０が備える記憶領域の個数で除算する（Ｓ１３）。
【００２６】
次に、直前平均値記憶部５０に先の除算処理によって算出された平均値が記憶されているか否かの判定を行う（Ｓ１４）。
直前平均値記憶部５０に記憶されているデータがなければ（Ｓ１４のＮ）、ステップＳ１３で算出した除算値を直線平均値記憶部５０に記憶し、その後処理をステップＳ１０に戻す（Ｓ１５）。
【００２７】
直前平均値記憶部５０に記憶されているデータがあれば（Ｓ１４のＹ）、ステップＳ１３で算出した除算値と直前平均値記憶部５０に記憶されているデータ（直前の演算処理タイミングにおいて算出された平均値）を加算する（Ｓ１６）。
【００２８】
次に、ステップＳ１６にて加算された結果を、最新の平均値として直前平均値記憶部５０に記憶し（Ｓ１７）、また、ステップＳ１６にて加算された結果（ＡＶＲ（ｔ））を後段に接続されているＤ／Ａ変換器３００に出力する（Ｓ１８）。
【００２９】
以上説明した実施の形態によれば、デジタルフィルタリングに用いる移動平均演算処理において、従来の演算処理に比べて格段に少ない演算回数によって移動平均値を算出することができるため、演算処理に用いるＣＰＵの消費電力を低く抑えることができる。
【符号の説明】
【００３０】
１０  リングバッファメモリ
２０  減算部
３０  除算部
４０  加算部
５０  直前平均値記憶部
１００  ＤＳＰ
【図１】
2011147009.tif 000007
【図２】
2011147009.tif 000008