matlab加速度转化为位移,matlab数值积分实现加速度、速度、位移的转换(时域&频域积分)... 您所在的位置:网站首页 MATLAB加速度转化为位移 matlab加速度转化为位移,matlab数值积分实现加速度、速度、位移的转换(时域&频域积分)...

matlab加速度转化为位移,matlab数值积分实现加速度、速度、位移的转换(时域&频域积分)...

2024-07-10 22:01| 来源: 网络整理| 查看: 265

对此可以用滤波的方法将大的趋势项去掉。

测试的代码如下

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

clc

clear

close all

%% 原始正弦信号

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)); hold on

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

'恢复信号'})

axes(ax(1)); hold

on

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有