声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4078|回复: 8

[线性振动] 多自由度系统传递函数及输出响应仿真

[复制链接]
发表于 2011-4-19 13:14 | 显示全部楼层 |阅读模式

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

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

x
我在做一个多自由度振动系统的仿真,想建立已知系统的动力学方程,通过系统的传递函数和已知的输入力,得到系统的输出响应加速度数据。
目前,多自由度的振动系统已经建好了,通过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)还有个问题:用离散数据的位移响应,怎样得到加速度响应?

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

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2011-4-21 22:52 | 显示全部楼层
没人回答!是我的问题问的不清楚,还是根本没有人这样做呀?
我迷茫!!!
发表于 2011-5-10 21:28 | 显示全部楼层
要不试一试虚拟激励法
 楼主| 发表于 2011-5-14 08:54 | 显示全部楼层
可以用Matlab中的lsim函数实现
发表于 2011-5-14 14:25 | 显示全部楼层
方法二是合适的,因为传递函数是对信号在频域内的描述,因此力、响应也应当是频域内的描述;如果用时域计算方法,那么h(t)应当是脉冲响应函数,且h(t)和力应当做卷积,才能得出响应的时域描述。
用方法二计算得到的响应当然是复数,该复数的模表示响应的幅值,而该复数的相位表示响应(位移)和激励(力)之间的相位差。得到位移后,微分两次就得到加速度,对加速度做逆傅立叶变换后,得到加速度的时域描述。
离散信号的处理原理和上面相同,只是需要采用离散信号的算法。
 楼主| 发表于 2011-5-15 09:34 | 显示全部楼层
回复 5 # dujunmin 的帖子

多谢指教!我现在用matlab函数lsim直接得到了位移响应,但lsim函数的原理我还不太清楚,如果有时间我会再试试方法二的。
发表于 2012-12-18 21:32 | 显示全部楼层
本帖最后由 ME! 于 2012-12-18 22:08 编辑


请问下楼主,我现在也在学习,可以知道一下吗?关于动力方程和状态方程,求响应这块,多自由度的要列微分方程后求状态方程吗?想请教一下
 楼主| 发表于 2013-6-15 21:28 | 显示全部楼层
ME! 发表于 2012-12-18 21:32
请问下楼主,我现在也在学习,可以知道一下吗?关于动力方程和状态方程,求响应这块,多自由度的要列微 ...

抱歉,对动力学方程本人的水平有限,希望有其他人能帮到你。
发表于 2013-6-29 23:54 | 显示全部楼层
真不太懂
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-16 02:25 , Processed in 0.074059 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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