(57)【要約】【課題】  ３次以上の２タップ型移動平均フィルタ等の出力信号をデシメーションすることができる、簡易な回路構成のデジタルフィルタを提供すること。【解決手段】  本発明にかかるデジタルフィルタは、１段目のデシメーションフィルタ２と、２段目のデシメーションフィルタ３と、を備え、２段目のデシメーションフィルタ３は、フィルタ係数に対しシフト演算するシフト回路３３と、フィルタ係数に対し補数演算する補数回路３４と、フィルタ係数をリセットするリセット回路３５と、フィルタ係数とシフト回路３３の演算結果と補数回路３４の演算結果とから選択された値を加算処理する加算器３８と、を有するものである。【選択図】  図２
2005318304.tif 000002
【特許請求の範囲】
【請求項１】
入力信号を第１のサンプリング周波数の信号にデシメーションする第１のデシメーション部と、前記第１のデシメーション部の出力信号を第２のサンプリング周波数の信号にデシメーションする第２のデシメーション部と、を備える、デジタルフィルタであって、
前記第２のデシメーション部は、
フィルタ係数を格納するフィルタ係数格納部と、
前記第１のデシメーション部の出力信号に基づいて、前記フィルタ係数格納部から取得したフィルタ係数に対し所定の演算を行う演算部と、
前記演算部の演算結果を加算処理し、順次積算する第１の加算部とを、備え、
前記演算部は、
前記フィルタ係数格納部からフィルタ係数を取得し、当該取得したフィルタ係数に対しシフト演算するシフト演算部と、
前記フィルタ係数格納部からフィルタ係数を取得し、当該取得したフィルタ係数に対し補数演算する補数演算部と、
前記フィルタ係数格納部からフィルタ係数を取得し、当該取得したフィルタ係数をリセットするリセット部と、
前記フィルタ係数格納部からフィルタ係数を取得し、当該取得したフィルタ係数と前記シフト演算部の演算結果と前記補数演算部の演算結果とから選択された値を加算処理する第２の加算部と、を有する、
デジタルフィルタ。
【請求項２】
前記第１のデシメーション部は、基準値を含む複数の出力値の信号を出力し、
前記第１のデシメーション部の出力値が前記基準値の２のｎ乗倍（ｎは自然数）の場合、前記シフト演算部は、前記取得したフィルタ係数に対しシフト演算を行い、
前記第１のデシメーション部の出力値が前記基準値に対し正負の極性が反対の場合、前記補数演算部は、前記取得したフィルタ係数に対し補数演算を行い、
前記第１のデシメーション部の出力値が０の場合、前記リセット部は、前記取得したフィルタ係数に対しリセットを行う、
請求項１に記載のデジタルフィルタ。
【請求項３】
前記第１のデシメーション部の出力値が前記基準値の奇数倍の場合、前記シフト演算部は、前記取得したフィルタ係数に対しシフト演算を行い、前記第２の加算部は、前記取得したフィルタ係数と前記シフト演算結果とを加算する、
請求項１又は２に記載のデジタルフィルタ。
【請求項４】
前記第１のデシメーション部の出力値が前記基準値の偶数倍の場合、前記シフト演算部は、前記取得したフィルタ係数に対し複数のシフト演算を行い、前記第２の加算部は、前記複数のシフト演算結果のそれぞれを加算する、
請求項１乃至３のいずれかに記載のデジタルフィルタ。
【請求項５】
前記第１のデシメーション部は、３次以上の伝達関数を有する移動平均フィルタである、
請求項１乃至４のいずれかに記載のデジタルフィルタ。
【請求項６】
前記入力信号は、デルタシグマ変調によってオーバサンプリング周波数でＡＤ変換された１ビットのデジタル信号である、
請求項１乃至５のいずれかに記載のデジタルフィルタ。
【請求項７】
前記フィルタ係数格納部は、複数のフィルタ係数を格納し、前記格納された複数のフィルタ係数のいずれかを出力するＲＯＭである、
請求項１乃至６のいずれかに記載のデジタルフィルタ。
【請求項８】
オーバサンプリング周波数のデジタルデータを、第１のサンプリング周波数のデータにデシメーションするステップと、前記第１のサンプリング周波数にデシメーションされたデータを、第２のサンプリング周波数のデータにデシメーションするステップと、を備える、フィルタ方法であって、
前記第２のサンプリング周波数のデータにデシメーションするステップは、
フィルタ係数を取得するステップと、
前記第１のサンプリング周波数にデシメーションされたデータに基づいて、前記取得したフィルタ係数に対し所定の演算を行うステップと、
前記演算された演算結果を加算処理し、順次積算するステップとを、備え、
前記演算を行うステップは、
前記第１のサンプリング周波数にデシメーションされたデータの１つを基準値として選択するステップと、
前記第１のサンプリング周波数にデシメーションされたデータが前記基準値の２のｎ乗倍（ｎは自然数）の場合、前記取得したフィルタ係数に対しシフト演算を行うステップと、
前記第１のサンプリング周波数にデシメーションされたデータが前記基準値に対し正負の極性が反対の場合、前記取得したフィルタ係数に対し補数演算を行うステップと、
前記第１のサンプリング周波数にデシメーションされたデータが０の場合、前記取得したフィルタ係数に対しリセットを行うステップと、
前記第１のサンプリング周波数にデシメーションされたデータが前記基準値の奇数倍の場合、前記取得したフィルタ係数に対しシフト演算を行い、前記取得したフィルタ係数と前記シフト演算結果とを加算するステップと、を有する、
フィルタ方法。
【請求項９】
前記演算を行うステップは、
前記第１のサンプリング周波数にデシメーションされたデータが前記基準値の偶数倍の場合、前記取得したフィルタ係数に対し複数のシフト演算を行い、前記複数のシフト演算結果のそれぞれを加算するステップ、をさらに有する、
請求項８に記載のフィルタ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルフィルタ及びフィルタ方法に関し、特に、オーバサンプリング周波数でＡＤ変換されたデジタル信号に対しデシメーションを行うデジタルフィルタ及びフィルタ方法に関する。
【背景技術】
【０００２】
デジタルオーディオ機器等では、ＳＮ比の改善や、ダイナミック・レンジを広げるために、最終的に出力するサンプリング周波数よりも高い周波数によってアナログ信号をサンプリングするオーバサンプリング方式のＡＤ変換器が利用されている。
【０００３】
オーバサンプリング方式のＡＤ変換器として、ハイレベルとロウレベルからなる１ビットのデータをオーバサンプリングレート（周波数）で出力するΔΣ（デルタシグマ）型ＡＤ変換器が知られている。また、ΔΣ型ＡＤ変換器の出力を、所定のサンプリングレートに間引く（デシメーションする）ために、デシメーションフィルタが用いられている。
【０００４】
例えば、ΔΣ型ＡＤ変換器は、アナログ信号を３ＭＨｚのサンプリングレートで１ビットのデジタル信号を生成し、デシメーションフィルタは、当該デジタル信号のサンプリングレートを４８ＫＨｚに落とし、１６ビットのデジタル信号を出力する。こうして、所望のサンプリングレートのデジタル信号を得ている。
【０００５】
このようなデシメーションフィルタでは、１回のデシメーションで所望のサンプリングレートを得ようとすると、高精度で複雑なデジタルフィルタが必要になってしまう。そこで、デジタルフィルタの構成を簡略化するために、デシメーションを複数回行うのが一般的である。
【０００６】
従来のデシメーションフィルタとして乗算器を用いる構成のものが知られている（例えば、非特許文献１参照）。図４に、従来の乗算器を用いたデシメーションフィルタの構成例を示す。このデシメーションフィルタは、１段目のデシメーションフィルタ１２０と２段目のデシメーションフィルタ１３０を備えている。
【０００７】
例えば、１段目のデシメーションフィルタ１２０は、ＡＤＣ（ＡＤ変換器）の出力信号を、デシメーション比１／２でデシメーションし、２段目のデシメーションフィルタ１３０は、１段目のデシメーションフィルタの出力信号を、デシメーション比１／１６でデシメーションする。
【０００８】
１段目のデシメーションフィルタ１２０は、例えば、移動平均フィルタであり、図に示されるように、デコーダ１２１から構成されている。デコーダ１２１には、ＡＤＣからの１ビットの出力信号が入力され、デコーダ１２１は、複数のビットの移動平均をとって２段目のデシメーションフィルタ１３０へ出力する。
【０００９】
２段目のデシメーションフィルタ１３０は、例えば、ＦＩＲフィルタであり、図に示されるように、フィルタ係数ＲＯＭ１３１、アドレスカウンタ１３２、乗算器１３３、加算器１３４、３段のシフトレジスタ１３５、セレクタ１３６から構成されている。
【００１０】
アドレスカウンタ１３２は、アップあるいはダウンカウントを行い、カウントしたアドレスを順次出力する。フィルタ係数ＲＯＭ１３１には所定のワードのフィルタ係数が格納されており、アドレスカウンタ１３２からの出力で特定されるアドレスのフィルタ係数が、フィルタ係数ＲＯＭ１３１から順次出力される。
【００１１】
乗算器１３３には、デコーダ１２１から出力される信号と、フィルタ係数ＲＯＭ１３１から出力されるフィルタ係数とが入力され、乗算器１３３は、これらの信号の値を乗算する。
【００１２】
加算器１３４には、乗算器１３３から出力される乗算結果と、３段のシフトレジスタ１３５から出力される信号とが入力され、加算器１３４は、これらの信号の値を加算する。３段のシフトレジスタ１３５には、加算器１３４による３つの加算結果が順次格納され、最も古い加算結果が加算器１３４に出力されて、さらに加算が行われる。そして、加算器１３４による加算をＮ回繰り返した後、セレクタ１３６によって、３段のシフトレジスタ１３５に格納された値が外部へ出力される。
【００１３】
この例では、加算結果を格納するレジスタを３段のシフトレジスタにすることによって多重化し、回路構成を簡略化している。しかしながら、この例のようにデシメーションフィルタに乗算器を用いてしまうと、回路構成が複雑化し、回路規模が大きくなるという問題がある。
【００１４】
そこで、乗算器を用いないデシメーションフィルタが知られている（例えば、特許文献１参照）。図５に、従来の乗算器を用いないデシメーションフィルタの構成例を示す。このデシメーションフィルタは、１段目のデシメーションフィルタ１２０と、２段目のデシメーションフィルタ１４０を備えている。
【００１５】
１段目のデシメーションフィルタ１２０は、図４と同様に、移動平均フィルタであり、デコーダ１２１から構成されている。２段目のデシメーションフィルタ１４０は、例えば、ＦＩＲフィルタであり、制御回路１４１、フィルタ係数ＲＯＭ１４２、シフト回路１４３、補数回路１４４、リセット回路１４５、加算器１４６、アキュムレータ１４７から構成されている。
【００１６】
このデシメーションフィルタは、１段目のデシメーションフィルタ１２０の出力に基づいて、２段目のデシメーションフィルタ１４０において、フィルタ係数に対し所定の演算を行っている。ここで、２段目のデシメーションフィルタ１４０の動作原理を説明するために、１段目のデシメーションフィルタ１２０について説明する。
【００１７】
１段目のデシメーションフィルタ１２０は、２次の２タップ型移動平均フィルタであり、このフィルタの伝達関数は数４で表される。
【数４】
2005318304.tif 000003
ＡＤＣの出力の１ビットが２次の２タップ移動平均フィルタの入力となり、数４のＺに入力される。数４において、Ｚ０は現在の入力、Ｚ−１は１つ前の入力、Ｚ−２は２つ前の入力を示している。すなわち、２次の２タップ移動平均フィルタは、現在から２つ前までの３ビットのデータを入力とし、これらの移動平均をとって結果を出力する。
【００１８】
この２次の２タップ型移動平均フィルタの周波数特性を図６に示す。図６において、横軸は周波数を示し、縦軸は利得を示している。この周波数は、サンプリング周波数（サンプリングレート）で規格化した値である。例えば、周波数０．５とはサンプリング周波数の０．５倍、すなわちサンプリング周波数の半分の周波数を表している。図６に示すように、周波数０のとき利得が０ｄＢであり、周波数の増加とともに利得は下がっている。利得が０ｄＢとは、入力信号がそのまま出力されるということであり、利得が−１００ｄＢとは、入力信号に対し１００ｄＢ減衰した信号が出力されるということである。すなわち、２次・２タップ型移動平均フィルタは、低い周波数成分を通過させ、高い周波数成分を減衰させるローパスフィルタである。例えば、周波数０．４５のとき利得は約−３５ｄＢまで減衰し、周波数０．５のとき利得は約−１００ｄＢまで減衰する。
【００１９】
また、ＡＤＣから出力される１ビットのデータのうち、ハイレベルを「＋１」、ロウレベルを「−１」とすると、数４より、１段目のデシメーションフィルタ１２０の出力は「０」、「±０．５」または「±１」のいずれかとなる。２段目のデシメーションフィルタ１４０は、図４と同様に、１段目のデシメーションフィルタ１２０の出力とフィルタ係数との乗算を行い、その結果を足しこんで出力を得るものである。すなわち、１段目のデシメーションフィルタ１２０の出力「０」、「±０．５」または「±１」のいずれかという限られた値とフィルタ係数との乗算を行うものである。この乗算は、フィルタ係数に乗算する値が限られているため、フィルタ係数に対し、表４に示す操作を行うことで実現することができる。
【表４】
2005318304.tif 000004
表４は、数４の出力と、２段目のデシメーションフィルタ１４０におけるフィルタ係数に対する操作を示している。表４の例では、「＋０．５」を基準値としている。出力が「＋０．５」のとき、「＋０．５」は基準値なのでフィルタ係数をそのまま、出力が「＋１」のとき、「＋１」は「＋０．５」の２倍の値なのでフィルタ係数を１ビットシフト、出力が「−０．５」のとき、「−０．５」は「＋０．５」のマイナスの値なのでフィルタ係数を補数化、出力が「−１」のとき、「−１」は「＋１」のマイナスの値なのでフィルタ係数を１ビットシフトし補数化、出力が「０」のとき、「０」を乗算するということは演算しないということなのでフィルタ係数をリセット、とすることで乗算と同じ結果を得る。すなわち、１ビットシフト、補数化、リセットの組み合わせによって２段目のデシメーションフィルタ１４０を実現することができる。表５に、表４の操作を真理値表に対応させたものを示す。
【表５】
2005318304.tif 000005
表５は、数４の入力及び出力と、２段目のデシメーションフィルタ１４０で行なわれる演算を示している。表５において、Ｚ０、Ｚ−１、Ｚ−２が数４の入力であり、出力が数４の出力である。１段目のデシメーションフィルタ１２０の入力は、数４より３ビットなので、８パターンの真理値表となる。表５において、Ｓｈｉｆｔ、Ｃｏｍｐ、Ｚｅｒｏが２段目のデシメーションフィルタ１４０で行われる演算であり、表４のフィルタ係数に対する操作に対応している。このＳｈｉｆｔはフィルタ係数を１ビットシフト、Ｃｏｍｐはフィルタ係数を補数化、Ｚｅｒｏはフィルタ係数をリセットすることを示している。
【００２０】
図５において、例えば、ＡＤＣから１段目のデシメーションフィルタ１２０に表５の入力信号が入力されると、１段目のデシメーションフィルタ１２０は表５の出力信号を２段目のデシメーションフィルタ１４０の制御回路１４１へ出力する。制御回路１４１は、表５に基づいて、シフト回路１４３、補数回路１４４、リセット回路１４５を動作させる制御信号を出力する。このとき、制御回路１４１は、表５で、Ｓｈｉｆｔが１ならシフト回路１４３、Ｃｏｍｐが１なら補数回路１４４、Ｚｅｒｏが１ならリセット回路１４５を動作させる制御信号を出力する。フィルタ係数ＲＯＭ１４２からは、フィルタ係数が順次出力され、シフト回路１４３、補数回路１４４、リセット回路１４５は、制御回路１４１の制御信号に応じて、フィルタ係数に対し所定の演算を行う。
【００２１】
加算器１４６には、フィルタ係数ＲＯＭ１４２から出力されるフィルタ係数や、シフト回路１４３、補数回路１４４、リセット回路１４５の演算結果と、アキュムレータ１４７から出力される信号とが入力され、加算器１４６は、これらの信号の値を加算する。アキュムレータ１４７には、加算器１４６の加算結果が順次格納される。すなわち、加算器１４６は、シフト回路１４３、補数回路１４４、リセット回路１４５の演算結果と、前回までの演算結果を加算し、アキュムレータ１４７は、当該加算結果を格納する。これをＮ回繰り返した後、アキュムレータ１４７の内容を出力する。
【００２２】
このような構成により、乗算器を用いずに、デシメーションフィルタを実現することができる。しかしながら、図５の構成では、フィルタ係数に対し、１ビットシフト、補数化、リセットの演算しか行うことができないため、１段目のデシメーションフィルタが表４で示す値以外の値を出力する構成には適用することができない。すなわち、１段目のデシメーションフィルタが３次以上の２タップ型移動平均フィルタを有する構成には適用することができないという問題がある。
【非特許文献１】湯川  彰著、「オーバサンプリングＡ−Ｄ変換技術」、日経ＢＰ社、１９９０年１２月２５日、ｐ．１１９
【特許文献１】特開平４−２４５７１２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２３】
このように、従来のデジタルフィルタでは、３次以上の２タップ型移動平均フィルタ等の出力信号をデシメーションする場合、乗算器を設ける必要があるため、回路構成が複雑になるという問題点があった。
【００２４】
本発明は、このような問題点を解決するためになされたもので、３次以上の２タップ型移動平均フィルタ等の出力信号をデシメーションすることができる、簡易な回路構成のデジタルフィルタを提供することを目的とする。
【課題を解決するための手段】
【００２５】
本発明にかかるデジタルフィルタは、入力信号を第１のサンプリング周波数の信号にデシメーションする第１のデシメーション部と、前記第１のデシメーション部の出力信号を第２のサンプリング周波数の信号にデシメーションする第２のデシメーション部と、を備える、デジタルフィルタであって、前記第２のデシメーション部は、フィルタ係数を格納するフィルタ係数格納部と、前記第１のデシメーション部の出力信号に基づいて、前記フィルタ係数格納部から取得したフィルタ係数に対し所定の演算を行う演算部と、前記演算部の演算結果を加算処理し、順次積算する第１の加算部とを、備え、前記演算部は、前記フィルタ係数格納部からフィルタ係数を取得し、当該取得したフィルタ係数に対しシフト演算するシフト演算部と、前記フィルタ係数格納部からフィルタ係数を取得し、当該取得したフィルタ係数に対し補数演算する補数演算部と、前記フィルタ係数格納部からフィルタ係数を取得し、当該取得したフィルタ係数をリセットするリセット部と、前記フィルタ係数格納部からフィルタ係数を取得し、取得したフィルタ係数と前記シフト演算部の演算結果と前記補数演算部の演算結果とから選択された値を加算処理する第２の加算部と、を有するものである。これにより、乗算器を設ける必要がないため、簡易な回路構成にすることができる。
【００２６】
上述のデジタルフィルタにおいて、前記第１のデシメーション部は、基準値を含む複数の出力値の信号を出力し、前記第１のデシメーション部の出力値が前記基準値の２のｎ乗倍（ｎは自然数）の場合、前記シフト演算部は、前記取得したフィルタ係数に対しシフト演算を行い、前記第１のデシメーション部の出力値が前記基準値に対し正負の極性が反対の場合、前記補数演算部は、前記取得したフィルタ係数に対し補数演算を行い、前記第１のデシメーション部の出力値が０の場合、前記リセット部は、前記取得したフィルタ係数に対しリセットを行ってもよい。これにより、第１のデシメーション部の出力に応じて、効率よく演算処理を行うことができる。
【００２７】
上述のデジタルフィルタにおいて、前記第１のデシメーション部の出力値が前記基準値の奇数倍の場合、前記シフト演算部は、前記取得したフィルタ係数に対しシフト演算を行い、前記第２の加算部は、前記取得したフィルタ係数と前記シフト演算結果とを加算してもよい。これにより、第１のデシメーション部が基準値の奇数倍の値を出力する場合でも、効率よく演算処理を行うことができる。
【００２８】
上述のデジタルフィルタにおいて、前記第１のデシメーション部の出力値が前記基準値の偶数倍の場合、前記シフト演算部は、前記取得したフィルタ係数に対し複数のシフト演算を行い、前記第２の加算部は、前記複数のシフト演算結果のそれぞれを加算してもよい。これにより、第１のデシメーション部が基準値の偶数倍の値を出力する場合でも、効率よく演算処理を行うことができる。
【００２９】
上述のデジタルフィルタにおいて、前記第１のデシメーション部は、３次以上の伝達関数を有する移動平均フィルタであってもよい。これにより、デジタルフィルタの特性を向上することができる。
【００３０】
上述のデジタルフィルタにおいて、前記入力信号は、デルタシグマ変調によってオーバサンプリング周波数でＡＤ変換された１ビットのデジタル信号であってもよい。これにより、デルタシグマ型ＡＤ変換器の出力信号を効率よくデシメーションすることができる。
【００３１】
上述のデジタルフィルタにおいて、前記フィルタ係数格納部は、複数のフィルタ係数を格納し、前記格納された複数のフィルタ係数のいずれかを出力するＲＯＭであってもよい。これにより、所望の伝達関数のデジタルフィルタを構成することができる。
【００３２】
本発明にかかるフィルタ方法は、オーバサンプリング周波数のデジタルデータを、第１のサンプリング周波数のデータにデシメーションするステップと、前記第１のサンプリング周波数にデシメーションされたデータを、第２のサンプリング周波数のデータにデシメーションするステップと、を備える、フィルタ方法であって、前記第２のサンプリング周波数のデータにデシメーションするステップは、フィルタ係数を取得するステップと、前記第１のサンプリング周波数にデシメーションされたデータに基づいて、前記取得したフィルタ係数に対し所定の演算を行うステップと、前記演算された演算結果を加算処理し、順次積算するステップとを、備え、前記演算を行うステップは、前記第１のサンプリング周波数にデシメーションされたデータの１つを基準値として選択するステップと、前記第１のサンプリング周波数にデシメーションされたデータが前記基準値の２のｎ乗倍（ｎは自然数）の場合、前記取得したフィルタ係数に対しシフト演算を行うステップと、前記第１のサンプリング周波数にデシメーションされたデータが前記基準値に対し正負の極性が反対の場合、前記取得したフィルタ係数に対し補数演算を行うステップと、前記第１のサンプリング周波数にデシメーションされたデータが０の場合、前記取得したフィルタ係数に対しリセットを行うステップと、前記第１のサンプリング周波数にデシメーションされたデータが前記基準値の奇数倍の場合、前記取得したフィルタ係数に対しシフト演算を行い、前記取得したフィルタ係数と前記シフト演算結果とを加算するステップと、を有するものである。これにより、第１のデシメーション部の出力に応じて、効率よく演算処理を行うことができる。
【００３３】
上述のフィルタ方法において、前記演算を行うステップは、前記第１のサンプリング周波数にデシメーションされたデータが前記基準値の偶数倍の場合、前記取得したフィルタ係数に対し複数のシフト演算を行い、前記複数のシフト演算結果のそれぞれを加算するステップ、をさらに有していてもよい。これにより、第１のデシメーション部が基準値の偶数倍の値を出力する場合でも、効率よく演算処理を行うことができる。
【発明の効果】
【００３４】
３次以上の２タップ型移動平均フィルタ等の出力信号をデシメーションすることができる、簡易な回路構成のデジタルフィルタを提供することができる。
【発明を実施するための最良の形態】
【００３５】
発明の実施の形態１．
まず、図１を用いて、本発明の実施の形態１にかかるＡＤ変換システムの構成例について説明する。このＡＤ変換システムは、図に示されるように、オーバサンプリングレートでサンプリングしＡＤ変換するＡＤＣ１、最終的なサンプリングレートではない中間のサンプリングレートにデシメーションする１段目のデシメーションフィルタ２、最終的なサンプリングレートにデシメーションする２段目のデシメーションフィルタ３、を備えている。例えば、１段目のデシメーションフィルタ２と２段目のデシメーションフィルタは、ＤＳＰ（Digital Signal Processor）内に設けられている。
【００３６】
ＡＤＣ１は、例えば、ΔΣ型のＡＤ変換器であり、ＡＤ変換システムの外部からアナログ信号が入力され、当該アナログ信号をＡＤ変換して、１ビットのデジタル信号を１段目のデシメーションフィルタ２へ出力する。ＡＤＣ１は、最終的なサンプリングレート（ｆｓ）よりもｎ倍高いオーバサンプリングレート（ｎｆｓ）でサンプリングを行う。例えば、ｆｓ＝４８ｋＨｚでｎ＝１２８とすると、１２８ｆｓ＝６１４４ｋＨｚがサンプリングレートとなる。
【００３７】
１段目のデシメーションフィルタ２は、例えば、２段目のデシメーションフィルタ３で用いられるＦＩＲフィルタよりも簡易に構成できる移動平均フィルタである。本実施形態では、後述するように、２段目のデシメーションフィルタ３に加算回路を設けることにより、１段目のデシメーションフィルタ２を３次以上の２タップ移動平均フィルタとすることができる。
【００３８】
１段目のデシメーションフィルタ２は、ｎｆｓの１ビットのデジタル信号が入力され、デジタルフィルタ処理及びデシメーション処理を行って、２段目のデシメーションフィルタ３へ信号を出力する。１段目のデシメーションフィルタ２は、オーバサンプリングレート（ｎｆｓ）を１／Ｋのサンプリングレートにデシメーションする。例えば、１／Ｋ＝１／２とすると、上記の例では、（１２８／２）ｆｓ＝６４ｆｓ＝３０７２ｋＨｚがサンプリングレートとなる。
【００３９】
２段目のデシメーションフィルタ３は、より大きな帯域外減衰量の特性を有するフィルタであり、例えば、６４タップのＦＩＲフィルタである。２段目のデシメーションフィルタ３は、ｎ／Ｋ・ｆｓの信号が入力され、デジタルフィルタ処理及びデシメーション処理を行って、ＡＤ変換システムの外部へ、例えば１６ビットのデジタル信号を出力する。２段目のデシメーションフィルタ３は、中間のサンプリングレート（ｎ／Ｋ・ｆｓ）をさらに１／Ｌのサンプリングレートにデシメーションする。例えば、１／Ｌ＝１／１６とすると、上記の例では、（６４／１６）ｆｓ＝４ｆｓ＝１９２ｋＨｚがサンプリングレートとなる。
【００４０】
次に、図２を用いて、本実施形態にかかるデシメーションフィルタの構成例について説明する。１段目のデシメーションフィルタ２は、図に示されるように、デコーダ２１から構成されている。デコーダ２１には、ＡＤＣ１の出力信号が入力され、デコーダ２１は、デコードした信号を２段目のデシメーションフィルタ３へ出力する。尚、１段目のデシメーションフィルタ２は、３次以上の２タップ移動平均フィルタを実現するために、必要に応じて、シフトレジスタやラッチ回路等を有していてもよい。
【００４１】
２段目のデシメーションフィルタ３は、図に示されるように、シフト回路３３等の演算動作を制御する制御回路３１、フィルタ係数を格納するフィルタ係数ＲＯＭ３２、フィルタ係数にシフト演算を行うシフト回路３３、フィルタ係数に補数演算を行う補数回路３４、フィルタ係数をリセットするリセット回路３５、フィルタ係数とシフト演算結果を加算する加算器３８、シフト回路３３と補数回路３４とリセット回路３５と加算器３８の演算結果を順次積算する加算器３６、加算器３６の加算結果を格納するアキュムレータ３７から構成されている。尚、図２に示す各回路の入出力信号の接続関係や接続順序は一例であり、後述する表１や表２に示す演算を行うことができれば、その他の接続でもよい。
【００４２】
制御回路３１には、デコーダ２１の出力信号が入力され、制御回路３１は、当該入力された信号に応じて、シフト回路３３、補数回路３４、リセット回路３５、加算器３８の動作を制御する制御信号を出力する。
【００４３】
フィルタ係数ＲＯＭ３２には、フィルタのタップ数に応じた数のフィルタ係数が格納されており、フィルタ係数ＲＯＭ３２は、デコーダ２１の出力レートに合わせて、フィルタ係数を順次出力する。例えば、図４のアドレスカウンタ１３２等を設けて、フィルタ係数を順次出力してもよい。
【００４４】
シフト回路３３には、フィルタ係数ＲＯＭ３２から出力されるフィルタ係数と、制御回路３１から出力される制御信号とが入力され、シフト回路３３は、当該制御信号に応じて当該フィルタ係数に対しシフト演算を行い、演算結果を出力する。例えば、シフト回路３３は、シフトレジスタ等により構成することができる。
【００４５】
補数回路３４には、フィルタ係数ＲＯＭ３２から出力されるフィルタ係数と、シフト回路３３から出力される演算結果と、加算器３８から出力される加算結果と、制御回路３１から出力される制御信号とが入力され、補数回路３４は、当該制御信号に応じて当該フィルタ係数や当該加算結果等に対し補数演算を行い、演算結果を出力する。尚、この例では、シフト回路３３や加算器３８の演算結果を補数回路３４の入力としているが、逆に、補数回路３４の演算結果をシフト回路３３や加算器３８に入力してもよい。例えば、補数回路３４は、インバータ等により構成することができる。
【００４６】
リセット回路３５には、フィルタ係数ＲＯＭ３２から出力されるフィルタ係数と、制御回路３１から出力される制御信号とが入力され、リセット回路３５は、当該制御信号に応じて当該フィルタ係数に対しリセット演算を行い、演算結果を出力する。例えば、リセット回路３５は、ＡＮＤ回路等により構成することができる。
【００４７】
加算器３８には、フィルタ係数ＲＯＭ３２から出力されるフィルタ係数と、シフト回路３３から出力される演算結果と、制御回路３１から出力される制御信号とが入力され、加算器３８は、当該制御信号に応じて当該演算結果や当該フィルタ係数の加算を行い、加算結果を出力する。
【００４８】
加算器３６には、フィルタ係数ＲＯＭ３２から出力されるフィルタ係数と、シフト回路３３、補数回路３４、リセット回路３５、加算器３８の演算結果と、アキュムレータ３７に格納されている値とが入力され、加算器３６は、これらの値を加算する。アキュムレータ３７には、加算器３６の加算結果が順次格納され、アキュムレータ３７は、格納した結果を出力する。すなわち、加算器３６は、シフト回路３３、補数回路３４、リセット回路３５、加算器３８の演算結果と、前回までの演算結果を積算し、アキュムレータ３７は、当該演算結果をさらに格納する。また、フィルタのタップ数に応じてＮ回、加算され格納された演算結果は外部へ出力され、このときアキュムレータ３７がリセットされる。尚、アキュムレータ３７には、１つの演算結果のみ格納してもよいし、図４のように複数段のシフトレジスタとして複数の演算結果を格納してもよい。また、図４のセレクタ１３６等によって、アキュムレータ３７の出力を切り替えてもよい。
【００４９】
ここで、２段目のデシメーションフィルタ３の動作原理を説明するために、１段目のデシメーションフィルタ２について説明する。１段目のデシメーションフィルタ２は、この例では、３次の２タップ型移動平均フィルタであり、このフィルタの伝達関数は数１で表される。
【数１】
2005318304.tif 000006
ＡＤＣ１から出力される１ビットが３次の２タップ移動平均フィルタの入力となり、数１のＺに入力される。Ｚ０は現在の入力、Ｚ−１は１つ前の入力、Ｚ−２は２つ前の入力、Ｚ−３は３つ前の入力を示している。すなわち、３次の２タップ移動平均フィルタは、現在から３つ前までの４ビットのデータを入力とし、これらの移動平均をとって結果を出力する。
【００５０】
この３次の２タップ型移動平均フィルタの周波数特性を図３に示す。図３では、図６と同様、横軸はサンプリングレートで規格化した周波数を示し、縦軸は利得を示している。図３に示すように、周波数０のとき利得が０ｄＢで、周波数の増加とともに利得が下がっており、移動平均フィルタがローパスフィルタであることを表している。
【００５１】
また、周波数０．４５のとき利得は約−５０ｄＢまで減衰し、周波数０．５のとき利得は約−１５０ｄＢまで減衰している。すなわち、図６で示した２次の２タップ型移動平均フィルタよりも減衰量が大きくなっている。減衰量が大きくなると、より信号の通過を遮断できることから、ローパスフィルタの特性が向上する。尚、さらに、移動平均フィルタの次数を高次にすることにより、フィルタの特性をより向上することができる。
【００５２】
また、２段目のデシメーションフィルタ２は、例えば、６４タップのＦＩＲフィルタであり、このフィルタの伝達関数は数２で表される。
【数２】
2005318304.tif 000007
数２において、ａｉがフィルタ係数ＲＯＭ３２に格納されるフィルタ係数であり、Ｚが１段目のデシメーションフィルタ２から出力される値である。この例では、ａ０からａ６３までの６４個のフィルタ係数がフィルタ係数ＲＯＭ３２に格納され、ａ０から順にフィルタ係数ＲＯＭ３２から出力される。数２に示すように、６４タップのＦＩＲフィルタは、入力されるデータとフィルタ係数を乗算し、乗算結果を順次加算して、畳み込み、これを６４回繰り返して、結果を出力する。
【００５３】
ＡＤＣ１から出力される１ビットのデータのうち、ハイレベルを「＋１」、ロウレベルを「−１」とすると、数１より、１段目のデシメーションフィルタ２の出力は「０」、「±０．２５」、「±０．５」、「±０．７５」または「±１」のいずれかとなる。さらに、２段目のデシメーションフィルタ３は、数２のように１段目のデシメーションフィルタ２の出力とフィルタ係数との乗算を行うものであるから、２段目のデシメーションフィルタ３では、１段目のデシメーションフィルタ２の出力「０」、「±０．２５」、「±０．５」、「±０．７５」または「±１」のいずれかという限られた値とフィルタ係数との乗算を行うことになる。この乗算は、フィルタ係数に乗算する値が限られているため、フィルタ係数に対し、表１に示す操作を行うことで実現することができる。
【表１】
2005318304.tif 000008
表１は、数１の出力と、２段目のデシメーションフィルタ３におけるフィルタ係数に対する操作を示している。表１の例では、「＋０．２５」を基準値としている。出力が「＋０．２５」のとき、「＋０．２５」は基準値なのでフィルタ係数そのまま、出力が「＋０．５」のとき、「＋０．５」は「＋０．２５」の２倍の値なのでフィルタ係数を１ビットシフト、出力が「−０．２５」のとき、「−０．２５」は「＋０．２５」のマイナスの値なのでフィルタ係数を補数化、出力が「−０．５」のとき、「−０．５」は「＋０．５」のマイナスの値なのでフィルタ係数を１ビットシフトし補数化、出力が「＋１」のとき、「＋１」は「＋０．２５」の４倍の値なのでフィルタ係数を２ビットシフト、出力が「＋０．７５」のとき、「＋０．７５」は「＋０．２５」の３倍なので、フィルタ係数を１ビットシフト後、１ビットシフト前の値と加算、出力が「−１」のとき、「−１」は「＋１」のマイナスの値なのでフィルタ係数を２ビットシフトし補数化、出力が「−０．７５」のとき、「−０．７５」は「＋０．７５」のマイナスの値なので、フィルタ係数を１ビットシフト後、１ビットシフト前の値と加算し、補数化、出力が「０」のとき、「０」を乗算するということは演算しないということなのでフィルタ係数をリセット、とすることで乗算と同じ結果を得る。すなわち、１ビットシフト、補数化、リセット、加算の組み合わせによって２段目のデシメーションフィルタ３を実現することができる。本実施形態では、基準値に対して２倍、４倍等、２のｎ乗倍（ｎは自然数）について、その乗数ｎに応じてビットシフトすることで乗算と同じ結果を実現している。また、基準値に対して３倍等、奇数倍のとき、ビットシフトした値と、ビットシフトする前のフィルタ係数とを加算することで乗算と同じ結果を実現している。表２は、表１の操作を真理値表に対応させたものである。
【表２】
2005318304.tif 000009
表２は、数１の入力及び出力と、２段目のデシメーションフィルタ３で行なわれる演算を示している。表２において、Ｚ０、Ｚ−１、Ｚ−２、Ｚ−３が数１の入力であり、出力が数１の出力である。１段目のデシメーションフィルタ２の入力は、数１より４ビットなので、１６パターンの真理値表となる。表２において、Ｓｈｉｆｔ２、Ｓｈｉｆｔ１、Ｃｏｍｐ、Ｚｅｒｏ、Ａｄｄが２段目のデシメーションフィルタ３で行われる演算であり、表１のフィルタ係数に対する操作に対応している。このＳｈｉｆｔ２は２ビットシフト、Ｓｈｉｆｔ１は１ビットシフト、Ｃｏｍｐは補数化、Ｚｅｒｏはリセット、Ａｄｄは加算を示している。
【００５４】
図２において、例えば、ＡＤＣ１から１段目のデシメーションフィルタ２に表２の入力信号が入力されると、１段目のデシメーションフィルタ２は表５の出力信号を２段目のデシメーションフィルタ３の制御回路３１へ出力する。次いで、制御回路３１は、表２に基づいて、シフト回路３３、補数回路３４、リセット回路３５、加算器３８を動作させる制御信号を出力する。表２で、Ｓｈｉｆｔ２が１ならシフト回路３３へ２ビットシフトの制御信号、Ｓｈｉｆｔ１が１ならシフト回路３３へ１ビットシフトの制御信号を出力し、さらに、Ｃｏｍｐが１なら補数回路３４、Ｚｅｒｏが１ならリセット回路３５、Ａｄｄが１なら加算器３８を動作させる制御信号を出力する。フィルタ係数ＲＯＭ３２からは、フィルタ係数が順次出力され、シフト回路３３、補数回路３４、リセット回路３５、加算器３８は、制御回路３１の制御信号に応じて、フィルタ係数に対し所定の演算を行う。その後、加算器３６は、フィルタ係数ＲＯＭ３２から出力されるフィルタ係数や、シフト回路３３、補数回路３４、リセット回路３５、加算器３８の演算結果と、アキュムレータ３７から出力される前回までの加算結果と、を加算し、アキュムレータ３７に格納する。これをＮ回繰り返し、アキュムレータ３７の内容を出力する。
【００５５】
このような構成により、２段目のデシメーションフィルタに、シフト演算の結果を加算処理する加算器を設けたことにより、１段目のデシメーションフィルタが３次の２タップ移動平均フィルタの場合でも、乗算器を設けずにフィルタを構成することができる。２段目のデシメーションフィルタに乗算器を用いないことにより、回路構成を簡略化でき、回路面積の増大を抑制することができる。また、１段目のデシメーションフィルタを３次の２タップ移動平均フィルタとすることにより、フィルタ特性を向上することができ、ＡＤ変換器の出力信号に含まれる変換雑音等のノイズを精度よく除去することができる。
【００５６】
その他の発明の実施の形態．
上記の例では、１段目のデシメーションフィルタ２に３次の２タップ移動平均フィルタを用いたが、これに限らず、１段目のデシメーションフィルタ２に４次以上の２タップ移動平均フィルタを用いることも可能である。例えば、４次の２タップ型移動平均フィルタの伝達関数は数３で表される。
【数３】
2005318304.tif 000010
ＡＤＣ１から出力される１ビットが４次の２タップ移動平均フィルタの入力となり、数３のＺに入力される。数３において、Ｚ０は現在の入力、Ｚ−１は１つ前の入力、Ｚ−２は２つ前の入力、Ｚ−３は３つ前の入力、Ｚ−４は４つ前の入力を示している。すなわち、４次の２タップ移動平均フィルタは、現在から４つ前までの５ビットのデータを入力とし、これらの移動平均をとって結果を出力する。
【００５７】
上記の例と同様にして、ＡＤＣ１から出力される１ビットのデータのうち、ハイレベルを「＋１」、ロウレベルを「−１」とすると、数３より、１段目のデシメーションフィルタ２の出力は「０」、「±０．１２５」、「±０．２５」、「±０．３７５」、「±０．５」、「±０．７５」、「±０．８７５」または「±１」のいずれかとなる。この場合、２段目のデシメーションフィルタ３では、フィルタ係数に対し表３に示す操作を行うことで、乗算と同じ演算を実現することができる。
【表３】
2005318304.tif 000011
表３の例では、「＋０．１２５」を基準としている。出力が「＋０．７５」のとき、「＋０．７５」は「＋０．１２５」の６倍、すなわち、「＋０．５＋０．２５」なので、フィルタ係数を２ビットシフトした値と、フィルタ係数を１ビットシフトした値を加算する。出力が「＋０．８７５」のとき、「＋０．８７５」は「＋０．１２５」の７倍、すなわち、「＋０．７５＋０．１２５」なので、フィルタ係数を２ビットシフトした値と、フィルタ係数を１ビットシフトした値と、フィルタ係数の１ビットシフト前の値を加算する。出力が「＋１」のとき、「＋１」は「＋０．１２５」の８倍なのでフィルタ係数を３ビットシフトする。その他については、表１と同様であり、説明を省略する。本実施形態では、基準値に対して６倍等、２のｎ乗倍（ｎは自然数）ではない偶数倍について、複数のビットシフトした値を加算することで乗算と同じ結果を実現している。
【００５８】
表３を、表２と同様に真理値表に対応させることで、図２の構成を、４次の２タップ移動平均フィルタに適用することができる。尚、表１や表３から、５次以上の２タップ移動平均フィルタへの適用についても、容易に類推可能であり説明を省略する。
【００５９】
尚、上述の例では、ＡＤ変換器の出力信号を直接１段目のデシメーションフィルタに入力する構成について説明したが、これに限らず、ＡＤ変換器の出力信号と同様の信号が、１段目のデシメーションフィルタに入力される構成であれば、その他の構成でもよい。
【図面の簡単な説明】
【００６０】
【図１】本発明にかかるＡＤ変換システムの構成図である。
【図２】本発明にかかるデシメーションフィルタの構成図である。
【図３】本発明にかかるデシメーションフィルタの周波数特性を示す図である。
【図４】従来のデシメーションフィルタの構成図である。
【図５】従来のデシメーションフィルタの構成図である。
【図６】従来のデシメーションフィルタの周波数特性を示す図である。
【符号の説明】
【００６１】
１  ＡＤＣ
２  １段目のデシメーションフィルタ  ２１  デコーダ
３  ２段目のデシメーションフィルタ  ３１  制御回路
３２  フィルタ係数ＲＯＭ  ３３  シフト回路
３４  補数回路  ３５  リセット回路  ３６  加算器
３７  アキュムレータ  ３８  加算器
【図１】
2005318304.tif 000012
【図２】
2005318304.tif 000013
【図３】
2005318304.tif 000014
【図４】
2005318304.tif 000015
【図５】
2005318304.tif 000016
【図６】
2005318304.tif 000017