Question regarding the smooth filter function when using the Savitzky-Golay method

조회 수: 2 (최근 30일)
When using the following line of code what is my polynomial order and frame width for my Savitzky-Golay filter? What are these default settings?
Y = smoothdata(X,'sgolay');

답변 (2개)

Jan
Jan 2021년 8월 19일
According to the documentation, the degree can be determined and the window size is replied as 2nd output:
% SMOOTHDATA(...,'sgolay',...,'Degree',D) specifies the degree for the
% Savitzky-Golay filter.
% [B, WINSIZE] = SMOOTHDATA(...) also returns the moving window length.
You can set a breakpoint in the code of smoothdata to see, how the parameters are determined. In Matlab R2018b this line would be my point to start:
[dim,method,winsz,nanflag,t,sgdeg,dvars] = parseInputs(A, varargin{:});

Star Strider
Star Strider 2021년 8월 19일
From the documentation:
‘... a fixed window length that is determined heuristically
This can be returned as the second output from smoothdata if requested.
and for 'Degree' (see Smoothing Options):
The value of 'Degree' corresponds to the degree of the polynomial in the Savitzky-Golay filter that fits the data within each window, which is 2 by default.
(I prefer 'Degree',3, so I always specify it.)

카테고리

Help CenterFile Exchange에서 Smoothing and Denoising에 대해 자세히 알아보기

제품


릴리스

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by