(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5752431
(24)【登録日】2015年5月29日
(45)【発行日】2015年7月22日
(54)【発明の名称】デジタルフィルタ、信号処理方法およびプログラム
(51)【国際特許分類】
H03H 17/02 20060101AFI20150702BHJP
H03H 17/04 20060101ALI20150702BHJP
【FI】
H03H17/02 655Z
H03H17/04 681G
H03H17/04 655Z
H03H17/02 681G
【請求項の数】9
【全頁数】14
(21)【出願番号】特願2011-24855(P2011-24855)
(22)【出願日】2011年2月8日
(65)【公開番号】特開2012-165239(P2012-165239A)
(43)【公開日】2012年8月30日
【審査請求日】2014年1月6日
(73)【特許権者】
【識別番号】000191238
【氏名又は名称】新日本無線株式会社
(74)【代理人】
【識別番号】100083194
【弁理士】
【氏名又は名称】長尾 常明
(72)【発明者】
【氏名】田中 宏昌
【審査官】
鬼塚 由佳
(56)【参考文献】
【文献】
特開2001−251368(JP,A)
【文献】
特開2003−332888(JP,A)
【文献】
米国特許第5548543(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
H03H 17/02
H03H 17/04
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
入力側が信号入力端子に接続されるNクロック分遅延の第1の実数遅延要素と、1クロック分遅延の第2の実数遅延要素と、1クロック分遅延の複素遅延要素と、入力側が前記信号入力端子と前記第1の実数遅延要素の出力側に接続される第1の実数減算器と、入力側が前記第2の実数遅延要素の出力側と前記第1の実数減算器の出力側に接続され出力側が前記第2の実数遅延要素の入力側に接続される実数加算器と、入力側が前記実数加算器の出力側に接続される第1の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第1の実数減算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実部抽出器の出力側に接続される第2の実数乗算器と、入力側が前記第1の実数乗算器の出力側と前記第2の実数乗算器の出力側に接続され出力側が信号出力端子に接続される第2の実数減算器と、から構成されることを特徴とするデジタルフィルタ。
【請求項2】
入力側が信号入力端子に接続されるNクロック分遅延の第1の実数遅延要素と、1クロック分遅延の第2の実数遅延要素と、1クロック分遅延の複素遅延要素と、入力側が前記信号入力端子と前記第1の実数遅延要素の出力側に接続される第1の実数減算器と、入力側が前記第1の実数滅算器の出力側に接続される第1の実数乗算器と、入力側が前記第2の実数遅延要素の出力側と前記第1の実数乗算器の出力側に接続され出力側が前記第2の実数遅延要素の入力側に接続される実数加算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第1の実数減算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実部抽出器の出力側に接続される第2の実数乗要器と、入力側が前記実数加算器の出力側と前記第2の実数乗算器の出力側に接続され出力側が信号出力端子に接続される第2の実数減算器と、から構成されることを特徴とするデジタルフィルタ。
【請求項3】
入力側が信号入力端子に接続されるNクロック分遅延の第1の実数遅延要素と、1クロック分遅延の第2の実数遅延要素と、1クロック分遅延の複素遅延要素と、入力側が信号入力端子と第1の実数遅延要素の出力側に接続される第1の実数減算器と、入力側が前記第2の実数遅延要素の出力側と前記第1の実数減算器の出力側に接続され出力側が前記第2の実数遅延要素の入力側に接続される実数加算器と、入力側が前記実数加算器の出力側に接続される第1の実数乗算器と、入力側が前記第1の実数減算器の出力側に接続される第2の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第2の実数乗算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記第1の実数乗算器の出力側と前記実部抽出器の出力側に接続され出力側が信号出力端子に接続される第2の実数減算器と、から構成されることを特徴とするデジタルフィルタ。
【請求項4】
入力側が信号入力端子に接続されるNクロック分遅延の第1の実数遅延要素と、1クロック分遅延の第2の実数遅延要素と、1クロック分遅延の複素遅延要素と、入力側が信号入力端子と第1の実数遅延要素の出力側に接続される第1の実数減算器と、入力側が前記第1の実数減算器の出力側に接続される第1の実数乗算器と、入力側が前記第2の実数遅延要素の出力側と前記第1の実数乗算器の出力側に接続され出力側が前記第2の実数遅延要素に接続される実数加算器と、入力側が前記第1の実数減算器の出力側に接続される第2の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第2の実数乗算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実数加算器の出力側と前記実部抽出器の出力側に接続され出力側が信号出力端子に接続される第2の実数減算器と、から構成されることを特徴とするデジタルフィルタ。
【請求項5】
現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値を得る第1のステップと、前記第1のステップで得られた第1の実数値と1クロック前の第2の実数値を加算して第2の実数値を得る第2のステップと、該第2のステップで得られた第2の実数値に第1の実係数を乗算して第3の実数値を得る第3のステップと、前記第1のステップで得られた前記第1の実数値と1クロック前の第1の複素数値に複素係数を乗算した値を複素加算して第1の複素数値を得るとともに該第1の複素数値から第4の実数値を抽出する第4のステップと、前記第4のステップで得られた第4の実数値に第2の実係数を乗算して第5の実数値を得る第5のステップと、前記第3のステップで得られた第3の実数値から前記第5のステップで得られた第5の実数値を減算して出力実数値を得る第6のステップと、を有することを特徴とする信号処理方法。
【請求項6】
現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値を得る第1のステップと、前記第1のステップで得られた第1の実数値に第1の実係数を乗算して第2の実数値を得る第2のステップと、前記第2のステップで得られた第2の実数値と1クロック前の第3の実数値を加算して第3の実数値を得る第3のステップと、前記第1のステップで得られた前記第1の実数値と1クロック前の第1の複素数値に複素係数を乗算した値を複素加算して第1の複素数値を得るとともに該第1の複素数値から第4の実数値を抽出する第4のステップと、前記第4のステップで得られた第4の実数値に第2の実係数を乗算して第5の実数値を得る第5のステップと、前記第3のステップで得られた第3の実数値から前記第5のステップで得られた第5の実数値を減算して出力実数値を得る第6のステップと、を有することを特徴とする信号処理方法。
【請求項7】
現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値を得る第1のステップと、前記第1のステップで得られた第1の実数値と1クロック前の第2の実数値を加算して第2の実数値を得る第2のステップと、該第2のステップで得られた第2の実数値に第1の実係数を乗算して第3の実数値を得る第3のステップと、前記第1のステップで得られた第1の実数値に第2の実係数を乗算して第4の実数値を得る第4のステップと、該第4のステップで得られた第4の実数値と1クロック前の第1の複素数値に複素係数を乗算した値を複素加算して第1の複素数値を得るとともに該第1の複素数値から第5の実数値を抽出する第5のステップと、前記第3のステップで得られた第3の実数値から前記第5のステップで得られた第5の実数値を減算して出力実数値を得る第6のステップと、を有することを特徴とする信号処理方法。
【請求項8】
現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値を得る第1のステップと、前記第1のステップで得られた第1の実数値に第1の実係数を乗算して第2の実数値を得る第2のステップと、前記第2のステップで得られた第2の実数値と1クロック前の第3の実数値を加算して第3の実数値を得る第3のステップと、前記第1のステップで得られた第1の実数値に第2の実係数を乗算して第4の実数値を得る第4のステップと、該第4のステップで得られた第4の実数値と1クロック前の第1の複素数値に複素係数を乗算した値を複素加算して第1の複素数値を得るとともに該第1の複素数値から第5の実数値を抽出する第5のステップと、前記第3のステップで得られた第3の実数値から前記第5のステップで得られた第5の実数値を減算して出力実数値を得る第6のステップと、を有することを特徴とする信号処理方法。
【請求項9】
請求項5に記載の第1乃至第6のステップ、請求項6に記載の第1乃至第6のステップ、請求項7に記載の第1乃至第6のステップ、又は請求項8に記載の第1乃至第6のステップをコンピュータで実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルフィルタ、デジタルフィルタ機能を実現する信号処理方法およびデジタルフィルタ機能を実現するプログラムに関する。
【背景技術】
【0002】
図11に従来の一般的なFIRデジタルフィルタの構成を示す(例えば、特許文献1参照)。
図11において、200は信号入力端子、201は信号出力端子、202,203,204,205は遅延要素、206,207,208,209は乗算器、210は加算器である。
【0003】
信号入力端子200は遅延要素202の入力側に接続される。以下、遅延要素203の入力側は遅延要素202の出力側に、・・・、というように最後の遅延要素205まで、N−1個の遅延要素がカスケード接続される。乗算器206の入力側は信号入力端子200に、乗算器207の入力側は1個目の遅延要素202の出力側に、・・・、というように最後の乗算器209まで、N個の乗算器は、その入力側が対応する遅延要素の出力側に接続される。N個の全ての乗算器の出力側は加算器210の入力側に接続される。信号出力端子201は加算器210の出力側に接続される。
【0004】
ここで、一般化ハミング窓の形状のインパルス応答特性を持つデジタルフィルタを作製する場合を考える。乗算器の係数g(k)が特定された式(1)は、一般化ハミング窓のインパルス応答特性を持つデジタルフィルタの伝達関数G(z)である。ここでcを定数(=0.54)とする。
【数1】
【0005】
図11の形式によってデジタルフィルタを作製する場合、乗算器の係数g(k)は伝達関数G(z)と直接対応する。よって、一般化ハミング窓のインパルス応答特性を持つフィルタを作製するには、各乗算器の係数をg(k)(k=0,1,・・・,N−1)とすればよい。フィルタに関して、Nをタップ数、N−1を次数という。従来例のデジタルフィルタの場合、N入力の加算器が1個、乗算器がN個、遅延要素がN−1個必要となる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−148260号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記のような構成では、フィルタの次数を大きくした場合に乗算器の数が多くなる。半導体上で面積を要する乗算器の増加は製造コストを増加させる。
【0008】
本発明は上記問題点を解消し、次数を大きくした場合であっても乗算器の個数の増加を防止しコストの増加を防ぐことを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、請求項1にかかる発明のデジタルフィルタは、入力側が信号入力端子に接続されるNクロック分遅延の第1の実数遅延要素と、1クロック分遅延の第2の実数遅延要素と、1クロック分遅延の複素遅延要素と、入力側が前記信号入力端子と前記第1の実数遅延要素の出力側に接続される第1の実数減算器と、入力側が前記第2の実数遅延要素の出力側と前記第1の実数減算器の出力側に接続され出力側が前記第2の実数遅延要素の入力側に接続される実数加算器と、入力側が前記実数加算器の出力側に接続される第1の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第1の実数減算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実部抽出器の出力側に接続される第2の実数乗算器と、入力側が前記第1の実数乗算器の出力側と前記第2の実数乗算器の出力側に接続され出力側が信号出力端子に接続される第2の実数減算器と、から構成されることを特徴とする。
請求項2にかかる発明のデジタルフィルタは、入力側が信号入力端子に接続されるNクロック分遅延の第1の実数遅延要素と、1クロック分遅延の第2の実数遅延要素と、1クロック分遅延の複素遅延要素と、入力側が前記信号入力端子と前記第1の実数遅延要素の出力側に接続される第1の実数減算器と、入力側が前記第1の実数滅算器の出力側に接続される第1の実数乗算器と、入力側が前記第2の実数遅延要素の出力側と前記第1の実数乗算器の出力側に接続され出力側が前記第2の実数遅延要素の入力側に接続される実数加算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第1の実数減算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実部抽出器の出力側に接続される第2の実数乗要器と、入力側が前記実数加算器の出力側と前記第2の実数乗算器の出力側に接続され出力側が信号出力端子に接続される第2の実数減算器と、から構成されることを特徴とする。
請求項3にかかる発明のデジタルフィルタは、入力側が信号入力端子に接続されるNクロック分遅延の第1の実数遅延要素と、1クロック分遅延の第2の実数遅延要素と、1クロック分遅延の複素遅延要素と、入力側が信号入力端子と第1の実数遅延要素の出力側に接続される第1の実数減算器と、入力側が前記第2の実数遅延要素の出力側と前記第1の実数減算器の出力側に接続され出力側が前記第2の実数遅延要素の入力側に接続される実数加算器と、入力側が前記実数加算器の出力側に接続される第1の実数乗算器と、入力側が前記第1の実数減算器の出力側に接続される第2の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第2の実数乗算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記第1の実数乗算器の出力側と前記実部抽出器の出力側に接続され出力側が信号出力端子に接続される第2の実数減算器と、から構成されることを特徴とする。
請求項4にかかる発明のデジタルフィルタは、入力側が信号入力端子に接続されるNクロック分遅延の第1の実数遅延要素と、1クロック分遅延の第2の実数遅延要素と、1クロック分遅延の複素遅延要素と、入力側が信号入力端子と第1の実数遅延要素の出力側に接続される第1の実数減算器と、入力側が前記第1の実数減算器の出力側に接続される第1の実数乗算器と、入力側が前記第2の実数遅延要素の出力側と前記第1の実数乗算器の出力側に接続され出力側が前記第2の実数遅延要素に接続される実数加算器と、入力側が前記第1の実数減算器の出力側に接続される第2の実数乗算器と、入力側が前記複素遅延要素の出力側に接続される複素乗算器と、入力側が前記複素乗算器の出力側と前記第2の実数乗算器の出力側に接続され出力側が前記複素遅延要素の入力側に接続される複素加算器と、入力側が前記複素加算器の出力側に接続される実部抽出器と、入力側が前記実数加算器の出力側と前記実部抽出器の出力側に接続され出力側が信号出力端子に接続される第2の実数減算器と、から構成されることを特徴とする。
請求項5にかかる発明の信号処理方法は、現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値を得る第1のステップと、前記第1のステップで得られた第1の実数値と1クロック前の第2の実数値を加算して第2の実数値を得る第2のステップと、該第2のステップで得られた第2の実数値に第1の実係数を乗算して第3の実数値を得る第3のステップと、前記第1のステップで得られた前記第1の実数値と1クロック前の第1の複素数値に複素係数を乗算した値を複素加算して第1の複素数値を得るとともに該第1の複素数値から第4の実数値を抽出する第4のステップと、前記第4のステップで得られた第4の実数値に第2の実係数を乗算して第5の実数値を得る第5のステップと、前記第3のステップで得られた第3の実数値から前記第5のステップで得られた第5の実数値を減算して出力実数値を得る第6のステップと、を有することを特徴とする。
請求項6にかかる発明の信号処理方法は、現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値を得る第1のステップと、前記第1のステップで得られた第1の実数値に第1の実係数を乗算して第2の実数値を得る第2のステップと、前記第2のステップで得られた第2の実数値と1クロック前の第3の実数値を加算して第3の実数値を得る第3のステップと、前記第1のステップで得られた前記第1の実数値と1クロック前の第1の複素数値に複素係数を乗算した値を複素加算して第1の複素数値を得るとともに該第1の複素数値から第4の実数値を抽出する第4のステップと、前記第4のステップで得られた第4の実数値に第2の実係数を乗算して第5の実数値を得る第5のステップと、前記第3のステップで得られた第3の実数値から前記第5のステップで得られた第5の実数値を減算して出力実数値を得る第6のステップと、を有することを特徴とする。
請求項7にかかる発明の信号処理方法は、現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値を得る第1のステップと、前記第1のステップで得られた第1の実数値と1クロック前の第2の実数値を加算して第2の実数値を得る第2のステップと、該第2のステップで得られた第2の実数値に第1の実係数を乗算して第3の実数値を得る第3のステップと、前記第1のステップで得られた第1の実数値に第2の実係数を乗算して第4の実数値を得る第4のステップと、該第4のステップで得られた第4の実数値と1クロック前の第1の複素数値に複素係数を乗算した値を複素加算して第1の複素数値を得るとともに該第1の複素数値から第5の実数値を抽出する第5のステップと、前記第3のステップで得られた第3の実数値から前記第5のステップで得られた第5の実数値を減算して出力実数値を得る第6のステップと、を有することを特徴とする。
請求項8にかかる発明の信号処理方法は、現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値を得る第1のステップと、前記第1のステップで得られた第1の実数値に第1の実係数を乗算して第2の実数値を得る第2のステップと、前記第2のステップで得られた第2の実数値と1クロック前の第3の実数値を加算して第3の実数値を得る第3のステップと、前記第1のステップで得られた第1の実数値に第2の実係数を乗算して第4の実数値を得る第4のステップと、該第4のステップで得られた第4の実数値と1クロック前の第1の複素数値に複素係数を乗算した値を複素加算して第1の複素数値を得るとともに該第1の複素数値から第5の実数値を抽出する第5のステップと、前記第3のステップで得られた第3の実数値から前記第5のステップで得られた第5の実数値を減算して出力実数値を得る第6のステップと、を有することを特徴とする。
請求項9にかかる発明のプログラムは、請求項5に記載の第1乃至第6のステップ、請求項6に記載の第1乃至第6のステップ、請求項7に記載の第1乃至第6のステップ、又は請求項8に記載の第1乃至第6のステップをコンピュータで実行させることを特徴とする。
【発明の効果】
【0010】
本発明によれば、一般化ハミング窓の形状を持つデジタルフィルタを少ない数の乗算器で低コストに実現できる。特に次数が大きい場合に有利となる。
【図面の簡単な説明】
【0011】
【
図1】本発明の第1の実施例のデジタルフィルタの構成図である。
【
図6】本発明の第2の実施例のデジタルフィルタの構成図である。
【
図7】本発明の第3の実施例のデジタルフィルタの構成図である。
【
図8】本発明の第4の実施例のデジタルフィルタの構成図である。
【
図9】コンピュータを利用するソフトウエアで
図1と同様な処理を実行する場合の初期化の処理のリストである。
【
図10】コンピュータを利用するソフトウエアで
図1と同様な処理を行う場合の演算器相当の処理と遅延要素相当の処理のリストである。
【
図11】従来のFIRデジタルフィルタの構成図である。
【発明を実施するための形態】
【0012】
<第1の実施例>
図1に本発明の第1の実施例のデジタルフィルタを示す。100は信号入力端子、101は信号出力端子、102はNクロック分(N段分)遅延の実数遅延要素、103は1クロック分遅延の実数遅延要素、104は1クロック分遅延の複素遅延要素、105,112は実数減算器、106は実数加算器、107,111は実数乗算翠、108は複素乗算器、109は複素加算器、110は複素数から実部を抽出する実部抽出器である。
【0013】
Nクロック分遅延の実数遅延要素102の入力側は信号入力端子100に接続される。実数減算器105の入力側は信号入力端子100と実数遅延要素102の出力側に接続される。実数加算器106の入力側は実数遅延要素103の出力側と実数減算器105の出力側に接続される。実数遅延要素103の入力側は実数加算器106の出力側に接続される。実数乗算器107の入力側は実数加算器106の出力側に接続される。複素乗算器108の入力側は複素遅延要素104の出力側に接続される。複素加算器109の入力側は複素乗算器108の出力側と実数減算器105の出力側に疲続される。複素数から実部を抽出する実部抽出器110の入力側は複素加算器109の出力側に接続される。複素遅延要素104の入力側は複素加算器109の出力側に接続される。実数乗算器111の入力側は実部抽出器110の出力側に接続される。実数減算器112の入力側は実数乗算器107の出力側と実数乗算器111の出力側に接続される。信号出力端子101は実数減算器112の出力側に接続される。
【0014】
複素加算器109は、
図2に示すように構成される。IN1r,IN2rは実数値入力端子、IN1j、IN2jは虚数値入力端子、OUTrは実数値出力端子、OUTjは虚数値出力端子、1091,1092は実数加算器である。入力端子IN1r,IN1jは実数減算器105の出力側に、入力端子IN2r,IN2jは複素乗算器108の出力側に、出力端子OUTr、OUTjは複素遅延要素104の入力側に、それぞれ接続される。この複素加算器109は、実数をa
1,a
2、虚数をjb
1,jb
2とすると、
(a
1+jb
1)+(a
2+jb
2)=(a
1+a
2)+j(b
1+b
2)
の処理を実現するものである。
【0015】
複素乗算器108は、
図3に示すように構成される。1081〜1084は実数乗算器、1085は実数減算器、1086は実数加算器である。入力端子IN1r,IN1jは複素遅延要素104の出力側に、入力端子IN2r,IN2jは固定の複素係数cosω、sinωの発生器(図示せず)の出力側に、出力端子OUTr、OUTjは複素加算器109の入力端子IN2r,IN2jに、それぞれ接続される。この複素加算器109は、
(a
1+jb
1)×(a
2+jb
2)=(a
1×a
2−b
1×b
2)+j(a
1×b
2+a
2×b
1)
の処理を実現するものである。
【0016】
複素遅延要素104は、
図4に示すように構成される。1041,1042は実数遅延要素である。また、実部抽出器110は、
図5に示すように、実数値入力端子INrの信号のみを実数値出力端子OUTrに出力し、虚数値入力端子INjは内部でオープンとする。
【0017】
本実施例では、Nを任意の正の整数、虚数単位をjとする。ω=2π/Nとする。実数乗算器107の実係数をc、実数乗算器111の実係数を「1−c」、複素乗算器109の複素係数をe
jωとする。信号入力端子100から実数加算器105の出力側までの伝達関数A
1(z)は、
【数2】
となる。また、実数加算器105の出力側から実数加算器106の出力側までの伝達関数A
2(z)は、
【数3】
となる。よって、信号入力端子100から実数乗算器107の出力側までの伝達関数A
3(z)は、
【数4】
となる。
【0018】
一方、実数加算器105の出力側から複素加算器109の出力側までの伝達関数A
4(z)は、
【数5】
となるので、実数加算器105の出力側から実部抽出部110の出力側までの伝達関数A
5(z)は、
【数6】
となる。よって、信号入力端子100から実数乗算器111の出力側までの伝達関数A
6(z)は、
【数7】
となる。
【0019】
したがって、信号入力端子100から信号出力端子101までの伝導関数A(z)は、式(8)となる。
【数8】
【0020】
ω=2π/Nであるので、式(8)は式(1)と等しい。すなわち、
図1の回路構成は、一般化ハミング窓の形状のインパルス応答特性をもつデジタルフィルタとなる。従来の
図11の回路構成はNを大きくすると乗算器の個数が比例して多くなる問題があったが、本実施例によれば、実数遅延要素102の遅延段数はNの値に応じて増えるものの、実数乗算器107,111、複素乗算器108の個数は、Nの値によらず一定である。このためNを大きくしても、
図11の構成と比較して面積の増加が少ない利点がある。
【0021】
<第2の実施例>
図6に本発明の第2の実施例のデジタルフィルタを示す。この
図6のデジタルフィルタは、
図1に示したデジタルフィルタの実数加算器106と遅延要素103の組を、乗算器107と入れ替えたものである。よって、
図1のデジタルフィルタと同等の特性をもつ。
【0022】
<第3の実施例>
図7に本発明の第3の実施例のデジタルフィルタを示す。この
図7のデジタルフィルタは、
図1に示したデジタルフィルタの複素遅延要素104と複素乗算器108と複素加算器109と実部抽出器110の組を、乗算器111とを入れ替えたものである。よって、
図1のデジタルフィルタと同等の特性をもつ。
【0023】
<第4の実施例>
図8に本発明の第4の実施例のデジタルフィルタを示す。この
図8のデジタルフィルタは、
図1に示したデジタルフィルタの実数加算器106と遅延要素103の組を、乗算器107と入れ替えるとともに、
図1に示したデジタルフィルタの複素遅延要素104と複素乗算器108と複素加算器109と実部抽出器110の組を、乗算器111と入れ替えたものである。よって、
図1のデジタルフィルタと同等の特性をもつ。
【0024】
<第5の実施例>
以上ではデジタルフィルタをハードウエアで構成する場合について説明したが、プログラムを作成して、DSP等のコンピュータを制御することでも、同様のデジタルフィルタ機能を実現できる。
図9、
図10は
図1の構成に対応する第5の実施例のプログラムリストの一部である。
【0025】
図9は初期化のプログラムリストである。行001〜004では、実数遅延要素102に相当するN段の各遅延要素に相当する内容、実数遅延要素103に相当する内容、複素遅延要素104の実数値に相当する内容、複素遅延要素104の虚数値に相当する内容を、それぞれ0リセットする。行005では複素乗算器108に相当する処理の実数値係数としてcosωをセットする。行006では複素乗算器108に相当する処理の虚数値係数としてsinωをセットする。
【0026】
図10は演算器の処理と遅延要素の処理に相当する処理の1クロック当たりのリストである。行011では入力実数値からNクロック前の入力実数値を減算することで、実数減算器105で得られる値に相当する実数値diffを得る。行012では実数値diffと1クロック前の実数値diffを加算することで、実数加算器106で得られる値に相当する実数値add1を得る。行013,014では複素加算器109で得られる複素数値に相当する実数値add2_r、虚数値add2_jを得る。行015では実数減算器112で得られる実数値に相当する実数値yを得る。行021では実数値をシフトすることで実数遅延要素102の各段の遅延と同様なことを実現する。行022では実数遅延要素103と同様に実数値add1を1クロック遅らせる。行023,024で複素遅延要素104と同様に実数値add2_r、虚数値add2_jを1クロック遅らせる。
【0027】
図1のデジタルフィルタの機能は、現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値diffを得る第1のステップと、前記第1のステップで得られた第1の実数値diffと1クロック前の第2の実数値add1を加算して第2の実数値add1を得る第2のステップと、該第2のステップで得られた第2の実数値add1に第1の実係数cを乗算して第3の実数値c*add1を得る第3のステップと、前記第1のステップで得られた前記第1の実数値diffと1クロック前の第1の複素数値add2に複素係数を乗算した値を複素加算して第1の複素数値add2を得るとともに該第1の複素数値add2から第4の実数値add2_rを抽出する第4のステップと、前記第4のステップで得られた第4の実数値add2_rに第2の実係数「1−c」を乗算して第5の実数値(1−c)*add2_rを得る第5のステップと、前記第3のステップで得られた第3の実数値c*add1から前記第5のステップで得られた第5の実数値(1−c)*add2_rを減算して出力実数値yを得る第6のステップと、を処理するプログラムあるいは信号処理方法により、実現できる。
図1に、対応するノードに得られる信号を示した。
【0028】
<第6の実施例>
また、
図6のデジタルフィルタの機能は同様に、現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値diffを得る第1のステップと、前記第1のステップで得られた第1の実数値diffに第1の実係数cを乗算して第2の実数値c*diffを得る第2のステップと、前記第2のステップで得られた第2の実数値c*diffと1クロック前の第3の実数値add3を加算して第3の実数値add3を得る第3のステップと、前記第1のステップで得られた前記第1の実数値diffと1クロック前の第1の複素数値add2に複素係数を乗算した値を複素加算して第1の複素数値add2を得るとともに該第1の複素数値add2から第4の実数値add2_rを抽出する第4のステップと、前記第4のステップで得られた第4の実数値add2_rに第2の実係数「1−c」を乗算して第5の実数値(1−c)*add2_rを得る第5のステップと、前記第3のステップで得られた第3の実数値add3から前記第5のステップで得られた第5の実数値(1−c)*add2_rを減算して出力実数値yを得る第6のステップと、を処理するプログラムあるいは信号処理方法により、実現できる。
図6に、対応するノードに得られる信号を示した。
【0029】
<第7の実施例>
また、
図7のデジタルフィルタの機能は同様に、現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値diffを得る第1のステップと、前記第1のステップで得られた第1の実数値diffと1クロック前の第2の実数値add1を加算して第2の実数値add1を得る第2のステップと、該第2のステップで得られた第2の実数値add1に第1の実係数cを乗算して第3の実数値c*add1を得る第3のステップと、前記第1のステップで得られた第1の実数値diffに第2の実係数「1−c」を乗算して第4の実数値(1−c)*diffを得る第4のステップと、該第4のステップで得られた第4の実数値(1−c)*difと1クロック前の第1の複素数値add4に複素係数を乗算した値を複素加算して第1の複素数値add4を得るとともに該第1の複素数値add4から第5の実数値add4_rを抽出する第5のステップと、前記第3のステップで得られた第3の実数値c*add1から前記第5のステップで得られた第6の実数値add4_rを減算して出力実数値yを得る第6のステップと、を処理するプログラムあるいは信号処理方法により、実現できる。
図7に、対応するノードに得られる信号を示した。
【0030】
<第8の実施例>
また、
図8のデジタルフィルタの機能は同様に、現在の入力実数値からNクロック前の入力実数値を減算して第1の実数値diffを得る第1のステップと、前記第1のステップで得られた第1の実数値diffに第1の実係数cを乗算して第2の実数値c*diffを得る第2のステップと、前記第2のステップで得られた第2の実数値c*diffと1クロック前の第3の実数値add3を加算して第3の実数値add3を得る第3のステップと、前記第1のステップで得られた第1の実数値diffに第2の実係数「1−c」を乗算して第4の実数値(1−c)*diffを得る第4のステップと、該第4のステップで得られた第4の実数値(1−c)*difと1クロック前の第1の複素数値add4に複素係数を乗算した値を複素加算して第1の複素数値add4を得るとともに該第1の複素数値add4から第5の実数値add4_rを抽出する第5のステップと、前記第3のステップで得られた第3の実数値add3から前記第5のステップで得られた第6の実数値add4_rを減算して出力実数値yを得る第6のステップと、を処理するプログラムあるいは信号処理方法により、実現できる。
図8に、対応するノードに得られる信号を示した。
【符号の説明】
【0031】
100:信号入力端子、101:信号出力端子、102:Nクロック遅延の実数遅延要素、103:1クロック遅延の実数遅延要素、104:1クロック遅延の複素遅延要素、105:実数減算器、106:実数加算器、107:実数乗算器、108:複素乗算器、109:複素加算器、110:実部抽出器
200:信号入力端子、201:信号出力端子、202,203,204,205:1クロック遅延の遅延要素、206,207,208,209:乗算器、210:加算器