在matlab中我有matlab取一列数据据供1440个,现在我想把这1440个数字每个一组,我该怎么变成比如1-8,9-16这样

如何用Matlab得到传递函数?
<span class="xi1" style="color:#ff
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 12:06:12
大家好,我用频率分析仪得到了电路的频率响应数据,请问能不能用软件把这些数据转换成传递函数呢?之前见过有人提出用曲线拟合,但是一直没有找到方法,greendot老师说可以用System Identification Toolbox来处理,我想请问有没有哪位做过这个或者提些意见给我。
先谢谢大家了。
|荨麻草在线LV7版主积分:9315|主题:59|帖子:3435积分:9315版主 22:09:20&是二维数据么?
可否采用excel的绘图功能? ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 23:09:57&数据中有频率 幅值 相角。我用了excel来绘图,但是我想用这些数据反过来求传递函数。请问有什么建议吗? ||
荨麻草在线LV7版主积分:9315|主题:59|帖子:3435积分:9315版主 23:19:22&没有什么好建议,,坏建议倒是有...
绘图完成后(转化成对数坐标),从左至右,同时观察幅频、相频,1Hz左右对应的幅值即直流增益,遇到第一个转折频率纪委p1,并注意斜率....依次类推,有了零点极点,直流增益,传函就出来了 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 23:30:14&嘿嘿,我也想过用手算的方法,但是出错的概率太大了。而且把频率特性转换成传函好像要注意很多地方。。。。 ||
荨麻草在线LV7版主积分:9315|主题:59|帖子:3435积分:9315版主 23:42:09&是呀,比如如果Excel将数据绘制成这个样子,我们只能看出趋势,零极点具体位置就不好确定了
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 23:45:24&是啊,看来我们都有同样困惑啊。 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 03:22:42&在matlab的command window里输入ident就可以调用建模的toolbox了。 ||zhaohua2764离线LV10总工程师积分:10023|主题:37|帖子:3748积分:10023LV10总工程师 07:52:32&也只能是拟合吧,拟合的目标也只能是有限的一些典型传递函数。
以前也期待PCB软件能有良好的自动布局,可事实证明这不现实。
maoxmvip离线LV6高级工程师积分:443|主题:20|帖子:101积分:443LV6高级工程师 08:09:08&期待中,如果有了这个那就方便了 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 09:58:40&是只能拟合,最主要的原因是想找到模型和测出来的数据有多大的误差。 ||
greendot离线LV10总工程师积分:18741|主题:0|帖子:5612积分:18741LV10总工程师 11:15:44&兄弟有实例没有,贴上来看看? ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 11:35:53&我在想怎么贴出来。我是先用script文件写了一个time domain的传递函数(s=j2*pi*f),然后循环f从1到100KHz,得到相应的幅度和相位。然后把得到的数据读入System Identification Tool Box里面模拟出来的。很多操作都是通过Tool Box的GUI完成的。
您觉得怎样贴出来会比较好? ||jerry-power离线LV6高级工程师积分:897|主题:17|帖子:291积分:897LV6高级工程师 11:39:31&做过这个,就是拟合吧
在sisotool 工具里放置合适的零极点,尽量使曲线吻合,得到传递函数 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 11:57:18&兄台会用sisotool,我之前一直想学这个,但是一直没有找的资料,可否开个贴交流一下。 ||
jerry-power离线LV6高级工程师积分:897|主题:17|帖子:291积分:897LV6高级工程师 12:40:12&用过而已啊,没有很精啊 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 12:45:04&因为之前我看过TI的一篇app note,里面使用了sisotool设计环路的参数,貌似只需要输入想要的结果(如阶跃相应的时间,带宽和相位裕量)就可以得到反馈的参数。兄台可用过这个功能? ||jerry-power离线LV6高级工程师积分:897|主题:17|帖子:291积分:897LV6高级工程师 13:38:40&没有哦,我是大概知道实测的曲线的零极点分布的,然后去拟合的,这样好做点 ||
yanpm离线LV8副总工程师积分:3001|主题:23|帖子:1575积分:3001LV8副总工程师 17:25:41&楼上兄台的做法很有建设性,拟合都要有一些既定假设,就是所谓的预测了。
如果已经得到Bode plot,就幅度vs频率,相位vs频率曲线,根据+/-20db/dec,+/-40db/dec渐近线先预测几个pole,zero,double pole double zero,然后再去近似了。
还有几个比较困难的地方是:
1)实际系统引入的杂散参数和群延迟特性,才是拟合和预测的难点。
2)实际测量时仪器已经采用了离散化的数字处理手段,还有测量系统处理误差和测量时注入的扰动幅度所引起的误差,对低频还好,对高频都是很大的影响。
3)所以目前已有的模型,多是对1/2开关频率之前的预测,V2等新模型有所改进,但是还是有其局限性。 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 23:23:41&1.请问什么是群延迟特性?
2.FRA是离散化的处理,请问这样是否需要考虑Sampling Interval的影响?或者说测试的结果是离散的结果,而不能当做连续系统来分析。如果是这样的话,拟合出来的结果在Z域下更贴近,再用d2c来转换?
一花一天堂离线LV6高级工程师积分:2140|主题:34|帖子:1892积分:2140LV6高级工程师 08:10:37&什么是 阶跃响应的时间呢 ? ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 09:23:27&一般是指阶跃输入时,系统输出到达稳定输出的90%所需要的时间。与带宽成反比,粗略的估算公式为 0.35/带宽 单位是秒。 ||
一花一天堂离线LV6高级工程师积分:2140|主题:34|帖子:1892积分:2140LV6高级工程师 11:10:42&除带宽外,这个时间和相位裕度有关系吗? ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 13:26:02&有是有,但是和相位裕度的关系不是很大。 ||
greendot离线LV10总工程师积分:18741|主题:0|帖子:5612积分:18741LV10总工程师 11:46:12&只想看结果,就Bode Plot 和传函 吧。 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 11:57:46&好的,我去截图。 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 12:17:42&以我测试的为例吧,
R=1e3; C=1e-7; L=0.1; Rl=1000;
magdb_LCR=zeros(1,1e5);% -sL-R-|(1/sC)
mag_LCR=zeros(1,1e5);
phase_LCR=zeros(1,1e5);
freq=(1:1e5);
RCplot=zeros(1,1e5);
LCRplot=zeros(1,1e5);
for f=1:1:1e5
LCR=1/((1i*2*pi*f)^2*L*C+1i*2*pi*f*C*Rl+1);
LCRplot(f)=LCR;
mag_LCR(f)=abs(LCR);
magdb_LCR(f)=20*log10(abs(LCR));
phase_LCR(f)=angle(LCR)*180/
我用上方的函数写一个已知的传递函数,生成对应频率下的幅值和相位。频率响应曲线如下,需要注意的是,幅值的纵坐标不是dB。
然后在tool box中导入数据,得到一个确定零点和极点个数的传函。在command window里,我是用zpk函数来查验拟合的结果。结果如下:
zpk(arx21)
Zero/pole/gain from input &u1& to output &y1&:
----------------------
(s^2 + 1e004s + 1e008)
拟合得到的结果与测试用的传递函数完全一致。但是比较麻烦的是在拟合之前,需要先确定传函的零极点个数,可能是因为我选择sampling interval是0(continuous system)而不是discrete time system。选择后者的话,可以让tool box自行选择合适的阶数。
greendot离线LV10总工程师积分:18741|主题:0|帖子:5612积分:18741LV10总工程师 12:23:08&谢谢了。 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 12:24:59&您客气了。 ||一花一天堂离线LV6高级工程师积分:2140|主题:34|帖子:1892积分:2140LV6高级工程师 16:39:30&学习下 ~
伟大的风之精灵离线LV2本网技师积分:108|主题:1|帖子:6积分:108LV2本网技师 09:01:54&tf函数
margin函数
||not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 06:43:01&我还有一个问题想要请教一下大家。我现在有传递函数和从电路上测量出来的数据,怎么样能够把传递函数和测出来的数据画在同一个伯德图中呢? ||
yanpm离线LV8副总工程师积分:3001|主题:23|帖子:1575积分:3001LV8副总工程师 10:25:41倒数10&你可以用MathCAD整合一下,
1)传递函数直接绘制;
2)AP测到的实际数据可以用VB DDE Demo这个插件 export出来,然后导入MathCAD
导入方法,ReadPRN(&x:\..\testdata.dat&)
之前做的一个分析,对FFT理解不深,所以不太对,在数据采样前没有低通滤波,所以有频谱泄漏,不过数据导入方法是一样的,你就批判着看吧。
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 11:02:32倒数9&谢谢。我用的是AP102B,这个太老了,好像装不了这个插件。在matlab里可以用[Mag,Phase]=bode(sys)得到频率响应的数据点。但是我不知道如何修改设置来获得特定频率段的数据点和个数。 ||
荨麻草在线LV7版主积分:9315|主题:59|帖子:3435积分:9315版主 23:23:52倒数8&时间过得真快呀,都一年了...找到解决的办法了么?
最近我也遇到了这样的困惑:
1.这是AP model300 得到的二进制数据(部分数据,从控制到输出):
Frequency Mag [B/A] Phase [B-A]
+1.00E+002 +3.69E+001 -1.22E+001
+1.81E+002 +3.54E+001 -1.84E+001
+1.88E+002 +3.85E+001 -1.79E+001
+1.38E+002 +4.44E+001 -1.62E+001
+1.27E+002 +3.28E+001 -9.58E+000
+1.39E+002 +3.01E+001 -1.25E+001
+1.90E+002 +3.00E+001 -1.62E+001
+1.17E+002 +3.18E+001 -2.59E+001
+1.86E+002 +3.83E+001 -1.29E+001
+1.81E+002 +3.17E+001 -2.12E+001
+2.00E+002 +3.19E+001 -2.47E+001
+2.36E+002 +3.67E+001 -1.70E+001
+2.11E+002 +3.59E+001 -2.88E+001
+2.55E+002 +3.76E+001 -2.82E+001
+2.31E+002 +3.99E+001 -2.88E+001
+3.78E+002 +3.43E+001 -3.74E+001
+3.20E+002 +4.81E+001 -6.39E+001
+3.22E+002 +3.59E+001 -3.30E+001
+3.43E+002 +4.62E+001 -4.77E+001
+4.65E+002 +3.86E+001 -3.33E+001
+4.01E+002 +3.62E+001 -6.55E+001
+5.68E+002 +3.46E+001 -3.87E+001
+5.54E+002 +3.97E+001 -3.79E+001
+5.69E+002 +3.03E+001 -5.41E+001
+6.22E+002 +3.30E+001 -3.81E+001
2导入到Mathcad:
疑惑:有什么方法可以拟合出传函么?
||not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 10:30:44倒数7&我觉得真的用matlab来拟合高阶的传递函数比较容易出错。草兄为什么要拟合出传函? ||
荨麻草在线LV7版主积分:9315|主题:59|帖子:3435积分:9315版主 11:25:16倒数6&是这样的,下一阶段可能有一个DSP的数字电源项目,老大让我工作之余熟悉一下相关知识...目前正在恶补中...
我觉得没有准确的Powerstage传函,数字补偿器这块不好做...而解析法得到的传函(尤其是复杂一点的拓扑,如LLC)没有FRA扫频(或者Simplis扫频)得到的结果准确...所以才想到拟合传函。 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 12:53:37倒数5&原来是要做数字电源了啊。个人感觉数字电源与模拟的差别不是很大,只是多了一个sample and hold的效果。数字补偿器我一般是用tustin transform从s域转换过去 ||
荨麻草在线LV7版主积分:9315|主题:59|帖子:3435积分:9315版主 19:58:27倒数4&OK,等遇到了问题在向你请教哈,准备采用microchip的DSP(dsPIC33FJ16GS系列),还在啃官方提供的参考设计 ||
not2much离线LV8副总工程师积分:3094|主题:37|帖子:1220积分:3094LV8副总工程师 23:20:59倒数3&我用的是TI的DSP,官方应该提供了很多程序的模板,我觉得挺有帮助的。 ||
duelex离线LV1本网技工积分:37|主题:0|帖子:5积分:37LV1本网技工 17:46:53倒数2&这个已经属于模式识别的问题了。对于草兄这种有频率响应图的情况要容易一点,因为可以大致看出系统有几个零点,几个极点,大致心里有个数。比如说有m个零点,n个极点,加上增益k这个未知数,也就是说理论上有m+n+1个数据就可以算出来系统的参数。草兄的数据肯定多于m+n+1。
对于这种情况,用卡尔曼滤波来得到最优的参数。
duelex离线LV1本网技工积分:37|主题:0|帖子:5积分:37LV1本网技工最新回复 17:55:20倒数1&补充一点:如果系统的传递函数不能很好的预测到的化,可以用加速度模型来近似。
热门技术、经典电源设计资源推荐
世纪电源网分部
广 东:(7 /()
北 京:(010) /()
上 海:(021) /()
香 港:HK(852)
中国电源学会
地 址:天津市南开区黄河道大通大厦5层
电 话:(022)
传 真:(022)
E-mail:cpss#(#换成@)小木虫 --- 600万学术达人喜爱的学术科研平台
热门搜索:
&&【求助】matlab读取字符+数字的txt文本文件——请教!!!
【求助】matlab读取字符+数字的txt文本文件——请教!!!
附件是我的数据,类似的数据有几千个,前3行的我不要,一个一个删除太麻烦了!!!
我想编个程序,从第4行开始读,跳过前3行,textread可以按指定的行列读取纯数字的txt,可对这样混杂的txt,怎么不读呢?高手请赐教!方便的话请把代码贴上,谢谢!!!!
ps:数据下载地址
/urllink.php?id=mks7nucos6e3
其他站点获取以下URL地址链接到其他站点,小木虫不对链接的有效性、合法性和安全性负责,请自己决定点击查看,如果发现有问题,请及时向版主反馈。/urllink.php?id=mks7nucos6e3
不是说了吗?类似的txt有几千个,删到啥时候啊?以后可能还要处理类似的数据
学术必备与600万学术达人在线互动!
扫描下载送金币扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
matlab将结果中的数字表达式变成数值就是,我用符号法解方程,解出来的结果往往是数字的一大串表达式,怎么把这个表达式变成一个具体的数值呢?
扫二维码下载作业帮
3亿+用户的选择
使用eval函数就行了!sym('2*3^5/()')ans =243/>> eval(ans)ans =1.
为您推荐:
扫描下载二维码&#xe621; 上传我的文档
&#xe602; 下载
&#xe60c; 收藏
该文档贡献者很忙,什么也没留下。
&#xe602; 下载此文档
第01讲 Matlab的基本使用方法
下载积分:3000
内容提示:第01讲 Matlab的基本使用方法
文档格式:PDF|
浏览次数:6|
上传日期: 02:55:09|
文档星级:&#xe60b;&#xe60b;&#xe60b;&#xe60b;&#xe60b;&#xe60b;
全文阅读已结束,如果下载本文需要使用
&#xe71b; 3000 积分
&#xe602;下载此文档
该用户还上传了这些文档
第01讲 Matlab的基本使用方法
关注微信公众号

我要回帖

更多关于 matlab读取一列数据 的文章

 

随机推荐