加速度计滑动窗口平均滤波matlab实现

一. 滑动窗口平均滤波的原理

二.matlab实现

function [data_m] = window_smooth(data,n)
%n为窗口长度
L = length(data);%数据长度

%均值滤波
m = 0;
k = 0;
for i = 1:L
    if(i<n)
        data_m(i) = data(i);
    else
        for(j = i-n+1:i)
            k = k+1;
        w1(k) = data(j);
        end
    data_m(i) = mean(w1);
    k = 0;
    end
end

三.滤波效果展示

(1)  函数调用

[num2,txt2,raw2]=xlsread('D:\datas\acc_data\val_y1.xls',1);%在表格中读取数据 
acc_X = num2(60:end,4);%加计数据x的值在第4列
N = 20;%窗口长度
[acc_x] = window_smooth(acc_X,N);%调用函数进行滤波

figure(7);
plot(acc_X,'b');hold on;%画图观察滤波效果
plot(acc_x,'r');hold on;

(2)滤波结果展示

其中,蓝色是原始数据,红色是滤波后数据,可以看到效果还可以。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值