(57)【要約】【課題】デジタルフィルタのタイミング制御を容易に変更可能とする。【解決手段】乗算器２０及び加算器２２を含み、乗算器２０及び加算器２２を時分割動作させてフィルタ処理を実現するデジタルフィルタ回路であって、乗算器２０及び加算器２２の駆動タイミングのデータを記憶するタイミングメモリ３２と、タイミングメモリ３２に駆動タイミングのデータを書き込むＣＰＵと、を備えるデジタルフィルタ回路によりタイミング制御を容易に変更可能とする。【選択図】図１
2009152815.tif 000002
【特許請求の範囲】
【請求項１】
乗算器及び加算器を含み、前記乗算器及び前記加算器を時分割動作させてフィルタ処理を実現するデジタルフィルタ回路であって、
前記乗算器及び前記加算器の駆動タイミングのデータを記憶するタイミングメモリと、
前記タイミングメモリに前記駆動タイミングのデータを書き込むＣＰＵと、
を備えることを特徴とするデジタルフィルタ回路。
【請求項２】
請求項１に記載のデジタルフィルタ回路であって、
前記乗算器及び前記加算器の駆動タイミングを制御する信号を生成するロジック回路であるタイミング生成回路と、
前記タイミングメモリの出力と、前記タイミング生成回路の出力と、を排他的に切り替えるセレクタと、を備え、
前記セレクタによって、前記タイミングメモリの出力と前記タイミング生成回路の出力とのいずれか一方によって前記乗算器及び前記加算器の駆動タイミングを制御することを特徴とするデジタルフィルタ回路。
【請求項３】
請求項１又は２に記載のデジタルフィルタ回路であって、
前記乗算器は、前記タイミングメモリに格納された駆動タイミングのデータに応じて、経時的に変化する入力信号とタップ係数とを乗じて出力し、
前記加算器は、前記タイミングメモリに格納された駆動タイミングのデータに応じて、前記乗算器の出力信号と自己の出力信号とを加えて出力する、
ことによってフィルタを構成することを特徴とするデジタルフィルタ回路。
【請求項４】
請求項３に記載のデジタルフィルタ回路であって、
前記タップ係数を記憶するタップ係数メモリと、
前記加算器の出力信号を記憶し、前記乗算器への入力信号として出力する演算用メモリと、
を備えることを特徴とするデジタルフィルタ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルフィルタ回路に関する。
【背景技術】
【０００２】
一般的なデジタルフィルタは、図３に示すように、乗算器及び加算器を組み合わせて構成される。
【０００３】
具体的には、図４に示すように、デジタルフィルタ１００は乗算器１０、加算器１２、タップ係数メモリ１４、演算用メモリ１６及びタイミング生成回路１８を含んで構成される。タイミング生成回路１８は、ロジック回路で構成され、乗算器１０、加算器１２、タップ係数メモリ１４及び演算用メモリ１６の入出力及び演算の時間的なタイミングを制御する。
【０００４】
乗算器１０は、タイミング生成回路１８からのタイミング制御信号に応じて、演算用メモリ１６から出力されるデータにタップ係数メモリ１４から出力されるタップ係数を乗算して加算器１２へ出力する。演算用メモリ１６は、タイミング生成回路１８からのタイミング制御信号に応じて、乗算器１０において乗算処理が行われるタイミングで格納されているデータを出力する。また、タップ係数メモリ１４は、タイミング生成回路１８からのタイミング制御信号に含まれるアドレス値に応じて、そのアドレス値で特定されるアドレスに格納されているタップ係数を乗算器１０へ出力する。
【０００５】
加算器１２は、タイミング生成回路１８からのタイミング制御信号に応じて、乗算器１０の出力信号と自己の出力信号とを加算して出力する。加算器１２の出力信号は演算用メモリ１６にも入力される。演算用メモリ１６は、タイミング生成回路１８からのタイミング制御信号に応じて、外部から入力されるデータ又は加算器１２の出力信号を格納及び保持する。
【０００６】
このような構成においてタイミング生成回路１８によって演算のタイミングを制御することによって様々なフィルタ特性を有するデジタルフィルタを構成することができる。デジタルフィルタは、例えば、撮像装置の手ぶれの影響を低減するための防振制御回路（手ぶれ防止回路）に組み込まれる。
【０００７】
【特許文献１】特開平１１−２２０３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、従来のデジタルフィルタは、ハードウェアであるロジック回路として組み込まれたタイミング生成回路１８によって各部の処理のタイミングが制御されている。したがって、一旦設計された後にはタイミング制御を容易に変更することができないという問題があった。
【課題を解決するための手段】
【０００９】
本発明の１つの態様は、乗算器及び加算器を含み、前記乗算器及び前記加算器を時分割動作させてフィルタ処理を実現するデジタルフィルタ回路であって、前記乗算器及び前記加算器の駆動タイミングのデータを記憶するタイミングメモリと、前記タイミングメモリに前記駆動タイミングのデータを書き込むＣＰＵと、を備えることを特徴とする。
【００１０】
ここで、前記乗算器及び前記加算器の駆動タイミングを制御する信号を生成するロジック回路であるタイミング生成回路と、前記タイミングメモリの出力と、前記タイミング生成回路の出力と、を排他的に切り替えるセレクタと、を備え、前記セレクタによって、前記タイミングメモリの出力と前記タイミング生成回路の出力とのいずれか一方によって前記乗算器及び前記加算器の駆動タイミングを制御することが好適である。
【００１１】
具体的な例としては、前記乗算器は、前記タイミングメモリに格納された駆動タイミングのデータに応じて、経時的に変化する入力信号とタップ係数とを乗じて出力し、前記加算器は、前記タイミングメモリに格納された駆動タイミングのデータに応じて、前記乗算器の出力信号と自己の出力信号とを加えて出力することによってフィルタを構成することができる。さらに、前記タップ係数を記憶するタップ係数メモリと、前記加算器の出力信号を記憶し、前記乗算器への入力信号として出力する演算用メモリと、を備えてもよい。
【００１２】
また、本発明におけるデジタルフィルタ回路は、振動に応じて撮像装置の光学部品を駆動して、振動による撮像への影響を低減させる撮像装置に適用することができる。例えば、撮像装置の振動を検出する振動検出素子と、前記振動検出素子の出力信号をデジタル信号に変換するアナログ／デジタル変換回路と、を備え、前記アナログ／デジタル変換回路でデジタル化された前記振動検出素子の出力信号を前記デジタルフィルタで処理する撮像装置において有効である。例えば、前記デジタルフィルタは、ローパスフィルタ、ハイパスフィルタ、乗算器、加算器及び減算器の少なくとも１つとして機能させる。
【００１３】
また、前記光学部品の位置を検出する位置検出素子と、前記位置検出素子の出力信号をデジタル信号に変換するアナログ／デジタル変換回路と、を備え、前記アナログ／デジタル変換回路でデジタル化された前記位置検出素子の出力信号を前記デジタルフィルタで処理することも好適である。
【発明の効果】
【００１４】
本発明によれば、デジタルフィルタのタイミング制御をより柔軟に行うことができる。
【発明を実施するための最良の形態】
【００１５】
本発明の実施の形態におけるデジタルフィルタ２００は、図１に示すように、乗算器２０、加算器２２、タップ係数メモリ２４、演算用メモリ２６、タイミング生成回路２８、セレクタ３０及びタイミングメモリ３２を含んで構成される。
【００１６】
デジタルフィルタ２００では、タイミング生成回路２８に加えて、タイミングメモリ３２を用いて各部の処理のタイミング制御が行われる。外部のＣＰＵ２０２からの選択信号に応じて、タイミング生成回路２８及びタイミングメモリ３２のいずれかがセレクタ３０によって排他的に選択される。
【００１７】
セレクタ３０によってタイミング生成回路２８が選択された場合、上記従来技術におけるデジタルフィルタ１００と同様に処理が行われる。
【００１８】
乗算器２０は、タイミング生成回路２８からのタイミング制御信号に応じて、演算用メモリ２６から出力されるデータにタップ係数メモリ２４から出力されるタップ係数を乗算して加算器２２へ出力する。演算用メモリ２６は、タイミング生成回路２８からのタイミング制御信号に応じて、乗算器２０において乗算処理が行われるタイミングで格納されているデータを出力する。また、タップ係数メモリ２４は、タイミング生成回路２８からのタイミング制御信号に含まれるアドレス値に応じて、そのアドレス値で特定されるアドレスに格納されているタップ係数を乗算器２０へ出力する。
【００１９】
加算器２２は、タイミング生成回路２８からのタイミング制御信号に応じて、乗算器２０の出力信号と自己の出力信号とを加算して出力する。加算器２２の出力信号は演算用メモリ２６にも入力される。演算用メモリ２６は、タイミング生成回路２８からのタイミング制御信号に応じて、外部から入力されるデータ又は加算器２２の出力信号を格納及び保持する。
【００２０】
一方、セレクタ３０によってタイミングメモリ３２が選択された場合、タイミング生成回路２８の代りにタイミングメモリ３２に格納された駆動タイミングデータに基づいて処理が行われる。
【００２１】
乗算器２０は、タイミングメモリ３２に格納された駆動タイミングデータに応じて、演算用メモリ２６から出力されるデータにタップ係数メモリ２４から出力されるタップ係数を乗算して加算器２２へ出力する。演算用メモリ２６は、タイミングメモリ３２に格納された駆動タイミングデータに応じて、乗算器２０において乗算処理が行われるタイミングで格納されているデータを出力する。また、タップ係数メモリ２４は、タイミングメモリ３２に格納された駆動タイミングデータに含まれるアドレス値に応じて、そのアドレス値で特定されるアドレスに格納されているタップ係数を乗算器２０へ出力する。
【００２２】
加算器２２は、タイミングメモリ３２に格納された駆動タイミングデータに応じて、乗算器２０の出力信号と自己の出力信号とを加算して出力する。加算器２２の出力信号は演算用メモリ２６にも入力される。演算用メモリ２６は、タイミングメモリ３２に格納された駆動タイミングデータに応じて、外部から入力されるデータ又は加算器２２の出力信号を格納及び保持する。
【００２３】
以下、タイミングメモリ３２によるデジタルフィルタ２００の制御について詳しく説明する。タイミングメモリ３２には、図２に示すように、メモリアドレスで特定される各メモリ空間（例えば１６ビット）にタップ係数メモリアドレス、演算用メモリアドレス、乗算器演算指令、加算器演算指令、演算用メモリ更新指令等を含む駆動タイミングデータが格納される。各メモリアドレスで特定されるメモリ空間に格納されている駆動タイミングデータが各タイミングにおけるデジタルフィルタ２００での処理を記述している。
【００２４】
例えば、「タップ係数メモリアドレス」は、タップ係数メモリ２４に格納されているタップ係数を特定するデータである。「タップ係数メモリアドレス」で特定されるメモリ空間に格納されているデータが乗算器２０にタップ係数として出力される。「演算用メモリアドレス」は、演算用メモリ２６に格納されている演算対象となるデータを特定するデータである。また、「演算用メモリ更新指令」は、演算用メモリ２６の更新を行うか否かを示すデータである。「演算用メモリ更新指令」が“０”である場合、「演算用メモリアドレス」で特定されるメモリ空間に格納されているデータが乗算器２０に演算対象のデータとして出力される。「演算用メモリ更新指令」が“１”である場合、演算用メモリ２６に入力されているデータが「演算用メモリアドレス」で特定されるメモリ空間に格納される。
【００２５】
「乗算器演算指令」は、乗算器２０で乗算処理を行った結果を保持するタイミングを示すデータである。例えば、「乗算器演算指令」が“１”である場合にはそのタイミングで乗算器２０による演算を実行し、その結果を図示しないレジスタで保持する。また、「乗算器演算指令」が“０”である場合には演算の結果を保持しないものとする。「加算器演算指令」は、加算器２２で加算処理を行った結果を保持するタイミングを示すデータである。例えば、「加算器演算指令」が“１”である場合にそのタイミングで加算器２２による演算を実行し、その結果を図示しないレジスタで保持する。「加算器演算指令」が“０”である場合には演算の結果を保持しないものとする。
【００２６】
このような駆動タイミングデータに基づいてデジタルフィルタ２００は所望なフィルタ特性を有するフィルタを実現する。例えば、図２に示す駆動タイミングデータに基づいて、図３（ａ）に示す１次フィルタを構成する場合について説明する。
【００２７】
（ステップ１）外部からデータＤ（ｔ１）が演算用メモリ１６に入力された状態で「演算用メモリ更新指令」が“１”とされ、「演算用メモリアドレス」が格納先のメモリ空間を示すアドレスＡＤＲａ１に設定される。これによりデータＤ（ｔ１）が演算用メモリアドレスＡＤＲａ１のメモリ空間に格納される。（ステップ２）「タップ係数メモリアドレス」がアドレスＡＤＲｂ１のメモリ空間に指定され、「演算用メモリアドレス」が格納先のメモリ空間を示すアドレスＡＤＲａ１に設定され、「演算用メモリ更新指令」が“０”とされ、「乗算器演算指令」が“１”とされる。これにより、タップ係数メモリアドレスＡＤＲｂ１のメモリ空間に格納されているタップ係数Ｔ１と演算用メモリ１６のアドレスＡＤＲａ１に格納されているデータＤ（ｔ１）とが乗算されて出力信号Ｍ１が保持される。（ステップ３）「加算器演算指令」が“１”に設定される。加算器１２において出力信号Ｍ１と現在の加算器１２の出力信号（初期値０）とが加算されて出力信号Ａ１が保持される。（ステップ４）「タップ係数メモリアドレス」がアドレスＡＤＲｂ２のメモリ空間に指定され、「演算用メモリアドレス」が格納先のメモリ空間を示すアドレスＡＤＲａ２に設定され、「演算用メモリ更新指令」が“０”とされ、「乗算器演算指令」が“１”とされる。これにより、タップ係数メモリアドレスＡＤＲｂ２のメモリ空間に格納されているタップ係数Ｔ２と演算用メモリ１６のアドレスＡＤＲａ２に格納されているデータＤ（ｔ２）とが乗算されて出力信号Ｍ２として保持される。演算用メモリ１６のアドレスＡＤＲａ２に格納されているデータは、ステップ１においてアドレスＡＤＲａ１に格納されたデータよりも先に演算用メモリ１６に格納されたデータである。（ステップ５）「加算器演算指令」が“１”に設定される。加算器１２において出力信号Ｍ２と現在の加算器１２の出力信号Ａ１とが加算されて出力信号Ａ２が保持される。（ステップ６）「タップ係数メモリアドレス」がアドレスＡＤＲｂ３のメモリ空間に指定され、「演算用メモリアドレス」が格納先のメモリ空間を示すアドレスＡＤＲａ３に設定され、「演算用メモリ更新指令」が“０”とされ、「乗算器演算指令」が“１”とされる。これにより、タップ係数メモリアドレスＡＤＲｂ３のメモリ空間に格納されているタップ係数Ｔ３と演算用メモリ１６のアドレスＡＤＲａ３に格納されているデータＡ２とが乗算されて出力信号Ｍ３として保持される。演算用メモリ１６のアドレスＡＤＲａ３に格納されているデータは、ステップ１においてアドレスＡＤＲａ１に格納されたデータよりも先に演算用メモリ１６に格納されたデータである。（ステップ７）「加算器演算指令」が“１”に設定される。加算器１２において出力信号Ｍ３と現在の加算器１２の出力信号Ａ２とが加算されて出力信号Ａ３が保持される。このようにして１次フィルタが実現される。
【００２８】
１次フィルタ以外のフィルタについてもタップ係数メモリ２４に格納するタップ係数及びタイミングメモリ３２に格納する駆動タイミングデータにより実現することができる。
【００２９】
なお、タップ係数メモリ２４には予め外部のＣＰＵ等から所望のフィルタ特性を得るためのタップ係数を格納することができる。また、タイミングメモリ３２には予め外部のＣＰＵから駆動タイミングデータを格納することができる。
【００３０】
以上のように、デジタルフィルタ２００では、セレクタによってタイミング生成回路２８及びタイミングメモリ３２のいずれか一方を選択してフィルタ処理を実現することができる。したがって、ハードウェアであるロジック回路として組み込まれたタイミング生成回路２８によってタイミングの制御を行うだけでなく、タイミングメモリ３２に格納された駆動タイミングデータによってフィルタ構成を変更することもできる。
【００３１】
なお、図２に示すデジタルフィルタ２００の駆動タイミングデータにおいて、本発明の実施の形態では、乗算器２０において乗算した結果を保持するタイミングと、加算器２２において加算した結果を保持するタイミングを２ステップにて処理する構成とした。しかし、デジタルフィルタ２００の駆動タイミングはこれに限られるものではない。例えば、乗算器２０において乗算した結果を加算器２２に出力し、加算器２２において加算した結果を保持することによって、乗算器２０と加算器２２の処理を１ステップにて処理する構成とすることができる。つまり、図２に示すステップ２とステップ３、ステップ４とステップ５、ステップ６とステップ７をそれぞれ１つのステップにて処理することができる。これによって、１次フィルタの処理に要するステップ数を減らすことができ、演算処理時間を短縮することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施の形態におけるデジタルフィルタの構成を示す図である。
【図２】本発明の実施の形態における駆動タイミングデータの構成を示す図である。
【図３】デジタルフィルタの例を示す図である。
【図４】従来のデジタルフィルタの構成を示す図である。
【符号の説明】
【００３３】
１０  乗算器、１２  加算器、１４  タップ係数メモリ、１６  演算用メモリ、１８  タイミング生成回路、２０  乗算器、２２  加算器、２４  タップ係数メモリ、２６  演算用メモリ、２８  タイミング生成回路、３０  セレクタ、３２  タイミングメモリ、１００，２００  デジタルフィルタ、２０２  ＣＰＵ。
【図１】
2009152815.tif 000003
【図２】
2009152815.tif 000004
【図３】
2009152815.tif 000005
【図４】
2009152815.tif 000006