对于一些不好求传递函数的系统,我们还可以使用扫频法来快速获得传递函数,相对于建模法计算的系统传函,扫频法得到的传函进度可能差点。下面以一阶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;


我们根据建模得到的传函为 :
sys=212.7s+212.7sys=\frac{212.7}{s+212.7}sys=s+212.7212.7​
可以看出估算的传函基本和建模的接近。

这里除了用线性分析工具箱外还可以用命名的方式估算系统的伯德图,可以获取更详细的信息。如下:

mdl='RC_Filter';
open_system(mdl); %打开模型 RC_Filter%%%%%%%%%%收集频率响应的数据ios = [...      %指定频率响应的输入和输出点linio([mdl,'/volin'],1,'input'); ...linio([mdl,'/volout'],1,'output')];
f = logspace(log10(10),log10(20000),10);
in = frest.Sinestream('Frequency',f,'Amplitude',1);%使用frest.Sinestream命令来定义要在输入点注入的正弦曲线的频率范围,离散的点数和幅值
[sysData,simlog] = frestimate(mdl,ios,in); %利用frestimate计算频率响应曲线上离散的点
bopt               = bodeoptions;
bopt.Grid          = 'on';
bopt.PhaseMatching = 'on';
figure, bode(sysData,'*r',bopt)%利用frest.simView命令在一个图形界面中查看注入信号、测量输出和频率响应frest.simView(simlog,in,sysData);%估算传递函数
sysA = tfest(sysData,1) %估算一个1阶的传递函数
figure, bode(sysData,'r*',sysA,bopt) %画出这个传函的伯德图

参考文章:https://ww2.mathworks.cn/help/ident/ug/estimating-transfer-function-models-for-a-boost-converter.html
参考模型:https://download.csdn.net/download/wanrenqi/85033776

Matlab扫频法求系统传递函数相关推荐

  1. matlab一直系统函数画脉冲响应,Matlab 相关分析法求系统脉冲响应(三)

    第三部分:相关改进 基本采用(二)中的做法,只是在y的求解摒弃了原理中介绍的方法,直接用matlab自带的lsim函数求解,使本例更有通用性. 源代码: function mytemp clear a ...

  2. 用matlab的编程法和游动鼠标法求二阶传递函数的上升时间、峰值时间、超调量和调节时间 - Gavin_Hall的博客 - CSDN博客

    1. 准备 终值:c(∞) 上升时间 tr:响应从峰值的10%上升到峰值的90%所需要的时间:而阶跃响应则是从终值的10%上升到终值的90%所需要的时间:对有振荡的系统,也可以定义为从0到第一次到达终 ...

  3. matlab零阶保持器法求z变换,教你快速求解闭环脉冲传递函数φ(z)或输出Z变换C(z)!...

    大家好,我是宝刀君,很高兴我们又见面了~ 在离散系统分析中,大家刚开始学习时,会遇到2类题:一类是没有采样开关,让你求系统的输出Z变换C(z):另一类是有采样开关时,让你求系统的闭环脉冲传递函数,进而 ...

  4. 用标号法求最短路径matlab,标号法求最短路径问题

    dijstra算法 最短路径 运筹学 教学目标: 教案 标题:标号法求最短路径问题 1.通过本节学习,使学生掌握标号法的步骤: 2.通过本节学习,学生能够应用标号法求解配送路径问题 教学重点及难点: ...

  5. [MATLAB] 主成分分析法 求矩阵的权重

    主成分分析法 求矩阵的权重 clc clear close all R = ...[ 0.12 0.41 0.33 0.12 0.03; ...0.14 0.52 0.21 0.10 0.03; .. ...

  6. 用标号法求最短路径matlab,标号法求最短路径例题详解重点.ppt

    r * 最短路径 带权图G=, 其中w:E?R. ?e?E, w(e)称作e的权. e=(vi,vj), 记w(e)=wij . 若vi,vj不 相邻, 记wij =?. 设L是G中的一条路径, L的 ...

  7. 用标号法求最短路径matlab,标号法求最短路径例题分析.ppt

    r * 最短路径 带权图G=, 其中w:E?R. ?e?E, w(e)称作e的权. e=(vi,vj), 记w(e)=wij . 若vi,vj不 相邻, 记wij =?. 设L是G中的一条路径, L的 ...

  8. 基于Smiulink仿真的升降压电路和扫频法的PI参数自动整定

    在控制系统控制器设计过程中,PID控制作为基础的控制方法,得到了广泛的应用.常用的经验整定方法虽然使用方便,但是需要一定的经验,不能快速的实现对系统的有效控制.因此,本文利用MATLAB/Simuli ...

  9. Matlab扫频求传递函数

    传递函数对于设计控制算法至关重要,除了建模分析之外,还可以使用扫频法来快速获得传递函数表达式.当然,建模求传函更准确,扫频法精确度没有那么高. 以下为自己使用扫频方法的经历,欢迎各位提出质疑. 首先在 ...

最新文章

  1. 分子特征数据库R包msigdb
  2. resultset需要关闭吗_液氮不锈钢补给瓶外筒上有一小块结霜能用吗
  3. module compiled against API version 0xb but this version of numpy is 0xa
  4. 【合并区间】排序 + 双指针
  5. 如何阅读Cookbook技术书——如果我要把一本几百上千页的书从头读到尾,应该怎样有效阅读。...
  6. CentOS 7 巨大变动之 systemd 取代 SysV的Init
  7. Redis学习总结(17)——Redis 持久化和过期机制复习
  8. Intel 11代全新核显出现了!好强 好乱
  9. 【廖雪峰官方网站/Java教程】泛型
  10. 关于beginPath()和closePath()的关系canvas的beginPath和closePath分析总结,包括多段弧的情况...
  11. Flex请求Php端的奇怪现象
  12. [转载] 白酒基础知识
  13. Android 属性动画使用(二)
  14. Android 详细讲解修改app状态栏颜色
  15. 华为数字化人才思享汇走进兰州,助推打造“数字中国”甘肃样本
  16. 情商与影响力——个人魅力
  17. 电化学方法激励电压波形
  18. 汇川PLC如何连接电脑进行数据通信和远程上下载
  19. Java+sql server学生管理系统代码展示
  20. Nanopi r4s 使用usb网卡设置静态IP

热门文章

  1. Qt 在pro文件中配置条件编译
  2. 读取 获取配置文件的信息 Thymeleaf html/js获取配置文件
  3. 2.4 Python图像的空域增强处理-空域滤波
  4. python设计2048小游戏_使用graphics.py实现2048小游戏
  5. word如何设置页码?教您快速掌握!
  6. SQL0289N SQLSTATE=57011
  7. [微云助手/微小云怎么用]如何设置新人欢迎语
  8. 数据驱动的基本原理是什么?
  9. 计算机化自适应测验 英语,情绪调节的计算机化自适应测验
  10. Onboard SDK的使用