基本信息
源码名称:由振动加速度进行频域二次积分求振动位移
源码大小:2.93KB
文件格式:.m
开发语言:MATLAB
更新时间:2019-05-28
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 5 元 
   源码介绍

通过频域二次积分由振动加速度信号反求振动位移信号

nfft = 2^nextpow2(n); %大于并最接近n 的2 的幂次方为FFT长度
y = fft(x,nfft); %FFT变换
df = fs/nfft; %计算频率间隔( Hz/s)
%计算指定频带对应频率数组的下标
ni = round(fmin/df 1);
na = round(fmax/df 1);
dw = 2*pi*df;%计算圆频率间隔( rad/s )
w1 = 0:dw:2*pi*(0.5*fs-df);%建立正的离散圆频率向量
w2 = -2*pi*(0.5*fs-df):dw:-dw;%建立负的离散圆频率向量
w = [w1,w2];%将正负圆频率向量组合成一个向量
w = w.^it;%以积分次数为指数,建立圆频率变量向量
a = zeros(1,nfft); %进行积分的频域变换
a(2:nfft-1) = y(2:nfft-1)./w(2:nfft-1);
if it == 2
    y = -a; %进行二次积分的相位变换
else
    y = imag(a)-i*real(a); %进行一次积分的相位变换
end
a = zeros(1,na);
a(ni:na) = y(ni:na);%消除指定正频带外的频率成分
a(nfft-na 1:nfft-ni 1) = y(nfft-na 1:nfft-ni 1);%消除指定负频带外的频率成分
y = ifft(a,nfft); %IFFT 变换
y = real(y(1:n))*c;%取逆变换的实部n 个元素并乘以单位变换系数为积分结果