请教各位,已知一组带频率相近的混叠模态的衰减信号y,尝试已知频率ω_i(通过最原始信号功率谱拾取峰值对应的频率ω_i,然后使用RDT技术得到衰减信号y),使用双自由度的随机减量技术(2DOF-RD,为Tamura教授等人提出[1][2],经周康等人成功实践[3](原文04019102-13页),图1)来非线性拟合阻尼比h_i(最终目的)。拟合方法用最小二乘法。原始数据为一组混叠的衰减曲线,n取2(代码块1)。结果发现matlab提示出现病态雅可比矩阵(图2)。图3中深蓝色虚线为原始信号曲线,浅蓝色实线为错误的拟合线。即使改用希尔伯特(Hilbert)变换生成包络线后再拟合包络线(代码块2)也会出现这个问题(图4~图5,其中图5中绿色为准确的包络线,蓝色为将R_i(t)去除余弦项后得到的“拟合线”,显然图6的拟合效果无法得到真正接近的阻尼比)。不知道怎么解决这个问题,请教各位如何解决。
图1
%已知时间向量t1与带频率相近的混叠模态的衰减信号y
guess = [1,0.01,0.01,1,0.01,0.01,0];%未知参数的初值
guess_f = [0.1663,0.1862];%已知的两模态的频率Hz
myFun = @(a,x) a(1)./sqrt(1-a(2)^2).*exp(-a(2).*guess_f(1).*x).*cos(sqrt(1-a(2)^2).*guess_f(1).*x-a(3))+a(4)./sqrt(1-a(5)^2)*exp(-a(5).*guess_f(2).*x).*cos(sqrt(1-a(5)^2).*guess_f(2).*x-a(6))+a(7);
[coeff,R1,J1,CovB1,MSE1] = nlinfit(t1,y,myFun,guess);%t1为时间向量,y为带频率相近的混叠模态的衰减信号
图2
图3
图4
%已知时间向量t1与带频率相近的混叠模态的衰减信号y
envelop = abs(hilbert(y));
envelop(1)=y(1);
guess = [1,0.01,1,0.01,0];%未知参数的初值
guess_f = [0.1663,0.1862];%已知的两模态的频率Hz
myFun = @(a,x) a(1).*exp(-a(2).*x)+a(3).*exp(-a(4).*x)+a(5);%a(1)、a(3)表示幅值,a(2)、a(4)表示阻尼与频率的乘积
[coeff,R1,J1,CovB1,MSE1] = nlinfit(t1,envelop,myFun,guess);%t表示自变量,y 表示因变量,myfun给定的含有未知参数的函数结构,guess未知参数的初值
zeta1 = abs(coeff(2)./guess_f(1));
zeta2 = abs(coeff(4)./guess_f(2));
图5
参考文献:
[1] TAMURA Y, ZHANG L, YOSHIDA A, et al. Ambient vibration tests and modal identification of structures by FDD and 2DOF-RD technique[J]. The Proceedings of the Symposium on the Motion and Vibration Control, 2002,2003.8.
[2] TAMURA Y, YOSHIDA A. Amplitude Dependency of Damping in Buildings[C]//, 2008: 1-10.
[3] ZHOU K, LI Q, LI X. Eliminating Beating Effects in Damping Estimation of High-Rise Buildings[J]. Journal of Engineering Mechanics, 2019,145(12): 4019102.