(57)【特許請求の範囲】
【請求項１】
所定のサンプリングレートでサンプリングされた信号を順次入力し、入力信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレートに基づく信号に変換して出力するデシメーションフィルタを有する半導体装置であって、
前記デシメーションフィルタは、連続して印加されるトリガ信号に応じて、前記所定のフィルタ処理を行うためのフィルタ係数を所定期間内に入力された前記入力信号毎に算出し、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力し、
前記所定期間は、前記トリガ信号が印加される時間間隔に応じて可変にされ、
前記デシメーションフィルタは、
前記トリガ信号に応じて、前記入力信号が入力される毎に前記フィルタ係数を順次算出する係数算出部と、
前記入力信号が入力される毎に、前記入力信号と前記係数算出部によって算出された前記フィルタ係数とを乗算し、その乗算値を積算して出力する演算部とを有し、
前記係数算出部は、前記トリガ信号が印加された後の第１の期間では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が大きくなるように前記フィルタ係数を順次算出し、次の前記トリガ信号が印加された後の第２の期間では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が小さくなるように前記フィルタ係数を順次算出し、
前記演算部は、前記第１の期間が開始されてから前記第２の期間が終了するまでの前記乗算値を積算した値を順次出力し、
前記第１の期間及び前記第２の期間は、前記所要のサンプリングレートに応じた周期より短く、且つ予め決められた期間である、半導体装置。
【請求項２】
前記係数算出部は、前記第１の期間の経過後次の前記トリガ信号が印加されるまでの第３の期間では、固定値となる前記フィルタ係数を算出する請求項１記載の半導体装置。
【請求項３】
前記係数算出部は、前記第２の期間では、前記入力信号が入力される毎に、前記第３の期間で算出した前記フィルタ係数の値から直前の前記第１の期間で算出した前記フィルタ係数の値を順次減算することで前記フィルタ係数を算出する、請求項２記載の半導体装置。
【請求項４】
前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力されるタイミングに対応して生成されるクロック信号をカウントするカウンタ部を更に有し、
前記カウンタ部は、前記トリガ信号が印加されたら前記クロック信号をカウントするカウント動作を開始し、前記カウント動作によるカウント値が第１の値と一致したら前記カウント動作を中断し、次の前記トリガ信号が入力されたら前記カウント動作を再開し、前記カウント値が前記第１の値よりも大きい第２の値と一致したら前記カウント動作を停止し、
前記係数算出部は、前記トリガ信号が印加されてから前記カウント値が前記第１の値に一致するまでの期間を前記第１の期間とし、前記カウント動作が中断している期間を前記第３の期間とし、次の前記トリガ信号が印加されてから前記カウント値が前記第２の値と一致するまでの期間を前記第２の期間とし、前記カウント値を前記入力回数として前記フィルタ係数を算出する、請求項２記載の半導体装置。
【請求項５】
前記デシメーションフィルタは、
前記係数算出部と前記演算部を一組とするフィルタ処理部を２組有し、
前記フィルタ処理部における前記演算部から出力された信号を夫々入力し、何れか一方の信号を選択して前記デシメーションフィルタの出力信号として出力する選択部を更に有し、
夫々の前記フィルタ処理部は、前記トリガ信号の印加に応じて相補的に動作し、
前記選択部は、前記トリガ信号が印加される周期に基づく時間間隔で、夫々の前記演算部から出力された信号を交互に選択して出力する、請求項１記載の半導体装置。
【請求項６】
デルタ・シグマ変調方式に基づいて、入力したアナログ信号を所要のサンプリングレートに基づくデジタル信号に変換して出力するアナログ・デジタル変換器と、
前記アナログ・デジタル変換器によって変換されたデジタル信号に基づいてデータ処理を行う中央処理装置と、
前記所要のサンプリングレートに応じた周期でトリガ信号を出力するタイマ部と、を有する半導体装置であって、
前記アナログ・デジタル変換器は、前記アナログ信号を所定のサンプリングレートでオーバーサンプリングし、デルタ・シグマ変調を行うデルタ・シグマ変調部と、
前記デルタ・シグマ変調部によってデルタ・シグマ変調された信号を順次入力し、入力信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレートに基づくデジタル信号に変換して出力するデシメーションフィルタとを有し、
前記デシメーションフィルタは、前記タイマ部から連続して出力されたトリガ信号に応じて、前記所定のフィルタ処理を行うためのフィルタ係数を所定期間内に入力された前記入力信号毎に算出し、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力し、
前記所定期間は、前記トリガ信号が出力される時間間隔に応じて可変にされ、
前記デシメーションフィルタは、
前記トリガ信号に応じて、前記入力信号が入力される毎に前記フィルタ係数を順次算出する係数算出部と、
前記入力信号が入力される毎に、前記入力信号と前記係数算出部によって算出された前記フィルタ係数とを乗算し、その乗算値を積算して出力する演算部とを有し、
前記係数算出部は、前記トリガ信号が印加された後の第１の期間では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が大きくなるように前記フィルタ係数を順次算出し、次の前記トリガ信号が印加された後の第２の期間では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が小さくなるように前記フィルタ係数を順次算出し、
前記演算部は、前記第１の期間が開始されてから前記第２の期間が終了するまでの前記乗算値を積算した値を順次出力し、
前記第１の期間及び前記第２の期間は、前記所要のサンプリングレートに応じた周期より短く、且つ予め決められた期間である、半導体装置。
【請求項７】
前記係数算出部は、前記第１の期間の経過後次の前記トリガ信号が出力されるまでの第３の期間では、固定値となる前記フィルタ係数を算出する請求項６記載の半導体装置。
【請求項８】
前記係数算出部は、前記第２の期間では、前記入力信号が入力される毎に、前記第３の期間で算出した前記フィルタ係数の値から直前の前記第１の期間で算出した前記フィルタ係数の値を順次減算することで前記フィルタ係数を算出する、請求項７記載の半導体装置。
【請求項９】
前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力されるタイミングに対応して生成されるクロック信号をカウントするカウンタ部を更に有し、
前記カウンタ部は、前記トリガ信号が出力されたら前記クロック信号をカウントするカウント動作を開始し、前記カウント動作によるカウント値が第１の値と一致したら前記カウント動作を中断し、次の前記トリガ信号が出力されたら前記カウント動作を再開し、前記カウント値が前記第１の値よりも大きい第２の値と一致したら前記カウント動作を停止し、
前記係数算出部は、前記トリガ信号が出力されてから前記カウント値が前記第１の値に一致するまでの期間を前記第１の期間とし、前記カウント動作が中断している期間を前記第３の期間とし、次の前記トリガ信号が出力されてから前記カウント値が前記第２の値と一致するまでの期間を前記第２の期間とし、前記カウント値を前記入力回数として前記フィルタ係数を算出する、請求項７記載の半導体装置。
【請求項１０】
前記デシメーションフィルタは、
前記係数算出部と前記演算部を一組とするフィルタ処理部を２組有し、
前記フィルタ処理部における前記演算部から出力された信号を夫々入力し、何れか一方の信号を前記デシメーションフィルタの出力信号として選択して出力する選択部を更に有し、
夫々の前記フィルタ処理部は、前記トリガ信号の出力に応じて相補的に動作し、
前記選択部は、前記トリガ信号が出力される周期に基づく時間間隔で、夫々の前記演算部から出力された信号を交互に選択して出力する、請求項６記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のサンプリングレートでサンプリングされた信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレートに基づく信号に変換して出力するデシメーションフィルタを備える半導体装置に関し、特に前記所要のサンプリングレートが変更可能なデシメーションフィルタに適用して有効な技術に関する。
【背景技術】
【０００２】
デシメーションフィルタは、非常に高い周波数をもつクロック信号によりオーバーサンプリングされた信号をダウンサンプリングする機能と、ダウンサンプリングする際に発生する折り返し（エイリアス）雑音を遮断するローパスフィルタ（ＬＰＦ：Ｌｏｗ−ｐａｓｓ  ｆｉｌｔｅｒ）の機能とを備える回路である。デシメーションフィルタは、例えば、デルタ・シグマＡ／Ｄ変換器に適用される。
【０００３】
従来のデシメーションフィルタの回路構成として、特許文献１及び特許文献２に開示がある。特許文献１には、フィルタ処理を２段階に分けて行うため２つのブロックによって構成したデシメーションフィルタが開示されている。特許文献２には、乗算器を用いずに実現したデシメーションフィルタが開示されている。
【０００４】
また、フィルタの特性を可変するための従来技術として、特許文献３乃至５に開示がある。特許文献３には、デシメーションフィルタにおけるフィルタの係数が格納された係数ＲＯＭを３種類用意し、その３種類の係数ＲＯＭを切り替えることで伝達関数を変更する方法が開示されている。特許文献４には、モータ用リップル検出装置において、リップルの検出に最適なフィルタ特性となるように、モータ作動電流及び作動電圧や可変特性デジタルフィルタの出力値に基づいて、前記可変特性デジタルフィルタのフィルタ係数を可変する方法が開示されている。特許文献５には、第１サンプリング周波数でサンプリングされた第１信号（サンプル）を一時的に記憶するバッファメモリからサンプルを読み出す方法を変えることによりデシメーション比を変える方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−２９９９７３号公報
【特許文献２】特開２００５−３１８３０４号公報
【特許文献３】特開平７−１８３８１４号公報
【特許文献４】特開２００９−２０７２３６号公報
【特許文献５】特開２００８−２１９５６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、デシメーションフィルタによるダウンサンプリングのサンプリングレート（サンプリング周波数）を固定値とする製品が多かった。そのため、例えば、デシメーションフィルタから出力されるデータを用いて後段のマイコンがデータ処理を行うシステムを構築する場合、ユーザは、当該マイコンが処理可能なサンプリングレートでデータを出力するデシメーションフィルタを選ぶ必要があった。
【０００７】
近年、デシメーションフィルタのサンプリング周波数を任意に変更したいという要求がある。デシメーションフィルタのサンプリング周波数を可変にする場合、それに応じてローパスフィルタのフィルタ特性を決める伝達関数を調整する必要がある。その理由は、仮にサンプリング周波数によらずデシメーションフィルタの伝達関数を固定とすると、ローパスフィルタの遮断周波数が固定となる。その結果、遮断周波数が遮断したい周波数帯域（例えば、サンプリング周波数付近の周波数帯域）よりもはるかに大きくなる場合には十分な遮断効果が得られないし、逆に遮断周波数が取得したい信号の周波数よりも小さくなる場合には、取得したい信号成分まで遮断してしまう虞があるからである。
【０００８】
一方、デシメーションフィルタは、オーバーサンプリングされた信号のサンプリングレートに応じたクロック信号で高速に動作する必要があるため、多くの場合ハードウェアによって実現される。ハードウェアでデシメーションフィルタを構成する場合、フィルタ特性を決める伝達関数を可変にすることは容易ではない。前述した特許文献３の方法のように、予め組み込まれた複数の係数ＲＯＭを選択的に用いることで伝達関数を可変にすることも可能であるが、選択する係数ＲＯＭの数に限りがあるため、ユーザによって設定可能なサンプリング周波数の種類が制限されてしまう。また、前述の特許文献４にはモータ作動電流等に基づいてフィルタ係数を可変する方法が示されているが、前記モータ作動電流等をどのように用いてフィルタ係数を可変するのか等の具体的な制御方法についての記載はない。
【０００９】
また、デシメーションフィルタでは、折り返し雑音を除去するために、特定の周波数に合わせてノッチ（帯域阻止）特性を設ける場合がある。例えば、デシメーションフィルタのサンプリング周波数付近の信号が当該サンプリング周波数の２分の１となる周波数を中心に低域側に折り返されることで発生する折り返し雑音を遮断するため、ノッチ特性を設ける周波数帯域を定める周波数（以下、ノッチ周波数、とも称する。）をサンプリング周波数に合わせて設定する。デシメーションフィルタのノッチ特性の具体例として、図７に、デルタ・シグマＡ／Ｄ変換器に適用される、伝達関数が固定のデシメーションフィルタの周波数特性を例示する。同図に示される周波数特性のデシメーションフィルタを適用したデルタ・シグマＡ／Ｄ変換器は、例えば、６０Ｈｚ付近のアナログ信号を３ＭＨｚでオーバーサンプリングし、約１２．２ｋＨｚのサンプリングレート（サンプリング周波数）のデジタル信号に変換して出力する。サンプリング周波数（１２．２ｋＨｚ）付近の信号はその２分の１となる周波数に基づいて折り返し雑音を発生させる。その折り返し雑音は、Ａ／Ｄ変換の目的とするアナログ信号の周波数（６０Ｈｚ）付近で発生するため、Ａ／Ｄ変換結果に影響を与える虞がある。そこで、同図に示されるように、サンプリング周波数に合わせてノッチ周波数（≒１２．２ｋＨｚ）を設定し、サンプリング周波数付近の信号を遮断する。これにより、サンプリング周波数付近の信号に基づく折り返し雑音を低減させることができる。
【００１０】
このようにデシメーションフィルタにノッチ特性を持たせる場合、サンプリング周波数に応じてノッチ周波数を設定するため、仮にノッチ周波数を固定した状態でサンプリング周波数を変化させると、除去したい信号の周波数帯域とノッチ周波数がずれることになり、所望の信号を除去できない虞がある。デシメーションフィルタのノッチ周波数を固定してサンプリング周波数を変更した場合のノッチ特性の具体例として、図８に、伝達関数が固定のデシメーションフィルタの別の周波数特性を例示する。同図には、図７と同様にノッチ周波数を１２．２ｋＨｚに設定し、サンプリング周波数を１２．２ｋＨｚから約８．９３ｋＨｚに変更した場合の周波数特性が示される。この場合、ノッチ周波数が１２．２ｋＨｚであるためサンプリング周波数（８．９３ｋＨｚ）付近の信号が除去されず、前記アナログ信号の周波数帯域に折り返し雑音が発生することになる。これにより、例えば、後段の信号処理回路によりデシメーションフィルタの出力信号をリサンプルしたとき、リサンプルした信号精度が劣化する虞がある。前述した特許文献５では、遮断周波数やノッチ周波数については言及されておらず、また、それらを変更する具体的な方法についても示されていない。なお、遮断周波数やノッチ周波数を柔軟に可変にする方法として、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）を用いてデシメーションフィルタを実現する方法もあるが、その場合、回路規模が非常に大きくなってしまい現実的ではない。
【００１１】
本発明の目的は、デシメーションフィルタのサンプリングレートに応じて、デシメーションフィルタのフィルタ特性を可変することができる技術を提供することにある。
【００１２】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１３】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１４】
すなわち、本半導体装置におけるデシメーションフィルタは、所定のサンプリングレートでサンプリングされた信号を順次入力し、連続して印加されるトリガ信号に応じて、所定のフィルタ処理を行うためのフィルタ係数を所定期間内に入力された入力信号毎に算出するとともに、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力する。前記所定期間は、前記トリガ信号が印加される時間間隔に応じて可変にされる。
【発明の効果】
【００１５】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００１６】
すなわち、本半導体装置によれば、サンプリングレートに応じて、デシメーションフィルタのフィルタ特性を可変することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、デシメーションフィルタを構成要素に持つデルタ・シグマＡ／Ｄ変換器を搭載したマイクロコンピュータの一例を示すブロック図である。
【図２】図２は、デシメーションフィルタ１３の回路構成の一例を示すブロック図である。
【図３】図３は、係数算出部１３９＿Ａ（１３９＿Ｂ）の内部構成の一例を示すブロック図である。
【図４】図４は、フィルタ係数ＣＡ（ＣＢ）の算出方法の一例を示す説明図である。
【図５】図５は、デシメーションフィルタ１３による出力データの出力タイミングの一例を示す説明図である。
【図６】図６は、デシメーションフィルタ１３の周波数特性の一例を示す説明図である。
【図７】図７は、デルタ・シグマＡ／Ｄ変換器に適用される、伝達関数が固定のデシメーションフィルタの周波数特性を例示する説明図である。
【図８】図８は、デルタ・シグマＡ／Ｄ変換器に適用される、伝達関数が固定のデシメーションフィルタの別の周波数特性を例示する説明図である。
【発明を実施するための形態】
【００１８】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１９】
〔１〕（トリガ周期に応じてフィルタ処理の演算期間を可変にするデシメーションフィルタ）
本発明の代表的な実施の形態に係る半導体装置（１）は、所定のサンプリングレート（ｆＯＳ）でサンプリングされた信号（ΔΣ変調データに係る１ビット乃至複数ビットのデジタル信号）を順次入力し、入力信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレートに基づく信号に変換して出力するデシメーションフィルタ（１３）を有する半導体装置である。前記デシメーションフィルタは、連続して印加されるトリガ信号（ＴＲ）に応じて、前記所定のフィルタ処理を行うためのフィルタ係数（ＣＡ（ＣＢ））を所定期間（Ｍ＋２Ｎサイクル分の期間）内に入力された前記入力信号毎に算出し、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力する。前記所定期間は、前記トリガ信号が印加される時間間隔に応じて可変にされる。
【００２０】
これによれば、例えば前記所要のサンプリングレートに基づく周期で前記トリガ信号を前記デシメーションフィルタに印加することで、前記フィルタ係数を算出する期間及び前記乗算値を積算する期間が前記所要のサンプリングレートに応じて変化する。これにより伝達関数を変化させることができるから、デシメーションフィルタのサンプリングレートに応じてフィルタ特性を変化させることができる。
【００２１】
〔２〕（２回のトリガ印加に応じて伝達関数が変化するデシメーションフィルタ）
項１の半導体装置において、前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力される毎に前記フィルタ係数を順次算出する係数算出部（１３９＿Ａ（１３９＿Ｂ））と、前記入力信号が入力される毎に、前記入力信号と前記係数算出部によって算出された前記フィルタ係数とを乗算し、その乗算値を積算して出力する演算部（１３７＿Ａ（１３７＿Ｂ）、及び１３８＿Ａ（１３８＿Ｂ））とを有する。前記係数算出部は、前記トリガ信号が印加された後の第１の期間（４０１、４０１＿Ａ、４０１＿Ｂ）では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が大きくなるように前記フィルタ係数を順次算出し、次の前記トリガ信号が印加された後の第２の期間（４０３、４０３＿Ａ、４０３＿Ｂ）では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が小さくなるように前記フィルタ係数を順次算出する。また、前記演算部は、前記第１の期間が開始されてから前記第２の期間が終了するまでの前記乗算値を積算した値を順次出力する。前記第１の期間及び前記第２の期間は、前記所要のサンプリングレートに応じた周期より短く（Ｍ≧２Ｎ）、且つ予め決められた期間（２Ｎ）である。
【００２２】
項２の半導体装置における前記係数算出部は、前記第１の期間及び前記第２の期間を、前記所要のサンプリングレートに応じた周期より短く、且つ予め決められた期間とし、前記第１の期間及び前記第２の期間では上記の方法により前記フィルタ係数を算出する。これにより、項２に係るデシメーションフィルタは、ローパスフィルタとしての基本的なフィルタ特性を備えることができる。また、前記第１の期間における前記フィルタ係数を算出した後、次のトリガ信号の印加を待って前記第２の期間におけるフィルタ係数の算出を開始することにより、前記トリガ信号が印加される周期が長くなるほど、前記係数算出部が前記フィルタ係数を算出する期間と、前記演算部が前記乗算値を累積する期間とが長くなるように制御される。すなわち、項２に係るデシメーションフィルタによれば、ローパスフィルタとしての基本的なフィルタ特性を持ちつつ、前記第１の期間が終了してから前記第２の期間が開始されるまでの期間の長さに応じて、ローパスフィルタのフィルタ特性を微調整することができる。
【００２３】
〔３〕（固定値のフィルタ係数を算出する）
項２の半導体装置において、前記係数算出部は、前記第１の期間の経過後次の前記トリガ信号が印加されるまでの第３の期間（４０２、４０２＿Ａ、４０２＿Ｂ）では、固定値（Ｎ２）となる前記フィルタ係数を算出する。
【００２４】
この第３の期間もフィルタ係数に基づいた演算が行われることでサンプリング期間が延び、結果的にオーバーサンプリング比が向上することから、第３の期間の増加によって変換精度の向上も期待できる。
【００２５】
〔４〕（Ｍサイクル前のフィルタ係数を減算する）
項３の半導体装置において、前記係数算出部は、前記第２の期間では、前記入力信号が入力される毎に、前記第３の期間で算出した前記フィルタ係数の値から直前の前記第１の期間で算出した前記フィルタ係数の値を順次減算することで前記フィルタ係数を算出する。
【００２６】
これによれば、前記トリガ信号が印加される周期に対応する周波数においてノッチ特性を持たせることができる。これにより、サンプリングレートの変化に応じてノッチ周波数を変化させることができるから、サンプリングレートに基づく周波数帯の信号に起因する折り返し雑音を抑えることができる。
【００２７】
〔５〕（カウンタ）
項３又は４の半導体装置において、前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力されるタイミングに対応して生成されるクロック信号（オーバーサンプリング周波数ｆＯＳのクロック信号）をカウントするカウンタ部（１３４）を更に有する。前記カウンタ部は、前記トリガ信号が印加されたら前記クロック信号をカウントするカウント動作を開始し、前記カウント動作によるカウント値が第１の値（２Ｎ）と一致したら前記カウント動作を中断し、次の前記トリガ信号が入力されたら前記カウント動作を再開し、前記カウント値が前記第１の値よりも大きい第２の値（４Ｎ）と一致したら前記カウント動作を停止する。前記係数算出部は、前記トリガ信号が印加されてから前記カウント値が前記第１の値に一致するまでの期間を前記第１の期間とし、前記カウント動作が中断している期間を前記第３の期間とし、次の前記トリガ信号が印加されてから前記カウント値が前記第２の値と一致するまでの期間を前記第２の期間とし、前記カウント値を前記入力回数として前記フィルタ係数を算出する。
【００２８】
これによれば、前記第１の期間、前記第２の期間、及び前記第３の夫々期間における前記フィルタ係数の算出を容易に制御することができる。特に、前記第２の期間において、前記カウント動作を中断している間はカウント値が変化しないことを利用して、固定値となる前記フィルタ係数を容易に算出することができる。
【００２９】
〔６〕（２つのフィルタ処理部がトリガ信号に応じて相補的に動作するデシメーションフィルタ）
項２乃至５の何れかの半導体装置において、前記デシメーションフィルタは、前記係数算出部と前記演算部を一組とするフィルタ処理部（１３２＿Ａ、１３２＿Ｂ）を２組有し、前記フィルタ処理部における前記演算部から出力された信号を夫々入力し、何れか一方の信号を選択して前記デシメーションフィルタの出力信号として出力する選択部（１３３）を更に有する。夫々の前記フィルタ処理部は、前記トリガ信号の印加に応じて相補的に動作する。また、前記選択部は、前記トリガ信号が印加される周期に基づく時間間隔で、夫々の前記演算部から出力された信号を交互に選択して出力する。
【００３０】
これによれば、夫々の前記演算部によって前記積算した値が、前記トリガ信号が印加される周期に基づく時間間隔で交互に出力される。すなわち、所望のサンプリングレートに応じた周期で前記トリガ信号を印加すれば、前記デシメーションフィルタの出力信号を前記所望のサンプリングレートで出力することができる。
【００３１】
〔７〕（ΔΣＡＤ変換器とＣＰＵを備える半導体装置（マイコン））
本発明の代表的な別の実施の形態に係る半導体装置（１）は、デルタ・シグマ変調方式に基づいて、入力したアナログ信号（ＶＡ）を所要のサンプリングレートに基づくデジタル信号に変換して出力するアナログ・デジタル変換器（１０）と、前記アナログ・デジタル変換器によって変換されたデジタル信号に基づいてデータ処理を行う中央処理装置（２２）と、前記所要のサンプリングレートに応じた周期でトリガ信号（ＴＲ）を出力するタイマ部（２０）と、を有する。前記アナログ・デジタル変換器は、前記アナログ信号を所定のサンプリングレート（ｆＯＳ）でオーバーサンプリングし、デルタ・シグマ変調を行うデルタ・シグマ変調部（１２）と、前記デルタ・シグマ変調部によってデルタ・シグマ変調された信号を順次入力し、入力信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレートに基づくデジタル信号に変換して出力するデシメーションフィルタ（１３）とを有する。前記デシメーションフィルタは、前記タイマ部から連続して出力された前記トリガ信号に応じて、前記所定のフィルタ処理を行うためのフィルタ係数（ＣＡ、（ＣＢ））を所定期間（Ｍ＋２Ｎサイクル分の期間）内に入力された前記入力信号毎に算出し、算出した前記フィルタ係数と前記入力信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力する。前記所定期間は、前記トリガ信号が出力される時間間隔に応じて可変にされる。
【００３２】
これによれば、前記タイマ部は前記所要のサンプリングレートに基づく周期で前記トリガ信号を出力するので、前記フィルタ係数を算出する期間及び前記乗算値を積算する期間が前記所要のサンプリングレートに応じて変化する。これにより、項１と同様に、デシメーションフィルタのサンプリングレートに応じてフィルタ特性を変化させることができる。
【００３３】
〔８〕（２回のトリガ印加に応じて伝達関数が変化するデシメーションフィルタ）
項７の半導体装置において、前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力される毎に前記フィルタ係数を順次算出する係数算出部（１３９＿Ａ（１３９＿Ｂ））と、前記入力信号が入力される毎に、前記入力信号と前記係数算出部によって算出された前記フィルタ係数とを乗算し、その乗算値を積算して出力する演算部（１３７＿Ａ（１３７＿Ｂ）及び１３８＿Ａ（１３８＿Ｂ））とを有する。前記係数算出部は、前記トリガ信号が印加された後の第１の期間（４０１（４０１＿Ａ、４０１＿Ｂ））では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が大きくなるように前記フィルタ係数を順次算出し、次の前記トリガ信号が印加された後の第２の期間（４０３（４０３＿Ａ、４０３＿Ｂ））では、当該トリガ信号が印加されてから前記入力信号が入力された入力回数に応じて値が小さくなるように前記フィルタ係数を順次算出する。また、前記演算部は、前記第１の期間が開始されてから前記第２の期間が終了するまでの前記乗算値を積算した値を順次出力する。前記第１の期間及び前記第２の期間は、前記所要のサンプリングレートに応じた周期より短く（Ｍ≧２Ｎ）、且つ予め決められた期間（２Ｎ）である。
【００３４】
これによれば、項２と同様に、ローパスフィルタとしての基本的なフィルタ特性を持ちつつ、前記第１の期間が終了してから前記第２の期間が開始されるまでの期間の長さに応じて、ローパスフィルタのフィルタ特性を微調整することができる。
【００３５】
〔９〕（固定値のフィルタ係数を算出する）
項８の半導体装置において、前記係数算出部は、前記第１の期間の経過後次の前記トリガ信号が出力されるまでの第３の期間（４０２（４０２＿Ａ、４０２＿Ｂ））では、固定値（Ｎ２）となる前記フィルタ係数を算出する。
【００３６】
この第３の期間もフィルタ係数に基づいた演算が行われることでサンプリング期間が延び、結果的にオーバーサンプリング比が向上することから、第３の期間の増加によって変換精度の向上も期待できる。
【００３７】
〔１０〕（Ｍサイクル前のフィルタ係数を減算する）
項９の半導体装置において、前記係数算出部は、前記第２の期間では、前記入力信号が入力される毎に、前記第３の期間で算出した前記フィルタ係数の値から直前の前記第１の期間で算出した前記フィルタ係数の値を順次減算することで前記フィルタ係数を算出する。
【００３８】
これによれば、項４と同様に、サンプリングレートの変化に応じてノッチ周波数を変化させることができるから、サンプリングレートに基づく周波数帯の信号に起因する折り返し雑音を抑えることができる。
【００３９】
〔１１〕（カウンタ）
項９又は１０の半導体装置において、前記デシメーションフィルタは、前記トリガ信号に応じて、前記入力信号が入力されるタイミングに対応して生成されるクロック信号（オーバーサンプリング周波数ｆＯＳのクロック信号）をカウントするカウンタ部（１３４）を更に有する。前記カウンタ部は、前記トリガ信号が出力されたら前記クロック信号をカウントするカウント動作を開始し、前記カウント動作によるカウント値が第１の値（２Ｎ）と一致したら前記カウント動作を中断し、次の前記トリガ信号が出力されたら前記カウント動作を再開し、前記カウント値が前記第１の値よりも大きい第２の値（４Ｎ）と一致したら前記カウント動作を停止する。前記係数算出部は、前記トリガ信号が出力されてから前記カウント値が前記第１の値に一致するまでの期間を前記第１の期間とし、前記カウント動作が中断している期間を前記第３の期間とし、次の前記トリガ信号が出力されてから前記カウント値が前記第２の値と一致するまでの期間を前記第２の期間とし、前記カウント値を前記入力回数として前記フィルタ係数を算出する。
【００４０】
これによれば、項５と同様に、夫々の期間における前記フィルタ係数の算出を容易に制御することができる。特に、前記第２の期間において、前記カウント動作を中断している間はカウント値が変化しないことを利用して、固定値となる前記フィルタ係数を容易に算出することができる。
【００４１】
〔１２〕（２つのフィルタ処理部がトリガ信号に応じて相補的に動作するデシメーションフィルタ）
項８乃至１１の何れかの半導体装置において、前記デシメーションフィルタは、前記係数算出部と前記演算部を一組とするフィルタ処理部（１３２＿Ａ、１３２＿Ｂ）を２組有し、前記フィルタ処理部における前記演算部から出力された信号を夫々入力し、何れか一方の信号を前記デシメーションフィルタの出力信号として選択して出力する選択部（１３３）を更に有する。夫々の前記フィルタ処理部は、前記トリガ信号の出力に応じて相補的に動作する。前記選択部は、前記トリガ信号が出力される周期に基づく時間間隔で、夫々の前記演算部から出力された信号を交互に選択して出力する。
【００４２】
これによれば、項６と同様に、前記デシメーションフィルタの出力信号を前記所望のサンプリングレートで出力することができる。
【００４３】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００４４】
≪実施の形態≫
図１は、本願発明の一実施の形態として、デシメーションフィルタを構成要素に持つデルタ・シグマＡ／Ｄ変換器を搭載したマイクロコンピュータの一例を示すブロック図である。同図に示されるマイクロコンピュータ（マイコン）１は、特に制限されないが、公知のＣＭＯＳ集積回路の製造技術によって１個の単結晶シリコンのような半導体基板に形成されている。マイコン１は、例えば、電力メータ用のマイクロコンピュータであり、電力量を検出するためのセンサ２から出力される５０Ｈｚ〜６０Ｈｚのアナログ信号ＶＡを入力してデジタル信号に変換し、変換したデジタル信号に基づいて各種データ処理を行う。
【００４５】
マイコン１は、例えば、ΔΣ（デルタ・シグマ）型アナログ／デジタル変換器（ΔΣ型Ａ／Ｄ変換器）１０、ＣＰＵ２２、メモリ（ＲＡＭ）２１、タイマ部２０、バス２３、及びその他の図示されない入出力インターフェイス回路等を備える。夫々の機能部はバス２３を介して共通に接続される。ＣＰＵ２２は、図示されない不揮発性のメモリに格納されたプログラムにしたがって、ΔΣ型アナログ／デジタル変換器１０やタイマ部２０等の各機能部に対する統括的な制御を行うとともに、ΔΣ型アナログ／デジタル変換器１０によって変換されたデジタル形式のデータに基づいて各種データ処理を実行する。メモリ２１は、ＣＰＵ２２によるデータ処理に係る計算結果等を格納するための記憶部であり、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００４６】
タイマ部２０は、設定されたパルス生成条件にしたがって各種パルス信号を生成するタイマ回路である。図１では生成される各種パルス信号の代表例として、トリガ信号ＴＲを例示している。トリガ信号ＴＲは、ΔΣ型アナログ／デジタル変換器１０のサンプリング周波数（サンプリングレート）を決定するための信号であり、ΔΣ型アナログ／デジタル変換器１０に印加される。詳細は後述するが、当該トリガ信号ＴＲの時間間隔（周期）によってΔΣ型アナログ／デジタル変換器１０のサンプリング周波数は可変にされる。トリガ信号ＴＲが出力される時間間隔、すなわちトリガ信号ＴＲの周波数は、ユーザによって任意に設定可能とされ、例えば、後述するΔΣ型アナログ／デジタル変換器１０のオーバーサンプリング周波数ｆＯＳの整数倍の周波数が設定される。
【００４７】
ΔΣ型アナログ／デジタル変換器１０は、センサ２から出力されたアナログ信号ＶＡを入力してオーバーサンプリングし、オーバーサンプリングした周波数よりも低い所要のサンプリング周波数（サンプリングレート）に応じたデジタル信号に変換して出力する。前述したように、前記サンプリング周波数は、タイマ部２０から連続して出力されるトリガ信号ＴＲの周期によって可変にされる。例えば、ΔΣ型アナログ／デジタル変換器１０は、５０Ｈｚ〜６０Ｈｚ付近のアナログ信号を３ＭＨｚの周波数でオーバーサンプリングし、トリガ信号ＴＲの周期に基づいて決定されるサンプリング周波数のデジタル信号にダウンサンプリングして出力する。なお、前記サンプリング周波数をどの程度の値にするかは、センサ２から出力されるアナログ信号ＶＡの周波数帯域や、ΔΣ型アナログ／デジタル変換器１０によるＡ／Ｄ変換結果を用いて各種データ処理を実行する機能部（例えば、図１におけるＣＰＵ２２）によって処理可能な周波数帯域等を考慮して決めると良い。
【００４８】
ΔΣ型アナログ／デジタル変換器１０は、具体的に、制御回路１１と、ΔΣ変調器１２と、デシメーションフィルタ１３と、データレジスタ１４とを含んで構成される。制御回路１１は、ΔΣ変調器１２、デシメーションフィルタ１３、及びデータレジスタ１４の制御を行う。例えば、制御回路１１は、トリガ信号ＴＲの印加に応じて制御信号ＣＮＴ１を生成し、ΔΣ変調器１２による処理の実行と停止を制御する。また、制御回路１１は、トリガ信号ＴＲの印加に応じて制御信号ＣＮＴ２を生成し、後述するデシメーションフィルタ１３に設けられたカウンタ部１３４を制御したり、データの入出力を制御したりする。
【００４９】
ΔΣ変調器１２は、ΔΣアナログ／デジタル変換器１０のサンプリング周波数よりも高いオーバーサンプリング周波数ｆＯＳでアナログ信号ＶＡをオーバーサンプリングする。前記オーバーサンプリングは、図示されないクロック生成回路によって生成されたオーバーサンプリング周波数ｆＯＳのクロック信号に同期してアナログ信号ＶＡをサンプリングすることによって行われる。そして、ΔΣ変調器１２は、オーバーサンプリングによって取得したデータを、ΔΣ変調方式によって前記アナログ信号ＶＡの振幅に比例した密度のパルス列となるように変調して出力する。以下、ΔΣ変調器１２から出力されるデジタル信号をΔΣ変調データと称する。
【００５０】
デシメーションフィルタ１３は、ΔΣ変調器１２から出力されたΔΣ変調データを入力し、入力信号に対して所定のフィルタ処理を行うとともに、所要のサンプリングレート（サンプリング周波数）に基づくデジタル信号にダウンサンプリングして出力する。具体的には、デシメーションフィルタ１３は、ΔΣ変調データを構成する１ビット乃至複数ビットのデジタルデータを順次入力することでサンプリングし、所定期間にサンプリングしたデータに基づいて所定のフィルタ処理を行い、前記所定期間毎の処理結果（出力データ）を順次出力する。デシメーションフィルタ１３から出力された出力データは、データレジスタ１４に格納される。
【００５１】
なお、以下の説明では、周波数ｆＯＳのクロック信号に同期してΔΣ変調データの１ビットのデジタル信号をサンプリングする単位を１サイクルと称する。
【００５２】
前述したように、ΔΣアナログ／デジタル変換器１０のサンプリング周波数は、連続して出力されるトリガ信号ＴＲの周期に応じて変化するため、デシメーションフィルタ１３のフィルタ特性もトリガ信号ＴＲの周期に応じて調整する必要がある。そこで、デシメーションフィルタ１３は、１回分のフィルタ処理を行う演算期間をトリガ信号ＴＲの２回の印加によって決定するように構成される。
【００５３】
図２にデシメーションフィルタ１３の回路構成を例示する。同図に示されるように、デシメーションフィルタ１３は、２系統の処理部を含んで構成される。具体的には、デシメーションフィルタ１３は、入力データセレクタ１３１、第１フィルタ処理部１３２＿Ａ、第２フィルタ処理部１３２＿Ｂ、出力データセレクタ１３３、カウンタ部１３４、及びフリップフロップ回路（Ｆ／Ｆ）１３５、を含んで構成される。
【００５４】
入力データセレクタ１３１は、制御信号ＣＮＴ２に基づいて、入力されたΔΣ変調データを第１フィルタ処理部１３２＿Ａと第２フィルタ処理部１３２＿Ｂとの間で振り分ける。
【００５５】
カウンタ部１３４は、前記クロック生成部によって生成されたオーバーサンプリング周波数ｆＯＳのクロック信号をカウントし、そのカウント値を第１フィルタ処理部１３２＿Ａ及び第２フィルタ処理部１３２＿Ｂに出力する。カウンタ部１３４は、例えば、第１フィルタ処理部１３２＿Ａ用のカウンタ回路と、第２フィルタ処理部１３２＿Ｂ用のカウンタ回路とを有し、夫々のカウンタ回路はトリガ信号ＴＲに応じて交互にカウント動作を行う。なお、第１フィルタ処理部１３２＿Ａ用のカウンタ回路と第２フィルタ処理部１３２＿Ｂ用のカウンタ回路は同一の回路構成とされるため、以下の説明では特に区別することなく、単にカウンタ回路としてその動作を説明する。
【００５６】
前記カウンタ回路は、トリガ信号ＴＲが出力され、ΔΣ変調器１２によるΔΣ変調データの出力が開始されると、前記クロック信号をカウントするカウント動作を開始する。そして、カウント値が第１の値（２Ｎ）になったらカウント動作を中断し、その値を保持する。その後、次のトリガ信号ＴＲが印加されたら、再びカウント動作を開始する。そしてカウント値が第２の値（４Ｎ）になったらカウント動作を停止し、カウント値をリセットする。以上の動作をトリガ信号ＴＲが印加される毎に繰り返す。上記のカウンタ部１３４によるカウント動作は、制御回路１１がトリガ信号ＴＲに基づいて生成した制御信号ＣＮＴ２によって制御される。
【００５７】
第１フィルタ処理部１３２＿Ａ及び第２フィルタ処理部１３２＿Ｂ（総称する場合は、単に、フィルタ処理部１３２とも称する。）は、入力データセレクタ１３１を介して入力されたΔΣ変調データに対して所定の伝達関数にしたがったフィルタ処理を行う。具体的には、フィルタ処理部１３２は、ΔΣ変調データを構成する１ビットのデジタル信号を順次入力し、フィルタ処理を行うためのフィルタ係数Ｃｊを所定期間内に入力された前記１ビットのデジタル信号毎に算出し、算出したフィルタ係数Ｃｊと前記１ビットのデジタル信号とを順次乗算し、前記所定期間内の乗算値を積算して順次出力する。前記所定期間は、連続して印加されるトリガ信号ＴＲの周期によって決定される。なお、以下の説明では、第１フィルタ処理部１３２＿Ａによって算出されるフィルタ係数をＣＡとして表し、第２フィルタ処理部１３２＿Ｂによって算出されるフィルタ係数をＣＢとして表し、総称する場合は、上記のようにフィルタ係数Ｃｊとして表す。フィルタ処理部１３２の詳細については後述する。
【００５８】
出力データセレクタ１３３は、第１フィルタ処理部１３２＿Ａによって前記積算されたデータ及び第２フィルタ処理部１３２＿Ｂによって前記積算されたデータを入力し、入力したデータを交互に選択して出力する。例えば、出力データセレクタ１３３は、トリガ信号ＴＲの周期毎に、交互にデータ選択して出力する。出力データセレクタ１３３による選択動作は、制御回路１１がトリガ信号ＴＲに基づいて生成した制御信号ＣＮＴ２によって制御される。
【００５９】
フリップフロップ回路１３５は、出力データセレクタ１３３から順次出力された出力データを保持する。保持された出力データはデータレジスタ１４に順次格納される。
【００６０】
ここで、フィルタ処理部１３２について詳細に説明する。
【００６１】
本デシメーションフィルタ１３の伝達関数、すなわちフィルタ処理部１３２の伝達関数は、例えば（式１）で表される。
【００６２】
【数１】
0005812774.tif 000002
【００６３】
同式において、Ｍ、Ｎはオーバーサンプリングのサイクル数（０以上の整数）を表すパラメータであり、Ｃｊはフィルタ係数である。ここでＣｊは次の（式２）〜（式６）で表される。
【００６４】
【数２】
0005812774.tif 000003
【００６５】
【数３】
0005812774.tif 000004
【００６６】
【数４】
0005812774.tif 000005
【００６７】
【数５】
0005812774.tif 000006
【００６８】
【数６】
0005812774.tif 000007
【００６９】
従来のデシメーションフィルタでは、（式１）の伝達関数で決定されるフィルタ特性を得る場合、パラメータＭ、Ｎは、システムによって固定値であった。本デシメーションフィルタ１３では、トリガ信号ＴＲの周期に基づいてフィルタの伝達関数を可変にするため、パラメータＭをトリガ信号ＴＲの周期（Ｍ／ｆＯＳ）に対応させ、トリガ信号ＴＲの周期の変化に応じてパラメータＭの値を変化させる。パラメータＮは予め決定された固定の値であり、例えば２Ｎ＝２５６である。パラメータＭ及びＮの関係は、例えば、Ｍ≧２Ｎである。
【００７０】
ここで、（式１）における（式７）で表される項を展開すると（式８）となる。（式８）において、各項の係数Ｃｘは、Ｃｘ＝０，１，２，３，・・・Ｎ−１，Ｎ，Ｎ−１，・・２，１，０となる。
【００７１】
【数７】
0005812774.tif 000008
【００７２】
【数８】
0005812774.tif 000009
【００７３】
また、（式１）における（式７）を除いた他の項において、“１／（１−ｚ−１）”は積分回路（ローパスフィルタ）を意味し、“１−ｚ−Ｍ“はある時点のサンプルからＭサンプル（Ｍサイクル）前の値を引くことを意味する。このことから、（式１）で示される伝達関数を回路で実現することが可能であることが理解される。具体的には、フィルタ処理部１３２は、１サイクル毎にフィルタ係数Ｃｊを順次算出し、フィルタ係数Ｃと入力したΔΣ変調データに係るデジタル信号を乗算し、その乗算値を順次積算することで、（式１）の伝達関数のフィルタ特性を実現する。
【００７４】
（式１）の伝達関数で決定されるノッチ特性について説明する。ノッチ特性を決めるノッチ周波数において、伝達関数Ｈ（ｚ）の値は“０（ゼロ）”となる。すなわち、式（１）の分子に着目すると、ｚ−Ｎ＝１、又はｚ−Ｍ＝１において、伝達関数Ｈ（ｚ）＝０となる。ここで、ｚ−Ｎは（式９）で表され、ｚ−Ｍは（式１０）で表されるから、伝達関数Ｈ（ｚ）＝０となるノッチ周波数ｆｎ１、ｆｎ２は、（式１１）及び（式１２）で表される。なお、ｎは１以上の整数である。
【００７５】
【数９】
0005812774.tif 000010
【００７６】
【数１０】
0005812774.tif 000011
【００７７】
【数１１】
0005812774.tif 000012
【００７８】
【数１２】
0005812774.tif 000013
【００７９】
（式１１）及び（式１２）に示されるように、フィルタ処理部１３２は、パラメータＮに基づいて決定される周波数ｆ１と、パラメータＭに基づいて決定される周波数ｆ２とにおいてノッチ特性を有するフィルタ特性となる。前述したようにパラメータＮが固定値であるためノッチ周波数ｆ１は固定値となるが、パラメータＭはトリガ信号ＴＲの周期に応じて変化するため、ノッチ周波数ｆ２も変化する。また、トリガ信号ＴＲの周期はＭ／ｆＯＳで表されるのでサンプリング周波数はｆＯＳ／Ｍとなり、ｎ＝１のときのノッチ周波数ｆ２の値と一致する。すなわち、トリガ信号ＴＲの周期に対応させてサンプリング周波数を決定することで、サンプリング周波数の変化に応じてノッチ周波数も変化させることができ、サンプリング周波数（サンプリングレート）に基づく周波数帯の信号に起因する折り返し雑音を抑えることができる。
【００８０】
次に、（式１）の伝達関数で決定されるローパスフィルタの遮断周波数ｆｃについて説明する。
【００８１】
ローパスフィルタの遮断周波数ｆｃはパラメータＭの影響を受ける。具体的には、フィルタの振幅特性は、ノッチ周波数に近づくにつれて減衰されるため、トリガ信号ＴＲの周期（パラメータＭ）を大きくしてノッチ周波数を低くするに伴い遮断周波数ｆｃを低くすることができる。これにより、トリガ信号ＴＲの周期の変化に応じて遮断周波数ｆＣが変化することが理解される。
【００８２】
上記の伝達関数を実現するためのフィルタ処理部１３２の具体的な回路構成について説明する。
【００８３】
第１フィルタ処理部１３２＿Ａ及び第２フィルタ処理部１３２＿Ｂは、同一の回路ブロックから構成されるため、ここでは代表して第１フィルタ処理部１３２＿Ａについて説明する。
【００８４】
第１フィルタ処理部１３２＿Ａは、演算部としての乗算部１３７＿Ａ及び累積部１３８＿Ａと、係数算出部１３９＿Ａとを含んで構成される。係数算出部１３９＿Ａは、デシメーションフィルタ１３の伝達関数を決めるフィルタ係数ＣＡを算出する。具体的には、係数算出部１３９＿Ａは、トリガ信号ＴＲに応じて、ΔΣ変調データの１ビットのデジタル信号が入力される毎にフィルタ係数ＣＡを順次算出する。例えば、トリガ信号ＴＲが出力され、前記クロック信号に同期したΔΣ変調データの出力が開始されると、カウンタ部１３４によるカウント値を用いて所定の演算を行うことにより、前記クロック信号に同期してフィルタ係数ＣＡを順次算出する。
【００８５】
係数算出部１３９＿Ａによるフィルタ係数ＣＡの算出方法について詳細に説明する。
【００８６】
図３は、係数算出部１３９＿Ａの内部構成の一例を示すブロック図である。係数算出部１３９＿Ａは、第１係数演算回路１３９０と第２係数演算回路１３９１とを含んで構成される。第１係数演算回路１３９０は、カウンタ部１３４からのカウント値に基づいて係数Ｃｘを算出し、係数Ｃｘに基づいて係数Ｃｙを算出する。前述したように、係数Ｃｘは（式８）における各項の係数である。第２係数演算回路１３９１は、第１係数演算回路１３９０によって算出された係数Ｃｙに基づいて、フィルタ係数ＣＡを算出する。
【００８７】
図４は、フィルタ係数ＣＡの算出方法の一例を示す説明図である。同図は横軸を時間軸として、（Ａ）にはトリガ信号ＴＲが示され、（Ｂ）にはカウンタ１３４のカウント値が示され、（Ｃ）には係数Ｃｘが示され、（Ｄ）には係数Ｃｙが示され、（Ｅ）にはフィルタ係数ＣＡが示される。
【００８８】
先ず、トリガ信号ＴＲが出力されるとカウンタ部１３４が初期値（＝０）からカウント動作を開始する。カウント値が０から２Ｎとなるまでの期間４０１では、係数算出部１３９＿Ａは以下のように動作する。先ず、カウント値がＮ（Ｎサイクル）になるまでの期間では、第１係数演算回路１３９０はカウント値に比例して値が大きくなるように、前記クロック信号に同期して前記係数Ｃｘを算出し、係数Ｃｘの値を係数Ｃｙとして順次出力する。カウント値がＮになった後、２Ｎになるまでの期間では、第１係数演算回路１３９０はカウント値に応じて値が小さくなるように前記クロック信号に同期して係数Ｃｘを算出し、係数Ｃｘの値を係数Ｃｙとして順次出力する。これにより、図４の（Ｄ）に示されるように、期間４０１における係数Ｃｙは、カウント値がＮのときＮとなり、カウント値が２Ｎのとき０となる、上に凸の特性となる。また、第２係数演算回路１３９１は、１サイクル前（１サンプル前）に算出された係数Ｃｙと当該サイクルで算出された係数Ｃｙとに基づいて所定の演算を行うことでフィルタ係数ＣＡを算出する。これにより、図４の（Ｅ）に示されるように、期間４０１のフィルタ係数ＣＡは、０からＮ２に漸近するような特性となる。カウント値が２Ｎとなった時点でフィルタ係数ＣＡはＮ２となる。
【００８９】
カウンタ部１３４は、カウント値が２Ｎとなった時点でカウント動作を中断する。このときカウント値はリセットされずに保持され、保持された値（＝２Ｎ）が第１係数演算回路１３９０に入力される。カウンタ部１３４がカウント動作を中断している期間４０２では、係数算出部１３９＿Ａは以下のように動作する。第１係数演算回路１３９０は、固定のカウント値（＝２Ｎ）を用いて係数Ｃｘを算出し、係数Ｃｘの値を係数Ｃｙとして出力する。すなわち、カウント値が２Ｎになったときの値と同一の値（＝０）となる係数Ｃｙを出力する。この場合、第１係数演算回路１３９０は、固定のカウント値（＝２Ｎ）を用いて前記クロック信号に同期して１サイクル毎に係数Ｃｙを算出してもよいし、係数Ｃｙを算出する演算を停止して、カウント値が２Ｎになったときに保持しておいた係数Ｃｙの値を出力してもよい。また、第２係数演算回路１３９１は、期間４０１と同様の方法で演算を行う。これにより、フィルタ係数ＣＡの値もカウント値が２Ｎになったときの値と同一の値（＝Ｎ２）が出力される。
【００９０】
その後、Ｍサイクル経過後のタイミングで次のトリガ信号ＴＲが出力されると、カウンタ部１３４はカウント動作を再開し、カウント値が４Ｎとなるまでカウント動作を行う。次のトリガ信号が出力されてからカウント値が４Ｎとなる（２Ｎサイクル経過する）までの期間４０３では、係数算出部１３９＿Ａは以下のように動作する。第１係数演算回路１３９０は、前記第２期間４０２で算出した係数Ｃｘの値から直前の期間４０１で算出した係数Ｃｘの値を順次減算することで算出した値を係数Ｃｙとして出力する。すなわち、第１係数演算回路１３９０は、期間４０２で算出した係数Ｃｘ（＝０）から、その時点よりＭサイクル（Ｍサンプル）前の係数Ｃｘの値を順次減算することで係数Ｃｙの値を算出する。これにより、係数Ｃｙは、カウント値が３Ｎのとき−Ｎとなり、カウント値が４Ｎのとき０となる、下に凸の特性となる。具体的には、図４の（Ｄ）に示されるように、係数Ｃｙは、Ｍサイクル遅れて係数Ｃｘの逆位相の波形が重畳された特性となる。また、第２係数演算回路１３９１は、期間４０１及び期間４０２と同様の演算方法によって、フィルタ係数ＣＡを算出する。これにより、期間４０３のフィルタ係数ＣＡは、期間４０２で算出したフィルタ係数ＣＡの値から、その時点よりＭサイクル前のフィルタ係数ＣＡの値を減算した値となり、具体的には、図４の（Ｅ）に示されるように、値がＮ２から０に変化する特性となる。
【００９１】
カウント値が４Ｎになると、カウンタ部１３４はカウント動作を停止し、カウント値をリセットする。そして、更に次のトリガ信号ＴＲが出力されると、カウント値０からカウント動作を再開する。その後の動作は上記と同様である。
【００９２】
以上のように、トリガ信号ＴＲの２回の印加によって決定される期間（期間４０１から期間４０３までのＭ＋２Ｎサイクル分の期間）にわたってフィルタ係数Ｃｊが算出される。Ｍ＋２Ｎサイクルの期間において、期間４０１と期間４０３は固定の期間（２Ｎサイクル分の期間）とされ、カウンタ動作が中断している期間４０２はトリガ信号ＴＲの周期に応じて伸長される。すなわち、デシメーションフィルタ１３のフィルタ特性を決めるフィルタ係数Ｃｊを算出する期間をトリガ信号ＴＲの周期に応じて変化させることができるから、サンプリング周波数に応じて伝達関数を可変にすることができる。また、前記期間４０２もフィルタ係数Ｃｊに基づいた演算が行われることでサンプリング期間が延び、結果的にオーバーサンプリング比が向上する。すなわち、トリガ信号ＴＲの周期を大きくして期間４０２が延ばすことにより、変換精度の向上も期待できる。なお、係数算出部１３９＿Ｂによるフィルタ係数ＣＢの算出方法はフィルタ係数ＣＡの算出方法と同様であるため、説明を省略する。
【００９３】
次に、デシメーションフィルタ１３のデータの出力方法について詳細に説明する。
【００９４】
前述したように、係数算出部１３９＿Ａは、Ｍ＋２Ｎサイクルの期間毎にフィルタ係数ＣＡを算出する。算出されたフィルタ係数ＣＡは、前記クロック信号に同期して乗算部１３７＿Ａに入力される。乗算部１３７＿Ａは、トリガ信号ＴＲに応じて、ΔΣ変調データの１ビットのデジタル信号が入力される毎に、当該入力したデジタル信号とフィルタ係数ＣＡとを乗算する。前記乗算する処理は、前述した図４における期間４０１及び期間４０３のみならず、カウンタ部１３４がカウント動作を中断している期間４０２でも行われる。乗算部１３７＿Ａによって算出された乗算値は、前記クロック信号に同期して累積部１３８＿Ａに入力される。累積部１３８＿Ａは、トリガ信号ＴＲの２回の印加によって決定される、期間４０１から期間４０３までの（Ｍ＋２Ｎ）サイクル分の期間に前記乗算値を順次積算し、積算結果を出力データセレクタ１３３に出力する。すなわち、累積部１３８＿Ａは、（Ｍ＋２Ｎ）サイクル毎に積算値を算出する。
【００９５】
以上のように、係数算出部１３９＿Ａ、乗算部１３７＿Ａ、及び累積部１３８＿Ａは、Ｍ＋２Ｎサイクル毎に夫々の演算を実行する。すなわち、係数算出部１３９＿Ａ、乗算部１３７＿Ａ、及び累積部１３８＿Ａを含んで構成される第１フィルタ処理部１３２＿Ａは、Ｍ＋２Ｎサイクル毎にフィルタ処理を繰り返し実行することにより、ダウンサンプリングを行う。なお、乗算部１３７＿Ａ及び累積部１３８＿Ａ等の各機能部の値は、フィルタ処理に係る１回の演算が終了する毎に初期化される。
【００９６】
しかしながら、仮に、デシメーションフィルタ１３の出力データとして、第１フィルタ処理部１３２＿Ａによって算出された演算結果（積算結果）をＭ＋２Ｎサイクル毎に出力すると、トリガ信号ＴＲの周期に対してデシメーションフィルタ１３の出力のデータレートがずれてしまう。例えばトリガ信号ＴＲの周期の半分の出力データレートになってしまう。そこで、本デシメーションフィルタ１３では、図２に示したようにフィルタ処理部１３２を第１フィルタ処理部１３２＿Ａと第２フィルタ処理部１３２＿Ｂの２系統で構成し、２つのフィルタ処理部をトリガ信号ＴＲの出力に応じて交互に動作させることで、トリガ信号ＴＲと同じレートを保つ。
【００９７】
図５は、デシメーションフィルタ１３による出力データの出力タイミングの一例を示す説明図である。同図では横軸を時間軸としている。同図の（Ａ）にはトリガ信号ＴＲを示され、（Ｂ）には係数算出部１３９＿Ａによって算出されるフィルタ係数ＣＡが示され、（Ｃ）には第１フィルタ処理部１３２＿Ａの動作状態が示され、（Ｄ）には係数算出部１３９＿Ｂによって算出されるフィルタ係数ＣＢが示され、（Ｅ）には第２フィルタ処理部１３２＿Ｂの動作状態が示され、（Ｆ）には出力データセレクタ１３３の出力状態が示されている。また、同図において、前述した図４に示される期間４０１、４０２、及び４０３として、第１フィルタ処理部１３２＿Ａに係る夫々の期間を期間４０１＿Ａ、４０２＿Ａ、及び４０３＿Ａとして表示し、第２フィルタ処理部１３２＿Ｂに係る夫々の期間を期間４０１＿Ｂ、４０２＿Ｂ、及び４０３＿Ｂとして表示している。
【００９８】
図５に示されるように、先ず、タイミング５００で１回目のトリガ信号ＴＲが出力されると、係数算出部１３９＿Ａはフィルタ係数ＣＡの算出を開始するとともに、乗算部１３７＿Ａ及び累積部１３８＿Ａは上記の演算を開始する。そして、タイミング５０１で２回目のトリガ信号ＴＲが出力され、タイミング５０２で第１フィルタ処理部１３２＿Ａによる１回目のフィルタ処理に係る演算期間が終了すると、累積部１３８＿Ａはタイミング５００からタイミング５０２までの期間（Ｍ＋２Ｎサイクルの期間）における乗算値の積算結果Ａ１を出力データセレクタ１３３に出力し、出力データセレクタ１３３は受け取った積算結果を出力データＡ１として出力する。
【００９９】
一方、タイミング５０１で２回目のトリガ信号ＴＲが出力されると、係数算出部１３９＿Ｂはフィルタ係数ＣＢの算出を開始するとともに、乗算部１３７＿Ｂ及び累積部１３８＿Ｂは上記の演算を開始する。そして、タイミング５０３で３回目のトリガ信号ＴＲが出力され、タイミング５０４で第２フィルタ処理部１３２＿Ｂによる１回目のフィルタ処理に係る演算期間が終了すると、累積部１３８＿Ｂはタイミング５０１からタイミング５０４までの期間（Ｍ＋２Ｎサイクルの期間）における乗算値の積算結果Ｂ１を出力データセレクタ１３３に出力し、出力データセレクタ１３３は受け取った積算結果を出力データＢ１として出力する。その後も、トリガ信号ＴＲが出力される毎に上記の処理が繰り返し実行される。
【０１００】
以上の処理によれば、夫々のフィルタ処理部１３２は、Ｍ＋２Ｎサイクルの周期でΔΣ変調データを取り込んでフィルタ処理を実行するが、そのフィルタ処理をトリガ信号ＴＲ毎に交互に実行させることにより、トリガ信号ＴＲの周期（Ｍサイクル）に応じたタイミングで、夫々のフィルタ処理部１３２による積算結果を交互に得ることができる。これにより、デシメーションフィルタ全体として、トリガ信号ＴＲと同じデータレートで積算結果を出力することができる。すなわち、１回のトリガ信号ＴＲの印加で１回のＡ／Ｄ変換結果を得ることができる。なお、この方式では、デシメーションフィルタ１３に入力されるΔΣ変調データが同じであっても、トリガ信号ＴＲの周期が長い程、累積部１３８による積算結果のデータ量が大きくなる。そこで、データ量の大きさが問題となる場合には、後段において何らかのデータ処理を行うことにより適正な値に補正する必要がある。
【０１０１】
図６にデシメーションフィルタ１３の周波数特性の一例を示す。同図には、デシメーションフィルタ１３のサンプリング周期を約８．９３ｋＨｚとするため、トリガ信号ＴＲを１／（８．９３ｋＨｚ）の周期で出力させた場合の周波数特性が示される。同図に示されるように、デシメーションフィルタ１３によれば、サンプリング周波数を変えた場合であっても、サンプリング周波数付近にノッチ周波数ｆ２（≒８．９３ｋＨｚ）を設定することができる。これによれば、例えば、サンプリング周波数付近の周波数帯の信号に起因してアナログ信号ＶＡの周波数帯域（５０Ｈｚ〜６０Ｈｚ付近）に発生する折り返し雑音を抑えることができるから、ユーザがサンプリング周波数を変えた場合であっても、ΔΣ型Ａ／Ｄ変換器１０による変換精度の低下を防ぐことができる。
【０１０２】
以上、本実施の形態に係るデシメーションフィルタ１３によれば、ユーザはトリガ信号ＴＲの周期を設定することにより、デシメーションフィルタのサンプリングレート（サンプリング周波数）を任意に設定することができる。また、設定されたトリガ信号ＴＲの周期に応じてローパスフィルタの遮断周波数とノッチ周波数を可変して、フィルタの伝達関数を適切に設定することができる。更に、フィルタ処理部１３２を２系統設け、夫々をトリガ信号ＴＲに応じて交互に動作させることで、トリガ信号ＴＲの周期とデシメーションフィルタ１３の出力データレートを合わせることができる。
【０１０３】
したがって、従来は、ユーザはモジュール開発側から提供される限られた周波数特性に基づいたサンプリング周期しか選択できなかったが、デシメーションフィルタ１３によれば、ユーザが柔軟にサンプリング周期を設定でき、且つ最適な周波数特性を得ることができる。また、前述したように、デシメーションフィルタをＤＳＰによって実現することでサンプリング周波数に応じて伝達関数を可変にすることも可能であるが、デシメーションフィルタ１３によれば、ＤＳＰに比べて回路規模を小さくすることができるから、伝達関数を可変とする機能追加に伴うコストの増加を抑えることができる。
【０１０４】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１０５】
例えば、カウンタ部１３４がカウント動作を中断している期間４０２（４０２＿Ａ、４０２＿Ｂ）におけるフィルタ係数ＣＡ（ＣＢ）の算出方法として、固定の値（＝Ｎ２）を算出する方法を例示したが、これに限られず、目的とする周波数帯域に遮断周波数を設定でき、且つ目標とするノッチ周波数を設定することができれば、必ずしも固定の値にしなくてもよい。
【０１０６】
図４において、期間４０３（４０３＿Ａ、４０３＿Ｂ）の終了直後のタイミングでカウンタ部１３４によるカウント値をリセットする場合を例示したが、これに限られず、例えば、次にトリガ信号ＴＲが出力されたタイミングでカウント値をリセットしてもよい。
【０１０７】
図２において、入力データセレクタ１３１によってΔΣ変調データの出力先を切り替える方法を例示したが、これに限られない。例えば、入力データセレクタ１３１を設けることなく、第１フィルタ処理部１３２＿Ａ及び第２フィルタ処理部１３２＿Ｂの双方に同じタイミングでΔΣ変調データを入力しても、上記と同様の効果が得られる。
【０１０８】
更に、本実施の形態では、デシメーションフィルタ１３を電力メータ用のΔΣ型Ａ／Ｄ変換器に適用する場合を例示したが、これに限られず、他のシステムに適用することも可能である。例えば、オーディオ用のΔΣ型Ａ／Ｄ変換器に適用することもできる。
【符号の説明】
【０１０９】
１  マイクロコンピュータ（マイコン）
２  センサ
２０  タイマ部
２１  メモリ（ＲＡＭ）
２２  ＣＰＵ
２３  バス
ＶＡ  アナログ信号
ＴＲ  トリガ信号
１０  ΔΣ型アナログ／デジタル変換器（ΔΣ型Ａ／Ｄ変換器）
１１  制御回路
１２  ΔΣ変調器
１４  データレジスタ
１３  デシメーションフィルタ
１３１  入力データセレクタ
１３２＿Ａ  第１フィルタ処理部
１３２＿Ｂ  第２フィルタ処理部
１３７＿Ａ、１３７＿Ｂ  乗算部
１３８＿Ａ、１３８＿Ｂ  累積部
１３９＿Ａ、１３９＿Ｂ  係数算出部
１３４  カウンタ部
１３３  出力データセレクタ
フリップフロップ回路（Ｆ／Ｆ）  １３５
１３９０  第１係数演算回路
１３９１  第２係数演算回路
４０１、４０１＿Ａ、４０１＿Ｂ  第１期間
４０２、４０２＿Ａ、４０２＿Ｂ  第２期間
４０３、４０３＿Ａ、４０３＿Ｂ  第３期間
５００〜５０４  タイミング
【図１】
0005812774.tif 000014
【図２】
0005812774.tif 000015
【図３】
0005812774.tif 000016
【図４】
0005812774.tif 000017
【図５】
0005812774.tif 000018
【図６】
0005812774.tif 000019
【図７】
0005812774.tif 000020
【図８】
0005812774.tif 000021