Main Content

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

iircomb

IIR 櫛形ノッチ フィルターまたはピーク フィルター

説明

[num,den] = iircomb(n,bw) は、次数が n で、-3 dB のフィルター ノッチの幅が bw フィルター帯域幅に設定されたデジタル ノッチ フィルターを返します。

ノッチ フィルターでは、伝達関数は次の形式になります。

H(z)=b1zn1αzn

ここで α と b は正のスカラーで、n はフィルターの次数、つまりフィルター内のノッチ数 -1 です。

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

[num,den] = iircomb(___,type) は、type の指定に従って、デジタル ノッチ フィルターまたはデジタル ピーク フィルターのいずれかを返します。

ピーク フィルターの伝達関数を次に示します。

H(z)=b1zn1+azn

すべて折りたたむ

600 Hz (fs) の信号から 60 Hz トーン (f0) を取り除く、11 ノッチ (フィルターの次数に 1 を加えたものに等しい) の IIR ノッチ フィルターを設計してプロットします。この例では、フィルターの Q 係数を 35 に設定し、それを使ってフィルターの帯域幅を指定します。

fs = 600;
fo = 60;
q = 35;
bw = (fo/(fs/2))/q;
[b,a] = iircomb(fs/fo,bw,'notch'); % Note type flag 'notch'

フィルターの可視化ツールを使用して、フィルターのノッチを示すプロットを生成します。ノッチが等間隔で、正確に 60 Hz で低下していることに注意します。

fvtool(b,a);

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 an object of type line.

入力引数

すべて折りたたむ

デジタル フィルターの次数は正の整数 n として指定され、0 ~ 2π の周波数範囲全体のフィルターのノッチ (またはピーク) の数も定義します。ノッチ (またはピーク) の数は n+1 に等しくなります。

データ型: single | double

ab デシベルのレベルのフィルターの帯域幅。(0,1) の範囲の正のスカラーとして指定します。

フィルターの品質係数 (Q 係数) q は、q = ω0/bw でフィルターの帯域幅に関連しています。ω0 は信号から取り除く周波数です。

データ型: single | double

フィルター帯域幅 bw の振幅応答。スカラーとして dB 単位で指定します。オプションの入力引数 ab を含めると、既定の -3 dB ポイント以外 (たとえば -6 dB や 0 dB) のレベルで振幅応答を指定できます。引数 ab を含めない場合、振幅応答は関数によって既定の -3 dB レベルに設定されます。

データ型: single | double

デジタル フィルターのタイプ。次のいずれかで指定します。

  • 'notch' — IIR ノッチ フィルターの設計用。ノッチ フィルターは指定した周波数の応答を減衰します。これは既定のタイプです。入力引数 type を省略すると、iircomb 関数はノッチ フィルターを返します。

  • 'peak' — IIR ピーク フィルターの設計用。ピーク フィルターは指定した周波数で信号をブーストします。

出力引数

すべて折りたたむ

IIR フィルター伝達関数の分子係数。実数値の行ベクトルとして返されます。n 次フィルターの場合、行ベクトルの要素の数は n+1 です。

データ型: single | double

IIR フィルター伝達関数の分母係数。実数値の行ベクトルとして返されます。n 次フィルターの場合、行ベクトルの要素の数は n+1 です。

データ型: single | double

参照

[1] Orfanidis, S.J., Introduction to Signal Processing, Englewood Cliffs, New Jersey: Prentice-Hall, 1996.

拡張機能

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

バージョン履歴

R2011a で導入