采用MATLAB进行振动台试验数据的处理_张晋
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
28 Industrial Construction 2002, Vol 32, No 2
作 者: 张 晋 男 1974 年 6 月出生 博士研究生 收稿日期: 2001- 02- 22
工业建筑 2002 年第 32 卷第 2 期
% 将测得的台面白噪声信号和模型第 7 层的加速
度反应信号读入, 并分别存储在数组 x 和 y 中
[ hest1, f ] = tfe( x, y, 2 048, f s, 2 048, 0, mean ) ; % 用
tfe 函数作第 7 层信号对台面信号的传递函数, 数值
存放在复数数组 hest1 中, 频率存放在数组 f 中
% 画出传递函数幅频曲线
angle1= angle( hest1) ; % 用 angle 函数求相位
103
3. 79
- 119. 62
26. 2
10. 31
69. 7
0. 762
26. 2
9. 85
- 117. 61
25. 903
13. 53
109. 33
1
25. 903
12. 67
- 81. 13
25. 903
11. 19
- 68. 93
0. 源自文库27
25. 903
10. 48
100. 85
25. 903
求出同一工况下其余楼层信号对台面信号的传 递函数后, 可以得到模型的自振特性。模型的自振 周期及振型列于表 1 之中。
表 1 中模型 1、2 层的幅值峰值点对应的相位较 乱。如前所述, 问题可能出在传感器工作性能、接线 方向等方面。另一方面, 由本文程序计算结果所得 的相位变化趋 势与 STEX3 0 计算结果中的相 位变 化趋势一致。
其进行修改, 例如可以将窗函数改为 Hamming 窗甚
至是矩形窗) 。因为 FFT 是对有限长度内的时域信
号进行计算的, 意味着要对时域信号进行截断, 加窗
的目的是为了抑制对时域信号进行截断时造成的频
率 泄露 现象[2] , 使在时域上截断信号两端的波形
由突变变为光滑, 在频域上压低旁瓣的高度。( 6) 0
( 7) mean 代表的 tfe 函数中调用的 detrend 函数将原
始信号零均值化。
由上述程序得 到的幅频和相频曲线如图 1 所
图 2 根据 STEX3 0 计算所得传递函数数据 画出的幅频、相频曲线
示。 根据试验所用振动台的制造商美国 MTS 公司
提供的 STEX3 0 程序计算所得的传递函数数据, 画 出的幅频和相频曲线如图 2 所示。
% 将加速度记录读入数组 al 中 dal= dtrend( a1) ; ddal= dtrend( dal, 1) ; % 对 al 中的数 据进行零均值化和消除趋项 ddal= idf ilt ( ddal, 4, [ 0. 0 044 0. 192] ; % 滤波 for ii = 2: npoint; % 采用 线性加速 度法求积 分速度 ( npoint 为记录的点数)
从图 1 和图 2 可以看出, 幅频曲线两者完全类 似, 幅值峰值点对应的频率完全相同, 峰值大小略有 差异, 而在经振型的归一化处理后, 此差异的影响很 小, 具体可 见表 1。相频特 性图两 者有较 大差 异。 后者计算时输入信号采用的是台面内部传感器测到 的信号, 作者未得到此数据, 故本文程序采用的是布 置在台面上的压电式传感器测到的信号。因相位与 传感器工作性能、接线方向等有关, 故相频特性的差 异可能与此原因有关, 但相频特性的差异并不影响 求解振型, 具体可见表 1。
型的自振特性。考虑到模型反馈可能使输入波信号 发生畸变, 因此, 均以层测点的白噪声反应信号对台 面白噪声信号做传递函数。
传递函数又可称频率响应函数, 是复数, 其模等 于输出振幅与输入振幅之比, 表达了振动系统的幅 频特性; 其相角为输出与输入的相位差, 表达了振动 系统的相频特性。因此, 利用传递函数即可作出模 型加速度响应的幅频特性图和相频特性图。幅频特 性图上的峰值点对应的频率为模型的自振频率; 在 幅频特性图上, 采用半功率带宽法可确定该自振频 率下的临界阻尼比; 由模型各测点加速度反应幅频 特性图中, 同一自振频率处各层的幅值比, 再由相频 特性图判断其相位, 经归一化后, 就可以得到该频率 对应的振型曲线。
5. 59
- 63. 4
0. 413
25. 903
5. 24
104. 36
振型 1 0. 908 0. 801 0. 647 0. 432 0. 265 0. 126 - 0. 784 - 0. 253 0. 299 0. 777 1 0. 827 0. 414
速度波形通过二次积分求得位移波形时, 必须做好 消除趋势项和滤波处理[ 3] 。本文采用 MATLAB 语言 及其函数编制了求解积分位移的程序, 根据作者所 进行的振动台试验中 E-l Centro 波 作用下某一测点 的加速度波形, 得到了该测点的位移波形。程序如 下: delt= 0 002; % 信号采集的时间间隔。与 2 中程序 计算的试验模型不同, 此模型试验中的采样频率为 500Hz
但是, 由于仪器的误差, 加速度记录波形会有一 定的波形 基线位移量。这对 于积分运算的影 响很 大, 使积分运算结果产生较大的偏差。因此, 在用加
29
楼层
7 6 5 4 3 2 1 7 6 5 4 3 2 1
一阶自振 频率、 振型
二阶自振 频率、 振型
表 1 模型自振周期及振型
由本文程序计算结果所得
信号, 本文中即为台面信号。( 2) y 为输出信号, 本
文中即为第 7 层的反应信号。( 3) 2 048 为 FFT 点
数, 可变; ( 4) f s 为信号采用频率。( 5) 2 048 为窗函
数的宽度。tfe 函数中用的是 Hanning 窗( 实际上, tfe
函数是独立的 m 文件 tfe. m, 可以方便地根据需要对
为样本混迭的点数, 可变。因为一般情况下, 白噪声
信号的点数远大于 FFT 点数, 此时 tfe 函数将信号分
段, 分别计算每段的自动率谱和互功率谱, 最后求解
传递函数时, 将各段的功率谱相加。分段进行处理
可以使频谱图变得平滑。若采用非零的样本混迭点
数, 可增加分 段数, 从 而使 频谱 图变得 更为 平滑。
关键词: 振动台试验 传递函数 积分位移
USING MATLAB TO DEAL WITH DATA OF THE SHAKING TABLE TEST
Zhang Jin ( College of Civil Engineering, Southeast University Nanjing 210096)
由 STEX3 0 计算结果所得
频率
幅值峰值点
相位
振型
频率
幅值峰值点
相位
8. 039
30. 77
74. 14
1
8. 039
24. 28
- 112. 55
8. 039
27. 93
74. 44
0. 908
8. 039
22. 04
- 112. 18
8. 039
24. 64
74. 63
0. 801
8. 039
3. 75
- 30. 77
0. 122
7. 741
3. 06
148. 23
25. 903
10. 53
- 69. 69 - 0. 778
25. 903
9. 93
99. 88
25. 903 26. 2
3. 36
- 67. 27 - 0. 248
25. 903
3. 93
67. 67
0. 290
26. 2
3. 21
采用 MATLAB 进行振动台试验数据的处理
张晋
( 东南大学 土木工程学院 南京 210096)
摘 要: 结合振动台试验, 利用 MATLAB 语言及其工 具箱函数为 工具编写 了两个程 序, 得到 模型传递 函数和积 分位 移, 与专业软件得到的结果吻合很好, 可代替专业软件或动态信号分析仪的部分功能, 并且可以进一步应用到其他动力 试验 中去。
由此可见, 得到模型的传递函数, 是获得模型自 振特性的关键。
本文采 用 MATLAB 语言 及其函 数编制了 求解 传递函数并输出幅频、相频曲线的程序, 根据作者所 进行的振动台试验中白噪声试验记录, 得到了试验 模型的传递函数。程序如下: f s= 304. 88; % 试验中的采样频率
1 用 MATLAB 求模型的传递函数 振动台试验中, 通常利用白噪声试验来确定模
Abstract : Combined with the shaking table test conducted, this paper designed two programs by means of M atlab language and it s toolbox functions. With these programs the transfer funct ions and int egral displacements of the test model were obtained. The results coincided wel l with those of t he specialized software. The two programs can t ake the place of part functions of specialized software or dynamical signal analyzer. And the application scope can be extended to other dynamical experiments after some moderate modif ication. Keywords : shaking t able t est transfer funct ion integral displacement
19. 45
- 111. 93
8. 039
19. 92
75. 31
0. 647
8. 039
15. 72
- 111. 19
8. 039
13. 29
76. 59
0. 432
8. 039
10. 49
- 109. 69
8. 039
8. 14
- 100. 06
0. 265
8. 039
6. 44
73. 99
7. 889 9
angle1= angle1 3 14 159* 180;
% 画出传递函数
相频曲线
% 将传递函数的实部、虚部以及相应频率等数
据写入外部文件中
该程 序调 用 了 MATLAB 中的 Signal Processing Toolbox 中的 tfe 函数[ 1] 来求解模型的传递函数。现
将此函数的输入参数作如下简要说明: ( 1) x 为输入
0前言 数学软件 MATLAB 具有优秀的数值计算, 特别
是矩阵运算能力以及数据可视化能力, 目前已发展 成为适合多学科、多种工作平台的功能强劲的大型 软件。在国外, MATLAB 已成为线性代数、自动控制 理论、数理统计、数字信号处理、动态系统仿真等领 域的基本工具。
众所周知, Fortran、Basic、C 等语言 在土木工程 计算编程方面具有广泛的应用, 但涉及矩阵理论、数 值分析等问题时用上述语言编程较为烦琐。而这些 问题正是 MATLAB 语言的强项, 同时它还提供了一 批功能强大的核心内部函数和工具箱函数, 不需要 高深的编辑技巧, 可以方便地解决上述问题。本文 利用 MATLAB 语言为工具, 对振动台试验数据进行 处理, 内容主要包括: 由白噪声试验时程记录, 求出 振动模型各测点相对于台面的传递函数, 从而得到 模型的自振频率及振型: 由地震波试验时程记录, 经 消除趋势项、滤波后, 采用数值积分方法得到积分位 移等, 从而进一步显示了 MATLAB 在土木工程领域 的科学研究与工程计算中的价值。
由上述内容可认为, 本文程序可用来计算传递 函数, 进行频谱分析, 从而代替动态信号分析仪或专 业软件的部分功能。
图 1 由本文程序得到的幅频和相频曲线 采用 MATLAB 进行振动台试验数据的处理 张 晋等
2 用 MATLAB 求积分位移 在振动台试验中, 测量加速度比测量位移相对
来说要好测一些。因此, 根据模型加速度波形, 求得 积分位移波形, 是了解模型位移反应的一个重要手 段。
lvl( ii) = ( ddal( ii- 1) + dda1( ii) ) * delt 2; end lv1( 1) = ddal( 1) * delt 2; lv1= cumsum( lv1) ; ldv1= dtrend( lv1) ; lddv1= dtrend( ldv1, 1) ; % 将积分 速度存放在数组 lddv1 中 for ii= 2: npoint;
作 者: 张 晋 男 1974 年 6 月出生 博士研究生 收稿日期: 2001- 02- 22
工业建筑 2002 年第 32 卷第 2 期
% 将测得的台面白噪声信号和模型第 7 层的加速
度反应信号读入, 并分别存储在数组 x 和 y 中
[ hest1, f ] = tfe( x, y, 2 048, f s, 2 048, 0, mean ) ; % 用
tfe 函数作第 7 层信号对台面信号的传递函数, 数值
存放在复数数组 hest1 中, 频率存放在数组 f 中
% 画出传递函数幅频曲线
angle1= angle( hest1) ; % 用 angle 函数求相位
103
3. 79
- 119. 62
26. 2
10. 31
69. 7
0. 762
26. 2
9. 85
- 117. 61
25. 903
13. 53
109. 33
1
25. 903
12. 67
- 81. 13
25. 903
11. 19
- 68. 93
0. 源自文库27
25. 903
10. 48
100. 85
25. 903
求出同一工况下其余楼层信号对台面信号的传 递函数后, 可以得到模型的自振特性。模型的自振 周期及振型列于表 1 之中。
表 1 中模型 1、2 层的幅值峰值点对应的相位较 乱。如前所述, 问题可能出在传感器工作性能、接线 方向等方面。另一方面, 由本文程序计算结果所得 的相位变化趋 势与 STEX3 0 计算结果中的相 位变 化趋势一致。
其进行修改, 例如可以将窗函数改为 Hamming 窗甚
至是矩形窗) 。因为 FFT 是对有限长度内的时域信
号进行计算的, 意味着要对时域信号进行截断, 加窗
的目的是为了抑制对时域信号进行截断时造成的频
率 泄露 现象[2] , 使在时域上截断信号两端的波形
由突变变为光滑, 在频域上压低旁瓣的高度。( 6) 0
( 7) mean 代表的 tfe 函数中调用的 detrend 函数将原
始信号零均值化。
由上述程序得 到的幅频和相频曲线如图 1 所
图 2 根据 STEX3 0 计算所得传递函数数据 画出的幅频、相频曲线
示。 根据试验所用振动台的制造商美国 MTS 公司
提供的 STEX3 0 程序计算所得的传递函数数据, 画 出的幅频和相频曲线如图 2 所示。
% 将加速度记录读入数组 al 中 dal= dtrend( a1) ; ddal= dtrend( dal, 1) ; % 对 al 中的数 据进行零均值化和消除趋项 ddal= idf ilt ( ddal, 4, [ 0. 0 044 0. 192] ; % 滤波 for ii = 2: npoint; % 采用 线性加速 度法求积 分速度 ( npoint 为记录的点数)
从图 1 和图 2 可以看出, 幅频曲线两者完全类 似, 幅值峰值点对应的频率完全相同, 峰值大小略有 差异, 而在经振型的归一化处理后, 此差异的影响很 小, 具体可 见表 1。相频特 性图两 者有较 大差 异。 后者计算时输入信号采用的是台面内部传感器测到 的信号, 作者未得到此数据, 故本文程序采用的是布 置在台面上的压电式传感器测到的信号。因相位与 传感器工作性能、接线方向等有关, 故相频特性的差 异可能与此原因有关, 但相频特性的差异并不影响 求解振型, 具体可见表 1。
型的自振特性。考虑到模型反馈可能使输入波信号 发生畸变, 因此, 均以层测点的白噪声反应信号对台 面白噪声信号做传递函数。
传递函数又可称频率响应函数, 是复数, 其模等 于输出振幅与输入振幅之比, 表达了振动系统的幅 频特性; 其相角为输出与输入的相位差, 表达了振动 系统的相频特性。因此, 利用传递函数即可作出模 型加速度响应的幅频特性图和相频特性图。幅频特 性图上的峰值点对应的频率为模型的自振频率; 在 幅频特性图上, 采用半功率带宽法可确定该自振频 率下的临界阻尼比; 由模型各测点加速度反应幅频 特性图中, 同一自振频率处各层的幅值比, 再由相频 特性图判断其相位, 经归一化后, 就可以得到该频率 对应的振型曲线。
5. 59
- 63. 4
0. 413
25. 903
5. 24
104. 36
振型 1 0. 908 0. 801 0. 647 0. 432 0. 265 0. 126 - 0. 784 - 0. 253 0. 299 0. 777 1 0. 827 0. 414
速度波形通过二次积分求得位移波形时, 必须做好 消除趋势项和滤波处理[ 3] 。本文采用 MATLAB 语言 及其函数编制了求解积分位移的程序, 根据作者所 进行的振动台试验中 E-l Centro 波 作用下某一测点 的加速度波形, 得到了该测点的位移波形。程序如 下: delt= 0 002; % 信号采集的时间间隔。与 2 中程序 计算的试验模型不同, 此模型试验中的采样频率为 500Hz
但是, 由于仪器的误差, 加速度记录波形会有一 定的波形 基线位移量。这对 于积分运算的影 响很 大, 使积分运算结果产生较大的偏差。因此, 在用加
29
楼层
7 6 5 4 3 2 1 7 6 5 4 3 2 1
一阶自振 频率、 振型
二阶自振 频率、 振型
表 1 模型自振周期及振型
由本文程序计算结果所得
信号, 本文中即为台面信号。( 2) y 为输出信号, 本
文中即为第 7 层的反应信号。( 3) 2 048 为 FFT 点
数, 可变; ( 4) f s 为信号采用频率。( 5) 2 048 为窗函
数的宽度。tfe 函数中用的是 Hanning 窗( 实际上, tfe
函数是独立的 m 文件 tfe. m, 可以方便地根据需要对
为样本混迭的点数, 可变。因为一般情况下, 白噪声
信号的点数远大于 FFT 点数, 此时 tfe 函数将信号分
段, 分别计算每段的自动率谱和互功率谱, 最后求解
传递函数时, 将各段的功率谱相加。分段进行处理
可以使频谱图变得平滑。若采用非零的样本混迭点
数, 可增加分 段数, 从 而使 频谱 图变得 更为 平滑。
关键词: 振动台试验 传递函数 积分位移
USING MATLAB TO DEAL WITH DATA OF THE SHAKING TABLE TEST
Zhang Jin ( College of Civil Engineering, Southeast University Nanjing 210096)
由 STEX3 0 计算结果所得
频率
幅值峰值点
相位
振型
频率
幅值峰值点
相位
8. 039
30. 77
74. 14
1
8. 039
24. 28
- 112. 55
8. 039
27. 93
74. 44
0. 908
8. 039
22. 04
- 112. 18
8. 039
24. 64
74. 63
0. 801
8. 039
3. 75
- 30. 77
0. 122
7. 741
3. 06
148. 23
25. 903
10. 53
- 69. 69 - 0. 778
25. 903
9. 93
99. 88
25. 903 26. 2
3. 36
- 67. 27 - 0. 248
25. 903
3. 93
67. 67
0. 290
26. 2
3. 21
采用 MATLAB 进行振动台试验数据的处理
张晋
( 东南大学 土木工程学院 南京 210096)
摘 要: 结合振动台试验, 利用 MATLAB 语言及其工 具箱函数为 工具编写 了两个程 序, 得到 模型传递 函数和积 分位 移, 与专业软件得到的结果吻合很好, 可代替专业软件或动态信号分析仪的部分功能, 并且可以进一步应用到其他动力 试验 中去。
由此可见, 得到模型的传递函数, 是获得模型自 振特性的关键。
本文采 用 MATLAB 语言 及其函 数编制了 求解 传递函数并输出幅频、相频曲线的程序, 根据作者所 进行的振动台试验中白噪声试验记录, 得到了试验 模型的传递函数。程序如下: f s= 304. 88; % 试验中的采样频率
1 用 MATLAB 求模型的传递函数 振动台试验中, 通常利用白噪声试验来确定模
Abstract : Combined with the shaking table test conducted, this paper designed two programs by means of M atlab language and it s toolbox functions. With these programs the transfer funct ions and int egral displacements of the test model were obtained. The results coincided wel l with those of t he specialized software. The two programs can t ake the place of part functions of specialized software or dynamical signal analyzer. And the application scope can be extended to other dynamical experiments after some moderate modif ication. Keywords : shaking t able t est transfer funct ion integral displacement
19. 45
- 111. 93
8. 039
19. 92
75. 31
0. 647
8. 039
15. 72
- 111. 19
8. 039
13. 29
76. 59
0. 432
8. 039
10. 49
- 109. 69
8. 039
8. 14
- 100. 06
0. 265
8. 039
6. 44
73. 99
7. 889 9
angle1= angle1 3 14 159* 180;
% 画出传递函数
相频曲线
% 将传递函数的实部、虚部以及相应频率等数
据写入外部文件中
该程 序调 用 了 MATLAB 中的 Signal Processing Toolbox 中的 tfe 函数[ 1] 来求解模型的传递函数。现
将此函数的输入参数作如下简要说明: ( 1) x 为输入
0前言 数学软件 MATLAB 具有优秀的数值计算, 特别
是矩阵运算能力以及数据可视化能力, 目前已发展 成为适合多学科、多种工作平台的功能强劲的大型 软件。在国外, MATLAB 已成为线性代数、自动控制 理论、数理统计、数字信号处理、动态系统仿真等领 域的基本工具。
众所周知, Fortran、Basic、C 等语言 在土木工程 计算编程方面具有广泛的应用, 但涉及矩阵理论、数 值分析等问题时用上述语言编程较为烦琐。而这些 问题正是 MATLAB 语言的强项, 同时它还提供了一 批功能强大的核心内部函数和工具箱函数, 不需要 高深的编辑技巧, 可以方便地解决上述问题。本文 利用 MATLAB 语言为工具, 对振动台试验数据进行 处理, 内容主要包括: 由白噪声试验时程记录, 求出 振动模型各测点相对于台面的传递函数, 从而得到 模型的自振频率及振型: 由地震波试验时程记录, 经 消除趋势项、滤波后, 采用数值积分方法得到积分位 移等, 从而进一步显示了 MATLAB 在土木工程领域 的科学研究与工程计算中的价值。
由上述内容可认为, 本文程序可用来计算传递 函数, 进行频谱分析, 从而代替动态信号分析仪或专 业软件的部分功能。
图 1 由本文程序得到的幅频和相频曲线 采用 MATLAB 进行振动台试验数据的处理 张 晋等
2 用 MATLAB 求积分位移 在振动台试验中, 测量加速度比测量位移相对
来说要好测一些。因此, 根据模型加速度波形, 求得 积分位移波形, 是了解模型位移反应的一个重要手 段。
lvl( ii) = ( ddal( ii- 1) + dda1( ii) ) * delt 2; end lv1( 1) = ddal( 1) * delt 2; lv1= cumsum( lv1) ; ldv1= dtrend( lv1) ; lddv1= dtrend( ldv1, 1) ; % 将积分 速度存放在数组 lddv1 中 for ii= 2: npoint;