matlab 求加速度,【求助】位移转加速度(谱转换法)
【求助】位移转加速度(谱转换法)
那啥,小弟初学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 求加速度,【求助】位移转加速度(谱转换法)相关推荐
- python加速度算位移,计算加速度给定速度
假设您的数据是从CSV加载的,如下所示:type,time,latitude,longitude,altitude (m),speed (km/h),name,desc,currentdistance ...
- python加速度算位移_基于Labview的加速度两次积分求位移
理论上讲,加速度的积分是速度,再积分便是位移.然而实际操作中这有很多不便,比如两次积分过程中,积分常量造成的线性漂移是很麻烦的.幸运的是,对于一些周期信号,比如有规律的振动信号,我们仍然是可以通过积分 ...
- 矢量求导之位移与速度及加速度
矢量求导之位移与速度及加速度
- matlab如何输出总位移,加速度转换成位移的matlab代码及说明
<加速度转换成位移的matlab代码及说明>由会员分享,可在线阅读,更多相关<加速度转换成位移的matlab代码及说明(5页珍藏版)>请在人人文库网上搜索. 1.加速度转换成位 ...
- matlab 单边频率谱,matlab求单边功率谱
求功率谱有好几种方法,本文例两种,一种是先求信号频谱,然后取平方后平均:第二种是用welch法(可指定各种窗). rng default; fs = 1000; % 采样率 t = 0:1/fs:1- ...
- 基于Matlab的斜率积分法求离面位移
一.实例演示 例如,现有某相位剖线如下图所示: 图1 相位剖线 根据下式可求出,离面位移导数: ∂w∂x=−λΔx4πδx\frac{\partial w}{\partial x}=-\frac{\l ...
- 加速度传感器采集的加速度值有没有必要转换为位移量
**加速度传感器采集的加速度值有没有必要转换为位移量** 加速度信号转换为位移量可以通过两种方法:时域积分和频域积分.在时域中积分,方法简单,但由于测试上原因,所测得的加速度信号均值不为零,经二次积分 ...
- Matlab应变片仿真,一种基于Matlab/Adams联合仿真的真实路谱再现系统和方法与流程...
本发明属于汽车系统动力学仿真技术领域,特别是一种基于Matlab/Adams联合仿真的真实路谱再现系统和方法. 背景技术: 汽车系统动力学仿真技术是汽车设计制造中一项不可或缺的技术,尤其是在汽车操纵稳 ...
- matlab求单自由度振动方程为,单自由度振动方程与Matlab/Simulink求解
1.问题 引用1:质量-弹簧-阻尼系统 引用2:模型推导 2.运动方程 Step1: 将微分方程最高阶变量移到等式左边 式1 Step2: 为每一阶微分式选择状态变量,最高阶除外 2.1 ' '' . ...
最新文章
- PYTHON3 函数定义
- python数据包pandas_python_pandas学习
- python函数求n年后本息_Python自定义函数计算给定日期是该年第几天的方法示例...
- 利用ajaxSubmit()提交表单后,子窗口关闭,父窗口显示查询页面
- Node.js入门(含NVM、NPM、NVM的安装)-(转载)
- 医院信息化建设少不了CRM呼叫中心
- 一文搞懂无刷电机和有刷电机
- 中国已消失的 9 所世界级大学
- 利用新浪API实现短网址生成,长网址缩短!
- 【NFC】手机手环模拟门禁卡
- 深入浅出移动直播技术之帧率、码率和分辨率
- 如何成为早起者(三)
- 半圆形进度条(html)
- 2020-12-26 工作常用 Linux 操作:磁盘卸载、 自动化挂盘脚本 、磁盘分区合并、ansible、git 设置相关
- multimap的实际用途
- 手机摄像头的相关知识
- 小程序开发时openid和unionid
- 5种主流周界安防检测技术,EasyCVR智能检测视频平台可以实现哪些应用?
- 太平亿康学习投资理财小技巧篇章
- iGEM2010,中国科大再获两金!