【求助】位移转加速度(谱转换法)

那啥,小弟初学matlab,比较菜

有这样一组数据(样本见附件)

0.3987 1.3757 -5.0000 -0.8385

0.3984 1.3759 -5.0000 -0.8220

0.3989 1.3765 -5.0000 -0.7935

0.3986 1.3760 -5.0000 -0.7515

0.3984 1.3759 -5.0000 -0.7213

0.3976 1.3756 -5.0000 -0.7024

0.3973 1.3753 -5.0000 -0.6691

0.3978 1.3756 -5.0000 -0.6296

0.3969 1.3754 -5.0000 -0.5919

... .... ... ...

说明:

1.采样速率20K,k=1000

2.文件长度22K

3.第1,2 列激光位移,第3列是干扰,(忽略)第4列加速度

现在要求用频谱转换法,将加速度转为位移

算法是这个样子的:

如果在时间T内采集N个数据,

x(n)经离散傅里叶变换后得到的X(k)是一个长度为N的复数序列(频谱),

X(k)=DFT[x(n)]=[(a0,jb0),(a1,jb1 ),...,(an-1 ,jbn-1 )]

x(n)中各谐波分量的幅值、圆频率及初相角可由式(1)~(3)求出

Ak=sqrt(ak^2+bk^2) (1)

ωk=2*pi*k/T (2)

φ=atan(bk/ak) (3)

根据信号叠加原理,任何周期信号是若干简谐信号的叠加。加速度信号可用式(4)表示,其相应的位移用式(5)表示,两者幅值和相位之间的关系如式(6)

a=Aa0cos(ω0t+φa0t)+Aa0cos(ω0t+φa0t)+...+Aan-1cos(ωn-1t+φan-1t) (4)

d=Ad0cos(ω0t+φd0t)+Aa0cos(ω0t+φd0t)+...+Aan-1cos(ωn-1t+φdn-1t) (5)

Adi=Aai/ωi^2 , φdi=φai-pi

下面是我自己用matlab写该算法的实现代码,比较臭

%读取数据

a='d:\1.txt';

data=load(a);

[m,n]=size(data);

%提取加速度,

acce=data(:,4);

XK=fft(acce);

re=real(XK);

im=imag(XK);

%AK=zeros(m,1);

T=1;

for i=1:m

%计算幅值

AK_A(i,1)=sqrt(re(i,1)^2+im(i,1)^2);

%计算初相

PHY_A(i,1)=atan(im(i,1)/re(i,1));

%计算角频率

OMEGA(i,1)=2*pi*i/T;

end

for i=1:m

%计算幅值

AK_D(i,1)=AK_A(i,1)/(OMEGA(i,1)^2);

%计算初相

PHY_D(i,1)=PHY_A(i,1)-pi;

end

%计算位移

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

t=1/20000;

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

D=zeros(m,1);

D(i,1)=AK_D(i,1)*cos(OMEGA(i,1)*t+PHY_D(i,1));

for i=2:m

D(i,1)=D(i-1,1)+AK_D(i,1)*cos(OMEGA(i,1)*t+PHY_D(i,1));

end

plot(D)

现在的问题是:

1 通过该算法得到的位移D与数据里给出的两列位移都不匹配 (说实话我不太清楚两列位移各表示什么,但我算出来的D却和这两列数据毫无关系)

2.我的算法实现是不是存在问题,如果是,那我应该如何得到位移呢?

希望达人能帮帮忙,谢谢啦

上传的附件 1.txt (15.6 KB, 7 次查看)

