主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

黄油

バタワース フィルターの設計

説明

[b、 a]=黄油(N,Wn)では,正規化されたカットオフ周波数WnをもつN次のローパス デジタル バタワース フィルターの伝達関数の係数が返されます。

[b、 a]=黄油(N,Wn,文件类型)文件类型の値およびWnの要素数に応じてローパス、ハイパス、バンドパスまたはバンドストップのバタワース フィルターを設計します。得られるバンドパスおよびバンドストップの設計は次数が 2.Nです。

メモ:伝達関数型の作成に影響する数値的問題の詳細については、制限を参照してください。

[z,磷、钾]=黄油(___)はローパス、ハイパス、バンドパスまたはバンドストップのデジタル バタワース フィルターを設計し、その零点、極およびゲインを返します。この構文には、前の構文の任意の入力引数を含めることができます。

[A, B, C, D]=黄油(___)はローパス、ハイパス、バンドパスまたはバンドストップのデジタル バタワース フィルターを設計し、その状態空間表現を指定する行列を返します。

[___]=黄油(___, ' s ')はカットオフ角周波数Wnをもつ,ローパス,ハイパス,バンドパスまたはバンドストップのアナログバタワースフィルターを設計します。

すべて折りたたむ

1000赫兹でサンプリングされたデータに対し、カットオフ周波数 300赫兹( 0 . 6. π ラジアン/サンプルに相当)を持つ6次のローパスバタワースフィルターを設計します。その振幅応答と位相応答をプロットします。1000年これを使用してサンプルのランダム信号をフィルター処理します。

fc=300;fs=1000;[b,a]=黄油(6,fc/(fs/2));频率z(b,a)

dataIn=randn(1000,1);dataOut=filter(b,a,dataIn);

0 . 2. π および 0 . 6. π ラジアン/サンプルの正規化されたエッジ周波数を持つ6次のバタワースバンドストップフィルターを設計します。その振幅応答と位相応答をプロットします。これを使用してランダムデータをフィルター処理します。

[b,a] = 1,[0.2, 0.2],“停下来”);频率(b,a)

dataIn=randn(1000,1);dataOut=filter(b,a,dataIn);

9次のハイパス バタワース フィルターを設計します。1000赫兹でサンプリングされたデータに対し、カットオフ周波数 300赫兹( 0 . 6. π ラジアン/サンプルに相当) を指定します。その振幅応答と位相応答を表示します。fvtoolで使用するために零点,極およびゲインを2次セクション型に変換します。

(z,磷、钾)=黄油(9300/500,“高”);sos=zp2sos(z,p,k);fvtool(sos,“分析”,“频率”)

低域カットオフ周波数500 Hzと高域カットオフ周波数560 Hzをもつ20次のバタワースバンドパスフィルターを設計します。サンプルレート1500 Hzを指定します。状態空間表現を使用します。设计过滤器を使用して同じフィルターを設計します。

[A,B,C,D]=黄油(10,[500 560]/750);D=设计过滤器(“bandpassiir”,“过滤器订单”,20,...“HalfPowerFrequency1”,500,“HalfPowerFrequency2”,560,...“SampleRate”,1500);

状態空間表現を2次セクション型に変換します。fvtoolを使用して周波数応答を可視化します。

sos=ss2sos(A、B、C、D);fvt=fvtool(sos、D、,“Fs”,1500);图例(fvt,“黄油”,“设计过滤器”)

カットオフ周波数 2千兆赫をもつ 5.次のアナログ バタワース ローパス フィルターを設計します。 2. π 倍にして周波数を秒あたりのラジアン単位に変換します。4096点でのフィルターの周波数応答を計算します。

n=5;f=2e9;[zb,pb,kb]=黄油(n,2*pi*f,'s');(bb, ab) = zp2tf (zb、铅、kb);(hb, wb) =频率(bb, ab, 4096);

同じエッジ周波数と通過帯域リップル 3分贝をもつ 5.次のチェビシェフ 我型フィルターを設計します。その周波数応答を計算します。

