IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アルプス電気株式会社の特許一覧

特開2025-20474フィルタ設計方法、及び、IIR型全域通過フィルタ
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025020474
(43)【公開日】2025-02-13
(54)【発明の名称】フィルタ設計方法、及び、IIR型全域通過フィルタ
(51)【国際特許分類】
   H03H 17/04 20060101AFI20250205BHJP
【FI】
H03H17/04 655D
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021214342
(22)【出願日】2021-12-28
(71)【出願人】
【識別番号】000010098
【氏名又は名称】アルプスアルパイン株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】大瀧 幸夫
(57)【要約】      (修正有)
【課題】構成要素の削減が可能なフィルタ設計方法及びIIR型全域通過フィルタを提供する。
【解決手段】IIR型全域通過フィルタ100をコンピュータが設計するフィルタ設計方法であって、信号処理部110ーNの個数Nで規定される次数Nに対して、フィルタの群遅延数Mは、M=N-3の関係を有する。コンピュータが、次数Nと、フィルタの帯域幅Bとの入力を受け付けることと、帯域幅Bを用いて、下限周波数flと、上限周波数fhとが対称となるように設定し、N個の信号処理部の出力に乗じるN個のフィルタ係数aNと、入力端子からN番目の信号処理部の遅延器の出力に乗じるフィルタ係数とを含むフィルタ係数ai(i=0~N)がπ/2移相特性を実現するように算出する。
【選択図】図7
【特許請求の範囲】
【請求項1】
入力端子と出力端子との間に接続されるN(Nは4以上の整数)個の信号処理部を含むIIR型全域通過フィルタをコンピュータが設計するフィルタ設計方法であって、
前記信号処理部の個数Nで規定される次数Nに対して、前記IIR型全域通過フィルタの群遅延数Mは、M=N-3の関係を有し、
前記コンピュータが、
前記次数Nと、前記IIR型全域通過フィルタの帯域幅Bとの入力を受け付けることと、
前記帯域幅Bを用いて、下限周波数flと、上限周波数fhとが対称となるように設定することと、
前記N個の信号処理部の出力に乗じるN個のフィルタ係数a1~aNと、前記入力端子からN番目の信号処理部の遅延器の出力に乗じるフィルタ係数a0とを含むフィルタ係数ai(i=0~N)がπ/2移相特性を実現するように算出することであって、Remezアルゴリズムにより、複素振幅誤差の振幅値が極値を示す周波数の変化が所定値以下に収束するまで前記フィルタ係数aiを算出することと、
前記フィルタ係数aiの最大値と、前記最大値を与えるフィルタ係数aiのインデックスi(imaxとする)とを抽出することと、
前記次数Nが奇数で前記インデックスimaxが1の場合は前記インデックスiが偶数の前記フィルタ係数aiをゼロに設定し、前記次数Nが偶数で前記インデックスimaxが0の場合は前記インデックスiが奇数の前記フィルタ係数aiをゼロにすることと
を含む処理を実行する、フィルタ設計方法。
【請求項2】
入力端子と出力端子との間に接続されるN(Nは4以上の整数)個の信号処理部を含むIIR型全域通過フィルタをコンピュータが設計するフィルタ設計方法であって、
前記信号処理部の個数Nで規定される次数Nに対して、前記IIR型全域通過フィルタの群遅延数Mは、M=N-1の関係を有し、
前記コンピュータが、
前記次数Nと、前記IIR型全域通過フィルタの帯域幅Bとの入力を受け付けることと、
前記帯域幅Bを用いて、下限周波数flと、上限周波数fhとが対称となるように設定することと、
前記N個の信号処理部の出力に乗じるN個のフィルタ係数a1~aNと、前記入力端子からN番目の信号処理部の遅延器の出力に乗じるフィルタ係数a0とを含むフィルタ係数ai(i=0~N)がπ/2移相特性を実現するように算出することであって、Remezアルゴリズムにより、複素振幅誤差の振幅値が極値を示す周波数の変化が所定値以下に収束するまで前記フィルタ係数aiを算出することと、
前記フィルタ係数aiの最大値と、前記最大値を与えるフィルタ係数aiのインデックスi(imaxとする)とを抽出することと
前記インデックスimaxが0の場合は前記インデックスiが奇数の前記フィルタ係数aiをゼロにすることと
を含む処理を実行する、フィルタ設計方法。
【請求項3】
前記処理は、前記N個の信号処理部のうちの前記フィルタ係数aiがゼロにされたインデックスiに対応する信号処理部の構成要素を低減することをさらに含む、請求項1又は2に記載のフィルタ設計方法。
【請求項4】
入力端子と出力端子との間に接続されるN(Nは4以上の整数)個の信号処理部を含むIIR型全域通過フィルタをコンピュータが設計するフィルタ設計方法であって、
前記信号処理部の個数Nで規定される次数Nに対して、前記IIR型全域通過フィルタの群遅延数Mは、M=N-2の関係を有し、
前記コンピュータが、
前記次数Nと、前記IIR型全域通過フィルタの帯域幅Bとの入力を受け付けることと、
前記帯域幅Bを用いて、下限周波数flと、上限周波数fhとが対称となるように設定することと、
前記N個の信号処理部の出力に乗じるN個のフィルタ係数a1~aNと、前記入力端子からN番目の信号処理部の遅延器の出力に乗じるフィルタ係数a0とを含むフィルタ係数ai(i=0~N)がπ/2移相特性を実現するように算出することであって、Remezアルゴリズムにより、複素振幅誤差の振幅値が極値を示す周波数の変化が所定値以下に収束するまで前記フィルタ係数aiを算出することと、
前記フィルタ係数aiの最大値と、前記最大値を与えるフィルタ係数aiのインデックスi(imaxとする)とを抽出することと
前記インデックスimaxが0又は1の場合は前記インデックスiが0から2つずつの前記フィルタ係数aiを同一値にすることと
を含む処理を実行する、フィルタ設計方法。
【請求項5】
前記処理は、前記N個の信号処理部のうちの前記フィルタ係数aiを同一値にされたインデックスiに対応する2つの信号処理部のうちの一方の構成要素を低減することをさらに含む、請求項4に記載のフィルタ設計方法。
【請求項6】
請求項1乃至5のいずれか1項に記載のフィルタ設計方法で設計したIIR型全域通過フィルタ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、フィルタ設計方法、及び、IIR型全域通過フィルタに関する。
【背景技術】
【0002】
従来より、遅延器と位相等化器の並列接続で構成されるIIRディジタルフィルタを、与えられたフィルタ次数,通過域端周波数,阻止域端周波数及び重み関数を用いたRemezアルゴリズムに従ってコンピュータ上で設計するためのプログラムを記録した媒体であって、該設計プログラムは、前記遅延器に対して所定の位相差に近似する位相傾斜と前記フィルタの過渡域の位相傾斜との比xと、前記フィルタの阻止域減衰量yとの関係を表す経験的関数を与えたときに、前記フィルタの伝達特性を表すパラメータとして、通過域振幅誤差,阻止域減衰量,前記通過域端周波数及び前記阻止域端周波数を入力し、前記各パラメータと前記経験的関数に基づいて前記重み関数と前記フィルタ次数を算出し、これら重み関数及びフィルタ次数を用いて前記Remezアルゴリズムによるフィルタ設計を行うことを特徴とするIIRディジタルフィルタの設計プログラムを記録した媒体がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平10-187662号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、従来のIIRディジタルフィルタの設計プログラムは、構成要素の削減を可能にするものではない。
【0005】
そこで、構成要素の削減が可能なフィルタ設計方法、及び、IIR型全域通過フィルタを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の実施形態のフィルタ設計方法は、入力端子と出力端子との間に接続されるN(Nは4以上の整数)個の信号処理部を含むIIR型全域通過フィルタをコンピュータが設計するフィルタ設計方法であって、前記信号処理部の個数Nで規定される次数Nに対して、前記IIR型全域通過フィルタの群遅延数Mは、M=N-3の関係を有し、前記コンピュータが、前記次数Nと、前記IIR型全域通過フィルタの帯域幅Bとの入力を受け付けることと、前記帯域幅Bを用いて、下限周波数flと、上限周波数fhとが対称となるように設定することと、前記N個の信号処理部の出力に乗じるN個のフィルタ係数a1~aNと、前記入力端子からN番目の信号処理部の遅延器の出力に乗じるフィルタ係数a0とを含むフィルタ係数ai(i=0~N)がπ/2移相特性を実現するように算出することであって、Remezアルゴリズムにより、複素振幅誤差の振幅値が極値を示す周波数の変化が所定値以下に収束するまで前記フィルタ係数aiを算出することと、前記フィルタ係数aiの最大値と、前記最大値を与えるフィルタ係数aiのインデックスi(imaxとする)とを抽出することと、前記次数Nが奇数で前記インデックスimaxが1の場合は前記インデックスiが偶数の前記フィルタ係数aiをゼロに設定し、前記次数Nが偶数で前記インデックスimaxが0の場合は前記インデックスiが奇数の前記フィルタ係数aiをゼロにすることとを含む処理を実行する。
【発明の効果】
【0007】
構成要素の削減が可能なフィルタ設計方法、及び、IIR型全域通過フィルタを提供することができる。
【図面の簡単な説明】
【0008】
図1】実施形態の受信装置を示す図である。
図2A】実施形態のIIR型全域通過フィルタの構成の一例を示す図である。
図2B】実施形態のIIR型全域通過フィルタの他の構成の一例を示す図である。
図3】IIR型全域通過フィルタの累積位相の周波数特性の一例を示す図である。
図4】I信号及びQ信号の位相差とQ信号の振幅との周波数特性の一例を示す図である。
図5】Q信号の位相誤差の周波数特性の一例を示す図である。
図6】次数Nと群遅延数Mの組み合わせと、下限周波数fl、上限周波数fh、設計帯域幅B、位相誤差、及びフィルタ係数との関係の一例を示す図である。
図7】回路構成を低減したIIR型全域通過フィルタを示す図である。
図8】回路構成を低減したIIR型全域通過フィルタを示す図である。
図9】回路構成を低減したIIR型全域通過フィルタを示す図である。
図10】次数Nが9でM=N-2のIIR型全域通過フィルタの周波数特性の一例を示す図である。
図11】次数Nが9でM=N-1のIIR型全域通過フィルタの周波数特性の一例を示す図である。
図12】実施形態のIIR型全域通過フィルタ(N=10)の構成の一例を示す図である。
図13】次数Nと群遅延数Mの組み合わせと、下限周波数fl、上限周波数fh、設計帯域幅B、位相誤差、及びフィルタ係数との関係の一例を示す図である。
図14】次数Nが10でM=N-3のIIR型全域通過フィルタの周波数特性の一例を示す図である。
図15】次数Nが10でM=N-2のIIR型全域通過フィルタの周波数特性の一例を示す図である。
図16】次数Nが10でM=N-1のIIR型全域通過フィルタの周波数特性の一例を示す図である。
図17】コンピュータシステムを示す図である。
図18】コンピュータシステムの本体部内の要部の構成を説明するブロック図である。
図19】フィルタ設計装置の機能ブロックを示す図である。
図20】フィルタ設計装置が実行する処理を表すフローチャートである。
図21】フィルタ設計装置が実行する処理を表すフローチャートである。
図22】フィルタ設計装置が実行する処理を表すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本開示のフィルタ設計方法、及び、IIR型全域通過フィルタを適用した実施形態について説明する。
【0010】
<実施形態>
図1は、実施形態の受信装置50を示す図である。受信装置50は、デジタル直交信号検出回路1、直交周波数分割多重検波回路(OFDM検波回路)2、検波信号出力端子3、アナログ/デジタル変換器(A/D)4、受信回路5、及び受信アンテナ6を含む。
【0011】
デジタル直交信号検出回路1は、無限インパルス応答デジタルフィルタ(IIR)であるIIR型全域通過フィルタ100と、デジタル信号遅延回路(DL)8と有する。また、直交周波数分割多重検波回路2は、高速フーリエ変換(FFT)回路9と、直交周波数分割多重復調回路(DEM)10とを有する。IIR型全域通過フィルタ100は、入力されたデジタル信号を90°移相するものであり、デジタル信号遅延回路8は、入力されたデジタル信号をIIR型全域通過フィルタ100の信号群遅延量に等しい信号遅延を与えるものである。移相とは、信号の位相をシフトすることである。
【0012】
受信回路5は、入力端子が受信アンテナ6に接続され、出力端子がアナログ/デジタル変換器4の入力端子に接続される。デジタル直交信号検出回路1において、IIR型全域通過フィルタ100は、入力端子がアナログ/デジタル変換器4の出力端子に直接接続され、出力端子が高速フーリエ変換回路9の第1入力端子に接続される。デジタル信号遅延回路(DL)8は、入力端子がアナログ/デジタル変換器4の出力端子に直接接続され、出力端子が高速フーリエ変換回路9の第2入力端子に接続される。直交周波数分割多重検波回路2において、直交周波数分割多重復調回路10は、入力端子が高速フーリエ変換回路9の出力端子に接続され、出力端子が検波信号出力端子3に接続される。
【0013】
受信アンテナ6においてデジタル信号を受けると、そのデジタル信号は受信信号として受信回路5に供給される。受信回路5は、この受信信号を増幅した後、増幅した受信信号と局部発振信号とを周波数混合して周波数混合信号を形成し、形成した周波数混合信号から中間周波(IF)信号を抽出し、得られた中間周波信号をアナログ/デジタル変換器4に出力する。アナログ/デジタル変換器4は、入力された中間周波信号をアナログ/デジタル変換し、出力端子からそれぞれデジタル信号(サンプリング周波数fs)を出力し、デジタル直交信号検出回路1に供給する。
【0014】
デジタル直交信号検出回路1において、IIR型全域通過フィルタ100は、供給されたデジタル信号を90°移相させてQ信号を生成し、Q信号を直交周波数分割多重検波回路2に出力する。デジタル信号遅延回路8は、入力されたデジタル信号を、IIR型全域通過フィルタ100側で90°移相されるデジタル信号に与える信号群遅延量に等しい信号遅延量で遅延させたI信号を生成し、信号を直交周波数分割多重検波回路2に出力する。
【0015】
直交周波数分割多重検波回路2において、高速フーリエ変換回路9は、I信号とQ信号を用いて高速フーリエ変換処理を行い、フーリエ変換処理信号を直交周波数分割多重復調回路10に供給する。直交周波数分割多重復調回路10は、供給されたフーリエ変換処理信号について4相位相シフトキーイング(QPSK)等のデジタル変調に対する復調処理を行い、得られた復調信号を検波信号出力端子3に供給する。
【0016】
<IIR型全域通過フィルタ100の構成>
図2Aは、実施形態のIIR型全域通過フィルタ100の構成の一例を示す図である。IIR型全域通過フィルタ100は、入力端子101、出力端子102、N個の信号処理部110、アンプ120、N個の加算器130、及びアンプ140を含む。Nは4以上の整数であるが、図2Aには一例としてN=9の場合の9個の信号処理部110-1~110-9と、9個の加算器130-0~130-8とを示す。以下では、N個の信号処理部110については、信号処理部110-1~110-Nと表記する場合がある。
【0017】
整数Nは、信号処理部110の個数を表し、IIR型全域通過フィルタ100の次数Nを表す。次数Nは、信号処理部110の個数で規定される。また、信号処理部110-1~110-Nを特に区別しない場合には単に信号処理部110と称す。図2Aでは、N=9のIIR型全域通過フィルタ100の構成について説明する。
【0018】
信号処理部110-1~110-9は、入力端子101と出力端子102の間に設けられている。信号処理部110-1~110-9の構成は同一であるため、図2Aには、信号処理部110-1に含まれる遅延器111、112、加算器113、及びアンプ114に符号を付すが、信号処理部110-2~110-9についても同様である。
【0019】
信号処理部110-9の遅延器111の入力端子と加算器113の一方の入力端子は、入力端子101に接続されている。信号処理部110-1~110-8の遅延器111の入力端子は、各々の信号処理部110の加算器113の一方の入力端子と、次数が1つ大きい隣(左隣の)の信号処理部110の遅延器111の出力端子とに接続されている。信号処理部110-1の遅延器111の出力端子は、アンプ120の入力端子に接続されている。
【0020】
信号処理部110-1の遅延器112の入力端子は出力端子102とアンプ140の出力端子とに接続されている。信号処理部110-2~110-9の遅延器112の入力端子は、次数が1つ小さい隣(右隣の)の信号処理部110の遅延器112の出力端子に接続されている。また、信号処理部110-1~110-8の遅延器112の出力端子は、各々の信号処理部110の加算器113の他方の入力端子と、次数が1つ大きい隣(左隣の)の信号処理部110の遅延器112の入力端子とに接続されている。信号処理部110-9の遅延器112の出力端子は、信号処理部110-9の加算器113の他方の入力端子に接続されている。各信号処理部110において、加算器113の出力端子は、アンプ114の入力端子に接続されている。加算器113は、上側の一方の入力端子(上側の入力端子)に入力される信号から、他方の入力端子(下側の入力端子)に入力される信号を減算して得る差を出力する。
【0021】
信号処理部110-1のアンプ114の出力端子と加算器130-2の出力端子とは、加算器130-1の2つの入力端子にそれぞれ接続されている。これらの接続関係は、信号処理部110-2~110-7のアンプ114の出力端子と加算器130-3~130-8の出力端子とが加算器130-2~130-7の2つの入力端子にそれぞれ接続される接続関係において同様である。信号処理部110-8のアンプ114の出力端子と、信号処理部110-9のアンプ114の出力端子とは、加算器130-8の2つの入力端子にそれぞれ接続される。また、アンプ120の出力端子と、加算器130-1の出力端子とは、加算器130-0の2つの入力端子にそれぞれ接続されている。加算器130-0の出力端子は、アンプ140の入力端子に接続されている。加算器130-0~130-8は、2つの入力端子に入力される信号を加算して得る和を出力する。
【0022】
アンプ140は、後述するフィルタ係数a0の係数が0(ゼロ)と1でない場合に、フィルタ出力を補正するために設けられている。アンプ140の増幅率は、1/a0である。アンプ140の出力端子は、出力端子102に接続されている。
【0023】
また、図2Aでは、アンプ120と、信号処理部110-1~110-9のアンプ114との10個のアンプの増幅率をフィルタ係数a0~a9とする。以下では、N次のIIR型全域通過フィルタ100におけるフィルタ係数をaiとする。フィルタ係数aiのインデックスiは0~Nである(i=0~N)。
【0024】
図2Bは、実施形態のIIR型全域通過フィルタ100の他の構成の一例を示す図である。図2Bに示すIIR型全域通過フィルタ100は、図2Aに示すIIR型全域通過フィルタ100の信号処理部110-1及び加算器130-1を削除し、アンプ120の増幅率をa1に変更し、更にアンプ140の増幅率を1/a1に変更した構成を有する。図2Bに示すIIR型全域通過フィルタ100は、図2Aに示すIIR型全域通過フィルタ100におけるフィルタ係数a0がゼロの場合に、アンプ140の増幅率(1/a0)が無限大に発散することを避けるために、図2Aに示すIIR型全域通過フィルタ100から、フィルタ係数a0に関連する信号処理部110-1及び加算器130-1を削除するとともに、アンプ120の増幅率をa1に変更し、更にアンプ140の増幅率を1/a1に変更した構成を有する。
【0025】
ここで、図2Aにおけるフィルタ係数a1~a9のうちのいずれかをゼロに設定することができれば、信号処理部110-1~110-9のアンプ114と加算器113とを削減することができ、IIR型全域通過フィルタ100の小形化や消費電力の低下を実現することができる。同様に、図2Bにおけるフィルタ係数a2~a9のうちのいずれかをゼロに設定することができれば、信号処理部110-2~110-9のアンプ114と加算器113とを削減することができ、IIR型全域通過フィルタ100の小形化や消費電力の低下を実現することができる。
【0026】
<IIR型全域通過フィルタ100の周波数特性(M=N-3)>
図3は、IIR型全域通過フィルタ100の累積位相の周波数特性の一例を示す図である。図3において、横軸は周波数、縦軸は累積位相(Cumulative phase)を表す。横軸の周波数は、サンプリング周波数の1/2であるナイキスト周波数で規格化した周波数であり、単位はない。縦軸の累積位相は、1/πラジアン(rad)の数を表す。縦軸の値が-6であることは、位相が0に対して遅れる方向に-6π移相されていることを表す。図3には、I信号を破線で示し、Q信号を実線で示す。
【0027】
デジタル信号遅延回路8(図1参照)から出力されるI信号は、周波数が0から1まで変化する間に-6π移相する特性になっている。Q信号は、周波数が0.1~0.9の周波数帯域においてI信号よりも位相が90度遅れており、周波数の増大に対して線形的に変化する特性(π/2移相特性)を有する。以下では、群遅延の数(群遅延数)Mは、図3に示す累積位相の周波数特性の傾きで定義して、累積位相の変化量を周波数の幅で割って符号を反転させた値で与える。I信号では、周波数が0から1まで変化する間に線形的に累積位相が-6だけ変化するので、群遅延数は6となる。また、Q信号では、周波数が0.1から0.9まで変化する間に線形的に累積位相が-4.8(-1.2から-6まで)変化するので、群遅延数はI信号と同時に6となる。図3に示す周波数特性を有するIIR型全域通過フィルタ100は、次数Nが9で、群遅延数Mが6(M=6)である。すなわち、図3に示す周波数特性を有するIIR型全域通過フィルタ100は、M=N-3のIIR型全域通過フィルタである。また、IIR型全域通過フィルタ100を設計するにあたり、周波数の変化に対してQ信号が線形的に変化する周波数帯域の幅を設計帯域幅と称し、設計帯域の下限を下限周波数、設計帯域の上限を上限周波数と称す。
【0028】
<I信号及びQ信号の位相差とQ信号の振幅の周波数特性>
図4は、I信号及びQ信号の位相差とQ信号の振幅との周波数特性の一例を示す図である。図4において、横軸は規格化した周波数を表し、左の縦軸はI信号及びQ信号の位相差を1/πラジアン(rad)の数で表す。右側の縦軸はQ信号の振幅を表す。図4には、I信号及びQ信号の位相差を実線で示し、Q信号の振幅を破線で示す。
【0029】
図4に示すように、周波数が0.1~0.9の周波数帯域において、I信号及びQ信号の位相差は、略0.5(π/2=90度)であり、Q信号の振幅は1であった。
【0030】
図5は、Q信号の位相誤差の周波数特性の一例を示す図である。図5において、横軸は規格化した周波数を表し、縦軸はQ信号の位相誤差をdegree(度)単位で表す。Q信号の位相誤差は、-90度に対する誤差である。図5に示すように、周波数の変化に対してQ信号の位相誤差は、±0.64度であり、上下の振れ幅が等しい等リップルの特性が得られていることを確認できた。位相誤差が良好な値であるかどうかの目安は、一例として絶対値で1度未満である。
【0031】
<次数Nと群遅延数Mの組み合わせ>
図6は、次数Nと群遅延数Mの組み合わせと、下限周波数fl、上限周波数fh、設計帯域幅B、位相誤差、及びフィルタ係数a0~a9との関係の一例を示す表を示す図である。ここでは、サンプリング周波数の1/2であるナイキスト周波数で規格化しており、ナイキスト周波数の1/2を中心に下限周波数flと上限周波数fhとが対称となるように設定しているため、下限周波数flと上限周波数fhには、fl+fh=1の関係がある。
【0032】
図6の表には、N=9で、M=N-3=6、M=N-2=7、M=N-1=8、M=N=9の4種類の次数Nと群遅延数Mの組み合わせにおいて、下限周波数flを0.1、上限周波数fhを0.9、設計帯域幅Bを0.8に設定した場合に求めた、位相誤差及びフィルタ係数a0~a9の計算結果を示す。ここでは、フィルタ係数a0~a9のうちの最大値が1となるように正規化したすべてのフィルタ係数a0~a9を示す。フィルタ係数aiは、負の値を取ることもある。ここでは、フィルタ係数a0~a9の最大値が1になるようにしている。また、位相誤差は絶対値で示す。
【0033】
M=N-3=6の場合には、位相誤差が0.64度と良好な値であり、フィルタ係数a0~a9のうち、インデックスiが偶数のフィルタ係数aiがゼロになった。具体的には、フィルタ係数a0、a2、a4、a6、a8がゼロであった。ここで、図6に示すフィルタ係数aiは、有効数字が小数点第3位までであり、小数点第4位を四捨五入した値である。これらの値は、図20を用いて後述する処理によって求めた値である。
【0034】
また、M=N-2=7の場合には、位相誤差が0.64度と良好な値であり、フィルタ係数a0~a9のうち、インデックスiが0から2つずつのフィルタ係数aiが同一値になった。具体的には、フィルタ係数a0及びa1はともに1であり、フィルタ係数a2及びa3はともに-0.486であり、フィルタ係数a4及びa5はともに-0.104であり、フィルタ係数a6及びa7はともに-0.039であり、フィルタ係数a8及びa9はともに-0.019であった。このようにインデックスiが0から2つずつのフィルタ係数aiが同一値になっているのは、インデックスiが0から2つずつのフィルタ係数aiを2つのフィルタ係数aiの平均値に設定したからである。これらの値は、図21を用いて後述する処理によって求めた値である。
【0035】
また、M=N-1=8の場合には、位相誤差が0.64度と良好な値であり、フィルタ係数a0~a9のうち、インデックスiが奇数のフィルタ係数aiがゼロになった。具体的には、フィルタ係数a1、a3、a5、a7、a9がゼロであった。ここで、図6に示すフィルタ係数aiは、有効数字が小数点第3位までであり、小数点第4位を四捨五入した値である。これらの値は、図22を用いて後述する処理によって求めた値である。
【0036】
また、M=N=9の場合には、位相誤差が8.40度と良好ではない値になった。このため、N=9の場合に、M=N-3、M=N-2、及び、M=N-1の次数Nと群遅延数Mの組み合わせについては、位相誤差が良好であることから、IIR型全域通過フィルタ100として利用可能であり、M=Nの次数Nと群遅延数Mの組み合わせについては、利用可能ではないことが分かった。なお、M=N=9の場合のフィルタ係数の求め方については、図21の説明の末尾に記す。
【0037】
また、M=N-3の次数Nと群遅延数Mの組み合わせについては、フィルタ係数a0~a9のうちのインデックスiが偶数のフィルタ係数aiがゼロになるため、図2Bに示す信号処理部110-2~110-9のアンプ114とアンプ120との合計9個のアンプのうちの約半分(4個)と、その周辺の構成要素とを削減できることが分かった。
【0038】
同様に、M=N-1の次数Nと群遅延数Mの組み合わせについては、フィルタ係数a0~a9のうちのインデックスiが奇数のフィルタ係数aiがゼロになるため、図2Aに示す信号処理部110-1~110-9のアンプ114とアンプ120との合計10個のアンプのうちの半分(5個)と、その周辺の構成要素とを削減できることが分かった。
【0039】
また、M=N-2の次数Nと群遅延数Mの組み合わせについては、インデックスiが0から2つずつのフィルタ係数aiに対応する2つのアンプを1つにまとめる(1つの共通のアンプにする)ことによって、図2Aに示す信号処理部110-1~110-9のアンプ114とアンプ120との合計10個のアンプのうちの半分(5個)と、その周辺の構成要素とを削減できることが分かった。より具体的には、アンプ120と信号処理部110-1のアンプ114とを1つの共通のアンプとし、信号処理部110-2及び110-3のアンプ114を1つの共通のアンプとし、信号処理部110-4及び110-5のアンプ114を1つの共通のアンプとし、信号処理部110-6及び110-7のアンプ114を1つの共通のアンプとし、信号処理部110-8及び110-9のアンプ114を1つの共通のアンプとすることによって、アンプを半減できることが分かった。また、アンプを削減することによって、具体的にはその前後の構成要素も削減できる。具体的には、図7乃至図9に示す通りである。
【0040】
<回路構成を低減したIIR型全域通過フィルタ100(M=N-3)>
図7は、回路構成を低減したIIR型全域通過フィルタ100を示す図である。図7には、M=N-3のIIR型全域通過フィルタ100の構成を示す。N=9でM=N-3=6の場合には、フィルタ係数a0がゼロになることから図2Bに示すIIR型全域通過フィルタ100を用いて、フィルタ係数a2、a4、a6、a8がゼロになるため、信号処理部110-2、110-4、110-6、110-8のアンプ114(a2、a4、a6、a8)を経路ごと削除することができる。また、信号処理部110-2、110-4、110-6、110-8のアンプ114(a2、a4、a6、a8)を経路ごと削除することにより、信号処理部110-2、110-4、110-6、110-8の加算器113を経路ごと削除することができる。
【0041】
また、信号処理部110-2、110-4、110-6、110-8のアンプ114(a2、a4、a6、a8)を削除することにより、加算器130-2、130-4、130-6、130-8を削除することができる。また、アンプ120はフィルタ係数a1が1(a1=1)であるため、アンプ120を除去して信号処理部110-2の遅延器111の出力端子を加算器130-0の一方の入力端子に接続すればよい。更に、アンプ140(1/a1)を除去して、加算器130-0の出力端子を信号処理部110-2の遅延器112の入力端子と出力端子102とに接続すればよい。
【0042】
この結果、図7に示す回路構成のIIR型全域通過フィルタ100を設計することができる。図7に示すN=9でM=N-3=6のIIR型全域通過フィルタ100は、図2Bに示すIIR型全域通過フィルタ100に比べて、回路構成が大幅に削減されており、小形化、低コスト化、及び消費電力の低下を実現することができる。図7に示すN=9でM=N-3=6のIIR型全域通過フィルタ100は、図9を用いて後述するN=9でM=N-1=8のIIR型全域通過フィルタ100よりも構成要素を削減できている。
【0043】
<回路構成を低減したIIR型全域通過フィルタ100(M=N-2)>
図8は、回路構成を低減したIIR型全域通過フィルタ100を示す図である。図8には、M=N-2のIIR型全域通過フィルタ100の構成を示す。N=9でM=N-2=7の場合には、フィルタ係数a0及びa1がともに1であるため、アンプ120と信号処理部110-1のアンプ114を削除して、信号処理部110-1の遅延器111の出力端子と加算器113の出力端子とを、新たに追加した加算器150-0を介して加算器130-0の一方の入力端子に接続すればよい。
【0044】
また、フィルタ係数a2及びa3、フィルタ係数a4及びa5、フィルタ係数a6及びa7、フィルタ係数a8及びa9がそれぞれ同一値になる。このため、信号処理部110-3、110-5、110-7、110-9のアンプ114(a3、a5、a7、a9)を削除して、信号処理部110-3、110-5、110-7、110-9の加算器113の出力端子を、新たに追加した加算器150-2、150-4、150-6、150-8を介して、信号処理部110-2、110-4、110-6、110-8のアンプ114(a、a4、a6、a8)の入力端子に接続すればよい。
【0045】
また、信号処理部110-1、110-3、110-5、110-7、110-9のアンプ114(a1、a3、a5、a7、a9)を削除したことにより、加算器130-1、130-3、130-5、130-7、130-8を削除することができる。また、フィルタ係数a0=1であるため、増幅率が1/a0のアンプ140を削除して、加算器130-0の出力端子を出力端子102に接続すればよい。
【0046】
この結果、図8に示す回路構成のIIR型全域通過フィルタ100を設計することができる。図8に示すN=9でM=N-2=7のIIR型全域通過フィルタ100は、図7に示すIIR型全域通過フィルタ100よりは回路構成が少し多いが、図2Aに示すIIR型全域通過フィルタ100に比べて、回路構成を十分に削減できており、小形化、低コスト化、及び消費電力の低下を実現することができる。
【0047】
<回路構成を低減したIIR型全域通過フィルタ100(M=N-1)>
図9は、回路構成を低減したIIR型全域通過フィルタ100を示す図である。図9には、M=N-1のIIR型全域通過フィルタ100の構成を示す。N=9でM=N-1=8の場合には、フィルタ係数a1、a3、a5、a7、a9がゼロになるため、信号処理部110-1、110-3、110-5、110-7、110-9のアンプ114(a1、a3、a5、a7、a9)を経路ごと削除することができる。また、信号処理部110-1、110-3、110-5、110-7、110-9のアンプ114(a1、a3、a5、a7、a9)を経路ごと削除することにより、信号処理部110-1、110-3、110-5、110-7、110-9の加算器113を経路ごと削除することができる。また、信号処理部110-9の加算器113を削除したことにより、信号処理部110-9の遅延器112も削除することができる。
【0048】
また、信号処理部110-1、110-3、110-5、110-7のアンプ114(a1、a3、a5、a7)を削除することにより、加算器130-1、130-3、130-5、130-7を削除することができる。また、信号処理部110-9のアンプ114(a9)を削除することにより、加算器130-8を削除することができる。また、フィルタ係数a0=1であるため、アンプ120と、増幅率が1/a0のアンプ140とを削除して、信号処理部110-1の遅延器111の出力端子を加算器130-0の一方の入力端子に接続するとともに、加算器130-0の出力端子を出力端子102に接続すればよい。
【0049】
この結果、図9に示す回路構成のIIR型全域通過フィルタ100を設計することができる。図9に示すN=9でM=N-1=8のIIR型全域通過フィルタ100は、図2Aに示すIIR型全域通過フィルタ100に比べて、回路構成が大幅に削減されており、小形化、低コスト化、及び消費電力の低下を実現することができる。
【0050】
次に、M=N-2とM=N-1のIIR型全域通過フィルタ100の周波数特性について説明する。なお、M=N-3のIIR型全域通過フィルタ100の周波数特性は、図3乃至図5に示した通りである。
【0051】
<IIR型全域通過フィルタ100の周波数特性(M=N-2)>
図10は、次数Nが9で、M=N-2のIIR型全域通過フィルタ100の周波数特性の一例を示す図である。図10(A)において、横軸は周波数、縦軸は累積位相(Cumulative phase)を表す。横軸の周波数は規格化した周波数であるため、単位はない。縦軸の累積位相は、1/πラジアン(rad)の数を表す。図10には、I信号を破線で示し、Q信号を実線で示す。
【0052】
デジタル信号遅延回路8(図1参照)から出力されるI信号は、周波数が0から1まで変化する間に-7π移相する特性になっている。Q信号は、周波数が0.1~0.9の周波数帯域においてI信号よりも位相が90度遅れており、周波数の増大に対して線形的に変化する特性(π/2移相特性)を有する。図10(A)に示す周波数特性を有するIIR型全域通過フィルタ100は、次数Nが9で、M=N-2であるため、群遅延数Mが7(M=7)である。実際に、周波数が0.1から0.9まで変化する間に線形的に累積位相が-5.6(-1.2から-6.8まで)変化するので、群遅延数はI信号と同時に7となる。
【0053】
また、図10(B)は、I信号及びQ信号の位相差の周波数特性の一例を示す図である。図10(B)において、横軸は規格化した周波数を表し、左の縦軸はI信号及びQ信号の位相差を1/πラジアン(rad)の数で表す。右側の縦軸はQ信号の振幅を表す。図10(B)には、I信号及びQ信号の位相差を実線で示し、Q信号の振幅を破線で示す。
【0054】
図10(B)に示すように、周波数が0.1~0.9の周波数帯域において、I信号及びQ信号の位相差は、略0.5(π/2=90度)であり、Q信号の振幅は1であった。
【0055】
図10(C)は、Q信号の位相誤差の周波数特性の一例を示す図である。図10(C)において、横軸は規格化した周波数を表し、縦軸はQ信号の位相誤差をdegree(度)単位で表す。Q信号の位相誤差は、-90度に対する誤差である。図10(C)に示すように、周波数の変化に対してQ信号の位相誤差は、±0.64度であり、上下の振れ幅が等しい良好な等リップルの特性が得られていることを確認できた。
【0056】
<IIR型全域通過フィルタ100の周波数特性(M=N-1)>
図11は、次数Nが9で、M=N-1のIIR型全域通過フィルタ100の周波数特性の一例を示す図である。図11(A)において、横軸は周波数、縦軸は累積位相(Cumulative phase)を表す。横軸の周波数は規格化した周波数であるため、単位はない。縦軸の累積位相は、1/πラジアン(rad)の数を表す。図11には、I信号を破線で示し、Q信号を実線で示す。
【0057】
デジタル信号遅延回路8(図1参照)から出力されるI信号は、周波数が0から1まで変化する間に-8π移相する特性になっている。Q信号は、周波数が0.1~0.9の周波数帯域においてI信号よりも位相が90度遅れており、周波数の増大に対して線形的に変化する特性(π/2移相特性)を有する。図11(A)に示す周波数特性を有するIIR型全域通過フィルタ100は、次数Nが9で、M=N-1であるため、群遅延数Mが8(M=8)である。実際に、周波数が0.1から0.9まで変化する間に線形的に累積位相が-6.4(-1.3から-7.7まで)変化するので、群遅延数はI信号と同時に8となる。
【0058】
また、図11(B)は、I信号及びQ信号の位相差の周波数特性の一例を示す図である。図11(B)において、横軸は規格化した周波数を表し、左の縦軸はI信号及びQ信号の位相差を1/πラジアン(rad)の数で表す。右側の縦軸はQ信号の振幅を表す。図11(B)には、I信号及びQ信号の位相差を実線で示し、Q信号の振幅を破線で示す。
【0059】
図11(B)に示すように、周波数が0.1~0.9の周波数帯域において、I信号及びQ信号の位相差は、略0.5(π/2=90度)であり、Q信号の振幅は1であった。
【0060】
図11(C)は、Q信号の位相誤差の周波数特性の一例を示す図である。図11(C)において、横軸は規格化した周波数を表し、縦軸はQ信号の位相誤差をdegree(度)単位で表す。Q信号の位相誤差は、-90度に対する誤差である。図11(C)に示すように、周波数の変化に対してQ信号の位相誤差は、±0.64度であり、上下の振れ幅が等しい良好な等リップルの特性が得られていることを確認できた。
【0061】
<IIR型全域通過フィルタ100の構成(N=10)>
図12は、実施形態のIIR型全域通過フィルタ100(N=10)の構成の一例を示す図である。図12に示すIIR型全域通過フィルタ100は、次数Nが10のフィルタである。
【0062】
次数Nが10のIIR型全域通過フィルタ100は、図2Aに示す次数Nが9のIIR型全域通過フィルタ100に対して、信号処理部110-10と、加算器130-9とを追加した構成を有する。すなわち、次数Nが10のIIR型全域通過フィルタ100は、入力端子101と出力端子102との間に設けられる、10個の信号処理部110-1~110-10と、アンプ120と、10個の加算器130-0~130-9と、アンプ140とを含む。信号処理部110-1~110-10のアンプ114のフィルタ係数はa0~a10である。
【0063】
図13は、次数Nと群遅延数Mの組み合わせと、下限周波数fl、上限周波数fh、設計帯域幅B、位相誤差、及びフィルタ係数a0~a9との関係の一例を示す表を示す図である。
【0064】
図13の表には、N=10で、M=N-3=7、M=N-2=8、M=N-1=9、M=N=10の4種類の次数Nと群遅延数Mの組み合わせにおいて、下限周波数flを0.1、上限周波数fhを0.9、設計帯域幅Bを0.8に設定した場合に求めた、位相誤差及びフィルタ係数a0~a10の計算結果を示す。ここでは、フィルタ係数a0~a10のうちの最大値が1となるように正規化したすべてのフィルタ係数a0~a10を示す。フィルタ係数aiは、負の値を取ることもある。ここでは、フィルタ係数a0~a10の最大値が1になるようにしている。また、位相誤差は絶対値で示す。
【0065】
M=N-3=7の場合には、位相誤差が0.64度と良好な値であり、フィルタ係数a0~a10のうち、インデックスiが奇数のフィルタ係数aiがゼロになった。具体的には、フィルタ係数a1、a3、a5、a7、a9がゼロであった。ここで、図13に示すフィルタ係数aiは、有効数字が小数点第3位までであり、小数点第4位を四捨五入した値である。これらの値は、図20を用いて後述する処理によって求めた値である。
【0066】
また、M=N-2=8の場合には、位相誤差が2.86度と少し高い値であり、フィルタ係数a0~a10のうち、インデックスiが0から2つずつのフィルタ係数aiが同一値になった。具体的には、フィルタ係数a0及びa1はともに1であり、フィルタ係数a2及びa3はともに-0.487であり、フィルタ係数a4及びa5はともに-0.105であり、フィルタ係数a6及びa7はともに-0.034であり、フィルタ係数a8及びa9はともに-0.004であった。このようにインデックスiが0から2つずつのフィルタ係数aiが同一値になっているのは、インデックスiが0から2つずつのフィルタ係数aiを2つのフィルタ係数aiの平均値に設定したからである。なお、フィルタ係数a10も-0.004であったが、小数点第4位の値はフィルタ係数a8及びa9とは異なる値であった。これらの値は、図21を用いて後述する処理によって求めた値である。
【0067】
また、M=N-1=9の場合には、位相誤差が0.89度と良好な値であり、フィルタ係数a0~a10のうち、インデックスiが奇数のフィルタ係数aiがゼロになった。具体的には、フィルタ係数a1、a3、a5、a7、a9がゼロであった。ここで、図13に示すフィルタ係数aiは、有効数字が小数点第3位までであり、小数点第4位を四捨五入した値である。これらの値は、図22を用いて後述する処理によって求めた値である。
【0068】
また、M=N=10の場合には、位相誤差が22.23度と良好ではない値になった。このため、N=10の場合に、M=N-3、M=N-2、及び、M=N-1の次数Nと群遅延数Mの組み合わせについては、位相誤差が良好であることから、IIR型全域通過フィルタ100として利用可能であり、M=Nの次数Nと群遅延数Mの組み合わせについては、利用可能ではないことが分かった。なお、M=N=10の場合のフィルタ係数の求め方については、図21の説明の末尾に記す。
【0069】
また、M=N-3の次数Nと群遅延数Mの組み合わせについては、フィルタ係数a0~a10のうちのインデックスiが奇数のフィルタ係数aiがゼロになるため、図12に示す信号処理部110-1~110-10のアンプ114とアンプ120との合計11個のアンプのうちの約半分(5個)と、その周辺の構成要素とを削減できることが分かった。
【0070】
同様に、M=N-1の次数Nと群遅延数Mの組み合わせについては、フィルタ係数a0~a10のうちのインデックスiが奇数のフィルタ係数aiがゼロになるため、図12に示す信号処理部110-1~110-10のアンプ114とアンプ120との合計11個のアンプのうちの約半分(5個)と、その周辺の構成要素とを削減できることが分かった。
【0071】
また、M=N-2の次数Nと群遅延数Mの組み合わせについては、信号処理部110-1~110-10のうちの信号処理部110-1~110-9について、インデックスiが0から2つずつのフィルタ係数aiに対応する2つのアンプを1つにまとめる(1つの共通のアンプにする)ことによって、図12に示す信号処理部110-1~110-10のアンプ114とアンプ120との合計11個のアンプのうちの約半分(5個)を削減できることが分かった。より具体的には、アンプ120と信号処理部110-1のアンプ114とを1つの共通のアンプとし、信号処理部110-2及び110-3のアンプ114を1つの共通のアンプとし、信号処理部110-4及び110-5のアンプ114を1つの共通のアンプとし、信号処理部110-6及び110-7のアンプ114を1つの共通のアンプとし、信号処理部110-8及び110-9のアンプ114を1つの共通のアンプとすることによって、アンプを半減できることが分かった。また、アンプを削減することによって、具体的にはその前後の構成要素も削減できる。なお、N=10で、M=N-3、M=N-2、M=N-1の場合に回路構成を削減したIIR型全域通過フィルタ100の具体的な回路構成については、N=9で、M=N-3、M=N-2、M=N-1のIIR型全域通過フィルタ100(図7乃至図9)と同様の手法によるものであるため、ここでは省略する。
【0072】
<IIR型全域通過フィルタ100の周波数特性(M=N-3)>
図14は、次数Nが10で、M=N-3のIIR型全域通過フィルタ100の周波数特性の一例を示す図である。図14(A)において、横軸は周波数、縦軸は累積位相(Cumulative phase)を表す。横軸の周波数は規格化した周波数であるため、単位はない。縦軸の累積位相は、1/πラジアン(rad)の数を表す。図14には、I信号を破線で示し、Q信号を実線で示す。
【0073】
デジタル信号遅延回路8(図1参照)から出力されるI信号は、周波数が0から1まで変化する間に-7π移相する特性になっている。Q信号は、周波数が0.1~0.9の周波数帯域においてI信号よりも位相が90度遅れており、周波数の増大に対して線形的に変化する特性(π/2移相特性)を有する。図14(A)に示す周波数特性を有するIIR型全域通過フィルタ100は、次数Nが10で、M=N-3であるため、群遅延数Mが7(M=7)である。実際に、周波数が0.1から0.9まで変化する間に線形的に累積位相が-5.6(-1.2から-6.8まで)変化するので、群遅延数はI信号と同時に7となる。
【0074】
また、図14(B)は、I信号及びQ信号の位相差の周波数特性の一例を示す図である。図14(B)において、横軸は規格化した周波数を表し、左の縦軸はI信号及びQ信号の位相差を1/πラジアン(rad)の数で表す。右側の縦軸はQ信号の振幅を表す。図14(B)には、I信号及びQ信号の位相差を実線で示し、Q信号の振幅を破線で示す。
【0075】
図14(B)に示すように、周波数が0.1~0.9の周波数帯域において、I信号及びQ信号の位相差は、略0.5(π/2=90度)であり、Q信号の振幅は1であった。
【0076】
図14(C)は、Q信号の位相誤差の周波数特性の一例を示す図である。図14(C)において、横軸は規格化した周波数を表し、縦軸はQ信号の位相誤差をdegree(度)単位で表す。Q信号の位相誤差は、-90度に対する誤差である。図14(C)に示すように、周波数の変化に対してQ信号の位相誤差は、±0.64度であり、上下の振れ幅が等しい良好な等リップルの特性が得られていることを確認できた。なお、周波数が0.5の位置において、上下にリップルが生じているのは、シミュレーションにおける計算の都合によって生じたものであり、実際の位相誤差の特性は、周波数の変化に対して連続的に変化している。
【0077】
<IIR型全域通過フィルタ100の周波数特性(M=N-2)>
図15は、次数Nが10で、M=N-2のIIR型全域通過フィルタ100の周波数特性の一例を示す図である。図15(A)において、横軸は周波数、縦軸は累積位相(Cumulative phase)を表す。横軸の周波数は規格化した周波数であるため、単位はない。縦軸の累積位相は、1/πラジアン(rad)の数を表す。図15には、I信号を破線で示し、Q信号を実線で示す。
【0078】
デジタル信号遅延回路8(図1参照)から出力されるI信号は、周波数が0から1まで変化する間に-8π移相する特性になっている。Q信号は、周波数が0.1~0.9の周波数帯域においてI信号よりも位相が90度遅れており、周波数の増大に対して線形的に変化する特性(π/2移相特性)を有する。図15(A)に示す周波数特性を有するIIR型全域通過フィルタ100は、次数Nが10で、M=N-2であるため、群遅延数Mが8(M=8)である。実際に、周波数が0.1から0.9まで変化する間に線形的に累積位相が-6.4(-1.3から-7.7まで)変化するので、群遅延数はI信号と同時に8となる。
【0079】
また、図15(B)は、I信号及びQ信号の位相差の周波数特性の一例を示す図である。図15(B)において、横軸は規格化した周波数を表し、左の縦軸はI信号及びQ信号の位相差を1/πラジアン(rad)の数で表す。右側の縦軸はQ信号の振幅を表す。図15(B)には、I信号及びQ信号の位相差を実線で示し、Q信号の振幅を破線で示す。
【0080】
図15(B)に示すように、周波数が0.1~0.9の周波数帯域において、I信号及びQ信号の位相差は、略0.5(π/2=90度)であり、Q信号の振幅は1であった。
【0081】
図15(C)は、Q信号の位相誤差の周波数特性の一例を示す図である。図15(C)において、横軸は規格化した周波数を表し、縦軸はQ信号の位相誤差をdegree(度)単位で表す。Q信号の位相誤差は、-90度に対する誤差である。図15(C)に示すように、周波数の変化に対してQ信号の位相誤差は、正側の方が大きく+2.86度であり、等リップルの特性は得られなかった。なお、位相誤差は大きいが、用途によっては利用可能なIIR型全域通過フィルタ100である。
【0082】
<IIR型全域通過フィルタ100の周波数特性(M=N-1)>
図16は、次数Nが10で、M=N-1のIIR型全域通過フィルタ100の周波数特性の一例を示す図である。図16(A)において、横軸は周波数、縦軸は累積位相(Cumulative phase)を表す。横軸の周波数は規格化した周波数であるため、単位はない。縦軸の累積位相は、1/πラジアン(rad)の数を表す。図16には、I信号を破線で示し、Q信号を実線で示す。
【0083】
デジタル信号遅延回路8(図1参照)から出力されるI信号は、周波数が0から1まで変化する間に-9π移相する特性になっている。Q信号は、周波数が0.1~0.9の周波数帯域においてI信号よりも位相が90度遅れており、周波数の増大に対して線形的に変化する特性(π/2移相特性)を有する。図16(A)に示す周波数特性を有するIIR型全域通過フィルタ100は、次数Nが10で、M=N-1であるため、群遅延数Mが9(M=9)である。実際に、周波数が0.1から0.9まで変化する間に線形的に累積位相が-7.2(-1.4から-8.6まで)変化するので、群遅延数はI信号と同時に9となる。
【0084】
また、図16(B)は、I信号及びQ信号の位相差の周波数特性の一例を示す図である。図16(B)において、横軸は規格化した周波数を表し、左の縦軸はI信号及びQ信号の位相差を1/πラジアン(rad)の数で表す。右側の縦軸はQ信号の振幅を表す。図16(B)には、I信号及びQ信号の位相差を実線で示し、Q信号の振幅を破線で示す。
【0085】
図16(B)に示すように、周波数が0.1~0.9の周波数帯域において、I信号及びQ信号の位相差は、略0.5(π/2=90度)であり、Q信号の振幅は1であった。
【0086】
図16(C)は、Q信号の位相誤差の周波数特性の一例を示す図である。図16(C)において、横軸は規格化した周波数を表し、縦軸はQ信号の位相誤差をdegree(度)単位で表す。Q信号の位相誤差は、-90度に対する誤差である。図16(C)に示すように、周波数の変化に対してQ信号の位相誤差は、±0.89度であり、等リップルの特性ではないが、実用的に利用可能な誤差特性が得られていることを確認できた。
【0087】
<フィルタ設計方法を実現するコンピュータシステム20>
図17は、コンピュータシステム20を示す図である。コンピュータシステム20は、本体部21、ディスプレイ22、キーボード23、マウス24、及びモデム25を含み、実施形態のフィルタ設計プログラムがインストールされるサーバとして利用される。実施形態のフィルタ設計プログラムが実行されることにより、実施形態のフィルタ設計方法が実現される。コンピュータシステム20は、フィルタ設計装置200として機能する。このため、符号20に括弧書きで符号200を記す。
【0088】
本体部21は、CPU(Central Processing Unit:中央演算装置)、HDD(Hard Disk Drive:ハードディスクドライブ)、及びディスクドライブ等を内蔵する。ディスプレイ22は、本体部21からの指示により画面22A上に処理結果等を表示する。ディスプレイ22は、例えば、液晶モニタであればよい。キーボード23は、コンピュータシステム20に種々の情報を入力するための入力部である。マウス24は、ディスプレイ22の画面22A上の任意の位置を指定する入力部である。モデム25は、外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする。
【0089】
実施形態のフィルタ設計プログラムは、ディスク27等の可搬型記録媒体に格納されるか、モデム25等の通信装置を使って他のコンピュータシステムの記録媒体26からダウンロードされ、コンピュータシステム20に入力されてコンパイルされる。また、可搬型記録媒体は、ICカードメモリ、フロッピー(登録商標)ディスク等の磁気ディスク、光磁気ディスク、CD-ROM、USB(Universal Serial Bus)メモリ等であってもよい。また、可搬型記録媒体の代わりに、モデム25又はLAN等の通信装置を介して接続されるコンピュータシステムでアクセス可能なコンピュータ読み取り可能な記録媒体を用いてもよい。
【0090】
図18は、コンピュータシステム20の本体部21内の要部の構成を説明するブロック図である。本体部21は、バス30によって接続されたCPU31、RAM又はROM等を含むメモリ部32、ディスク27用のディスクドライブ33、及びハードディスクドライブ(HDD)34を含む。なお、コンピュータシステム20は、図17及び図18に示す構成のものに限定されず、各種周知の要素を付加してもよく、又は代替的に用いてもよい。
【0091】
<機能ブロック>
図19は、フィルタ設計装置200の機能ブロックを示す図である。コンピュータシステム20がフィルタ設計プログラムを実行することにより、コンピュータシステム20はフィルタ設計装置200として機能する。
【0092】
フィルタ設計装置200は、主制御部201、入力処理部202、パラメータ設定部203、フィルタ係数算出部204、インデックス抽出部205、削減処理部206、及びメモリ207を有する。主制御部201、入力処理部202、パラメータ設定部203、フィルタ係数算出部204、インデックス抽出部205、削減処理部206は、コンピュータシステム20が実行するフィルタ設計プログラムの機能(ファンクション)を機能ブロックとして示したものである。また、メモリ207は、コンピュータシステム20のメモリを機能的に表したものである。
【0093】
主制御部201は、フィルタ設計装置200の処理を統括する処理部であり、入力処理部202、パラメータ設定部203、フィルタ係数算出部204、インデックス抽出部205、削減処理部206が実行する処理以外の処理を実行する。
【0094】
入力処理部202は、次数Nと、IIR型全域通過フィルタの設計帯域幅Bとの入力を受け付ける処理を行う。次数Nと設計帯域幅Bは、利用者がキーボード23やマウス24を利用して入力する。
【0095】
パラメータ設定部203は、設計帯域幅Bを用いて、下限周波数flと、上限周波数fhとを設定する処理を行う。
【0096】
フィルタ係数算出部204は、N個の信号処理部110-1~110-Nの出力に乗じるN個のフィルタ係数a1~aNと、入力端子101からN番目の信号処理部110-1の遅延器111の出力に乗じるフィルタ係数a0とを含むフィルタ係数ai(i=0~N)がπ/2移相特性を実現するように算出することであって、Remezアルゴリズムにより、複素振幅誤差の振幅値が極値を示す周波数の変化が所定値以下に収束するまでフィルタ係数aiを算出する処理を行う。
【0097】
また、フィルタ係数算出部204は、インデックス抽出部205によって、フィルタ係数aiの最大値と、最大値を与えるフィルタ係数aiのインデックスi(imaxとする)とが抽出されると、次のような処理を行う。
【0098】
フィルタ係数算出部204は、群遅延数Mが次数N-3のとき、次数Nが奇数でインデックスimaxが1の場合はインデックスiが偶数のフィルタ係数aiをゼロに設定し、次数Nが偶数でインデックスimaxが0の場合はインデックスiが奇数のフィルタ係数aiをゼロにする処理を行う。
【0099】
フィルタ係数算出部204は、群遅延数Mが次数N-1のとき、インデックスimaxが0の場合はインデックスiが奇数のフィルタ係数aiをゼロにする処理を行う。
【0100】
フィルタ係数算出部204は、群遅延数Mが次数N-2のとき、インデックスimaxが0又は1の場合はインデックスiが0から2つずつのフィルタ係数aiを同一値(2つのフィルタ係数の平均値)にする処理を行う。
【0101】
インデックス抽出部205は、フィルタ係数aiの最大値と、最大値を与えるフィルタ係数aiのインデックスi(imaxとする)とを抽出する処理を行う。
【0102】
削減処理部206は、信号処理部110-1~110-Nのうちのフィルタ係数aiがゼロにされたインデックスiに対応する信号処理部の構成要素を低減する処理、又は、信号処理部110-1~110-Nのうちのフィルタ係数aiを同一値にされたインデックスiに対応する2つの信号処理部のうちの一方の構成要素を低減する処理を行う。
【0103】
メモリ207は、フィルタ設計プログラムを格納する。また、メモリ207は、算出されたフィルタ係数aiを格納するほか、主制御部201、入力処理部202、パラメータ設定部203、フィルタ係数算出部204、インデックス抽出部205、削減処理部206が処理を行うために必要なデータや、処理で生じたデータ等を格納する。
【0104】
<フィルタ設計方法における計算>
次に、IIR型全域通過フィルタ100を設計するための計算方法について説明する。この計算は、フィルタ係数算出部204が実行する。
【0105】
まず、次式(1)に従ってAdを求める。Adは、一定の群遅延特性を有するπ/2移相の全域通過フィルタの周波数特性であり、フィルタ設計で狙う所望の特性である。ここで、fは正規化した周波数であり、図3乃至図5図10図11図14乃至図16の横軸の周波数に相当する。周波数fは0≦f≦1の範囲を取り、f=1はナイキスト周波数である。また、jは虚数単位(√-1)である。
【0106】
【数1】
【0107】
ここで、式(1)におけるθdはQ信号の所望の累積位相を表し、次式(2)で表される。Q信号の位相は、I信号の位相(-πMf)に対してπ/2遅れている。
【0108】
【数2】
【0109】
IIR型全域通過フィルタ100の周波数特性は、次式(3)で算出される。
【0110】
【数3】
【0111】
複素振幅誤差としての振幅誤差を評価する評価関数は式(1)と式(3)の差分として定義し、次式(4)で表される。
【0112】
【数4】
【0113】
誤差関数の振幅値E*(f)が所定値以下になるように、次式(5)を用いてフィルタ係数aiを最適近似する。
【0114】
【数5】
【0115】
式(5)の|D(f)|は次式(6)で算出される。
【0116】
【数6】
【0117】
誤差関数の振幅値E*(f)が所定値以下になるようにするためには、具体的には、誤差関数の振幅値E*(f)が周波数ポイントfk(kは0~N)で等リップルになるように、次式(7)を用いてフィルタ係数を最適化する。
【0118】
【数7】
【0119】
式(7)をフィルタ係数aiを使った表現で展開すると次式(8)となる。インデックスiは0~Nであり、δは所定値である。
【0120】
【数8】
【0121】
N+1個の周波数ポイントfkに対して式(8)を定式化し、フィルタ係数aiに関して整理すると次式(9)のような行列で表され、これよりフィルタ係数aiを求めることができる。
【0122】
【数9】
【0123】
式(9)におけるSkiは次式(10)で表される。インデックスiは0~Nであり、インデックスkも0~Nである。
【0124】
【数10】
【0125】
以上のような計算を行うことにより、例えば、図6及び図13に示したフィルタ係数aiを求めることができる。
【0126】
<フローチャート(M=N-3)>
図20は、フィルタ設計装置200が実行する処理を表すフローチャートである。ここでは、群遅延数MはM=N-3の場合について説明する。
【0127】
入力処理部202は、処理がスタートとすると、設計条件として、次数NとIIR型全域通過フィルタ100の設計帯域幅Bとの入力を受け付ける処理を行う(ステップS10)。次数Nは4以上であり、設計帯域幅Bは0より大きく1未満(0<B<1)である。
【0128】
パラメータ設定部203は、設計パラメータを設定する処理を行う(ステップS11)。設計パラメータは、下限周波数flと、上限周波数fhと、群遅延数Mである。ここでは、群遅延数MはM=N-3である。また、下限周波数flと上限周波数fhは、次式(11)で求まる。ここでは、ナイキスト周波数の1/2である周波数0.5を中心に等しい帯域幅になるように下限周波数flと上限周波数fhを設定する。下限周波数flと上限周波数fhを加算した結果がナイキスト周波数1となるように、下限周波数flと上限周波数fhを設定することと同じである。
【0129】
【数11】
【0130】
フィルタ係数算出部204は、設計初期値を設定する(ステップS12)。具体的には、フィルタ係数算出部204は、周波数ポイントfkをfl~fhの間に等間隔で設定する。ここでk=0~Nである。また、フィルタ係数算出部204は、|D(fk)|を1.0で初期化する。
【0131】
フィルタ係数算出部204は、式(9)、(10)を用いて、IIR型の全域通過フィルタでπ/2移相特性を持つフィルタ係数aiを算出する(ステップS13)。ここでi=0~Nである。
【0132】
インデックス抽出部205は、ステップS13で算出されたフィルタ係数a0~aNのうち、最大値amaxと、最大値を与えるフィルタ係数aiのインデックスimaxとを抽出する(ステップS14)。
【0133】
フィルタ係数算出部204は、次数Nが奇数であるかどうかを判定する(ステップS15)。
【0134】
フィルタ係数算出部204は、次数Nが奇数である(S15:YES)と判定すると、インデックスimaxが1であるかどうかを判定する(ステップS16)。
【0135】
フィルタ係数算出部204は、インデックスimaxが1である(S16:YES)と判定すると、インデックスiが偶数のフィルタ係数aiの値をゼロに設定する(ステップS17)。例えば、図6のM=N-3の計算結果のように、フィルタ係数a0、a2、a4、a6、a8がゼロに設定される。フィルタ係数算出部204は、ステップS17の処理を終えるとフローをステップS20に進めるが、その前にステップS18及びS19について説明する。
【0136】
また、フィルタ係数算出部204は、ステップS15において、次数Nが奇数ではない(S15:NO)と判定すると、インデックスimaxが0であるかどうかを判定する(ステップS18)。
【0137】
フィルタ係数算出部204は、インデックスimaxが0である(S18:YES)と判定すると、インデックスiが奇数のフィルタ係数aiの値をゼロに設定する(ステップS19)。例えば、図13のM=N-3の計算結果のように、フィルタ係数a1、a3、a5、a7、a9がゼロに設定される。フィルタ係数算出部204は、ステップS19の処理を終えるとフローをステップS20に進める。また、フィルタ係数算出部204は、ステップS18において、インデックスimaxが0ではない(S18:NO)と判定した場合もフローをステップS20に進める。
【0138】
フィルタ係数算出部204は、フィルタ係数aiの値を最大値amaxで正規化する(ステップS20)。i=0~Nのすべてについて行う。
【0139】
フィルタ係数算出部204は、式(5)、(6)を用いて誤差関数の振幅値E*(f)を計算する。ここで、式(5)、(6)のfにはfl≦f≦fhの関係を満たす複数の周波数ポイントを代入して計算する。計算された複数の振幅値E*(f)を参照し、その極大値と極小値を示す周波数を探索してfpkに格納する(ステップS21)。k=0~Nである。ここで、複数の周波数ポイントは、振幅値E*(f)の極大値と極小値が判別できる程度の粒度で設定されることが好ましい。
【0140】
フィルタ係数算出部204は、周波数ポイントfkと周波数fpkとの差Δfkを計算し、差Δfk(k=0~N)の最大値Δfkmaxを探索する(ステップS22)。すなわち、Δfk=|fk-fpk|であり、k=0~Nである。
【0141】
フィルタ係数算出部204は、最大値Δfkmaxが所定値以下であるかどうかを判定する(ステップS23)。
【0142】
フィルタ係数算出部204は、最大値Δfkmaxが所定値以下である(S23:YES)と判定すると、フィルタ係数ai(i=0~N)をメモリ207に保存する(ステップS24)。
【0143】
フィルタ係数算出部204は、ステップS24の処理を終えると、一連の処理を終える(END)。
【0144】
また、フィルタ係数算出部204は、ステップS23において、最大値Δfkmaxが所定値以下ではない(S23:NO)と判定すると、周波数ポイントfk(k=0~N)を周波数fpk(k=0~N)で更新する(ステップS25)。すなわち、周波数ポイントf0~fNをそれぞれ周波数fp0~fpNに更新する。
【0145】
フィルタ係数算出部204は、式(6)を用いてfに周波数ポイントfkを代入した|D(fi)|(i=0~N)を計算する(ステップS26)。フィルタ係数算出部204は、ステップS26の処理を終えると、フローをステップS13にリターンする。ステップS13、S14、S20~S26の処理は、Remezアルゴリズムに従って行われる。
【0146】
以上の処理により、次数Nが奇数又は偶数で、M=N-3のときにゼロに設定されるフィルタ係数aiが特定される。
【0147】
削減処理部206は、図20の処理でゼロに設定したフィルタ係数aiのインデックスiに対応する信号処理部110-iの構成要素を削減する。例えばN=9の場合には、図2Bに示す回路構成が、削減処理部206によって図7に示す回路構成に削減される。
【0148】
<フローチャート(M=N-2)>
図21は、フィルタ設計装置200が実行する処理を表すフローチャートである。ここでは、群遅延数MはM=N-2の場合について説明する。
【0149】
入力処理部202は、処理がスタートとすると、設計条件として、次数NとIIR型全域通過フィルタ100の設計帯域幅Bとの入力を受け付ける処理を行う(ステップS110)。次数Nは4以上であり、設計帯域幅Bは0より大きく1未満(0<B<1)である。ステップS110の処理は、図20におけるステップS10の処理と同一である。
【0150】
パラメータ設定部203は、設計パラメータを設定する処理を行う(ステップS111)。設計パラメータは、下限周波数flと、上限周波数fhと、群遅延数Mである。ここでは、群遅延数MはM=N-2である。また、下限周波数flと上限周波数fhは、次式(12)で求まる。ステップS111の処理は、群遅延数Mの設定を除いて図20におけるステップS11の処理と同一である。
【0151】
【数12】
【0152】
フィルタ係数算出部204は、設計初期値を設定する(ステップS112)。具体的には、フィルタ係数算出部204は、周波数ポイントfkをfl~fhの間に等間隔で設定する。ここでk=0~Nである。また、フィルタ係数算出部204は、|D(fk)|を1.0で初期化する。ステップS112の処理は、図20におけるステップS12の処理と同一である。
【0153】
フィルタ係数算出部204は、式(9)、(10)を用いて、IIR型の全域通過フィルタでπ/2移相特性を持つフィルタ係数aiを算出する(ステップS113)。ここでi=0~Nである。ステップS113の処理は、図20におけるステップS13の処理と同一である。
【0154】
インデックス抽出部205は、ステップS113で算出されたフィルタ係数a0~aNのうち、最大値amaxと、最大値を与えるフィルタ係数aiのインデックスimaxとを抽出する(ステップS114)。ステップS114の処理は、図20におけるステップS14の処理と同一である。
【0155】
フィルタ係数算出部204は、インデックスimaxが1であるかどうかを判定する(ステップS115)。
【0156】
また、フィルタ係数算出部204は、インデックスimaxが1ではない(S115:NO)と判定すると、インデックスimaxが0であるかどうかを判定する(ステップS116)。
【0157】
フィルタ係数算出部204は、インデックスimaxが0である(S116:YES)と判定すると、フローをステップS117に進める。
【0158】
フィルタ係数算出部204は、ステップS115において、インデックスimaxが1である(S115:YES)と判定すると、インデックスiが0から2つずつのフィルタ係数aiを2つのフィルタ係数aiの平均値に設定(更新)する(ステップS117)。例えば、フィルタ係数a0、a1については、V01=(a0+a1)/2を計算し、新たなフィルタ係数a0をV01に設定する。同様に、フィルタ係数a2、a3については、V23=(a2+a3)/2を計算し、新たなフィルタ係数a1をV23に設定する。以下、同様である。
【0159】
フィルタ係数算出部204は、フィルタ係数ai(i=0~N)の最大値amaxを平均値V01に更新する(ステップS118)。すなわち、amax=V01=(a0+a1)/2となる。
【0160】
フィルタ係数算出部204は、フィルタ係数aiの値を最大値amaxで正規化する(ステップS120)。i=0~Nのすべてについて行う。ステップS120の処理は、図20におけるステップS20の処理と同一である。
【0161】
フィルタ係数算出部204は、式(5)、(6)を用いて誤差関数の振幅値E*(f)を計算する。ここで、式(5)、(6)のfにはfl≦f≦fhの関係を満たす複数の周波数ポイントを代入して計算する。計算された複数の振幅値E*(f)を参照し、その極大値と極小値を示す周波数を探索してfpkに格納する(ステップS121)。k=0~Nである。ここで、複数の周波数ポイントは、振幅値E*(f)の極大値と極小値が判別できる程度の粒度で設定されることが好ましい。ステップS121の処理は、図20におけるステップS21の処理と同一である。
【0162】
フィルタ係数算出部204は、周波数ポイントfkと周波数fpkとの差Δfkを計算し、差Δfk(k=0~N)の最大値Δfkmaxを探索する(ステップS122)。すなわち、Δfk=|fk-fpk|であり、k=0~Nである。ステップS122の処理は、図20におけるステップS22の処理と同一である。
【0163】
フィルタ係数算出部204は、最大値Δfkmaxが所定値以下であるかどうかを判定する(ステップS123)。ステップS123の処理は、図20におけるステップS23の処理と同一である。
【0164】
フィルタ係数算出部204は、最大値Δfkmaxが所定値以下である(S123:YES)と判定すると、フィルタ係数ai(i=0~N)をメモリ207に保存する(ステップS124)。ステップS124の処理は、図20におけるステップS24の処理と同一である。
【0165】
フィルタ係数算出部204は、ステップS124の処理を終えると、一連の処理を終える(END)。
【0166】
また、フィルタ係数算出部204は、ステップS123において、最大値Δfkmaxが所定値以下ではない(S123:NO)と判定すると、周波数ポイントfk(k=0~N)を周波数fpk(k=0~N)で更新する(ステップS125)。すなわち、周波数ポイントf0~fNをそれぞれ周波数fp0~fpNに更新する。ステップS125の処理は、図20におけるステップS25の処理と同一である。
【0167】
フィルタ係数算出部204は、式(6)を用いてfに周波数ポイントfkを代入した|D(fk)|(k=0~N)を計算する(ステップS126)。フィルタ係数算出部204は、ステップS126の処理を終えると、フローをステップS113にリターンする。ステップS113、S114、S120~S126の処理は、Remezアルゴリズムに従って行われる。
【0168】
以上の処理により、次数Nが奇数又は偶数で、M=N-2のときに2つずつ同じ値に設定されるフィルタ係数aiが特定される。
【0169】
削減処理部206は、図21の処理でフィルタ係数aiを同じ値にされたインデックスiに対応する2つの信号処理部110-iのうちの一方の構成要素を削減する。例えばN=9の場合には、図2Aに示す回路構成が、削減処理部206によって図8に示す回路構成に削減される。
【0170】
なお、図6に示すM=N=9の場合の各値と、図13に示すM=N=10の場合の各値とは、図21に示すフローにおいて、ステップS111でM=Nに設定し、ステップS114の処理を行った後にステップS115、S117、及びS118を経由せずに、ステップS120に処理を進めることによって計算した値である。
【0171】
<フローチャート(M=N-1)>
図22は、フィルタ設計装置200が実行する処理を表すフローチャートである。ここでは、群遅延数MはM=N-1の場合について説明する。
【0172】
入力処理部202は、処理がスタートとすると、設計条件として、次数NとIIR型全域通過フィルタ100の設計帯域幅Bとの入力を受け付ける処理を行う(ステップS210)。次数Nは4以上であり、設計帯域幅Bは0より大きく1未満(0<B<1)である。ステップS210の処理は、図20におけるステップS10の処理と同一である。
【0173】
パラメータ設定部203は、設計パラメータを設定する処理を行う(ステップS211)。設計パラメータは、下限周波数flと、上限周波数fhと、群遅延数Mである。ここでは、群遅延数MはM=N-1である。また、下限周波数flと上限周波数fhは、次式(13)で求まる。ステップS211の処理は、群遅延数Mの設定を除いて図20におけるステップS11の処理と同一である。
【0174】
【数13】
【0175】
フィルタ係数算出部204は、設計初期値を設定する(ステップS212)。具体的には、フィルタ係数算出部204は、周波数ポイントfkをfl~fhの間に等間隔で設定する。ここでk=0~Nである。また、フィルタ係数算出部204は、|D(fk)|を1.0で初期化する。ステップS212の処理は、図20におけるステップS12の処理と同一である。
【0176】
フィルタ係数算出部204は、式(9)、(10)を用いて、IIR型の全域通過フィルタでπ/2移相特性を持つフィルタ係数aiを算出する(ステップS213)。ここでi=0~Nである。ステップS213の処理は、図20におけるステップS13の処理と同一である。
【0177】
インデックス抽出部205は、ステップS213で算出されたフィルタ係数a0~aNのうち、最大値amaxと、最大値を与えるフィルタ係数aiのインデックスimaxとを抽出する(ステップS214)。ステップS214の処理は、図20におけるステップS14の処理と同一である。
【0178】
フィルタ係数算出部204は、インデックスimaxが0であるかどうかを判定する(ステップS218)。
【0179】
また、フィルタ係数算出部204は、インデックスimaxが0である(S218:YES)と判定すると、インデックスiが奇数のフィルタ係数aiの値をゼロに設定する(ステップS219)。例えば、図6のM=N-1の計算結果のように、フィルタ係数a1、a3、a5、a7、a9がゼロに設定される。フィルタ係数算出部204は、ステップS219の処理を終えるとフローをステップS220に進めるが、ステップS218において、インデックスimaxが0ではない(S218:NO)と判定した場合にも、フローをステップS220に進める。
【0180】
フィルタ係数算出部204は、フィルタ係数aiの値を最大値amaxで正規化する(ステップS220)。i=0~Nのすべてについて行う。ステップS220の処理は、図20におけるステップS20の処理と同一である。
【0181】
フィルタ係数算出部204は、式(5)、(6)を用いて誤差関数の振幅値E*(f)を計算する。ここで、式(5)、(6)のfにはfl≦f≦fhの関係を満たす複数の周波数ポイントを代入して計算する。計算された複数の振幅値E*(f)を参照し、その極大値と極小値を示す周波数を探索してfpkに格納する(ステップS221)。k=0~Nである。ここで、複数の周波数ポイントは、振幅値E*(f)の極大値と極小値が判別できる程度の粒度で設定されることが好ましい。ステップS221の処理は、図20におけるステップS21の処理と同一である。
【0182】
フィルタ係数算出部204は、周波数ポイントfkと周波数fpkとの差Δfkを計算し、差Δfk(k=0~N)の最大値Δfkmaxを探索する(ステップS222)。すなわち、Δfk=|fk-fpk|であり、k=0~Nである。ステップS222の処理は、図20におけるステップS22の処理と同一である。
【0183】
フィルタ係数算出部204は、最大値Δfkmaxが所定値以下であるかどうかを判定する(ステップS223)。ステップS223の処理は、図20におけるステップS23の処理と同一である。
【0184】
フィルタ係数算出部204は、最大値Δfkmaxが所定値以下である(S223:YES)と判定すると、フィルタ係数ai(i=0~N)をメモリ207に保存する(ステップS224)。ステップS224の処理は、図20におけるステップS24の処理と同一である。
【0185】
フィルタ係数算出部204は、ステップS224の処理を終えると、一連の処理を終える(END)。
【0186】
また、フィルタ係数算出部204は、ステップS223において、最大値Δfkmaxが所定値以下ではない(S223:NO)と判定すると、周波数ポイントfk(k=0~N)を周波数fpk(k=0~N)で更新する(ステップS225)。すなわち、周波数ポイントf0~fNをそれぞれ周波数fp0~fpNに更新する。ステップS225の処理は、図20におけるステップS25の処理と同一である。
【0187】
フィルタ係数算出部204は、式(6)を用いてfに周波数ポイントfkを代入した|D(fk)|(k=0~N)を計算する(ステップS226)。フィルタ係数算出部204は、ステップS226の処理を終えると、フローをステップS213にリターンする。ステップS213、S214、S220~S226の処理は、Remezアルゴリズムに従って行われる。
【0188】
以上の処理により、次数Nが奇数又は偶数で、M=N-1のときにゼロに設定されるフィルタ係数aiが特定される。
【0189】
削減処理部206は、図22の処理でゼロに設定したフィルタ係数aiのインデックスiに対応する信号処理部110-iの構成要素を削減する。例えばN=9の場合には、図2Aに示す回路構成が、削減処理部206によって図9に示す回路構成に削減される。
【0190】
以上のように、次数Nが9、10で、群遅延数MがM=N-3、M=N-1の場合に、一部のフィルタ係数aiをゼロに設定し、ゼロに設定したフィルタ係数aiのインデックスiに対応する信号処理部110-iの構成要素を削減することができる。また、次数Nが9、10で、群遅延数MがM=N-2の場合には、2つずつのフィルタ係数aiを同じ値に設定し、フィルタ係数aiが同じ値にされたインデックスiに対応する2つの信号処理部110-iのうちの一方の構成要素を削減することができる。
【0191】
したがって、構成要素の削減が可能なフィルタ設計方法、及び、IIR型全域通過フィルタ100を提供することができる。
【0192】
なお、以上では、次数Nが9、10の場合について説明したが、次数Nが4以上であれば、80程度までは構成要素の削減が可能であることを確認できている。次数Nが約80の範囲までカバーできるため、実際に利用可能なほぼすべての次数NのIIR型全域通過フィルタ100について、構成要素の削減するための設計が可能である。
【0193】
以上、本開示の例示的な実施形態のフィルタ設計方法、及び、IIR型全域通過フィルタについて説明したが、本開示は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【0194】
100 IIR型全域通過フィルタ
101 入力端子
102 出力端子
110、110-1~110-10、110-N 信号処理部
111、112 遅延器
113 加算器
114 アンプ
115 加算器
120 アンプ
130 加算器
140 アンプ
200 フィルタ設計装置
201 主制御部
202 入力処理部
203 パラメータ設定部
204 フィルタ係数算出部
205 インデックス抽出部
206 削減処理部
207 メモリ
図1
図2A
図2B
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22