声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 11218|回复: 18

[编程技巧] 请问如何在matlab中求传递函数

  [复制链接]
发表于 2008-6-5 09:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
已有输入和输出的文本数据,怎么得到传递函数?恳求各位给予指点...
回复
分享到:

使用道具 举报

发表于 2008-6-5 09:09 | 显示全部楼层

LZ能否把背景知识也介绍一下?
是否可以用拟合?
发表于 2008-6-5 16:13 | 显示全部楼层
期待解答,或者谁有这方面的实例
发表于 2008-7-14 16:51 | 显示全部楼层
输入输出的数据均为原始的时间信号,找两者之间的传递函数,直接按定义做??先做fft,然后相除,这在matlab里怎么实现

[ 本帖最后由 nsin 于 2008-7-14 16:52 编辑 ]
发表于 2008-7-14 18:10 | 显示全部楼层

回复 4楼 的帖子

这样?
X=fft(x);
Y=fft(y);
f=X./Y;
发表于 2008-7-18 18:23 | 显示全部楼层
就是不知道啊,感觉楼上这么做不太好,同疑问
发表于 2009-9-25 11:28 | 显示全部楼层
xf=fft(x); yf=fft(y);
Pxx=abs(xf).*abs(xf); Pyy=abs(yf).*abs(yf); Pxy=yf.*conj(xf); Pyx=xf.*conj(yf);
Txy1=Pxy./Pxx; Txy2 = Pyy ./ Pyx;
发表于 2011-11-14 13:20 | 显示全部楼层
这个行不行啊?希望有解答
发表于 2011-11-14 23:41 | 显示全部楼层
本帖最后由 ChaChing 于 2011-11-14 23:41 编辑
xf=fft(x); yf=fft(y);
Pxx=abs(xf).*abs(xf); Pyy=abs(yf).*abs(yf); Pxy=yf.*conj(xf); Pyx=xf.*conj(yf);
Txy1=Pxy./Pxx; Txy2 = Pyy ./ Pyx;

新版的spectrum没再仔细看过, 但我可以确定matlab中的spectrum也是如此用(7F)!
发表于 2011-11-20 07:51 | 显示全部楼层
哈哈,线性系统中的问题,这种问题用专业命令即可,自己找找吧。
发表于 2012-2-20 23:24 | 显示全部楼层
回复 7 # ChaChing 的帖子

xf=fft(x); yf=fft(y);
Pxx=abs(xf).*abs(xf);
Pyy=abs(yf).*abs(yf);
Pxy=yf.*conj(xf);
Pyx=xf.*conj(yf);
Txy1=Pxy./Pxx;
Txy2 = Pyy ./ Pyx;

请问,能够加上注释吗?最后的传递函数是哪个?先谢过!
发表于 2012-2-21 00:34 | 显示全部楼层
回复 11 # yuxinpeng 的帖子

LS的问题已经并非matlab使用问题, 应该是DSP专业问题了:@)
建议有空去逛逛信号版块, 应该可以学习更多
个人水平/时间有限, 仅大约记得Pxx/Pyy是APSD(auto-spectrum), Pxy/Pyx是CPSD(cross-spectrum)
至於Txy1/Txy2两者, 若输出/输入皆无杂讯干扰的话, 理论上则无差异, 一般个人大都使用第一式
没再查证过, 希望没记错:@)
发表于 2012-2-21 08:53 | 显示全部楼层
回复 12 # ChaChing 的帖子

我的问题是已知输入和传递函数,想求输入,但编程的时候遇到问题。
如果前辈有兴趣,还请移驾下面的帖子给与指点。不胜感激!
http://forum.vibunion.com/thread-108921-1-1.html
发表于 2013-6-11 16:42 | 显示全部楼层
ChaChing 发表于 2009-9-25 11:28
xf=fft(x); yf=fft(y);
Pxx=abs(xf).*abs(xf); Pyy=abs(yf).*abs(yf); Pxy=yf.*conj(xf); Pyx=xf.*conj(yf ...

这样求的话误差较大,并且把相位信息丢了,怎么求相位传递函数?
发表于 2013-6-12 22:39 | 显示全部楼层
随心就动 发表于 2013-6-11 16:42
这样求的话误差较大,并且把相位信息丢了,怎么求相位传递函数?

Txy1=Pxy./Pxx; Txy2 = Pyy ./ Pyx;
得到的传递函数为复数, 其中不是就有幅值及相位信息!?
个人水平有限, 不清楚LS的"误差较大,并且把相位信息丢了"的含意?
可拨空说明下吗?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-28 21:49 , Processed in 0.082518 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表