matlab 求加速度,【求助】位移转加速度(谱转换法)相关推荐

  1. python加速度算位移,计算加速度给定速度

    假设您的数据是从CSV加载的,如下所示:type,time,latitude,longitude,altitude (m),speed (km/h),name,desc,currentdistance ...

  2. python加速度算位移_基于Labview的加速度两次积分求位移

    理论上讲,加速度的积分是速度,再积分便是位移.然而实际操作中这有很多不便,比如两次积分过程中,积分常量造成的线性漂移是很麻烦的.幸运的是,对于一些周期信号,比如有规律的振动信号,我们仍然是可以通过积分 ...

  3. 矢量求导之位移与速度及加速度

    矢量求导之位移与速度及加速度

  4. matlab如何输出总位移,加速度转换成位移的matlab代码及说明

    <加速度转换成位移的matlab代码及说明>由会员分享,可在线阅读,更多相关<加速度转换成位移的matlab代码及说明(5页珍藏版)>请在人人文库网上搜索. 1.加速度转换成位 ...

  5. matlab 单边频率谱,matlab求单边功率谱

    求功率谱有好几种方法,本文例两种,一种是先求信号频谱,然后取平方后平均:第二种是用welch法(可指定各种窗). rng default; fs = 1000; % 采样率 t = 0:1/fs:1- ...

  6. 基于Matlab的斜率积分法求离面位移

    一.实例演示 例如,现有某相位剖线如下图所示: 图1 相位剖线 根据下式可求出,离面位移导数: ∂w∂x=−λΔx4πδx\frac{\partial w}{\partial x}=-\frac{\l ...

  7. 加速度传感器采集的加速度值有没有必要转换为位移量

    **加速度传感器采集的加速度值有没有必要转换为位移量** 加速度信号转换为位移量可以通过两种方法:时域积分和频域积分.在时域中积分,方法简单,但由于测试上原因,所测得的加速度信号均值不为零,经二次积分 ...

  8. Matlab应变片仿真,一种基于Matlab/Adams联合仿真的真实路谱再现系统和方法与流程...

    本发明属于汽车系统动力学仿真技术领域,特别是一种基于Matlab/Adams联合仿真的真实路谱再现系统和方法. 背景技术: 汽车系统动力学仿真技术是汽车设计制造中一项不可或缺的技术,尤其是在汽车操纵稳 ...

  9. matlab求单自由度振动方程为,单自由度振动方程与Matlab/Simulink求解

    1.问题 引用1:质量-弹簧-阻尼系统 引用2:模型推导 2.运动方程 Step1: 将微分方程最高阶变量移到等式左边 式1 Step2: 为每一阶微分式选择状态变量,最高阶除外 2.1 ' '' . ...

最新文章

  1. PYTHON3 函数定义
  2. python数据包pandas_python_pandas学习
  3. python函数求n年后本息_Python自定义函数计算给定日期是该年第几天的方法示例...
  4. 利用ajaxSubmit()提交表单后,子窗口关闭,父窗口显示查询页面
  5. Node.js入门(含NVM、NPM、NVM的安装)-(转载)
  6. 医院信息化建设少不了CRM呼叫中心
  7. 一文搞懂无刷电机和有刷电机
  8. 中国已消失的 9 所世界级大学
  9. 利用新浪API实现短网址生成,长网址缩短!
  10. 【NFC】手机手环模拟门禁卡
  11. 深入浅出移动直播技术之帧率、码率和分辨率
  12. 如何成为早起者(三)
  13. 半圆形进度条(html)
  14. 2020-12-26 工作常用 Linux 操作:磁盘卸载、 自动化挂盘脚本 、磁盘分区合并、ansible、git 设置相关
  15. multimap的实际用途
  16. 手机摄像头的相关知识
  17. 小程序开发时openid和unionid
  18. 5种主流周界安防检测技术,EasyCVR智能检测视频平台可以实现哪些应用?
  19. 太平亿康学习投资理财小技巧篇章
  20. iGEM2010,中国科大再获两金!

热门文章

  1. 渗透之——Metasploit渗透BSPlayer V2.68
  2. 最新语音识别词错误率WER汇总
  3. 企业微信添加root主动发布消息
  4. W3Shool学习 - 初级教程
  5. 12年计算机考研大纲,2012年计算机考研大纲解析之计算机组成原理
  6. C++ 如何将一个大的整数 拆分0到9单个数字
  7. C1-见习工程师能力认证-02
  8. Android 游戏破解
  9. List泛型的类型转换
  10. 北京地铁客流数据特征分析