首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >9.2 时域分析与频域分析

9.2 时域分析与频域分析

作者头像
周星星9527
发布2018-08-08 16:03:24
8010
发布2018-08-08 16:03:24
举报

时域和频域分析师自动控制原理里非常重要的内容,也是《热工过程自动控制》里的基础内容。首先分析一个常见的RC网络电路:

不难写出其传递函数(1/sC)/(R+(1/sC)),即:

我们算出其单位脉冲响应,输出函数的拉氏变换计算如下:

则其拉氏反变换为:

假设RC=1,将输出函数绘图,得到输出信号:

绘制代码如下:

1. <!DOCTYPEhtml>
2. <htmlstyle="height: 100%">
3.    <head>
4.        <metacharset="utf-8">
5.    </head>
6.    <bodystyle="height: 100%; margin: 0">
7.        <divid="container" style="height: 100%"></div>
8.        <scripttype="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
9.        <scripttype="text/javascript">
10. var dom = document.getElementById("container");
11. var myChart =echarts.init(dom);
12. var app = {};
13. option= null;
14. var xData = [];
15. var yData = [];
16. for (var i = 0; i <= 200; i++) {
17.  var x=i/25;
18.  var y=1-Math.exp(-x);
19.     xData.push(x);
20.     yData.push(y);
21. }
22. option= {
23.     xAxis:{
24.         type:'category',
25.         data:xData,
26.     },
27.     yAxis:{
28.         type:'value'
29.     },
30.     series:[{
31.         data:yData,
32.         type:'line'
33.     }]
34. };
35. ;
36. if (option&& typeof option === "object") {
37.     myChart.setOption(option,true);
38. }
39.        </script>
40.    </body>
41. </html>

虽然不如MATLAB工具箱一行代码就搞定,但这里每一步意义都很鲜明。我们接着进行频域分析。比如这个电路的幅频特性,将上述传递函数中的s替换为jω,不难得到幅频特性:

将其绘图(这里同样假设RC=1):

显而易见,这是个低通滤波器。绘制代码如下:

1. <!DOCTYPEhtml>
2. <htmlstyle="height: 100%">
3.    <head>
4.        <metacharset="utf-8">
5.    </head>
6.    <bodystyle="height: 100%; margin: 0">
7.        <divid="container" style="height: 100%"></div>
8.        <scripttype="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
9.        <scripttype="text/javascript">
10. var dom = document.getElementById("container");
11. var myChart =echarts.init(dom);
12. var app = {};
13. option= null;
14. var xData = [];
15. var yData = [];
16. for (var i = 0; i <= 200; i++) {
17.  var x=i/25;
18.  var y=1/Math.sqrt(1+x*x);
19.     xData.push(x);
20.     yData.push(y);
21. }
22. option= {
23.     xAxis:{
24.         type:'category',
25.         data:xData,
26.     },
27.     yAxis:{
28.         type:'value'
29.     },
30.     series:[{
31.         data:yData,
32.         type:'line'
33.     }]
34. };
35. ;
36. if (option&& typeof option === "object") {
37.     myChart.setOption(option,true);
38. }
39.        </script>
40.    </body>
41. </html>

[结语]:纸上得来终觉浅,绝知此事要躬行。通过功能强大的MATLAB可以方便的分析各种时域和频域问题,但我们这里使用js编程也可以直观的体会分析的过程,而不仅仅是一个结果。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 传输过程数值模拟学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档