Smoothing data with sgolay filter

2 views (last 30 days)
Prayander Sahatma Siahaan
Prayander Sahatma Siahaan on 27 Sep 2022
Answered: Star Strider on 27 Sep 2022
Hi i have a question, if i have a code like this before,
smootheddata = smoothdata(z,"sgolay", "SmoothingFactor",0.25 );
how i exprese it in sgolay function ? Thank you

Answers (2)

Chunru on 27 Sep 2022
Edited: Chunru on 27 Sep 2022
framelen = 11; order = 3; % adjust these values
smootheddata = sgolayfilt(z, order, framelen);

Star Strider
Star Strider on 27 Sep 2022
The default order for the 'sgolay' option is 2 (quadratic), however the 'SmoothingFactor' controls the window length (framelen in the sgolayfilt documentation), it has no exact definition, so an exact translation to sgolayfilt parameters is not possible for it.
For sgolayfilt I generally choose an order of 3 and an initial framelen value of 5% of the signal length. I then adjust the framelen value to get the result I want. It is possible to control these in the smoothdata function by setting the 'Degree' and window parameters.

Community Treasure Hunt

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

Start Hunting!