No BSD License  

Highlights from
The Even-length Savitzky-Golay Filter

from The Even-length Savitzky-Golay Filter by Jianwen Luo
The even-length Savitzky-Golay filter with a Gram polynomial approach.

demo.m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%disp('Table 1 in Ref. [2]')
n=0;s=0;t=0;
for m=1:4
    sgsdf_even_gram_poly(sym(n),sym(s),sym(t),sym(m))%symbolic computation 
end
pause

n=1;s=0;t=0;
for m=1:4
    sgsdf_even_gram_poly(sym(n),sym(s),sym(t),sym(m))%symbolic computation
end
pause

%numerical calculation
sgsdf_even_gram_poly(2,0,0,2)*16
sgsdf_even_gram_poly(2,0,0,3)*32
sgsdf_even_gram_poly(2,0,0,4)*32
sgsdf_even_gram_poly(2,0,0,5)*160
pause

sgsdf_even_gram_poly(2,1,0,2)*10
sgsdf_even_gram_poly(2,1,0,3)*35
sgsdf_even_gram_poly(2,1,0,4)*84
sgsdf_even_gram_poly(2,1,0,5)*165
pause

sgsdf_even_gram_poly(4,1,0,3)*3024
sgsdf_even_gram_poly(4,1,0,4)*11088
sgsdf_even_gram_poly(4,1,0,5)*20592
pause

sgsdf_even_gram_poly(2,2,0,2)*2
sgsdf_even_gram_poly(2,2,0,3)*28
sgsdf_even_gram_poly(2,2,0,4)*84
sgsdf_even_gram_poly(2,2,0,5)*132
pause

sgsdf_even_gram_poly(3,3,0,3)*18
sgsdf_even_gram_poly(3,3,0,4)*66
sgsdf_even_gram_poly(3,3,0,5)*858
pause

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%disp('Table 2 in Ref. [2]')
n=2;s=1;m=3;
for t=-2.5:2.5    
    t
    %numerical calculation
    sgsdf_even_gram_poly(n,s,t,m)*280
end
t=0
sgsdf_even_gram_poly(n,s,t,m)*35
pause

n=3;s=2;m=3;
for t=-2.5:2.5    
    t
    %numerical calculation
    sgsdf_even_gram_poly(n,s,t,m)*126
end
t=0
sgsdf_even_gram_poly(n,s,t,m)*28
pause

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%disp('Table 3 in Ref. [2]')
sgsdf_even_gram_poly(3,2,0,3)	
sgsdf_even_gram_poly(sym(3),sym(2),sym(0),sym(3))*28	
sgsdf_even_gram_poly(sym(3),sym(2),sym(-2.5),sym(3))*126	
sgsdf_even_closed_form(3,2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%disp('Table 1 in Ref. [1]')
s=0;
for n=0:5
    sgsdf_even_closed_form(n,s);
end
pause

s=1;
for n=1:4
    sgsdf_even_closed_form(n,s);
end
pause

s=2;
for n=2:2
    sgsdf_even_closed_form(n,s);
end
pause
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%disp('Table 2 in Ref. [1]')
sgsdf_even_gram_poly(sym(3),sym(0),sym(0),sym(10))*2640
sgsdf_even_gram_poly(sym(3),sym(1),sym(0),sym(10))*41186376
sgsdf_even_gram_poly(sym(3),sym(2),sym(0),sym(10))*8778

Contact us at files@mathworks.com