私は機能sos2tf
が異なる作成されていることを指摘しているがC.MatlabのIIRフィルタ伝達関数
にフィルタをコーディング、フィルタを設計するとするために、伝達関数の係数a
とb
を取得するためにMATLABを使用してい期待値よりも実際にfvtool
を使用してb
とa
係数を使用してフィルタを表示すると、フィルタはsos
行列または実際のフィルタf
を使用してプロットしたものとは異なります。
以下のコードを試してみると、私が言っていることをよりよく理解できます。これはMATLABの関数問題ですか?必要なフィルタ係数を与える代替品をsos2tf
に使用できますか?または、最初にsos
を使用せずに直接検索することはできますか?
designfilt
を使用して試した結果、tf
関数を使用した結果、以下のコードで得られた係数と正確に等しくなりました。それはどちらか私のために働いていないようおかげであなたの助け
H = fdesign.lowpass('Fp,Fst,Ap,Ast',60,75,1,60,10000);
f = design(H,'butter','MatchExactly','passband'); % Design an FIR BW filt
info(f) % View information about filter
fvtool(f);
[b,a] = sos2tf(f.sosMatrix);
fvtool(b,a);
使用しているフィルターの仕様とサンプリング周波数を教えてください。 – VMMF