Displacements from acceleration: newmark methods--> Displacements too high!
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hi, i have Acceleration data from accelerometers and i want to have displacements and velocity, i used Newmark methods. Displacements are too high (final instant, 200 m)!!! What's wrong? Period goes to 0 sec to 600 sec, delta_t=0.005 sec.
Acc=load('File.txt'); na=size(Acc,2) V1=zeros(size(Acc,1),na); %metodo differenze centrali S1=zeros(size(Acc,1),na);
V2=zeros(size(Acc,1),na); %metodo accelerazione media S2=zeros(size(Acc,1),na);
V3=zeros(size(Acc,1),na); %metodo accelerazione lineare S3=zeros(size(Acc,1),na);
gamma1= 0.5; %metodo differenze centrali gamma2=0.5; %metodo accelerazione media
beta1=0; %metodo differenze centrali beta2=0.25; %metodo accelerazione media
dt1=dt=0.005 %sec
for j=1:size(Acc,2) for i=2:size(t,1) V1(i,j)=V1(i-1,j)+(1-gamma1)*dt1*Acc(i-1,j)+gamma1*dt1*Acc(i,j); S1(i,j)=S1(i-1,j)+dt1*V1(i-1,j)+0.5*(dt1)^2*((1-2*beta1)*Acc(i-1,j)+2*beta1*Acc(i,j));
V2(i,j)=V2(i-1,j)+(1-gamma2)*dt1*Acc(i-1,j)+gamma2*dt1*Acc(i,j);
S2(i,j)=S2(i-1,j)+dt1*V1(i-1,j)+0.5*(dt1)^2*((1-2*beta2)*Acc(i-1,j)+2*beta2*Acc(i,j));
V3(i,j)=V3(i-1,j)+dt1*0.5*(Acc(i-1,j)+Acc(i,j));
S3(i,j)=S3(i-1,j)+dt1*V3(i-1,j)+0.5*(dt1^2)*(2/3*Acc(i-1,j)+1/3*Acc(i,j));
end
end
5 Commenti
Mathieu NOE
il 13 Ott 2022
hello
sure you can change the values as soon as you follow the rules given above
be sure that the high pass filter cut off frequency is not too high otherwise you will start loosing some useful low frequency signal. therefore it's always good to make a fft analysis of the accel signal first and look at the spectral content, put the high pass filter not in the frequncy range where the signal has a strong amplitude
Risposte (0)
Vedere anche
Categorie
Scopri di più su Multibody Dynamics in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!