我有一个带有噪声作为输入的simulink模块和一个获得有色噪声的滤波器,该模块还包含一个放大输出的功率放大器。
噪音 - >数字滤波器 - >有色噪音 - >功率放大器 - >期望的输出
我的问题是滤波器是数字的,可以使用filt
命令定义传递函数,但是没有具体的方法来描述功率放大器我想到了打破功率放大器进入子块并使用MATLAB的控制工具箱作为sys组合。
我应该使用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
}