invfreqzd(MathScript RTモジュール関数)

LabVIEW 2012 MathScript RTモジュールヘルプ

発行日時: June 2012

製品番号: 373123C-0112

»製品情報を参照
ヘルプをダウンロード(Windowsのみ)

所有クラス: modeling and prediction

要件:MathScript RTモジュール

構文

[b, a] = invfreqzd(h, w, nb, na)

[b, a] = invfreqzd(h, w, nb, na, wf)

[b, a] = invfreqzd(h, w, nb, na, wf, maxiter)

[b, a] = invfreqzd(h, w, nb, na, wf, maxiter, tol)

[b, a] = invfreqzd(h, w, nb, na, wf, maxiter, tol, 'trace')

[b, a] = invfreqzd(h, w, 'complex', nb, na)

[b, a] = invfreqzd(h, w, 'complex', nb, na, wf)

[b, a] = invfreqzd(h, w, 'complex', nb, na, wf, maxiter)

[b, a] = invfreqzd(h, w, 'complex', nb, na, wf, maxiter, tol)

[b, a] = invfreqzd(h, w, 'complex', nb, na, wf, maxiter, tol, 'trace')

従来名: invfreqz

説明

最小2乗が周波数応答データに適合するデジタルフィルタを計算します。maxitertol'trace'を指定しないと、invfreqzdsum|b-h*a|^2*wfを最小化するフィルタを計算します。これらを指定しないと、invfreqzdはガウス・ニュートン法によってsum|b/a-h|^2*wfを最小化するフィルタを計算します。

サンプル

入力

名前 説明
h 複素周波数応答を指定します。
w 正規化された周波数ポイントをサンプルごとのラジアンで指定します。'complex'を指定しないと、invfreqzdは実数係数でフィルタを計算します。wのすべての要素は範囲[0, pi]内でなければなりません。 length(w)はlength(h)と等しくなければなりません。
'complex' 複素係数のフィルタを計算します。
nb フィルタの分子を指定します。
na 分母の次数を指定します。
wf 各周波数ポイントの重みを指定します。 wfは、空の配列またはhと同じ長さの配列です。wfの要素はすべて0より大きくなければなりません。デフォルトはones(1, length(h))です。 length(wf) はlength(w)と等しくなければなりません。
maxiter ガウス・ニュートン法の最大反復数を指定します。デフォルトは30です。
tol 勾配のノルムの許容誤差を指定します。デフォルトは0.01です。
'trace' 各反復のテキスト形式の進捗レポートを生成します。

出力

名前 説明
b 分子係数を返します。
a 分母係数を返します。aの最初の要素は1です。

詳細

次の表には、この関数のサポート特性 が記載されています。

LabVIEWランタイムエンジンでサポートされる はい
RTターゲットでサポートされる はい
RTで制限付きの実行時間に適する 特性なし

サンプル

w = 0:0.1:pi;
l = length(w);
g = ones(1, l);
g(1:l/2) = 0;
na = 2;
nb = 2;
wf = ones(1, l);
maxiter = 20;
tol = 1e-5;
[b, a] = invfreqzd(g, w, nb, na, wf, maxiter, tol)

関連項目

freqsd
freqzd
invfreqsd



この記事は役に立ちましたか。

役に立たなかった