|
|
Scilab: Savitzky-Golay Filter implementieren und anwenden |
|
Marvin_1018 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.01.2018, 20:55
Titel: Scilab: Savitzky-Golay Filter implementieren und anwenden
|
|
|
|
|
Guten Abend Leute,
und zwar schaffe ich es nicht den Savitzky-Golay Filter in Scilab richtig zu implementieren bzw. anzuwenden.
Habe das hier im Netz gefunden, komme nun aber nicht mehr weiter.
-----------------------------------------------------------------------------
function yf = sgolay_filt(x,y,n,F,d)
// Savitzky-Golay filtering
// Data: (x,y)
// interpolating order n (Must be < n-1)
// Window length: F (Must be < length(x))
// d: differentiation order
[nlhs,nrhs] = argn();
if nrhs < 5
d=0; // default: no differentiation
end // if
d = round(d) // force integer
N = length(x) //
xr = max(x)-min(x);
x=(x-mean(x))/xr; // normalise x
xc = xr^d // correction for derivatives
if fix(F/2) == F/2
disp("Frame size must be odd")
F=F+1
end // if
if n>(F-1)
disp('Interpolating order > window width')
n = floor(F/2)
end // if
F2 = (F-1)/2; // should be integer
yf = y*%nan; // dummy start
for i=F2+1:N-F2
idx = i-F2:i+F2;
xloc = x(idx);
yloc = y(idx);
p = polyfit(xloc,yloc,n); // fitted polynomial
if d>0 // perhaps differentiate it
for k=1:d
p = derivat(p); // p = polyder(p);
end // for
end // if
yf(i) = horner(p,x(i))/xc; // centre point
end // for
endfunction
------------------------------------------------------
Wäre sehr dankbar wenn mir jemand bei der Anwendung des Filters helfen könnte!
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|