Savitzky-Golay Smoothing Filter
After looking at a lot of the Savitzky-Golay implementations on File Exchange, I could not find one as simple but as effective as this one. savGol is from the Book, "Solving Problems in Scientific Computing Using Maple and Matlab" by Walter Gander and others. Gander cites Teukolsky from Computers in Physics from 1990. Here is a link to the book website:
http://www.solvingproblems.ethz.ch/
g = savGol(f, nl, nr, M)
f: noisy data
nl: number of points to left of reference point
nr: number of points to right of reference point
M: Order of least squares polynomial
Example:
x = [0:1000-1]'/(1000-1);
signal = exp (- 100*(x - 1/5).^2) + exp (- 500*(x - 2/5).^2) + exp (-2500*(x - 3/5).^2) + exp (-12500*(x - 4/5).^2);
randn ('seed', 0);
noisySignal = signal + 0.1* randn (size (x));
smoothSignal = savGol(noisySignal, 16, 16, 4);
plot(x,noisySignal)
hold on;
plot(x, smoothSignal,'r','LineWidth',3)
legend('Noisy Signal', 'Smooth Signal')
Zitieren als
Jason Nicholson (2024). Savitzky-Golay Smoothing Filter (https://www.mathworks.com/matlabcentral/fileexchange/45420-savitzky-golay-smoothing-filter), MATLAB Central File Exchange. Abgerufen .
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
- Signal Processing > Signal Processing Toolbox > Signal Generation and Preprocessing > Smoothing and Denoising >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.2.0.0 | Changed to the economy QR decomposition when calling QR. This increases speed and allows calculating more coefficients for the same amount memory. |
||
1.1.0.0 | Change MATLAB version information. |
||
1.0.0.0 |