【BiliBili】 【知乎】 【QQ空间】 【微博】


博学慎思,坚持创新,求知若飢,虛心若愚                       关键字     类型    
  • 博主
  • 全部
  • 日志
  • 研究
  • 论文
  • 自编程序
  • 工程
  • Dino笔记
  • DinoBox
  • OpenSEES
  • Dino公开课
  • 每周挑战
  • Dino爱编程
  • 留言板

DinoBox

ETE_Frame3D
结构分析程序
ETE_Frame3D
2022-01-19
ETE-section截面分析程序
ETE-section
2021-08-19
ETO_OpenSEES前后处理程序
程序通过邮件申请。
★注意,软件不能下载,是通过邮箱发送软件的。

申请ETO时,注意EMAIL 的写法:(格式一定要对,否则电脑收不到)
邮件题目: ETO (版本号) 下载
注册人: (真实姓名)
学校/单位: (大学或工作单位)
邮件回复,大约需要1~4天的时间。
ETO_程序
2014-03-26
上一篇 | 下一篇
Dino笔记 订阅所有Dino笔记的日志

[Dino笔记]傅立叶变换工具及求解基频

作者:dinochen1983 日期:2021-07-19

字体大小: 小 中 大

[Dino笔记]傅立叶变换工具及求解基频

【软件下载】程序:傅立叶变换小程序(delphi)
【ETABS模型下载】Etabs模型与白噪声地震波
【Python源代码下载】python:python进行傅立叶变换源代码
【微信公众号】需要点击【阅读原文】才可以下载

本期Dino结构笔记对结构动力学的必学内容进行一个数学工具的介绍,也就是傅立叶变换。傅立叶变换广泛用于结构动力学与结构抗震的内容当中,但是它的教学非常尴尬,同学们在学习结构动力学的课程之前未必有学习傅立叶变换这个数学工具(属于数值计算的教学内容),教动力学的书一上来就介绍傅立叶变换了,还有的动力学与抗震的教学把这部分当成选修的。为了啃吃动力学中傅立叶变换这块骨头,笔者通过编程的方法实现简单的快速傅立叶变换(FFT),提供一个小程序给工程师使用,不需要用到matlab与python都可以用,最后带来一个简单工程计算的实例介绍傅立叶变换在工程中的小应用。

傅立叶Jean Baptiste Joseph Fourier(1768年-1830年)
矩形波的傅立叶变换是最容易图形化理解的傅立叶的方法。
 

简单说一下原理:
傅立叶变换的主要功能就是把一个时程函数(如地震波动力荷载,如结构的响应位移时程),把时程曲线转换为频域的表达式。什么是频域的表达式,就是把任意时程曲线变成一组不同周期,不同幅值,不同起始转动角的正弦曲线组合(求和)而成,也就是把一条任意时程曲线变成一堆正弦公式求和。那么为了方便表达,把这一推的正弦曲线的幅值,周期(频率),起始转角记录下来,按频率进行排序,写成关于频率的表达式,那就成为傅立叶变换后的傅立叶谱幅值曲线,与傅立叶相位(转动起始位置)曲线了,工程师了解到这里就差不多可以使用了。

工程师需要了解傅立叶变换的几个特点:
(1)谱的幅值代表某个频率的振动对总值的贡献较大,通过面积与幅值大就可以判断这个振动是高频率振动,还是低频率振动

上图属于高频振动,频率值较大



上图属于低频振动,频率值较小

(2)有明显峰值的谱曲线,其峰值往往代表的就是结构的第一周期(频率),如下图所示。

最大频率出现在34的位置,频率值 f = 34/总时间 = 34 / 20.48(sec)

与反应谱不同,傅立叶谱在一定的精度范围内可以双向转换,也就是说可以从时程曲线变换成傅立叶谱,也可以从傅立叶谱变成时程曲线(人工地震波就是这么得来的),反应谱则不能,时程曲线可以得到反应谱,反应谱得不到唯一的地震波,还有一点,反应谱与结构的阻尼比相关。
    
这个图经常出现在超限报告,表明地震波的反应谱与规范谱的关系

 
这次编制傅立叶变换的小工具也借用了python作为辅助做一些快速的验算与复核,发现python在动力学计算的快速编程与计算的能力(numpy, scipy)是相当不错的,还有快速绘制图表的功能(matplotlib)。在文章的后面附上傅立叶变换的源代码与实例(代码来源CSDN),方便大家学习。一般编写完傅立叶变换的小工具需要做一些验算,比如输入一些组合正弦函数(三个主频率为200,400,600),如以下公式所示,然后采用程序测算出相应的傅立叶谱值。


以下是python的代码与计算结果:

 
 
上图是 python进行傅立叶计算的源代码,来源于网站csdn


 
python 分析所得到幅值与相位谱

以下是delphi编制的小程序的计算结果:
 



程序基本与PYTHON是吻合的,程序在下方可以下载。


以下通过一个结构动力学的计算实例介绍傅立叶变换的功能之一(今天不讲人工波)
通过白噪声去激励框架结构,通过时程分析得到结构的顶点位移响应,从而估算结构的自振周期。以下采用ETABS进行结构模拟分析,分析模型在下面的附件可以下载。
(1)小程序附带一个白噪声的生成功能,点击可以生成一定步数的白噪声。如下图所示
 
