声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1587|回复: 2

震动信号时频域积分MATLAB程序

[复制链接]
发表于 2014-7-17 16:51 | 显示全部楼层 |阅读模式

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

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

x
从网上down下来的程序,看不懂,有谁用过这个程序。还有两个子程序没放
%  以上代码中使用IntFcn函数实现积分,它是封装之后的函数,可以实现时域积分和频域积分,其代码如下
% % 积分操作由加速度求位移,可选时域积分和频域积分
function [disint, velint] = IntFcn(acc, t, ts, flag)
if flag == 1
    % 时域积分
    [disint, velint] = IntFcn_Time(t, acc);

    velenergy = sqrt(sum(velint.^2));
    velint = detrend(velint);
    velreenergy = sqrt(sum(velint.^2));
    velint = velint/velreenergy*velenergy;

    disenergy = sqrt(sum(disint.^2));
    disint = detrend(disint);
    disreenergy = sqrt(sum(disint.^2));
    disint = disint/disreenergy*disenergy; % 此操作是为了弥补去趋势时能量的损失
    % 去除位移中的二次项
    p = polyfit(t, disint, 2);
    disint = disint - polyval(p, t);
else
    % 频域积分
    velint = iomega(acc, ts, 3, 2);
    velint = detrend(velint);

    disint = iomega(acc, ts, 3, 1);
    % 去除位移中的二次项
    p = polyfit(t, disint, 2);
    disint = disint - polyval(p, t);
end
end

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2014-7-19 16:47 | 显示全部楼层
这个程序我用过
好好读读,没什么难理解的
 楼主| 发表于 2014-7-22 10:23 | 显示全部楼层
sh_lin30 发表于 2014-7-19 16:47
这个程序我用过
好好读读,没什么难理解的

这个程序,时域分析的精度很高啊,我也看懂了。谢谢!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-28 22:08 , Processed in 0.056103 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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