このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
dfilt
離散時間フィルター
構文
Hd = dfilt.
structure
(input1,...)
説明
Hd = dfilt.
では、structure
(input1,...)structure
タイプの離散時間フィルター Hd
が返されます。各構造は、1 つ以上の入力を受け入れます。入力なしで dfilt
.structure
を指定すると、既定のフィルターが作成されます。
メモ
dfilt
には structure
を使用しなければなりません。
Hd = [dfilt.
では、structure
(input1,...),dfilt.structure
(input1,...),...]dfilt
フィルターを含むベクトルが返されます。
構造
dfilt
オブジェクトで使用可能な構造を以下に示します。block
メソッドのターゲット ブロックはフィルター構造によって異なります。ターゲット ブロックによっては、DSP System Toolbox™ ソフトウェアが必要になることがあります。
dfilt.structure | 説明 | realizemdl における係数マッピングのサポート |
|
---|---|---|---|
| 遅延 | サポートなし | Delay DSP System Toolbox が必要 |
| 直接型 I | サポートあり | Discrete Filter |
| 直接型 I、2 次セクション | サポートあり | Discrete Filter DSP System Toolbox が必要 |
| 直接型 I 転置 | サポートあり | Discrete Filter |
| 直接型 I 転置構成、2 次セクション | サポートあり | Biquad Filter DSP System Toolbox が必要 |
| 直接型 II | サポートあり | Discrete Filter |
| 直接型 II、2 次セクション | サポートあり | Discrete Filter |
| 直接型 II 転置 | サポートあり | Discrete Filter |
| 直接型 II 転置構成、2 次セクション | サポートあり | Biquad Filter DSP System Toolbox が必要 |
| 直接型 FIR | サポートあり | Discrete FIR Filter |
| 直接型 FIR 転置 | サポートあり | Discrete FIR Filter |
| 直接型対称 FIR | サポートあり | Discrete FIR Filter |
| 直接型反対称 FIR | サポートあり | Discrete FIR Filter |
| オーバーラップ加算 FIR | サポートなし | Overlap-Add FFT Filter DSP System Toolbox が必要 |
| ラティス オールパス | サポートあり | サポートなし |
| ラティス自己回帰 (AR) | サポートあり | Allpole Filter DSP System Toolbox が必要 |
| ラティス自己回帰移動平均 (ARMA) | サポートあり | サポートなし |
| 最大位相ラティス移動平均 (MA) | サポートあり | サポートなし |
| 最小位相ラティス移動平均 (MA) | サポートあり | Discrete FIR Filter |
| 状態空間 | サポートあり | サポートなし |
| スカラー ゲイン オブジェクト | サポートあり | Gain DSP System Toolbox が必要 |
| 直列配列フィルター | サポートあり | ターゲット ブロックは直列されているフィルター構造によって異なる |
| 並列配列フィルター | サポートあり | ターゲット ブロックは並列システム内のフィルター構造によって異なる |
各構造の詳細については、MATLAB® プロンプトで構文 help dfilt.
structure
を使用するか、各構造のリファレンス ページを参照してください。
メソッド
メソッドでは、フィルター パラメーターを再度指定せずに、dfilt
オブジェクトに対して関数を直接実行する方法が提供されます。これらのメソッドは、dfilt
オブジェクトに割り当てた変数に直接適用できます。
たとえば、Hd
という dfilt
オブジェクトを作成した場合、islinphase(Hd)
を使用してこのオブジェクトが線形位相であるかどうかをチェックしたり、fvtool(Hd)
を使用して周波数応答プロットを表示したり、h=freqz(Hd)
を使用して周波数応答値を求めることができます。以下に示すメソッドはすべて、このように使用することができます。
メモ
変数が dfilt
フィルター オブジェクトの 1 次元配列である場合、メソッドは配列内の各オブジェクトに適用されます。配列に適用できるのは、freqz
、grpdelay
、impz
、is
*、order
、および stepz
の各メソッドのみです。zplane
メソッドは、出力なしで使用する場合にのみ配列に適用できます。
以下のメソッドの中には、Signal Processing Toolbox™ の関数と同じ名前をもち、動作も似ているものがあります。これは、関数の "オーバーロード" と呼ばれます。
使用可能な手法は以下のとおりです。
メソッド | 説明 |
---|---|
|
|
|
|
| 2 つの |
| フィルター係数を、元の |
|
|
| フィルター係数を ASCII ファイルに書き込みます。ファイルには、単一のフィルター、またはオブジェクトのベクトルを含めることができます。既定のファイル名は
|
|
|
| |
| タイプ (1-4) の線形位相 FIR フィルターが返されます。 |
FVTool に周波数応答をプロットします。関数 | |
FVTool に群遅延をプロットします。 | |
FVTool にインパルス応答をプロットします。 | |
| インパルス応答の長さを返します。 |
| フィルター構造、長さ、安定性、線形位相、および該当する場合はラティス長やラダー長など、 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 次セクション フィルターのセクション数が返されます。多段フィルターに複数のセクションをもつステージが含まれる場合、 |
| フィルターのステージ数が返されます。ステージは独立のモジュラー フィルターです。 |
| オブジェクトの状態数を返します。 |
| フィルターの次数を返します。 |
| 2 つの |
| FVTool に位相応答をプロットします。 |
| (Simulink 導入時のみ使用可能)
以下のプロパティを使用できます。
以下のプロパティでは、ブロックの構造が最適化されます。値を
|
| カスケードまたは並列の |
| カスケードまたは並列の |
|
|
|
|
| FVTool にステップ応答をプロットします。
|
|
|
|
|
| FVTool にゼロ位相応答をプロットします。 |
|
|
FVTool に極-零点プロットをプロットします。 |
各メソッドの詳細については、MATLAB プロンプトから構文 help dfilt/
method
を使用してください。
プロパティの表示
ほかのオブジェクトと同様に、get
を使って dfilt
のプロパティを表示できます。特定のプロパティを表示するには、以下を使用します。
get(Hd,'property')
オブジェクトのすべてのプロパティを表示するには、以下を使用します。
get(Hd)
プロパティの変更
特定のプロパティを設定するには、以下を使用します。
set(Hd,'property1',value,'property2',value,...)
プロパティ名は必ず一重引用符で囲んでください。
別の方法として、Object.property
を使用してプロパティ値の取得や設定ができます。
b = [0.05 0.9 0.05]; Hd = dfilt.dffir(b); % Lowpass direct-form I FIR filter Hd.arithmetic % get arithmetic property % returns double Hd.arithmetic = 'single'; % Set arithmetic property to single precision
オブジェクトのコピー
オブジェクトのコピーを作成するには、copy
メソッドを使用します。
H2 = copy(Hd)
メモ
構文 H2 = Hd
を使用すると、オブジェクト ハンドルのみがコピーされ、新規オブジェクトは作成されません。
フィルター構造の変換
dfilt
オブジェクト Hd
のフィルター構造を変更するには、以下を使用します。
Hd2=convert(Hd,'structure_name');
ここで、structure_name
には、任意の有効な構造名を一重引用符で囲んで使用できます。Hd
が cascade
または parallel
構造の場合は、各ステージが新しい構造に変換されます。
フィルター状態の使用
次の 2 つのプロパティによって、フィルター状態が制御されます。
states
— 現在のフィルター状態を格納します。フィルターを適用する前は、states は初期条件に一致し、フィルターの適用後は states は最終条件に一致します。df1
、df1t
、df1sos
、およびdf1tsos
構造では、states
によってfiltstate
オブジェクトが返されます。PersistentMemory
— フィルターstates
を保存するかどうかを制御します。既定値は'false'
で、初期条件がフィルター処理前にゼロにリセットされ、states
情報の表示がオフになります。PersistentMemory
を'true'
に設定すると、フィルターで初期条件を使用したり、前のフィルター処理の最終条件を次のフィルター処理の初期条件として再利用することができます。また、states
フィルターに関する情報も表示されます。メモ
states
を設定してフィルター処理に使用する場合、フィルターを使用する前にPersistentMemory
を'true'
に設定しなければなりません。
例
直接型 I のフィルターを作成し、メソッドを使用してこのフィルターが安定しているかどうかをチェックします。
[b,a] = butter(8,0.25); Hd = dfilt.df1(b,a)
dfilt
の分子の値が 1 行に収まらない場合は、ベクトルの説明が表示されます。この場合に特定の分子の値を表示するには、次のようにします。
get(Hd,'numerator')
または
Hd.numerator
各構造のリファレンス ページにはこの他の例が記載されています。
バージョン履歴
R2006a より前に導入