Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ellip

仕様オブジェクトを使用した楕円フィルター

説明

ellipFilter = ellip(designSpecs,SystemObject=true) は、オブジェクト designSpecs 内の仕様を使用して、楕円 IIR デジタル フィルターを設計します。

フィルター仕様オブジェクト designSpecs に応じて、ellip 設計法が無効になる場合があります。フィルター仕様オブジェクトと designmethods を使用して、楕円 IIR フィルターの設計が可能かどうかを判断します。

designmethods(designSpecs,SystemObject=true)

ellipFilter = ellip(designSpecs,designoption=value,... SystemObject=true) は、指定された 1 つ以上の設計オプションおよび対応する値を使用して、楕円 IIR デジタル フィルターを返します。

使用可能な設計オプションの一覧を表示するには、仕様オブジェクトに対して関数 designoptions を実行します。この関数は、フィルターで使用する既定の設計オプションもリストします。

designoptions(designSpecs,'ellip')

ellipFilter = design(designSpecs,'ellip',SystemObject=true) は、楕円 IIR デジタル フィルターを設計するための代替構文です。

仕様オブジェクト designSpecs に対して ellip 設計法を使用する方法に関する詳細なヘルプを得るには、MATLAB® のコマンド プロンプトで次のように入力します。

help(designSpecs,'ellip')

すべて折りたたむ

バンドパス周波数応答を使用して、楕円デジタル フィルターを設計します。フィルターの設計手順は、次のようになります。

  1. 関数 fdesign を使用して、フィルター設計仕様を指定します。

  2. 関数 designmethods に用意されている設計法を選択します。

  3. 選択できる設計オプションを調べるため、関数 designoptions を使用します。

  4. 関数 design を使用してフィルターを設計します。

fdesign.bandpass を使用して、既定のバンドパス フィルター仕様オブジェクトを作成します。

designSpecs = fdesign.bandpass
designSpecs = 
  bandpass with properties:

               Response: 'Bandpass'
          Specification: 'Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2'
            Description: {7x1 cell}
    NormalizedFrequency: 1
                 Fstop1: 0.3500
                 Fpass1: 0.4500
                 Fpass2: 0.5500
                 Fstop2: 0.6500
                 Astop1: 60
                  Apass: 1
                 Astop2: 60

関数 designmethods を使用して、使用可能な設計法を調べます。楕円デジタル フィルターを設計するには、ellip を選択します。

designmethods(designSpecs,SystemObject=true)
Design Methods that support System objects for class fdesign.bandpass (Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2):


butter
cheby1
cheby2
ellip
equiripple
kaiserwin

フィルターを設計するときに、追加の設計オプションを指定できます。関数 designoptions を使用して、オプションの一覧を表示します。この関数は、フィルターで使用する既定の設計オプションも表示します。

designoptions(designSpecs,'ellip',SystemObject=true)
ans = struct with fields:
           FilterStructure: {'df1sos'  'df2sos'  'df1tsos'  'df2tsos'  'cascadeallpass'  'cascadewdfallpass'}
              SOSScaleNorm: 'ustring'
              SOSScaleOpts: 'fdopts.sosscaling'
              MatchExactly: {'passband'  'stopband'  'both'}
    DefaultFilterStructure: 'df2sos'
       DefaultMatchExactly: 'both'
       DefaultSOSScaleNorm: ''
       DefaultSOSScaleOpts: [1x1 fdopts.sosscaling]

関数 design を使用してフィルターを設計します。'ellip' と、変数 designSpecs で与えられる仕様を入力引数として渡します。'matchexactly' 設計オプションとして 'both' を指定して、フィルターのパフォーマンスが通過帯域領域と阻止帯域領域の両方に収まるようにします。

bandpassEllip = design(designSpecs,'ellip',matchexactly='both',...
    SystemObject=true)
bandpassEllip = 
  dsp.SOSFilter with properties:

            Structure: 'Direct form II'
    CoefficientSource: 'Property'
            Numerator: [4x3 double]
          Denominator: [4x3 double]
       HasScaleValues: true
          ScaleValues: [0.4705 0.4705 0.0936 0.0936 1]

  Use get to show all properties

fvtool を使用して、設計したフィルターの周波数応答を表示します。

fvtool(bandpassEllip)

Figure Figure 1: Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB), xlabel Normalized Frequency ( times pi blank rad/sample), ylabel Magnitude (dB) contains 2 objects of type line.

ローパス周波数応答を使用して、楕円デジタル フィルターを設計します。

fdesign.lowpass を使用して、ローパス フィルター仕様オブジェクトを作成します。フィルターのフィルター次数、通過帯域エッジ周波数、阻止帯域エッジ周波数、通過帯域リップルを指定します。

designSpecs = fdesign.lowpass('n,fp,fst,ap',6,20,25,.8,80);

使用可能な設計法を調べます。楕円フィルターを設計するには、ellip を選択します。

designmethods(designSpecs,SystemObject=true)
Design Methods that support System objects for class fdesign.lowpass (N,Fp,Fst,Ap):


ellip
equiripple

関数 design を使用してフィルターを設計します。'ellip' と、変数 designSpecs で与えられる仕様を入力引数として渡します。

ellipLowpass = design(designSpecs,'ellip',SystemObject=true)
ellipLowpass = 
  dsp.SOSFilter with properties:

            Structure: 'Direct form II'
    CoefficientSource: 'Property'
            Numerator: [3x3 double]
          Denominator: [3x3 double]
       HasScaleValues: true
          ScaleValues: [0.0968 0.4116 0.6792 1]

  Use get to show all properties

fvtool を使用して、ローパス周波数応答を可視化します。

fvtool(ellipLowpass)

Figure Figure 1: Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB), xlabel Frequency (Hz), ylabel Magnitude (dB) contains 2 objects of type line.

入力引数

すべて折りたたむ

出力引数

すべて折りたたむ

楕円デジタル フィルター。フィルター System object として返されます。この System object およびそのプロパティの値は、入力された designSpecs オブジェクトと、関数に対して指定された他の設計オプションによって変化します。

バージョン履歴

R2011a で導入

すべて展開する