from
Adaptive-Degree Polynomial Filter (Savitzky-Golay Filter)
by Jianwen Luo
Obtain the polynomial degree selected in the adaptive-degree polynomial filter.
|
| h=sgsdf_smooth_closed_form(p,m)
|
function h=sgsdf_smooth_closed_form(p,m)
i=-m:m;
switch(p)
case {0,1}
h=1/(2*m+1)*ones(size(i));
case {2,3}
h=-3*(-3*m^2-3*m+1+5*i.^2)/(2*m-1)/(2*m+1)/(2*m+3);
case {4,5}
h=15/4*(15*m^4+30*m^3-35*m^2-50*m+12-70*i.^2*m^2-70*i.^2*m+105*i.^2+63*i.^4)/(2*m-1)/(2*m-3)/(2*m+1)/(2*m+3)/(2*m+5);
case {6,7}
h=-35/4*(180-882*m-497*m^2+2121*i.^2+315*i.^2*m^4+630*i.^2*m^3-693*i.^4*m^2-693*i.^4*m+429*i.^6-105*m^5-35*m^6+2310*i.^4+735*m^3+280*m^4-1890*i.^2*m^2-2205*i.^2*m)/(2*m-1)/(2*m-3)/(2*m-5)/(2*m+1)/(2*m+3)/(2*m+5)/(2*m+7);
case {8,9}
h=315/64*(20160-109584*m+435435*i.^4+105084*m^3+32907*m^4+289300*i.^2-198198*i.^4*m^2-216216*i.^4*m-288750*i.^2*m^2-374220*i.^2*m-25740*i.^6*m^2-25740*i.^6*m-13860*i.^2*m^5-4620*i.^2*m^6+18018*i.^4*m^4+36036*i.^4*m^3+150150*i.^6-22680*m^5-6090*m^6-53052*m^2+315*m^8+71610*i.^2*m^4+166320*i.^2*m^3+12155*i.^8+1260*m^7)/(2*m-1)/(2*m-3)/(2*m-5)/(2*m-7)/(2*m+1)/(2*m+3)/(2*m+5)/(2*m+7)/(2*m+9);
case {10,11}
h=-693/64*(-5314320*m+907200+437580*i.^6*m^3-270270*i.^4*m^5-90090*i.^4*m^6+60060*i.^2*m^7+15015*i.^2*m^8-230945*i.^8*m-230945*i.^8*m^2+218790*i.^6*m^4-15480465*i.^4*m^2-18002985*i.^4*m+4699695*i.^2*m^4+12222210*i.^2*m^3+88179*i.^10-3465*m^9-693*m^10+4954950*i.^4*m^3-1651650*i.^2*m^5-480480*i.^2*m^6+2078505*i.^8+127050*m^7+26565*m^8-2294028*m^2+28123095*i.^4+5517600*m^3+1484835*m^4-22336600*i.^2*m-15940210*i.^2*m^2-4011150*i.^6*m+15047604*i.^2-3792360*i.^6*m^2+2252250*i.^4*m^4+13630617*i.^6-1435665*m^5-325479*m^6)/(2*m-1)/(2*m-3)/(2*m-5)/(2*m-7)/(2*m-9)/(2*m+1)/(2*m+3)/(2*m+5)/(2*m+7)/(2*m+9)/(2*m+11);
case {12,13}
h=3003/256*(-743221440*m+119750400+2224495728*i.^2+3003*m^12+4879114240*i.^4+812591208*m^3+193458408*m^4+4849845*i.^8*m^4+9699690*i.^8*m^3+3063060*i.^4*m^7-8314020*i.^6*m^5-450450*i.^2*m^9-90090*i.^2*m^10+5180175*i.^2*m^8-36246210*i.^4*m^6-121246125*i.^8*m^2-126095970*i.^8*m+101153910*i.^6*m^4+216164520*i.^6*m^3+23423400*i.^2*m^7-119459340*i.^4*m^5-292936176*m^2-2443745304*i.^2*m^2-3640620984*i.^2*m-2771340*i.^6*m^6-4056234*i.^10*m^2-4056234*i.^10*m+765765*i.^4*m^8+4693689*m^8+52055003*i.^10-1171170*m^9-201201*m^10+1300075*i.^12+18018*m^11-100480380*i.^2*m^6-1047012252*i.^6*m^2-1156480182*i.^6*m+545735190*i.^4*m^4+1294142850*i.^4*m^3+2975541569*i.^6-235739790*m^5-46540923*m^6+645029385*i.^8+25999974*m^7-385314930*i.^2*m^5-3002564565*i.^4*m^2-3670056390*i.^4*m+793407615*i.^2*m^4+2257234980*i.^2*m^3)/(2*m-1)/(2*m-3)/(2*m-5)/(2*m-7)/(2*m-9)/(2*m-11)/(2*m+1)/(2*m+3)/(2*m+5)/(2*m+7)/(2*m+9)/(2*m+11)/(2*m+13);
otherwise
h=sgsdf_gram_poly_closed_form(p,0,0,m);
end
|
|
Contact us at files@mathworks.com