|
回复 kakankang 的帖子
%加速度信号时域积分
clc
clear;
sf=6400; %采样频率
f=50; %信号基频
n=1024; %样本数
t=0:1/sf:1023/sf;
x=5*sin(2*pi*f*t)+8*sin(2*pi*6*f*t)+3*sin(2*pi*8*f*t);
y = cumtrapz(t,x); %加速度积分得到速度
y=detrend(y); %去除趋势项
y1 = cumtrapz(t,y); %速度积分得到位移
subplot(321)
plot(t,x);
title('加速度信号')
subplot(323)
plot(t,y)
title('速度信号')
subplot(325)
plot(t,y1)
title('位移信号')
m=100;
fx=0:sf/1024:m*sf/1024;
fftx=2*abs(fft(x))/n;
fftx1=2*abs(fft(y))/n;
fftx2=2*abs(fft(y1))/n;
fftx(1)=0;
fftx1(1)=0;
fftx2(1)=0;
subplot(322)
plot(fx,fftx(1:m+1));
title('加速度信号频谱')
subplot(324)
plot(fx,fftx1(1:m+1));
title('速度信号频谱')
subplot(326)
plot(fx,fftx2(1:m+1));
title('位移信号频谱')
以上是模拟信号,实际信号应用中需要增加滤波,才能保证积分后不会出现较大的漂移。
|
评分
-
1
查看全部评分
-
|