网站大量收购独家精品文档,联系QQ:2885784924

matlab加速度转化为位移-matlab数值积分实现加速度、速度、位移的转换(时域频域积。。。.pdfVIP

matlab加速度转化为位移-matlab数值积分实现加速度、速度、位移的转换(时域频域积。。。.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

matlab加速度转化为位移,matlab数值积分实现加速度、速

度、位移的转换(时域频域积。。。

对此可以⽤滤波的⽅法⼤的趋势项去掉。

测试的代码如下

%测试积分对正弦信号的作⽤

clc

clear

closeall

%%原始正弦信号

ts=0.001;

fs=1/ts;

t=0:ts:1000*ts;

f=50;

dis=sin(2*pi*f*t);%位移

vel=2*pi*f.*cos(2*pi*f*t);%速度

acc=-(2*pi*f).^2.*sin(2*pi*f*t);%加速度

%多个正弦波的测试

%f1=400;

%dis1=sin(2*pi*f1*t);%位移

%vel1=2*pi*f1.*cos(2*pi*f1*t);%速度

%acc1=-(2*pi*f1).^2.*sin(2*pi*f1*t);%加速度

%dis=dis+dis1;

%vel=vel+vel1;

%acc=acc+acc1;

%

结:频域积分正常恢复信号,时域积分恢复加⼊的⾼频信息有误差

%加噪声测试

acc=acc+(2*pi*f).^2*0.2*randn(size(acc));

%结:噪声会使积分结果产⽣⼤的趋势项

figure

ax(1)=subplot(311);

plot(t,dis),title(位移)

ax(2)=subplot(312);

plot(t,vel),title(速度)

ax(3)=subplot(313);

plot(t,acc),title(加速度)

linkaxes(ax,x);

%由加速度信号积分算位移

[disint,velint]=IntFcn(acc,t,ts,2);

axes(ax(2));holdon

plot(t,velint,r),legend({原始信号,

恢复信号})

axes(ax(1));hold

on

plot(t,disint,r),legend({原始信号,恢复信号})

%%测试积分算⼦的频率特性

n=30;

amp=zeros(n,1);

f=[5:3040:10:480];

figure

fori=1:length(f)

fi=f(i);

acc=-(2*pi*fi).^2.*sin(2*pi*fi*t);%加速度

[disint,velint]=IntFcn(acc,t,ts,2);%积分算位移

amp(i)=sqrt(sum(disint.^2))/sqrt(sum(dis.^2));

plot(t,disint)

drawnow

%pause

end

close

figure

plot(f,amp)

title(位移积分的频率特性曲线)

xlabel(f)

ylabel(单位正弦波的积分位移幅值)

以上代码中使⽤IntFcn函数实现积分,它是封装之后的函数,可以实现时域积分和频域积分,其代码如下

%

积分操作由加速度求位移,可选时域积分和频域积分

function[disint,velint]=IntFcn(acc,t,ts,flag)

ifflag==1

%时域积分

[disint,velint]=IntFcn_Time(t,acc);

velenergy=sqrt(sum(velint.^2));

velint=detrend(velint);

velreenergy=sqrt(sum(velint.^2));

velint=

velint/velreenergy*velenergy;disenergy=sqrt(sum(disint.^2));

disint=detrend(disint);

disreenergy=sqrt(sum(disint.^2));

disint=disint/disreenergy*disenergy;%

此操作是为了弥补去趋势时能量的损失

%去除位移中的⼆次项

p=polyfit(t,disint,2);

disint=disint-polyval(p,t);

else

%频域积分

velin

文档评论(0)

mmhaijing + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档