怎样用MATLAB计算一个传递函数的幅值和相角?
展开全部
楼主你好,我们讲频域法,常用s域中的传递函数,令s=jw来求得A(w)=|G(jw)|,fai(w)=fai(G(jw))
具体到本题,将s用jw代换,有G(jw)=(1+jw)/(2+jw),这是一个复数
由复数乘积(商)的幅值等于各因子幅值的乘积(商),那么|G(jw)|=|1+jw|/|2+jw|
一个复数的模值M=√(Re^2+Im^2),或者说从原点到这个复数的点的距离
那么|1+jw|=√(1+w^2),而|2+jw|=√(4+w^2),故|G(jw)|=√[(1+w^2)/(4+w^2)],这就是你结果的前面一部分,即幅值部分
而复数的乘积(商)的相角等于各因子相角的和(差),那么fai(w)=fai(1+jw)-fai(2+jw)
对于相角的求法,各个象限有不同,不过对1象限(或者说系统稳定时的零极点),还是很容易的
如1+jw,将这个复数与原点0+j0相连,容易知道这条线的幅角为arctan(w/1)=arctanw
同时2+jw的幅角为arctan(w/2)
因此fai(w)=arctanw-arctan(w/2),这就是结果的后一部分,即相角部分
还是很行的吧哈哈
具体到本题,将s用jw代换,有G(jw)=(1+jw)/(2+jw),这是一个复数
由复数乘积(商)的幅值等于各因子幅值的乘积(商),那么|G(jw)|=|1+jw|/|2+jw|
一个复数的模值M=√(Re^2+Im^2),或者说从原点到这个复数的点的距离
那么|1+jw|=√(1+w^2),而|2+jw|=√(4+w^2),故|G(jw)|=√[(1+w^2)/(4+w^2)],这就是你结果的前面一部分,即幅值部分
而复数的乘积(商)的相角等于各因子相角的和(差),那么fai(w)=fai(1+jw)-fai(2+jw)
对于相角的求法,各个象限有不同,不过对1象限(或者说系统稳定时的零极点),还是很容易的
如1+jw,将这个复数与原点0+j0相连,容易知道这条线的幅角为arctan(w/1)=arctanw
同时2+jw的幅角为arctan(w/2)
因此fai(w)=arctanw-arctan(w/2),这就是结果的后一部分,即相角部分
还是很行的吧哈哈
展开全部
可以用matlab画伯德图。
有两个函数可以画伯德图
一个是bode函数
格式是[mag,phase,w]=bode(g);
g是构建好的系统,mag是幅值,phase是幅角,w是频率,如果完整地写[mag,phase,w]=bode(g)
那么将不画图,把幅值,幅角,频率分别一一对应存在三个向量里。只写bode(g)的话,只会画伯德图。用bode函数配合一些查表函数和插值函数,可以比较方便的实现求解对特定频率的增益和相移。
还有一个margin函数,格式是[gm,pm,wcg,wcp]=margin(g);
gm是幅值裕度,pm是相角裕度,wcg是截止频率,wcp是穿越频率。格式不完整,只写margin(g)的话,会画出伯德图,并将那四个参数标注在图上。
也就是说bode函数可以用来求频率,幅值,幅角的关系,margin函数用来求系统的幅值裕度,相角裕度,截止频率,穿越频率这些参数。这两个联合起来用,正好可以满足lz的要求。这些函数都是matlab自带的,是现成的,不用什么复杂的编程。
有两个函数可以画伯德图
一个是bode函数
格式是[mag,phase,w]=bode(g);
g是构建好的系统,mag是幅值,phase是幅角,w是频率,如果完整地写[mag,phase,w]=bode(g)
那么将不画图,把幅值,幅角,频率分别一一对应存在三个向量里。只写bode(g)的话,只会画伯德图。用bode函数配合一些查表函数和插值函数,可以比较方便的实现求解对特定频率的增益和相移。
还有一个margin函数,格式是[gm,pm,wcg,wcp]=margin(g);
gm是幅值裕度,pm是相角裕度,wcg是截止频率,wcp是穿越频率。格式不完整,只写margin(g)的话,会画出伯德图,并将那四个参数标注在图上。
也就是说bode函数可以用来求频率,幅值,幅角的关系,margin函数用来求系统的幅值裕度,相角裕度,截止频率,穿越频率这些参数。这两个联合起来用,正好可以满足lz的要求。这些函数都是matlab自带的,是现成的,不用什么复杂的编程。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询