[z1,p1,k1]=cheby1(n,3,2*pi*f,'s');(b1, a1] = zp2tf (z1, p1, k1);[h1, w1] =频率(b1, a1, 4096);

同じエッジ周波数と阻止帯域の減衰量 30分贝をもつ 5.次のチェビシェフ 二,型フィルターを設計します。その周波数応答を計算します。

[z2,p2,k2]=cheby2(n,30,2*pi*f,'s');[b2,a2]=zp2tf(z2,p2,k2);[h2,w2]=freqs(b2,a24096);

同じエッジ周波数、通過帯域リップル 3分贝および阻止帯域の減衰量 30分贝をもつ 5.次の楕円フィルターを設計します。その周波数応答を計算します。

(泽、pe、ke) = ellip (n, 3, 30日,2 f *π*,'s');[, ae] = zp2tf(泽、pe、客);[他,我们]=频率(ae, 4096);

減衰をデシベルでプロットします。周波数をギガヘルツで表します。フィルターを比較します。

图(wb/(2e9*pi),mag2db(abs(hb))保持在…上Plot (w1/(2e9*pi),mag2db(abs(h1))) Plot (w2/(2e9*pi),mag2db(abs(h2))) Plot (we/(2e9*pi),mag2db(abs(h2))) axis([0 4 -40 5]) grid xlabel()‘频率(GHz)’)伊拉贝尔(‘衰减(dB)’)传说(“黄油”,“cheby1”,“cheby2”,“埃利普”)

バタワース フィルターおよびチェビシェフ 二,型フィルターには平坦な通過帯域と広い遷移帯域幅があります。チェビシェフ 我型フィルターおよび楕円フィルターは速くロールオフしますが、通過帯域リップルがあります。チェビシェフ 二,型設計関数に対する周波数入力は、通過帯域の末尾ではなく阻止帯域の始点を設定します。

入力引数

すべて折りたたむ

フィルター次数。整数スカラーで指定します。バンドパスおよびバンドストップの設計では,Nがフィルター次数の 1/2 を表します。

データ型:

カットオフ周波数。スカラーまたは 2 要素ベクトルとして指定されます。カットオフ周波数は、フィルターの振幅応答が1 / √2.となる周波数です。

  • Wnがスカラーの場合、黄油は,カットオフ周波数Wnをもつローパス フィルターまたはハイパス フィルターを設計します。

    Wnが2要素ベクトル[w1-w2](ここで,w1<w2) の場合、黄油は低域カットオフ周波数w1および高域カットオフ周波数w2をもつバンドパス フィルターまたはバンドストップ フィルターを設計します。

  • デジタルフィルターの場合,カットオフ周波数は0 ~ 1の間でなければなりません。ここで1はナイキストレート——サンプルレートの1/2つまりπラジアン/サンプルに相当します。

    アナログフィルターの場合,カットオフ周波数は必ずラジアン/秒で表示され,任意の正の値をとることができます。

データ型:

フィルターの種類。次のいずれかとして指定します。

  • “低”はカットオフ周波数Wnをもつローパスフィルターを指定します。“低”はスカラーWnの既定値です。

  • “高”はカットオフ周波数Wnをもつハイパスフィルターを指定します。

  • Wnが 2.要素ベクトルの場合、“带通”は次数2Nのバンドパス フィルターを指定します。“带通”は、Wnが 2.要素をもつ場合の既定値です。

  • Wnが 2.要素ベクトルの場合、“停下来”は次数2Nのバンドストップ フィルターを指定します。

出力引数

すべて折りたたむ

フィルターの伝達関数の係数。ローパスフィルターおよびハイパスフィルターの場合は長さN+ 1の行ベクトルとして,バンドパスフィルターおよびバンドストップフィルターの場合は長さ2N+ 1 の行ベクトルとして返されます。

  • デジタルフィルターの場合,伝達関数はBおよびA.で以下のように表されます。

    H ( Z ) = B ( Z ) A. ( Z ) = b(1) + b(2) Z 1. + + b(n+1) Z N a(1) + a(2) Z 1. + + (n + 1) Z N .

  • アナログフィルターの場合,伝達関数はBおよびA.で以下のように表されます。

    H ( s ) = B ( s ) A. ( s ) = b(1) s N + b(2) s N 1. + + b(n+1) a(1) s N + a(2) s N 1. + + (n + 1) .

