(57)【特許請求の範囲】
【請求項１】
入力側が信号入力端子に接続されるＮクロック分遅延の第１の実数遅延要素と、１クロック分遅延の第２の実数遅延要素と、１クロック分遅延の複素遅延要素と、入力側が前記信号入力端子と前記第１の実数遅延要素の出力側に接続される第１の実数減算器と、入力側が前記第２の実数遅延要素の出力側と前記第１の実数減算器の出力側に接続され出力側が前記第２の実数遅延要素の入力側に接続される実数加算器と、入力側が前記実数加算器の出力側に接続される第１の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第１の実数減算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実部抽出器の出力側に接続される第２の実数乗算器と、入力側が前記第１の実数乗算器の出力側と前記第２の実数乗算器の出力側に接続され出力側が信号出力端子に接続される第２の実数減算器と、から構成されることを特徴とするデジタルフィルタ。
【請求項２】
入力側が信号入力端子に接続されるＮクロック分遅延の第１の実数遅延要素と、１クロック分遅延の第２の実数遅延要素と、１クロック分遅延の複素遅延要素と、入力側が前記信号入力端子と前記第１の実数遅延要素の出力側に接続される第１の実数減算器と、入力側が前記第１の実数滅算器の出力側に接続される第１の実数乗算器と、入力側が前記第２の実数遅延要素の出力側と前記第１の実数乗算器の出力側に接続され出力側が前記第２の実数遅延要素の入力側に接続される実数加算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第１の実数減算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実部抽出器の出力側に接続される第２の実数乗要器と、入力側が前記実数加算器の出力側と前記第２の実数乗算器の出力側に接続され出力側が信号出力端子に接続される第２の実数減算器と、から構成されることを特徴とするデジタルフィルタ。
【請求項３】
入力側が信号入力端子に接続されるＮクロック分遅延の第１の実数遅延要素と、１クロック分遅延の第２の実数遅延要素と、１クロック分遅延の複素遅延要素と、入力側が信号入力端子と第１の実数遅延要素の出力側に接続される第１の実数減算器と、入力側が前記第２の実数遅延要素の出力側と前記第１の実数減算器の出力側に接続され出力側が前記第２の実数遅延要素の入力側に接続される実数加算器と、入力側が前記実数加算器の出力側に接続される第１の実数乗算器と、入力側が前記第１の実数減算器の出力側に接続される第２の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第２の実数乗算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記第１の実数乗算器の出力側と前記実部抽出器の出力側に接続され出力側が信号出力端子に接続される第２の実数減算器と、から構成されることを特徴とするデジタルフィルタ。
【請求項４】
入力側が信号入力端子に接続されるＮクロック分遅延の第１の実数遅延要素と、１クロック分遅延の第２の実数遅延要素と、１クロック分遅延の複素遅延要素と、入力側が信号入力端子と第１の実数遅延要素の出力側に接続される第１の実数減算器と、入力側が前記第１の実数減算器の出力側に接続される第１の実数乗算器と、入力側が前記第２の実数遅延要素の出力側と前記第１の実数乗算器の出力側に接続され出力側が前記第２の実数遅延要素に接続される実数加算器と、入力側が前記第１の実数減算器の出力側に接続される第２の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第２の実数乗算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実数加算器の出力側と前記実部抽出器の出力側に接続され出力側が信号出力端子に接続される第２の実数減算器と、から構成されることを特徴とするデジタルフィルタ。
【請求項５】
現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値を得る第１のステップと、前記第１のステップで得られた第１の実数値と１クロック前の第２の実数値を加算して第２の実数値を得る第２のステップと、該第２のステップで得られた第２の実数値に第１の実係数を乗算して第３の実数値を得る第３のステップと、前記第１のステップで得られた前記第１の実数値と１クロック前の第１の複素数値に複素係数を乗算した値を複素加算して第１の複素数値を得るとともに該第１の複素数値から第４の実数値を抽出する第４のステップと、前記第４のステップで得られた第４の実数値に第２の実係数を乗算して第５の実数値を得る第５のステップと、前記第３のステップで得られた第３の実数値から前記第５のステップで得られた第５の実数値を減算して出力実数値を得る第６のステップと、を有することを特徴とする信号処理方法。
【請求項６】
現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値を得る第１のステップと、前記第１のステップで得られた第１の実数値に第１の実係数を乗算して第２の実数値を得る第２のステップと、前記第２のステップで得られた第２の実数値と１クロック前の第３の実数値を加算して第３の実数値を得る第３のステップと、前記第１のステップで得られた前記第１の実数値と１クロック前の第１の複素数値に複素係数を乗算した値を複素加算して第１の複素数値を得るとともに該第１の複素数値から第４の実数値を抽出する第４のステップと、前記第４のステップで得られた第４の実数値に第２の実係数を乗算して第５の実数値を得る第５のステップと、前記第３のステップで得られた第３の実数値から前記第５のステップで得られた第５の実数値を減算して出力実数値を得る第６のステップと、を有することを特徴とする信号処理方法。
【請求項７】
現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値を得る第１のステップと、前記第１のステップで得られた第１の実数値と１クロック前の第２の実数値を加算して第２の実数値を得る第２のステップと、該第２のステップで得られた第２の実数値に第１の実係数を乗算して第３の実数値を得る第３のステップと、前記第１のステップで得られた第１の実数値に第２の実係数を乗算して第４の実数値を得る第４のステップと、該第４のステップで得られた第４の実数値と１クロック前の第１の複素数値に複素係数を乗算した値を複素加算して第１の複素数値を得るとともに該第１の複素数値から第５の実数値を抽出する第５のステップと、前記第３のステップで得られた第３の実数値から前記第５のステップで得られた第５の実数値を減算して出力実数値を得る第６のステップと、を有することを特徴とする信号処理方法。
【請求項８】
現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値を得る第１のステップと、前記第１のステップで得られた第１の実数値に第１の実係数を乗算して第２の実数値を得る第２のステップと、前記第２のステップで得られた第２の実数値と１クロック前の第３の実数値を加算して第３の実数値を得る第３のステップと、前記第１のステップで得られた第１の実数値に第２の実係数を乗算して第４の実数値を得る第４のステップと、該第４のステップで得られた第４の実数値と１クロック前の第１の複素数値に複素係数を乗算した値を複素加算して第１の複素数値を得るとともに該第１の複素数値から第５の実数値を抽出する第５のステップと、前記第３のステップで得られた第３の実数値から前記第５のステップで得られた第５の実数値を減算して出力実数値を得る第６のステップと、を有することを特徴とする信号処理方法。
【請求項９】
請求項５に記載の第１乃至第６のステップ、請求項６に記載の第１乃至第６のステップ、請求項７に記載の第１乃至第６のステップ、又は請求項８に記載の第１乃至第６のステップをコンピュータで実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルフィルタ、デジタルフィルタ機能を実現する信号処理方法およびデジタルフィルタ機能を実現するプログラムに関する。
【背景技術】
【０００２】
図１１に従来の一般的なＦＩＲデジタルフィルタの構成を示す（例えば、特許文献１参照）。図１１において、２００は信号入力端子、２０１は信号出力端子、２０２，２０３，２０４，２０５は遅延要素、２０６，２０７，２０８，２０９は乗算器、２１０は加算器である。
【０００３】
信号入力端子２００は遅延要素２０２の入力側に接続される。以下、遅延要素２０３の入力側は遅延要素２０２の出力側に、・・・、というように最後の遅延要素２０５まで、Ｎ−１個の遅延要素がカスケード接続される。乗算器２０６の入力側は信号入力端子２００に、乗算器２０７の入力側は１個目の遅延要素２０２の出力側に、・・・、というように最後の乗算器２０９まで、Ｎ個の乗算器は、その入力側が対応する遅延要素の出力側に接続される。Ｎ個の全ての乗算器の出力側は加算器２１０の入力側に接続される。信号出力端子２０１は加算器２１０の出力側に接続される。
【０００４】
ここで、一般化ハミング窓の形状のインパルス応答特性を持つデジタルフィルタを作製する場合を考える。乗算器の係数ｇ（ｋ）が特定された式（１）は、一般化ハミング窓のインパルス応答特性を持つデジタルフィルタの伝達関数Ｇ（ｚ）である。ここでｃを定数（＝0.54）とする。
【数１】
0005752431.tif 000002
【０００５】
図１１の形式によってデジタルフィルタを作製する場合、乗算器の係数ｇ（ｋ）は伝達関数Ｇ（ｚ）と直接対応する。よって、一般化ハミング窓のインパルス応答特性を持つフィルタを作製するには、各乗算器の係数をｇ（ｋ）（ｋ＝０，１，・・・，Ｎ−１）とすればよい。フィルタに関して、Ｎをタップ数、Ｎ−１を次数という。従来例のデジタルフィルタの場合、Ｎ入力の加算器が１個、乗算器がＮ個、遅延要素がＮ−１個必要となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１４８２６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記のような構成では、フィルタの次数を大きくした場合に乗算器の数が多くなる。半導体上で面積を要する乗算器の増加は製造コストを増加させる。
【０００８】
本発明は上記問題点を解消し、次数を大きくした場合であっても乗算器の個数の増加を防止しコストの増加を防ぐことを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１にかかる発明のデジタルフィルタは、入力側が信号入力端子に接続されるＮクロック分遅延の第１の実数遅延要素と、１クロック分遅延の第２の実数遅延要素と、１クロック分遅延の複素遅延要素と、入力側が前記信号入力端子と前記第１の実数遅延要素の出力側に接続される第１の実数減算器と、入力側が前記第２の実数遅延要素の出力側と前記第１の実数減算器の出力側に接続され出力側が前記第２の実数遅延要素の入力側に接続される実数加算器と、入力側が前記実数加算器の出力側に接続される第１の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第１の実数減算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実部抽出器の出力側に接続される第２の実数乗算器と、入力側が前記第１の実数乗算器の出力側と前記第２の実数乗算器の出力側に接続され出力側が信号出力端子に接続される第２の実数減算器と、から構成されることを特徴とする。
請求項２にかかる発明のデジタルフィルタは、入力側が信号入力端子に接続されるＮクロック分遅延の第１の実数遅延要素と、１クロック分遅延の第２の実数遅延要素と、１クロック分遅延の複素遅延要素と、入力側が前記信号入力端子と前記第１の実数遅延要素の出力側に接続される第１の実数減算器と、入力側が前記第１の実数滅算器の出力側に接続される第１の実数乗算器と、入力側が前記第２の実数遅延要素の出力側と前記第１の実数乗算器の出力側に接続され出力側が前記第２の実数遅延要素の入力側に接続される実数加算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第１の実数減算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実部抽出器の出力側に接続される第２の実数乗要器と、入力側が前記実数加算器の出力側と前記第２の実数乗算器の出力側に接続され出力側が信号出力端子に接続される第２の実数減算器と、から構成されることを特徴とする。
請求項３にかかる発明のデジタルフィルタは、入力側が信号入力端子に接続されるＮクロック分遅延の第１の実数遅延要素と、１クロック分遅延の第２の実数遅延要素と、１クロック分遅延の複素遅延要素と、入力側が信号入力端子と第１の実数遅延要素の出力側に接続される第１の実数減算器と、入力側が前記第２の実数遅延要素の出力側と前記第１の実数減算器の出力側に接続され出力側が前記第２の実数遅延要素の入力側に接続される実数加算器と、入力側が前記実数加算器の出力側に接続される第１の実数乗算器と、入力側が前記第１の実数減算器の出力側に接続される第２の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第２の実数乗算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記第１の実数乗算器の出力側と前記実部抽出器の出力側に接続され出力側が信号出力端子に接続される第２の実数減算器と、から構成されることを特徴とする。
請求項４にかかる発明のデジタルフィルタは、入力側が信号入力端子に接続されるＮクロック分遅延の第１の実数遅延要素と、１クロック分遅延の第２の実数遅延要素と、１クロック分遅延の複素遅延要素と、入力側が信号入力端子と第１の実数遅延要素の出力側に接続される第１の実数減算器と、入力側が前記第１の実数減算器の出力側に接続される第１の実数乗算器と、入力側が前記第２の実数遅延要素の出力側と前記第１の実数乗算器の出力側に接続され出力側が前記第２の実数遅延要素に接続される実数加算器と、入力側が前記第１の実数減算器の出力側に接続される第２の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第２の実数乗算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実数加算器の出力側と前記実部抽出器の出力側に接続され出力側が信号出力端子に接続される第２の実数減算器と、から構成されることを特徴とする。
請求項５にかかる発明の信号処理方法は、現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値を得る第１のステップと、前記第１のステップで得られた第１の実数値と１クロック前の第２の実数値を加算して第２の実数値を得る第２のステップと、該第２のステップで得られた第２の実数値に第１の実係数を乗算して第３の実数値を得る第３のステップと、前記第１のステップで得られた前記第１の実数値と１クロック前の第１の複素数値に複素係数を乗算した値を複素加算して第１の複素数値を得るとともに該第１の複素数値から第４の実数値を抽出する第４のステップと、前記第４のステップで得られた第４の実数値に第２の実係数を乗算して第５の実数値を得る第５のステップと、前記第３のステップで得られた第３の実数値から前記第５のステップで得られた第５の実数値を減算して出力実数値を得る第６のステップと、を有することを特徴とする。
請求項６にかかる発明の信号処理方法は、現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値を得る第１のステップと、前記第１のステップで得られた第１の実数値に第１の実係数を乗算して第２の実数値を得る第２のステップと、前記第２のステップで得られた第２の実数値と１クロック前の第３の実数値を加算して第３の実数値を得る第３のステップと、前記第１のステップで得られた前記第１の実数値と１クロック前の第１の複素数値に複素係数を乗算した値を複素加算して第１の複素数値を得るとともに該第１の複素数値から第４の実数値を抽出する第４のステップと、前記第４のステップで得られた第４の実数値に第２の実係数を乗算して第５の実数値を得る第５のステップと、前記第３のステップで得られた第３の実数値から前記第５のステップで得られた第５の実数値を減算して出力実数値を得る第６のステップと、を有することを特徴とする。
請求項７にかかる発明の信号処理方法は、現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値を得る第１のステップと、前記第１のステップで得られた第１の実数値と１クロック前の第２の実数値を加算して第２の実数値を得る第２のステップと、該第２のステップで得られた第２の実数値に第１の実係数を乗算して第３の実数値を得る第３のステップと、前記第１のステップで得られた第１の実数値に第２の実係数を乗算して第４の実数値を得る第４のステップと、該第４のステップで得られた第４の実数値と１クロック前の第１の複素数値に複素係数を乗算した値を複素加算して第１の複素数値を得るとともに該第１の複素数値から第５の実数値を抽出する第５のステップと、前記第３のステップで得られた第３の実数値から前記第５のステップで得られた第５の実数値を減算して出力実数値を得る第６のステップと、を有することを特徴とする。
請求項８にかかる発明の信号処理方法は、現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値を得る第１のステップと、前記第１のステップで得られた第１の実数値に第１の実係数を乗算して第２の実数値を得る第２のステップと、前記第２のステップで得られた第２の実数値と１クロック前の第３の実数値を加算して第３の実数値を得る第３のステップと、前記第１のステップで得られた第１の実数値に第２の実係数を乗算して第４の実数値を得る第４のステップと、該第４のステップで得られた第４の実数値と１クロック前の第１の複素数値に複素係数を乗算した値を複素加算して第１の複素数値を得るとともに該第１の複素数値から第５の実数値を抽出する第５のステップと、前記第３のステップで得られた第３の実数値から前記第５のステップで得られた第５の実数値を減算して出力実数値を得る第６のステップと、を有することを特徴とする。
請求項９にかかる発明のプログラムは、請求項５に記載の第１乃至第６のステップ、請求項６に記載の第１乃至第６のステップ、請求項７に記載の第１乃至第６のステップ、又は請求項８に記載の第１乃至第６のステップをコンピュータで実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、一般化ハミング窓の形状を持つデジタルフィルタを少ない数の乗算器で低コストに実現できる。特に次数が大きい場合に有利となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施例のデジタルフィルタの構成図である。
【図２】図１の複素加算器の構成図である。
【図３】図１の複素乗算器の構成図である。
【図４】図１の複素遅延要素の構成要素である。
【図５】図１の実部抽出器の構成要素である。
【図６】本発明の第２の実施例のデジタルフィルタの構成図である。
【図７】本発明の第３の実施例のデジタルフィルタの構成図である。
【図８】本発明の第４の実施例のデジタルフィルタの構成図である。
【図９】コンピュータを利用するソフトウエアで図１と同様な処理を実行する場合の初期化の処理のリストである。
【図１０】コンピュータを利用するソフトウエアで図１と同様な処理を行う場合の演算器相当の処理と遅延要素相当の処理のリストである。
【図１１】従来のＦＩＲデジタルフィルタの構成図である。
【発明を実施するための形態】
【００１２】
＜第１の実施例＞
図１に本発明の第１の実施例のデジタルフィルタを示す。１００は信号入力端子、１０１は信号出力端子、１０２はＮクロック分（Ｎ段分）遅延の実数遅延要素、１０３は１クロック分遅延の実数遅延要素、１０４は１クロック分遅延の複素遅延要素、１０５，１１２は実数減算器、１０６は実数加算器、１０７，１１１は実数乗算翠、１０８は複素乗算器、１０９は複素加算器、１１０は複素数から実部を抽出する実部抽出器である。
【００１３】
Ｎクロック分遅延の実数遅延要素１０２の入力側は信号入力端子１００に接続される。実数減算器１０５の入力側は信号入力端子１００と実数遅延要素１０２の出力側に接続される。実数加算器１０６の入力側は実数遅延要素１０３の出力側と実数減算器１０５の出力側に接続される。実数遅延要素１０３の入力側は実数加算器１０６の出力側に接続される。実数乗算器１０７の入力側は実数加算器１０６の出力側に接続される。複素乗算器１０８の入力側は複素遅延要素１０４の出力側に接続される。複素加算器１０９の入力側は複素乗算器１０８の出力側と実数減算器１０５の出力側に疲続される。複素数から実部を抽出する実部抽出器１１０の入力側は複素加算器１０９の出力側に接続される。複素遅延要素１０４の入力側は複素加算器１０９の出力側に接続される。実数乗算器１１１の入力側は実部抽出器１１０の出力側に接続される。実数減算器１１２の入力側は実数乗算器１０７の出力側と実数乗算器１１１の出力側に接続される。信号出力端子１０１は実数減算器１１２の出力側に接続される。
【００１４】
複素加算器１０９は、図２に示すように構成される。ＩＮ１ｒ，ＩＮ２ｒは実数値入力端子、ＩＮ１ｊ、ＩＮ２ｊは虚数値入力端子、ＯＵＴｒは実数値出力端子、ＯＵＴｊは虚数値出力端子、１０９１，１０９２は実数加算器である。入力端子ＩＮ１ｒ，ＩＮ１ｊは実数減算器１０５の出力側に、入力端子ＩＮ２ｒ，ＩＮ２ｊは複素乗算器１０８の出力側に、出力端子ＯＵＴｒ、ＯＵＴｊは複素遅延要素１０４の入力側に、それぞれ接続される。この複素加算器１０９は、実数をａ1，ａ2、虚数をｊｂ1，ｊｂ2とすると、
（ａ1＋ｊｂ1）＋（ａ2＋ｊｂ2）＝（ａ1＋ａ2）＋ｊ（ｂ1＋ｂ2）
の処理を実現するものである。
【００１５】
複素乗算器１０８は、図３に示すように構成される。１０８１〜１０８４は実数乗算器、１０８５は実数減算器、１０８６は実数加算器である。入力端子ＩＮ１ｒ，ＩＮ１ｊは複素遅延要素１０４の出力側に、入力端子ＩＮ２ｒ，ＩＮ２ｊは固定の複素係数cosω、sinωの発生器（図示せず）の出力側に、出力端子ＯＵＴｒ、ＯＵＴｊは複素加算器１０９の入力端子ＩＮ２ｒ，ＩＮ２ｊに、それぞれ接続される。この複素加算器１０９は、
（ａ1＋ｊｂ1）×（ａ2＋ｊｂ2）＝（ａ1×ａ2−ｂ1×ｂ2）＋ｊ（ａ1×ｂ2＋ａ2×ｂ1）
の処理を実現するものである。
【００１６】
複素遅延要素１０４は、図４に示すように構成される。１０４１，１０４２は実数遅延要素である。また、実部抽出器１１０は、図５に示すように、実数値入力端子ＩＮｒの信号のみを実数値出力端子ＯＵＴｒに出力し、虚数値入力端子ＩＮｊは内部でオープンとする。
【００１７】
本実施例では、Ｎを任意の正の整数、虚数単位をｊとする。ω＝２π／Ｎとする。実数乗算器１０７の実係数をｃ、実数乗算器１１１の実係数を「１−ｃ」、複素乗算器１０９の複素係数をｅjωとする。信号入力端子１００から実数加算器１０５の出力側までの伝達関数Ａ1（ｚ）は、
【数２】
0005752431.tif 000003
となる。また、実数加算器１０５の出力側から実数加算器１０６の出力側までの伝達関数Ａ2（ｚ）は、
【数３】
0005752431.tif 000004
となる。よって、信号入力端子１００から実数乗算器１０７の出力側までの伝達関数Ａ3（ｚ）は、
【数４】
0005752431.tif 000005
となる。
【００１８】
一方、実数加算器１０５の出力側から複素加算器１０９の出力側までの伝達関数Ａ4（ｚ）は、
【数５】
0005752431.tif 000006
となるので、実数加算器１０５の出力側から実部抽出部１１０の出力側までの伝達関数Ａ5（ｚ）は、
【数６】
0005752431.tif 000007
となる。よって、信号入力端子１００から実数乗算器１１１の出力側までの伝達関数Ａ6（ｚ）は、
【数７】
0005752431.tif 000008
となる。
【００１９】
したがって、信号入力端子１００から信号出力端子１０１までの伝導関数Ａ（ｚ）は、式（８）となる。
【数８】
0005752431.tif 000009
【００２０】
ω＝２π/Ｎであるので、式（８）は式（１）と等しい。すなわち、図１の回路構成は、一般化ハミング窓の形状のインパルス応答特性をもつデジタルフィルタとなる。従来の図１１の回路構成はＮを大きくすると乗算器の個数が比例して多くなる問題があったが、本実施例によれば、実数遅延要素１０２の遅延段数はＮの値に応じて増えるものの、実数乗算器１０７，１１１、複素乗算器１０８の個数は、Ｎの値によらず一定である。このためＮを大きくしても、図１１の構成と比較して面積の増加が少ない利点がある。      
【００２１】
＜第２の実施例＞
図６に本発明の第２の実施例のデジタルフィルタを示す。この図６のデジタルフィルタは、図１に示したデジタルフィルタの実数加算器１０６と遅延要素１０３の組を、乗算器１０７と入れ替えたものである。よって、図１のデジタルフィルタと同等の特性をもつ。
【００２２】
＜第３の実施例＞
図７に本発明の第３の実施例のデジタルフィルタを示す。この図７のデジタルフィルタは、図１に示したデジタルフィルタの複素遅延要素１０４と複素乗算器１０８と複素加算器１０９と実部抽出器１１０の組を、乗算器１１１とを入れ替えたものである。よって、図１のデジタルフィルタと同等の特性をもつ。
【００２３】
＜第４の実施例＞
図８に本発明の第４の実施例のデジタルフィルタを示す。この図８のデジタルフィルタは、図１に示したデジタルフィルタの実数加算器１０６と遅延要素１０３の組を、乗算器１０７と入れ替えるとともに、図１に示したデジタルフィルタの複素遅延要素１０４と複素乗算器１０８と複素加算器１０９と実部抽出器１１０の組を、乗算器１１１と入れ替えたものである。よって、図１のデジタルフィルタと同等の特性をもつ。
【００２４】
＜第５の実施例＞
以上ではデジタルフィルタをハードウエアで構成する場合について説明したが、プログラムを作成して、ＤＳＰ等のコンピュータを制御することでも、同様のデジタルフィルタ機能を実現できる。図９、図１０は図１の構成に対応する第５の実施例のプログラムリストの一部である。
【００２５】
図９は初期化のプログラムリストである。行００１〜００４では、実数遅延要素１０２に相当するＮ段の各遅延要素に相当する内容、実数遅延要素１０３に相当する内容、複素遅延要素１０４の実数値に相当する内容、複素遅延要素１０４の虚数値に相当する内容を、それぞれ０リセットする。行００５では複素乗算器１０８に相当する処理の実数値係数としてｃｏｓωをセットする。行００６では複素乗算器１０８に相当する処理の虚数値係数としてｓｉｎωをセットする。
【００２６】
図１０は演算器の処理と遅延要素の処理に相当する処理の１クロック当たりのリストである。行０１１では入力実数値からＮクロック前の入力実数値を減算することで、実数減算器１０５で得られる値に相当する実数値ｄｉｆｆを得る。行０１２では実数値ｄｉｆｆと１クロック前の実数値ｄｉｆｆを加算することで、実数加算器１０６で得られる値に相当する実数値ａｄｄ１を得る。行０１３，０１４では複素加算器１０９で得られる複素数値に相当する実数値ａｄｄ２＿ｒ、虚数値ａｄｄ２＿ｊを得る。行０１５では実数減算器１１２で得られる実数値に相当する実数値ｙを得る。行０２１では実数値をシフトすることで実数遅延要素１０２の各段の遅延と同様なことを実現する。行０２２では実数遅延要素１０３と同様に実数値ａｄｄ１を１クロック遅らせる。行０２３，０２４で複素遅延要素１０４と同様に実数値ａｄｄ２＿ｒ、虚数値ａｄｄ２＿ｊを１クロック遅らせる。
【００２７】
図１のデジタルフィルタの機能は、現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値ｄｉｆｆを得る第１のステップと、前記第１のステップで得られた第１の実数値ｄｉｆｆと１クロック前の第２の実数値ａｄｄ１を加算して第２の実数値ａｄｄ１を得る第２のステップと、該第２のステップで得られた第２の実数値ａｄｄ１に第１の実係数ｃを乗算して第３の実数値ｃ＊ａｄｄ１を得る第３のステップと、前記第１のステップで得られた前記第１の実数値ｄｉｆｆと１クロック前の第１の複素数値ａｄｄ２に複素係数を乗算した値を複素加算して第１の複素数値ａｄｄ２を得るとともに該第１の複素数値ａｄｄ２から第４の実数値ａｄｄ２＿ｒを抽出する第４のステップと、前記第４のステップで得られた第４の実数値ａｄｄ２＿ｒに第２の実係数「１−ｃ」を乗算して第５の実数値（１−ｃ）＊ａｄｄ２＿ｒを得る第５のステップと、前記第３のステップで得られた第３の実数値ｃ＊ａｄｄ１から前記第５のステップで得られた第５の実数値（１−ｃ）＊ａｄｄ２＿ｒを減算して出力実数値ｙを得る第６のステップと、を処理するプログラムあるいは信号処理方法により、実現できる。図１に、対応するノードに得られる信号を示した。
【００２８】
＜第６の実施例＞
また、図６のデジタルフィルタの機能は同様に、現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値ｄｉｆｆを得る第１のステップと、前記第１のステップで得られた第１の実数値ｄｉｆｆに第１の実係数ｃを乗算して第２の実数値ｃ＊ｄｉｆｆを得る第２のステップと、前記第２のステップで得られた第２の実数値ｃ＊ｄｉｆｆと１クロック前の第３の実数値ａｄｄ３を加算して第３の実数値ａｄｄ３を得る第３のステップと、前記第１のステップで得られた前記第１の実数値ｄｉｆｆと１クロック前の第１の複素数値ａｄｄ２に複素係数を乗算した値を複素加算して第１の複素数値ａｄｄ２を得るとともに該第１の複素数値ａｄｄ２から第４の実数値ａｄｄ２＿ｒを抽出する第４のステップと、前記第４のステップで得られた第４の実数値ａｄｄ２＿ｒに第２の実係数「１−ｃ」を乗算して第５の実数値（１−ｃ）＊ａｄｄ２＿ｒを得る第５のステップと、前記第３のステップで得られた第３の実数値ａｄｄ３から前記第５のステップで得られた第５の実数値（１−ｃ）＊ａｄｄ２＿ｒを減算して出力実数値ｙを得る第６のステップと、を処理するプログラムあるいは信号処理方法により、実現できる。図６に、対応するノードに得られる信号を示した。
【００２９】
＜第７の実施例＞
また、図７のデジタルフィルタの機能は同様に、現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値ｄｉｆｆを得る第１のステップと、前記第１のステップで得られた第１の実数値ｄｉｆｆと１クロック前の第２の実数値ａｄｄ１を加算して第２の実数値ａｄｄ１を得る第２のステップと、該第２のステップで得られた第２の実数値ａｄｄ１に第１の実係数ｃを乗算して第３の実数値ｃ＊ａｄｄ１を得る第３のステップと、前記第１のステップで得られた第１の実数値ｄｉｆｆに第２の実係数「１−ｃ」を乗算して第４の実数値（１−ｃ）＊ｄｉｆｆを得る第４のステップと、該第４のステップで得られた第４の実数値（１−ｃ）＊ｄｉｆと１クロック前の第１の複素数値ａｄｄ４に複素係数を乗算した値を複素加算して第１の複素数値ａｄｄ４を得るとともに該第１の複素数値ａｄｄ４から第５の実数値ａｄｄ４＿ｒを抽出する第５のステップと、前記第３のステップで得られた第３の実数値ｃ＊ａｄｄ１から前記第５のステップで得られた第６の実数値ａｄｄ４＿ｒを減算して出力実数値ｙを得る第６のステップと、を処理するプログラムあるいは信号処理方法により、実現できる。図７に、対応するノードに得られる信号を示した。
【００３０】
＜第８の実施例＞
また、図８のデジタルフィルタの機能は同様に、現在の入力実数値からＮクロック前の入力実数値を減算して第１の実数値ｄｉｆｆを得る第１のステップと、前記第１のステップで得られた第１の実数値ｄｉｆｆに第１の実係数ｃを乗算して第２の実数値ｃ＊ｄｉｆｆを得る第２のステップと、前記第２のステップで得られた第２の実数値ｃ＊ｄｉｆｆと１クロック前の第３の実数値ａｄｄ３を加算して第３の実数値ａｄｄ３を得る第３のステップと、前記第１のステップで得られた第１の実数値ｄｉｆｆに第２の実係数「１−ｃ」を乗算して第４の実数値（１−ｃ）＊ｄｉｆｆを得る第４のステップと、該第４のステップで得られた第４の実数値（１−ｃ）＊ｄｉｆと１クロック前の第１の複素数値ａｄｄ４に複素係数を乗算した値を複素加算して第１の複素数値ａｄｄ４を得るとともに該第１の複素数値ａｄｄ４から第５の実数値ａｄｄ４＿ｒを抽出する第５のステップと、前記第３のステップで得られた第３の実数値ａｄｄ３から前記第５のステップで得られた第６の実数値ａｄｄ４＿ｒを減算して出力実数値ｙを得る第６のステップと、を処理するプログラムあるいは信号処理方法により、実現できる。図８に、対応するノードに得られる信号を示した。
【符号の説明】
【００３１】
１００：信号入力端子、１０１：信号出力端子、１０２：Ｎクロック遅延の実数遅延要素、１０３：１クロック遅延の実数遅延要素、１０４：１クロック遅延の複素遅延要素、１０５：実数減算器、１０６：実数加算器、１０７：実数乗算器、１０８：複素乗算器、１０９：複素加算器、１１０：実部抽出器
２００：信号入力端子、２０１：信号出力端子、２０２，２０３，２０４，２０５：１クロック遅延の遅延要素、２０６，２０７，２０８，２０９：乗算器、２１０：加算器
【図１】
0005752431.tif 000010
【図２】
0005752431.tif 000011
【図３】
0005752431.tif 000012
【図４】
0005752431.tif 000013
【図５】
0005752431.tif 000014
【図６】
0005752431.tif 000015
【図７】
0005752431.tif 000016
【図８】
0005752431.tif 000017
【図９】
0005752431.tif 000018
【図１０】
0005752431.tif 000019
【図１１】
0005752431.tif 000020