小程序生成的(白噪声)地震波时程曲线,附件自带

导入ETABS后的地震波曲线

(2)在Etabs建立一个四层的小框架结构,输入白噪声作为X方向地震波输入,进行时程分析,得到顶点位移时程曲线如下图所示,
  
四层框架示例模型


 
顶点位移时程曲线(相对位移)


(3)对位移时程曲线傅立叶分析,在ETABS的时程分析步要设置成1024,2048等2N数才可以。将位移时程曲线导入小程序进行傅立叶变换,得到以下结果。

导入小程序后进行傅立叶变换,查看第一周期。
 
从傅立叶谱来看,有明显的峰值,峰值出现在 f = 34/20.48 = 1.660(Hz) 处,所以第一频率为1.660hz,周期估算为0.6023s,与实际ETABS得到的周期值接近。(ETABS的模态结果显示第一周期是0.620s)
 

这个求结构振动周期的方法就是试验方法,比如一个超高层塔楼顶的桅杆,你想测出实际周期,可以用白噪声去摇它,再测它的基频。ETABS的这个时程分析可以采用数值积分法如Newmark或Wilson-Theta法,也就是说可以不先求解模态就可以得到位移时程曲线,那么这个位移曲线则反过来可以去求结构的基本周期,这就是时域工具与频域工具两大工具的相通之处。如果结构进入弹塑性以后,想知道周期退化了多少,也可以通过这个方法来测,大震完来个白噪声看看周期变化了多少,等等,所以说学会傅立叶变换,乐趣多多。傅立叶变换,结合傅立叶逆变换与杜哈梅积分,结合这三个工具,就可以生成人工地震波了。这个可以作为一个坑下次再填。



振动台试验会采用白噪声去查找结构的基本周期,上图是2008年的项目在广州大学做的振动台试验。
详细资料可以查看论文:
高层钢-混凝土组合门式结构消能减震体系模拟地震振动台试验研究,《振动与冲击》

====THE END====

【软件下载】程序:傅立叶变换小程序(delphi)
【ETABS模型下载】Etabs模型与白噪声地震波
【Python源代码下载】python:python进行傅立叶变换源代码

【微信公众号】需要点击【阅读原文】才可以下载




[本日志由 dinochen1983 于 2021-09-08 05:04 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 动力学动力学 pythonpython
评论: 0 | 引用: 0 | 查看次数: 3487
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 验证码
Dino:如果看不到验证码,再刷几下就可以了
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 200 字 | UBB代码 关闭 | [img]标签 关闭

信息(Information)

DinoChen 视频频道

My GitHub Page



扫描以下二维码,加入公众号!


dinochen.com需要你的支持


日历(Calendar)

2022年7月
  • 日
  • 一
  • 二
  • 三
  • 四
  • 五
  • 六
  • 26
  • 27
  • 28
  • 29
  • 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

查找(Search)

关键字
 
类 型

文章(Recent Article)

[OpenSEES]OpenSEES实例教程[汇总...[Dino笔记]粒子群算法在桁架结构中的应用[获奖]WSP亚洲2021年卓越奖获得一等奖与创新...[Dino笔记]基于遗传算法对剪力墙结构优化设计方...[Dino笔记]基于OpenSEES虚功原理的钢结...[OpenSEES] 新版ETO更新及相关下载方法...[新闻]祝韩老师荣获广东省科技进步一等奖[程序]ETE-section功能更新:可修改划分...[App开发]采用Swfit语言编制经典的推箱子游...[程序]ETE-section更新_考虑混凝土保护...

评论(Comments)

陈博士您好,这个小工具好像有点问题,有效翼板宽度b...打开的时候显示“你没有许可证”,怎么弄啊陈博士您好,这个是需要购买的软件还是可以试用的怎么查看文档计算过程呢,陈博士一直显示出现一个错误字符无法计算是什么原因呢?为什么一直出错计算不了?陈博士,能共享下文件嘛?第二版没有光盘陈博士您好,我换了好几台电脑ETE还是需要许可,陈博士您好,现在程序还是打不开,需要许可请问如何获得会员许可证?

留言(GuestBook)

Thanks regarding furnishi...陈博士您好,想请问一下零长度单元用在桥梁的支座上,...陈博,新版ETO下载以后界面打不开是什么原因呢,旧...陈博士您好,请问可以出一期画易损性曲线的教程吗陈博士您好,我在学习您4.33侧向多自由度简化模型...陈博士您好,計算wind2019的program ...陈博士,您好,我下载使用了您编写的压型钢板组合楼板...陈博士您好,我是opensee初学者,想向您请教两...陈博士你好,请问开洞混凝土截面,ETE-secti...陈博士您好,感谢您的回复,我的刚性隔板设置了转动惯...

TagBar

Loading...

用户面板(User Panel)

登录用户注册

统计(Statistics)

日志: 408 篇
评论: 893 个
留言: 413 个
访问: 14023232 次
在线: 21 人
建站时间: 2008-02-08

Powered By PJBlog3 V2.7 Build 05 CopyRight 2005 - 2011, 陈学伟的博客

Processed in 0.343750 second(s) , 6 queries 粤ICP备15071789号-1