皇甫逸冰 发表于 2014-4-28 19:49

如何求取阻尼比和将数据导入




模态分析的经典定义是:将线性定常系统振动微分方程组中的物理坐标变换为模态坐标,使方程组解耦,成为一组以模态坐标及模态参数描述的独立方程,以便求出系统的模态参数。模态分析的最终目标是:识别出系统的模态参数,为结构系统的振动特性分析、振动故障诊断与预报以及结构动力特性的优化设计提供依据
http://www.ilovematlab.cn/data/attachment/forum/201404/28/092414gvzvg0f24ir430d6.png

为了避免HHT会出现的边界效应和模态混淆,首先对原信号做FFT变换,确定中心频率,然后进行带通滤波,
Fs = 5000;% Sampling Frequency
Fstop1 = 80;          % First Stopband Frequency
Fpass1 = 100;         % First Passband Frequency
Fpass2 = 120;         % Second Passband Frequency
Fstop2 = 140;         % Second Stopband Frequency
Astop1 = 60;          % First Stopband Attenuation (dB)
Apass= 0.6;         % Passband Ripple (dB)
Astop2 = 30;          % Second Stopband Attenuation (dB)
match= 'stopband';% Band to match exactly

% Construct an FDESIGN object and call its BUTTER method.
h= fdesign.bandpass(Fstop1, Fpass1, Fpass2, Fstop2, Astop1, Apass, ...
                      Astop2, Fs);
Hd = design(h, 'butter', 'MatchExactly', match);
以上是butterworth带通滤波程序,可是对于我的时域数据如何把数据喂给该滤波器呢(请看附件数据)





fidin=fopen('a51.txt');% 打开test2.txt文件
fidout=fopen('mkmatlab.txt','w');   
while ~feof(fidin)                                    % 判断是否为文件末尾               
    tline=fgetl(fidin);                                 % 从文件读行   
      if ~isempty(tline)
            if (double(tline(1))>=48&&double(tline(1))<=57)% 判断首字符是否是数值
                fprintf(fidout,'%s\n\n',tline);         % 如果是数字行,把此行数据写入文件MKMATLAB.txt
                continue   ;
            end;
      end;
end
fclose(fidout);
a51=importdata('MKMATLAB.txt');
以上程序用于将数据导入,但是怎么才能进入滤波器呢?

另外,我还想请教,经过滤波器后,如何写接下来的程序?
就是怎么样才能输出希尔伯特边际谱?如何输出希尔伯特三维谱和阻尼比?总的阻尼和每节次的阻尼比什么关系?
本人看了大量HHT的文献,方法论已经成型,奈何对于如何实现我想要的功能确实一片茫然,求各位大神赐教!
PS:虽然所给数据是一个单自由度的,但是也能够说明问题了吧,谢谢各位了

皇甫逸冰 发表于 2014-4-28 21:05

没有大神么?还是我的问题太naive了

yghit08 发表于 2014-4-28 22:36

先评价方法本身:没有任何意义。带通滤波如果能做的很好,直接用带通滤波分离出各阶模态响应信号就行了,何必多此一举接着做hht呢?如果是密频结构的话,hht的模态混淆十分严重,如何做,这是方法自身的问题。另外,现在fft处理平稳信号十分有效,不管是随机信号还是波形信号,但是对于hht来说几乎只是适用于波形信号,以上没能见到hht方法应用于模态分析的任何优点,也没见到能解决什么问题,只是为了使用hht且在使用中出现问题,为了解决出现的问题去做混合算法,但是混合算法中另一种算法却能很好解决整个问题,这完全是个矛盾的想法,对于做这个hht方法应用于模态分析上时。

皇甫逸冰 发表于 2014-4-29 07:25

我的实验数据应该不可能是你说的密顿结构,况且我以后的实验数据可能会有随机信号(实验对象是冷凝器,管板和管子之间会有随机碰磨,况且他们之间还有的可能有液膜存在,从理论上分析,应该会有很大的随机性),我看别人贴出来的帖子里面,fft的幅值要大HHT幅值的一个量级,这个如何解释?

yghit08 发表于 2014-4-29 15:55

皇甫逸冰 发表于 2014-4-29 07:25
我的实验数据应该不可能是你说的密顿结构,况且我以后的实验数据可能会有随机信号(实验对象是冷凝器,管板 ...

没有认真看我的回复,答非所问。hht不适合处理随机信号。之前我的回复主要的意思就是你说的方法没有什么意义,建议放弃。
页: [1]
查看完整版本: 如何求取阻尼比和将数据导入