主要内容

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

黄油

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

説明

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

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

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

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

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

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

すべて折りたたむ

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

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

图中包含2个轴。轴1包含线型对象。轴2包含线型对象。

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

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

[b,a]=黄油(3,[0.20.6],“停下来”);频率(b,a)

图中包含2个轴。轴1包含线型对象。轴2包含线型对象。

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

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

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

Figure Filter Visualization Tool-幅值响应(dB)和相位响应包含uitoolbar、uimenu类型的轴和其他对象。标题为幅值响应(dB)和相位响应的轴包含line类型的对象。

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

[A,B,C,D]=黄油(10,[500 560]/750);D=设计过滤器(“bandpassiir”,“过滤器订单”,20,...“半功率频率1”,500,“半功率频率2”,560,...“采样器”,1500);

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

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

地物过滤器可视化工具-幅值响应(dB)包含一个轴和uitoolbar、uimenu类型的其他对象。标题幅值响应(dB)的轴包含2个line类型的对象。这些对象表示butter、designfilt。

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

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

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

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

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

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

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

[ze,pe,ke]=ellip(n,3,30,2*pi*f,'s')be,ae=zp2tf(ze,pe,ke);[he,we]=freqs(be,ae,4096);

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

图(wb/(2e9*pi),mag2db(abs(hb))保持在…上图(w1/(2e9*pi)、mag2db(abs(h1))图(w2/(2e9*pi)、mag2db(abs(h2))图(we/(2e9*pi)、mag2db(abs(he))轴([04-405])网格xlabel(‘频率(GHz)’)伊拉贝尔(‘衰减(dB)’)传奇(“黄油”,“cheby1”,“cheby2”,“埃利普”)

图形包含一个轴。轴包含4个line类型的对象。这些对象表示黄油、切比1、切比2和椭圆。

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

入力引数

すべて折りたたむ

フィルター次数。整数スカラーで指定します。バンドパスおよびバンドストップの設計では、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.要素ベクトルの場合、“带通”は次数 2.Nのバンドパス フィルターを指定します。“带通”は、Wnが 2.要素をもつ場合の既定値です。

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

出力引数

すべて折りたたむ

フィルターの伝達関数の係数。ローパス フィルターおよびハイパス フィルターの場合は長さN+ 1 の行ベクトルとして、バンドパス フィルターおよびバンドストップ フィルターの場合は長さ 2.N+ 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. + + a(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. + + a(n+1) .

データ型:双重的

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

  • デジタル フィルターの場合、伝達関数は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 となります。

  • デジタル フィルターの場合、状態空間の行列は状態ベクトル 十,入力 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,p,k]構文を使用します。フィルターを解析または実装する場合は、[z,p,k]の出力をzp2sosで使用します。[乙,甲]構文を使用するフィルターを設計する場合、数値の問題が発生することがあります。これらの問題は、丸め誤差によるものであり、Nが 4.の低さの場合に発生することがあります。以下の例はこの制限を示しています。

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

图形过滤器可视化工具-幅值响应(dB)包含一个轴和uitoolbar、uimenu类型的其他对象。标题幅值响应(dB)的轴包含2个line类型的对象。这些对象表示TF设计、ZPK设计。

アルゴリズム

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

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

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

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

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

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

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

拡張機能

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

R2006aより前に導入