我有一个带有噪声作为输入的 simulink 模块和一个用于获得有色噪声的滤波器,该模块还包括一个用于放大输出的功率放大器。
噪声 --> 数字滤波器 --> 有色噪声 --> 功率放大器 --> 所需输出
我的问题是滤波器是数字的,并且可以使用filt
命令定义传递函数,但是没有具体的方式来描述功率放大器,我想将功率放大器分成子块并使用 MATLAB 的控制工具箱组合成一个系统。
我应该使用
s-plan
还是z-plan
(因为我认为功率放大器不是数字的,但放大器的输入来自以一定速率采样的数字滤波器)这种方法是否合理,还是我应该寻找其他方法?
我面临的一个主要问题是,在功率放大器模块的末端有一个数学函数(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
}