menmen 发表于 2011-4-19 13:14

多自由度系统传递函数及输出响应仿真

我在做一个多自由度振动系统的仿真,想建立已知系统的动力学方程,通过系统的传递函数和已知的输入力,得到系统的输出响应加速度数据。
目前,多自由度的振动系统已经建好了,通过Hw=inv(-w^2*M+jw*C+K)(即频响函数的公式),得到了频响函数,我下一步该怎么做呢?
1)方法一、将Hw做反傅里叶变换得到传递函数h(n),再由x(n)=h(n)*f(n),得到x(n)。
   但是得到的h(n)是复数的吧,是取实部还是模值?

2)方法二、构造输入力f(n),将其进行fft变换,得到F(w),X(w)=H(w)F(W),再对X(w)进行ifft得到输出的位移响应x(n)。
   其中的H(w)、F(w)是复数,得到的X(w)也应该是复数,x(n)也是复数,我要求的输出响应是x(n)的实部还是模值,或者都不是?
3)还有个问题:用离散数据的位移响应,怎样得到加速度响应?

请各位帮我看看,我的思路对吗?正确的仿真步骤是什么?仿真时应该注意什么?
先谢谢各位了!!!

menmen 发表于 2011-4-21 22:52

没人回答!是我的问题问的不清楚,还是根本没有人这样做呀?
我迷茫!!!

a380 发表于 2011-5-10 21:28

要不试一试虚拟激励法

menmen 发表于 2011-5-14 08:54

可以用Matlab中的lsim函数实现

dujunmin 发表于 2011-5-14 14:25

方法二是合适的,因为传递函数是对信号在频域内的描述,因此力、响应也应当是频域内的描述;如果用时域计算方法,那么h(t)应当是脉冲响应函数,且h(t)和力应当做卷积,才能得出响应的时域描述。
用方法二计算得到的响应当然是复数,该复数的模表示响应的幅值,而该复数的相位表示响应(位移)和激励(力)之间的相位差。得到位移后,微分两次就得到加速度,对加速度做逆傅立叶变换后,得到加速度的时域描述。
离散信号的处理原理和上面相同,只是需要采用离散信号的算法。

menmen 发表于 2011-5-15 09:34

回复 5 # dujunmin 的帖子

多谢指教!我现在用matlab函数lsim直接得到了位移响应,但lsim函数的原理我还不太清楚,如果有时间我会再试试方法二的。

ME! 发表于 2012-12-18 21:32

本帖最后由 ME! 于 2012-12-18 22:08 编辑

menmen 发表于 2011-5-15 09:34 http://www.chinavib.com/static/image/common/back.gif
回复 5 # dujunmin 的帖子

多谢指教!我现在用matlab函数lsim直接得到了位移响应,但lsim函数的原理我还不 ...

请问下楼主,我现在也在学习,可以知道一下吗?关于动力方程和状态方程,求响应这块,多自由度的要列微分方程后求状态方程吗?想请教一下

menmen 发表于 2013-6-15 21:28

ME! 发表于 2012-12-18 21:32 static/image/common/back.gif
请问下楼主,我现在也在学习,可以知道一下吗?关于动力方程和状态方程,求响应这块,多自由度的要列微 ...

抱歉,对动力学方程本人的水平有限,希望有其他人能帮到你。

hucanboy1 发表于 2013-6-29 23:54

真不太懂
页: [1]
查看完整版本: 多自由度系统传递函数及输出响应仿真