声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4041|回复: 3

[综合讨论] 离散数据积分

[复制链接]
发表于 2010-4-25 15:55 | 显示全部楼层 |阅读模式

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

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

x
在论坛上看见一个帖子里面提到了cumtrapz函数可以进行离散数据的积分,所以拿来用了一下,发现了一个问题,希望高手帮我解答一下。
先贴出代码:
  1. clear; clc;
  2. f0=50;      %被测函数频率50Hz
  3. n=1024;     %采样点数1024个
  4. sf=f0*64;  %采样频率
  5. dt=1/sf;    %采样时间间隔
  6. t=0:dt:(n-1)*dt;    %离散时间序列
  7. x=sin(2*pi*f0*t);   %频率为50Hz的函数取值
  8. z=cumtrapz(x))*dt;      %对采集到的数据进行积分,原来没有乘以dt
  9. plot(t,z);          %绘制积分后的函数值
复制代码
我的问题是,更改采样频率sf,会影响积分出来的结果。
如,当sf=f0*128时,积分结果如下图:

一周期采128点的积分结果

一周期采128点的积分结果

当sf=f0*64时,积分结果如下图:

一周期采64点的积分结果

一周期采64点的积分结果

采样点数与积分结果的幅值成正比。 这是为什么呢?
如果考虑连续函数x=sin(100*pi*t),它的积分应该是x=-cos(100*pi*t)/(100*pi)啊,得出来的值一定的啊。这与上述现象相悖啊。
如果上述现象是正确的,那在实际操作中,应该怎么从采集到的加速度信号得到速度信号呢?

高手们,都出来啊!! 谢谢

[ 本帖最后由 ChaChing 于 2010-4-26 21:55 编辑 ]

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2010-4-25 16:14 | 显示全部楼层
已经解决了。
原因是我没有读懂cumtrapz这个函数的定义。
在调用该函数的时候写成cumtrapz(x)*dt就没有问题了

[ 本帖最后由 Spire 于 2010-4-25 16:28 编辑 ]

评分

1

查看全部评分

发表于 2010-4-25 21:22 | 显示全部楼层
建议LZ若代码不长的话, 尽量直接贴出, 这边打开会乱码!
可以的话, 请使用编辑功能修下!
发表于 2011-5-6 11:14 | 显示全部楼层
没事路过来看看,
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-26 10:09 , Processed in 0.136395 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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