Main Content

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

fdesign.notch

ノッチ フィルターの仕様

説明

関数 fdesign.notch は、通過帯域リップル、阻止帯域の減衰量、フィルター次数などのフィルターの仕様が含まれている notch フィルター設計仕様オブジェクトを返します。その後、関数 design を使用して、フィルター設計仕様オブジェクトからフィルターを設計します。

制御オプションの詳細については、フィルターの設計手順を参照してください。完全なワークフローについては、Design a Filter in Fdesign — Process Overviewを参照してください。

notchSpecs = fdesign.notch は、フィルター次数が 10、中心周波数が 0.5、品質係数が 2.5 に設定されたノッチ フィルター仕様オブジェクトを作成します。

notchSpecs = fdesign.notch(n,f0,q) は、nf0 および q でそれぞれ指定されたフィルター次数、中心周波数および品質係数を使用して、ノッチ フィルター仕様オブジェクトを作成します。

notchSpecs = fdesign.notch(spec,value1,...,valueN) は、特定のフィルター次数、中心周波数および他の仕様オプションを使用して、ノッチ フィルター仕様オブジェクトを作成します。指定するオプションを式 spec で表します。式の後で、各オプションの値を指定します。

notchSpecs = fdesign.notch(___,Fs) では、フィルターを適用する信号のサンプルレートを指定します。

notchSpecs = fdesign.notch(___,magunits) では、振幅仕様の単位を指定します。magunits は、'linear''dB''squared' のいずれかにすることができます。この引数を省略すると、'dB' であると仮定されます。振幅仕様は、指定方法にかかわらず、常にデシベル単位に変換されて格納されます。Fs が指定された場合、magunits は入力引数リストの Fs に従わなければなりません。

すべて折りたたむ

フィルター次数が 6、中心周波数が 0.5、品質係数が 10、通過帯域リップルが 1 dB である直接型 I ノッチ フィルターを設計します。

関数 fdesign.notch を使用し、次の設計パラメーターを指定して、notch フィルター設計仕様オブジェクトを作成します。

notchSpecs  = fdesign.notch('N,F0,Q,Ap',6,0.5,10,1);

関数 design を使用してノッチ フィルターを設計します。生成されるフィルターは、dsp.BiquadFilter System object™ です。このフィルターをストリーミング データに適用する方法の詳細については、dsp.BiquadFilter を参照してください。

notchFilt = design(notchSpecs,'SystemObject',true)
notchFilt = 
  dsp.BiquadFilter with properties:

                   Structure: 'Direct form II'
             SOSMatrixSource: 'Property'
                   SOSMatrix: [3x6 double]
                 ScaleValues: [4x1 double]
           InitialConditions: 0
    OptimizeUnityScaleValues: true

  Show all properties

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

fvtool(notchFilt)

入力引数

すべて折りたたむ

仕様の式。次のいずれかの文字ベクトルを指定します。

  • 'N,F0,Q' (既定の設定)

  • 'N,F0,Q,Ap'

  • 'N,F0,Q,Ast'

  • 'N,F0,Q,Ap,Ast'

  • 'N,F0,BW'

  • 'N,F0,BW,Ap'

  • 'N,F0,BW,Ast'

  • 'N,F0,BW,Ap,Ast'

次の表で、式で使用できる各オプションを説明します。

仕様のオプション説明
Nフィルター次数 (必ず偶数)
F0中心周波数
Qクオリティ ファクター
BW3 dB 帯域幅
ApPassband ripple (dB)
Ast阻止帯域の減衰量 (dB)

フィルターの設計に使用できる設計法は、仕様の式によって異なります。これらの方法は、関数 designmethods を使用して取得できます。次の表は、fdesign.notch でサポートされる仕様の式および対応する設計法の一覧です。

仕様の式サポートされる設計法フィルターの説明
'N,F0,Q'butter

バタワース デジタル フィルター

'N,F0,Q,Ap'cheby1

チェビシェフ I 型デジタル フィルター

'N,F0,Q,Ast'cheby2

チェビシェフ II 型デジタル フィルター

'N,F0,Q,Ap,Ast'ellip

楕円デジタル フィルター

'N,F0,BW'butter

バタワース デジタル フィルター

'N,F0,BW,Ap'cheby1

チェビシェフ I 型デジタル フィルター

'N,F0,BW,Ast'cheby2

チェビシェフ II 型デジタル フィルター

'N,F0,BW,Ap,Ast'ellip

楕円デジタル フィルター

フィルターを設計するには、次のいずれかの設計法を入力にして関数 design を呼び出します。フィルター応答のタイプは、'FIR' または 'IIR' を関数 design に渡すことにより選択できます。詳細については、design を参照してください。

手順の詳細については、フィルターの設計手順を参照してください。例としては ノッチ フィルターの設計を参照してください。

仕様の値。値のコンマ区切りリストを指定します。式に現れる順序で spec の各オプションの値を指定します。

例: d = fdesign.notch('N,F0,BW,Ast',n,f0,bw,ast)

以下の引数では、式の各オプションの詳細について説明します。

フィルター次数。正の偶数を指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

フィルターの中心周波数。スカラーを指定します。入力サンプリング周波数 Fs が指定されている場合、中心周波数の単位は Hz です。入力サンプルレートが指定されていない場合、中心周波数の単位は正規化された 0 ~ 1 の値になります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

フィルターの品質係数。正の実数スカラーを指定します。

フィルターの品質係数は、3 dB 帯域幅に対する中心周波数の比率として定義されます。

q=f0/bw

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

フィルターの 3 dB 帯域幅。実数スカラーを指定します。

3 dB 帯域幅の値は、0 ~ 1 の正規化周波数単位で指定します。サンプル レート Fs を指定した場合は、この帯域幅の値を Hz 単位で指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

通過帯域リップル。dB 単位で正のスカラーを指定します。magunits'linear' または 'squared' である場合、指定に関係なく、通過帯域リップルは関数によって dB 単位に変換されて格納されます。

データ型: double

フィルターの阻止帯域の減衰量。dB 単位で正のスカラーを指定します。magunits'linear' または 'squared' である場合、指定に関係なく、阻止帯域の減衰量は関数によって dB 単位に変換されて格納されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

フィルターを適用する信号のサンプルレート。Hz 単位でスカラーを指定します。サンプルレートは、指定する他の数値の後でスカラーとして指定します。Fs が指定された場合、指定された他のすべての周波数値と同じように、Fs は Hz 単位であると見なされます。仕様の文字列を変更する必要はないことに注意してください。

N が 4、F0 が 1200 Hz、Q が 6.5 に設定された設計仕様について考えます。入力信号のサンプルレートとして 8000 Hz を指定します。設計は次のようになります。

d = fdesign.notch('N,F0,Q',4,1200,6.5,8e3); filt = design(d,'Systemobject',true);

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

振幅仕様の単位。'dB''linear' または 'squared' を指定します。この引数を省略すると、'dB' であると仮定されます。振幅仕様は指定に関係なく常に dB 単位に変換されて格納されることに注意してください。Fs が入力引数に含まれている場合、magunits は入力引数リスト内で Fs より後に指定しなければなりません。

出力引数

すべて折りたたむ

ノッチ フィルター設計仕様オブジェクト。notch オブジェクトとして返されます。オブジェクトのフィールドは、入力文字ベクトル spec に依存します。

引数 spec'N,F0,Q,Ap,Ast' に設定され、対応する値がそれぞれ 60.510180 に設定されている例について考えます。notch フィルター設計仕様オブジェクトには、次のフィールドが設定されます。

R2011a で導入