Hilbert Vibration Decomposition

download Hilbert Vibration Decomposition

of 31

Transcript of Hilbert Vibration Decomposition

  • 7/29/2019 Hilbert Vibration Decomposition

    1/31

    Hilbert Vibration Decomposition

    Matlab script

    %

    function [Y,A,om_r,dev]=hvd(x,n,fp);%% x - initial signal, n - number of decomposed components% Y - decomposed components, A - component envelopes ,% F_r - component relative angular frequency% F=Fs*om_r/2/pi - Absolute frequecy [Hz], Fs -sampling frequency,% dev=std(Y_i)/std(Y_1)) - relative standard deviation of the decomposedcomponent%% Example: [Y,A,om_r,dev]=hvd(x,2,0.02);%% LIMITATIONS:% The sampling frequency Fs has to be in the range Fs=(20-80)*f0.

    % The minimum of points in time domain is 230*3+1 = 691%% 2011 Michael Feldman% For use with the book "HILBERT TRANSFORM APPLICATION% IN MECHANICAL VIBRATION", John Wiley & Sons, 2011%

    if n>7; disp('Max number of components not greater than 7'); endif n

  • 7/29/2019 Hilbert Vibration Decomposition

    2/31

    subplot(212)plot(Y)axis([400 600 -1.1 1.1])xlabel('Points')ylabel('Signal Components')

    figure(2)

    psd(x)

    %

    http://ht.technion.ac.il/Figures/m16_1.png
  • 7/29/2019 Hilbert Vibration Decomposition

    3/31

    Matlab script

    %

    Fs=1; % Sampling FrequencyN=200;% Remez filter lengthn=2048;t=((0:n-1)/Fs)';

    %% Example 1 (Denoising)%u=0.2*sin(0.1*t)+ 0.02*randn(n,1);

    %% Example 2 (Two harmonics)u=sin(0.05*t)+ 0.5*sin(0.3*(t));

    [t,u1,yout]=sim('s16');y=yout(:,1);A=yout(:,5);w=yout(:,6);

    yi=yout(:,2);Ai=yout(:,3);wi=yout(:,4);yi_2=yout(:,7);

    http://ht.technion.ac.il/Figures/m16_2.png
  • 7/29/2019 Hilbert Vibration Decomposition

    4/31

    figure(1)subplot(311)plot([y w A])title('Composition')legend('Signal','Frequency', 'Envelope')

    subplot(312)

    plot([yi wi Ai])title('Largest component')legend('Signal component','Frequency', 'Envelope')

    subplot(313)plot([yi_2])title('Residual')xlabel('Time')legend('Next component')%

    http://ht.technion.ac.il/Simulink/s16.mdl

    Hilbert spectrum

    %

    http://ht.technion.ac.il/Simulink/s16.mdlhttp://ht.technion.ac.il/Simulink/s16.mdlhttp://ht.technion.ac.il/Figures/s16_1.pnghttp://ht.technion.ac.il/Simulink/s16.mdl
  • 7/29/2019 Hilbert Vibration Decomposition

    5/31

    function pl(Y,A,F_r,Fs)% Decomposed components and Hilbert spectrum presentation

    % Y - Array of decomposed components (through HVD),% A - Array of component envelopes,% F_r - Array of component relative angular frequencies% Fs -sampling frequency,

    % F=Fs*F_r/2/pi - Plotted absolute frequecy [Hz],%% Example: pl(Y,A,F_r,1)%% 2011 Michael Feldman% For use with the book "HILBERT TRANSFORM APPLICATION% IN MECHANICAL VIBRATION", John Wiley & Sons, 2011%

    close all;N=0; % Number of the excluded points from the start/ends=size(Y);pp=N+1:length(Y)-N;

    t=pp/Fs; % Timedec=round(s(1)/150);

    c=['k- '; 'b- '; 'r- '; 'm '; 'g- '; 'c- '; 'y- ' ];if s(2)>7 s(2)=7; end

    F=F_r*Fs/2/pi; % Frequency, [Hz]

    for k=1:s(2),figure(1);subplot(s(2),1,k,'align');plot(t,Y(pp,k),c(k,:));grid on;drawnow;ylabel(['^Y' int2str(k)]);axis([min(t) max(t) min(Y(pp,k)) max(Y(pp,k))]);

    xlabel('Time, s');

    figure(2);subplot(211);plot(t,F(pp,k),c(k,:),'Linewidth',2);drawnow;hold on;grid on;axis([min(t) max(t) 0 1.2*max(max(F(pp,:)))]);ylabel('Frequency, Hz');

    subplot(212);plot(t,A(pp,k),c(k,:),'Linewidth',2);drawnow;hold on;grid on;axis([min(t) max(t) 0 1.2*max(max(A(pp,:))) ]);

    ylabel('Amplitude')xlabel('Time, s');

    figure(3);subplot(211)plot(t,Y(pp,k),c(k,:));drawnow;hold on;grid on;axis([min(t) max(t) min(min(Y(pp,:))) max(max(Y(pp,:)))]);ylabel('Y');

  • 7/29/2019 Hilbert Vibration Decomposition

    6/31

    end

    figure(1); subplot(s(2),1,1,'align'); title('Components');figure(2); subplot(211); title('Component instantaneous frequency');subplot(212); title('Component envelope');

    figure(3); subplot(211); title('Components');

    subplot(212); plot(t,sum(Y(pp,:)')); drawnow; grid on;axis([min(t) max(t) min(sum(Y(pp,:)')) max(sum(Y(pp,:)'))]);xlabel('Time, s'); ylabel('Y'); title('Sum of components')

    figure(4);for k=1:s(2),stem3(t(1:dec:length(pp)),F(pp(1:dec:length(pp)),k),(A(pp(1:dec:length(pp)),k)),c(k),'.'); hold on;drawnow;endxlabel('Time, s');ylabel('Frequency, Hz');zlabel('Amplitude')axis([min(t) max(t) 0.7*min(min(F(pp,:))) 1.3*max(max(F(pp,:)))min(min(A(pp,:))) max(max(A(pp,:)))]);title('Hilbert spectrum')

    view(-50,70);

    %tilefigs([2 2],20)

    return

    % Exampleom=0.2+0.12*cos(0.4*(0:1023));x=cos(cumtrapz(om));[Y,A,F_r,dev]=hvd(x,3,0.05);pl(Y,A,F_r,2*pi)

    %

  • 7/29/2019 Hilbert Vibration Decomposition

    7/31

    http://ht.technion.ac.il/Figures/m17_3.pnghttp://ht.technion.ac.il/Figures/m17_2.pnghttp://ht.technion.ac.il/Figures/m17_3.pnghttp://ht.technion.ac.il/Figures/m17_2.png
  • 7/29/2019 Hilbert Vibration Decomposition

    8/31

    http://ht.technion.ac.il/Figures/m17_4.png
  • 7/29/2019 Hilbert Vibration Decomposition

    9/31

    Hilbert spectrum with frequency arranging

    %

    function plfreq(Y,A,F_r,Fs)% Plots the decomposed components with frequency arranging

    % for Hilbert spectrum presentation with frequency arranging

    % Y - Array of decomposed components (through HVD),% A - Array of component envelopes,% F_r - Array of component relative angular frequencies% Fs -sampling frequency,% F=Fs*F_r/2/pi - Plotted absolute frequecy [Hz],%% Example: plfreq(Y,A,F_r,1)%% 2011 Michael Feldman% For use with the book "HILBERT TRANSFORM APPLICATION% IN MECHANICAL VIBRATION", John Wiley & Sons, 2011%

    close all;N=0; % Number of the excluded points from the start/ends=size(Y);pp=N+1:length(Y)-N;t=pp/Fs; % Timedec=round(s(1)/150);

    c=['k- '; 'b- '; 'r- '; 'm '; 'g- '; 'c- '; 'y- ' ];if s(2)>7 s(2)=7; end

    F=F_r*Fs/2/pi; % Frequency, [Hz]

    [F1,I]=sort(F'); F=F1';%for j = 1:s(2), Y1(:,j) = Y(I(:,j),j); end ; Y=Y1';%for j = 1:s(2), A1(:,j) = A(I(:,j),j); end ; A=A1';

    for j = 1:s(1), Y1(j,:) = Y(j,I(:,j)); end ;Y=Y1;for j = 1:s(1), A1(j,:) = A(j,I(:,j)); end ;A=A1;

    for k=1:s(2),figure(1);subplot(s(2),1,k,'align');plot(t,Y(pp,k),c(k,:));grid on;drawnow;ylabel(['^Y' int2str(k)]);axis([min(t) max(t) min(Y(pp,k)) max(Y(pp,k))]);xlabel('Time, s');

    figure(2);subplot(211);plot(t,F(pp,k),c(k,:),'Linewidth',2);drawnow;hold on;grid on;axis([min(t) max(t) 0 1.2*max(max(F(pp,:)))]);ylabel('Frequency, Hz');

    subplot(212);plot(t,A(pp,k),c(k,:),'Linewidth',2);drawnow;hold on;

  • 7/29/2019 Hilbert Vibration Decomposition

    10/31

    grid on;axis([min(t) max(t) 0 1.2*max(max(A(pp,:))) ]);ylabel('Amplitude')xlabel('Time, s');

    figure(3);subplot(211)

    plot(t,Y(pp,k),c(k,:));drawnow;hold on;grid on;axis([min(t) max(t) min(min(Y(pp,:))) max(max(Y(pp,:)))]);ylabel('Y');

    end

    figure(1); subplot(s(2),1,1,'align'); title('Components');figure(2); subplot(211); title('Component instantaneous frequency');subplot(212); title('Component envelope');

    figure(3); subplot(211); title('Components');subplot(212); plot(t,sum(Y(pp,:)')); drawnow; grid on;

    axis([min(t) max(t) min(sum(Y(pp,:)')) max(sum(Y(pp,:)'))]);xlabel('Time, s'); ylabel('Y'); title('Sum of components')

    figure(4);for k=1:s(2),stem3(t(1:dec:length(pp)),F(pp(1:dec:length(pp)),k),(A(pp(1:dec:length(pp)),k)),c(k),'.'); hold on;drawnow;endxlabel('Time, s');ylabel('Frequency, Hz');zlabel('Amplitude')axis([min(t) max(t) 0.7*min(min(F(pp,:))) 1.3*max(max(F(pp,:)))min(min(A(pp,:))) max(max(A(pp,:)))]);title('Hilbert spectrum')view(-50,70);

    %tilefigs([2 2],20)

    return

    % Exampleclear; close allFs=1; % Sampling frequency [Hz]dt=1/Fs; % Time sample interval [s]n=1024; % signal lengthT=dt*(n-1); % Signal duration [s]t=(0:dt:T)'; % Time vectorf01=0.02*ones(1,length(t)); % Signal amplitudeA01=0.005+0.06.*linspace(0,1,length(t)); % Signal frequency [Hz]

    f02=0.05*ones(1,length(t)); % Signal amplitudeA02=0.04-0.02.*linspace(0,1,length(t)); % Signal frequency [Hz]

    x1=A01.*cos(2*pi*cumtrapz(f01.*dt)); % Signalx2=A02.*cos(2*pi*cumtrapz(f02.*dt)); % Signalx=x1+x2;[Y,A,F_r,dev]=hvd(x,2,0.05);plfreq(Y,A,F_r,2*pi)

  • 7/29/2019 Hilbert Vibration Decomposition

    11/31

    %

    http://ht.technion.ac.il/Figures/m17a_1.png
  • 7/29/2019 Hilbert Vibration Decomposition

    12/31

    http://ht.technion.ac.il/Figures/m17a_2.png
  • 7/29/2019 Hilbert Vibration Decomposition

    13/31

    http://ht.technion.ac.il/Figures/m17a_3.png
  • 7/29/2019 Hilbert Vibration Decomposition

    14/31

    %

    function [Ac, Fc]=congr(Y,A,F_r)

    % Congruent envelope and instantaneous frequency% Y - decomposed components, A - component envelopes ,% F_r - component relative angular frequency%% Example: [Ac, Fc]=congr(Y,A,F_r);%% 2011 Michael Feldman% For use with the book "HILBERT TRANSFORM APPLICATION% IN MECHANICAL VIBRATION", John Wiley & Sons, 2011

    S=size(Y);k=S(2);if k==1, Ac=A(:,1); Fc=(F_r(:,1))./Ac;else

    for l=2:kphi(:,l)=coph(Y(:,1),Y(:,l));Ac(:,l)=A(:,l).*cos(pi.*phi(:,l)/180);Fc(:,l)=A(:,l).*F_r(:,l).*cos(pi.*phi(:,l)/180);

    endAc=A(:,1)+sum(Ac')';Fc=(F_r(:,1)+sum(Fc')')./Ac;

    end

    http://ht.technion.ac.il/Figures/m17a_4.png
  • 7/29/2019 Hilbert Vibration Decomposition

    15/31

    return

    % Example

    x1=cos(0.1*(1:1024));x2=0.3*cos(0.3*(1:1024));x=x1-x2;

    [Y,A,F_r,dev]=hvd(x,2,0.05);[Ac, Fc]=congr(Y,A,F_r);figure(1)plot([x' Ac Fc]);legend('Signal','Congruent envelope','Congruent frequency')

    %

    http://ht.technion.ac.il/Figures/m18_1.png
  • 7/29/2019 Hilbert Vibration Decomposition

    16/31

    Vibration system modeling

    Nonlinear free vibration

    %

    close all; clearFs=16; % Sampling frequencya1=1; % Linear angular frequency squared f0=1/2/pi=0.16a3=10; % Cubic nonlinear stiffnessa5=0.0; % Nonlinear stiffnessb1=0.05; % Linear dampingb2=0; % Nonlinear dampingx0=1e0; % Initial velocity

    sim('s19', 2e2); % Simulate a Simulink model

    figure(1)plot(y);

    grid onxlabel('Points, s'); ylabel('Displacement');title(['Free vibration, a1=' num2str(a1) ', b1=' num2str(b1)]);%

    http://ht.technion.ac.il/Figures/m19_1.png
  • 7/29/2019 Hilbert Vibration Decomposition

    17/31

    Nonlinear forced vibration

    close all; clearFs=3000; % Sampling frequency, [Hz]t_stop=2.5; % stop simulation timef_start=20; % Initial frequency [Hz]f_stop=90; % Stop frequency {Hz}a1=(2*pi*30)^2; % Linear angular frequency squared f0=1/2/pi=0.16 [Hz]a3=2000; % Cubic nonlinear stiffnessa5=0.0; % Nonlinear stiffnessd=0.0; % Dead zone (Backlash)b1=2*2.5; % Linear dampingb2=0; % Nonlinear dampingsim('s20', t_stop); % Simulate a Simulink modelfigure(1)subplot(211)plot(x);axis tightsubplot(212)

    plot(y,'k');grid onaxis tightxlabel('Points, s'); ylabel('Displacement');title(['Free vibration, a1=' num2str(a1) ', b1=' num2str(b1)]);%

    http://ht.technion.ac.il/Figures/m20_1.png
  • 7/29/2019 Hilbert Vibration Decomposition

    18/31

    Asymmetric vibration

    %

    close all; clearFs=1000; % Sampling frequency, [Hz]

    t_stop=10;a1=(2*pi*10.0)^2; %The positive stiffness, f0=10 [Hz]a2=(2*pi*20.0)^2; % The negative stiffnessb=2; % Linear damping

    sim('s21', t_stop); % Simulate a Simulink modelfigure(1)plot(y,'k');grid onaxis tightxlabel('Points, s'); ylabel('Displacement');title(['Asymmetric free vibration, a1=' num2str(a1) ', a2='num2str(a2)]);%

    http://ht.technion.ac.il/Figures/m21_1.png
  • 7/29/2019 Hilbert Vibration Decomposition

    19/31

    Two DOF system vibration

    %

    clear; close all

    eta=1.0;k1=(0.1592*2*pi)^2;k2=(0.3*2*pi)^2;c1=0.008;c2=0.01;m1=1;m2=1;alpha=0.0;beta=3.0;

    Fs=5; % Sampling frequency, [Hz]

    t_stop=6e2;

    sim('s22', t_stop); % Simulate a Simulink modelfigure(1);subplot(211)plot(y1,'b');axis tightylabel('1st mode');subplot(212)plot(y2,'k');axis tightxlabel('Points'); ylabel('2nd mode');title(['Free vibration, \eta=' num2str(eta) ', k1=' num2str(k1) ', k2='

    num2str(k2) ', c1=' num2str(c1)]);

    %

  • 7/29/2019 Hilbert Vibration Decomposition

    20/31

    http://ht.technion.ac.il/Figures/m22_1.png
  • 7/29/2019 Hilbert Vibration Decomposition

    21/31

    Vibration system IDENTIFICATION

    FREEVIB identification

    ff1=sqrt(abs(4.*pi^2.*f0.^2-2*h.^2+4.*pi.*f0.*h.*...

    sqrt( (max(A))^2./(A.^2 +eps) -1+...(h).^2./(4.*pi^2.*f0.^2+eps))))/2/pi ;

    ffi=4.*pi^2.*f0.^2-2*h.^2-4.*pi.*f0.*h.*...sqrt( (max(A))^2./(A.^2 +eps) -1+...(h).^2./(4.*pi^2.*f0.^2+eps));

    ind_ffi=find(ffi>0);

    ff2=zeros(length(y),1);ff2(ind_ffi)=sqrt(ffi(ind_ffi))./2/pi;

    FRF=[ff1 ff2]; % Freqyency Response Function

    subplot(111);plot(FRF(pp,:),A(pp),'r--','LineWidth',1);hold onplot(f0(pp),A(pp),'b','LineWidth',2);xlabel('Frequecy, Hz');ylabel('Amplitude');title(['Back-Bone, FRF']);grid on;

    % Static force calculationfigure(3);set(3,'Position',[509 42 482 284]);

    iel=find(y > 0.98*A & y < 1.02*A);yH = hilbfir(y);ifr=find(yH > 0.97*A & y < 1.03*A);

    iel(iel=pp(length(pp)))=[];ifr(ifr=pp(length(pp)))=[];fofr=2*h(ifr).*Ayd(ifr); % Friction Forcefoel=4*(pi*f0(iel)).^2.*A(iel); % Elastic force

    subplot(121);plot([-A(iel) A(iel)],[-foel foel],'k.'); hold onplot([-A(iel) A(iel)],[-foel foel],'g');title('Elastic Static Force');ylabel('Elastic Force'); xlabel('Displacement')grid on;hold off

    subplot(122);plot([-Ayd(ifr) Ayd(ifr)],[-fofr fofr],'k.'); hold onplot([-Ayd(ifr) Ayd(ifr)],[-fofr fofr],'m');title('Friction Force');xlabel('Velocity');ylabel('Friction Force')grid on;hold off;

    returrn

  • 7/29/2019 Hilbert Vibration Decomposition

    22/31

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    load duffrd[z,A,f0,h,Ayd]=freevib(y,Fs,'d');plfree(z,A,f0,h,Ayd); %

    %

    http://ht.technion.ac.il/Figures/m23_1.png
  • 7/29/2019 Hilbert Vibration Decomposition

    23/31

    http://ht.technion.ac.il/Figures/m23_2.png
  • 7/29/2019 Hilbert Vibration Decomposition

    24/31

    Free Vibration identification (FREEVIB)

    %clear all; close all;

    load duffrd.mat

    %Fs=1000; % Sampling Frequencyt=((1:length(y))/Fs)';u=y;

    N=220; % Remez filter lengthsim('s23.mdl');

    A = yout(:,1); % The Envelope

    f = yout(:,2); % The instantaneos frequencyf0 = yout(:,3); % The natural frequencyd = yout(:,4); % The decrementh1 = yout(:,5); % The damping coefficientAyd= yout(:,6); % The envelopey = yout(:,7); % The initial signalh2 = yout(:,8);

    % Lowpass filteringfp=0.02;

    http://ht.technion.ac.il/Figures/m23_3.png
  • 7/29/2019 Hilbert Vibration Decomposition

    25/31

    A = lpf(A, fp);f0 = lpf(f0,fp);h = lpf(h1,fp);Ayd = lpf(Ayd,fp);

    % Result plottingpp=600:length(y);

    figure(1);subplot(2,2,[1:2])plot([y A])axis('tight')xlabel('points')title('Signal and Envelope')subplot(2,2,3)plot(f0(pp),A(pp),'.')axis([0 1.5*max(f0(pp)) 0.9*min(A()) 1.1*max(A(pp)) ]);title('Skeleton curve')xlabel('Frequency, Hz')ylabel('Amplitude')subplot(2,2,4)

    plot(h(pp),A(pp),'.k')axis([0 2*max(h(pp)) 0.9*min(A()) 1.1*max(A(pp)) ]);title('Damping curve')xlabel('Damping coefficient, 1/s')ylabel('Amplitude')

    %

    http://ht.technion.ac.il/Figures/s23_1.png
  • 7/29/2019 Hilbert Vibration Decomposition

    26/31

    http://ht.technion.ac.il/Simulink/s23.mdl

    FORCEVIB identification

    %

    function [yy,A,f0,h,Ayd,f,m]=forcevib(x,y,Fs,stype);% Function FORCEVIB (Forced Vibration Analysis)% It determines instantaneous modal parameters of% linear and non-linear vibration SDOF system under forced% quasiharmonic excitation input.% Input:% Vector y is a forced vibration signal in time domain,% Vector x is an input force excitation,% stype is a signal type, e.g. displacement, velocity, or acceleration.% Fs is the sampling frequency [Hz]%% Output:% yy - displacement, A - envelope, f0 - natural frequency [Hz],

    % h - damping coefficient [1/sec],Ayd - envelope of the velocity,% f - instantaneous frequency [Hz], m - mass value%% m*y'' + 2*m*h*y' +m*(2*pi*f0)^2*y = x%% EXAMPLE:% [yy,A,f0,h,Ayd,f,m]=forcevib(x,y,1000,'d');%% LIMITATIONS:% The sampling frequency Fs has to be in the range Fs=(10-100)*f0.% The minimum of points in time domain is 3*230+1.%% 2011 Michael Feldman% For use with the book "HILBERT TRANSFORM APPLICATION

    % IN MECHANICAL VIBRATION", John Wiley & Sons, 2011%N=230;

    if length(y)

  • 7/29/2019 Hilbert Vibration Decomposition

    27/31

    y = integ(yd,Fs); % DisplacementyH = hilbfir(y); % Displacement Hilbert transformydd = diffir(yd,Fs); % AcelerationyHd = hilbfir(yd); % Hilbert velocityyHdd= hilbfir(ydd); % Hilbert aceleration

    elseif s==3

    ydd=y; % Accelerationyd = integ(ydd,Fs); % Velocityy = integ(yd,Fs); % DisplacementyH = hilbfir(y); % Displacement Hilbert transformyHd = hilbfir(yd); % Hilbert velocityyHdd= hilbfir(ydd); % Hilbert aceleration

    end

    yy=y;xH = hilbfir(x); % Force Hilbertxd = diffir(x,Fs); % Force derivativexHd = diffir(xH,Fs); % Force Hilbert derivative

    % Algebraic transforms and instantaneous modal parameters calculation.A2=(yH.^2+y.^2); A=sqrt(A2); % A -- Vibration amplitude,var2=(y.*yHd-yd.*yH);om_y=var2./A2; % om_y -- Vibration frequency,[rad]var4=(-y.*ydd-yH.*yHdd); %%??om0_2=(yHdd.*yd-yHd.*ydd)./(var2+eps); % om_02 -- Undamped naturalfrequency, transient [rad]h0=0.5*(yH.*ydd-yHdd.*y)./(var2+eps); % h0 -- Damping coefficient,transient [1/s]Ad_A_om=(y.*yd+yH.*yHd)./(var2+eps); %Ayd2=(yHd.^2+yd.^2); Ayd=sqrt(Ayd2); % Ayd -- Velocity amplitude,

    Ax2=(xH.^2+x.^2); Ax=sqrt(Ax2); % A -- Force amplitude,alpha= (x.*y+xH.*yH)./(A2+eps); % Item of denominator oflog.decrement,beta = (xH.*y-x.*yH)./(A2+eps); % Item of numerator of log.decrementxHy-xyHom_x = (x.*xHd-xH.*xd)./(Ax2+eps); % om_x -- Vibration frequency,[rad]f=om_x/2/pi; om2=om_x.^2;

    pp=233:length(y)-233;

    [P,S]=polyfit(alpha(pp)-beta(pp).*Ad_A_om(pp),om0_2(pp),1);m=1/P(1);

    [As,inAs]=sort(A(pp)); % Sorting AmplitudeinAs=inAs+pp(1)-1;dinAs=diff(inAs);z=find(abs(dinAs)>200);ppz=inAs(z);

    if length(ppz)>=100; disp('PLEASE WAIT')options = optimset('Display','off'); % Optimization for Natural Frequencym=-lsqnonlin(@omer,m,[],[],options);end

  • 7/29/2019 Hilbert Vibration Decomposition

    28/31

    om01_2=alpha./m-beta.*Ad_A_om/m+om0_2;h=h0+0.5*A2.*beta./(var2+eps)./m;

    % Low pass filtration (Result Smoothing)fp=0.02;f = lpf(f,fp); % Frequency [Hz]

    A = lpf(A,fp); % Amplitude, Displaycementf0 = sqrt(abs( lpf(om01_2,fp) ))/2/pi; % Natural frequency [Hz]h = lpf(h,fp); % Damping [1/s]

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%function F = omer(m);shift=20;om01_2i=[];er=[];for i=1:length(ppz)-shift;om01_2i=alpha(ppz(i:i+shift))./m-beta(ppz(i:i+shift)).*Ad_A_om(ppz(i:i+shift))/m-om0_2(ppz(i:i+shift));er(i)=std(om01_2i);

    endF=er;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    returrn

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    load duffod[yy,A,f0,h,Ayd,f,m]=forcevib(x,y,Fs,'d');

    plfor(yy,A,f0,h,Ayd,f,m);

    %

  • 7/29/2019 Hilbert Vibration Decomposition

    29/31

    http://ht.technion.ac.il/Figures/m24_1.png
  • 7/29/2019 Hilbert Vibration Decomposition

    30/31

    http://ht.technion.ac.il/Figures/m24_2.png
  • 7/29/2019 Hilbert Vibration Decomposition

    31/31

    http://ht.technion.ac.il/Figures/m24_3.png