メインコンテンツ

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

digitalFilter

デジタル フィルター

Coefficients プロパティは、Numerator プロパティと Denominator プロパティに置き換えられました。詳細については、バージョン履歴を参照してください。

説明

designfilt を使用して digitalFilter オブジェクトを設計および編集します。

  • 応答タイプ resp のデジタル フィルター d を設計する場合は、designfiltd = designfilt(resp,Name,Value) の形式で使用します。名前と値の引数を使用してフィルターをカスタマイズします。

  • 既存のフィルター d を編集する場合は、designfiltdesignfilt(d) の形式で使用します。

    メモ

    既存の digitalFilter オブジェクトは、この方法でのみ編集できます。それ以外の場合、このオブジェクトのプロパティは読み取り専用です。

  • digitalFilter d を使用して信号をフィルター処理するには、filterdataOut = filter(d,dataIn) の形式で使用します。入力は倍精度または単精度のベクトルです。あるいは、入力チャネルと同数の列をもつ行列です。関数 filtfiltfftfiltdigitalFilter オブジェクトと使用することもできます。

  • フィルター アナライザーを使用して digitalFilter を可視化します。

プロパティ

すべて展開する

係数

分子係数。次のいずれかとして返されます。

分母係数。次のいずれかとして返されます。

仕様

digitalFilter オブジェクトで返される仕様プロパティは、designfilt を使用してオブジェクトを作成するときに指定されたフィルター応答と設計によって異なります。プロパティはすべて読み取り専用です。

フィルター応答

周波数応答のタイプ。次のいずれかとして返されます。

  • ローパス フィルターの場合は 'lowpass'

  • ハイパス フィルターの場合は 'highpass'

  • バンドパス フィルターの場合は 'bandpass'

  • バンドストップ フィルターの場合は 'bandstop'

  • FIR 微分フィルターの場合は 'differentiator'

  • FIR ヒルベルト変換フィルターの場合は 'hilbert'

  • 任意振幅応答 FIR フィルターの場合は 'arbmag'

インパルス応答のタイプ。'fir' または 'iir' として返されます。

フィルターの設計

フィルター設計プロパティの詳細については、サンプル レート周波数制約フィルター次数振幅の制約、および設計法を参照してください。

オブジェクト関数

すべて展開する

fftfiltオーバーラップ加算法を使用した FFT ベースの FIR フィルター処理
filter1 次元のデジタル フィルター
filtfiltゼロ位相デジタル フィルター処理
bandpassバンドパス フィルター信号
bandstopバンドストップ フィルター信号
highpassハイパス フィルター信号
lowpassローパス フィルター信号
doubleデジタル フィルターの係数を倍精度にキャスト
filt2blockSimulink フィルター ブロックの生成
filtordフィルター次数
firtype線形位相 FIR フィルターのタイプ
freqzデジタル フィルターの周波数応答
grpdelay平均フィルター遅延 (群遅延)
impzデジタル フィルターのインパルス応答
impzlengthインパルス応答の長さ
infoデジタル フィルターに関する情報
isallpassフィルターがオールパスであるかを判別
isdoubleデジタル フィルターの係数が倍精度かどうかを判別
isfirデジタル フィルターが有限インパルス応答をもつかどうかを判別
islinphaseフィルターが線形位相をもつかどうかを判別
ismaxphaseフィルターが最大位相であるかどうかを判別
isminphaseフィルターが最小位相であるかどうかを判別
issingleデジタル フィルターの係数が単精度かどうかを判別
isstableフィルターが安定であるかどうかの判定
phasedelayデジタル フィルターの位相遅延
phasezデジタル フィルターの位相応答
singleデジタル フィルターの係数を単精度にキャスト
stepzデジタル フィルターのステップ応答
zerophaseデジタル フィルターのゼロ位相応答
zplane離散時間システムの極-零点プロット
ssデジタル フィルターの状態空間表現への変換
tfデジタル フィルターの伝達関数への変換
zpkデジタル フィルターの零点-極-ゲイン表現への変換
toMultirate (DSP System Toolbox)Create multirate filter System object from digital FIR filter object

すべて折りたたむ

通過帯域周波数 35 kHz、通過帯域リップル 0.2 dB をもつ、8 次のローパス IIR フィルターを設計します。サンプル レートを 200 kHz に指定します。フィルターの周波数応答を可視化します。

lpFilt = designfilt("lowpassiir",FilterOrder=8, ...
         PassbandFrequency=35e3,PassbandRipple=0.2, ...
         SampleRate=200e3);
freqz(lpFilt)

Figure contains 2 axes objects. Axes object 1 with title Phase, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Phase (degrees) contains an object of type line. Axes object 2 with title Magnitude, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Magnitude (dB) contains an object of type line.

設計したフィルターを使用して、1000 サンプルのランダム信号をフィルター処理します。

dataIn = randn(1000,1);
dataOut = filter(lpFilt,dataIn);

フィルター係数を出力して、カスケード型伝達関数として表します。

ctfNum = lpFilt.Numerator
ctfNum = 4×3

    0.2666    0.5333    0.2666
    0.1943    0.3886    0.1943
    0.1012    0.2023    0.1012
    0.0318    0.0636    0.0318

ctfDen = lpFilt.Denominator
ctfDen = 4×3

    1.0000   -0.8346    0.9073
    1.0000   -0.9586    0.7403
    1.0000   -1.1912    0.5983
    1.0000   -1.3810    0.5090

詳細

すべて展開する

参照

[1] Lyons, Richard G. Understanding Digital Signal Processing. Upper Saddle River, NJ: Prentice Hall, 2004.

バージョン履歴

R2014a で導入

すべて展開する