(57)【要約】【課題】集積化に適したデジタルフィルタ装置を提供する。【解決手段】所定の周期ごとに複数ビットのデジタル入力信号が入力され、前記デジタル入力信号に対して所定のフィルタ係数およびフィルタ次数に応じたフィルタ処理が施された結果であるデジタル出力信号を出力するデジタルフィルタ装置において、前記デジタル入力信号及び／又は前記デジタル出力信号を、前記フィルタ次数に応じて前記周期ごとに順次遅延させるための遅延処理部と、前記デジタル入力信号および前記遅延処理部で処理された信号を、２進表記した場合に有限小数となる前記フィルタ係数の小数部のうち、「１」の桁が表す指数の絶対値分シフトダウンさせるためのフィルタ係数処理部と、前記フィルタ係数処理部で処理された信号を加算して当該加算結果を前記デジタル出力信号として出力する加算処理部と、を有する。【選択図】図１
2005311601.tif 000002
【特許請求の範囲】
【請求項１】
所定の周期ごとに複数ビットのデジタル入力信号が入力され、前記デジタル入力信号に対して所定のフィルタ係数およびフィルタ次数に応じたフィルタ処理が施された結果であるデジタル出力信号を出力するデジタルフィルタ装置において、
前記デジタル入力信号及び／又は前記デジタル出力信号を、前記フィルタ次数に応じて前記周期ごとに順次遅延させるための遅延処理部と、
前記デジタル入力信号および前記遅延処理部で処理された信号を、２進表記した場合に有限小数となる前記フィルタ係数の小数部のうち、「１」の桁が表す指数の絶対値分シフトダウンさせるためのフィルタ係数処理部と、
前記フィルタ係数処理部で処理された信号を加算して当該加算結果を前記デジタル出力信号として出力する加算処理部と、
を有することを特徴とするデジタルフィルタ装置。
【請求項２】
前記フィルタ係数処理部は、前記フィルタ係数が、「１」または「−１」の整数部を有する帯小数の場合、
前記整数部が「１」のとき、前記デジタル入力信号及び／又は前記デジタル出力信号を前記加算処理部へそのまま供給し、
前記整数部が「−１」のとき、前記デジタル入力信号及び／又は前記デジタル出力信号を前記加算処理部へ反転させて供給すること、
を特徴とする請求項１に記載のデジタルフィルタ装置。
【請求項３】
前記フィルタ係数処理部は、前記フィルタ係数が負の場合、２の補数変換前の前記フィルタ係数のビット列又は２の補数変換後の前記フィルタ係数のビット列のうち、小数部で「１」の桁が多い方に基づいて、前記シフトダウンを行うこと、を特徴とする請求項１に記載のデジタルフィルタ装置。
【請求項４】
前記遅延処理部は、前記前記デジタル入力信号及び／又は前記デジタル出力信号を前記周期ごとに保持するレジスタであり、
前記フィルタ係数処理部は、前記レジスタに格納される前記デジタル入力信号及び／又は前記デジタル出力信号において、前記複数ビットと前記指数の絶対値分のビットとの差分に相当する上位ビット列を取得することで、前記シフトダウンを行うこと、
を特徴とする請求項１に記載のデジタルフィルタ装置。
【請求項５】
所定の前記フィルタ次数に対応した前記フィルタ係数を複数選択可能とする場合、前記複数のフィルタ係数ごとに設けた複数の前記フィルタ係数処理部を切り替えるための係数切り替え部を有すること、を特徴とする請求項１に記載のデジタルフィルタ装置。
【請求項６】
前記加算処理部は、負の前記フィルタ係数を２の補数変換する場合に行われるビット反転後の「１」の加算に関して、前記負のフィルタ係数の数分、前記「１」の加算をまとめて行うこと、を特徴とする請求項１に記載のデジタルフィルタ装置。
【請求項７】
光ディスク再生装置において、サーボ制御信号の波形整形を行うためのサーボイコライザに用いられるフィルタであること、を特徴とする請求項１に記載のデジタルフィルタ装置。
【請求項８】
所定の周期ごとに複数ビットのデジタル入力信号が入力され、前記デジタル入力信号に対して所定のフィルタ係数およびフィルタ次数に応じたフィルタ処理が施された結果であるデジタル出力信号を出力するデジタルフィルタ装置におけるフィルタ処理方法において、
前記デジタル入力信号及び／又は前記デジタル出力信号を、前記フィルタ次数に応じて前記周期ごとに順次遅延させる工程と、
前記デジタル入力信号および前記順次遅延させた信号を、２進表記した場合に有限小数となる前記フィルタ係数の小数部のうち、「１」の桁が表す指数の絶対値分シフトダウンさせる工程と、
前記シフトダウンさせた信号を加算して当該加算結果を前記デジタル出力信号として出力する工程と、
を有することを特徴とするフィルタ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルフィルタ装置およびそのフィルタ処理方法に関する。
【背景技術】
【０００２】
デジタルフィルタ装置は、所定のサンプリング周期ごとに入力される量子化ビット数分のデジタル信号を処理対象とし、所定のフィルタ係数およびフィルタ次数に応じたフィルタ処理によって、デジタル信号に含まれる特定の周波数成分を除去／抽出するものである。例えば、デジタルフィルタ装置としては、ＦＩＲ（Finite Impulse Responce）フィルタやＩＩＲ(Infinite Impulse Responce)フィルタなどによって構成される。
【０００３】
ところで、デジタルフィルタ装置の伝達関数Ｈ（Ｚ）は、「Ｈ（Ｚ）＝ｈ（１）・Ｚ＾（−１）＋ｈ（２）・Ｚ＾（−２）＋・・・ｈ（ｎ）・Ｚ＾（−ｎ）」等といったフィルタ係数ｈ（１）〜ｈ（ｎ）と遅延信号Ｚ＾（−１）〜Ｚ＾（−ｎ）との積和演算で表される。このため、デジタルフィルタ装置は、高速な積和演算処理が可能なＤＳＰ（Digital Signal Processor）によって実施される場合が多い（例えば、以下に示す特許文献１を参照）。
【０００４】
図１２は、ＤＳＰによって実施されるｎ次のＩＩＲフィルタのブロック図である。図１２に示すように、ＩＩＲフィルタは、係数レジスタ９０、９３と、遅延レジスタ９１、９４と、乗算器９２、９５と、加算器９６と、によって構成される。
【０００５】
係数レジスタ９０は、フィルタ係数ａ０〜ａｎを格納するレジスタであり、係数レジスタ９３は、フィルタ係数ｂ１〜ｂｎを格納するレジスタである。遅延レジスタ９１は、デジタル入力信号Ｘ（Ｚ）を１サンプリング周期分遅延させるためのレジスタであり、遅延レジスタ９４は、デジタル出力信号Ｙ（Ｚ）を１サンプリング周期分遅延させるためのレジスタである。
【０００６】
乗算器９２は、デジタル入力信号Ｘ（Ｚ）および遅延レジスタ９１によって遅延された信号に対して、係数レジスタ９０に格納されたフィルタ係数ａ０〜ａｎをそれぞれ乗算するものであり、乗算器９５は、遅延レジスタ９４によって遅延された信号に対して、係数レジスタ９３に格納されたフィルタ係数ｂ１〜ｂｎをそれぞれ乗算するものである。加算器９６は、乗算器９２、９５において乗算された結果を加算して、デジタル出力信号Ｙ（Ｚ）を出力するものである。
【０００７】
以上の構成によって、図１２に示すＩＩＲフィルタの伝達関数Ｈ（Ｚ）は、「Ｈ（Ｚ）＝｛ａ０＋ａ１・Ｚ＾（−１）＋・・・＋ａｎ・Ｚ＾（−ｎ）｝／｛１＋ｂ１・Ｚ＾（−１）＋・・・＋ｂｎ・Ｚ＾（−ｎ）｝」として表される。なお、ｎ次のＦＩＲフィルタは、図１２に示す構成において、デジタル出力信号Ｙ（Ｚ）の再帰部にかかる係数レジスタ９３、遅延レジスタ９４、乗算器９５を含めない場合として表すことができる。
【特許文献１】特開２００３−１７９４６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、図１２に示すような従来のデジタルフィルタ装置をＤＳＰによって構成した場合、ＤＳＰ全体の回路規模の中で乗算器の占有率が約５０％となる場合がある等、乗算器の回路規模はその他の回路素子のものと比べて極めて大きい。例えば、一般的な乗算器の場合、被乗数データと乗数データとの部分積を生成するための部分積生成回路と、部分積を累積加算するための加算器と、によって実現される。ここで、部分積生成回路ならびに加算器は、被乗数データおよび乗数データのビット数に応じた回路規模となるので、被乗数データおよび乗数データのビット数を増やす場合には部分積の数も当然増えて、その結果、ＤＳＰ全体の回路規模が飛躍的に大きくなる。すなわち、従来のデジタルフィルタ装置は、乗算器の回路規模が影響することで、ＤＳＰ等への集積化が困難であった。
【０００９】
また、ＤＳＰでは、図１２に示した係数レジスタ９０、９３に格納されるフィルタ係数を適宜変更可能とする等、汎用性を重視した構成を採用する場合が多い。しかしながら、特定用途向けのデジタルフィルタ装置等では、要求されるフィルタ特性が基本的に限定される場合が多いので、汎用性を重視する必然性が乏しい。すなわち、従来のデジタルフィルタ装置では、不必要に冗長な構成となる可能性があった。
【課題を解決するための手段】
【００１０】
前述した課題を解決するための主たる本発明は、所定の周期ごとに複数ビットのデジタル入力信号が入力され、前記デジタル入力信号に対して所定のフィルタ係数およびフィルタ次数に応じたフィルタ処理が施された結果であるデジタル出力信号を出力するデジタルフィルタ装置において、前記デジタル入力信号及び／又は前記デジタル出力信号を、前記フィルタ次数に応じて前記周期ごとに順次遅延させるための遅延処理部と、前記デジタル入力信号および前記遅延処理部で処理された信号を、２進表記した場合に有限小数となる前記フィルタ係数の小数部のうち、「１」の桁が表す指数の絶対値分シフトダウンさせるためのフィルタ係数処理部と、前記フィルタ係数処理部で処理された信号を加算して前記デジタル出力信号を出力する加算処理部と、を有することとする。
【発明の効果】
【００１１】
本発明によれば、フィルタ処理にかかる乗算器が不要となり、集積化に適したデジタルフィルタ装置およびそのフィルタ処理方法を提供することができる。
【発明を実施するための最良の形態】
【００１２】
＝＝＝  デジタルフィルタ装置（ハードウェア構成の場合）  ＝＝＝
＜概要＞
本発明の一実施形態にかかるデジタルフィルタ装置は、ＩＩＲフィルタまたはＦＩＲフィルタのいずれかを、ＤＳＰによって構成するものである。また、本発明にかかるデジタルフィルタ装置は、フィルタ特性が基本的に限定される特定用途向けフィルタを対象とする。なお、後述の説明では、本発明にかかるデジタルフィルタ装置として、固定小数点演算が可能なＤＳＰによってＩＩＲフィルタを構成した場合とする。
【００１３】
また、本発明にかかるデジタルフィルタ装置は、デジタル入力信号及び／又は遅延信号とフィルタ係数との乗算処理を行うための従来の乗算器を、後述のシフトダウン器（４０１、４０３、４４１、４４３）及び／又は遅延信号をそのまま又は反転させて転送する後述の信号ライン（４４５、４４８）に置き換えることとする。
【００１４】
なお、本発明にかかるデジタルフィルタ装置を構成するにあたり、デジタル入力信号及び／又は遅延信号とフィルタ係数との乗算処理を特にシフトダウン処理へと置き換えるためには、デジタルフィルタ装置で取り扱うフィルタ係数は、２進表記において有限小数でなければならない。
【００１５】
このため、フィルタ係数を２進表記で有限小数とする制約条件下で、デジタルフィルタ設計用シミュレーションを実行した際のシミュレーション結果に基づいて、フィルタ特性の要求スペックを満たすフィルタ係数ならびにフィルタ次数を決定する。なお、フィルタ特性の要求スペックとは、例えば、ＢＰＦ（Band Pass Filter）の場合、周波数特性のピークの鋭さを表すＱ値や、カットオフ周波数や、中心周波数、減衰特性−６ｄＢ／ｏｃｔ等によって設定される。
【００１６】
以下では、予め決定しておいたフィルタ係数ならびにフィルタ次数に基づいて、従来の乗算器を用いて構成されたフィルタモデルのことを、「簡易モデル」と称することとする。そして、本発明では、こうした簡易モデルをふまえて、乗算器不要なデジタルフィルタ装置を実際に構成することとなる。
【００１７】
＜ＬＰＦへの適用例＞
＜＜シフトダウン処理等への置き換え＞＞
図１乃至図３をもとに、本発明の一実施形態にかかるデジタルフィルタ装置として、１次のＩＩＲフィルタによってＬＰＦ（Low Pass Filter）を構成する場合を例に挙げて説明する。なお、このＬＰＦのスペックとして、量子化ビット数は１６ビット、サンプリング周波数Ｆｓは２２．０５ｋＨｚ、カットオフ周波数は１ｋＨｚとする。
【００１８】
まず、図２は、予め求めておいた１次のＩＩＲフィルタの簡易モデルである。なお、この簡易モデルにおいて、係数レジスタ９０、９３、遅延レジスタ９１、９４、乗算器９２、９５、加算器９６は、図１２に示した従来構成の場合と同様である。そして、この簡易モデルの伝達関数Ｈ（Ｚ）は、「Ｈ（Ｚ）＝｛ａ０＋ａ１・Ｚ＾（−１）｝／｛１＋ｂ１・Ｚ＾（−１）｝」として表すことができる。また、フィルタ係数ａ０、ａ１、ｂ１は、図１に示されるように、１０進表記の場合でそれぞれ「０．１２５」、「０．１２５」、「０．７５」であり、データ長が８ビットの２進表記をした場合に有限小数となる。
【００１９】
ここで、フィルタ係数ａ０、ａ１はデータ長が８ビットの２進表記で「０．００１００００」となる。よって、デジタル入力信号Ｘ（Ｚ）とフィルタ係数ａ０との乗算器９２ａにおける乗算処理、ならびに、１サンプリング周期分遅延させたデジタル入力信号Ｘ（Ｚ）とフィルタ係数ａ１との乗算器９２ｂにおける乗算処理は、フィルタ係数ａ０、ａ１の小数部のうち「１」の桁が表す「２」を底とした指数「−３」の絶対値「３」のビット数分、シフトダウンさせる処理へと置き換えることができる。
【００２０】
また、フィルタ係数ｂ１はデータ長が８ビットの２進表記で「０．１１０００００」となる。よって、１サンプリング周期分遅延させたデジタル出力信号Ｙ（Ｚ）とフィルタ係数ｂ１との乗算器９５における乗算処理は、フィルタ係数ｂ１の小数部のうち「１」の桁が表す「２」を底とした指数「−１」および「−２」の絶対値「１」および「２」のビット数分、シフトダウンさせる処理へと置き換えることができる。すなわち、１ビットシフトダウンと２ビットシフトダウンを並列処理させることになる。
【００２１】
＜＜ハードウェア構成＞＞
よって、本発明にかかる１次のＩＩＲフィルタによって実現されるＬＰＦは、図３に示すような構成となる。つまり、１次のＩＩＲフィルタは、遅延レジスタ４００、４０２（『遅延処理部』）と、シフトダウン器４０１、４０３（『フィルタ係数処理部』）と、加算器４０４（『加算処理部』）と、によって構成される。
【００２２】
遅延レジスタ４００は、デジタル入力信号Ｘ（Ｚ）を１サンプリング周期分遅延させるためのレジスタであり、遅延レジスタ４０２は、デジタル出力信号Ｙ（Ｚ）を１サンプリング周期分遅延させるためのレジスタである。加算器４０４は、シフトダウン器４０１、４０３においてそれぞれシフトダウン処理された信号を加算して、その加算結果をデジタル出力信号Ｙ（Ｚ）として出力するものである。
【００２３】
シフトダウン器４０１ａは、デジタル入力信号Ｘ（Ｚ）を、フィルタ係数ａ０に応じて３ビットシフトダウンさせるものであり、シフトダウン器４０１ｂは、遅延レジスタ４００によって１サンプリング周期分遅延させたデジタル入力信号Ｘ（Ｚ）を、フィルタ係数ａ１に応じて３ビットシフトダウンさせるものである。また、シフトダウン器４０３ａ、ｂは、遅延レジスタ４０２によって１サンプリング周期分遅延させたデジタル出力信号Ｙ（Ｚ）を、フィルタ係数ｂ１に応じて１ビットシフトダウンと２ビットシフトダウンを並列処理させるものである。
【００２４】
なお、シフトダウン器４０１、４０３は、基本的には、１６ビットのシフトレジスタで構成可能であるが、シフトダウン器４０１ｂ、４０３ａ、４０３ｂについては、遅延レジスタ４００、４０２に格納されるデジタル入力信号Ｘ（Ｚ）、デジタル出力信号Ｙ（Ｚ）の１６ビット分のうち、最下位ビットＬＳＢ（Least Significant ビット）からシフトダウンを行うビット数分を取り除くことでシフトダウンを行うことが好ましい。例えば、シフトダウン器４０１ｂは、遅延レジスタ４００に格納された１６ビットのデジタル入力信号Ｘ（Ｚ）のうち、１６ビットと、シフトダウンを行う３ビットと、の差分に相当する上位１３ビットを取得することで、３ビットシフトダウンを行うこととする。これによって、シフトダウン器４０１ｂ、４０３ａ、４０３ｂをシフトレジスタによって構成した場合と比べて、回路規模の増大化を抑制しつつシフトダウンを実現することができる。
【００２５】
このように、本発明にかかる１次のＩＩＲフィルタは、フィルタ係数の処理において、従来の乗算器ではなく、シフトダウン器４０１、４０３を採用することとなる。ここで、シフトダウン器４０１、４０３は、従来の乗算器と比較した場合、部分積の累積加算等の複雑な処理を伴わず、シフトダウン処理のみを行うだけなので、回路規模が極めて小さくて済む。よって、本発明によれば、集積化に好適な、前述の１次のＩＩＲフィルタ等のデジタルフィルタ装置を提供することが可能となる。
【００２６】
＜ＢＰＦへの適用例＞
＜＜シフトダウン処理等への置き換え＞＞
図４乃至図１０をもとに、本発明の一実施形態にかかるデジタルフィルタ装置として、２次のＩＩＲフィルタによってＢＰＦを構成する場合を例に挙げて説明する。なお、ＢＰＦの要求スペックとして、量子化ビット数は１６ビット、サンプリング周波数Ｆｓは１１ｋＨｚとする。また、ＢＰＦの中心周波数は、それぞれ一意に定まる０．７８ｋＨｚ、１．００ｋＨｚ、１．２０ｋＨｚの３つの周波数のうち、いずれか一つを選択可能とする。
【００２７】
まず、図６は、本発明にかかる２次のＩＩＲフィルタの従来構成である。なお、図６に示す従来構成において、係数レジスタ９０、９３、遅延レジスタ９１、９４、乗算器９２、９５、加算器９６は、図１２に示したものと同様であることは言うまでもない。そして、このＢＰＦの伝達関数Ｈ（Ｚ）は、「Ｈ（Ｚ）＝｛ａ０＋ａ１・Ｚ＾（−１）＋ａ２・Ｚ＾（−２）｝／｛１＋ｂ１・Ｚ＾（−１）＋ｂ２・Ｚ＾（−２）｝」として表すことができる。また、中心周波数が０．７８ｋＨｚ、１．００ｋＨｚ、１．２０ｋＨｚそれぞれの場合における、フィルタ係数ａ０、ａ１、ａ２、ｂ１、ｂ２ならびにＱは、例えば、図４に示される値となる。
【００２８】
ところで、図４に示されるフィルタ係数ａ０、ａ１、ａ２、ｂ１、ｂ２は、１０進表記した値であり、２進表記に変換した場合には有限小数とはならず無限小数となる。そこで、デジタルフィルタ設計用シミュレーションの実行結果に基づいて、フィルタ係数ａ０、ａ１、ａ２、ｂ１、ｂ２が、２進表記した場合に有限小数となる簡易モデルを決定する。図７は、その簡易モデルの構成を示すものであり、図５は、その簡易モデルにおけるフィルタ係数ａ０、ａ１、ａ２、ｂ１、ｂ２を示すものである。
【００２９】
ここで、図８をもとに、図７に示した簡易モデルにおいて、フィルタ係数ａ０、ａ２、ｂ２に関する乗算処理のシフトダウン処理等への置き換えについて説明する。なお、フィルタ係数ａ１は、「０」であるため信号ライン自体が不要となるため、説明は省略する。また、フィルタ係数ａ０、ａ２、ｂ２は、中心周波数が０．７８ｋＨｚ、１．０１ｋＨｚ、１．２０ｋＨｚそれぞれの場合において共通な値となるものである。
【００３０】
まず、フィルタ係数ａ０は、１０進表記で「０．１２５」であり、データ長が８ビットの２進表記で「０．００１００００」となる。よって、デジタル入力信号Ｘ（Ｚ）とフィルタ係数ａ０との乗算器９２ａにおける乗算処理は、フィルタ係数ａ０の小数部のうち「１」の桁が表す「２」を底とした指数「−３」の絶対値「３」のビット数分、シフトダウンさせる処理へと置き換えることができる。
【００３１】
フィルタ係数ａ２は、１０進表記で「−０．１２５」である。ここで、１０進表記で負となる数を２進表記する場合、２の補数変換を行うこととする。１０進表記で「−０．１２５」の２の補数変換は、絶対値「０．１２５」の２進表記「０．００１００００」をビット反転させ、さらに、ビット反転後の最下位ビットＬＳＢに「１」を加算することで実施される。よって、「−０．１２５」の２の補数は、「１．１１１００００」となる。
【００３２】
そこで、遅延レジスタ９１ａ、ｂによって２サンプリング周期分遅延されたデジタル入力信号Ｘ（Ｚ）とフィルタ係数ａ２との乗算器９２ｃにおける乗算処理は、フィルタ係数ａ０の場合と同様な３ビットシフトダウン処理と、ビット反転処理と、「１」の加算処理と、を順次実行する２の補数変換処理へと置き換えることができる。
【００３３】
あるいは、「−０．１２５」の２の補数「１．１１１００００」に基づいて、２サンプリング周期分遅延されたデジタル入力信号Ｘ（Ｚ）とフィルタ係数ａ２との乗算器９２ｃにおける乗算処理は、「−１」に相当する反転処理と、１ビットシフトダウン処理と、２ビットシフトダウン処理と、３ビットシフトダウン処理と、の並列処理に置き換えることも可能である。しかしながら、この場合、必要なシフトダウン器の数が増えて回路規模が大きくなるため、前述した２の補数変換処理への置き換えを採用する方が好ましい。
【００３４】
フィルタ係数ｂ２は、１０進表記で「−０．９３７５」であるため、２の補数変換を行う。１０進表記で「−０．９３７５」の２の補数変換は、絶対値「０．９３７５」の２進表記「０．１１１１０００」をビット反転させ、さらに、当該ビット反転後の最下位ビットＬＳＢに「１」を加算することで、実施される。よって、「−０．９３７５」の２の補数は、整数部が「−１」の帯小数である「１．０００１０００」となる。
【００３５】
そこで、遅延レジスタ９４ａ、９４ｂで２サンプリング周期分遅延されたデジタル出力信号Ｙ（Ｚ）とフィルタ係数ｂ２との乗算器９５ｂにおける乗算処理は、「−１」に相当する反転処理および２の補数変換用の「１」の加算処理と、フィルタ係数ｂ２の２の補数表記された小数部のうち「１」の桁が表す「２」を底とした指数「−４」の絶対値「４」のビット数分、シフトダウンさせる処理と、の並列処理に置き換えることができる。
【００３６】
あるいは、２サンプリング周期分遅延されたデジタル出力信号Ｙ（Ｚ）とフィルタ係数ｂ２との乗算器９５ｂにおける乗算処理は、１ビットシフトダウン処理と、２ビットシフトダウン処理と、３ビットシフトダウン処理と、４ビットシフトダウン処理と、の並列処理と、各シフトダウン後のビット反転処理と、「１」の加算処理と、を順次実行する２の補数変換処理に置き換えることも可能である。しかしながら、この場合、必要なシフトダウン器の数が増えて回路規模が大きくなるため、前述した「−１」に相当する反転処理と４ビットシフトダウン処理との並列処理への置き換えを採用する方が好ましい。
【００３７】
つぎに、図９をもとに、図７に示した簡易モデルにおいて、フィルタ係数ｂ１に関する乗算処理のシフトダウン処理等への置き換えについて説明する。なお、フィルタ係数ｂ１は、中心周波数が０．７８ｋＨｚの場合には１０進表記で「１．７５」、１．０１ｋＨｚの場合には１０進表記で「１．６２５」、１．２０ｋＨｚの場合には１０進表記で「１．５」と、それぞれ異なった値となる。よって、それぞれ整数部が「１」の帯小数となるので、図７に示す簡易モデルにおいて、遅延レジスタ９４ａにおいて１サンプリング周期分遅延されたデジタル出力信号Ｙ（Ｚ）と係数レジスタ９３ａに格納されたフィルタ係数ｂ１の小数部との乗算を行う乗算器９５ａの他に、遅延レジスタ９４ａにおいて１サンプリング周期分遅延されたデジタル出力信号Ｙ（Ｚ）をそのまま加算器９６に供給する信号ラインを有する。この信号ラインは、フィルタ係数ｂ１の整数部「１」に相当するものである。
【００３８】
まず、フィルタ係数ｂ１は、中心周波数が０．７８ｋＨｚの場合に１０進表記で「１．７５」であり、小数部「０．７５」をデータ長が８ビットの２進表記をした場合、「０．１１０００００」となる。よって、１サンプリング周期分遅延されたデジタル出力信号Ｙ（Ｚ）とフィルタ係数ｂ１の小数部との乗算器９５ａにおける乗算処理は、フィルタ係数ｂ１の小数部のうち「１」の桁が表す「２」を底とした指数「−１」および「−２」の絶対値「１」および「２」のビット数分、シフトダウンさせる処理へと置き換えることができる。すなわち、１ビットシフトダウンと２ビットシフトダウンを並列処理させることになる。そして、この状態を、後述の制御レジスタ４５０において、「１１」として表すこととする。
【００３９】
同様に、フィルタ係数ｂ１は、中心周波数が１．０１ｋＨｚの場合に１０進表記で「１．６２５」であり、小数部「０．６２５」をデータ長が８ビットの２進表記をした場合、「０．１０１００００」となる。よって、乗算器９５ａにおける乗算処理は、１ビットシフトダウンと３ビットシフトダウンとの並列処理に置き換えることができる。そして、この状態を、後述の制御レジスタ４５０において、「１０」として表すこととする。
【００４０】
また、同様に、フィルタｂ１は、中心周波数が１．２０ｋＨｚの場合に１０進表記で「１．５」であり、小数部「０．５」をデータ長が８ビットの２進表記をした場合、「０．１００００００」となる。よって、乗算器９５ａにおける乗算処理は、１ビットシフトダウンに置き換えることができる。なお、後述のフィルタ係数切り替え部４５２の構成上、１ビットシフトダウンを、２ビットシフトダウンの並列処理に置き換えることとする。そして、この状態を、後述の制御レジスタ４５０において、「０１」として表すこととする。
【００４１】
＜＜ハードウェア構成＞＞
よって、本発明にかかる２次のＩＩＲフィルタによって実現されるＢＰＦは、図１０に示すような構成となる。つまり、２次のＩＩＲフィルタは、遅延レジスタ４４０、４４２（『遅延処理部』）と、シフトダウン器４４１、４４３（『フィルタ係数処理部』）と、加算器４４４（『加算処理部』）と、２の補数変換処理用のインバータ素子４４６、所定のフィルタ係数の整数部が「１」の場合に相当する信号ライン４４５と、所定のフィルタ係数の整数部が「−１」の場合に相当するインバータ素子４４７および信号ライン４４８と、２の補数変換時のビット反転後の「１」の加算を一斉に行うための汎用レジスタ４４９と、制御レジスタ４５０、デコーダ４５１、フィルタ係数切り替え部４５２、によって構成される。
【００４２】
遅延レジスタ４４０ａは、デジタル入力信号Ｘ（Ｚ）を１サンプリング周期分遅延させるためのレジスタであり、遅延レジスタ４４０ｂは、遅延レジスタ４４０ａにおいて遅延されたデジタル入力信号Ｘ（Ｚ）を、さらに、１サンプリング周期分遅延させるためのレジスタである。
【００４３】
また、遅延レジスタ４４２ａは、デジタル出力信号Ｙ（Ｚ）を１サンプリング周期分遅延させるためのレジスタであり、遅延レジスタ４４２ｂは、遅延レジスタ４４２ａにおいて遅延されたデジタル出力信号Ｙ（Ｚ）を、さらに、１サンプリング周期分遅延させるためのレジスタである。
【００４４】
シフトダウン器４４１ａは、デジタル入力信号Ｘ（Ｚ）を、フィルタ係数ａ０に応じて３ビットシフトダウンさせるものであり、シフトダウン器４４１ｂは、遅延レジスタ４４０ａ、４４０ｂによって２サンプリング周期分遅延させたデジタル入力信号Ｘ（Ｚ）を、フィルタ係数ａ２に応じて３ビットシフトダウンさせるものである。
【００４５】
なお、フィルタ係数ａ２の処理は、前述したように、３ビットシフトダウン後に、２の補数変換を行うために、ビット反転処理と、「１」の加算処理を順次実行することとなる。よって、シフトダウン器４４１ｂと加算器４４４との間の信号ライン上には、ビット反転処理用にインバータ素子４４６を設けてある。また、この場合の２の補数変換用の「１」の加算処理は、汎用レジスタ４４９から論理値「２」が加算器４４４に供給されることで行われる。
【００４６】
シフトダウン器４４３ａ、４４３ｂ、４４３ｃは、図９に示したようなフィルタ係数ｂ１に関するシフトダウンをさせるものであり、フィルタ係数切り替え部４５２に供給される。フィルタ係数切り替え部４５２は、２つのスイッチＳＷ１、ＳＷ２を有しており、ＢＰＦとしての３種類の中心周波数（０．７８ｋＨｚ、１．０１ｋＨｚ、１．２０ｋＨｚ）に応じて、スイッチＳＷ１、ＳＷ２のそれぞれにおいてシフトダウン器４４３ａ、４４３ｂ、４４３ｃのいずれか一つが選択される。そして、スイッチＳＷ１、ＳＷ２でそれぞれ選択されたシフトダウン処理後の信号が、加算器４４４に供給される。
【００４７】
なお、フィルタ係数切り替え部４５２におけるスイッチＳＷ１、ＳＷ２の切り替え制御は、制御レジスタ４５０とデコーダ４５１によって行われる。制御レジスタ４５０は、図９に示すように、ＢＰＦの中心周波数が０．７８ｋＨｚの場合の「１１」、ＢＰＦの中心周波数が１．０１ｋＨｚの場合の「１０」、ＢＰＦの中心周波数が１．２０ｋＨｚの場合の「０１」のいずれかが設定される。そして、デコーダ４５１は、制御レジスタ４５０に格納された２ビットを解析することで、スイッチＳＷ１、ＳＷ２の切り替え制御用の制御信号をフィルタ係数切り替え部４５２に供給するのである。
【００４８】
例えば、中心周波数が０．７８ｋＨｚのＢＰＦを実現する場合には、制御レジスタ４５０には「１１」が設定される。そして、デコーダ４５１は、制御レジスタ４５０に設定された「１１」に基づいて、スイッチＳＷ１がシフトダウン器４４３ａ、スイッチＳＷ２が４４３ｂを選択するための制御信号を、フィルタ係数切り替え部４５２に供給する。この結果、フィルタ係数切り替え部４５２では、シフトダウン器４４３ａによって１ビットシフトダウン処理された信号と、シフトダウン器４４３ｂによって２ビットシフトダウン処理された信号と、が選択されて、加算器４４４に供給される。
【００４９】
シフトダウン器４４３ｄは、遅延レジスタ４４２ａ、４４２ｂによって２サンプリング周期分遅延させたデジタル出力信号Ｙ（Ｚ）を、フィルタ係数ｂ２の小数部に応じて４ビットシフトダウンさせるものである。また、インバータ素子４４７は、遅延レジスタ４４２ａ、４４２ｂによって２サンプリング周期分遅延させたデジタル出力信号Ｙ（Ｚ）を、フィルタ係数ｂ２の整数部「−１」に応じて反転処理させるものである。そして、この反転処理された信号は、信号ライン４４８を介して、加算器４４４に供給される。なお、この場合の２の補数変換用の「１」の加算処理は、汎用レジスタ４４９から論理値「２」が加算器４４４に供給されることで行われる。
【００５０】
すなわち、フィルタ係数ｂ２に関する処理は、シフトダウン器４４３ｄにおける４ビットシフトダウン処理と、インバータ素子４４７における反転処理と、が並列に行われることによって実現される。
【００５１】
汎用レジスタ４４９は、フィルタ係数ａ２ならびにｂ２における２の補数変換処理の際に行うビット反転後の「１」の加算を、加算器４４４においてまとめて行わせるために設けたレジスタである。すなわち、汎用レジスタ４４９には、論理値「２」が設定されており、当該論理値「２」が加算器４４４に供給されることで、フィルタ係数ａ２ならびにｂ２における２の補数変換用の「１」の加算が一斉に完了できる。
【００５２】
このように、本発明にかかる２次のＩＩＲフィルタは、フィルタ係数の処理において、従来の乗算器ではなく、シフトダウン器４４１、４４３を採用することとなる。ここで、シフトダウン器４４１、４４３は、従来の乗算器と比較した場合、部分積の累積加算等の複雑な処理を伴わず、シフトダウン処理のみを行うだけなので、回路規模が極めて小さくて済む。よって、本発明によれば、集積化に好適な、前述の２次のＩＩＲフィルタ等のデジタルフィルタ装置を提供することが可能となる。
【００５３】
＝＝＝  デジタルフィルタ装置（ソフトウェア構成の場合）  ＝＝＝
本発明にかかるデジタルフィルタ装置において、フィルタ係数の処理に関するシフトダウン処理ならびに加算処理を、ソフトウェアで実現することもできる。  
例えば、１０進表記で「−０．５」の遅延信号と、１０進表記で「０．６」のフィルタ係数と、の乗算処理「−０．５×０．６＝−０．３」を行う場合を考える。なお、遅延信号「−０．５」は、２の補数ならびに１６進表記で「Ｃ０（ｈ）」であり、フィルタ係数「０．６」は、２の補数ならびに１６進表記で「６０（ｈ）」であるため、乗算処理「−０．５×０．６＝−０．３」は、２の補数ならびに１６進表記で「Ｃ０（ｈ）×６０（ｈ）＝Ｄ０（ｈ）」として表される。
【００５４】
ここで、フィルタ係数「６０（ｈ）」は、データ長が８ビットの２進表記で「０．１１０００００＝０．１００００００＋０．０１０００００」と表されるため、フィルタ係数「６０（ｈ）」の処理は、「０．１００００００」に対応する１ビット算術シフトダウンと、「０．０１０００００」に対応する２ビット算術シフトダウンと、を並列処理することで実現できる。  
よって、１ビット算術シフトダウン後の遅延信号「Ｃ０（ｈ）」は「Ｅ０（ｈ）」、２ビット算術シフトダウン後の遅延信号「Ｃ０（ｈ）」は「Ｆ０（ｈ）」であるため、「Ｃ０（ｈ）×６０（ｈ）」は、「Ｅ０（ｈ）＋Ｆ０（ｈ）」の加算によって実現できる。
【００５５】
このように、算術シフトダウン＋加算処理といった基本的な演算処理の組み合わせでフィルタ処理を行うことができるので、固定小数点演算が可能な乗算器やＤＳＰ等の特別な仕組みを必要とはせず、マイクロコンピュータが有する汎用的なＡＬＵ（Arithmetic Logic Unit）の機能を利用するだけで十分である。ここで、一般的な制御システムでは、ＤＳＰは、マイクロコンピュータと組み合わされて構成されるが、本発明にかかるフィルタ処理を採用することで、当該制御システムにおいてＤＳＰ又は固定小数点演算可能な乗算器が不要となるため、その分、回路規模を低減できる。
【００５６】
＝＝＝サーボ制御用フィルタ＝＝＝
本発明にかかるデジタルフィルタ装置を、光ディスク再生装置のサーボ制御系が有するサーボイコライザやそのゲイン調整用フィルタに対して適用した実施例について説明する。図１１は、本発明にかかるデジタルフィルタ装置を含めた光ディスク再生装置におけるサーボ制御系のシステム構成図である。
【００５７】
光ピックアップ２０は、レーザ素子、光検出器、対物レンズ等（いずれも不図示）を有しており、レーザ素子から対物レンズを介して出射するレーザ光によって、光ディスク１０上に記録される情報の読み出しや書き込みを行う電子部品である。なお、レーザ素子から出射されたレーザ光は、光ディスク１０の記録面より反射された後、光検出器において検出される。
【００５８】
ＲＦアンプ３０は、光ピックアップ２０の光検出器によって検出された光検出信号に対して所定の増幅率で増幅を行うことで、ＲＦ信号の生成を行う増幅器である。このＲＦ信号は、ＤＳＰ４０が有する復号化処理部によってデコード処理されることで、光ディスク１０に記録された情報の再生が行われる。なお、ＲＦアンプ３０には、一般的に、トラッキングエラー信号やフォーカスエラー信号等のサーボ制御信号を生成するためのサーボ制御信号生成部３１が組み込まれている。
【００５９】
ここで、トラッキングエラー信号とは、光ディスク１０上の目標トラックに記録された情報を読み出す場合に、光ピックアップ２０から出射されたレーザ光を目標トラックに追従させるためのトラッキングサーボ制御に用いられる制御信号である。また、フォーカスエラー信号とは、光ピックアップ２０の対物レンズのフォーカス位置を光ディスク１０上の記録面に合わせるためのフォーカスサーボ制御に用いられる制御信号である。
【００６０】
ＤＳＰ４０は、デジタルサーボ機能や、符号化／復号化処理機能等といった、光ディスク用デジタル信号処理を行うものである。また、ＤＳＰ４０は、デジタルサーボ機能において、特に、サーボ制御信号生成部３１によって生成されたアナログのサーボ制御信号をデジタル信号に変換するためのＡ／Ｄ変換器４１と、サーボ制御の安定化を図るべくＡ／Ｄ変換後のサーボ制御信号のゲイン調整や位相補償等の波形整形を行うサーボイコライザ４２と、ゲイン／位相補償後のデジタルのサーボ制御信号を再びアナログ信号に変換するＤ／Ａ変換器４３と、を有する。
【００６１】
また、Ｄ／Ａ変換器４３によってアナログ信号に変換されたサーボ制御信号は、サーボドライバ５０に供給されることで、光ピックアップ２０に対してトラッキングサーボ制御やフォーカスサーボ制御が行われる。なお、マイクロコンピュータ６０は、図１１に示すサーボ制御系を含めた光ディスク再生装置全体の制御を司るものである。
【００６２】
ここで、サーボイコライザ４２は、低周波数帯域では光ピックアップ２０自体の大きな変動に伴うサーボ制御信号の変動分を吸収するためゲインを高く設定し、中周波数帯域（１ｋＨｚ付近）では光ディスク１０上の傷によるサーボ制御信号の変動分を取り除くためにゲインを低く設定し、高周波数帯域ではトラッキング時の微小な変動に対する追従性を向上させるためゲインを高く設定してある。すなわち、サーボイコライザ４２は、中周波数帯域の信号を通過させないＢＥＦ（Band Elimination Filter）の形態となる。
【００６３】
なお、サーボイコライザ４２の周波数特性は、外乱発生器７０およびＢＰＦ４４を用いることで予め設計時に定められる。例えば、外乱発生器７０は、１ｋＨｚの試験用Ｓｉｎ波を発生してＡ／Ｄ変換器４１に供給する。このとき、Ａ／Ｄ変換器４１の出力は、Ａ／Ｄ変換後のサーボ制御信号に対して１ｋＨｚのＳｉｎ波に相当するデジタル信号が重畳された状態となる。ＢＰＦ４４は、このＡ／Ｄ変換器４１の出力が供給されて、１ｋＨｚの周波数成分を抽出するとともにその周波数成分のゲインを検出する。つまり、サーボイコライザ４２の周波数特性は、このＢＰＦ４４によって検出された周波数成分のゲインに基づいて予め設定されるのである。
【００６４】
ここで、本発明にかかるデジタルフィルタ装置は、サーボイコライザ４２としてのＢＥＦや、サーボイコライザ４２のゲイン設定用のＢＰＦ４４に採用することができる。このことによって、サーボイコライザ４２やＢＰＦ４４のフィルタ係数の処理において、従来の乗算器が不要となるため、ＤＳＰ４０の回路規模の増大化が抑制できる。すなわち、本発明によれば、ＤＳＰ４０等の集積化に好適な、デジタルフィルタ装置を提供することが可能となる。
【００６５】
以上、本実施の形態について説明したが、前述した実施例は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更／改良され得るととともに、本発明にはその等価物も含まれる。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施形態にかかるデジタルフィルタ装置の構成手法を説明する図である。
【図２】本発明の一実施形態にかかる簡易モデルを説明するブロック図である。
【図３】本発明の一実施形態にかかるデジタルフィルタ装置のブロック図である。
【図４】本発明の一実施形態にかかるデジタルフィルタ装置の構成手法を説明する図である。
【図５】本発明の一実施形態にかかるデジタルフィルタ装置の構成手法を説明する図である。
【図６】本発明の一実施形態にかかるデジタルフィルタ装置の従来構成を説明するブロック図である。
【図７】本発明の一実施形態にかかる簡易モデルを説明するブロック図である。
【図８】本発明の一実施形態にかかるデジタルフィルタ装置の構成手法を説明する図である。
【図９】本発明の一実施形態にかかるデジタルフィルタ装置の構成手法を説明する図である。
【図１０】本発明の一実施形態にかかるデジタルフィルタ装置のブロック図である。
【図１１】本発明の一実施形態にかかるデジタルフィルタ装置を含めた光ディスク再生装置におけるサーボ制御系のシステム構成図である。
【図１２】従来のデジタルフィルタ装置のブロック図である。
【符号の説明】
【００６７】
１０  光ディスク                ２０  光ピックアップ
３０  ＲＦアンプ                ３１  サーボ制御信号生成部
４０  ＤＳＰ（Digital Signal Processor）
４１  Ａ／Ｄ変換器              ４２  サーボイコライザ
４３  Ｄ／Ａ変換器              ４４  ＢＰＦ（Band Pass Filter）
４００、４０２  遅延レジスタ    ４０１、４０３  シフトダウン器
４０４  加算器                  ４４０、４４１  シフトダウン器
４４２、４４３  遅延レジスタ    ４４４  加算器
４４５  信号ライン              ４４６、４４７  インバータ素子
４４８  信号ライン              ４４９  汎用レジスタ
４５０  制御レジスタ            ４５１  デコーダ
４５２  フィルタ係数切り替え部
５０  サーボドライバ            ６０  マイクロコンピュータ
７０  外乱発生器                ９０、９３  係数レジスタ
９１、９４  遅延レジスタ        ９２、９５  乗算器
９６  加算器                    ９７  信号ライン
【図１】
2005311601.tif 000003
【図２】
2005311601.tif 000004
【図４】
2005311601.tif 000005
【図５】
2005311601.tif 000006
【図６】
2005311601.tif 000007
【図７】
2005311601.tif 000008
【図８】
2005311601.tif 000009
【図９】
2005311601.tif 000010
【図１０】
2005311601.tif 000011
【図１１】
2005311601.tif 000012
【図１２】
2005311601.tif 000013
【図３】
2005311601.tif 000014