谁能共享一个由传递函数求脉冲响应函数的matlab程序?
谁有由传递函数求脉冲响应函数的matlab程序啊?能共享一下吗?谢谢啊! help impulse? 看了impulse,还是没搞明白,我的传递函数是试验测得的,是一堆离散的复数。 抱歉! 没看清楚明白试试先使用frd后, 再使用impulse 多谢你的回答。
另外,我看有些老师说传递函数做傅立叶逆变换后,就得到脉冲响应函数,我研究逆变换,但是有点问题,因为一个时间序列的FFT是一个对称的,而一般得到的传递函数只有一半(傅立叶变换中舍掉了另一半),我用模拟信号试了一下,如果利用一半的话,根本逆不回去,把谱颠倒后,发现会少一项,也逆不回去,就是少正变换中的第N/2+1项。
先试试您的方法看看。 老大,貌似不行。
我的模拟数据如下:
fr=[-0.1607
-0.1587 + 0.0697i
-0.1524 + 0.1402i
-0.1418 + 0.2126i
-0.1264 + 0.2879i
-0.1057 + 0.3672i
-0.0789 + 0.4521i
-0.0449 + 0.5444i
-0.0022 + 0.6465i
0.0514 + 0.7617i
0.1193 + 0.8947i
0.2062 + 1.0523i
0.3197 + 1.2452i
0.4724 + 1.4907i
0.6863 + 1.8194i
1.0048 + 2.2910i
1.5254 + 3.0398i
2.5226 + 4.4439i
5.1866 + 8.1415i
34.5115 +48.5339i
-9.4786 -11.9836i
-4.5910 - 5.2273i
-3.1940 - 3.2757i
-2.5313 - 2.3352i
-2.1434 - 1.7734i
-1.8879 - 1.3938i
-1.7058 - 1.1156i
-1.5686 - 0.8993i
-1.4606 - 0.7232i
-1.3723 - 0.5743i
-1.2979 - 0.4445i
-1.2332 - 0.3281i
-1.1756 - 0.2212i
-1.1227 - 0.1208i
-1.0730 - 0.0245i
-1.0250 + 0.0698i
-0.9773 + 0.1639i
-0.9287 + 0.2597i
-0.8779 + 0.3590i
-0.8232 + 0.4641i
-0.7627 + 0.5778i
-0.6940 + 0.7035i
-0.6135 + 0.8462i
-0.5161 + 1.0129i
-0.3943 + 1.2142i
-0.2352 + 1.4678i
-0.0168 + 1.8043i
0.3044 + 2.2835i
0.8258 + 3.0398i
1.8221 + 4.4514i
4.4835 + 8.1566i
33.8039 +48.5568i
-10.1926 -11.9527i
-5.3133 - 5.1879i
-3.9267 - 3.2273i
-3.2767 - 2.2771i
-2.9039 - 1.7047i
-2.6661 - 1.3136i
-2.5048 - 1.0225i
-2.3917 - 0.7918i
-2.3115 - 0.5992i
-2.2555 - 0.4315i
-2.2184 - 0.2798i
-2.1973 - 0.1377i]
sys=frd(fr,fss,-1);%fss为频率向量fss='
在利用impulse时
提示不可以:
>> = impulse(sys)
??? Error using ==> ltipack.frddata.utCheckComputability
Not available for FRD models.
回复 5楼 singtosky 的帖子
个人水平专业有限, 对LZ说的东东, 都已经有些过久没碰, 忘干净了, 现在又懒得翻看资料, 就同待高人路过! sorry至于6F的资料, 似乎可以试试, 但这过年期间, 有点忙! 有空在试试
[ 本帖最后由 ChaChing 于 2010-2-13 12:13 编辑 ]
回复 板凳 singtosky 的帖子
感觉lz需要的是函数辨识的问题,而不是已知传递函数求脉冲响应函数的问题。建议采用最小二乘辨识或者help arx,然后再求解脉冲响应
页:
[1]