Main Content

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

iirnotch

(削除予定) 二次型 IIR ノッチ フィルター

関数 iirnotch は将来のリリースで削除される予定です。代わりに関数 designNotchPeakIIR を使用してください。既存のコードを更新する方法の詳細については、バージョン履歴を参照してください。

説明

[num,den] = iirnotch(w0,bw) は、ノッチが w0 にあり -3 dB ポイントの帯域幅が bw に設定されたデジタル ノッチ フィルターの、分子係数 num と分母係数 den を返します。フィルターを設計するには、w0 が条件 0.0 < w0 < 1.0 を満たさなければなりません。ここで、1.0 は周波数範囲の π ラジアン/サンプルに相当します。

フィルターの品質係数 (Q 係数) q とフィルターの帯域幅の関係は q = w0/bw となります。ここで w0 はノッチ周波数です。

[num,den] = iirnotch(w0,bw,ab) は、帯域幅 bw が –ab デシベルのレベルで指定されたデジタル ノッチ フィルターを返します。

すべて折りたたむ

60 Hz トーン (f0) を 300 Hz (fs) の信号から削除する IIR ノッチ フィルターを設計してプロットします。この例では、フィルターの Q 係数を 35 に設定し、それを使ってフィルターの帯域幅を指定します。

wo = 60/(300/2);  
bw = wo/35;
[b,a] = iirnotch(wo,bw);

振幅応答を可視化します。

このノッチ フィルターの目的の帯域幅では、60 Hz ( 0 . 4 π ラジアン/サンプル) にノッチがあります。

filterAnalyzer(b,a)

入力引数

すべて折りたたむ

ノッチ周波数。(0.0, 1.0) の範囲にある正のスカラーを指定します。1.0 は、周波数範囲の π ラジアン/サンプルに対応します。

データ型: single | double

-3 dB ポイントの帯域幅。(0.0, 1.0) の範囲にある正のスカラーを指定します。

フィルターの品質係数 (Q 係数) q とフィルターの帯域幅の関係は q = w0/bw となります。ここで w0 はノッチ周波数です。

データ型: single | double

フィルターの帯域幅が bw になるカスタム デシベル レベル -ab。オプションの入力引数 ab を含めると、既定の -3 dB ポイント以外 (-6 dB や 0 dB など) のレベルで振幅応答の帯域幅を指定できます。ab を指定しない場合の既定の帯域幅は、-3 dB (10log10(1/2)) です。

データ型: single | double

出力引数

すべて折りたたむ

設計したノッチ フィルターの分子係数。行ベクトルとして返されます。

データ型: double

設計したノッチ フィルターの分母係数。行ベクトルとして返されます。

データ型: double

拡張機能

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

バージョン履歴

R2011a で導入

すべて折りたたむ

R2024a: iirnotch は削除予定

関数 iirnotch は将来のリリースで削除される予定です。関数の既存のインスタンスは引き続き実行できます。新規コードでは、代わりに関数 designNotchPeakIIR を使用してください。

コードの更新

次の表では、関数の代表的な使用法を示し、関数 designNotchPeakIIR を使用するように既存のコードを更新する方法について説明します。

非推奨の使用方法推奨される代替案

ノッチ周波数はサンプルあたり 0 . 4 π ラジアンです。品質係数は 35 です。

wo = 60/(300/2);  
bw = wo/35;
[b,a] = iirnotch(wo,bw);
[b,a] = designNotchPeakIIR(CenterFrequency=wo,...
Bandwidth=bw,Response="notch");

または

[b,a] = designNotchPeakIIR(CenterFrequency=wo,...
QualityFactor=35,Response="notch");