资源简介

SG平滑滤波matlab源码,在平滑去噪方面很有用

资源截图

代码片段和文件信息

function[y]=smoothing(x win_num poly_order)
%This is a program for smoothing the analytical signals.x can be a matrix
%with every column being an analytical signal vector.
%The parameter win_num is the window size which can be chosen to have a
%value of 7 to 17say 7 9 11 13 15 17; The parameter poly_order is the
%polynomiar order which can be chosen to have a value of 2 or 3 and 4 or5.
[m1n1]=size(x);
y=zeros(size(x));
if win_num==7
    if poly_order==2 | poly_order==3
        coef1=[-2 3 6 7 6 3 -2]/21;
        for j=1:n1
            for i=4:m1-3
                y(ij)=coef1(1)*x(i-3j)+coef1(2)*x(i-2j)+coef1(3)*x(i-1j)+coef1(4)*x(ij)+coef1(5)*x(i+1j)+coef1(6)*x(i+2j)+coef1(7)*x(i+3j);
            end
        end
    else
       coef1=[5 -30 75 131 75 -30 5]/23

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        5605  2016-01-11 16:14  Savitzky-Golay-matlab.m

评论

共有 条评论