matlab加速度转化为位移,加速度转换成位移的matlab代码及说明

加速度转换成位移的matlab代码及说明

由测量的加速度离散数据数据转化成位移数据一般不直接在时域进行积分处理,而是由时域转换成频域在频域中进行二次积分再转化到时域中得到位移结果。

相关matlab处理程序方法参考王济老师的matlab在振动信号处理中的应用中的程序如下:

%频域积分

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

clear; clc; close all hidden

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

fni=input('频域积分-输入数据文件名:','s');

fid=fopen(fni,'r');

sf=fscanf(fid,'%f',1);%采样频率

fmin=fscanf(fid,'%f',1);%最小截止频率

fmax=fscanf(fid,'%f',1);%最大截止频率

c=fscanf(fid,'%f',1);%单位变换系数

it=fscanf(fid,'%f',1);%积分次数

sx=fscanf(fid,'%s',1);%横向坐标轴的标注

sy1=fscanf(fid,'%s',1);%纵向坐标轴输入单位的标注

sy2=fscanf(fid,'%s',1);%纵向坐标轴输出单位的标注

fno=fscanf(fid,'%s',1);%输出数据文件名

x=fscanf(fid,'%f',[1,inf]);%输入数据存成行向量

status=fclose(fid);

n=length(x);

%建立时间向量

t=0:1/sf:(n-1)/sf;

%大于并最接近n的2的幂次方为FFT长度

nfft=2^nextpow2(n);

%FFT变换

y=fft(x,nfft);

%计算频率间隔(Hz/s)

df=sf/nfft;

%计算指定频带对应频率数组的下标

ni=round(fmin/df+1);

na=round(fmax/df+1);

%计算圆频率间隔(rad/s)

dw=2*pi*df;

%建立正的离散圆频率向量

w1=0:dw:2*pi*(0.5*sf-df);

%建立负的离散圆频率向量

w2=2*pi*(0.5*sf-df):-dw:0;

%将正负圆频率向量组合成一个向量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值