データ型:

フィルターのゼロ、極、ゲイン。長さN(バンドパス設計とバンドストップ設計の場合は 2.N2)およびスカラーのつの列ベクトルとして返されます。

  • デジタルフィルターの場合,伝達関数はZPおよびKで以下のように表されます。

    H ( Z ) = K ( 1. z(1) Z 1. ) ( 1. z(2) Z 1. ) ( 1. z(n) Z 1. ) ( 1. p(1) Z 1. ) ( 1. p(2) Z 1. ) ( 1. p(n) Z 1. ) .

  • アナログフィルターの場合,伝達関数はZPおよびKで以下のように表されます。

    H ( s ) = K ( s z(1) ) ( s z(2) ) ( s z(n) ) ( s p(1) ) ( s p(2) ) ( s p(n) ) .

データ型:

フィルターの状態空間表現。行列として返されます。ローパス設計とハイパス設計の場合、m=Nで,バンドパスフィルターとバンドストップフィルターの場合にm = 2Nならば、A.は m×mで、Bは m×1,Cは 1×mDは 1 × 1 となります。

  • デジタルフィルターの場合,状態空間の行列は状態ベクトルx,入力uおよび出力yを以下の式により表します。

    x ( K + 1. ) = A. x ( K ) + B U ( K ) Y ( K ) = C x ( K ) + D U ( K ) .

  • アナログ フィルターの場合、状態空間の行列は状態ベクトル 十,入力 U出力 Yを以下の式により表します。

    x ˙ = A. x + B U Y = C x + D U .

データ型:

詳細

すべて折りたたむ

制限

伝達関数構文の数値的不安定性

一般に、IIRフィルターを設計する場合は、(z,磷、钾)構文を使用します。フィルターを解析または実装する場合は、(z,磷、钾)の出力をzp2sosで使用します。[乙,甲]構文を使用するフィルターを設計する場合、数値の問題が発生することがあります。これらの問題は、丸め誤差によるものであり、Nが 4.の低さの場合に発生することがあります。以下の例はこの制限を示しています。

n=6;Wn=[2.5e6 29e6]/500e6;f类型=“带通”;%传递函数设计[b] =黄油(n, n, ftype);%这是一个不稳定的过滤器%零极点增益设计[z,p,k]=黄油(n,Wn,ftype);sos=zp2sos(z,p,k);%显示和比较结果hfvt = fvtool (b, a, sos,“FrequencyScale”,“日志”);图例(hfvt,“TF设计”,“ZPK设计”)

アルゴリズム

バタワース フィルターは、通過帯域で振幅応答が最大フラットで全体に単調な振幅応答をもちます。この滑らかさはロールオフの急峻さが低減することで得られます。楕円フィルターとチェビシェフ フィルターは通常、与えられたフィルター次数に対し、急峻なロールオフを提供します。

黄油は,以下の5つのステップのアルゴリズムを使用します。

  1. 関数巴特普を使用して,ローパスアナログプロトタイプの極,零点およびゲインを求めます。

  2. 極,零点,およびゲインを状態空間型に変換します。

  3. 必要に応じて、状態空間変換を使ってローパス フィルターを、望ましい周波数制約をもつバンドパス、ハイパス、または、バンドストップのフィルターに変換します。

  4. デジタルフィルター設計の場合,双线性を使用して、プリワーピング周波数をもつ双一次変換によりアナログ フィルターをデジタル フィルターに変換します。周波数を慎重に調整することで、アナログ フィルターとデジタル フィルターがWn、あるいはw1w2で確実に同じ周波数応答の振幅をもつようになります。

  5. 必要に応じて、状態空間フィルターを伝達関数、または、零点-極-ゲイン型に逆変換します。

拡張機能

C / c++コード生成
MATLAB®编码器™を使用してCおよびc++コードを生成します。

R2006aより前に導入