声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4791|回复: 7

[编程技巧] 加速度信号积分成位移信号遇到问题

[复制链接]
发表于 2009-6-30 09:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
源程序如下:
数据以及数据输入格式见附件中的txt文件
程序是参考王济的书改编的,也参考了论坛里songzy41的建议,但是感觉画出来的位移曲线就是不像 请大家给点意见


fid=fopen(fni,'r');
sf=fscanf(fid,'%f',1);%采样频率
it=fscanf(fid,'%f',1);%积分次数
sx1=fscanf(fid,'%s',1);%横向坐标轴的标注
sx2=fscanf(fid,'%s',1);%横向坐标轴的标注
sy1=fscanf(fid,'%s',1);%纵向坐标轴输入单位的标注
sy2=fscanf(fid,'%s',1);%纵向坐标轴输出单位的标注
sy3=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);
ff=(0:nfft/2)*sf/nfft;
%计算频率间隔(Hz/s)
df=sf/nfft;
%计算圆频率间隔(rad/s)
dw=2*pi*df;
%建立正的离散圆频率向量
%w1=0:dw:2*pi*0.5*sf;
w1=0:dw:2*pi*0.5*sf;
%建立负的离散圆频率向量
w2=-2*pi*(0.5*sf-df):dw:-dw;
%w2=2*pi*(0.5*sf-df):-dw:0;
%将正负圆频率向量组合成一个向量
w=[w1,w2];
%以积分次数为指数,建立圆频率变量向量
w=w.^it;
%进行积分的频域变换
a=zeros(1,nfft);
a(2:nfft-1) =y(2:nfft-1)./w(2:nfft-1);
%进行二次积分的相位变换
y=-a;
%IFFT变换
y=ifft(a,nfft);
%取逆变换的实部n个元素并乘以单位变换系数为积分结果
y=real(y(1:n))
Y=fft(y,nfft);
M=20*log10(abs(Y)*2/n);
subplot(3,1,1);
plot(t,x);
xlabel(sx1);
ylabel(sy1);
grid on;
subplot(3,1,2);
plot(t,y);
xlabel(sx1);
ylabel(sy2);
grid on;
subplot(3,1,3); plot(ff,M(1:2049));
xlabel(sx2);
ylabel(sy3);
grid;

jifen.txt

14.01 KB, 下载次数: 67

数据文件

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2009-6-30 09:56 | 显示全部楼层
不好意思  我发图没有经验  搞了好几次才发完
上面的是加速度信号  下面的是算出来的位移信号
麻烦大家看看哪有问题
1.jpg
发表于 2009-7-20 20:50 | 显示全部楼层
你用的是《MATLAB在振动信号处理中的应用》这本书的程序吧
其中你的圆频率向量设置和书上不一样
w1=0:dw:2*pi*(0.5*sf-df);         %计算正的离散圆频率向量
w2=2*pi*(0.5*sf-df):-dw:0;          %计算正的离散圆频率向量

我用这个程序验证的效果也不是很理想

[ 本帖最后由 ChaChing 于 2009-7-20 23:36 编辑 ]

评分

1

查看全部评分

发表于 2009-11-16 13:54 | 显示全部楼层

我来试试

我也有个类似的需求,呵呵,正好试一下程序,谢谢

这个结果确实好差,噪声太多了吧

[ 本帖最后由 ChaChing 于 2009-11-16 16:24 编辑 ]
发表于 2012-7-10 11:20 | 显示全部楼层
应该是低频成分,长周期信号的影响!
发表于 2013-11-18 11:09 | 显示全部楼层
正好用到类似的方向,试一试
发表于 2015-12-5 21:36 | 显示全部楼层
有用,学习了
发表于 2016-5-17 17:23 | 显示全部楼层
应该有时域和频域两种方式吧
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-24 16:30 , Processed in 0.122182 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表