对于一些不好求传递函数的系统,我们还可以使用扫频法来快速获得传递函数,相对于建模法计算的系统传函,扫频法得到的传函进度可能差点。下面以一阶RC滤波电路为例,利用扫频法获取传递函数。
1:在simulink中建立一阶RC低通滤波电路,如下:

2:设置系统的输入和输出
如上图,设置受控电压源的输入为系统输入,电压表的输出为系统输出。
3:打开 Model Linearizer—>ESTIMATION,设置input signal 为正弦输入

4 :对输入正弦信号的参数进行设置如图:
1:设置输入正弦的单位为HZ;
2:扫频的范围为1HZ~1000HZ;
3:扫频的点数为20个点;

5:所有点设置成一样的参数,Amplitude设置为受控电压源输入的1/10。 如下图:

6:点击Bode,会根据扫描的点绘制出伯德图,同时在Linear Analysis Workspace会生成两个变量; 如下:

6:根据扫频点的响应估算系统传递函数 如下:
我们把上面生成的变量estsys1(扫描点的频率响应)直接拖到 MATLAB Workspace中,然后在MATLAB的命令行中输入sys = tfest(estsys1,n),n表示系统阶数。这里n为1;

我们根据建模得到的传函为 :
s y s = 212.7 s + 212.7 sys=\frac{212.7}{s+212.7} sy

本文介绍了一种通过扫频法快速获得难以直接求解传递函数的系统的方法,并以一阶RC滤波电路为例,详细展示了如何在Simulink中搭建电路模型、设置输入输出、配置扫频参数等步骤。
最低0.47元/天 解锁文章
909





