入力としてノイズを含む simulink ブロックと、色付きノイズを取得するためのフィルターがあります。このブロックは、出力を増幅するためのパワーアンプでも構成されています。
ノイズ --> デジタル フィルタ --> カラード ノイズ --> パワー アンプ --> 目的の出力
私の問題は、フィルタがデジタルで伝達関数がfilt
コマンドで定義できることですが、パワー アンプを記述する具体的な方法がなく、パワー アンプをサブ ブロックに分割し、MATLAB の制御ツールボックスを使用して sys として結合することを考えました。
s-plan
またはを使用する必要がありますz-plan
(私の意見では、パワーアンプはデジタルではありませんが、アンプへの入力は一定のレートでサンプリングされたデジタルフィルターから来ているためです)このアプローチはまったく合理的ですか、それとも別のものを探す必要がありますか?
私が直面している大きな問題の 1 つは、パワー アンプ ブロックの最後に数学関数 (sqrt) があるという事実です。ラプラス変換を実行しようとすると結果が得られ、
pi^(1/2)/2*s^(3/2)
z 変換では値が計算されません。代わりに、結果は次のようになりますztrans(n^(1/2), n, z)
私のコード:
[result1, time_out1]=lsim(sys,u,t); %result1 output of the filter
num_math2 = [2]
den_math2 = [1 0 0 0]
tf_sqr = tf(num_math2, den_math2);
num_gain = [1]
den_gain = [1000 0 0 ]
tf_gain = tf(num_gain, den_gain)
s1 = series(tf_sqr, tf_gain)
num_gain_f = [9999]
den_gain_f = [10000 0 0 ]
tf_feedgain = tf(num_gain_f, den_gain_f)
tf_delay = tf([1], [1 0])
tf_g = series(tf_feedgain,tf_delay)
%tf_g_1 = ss(tf_g);
s2 = feedback(1,tf_g);
s3 = series (s1,s2);
%s_final = series(sys,s3);
[result, time_out]= lsim(s3,result1,t) %power amp lsim
}