08-29-2001 05:01 AM
08-30-2001 04:45 PM
08-10-2005 07:05 AM
08-11-2005 07:31 AM
08-11-2005 08:06 AM
02-15-2010 07:19 PM
Hi Jason,
I've only used your VI briefly but it seems to work correctly.
I'm not too sure what the basis is for you weighting scheme. Might you explain? Why did you implement the weighting? To compute initial and final conditions? Is there some theory which explains in more detail?
Anyway, thanks for the VI.
Battler.
02-15-2010 07:25 PM
It appears that the Savitzky-Golay 2nd derivative operation is discontinuous at the start and end points.
How do you get around this?
Thusfar I've had success with the VI posted by Jason.
02-16-2010 07:46 AM
Savitzky-Golay is computationally equivalent to taking the least squares fit to a polynomial over a restricted set of data, picking a point on the calculated curve, then returning its value/derivative/second derivative... For example, you can pick a data interval of seven points and a position equivalent to the center point (point 3 or 4, depending on whether you like zero or one based arrays). If you do this, the first point of valid data you will get is the fourth point, since you need three earlier points to run the curve fit. Similarly, there is no valid data for the last three points, either. This is normal for convolution filters. You have two basic options:
To get second derivatives, you need to have at least three points in your filter, and should really have five or more if you have noise issues. This is why the second derivative gives "errors" on the end points.
Note that Savitzky-Golay is now native in LabVIEW. This is a very old thread. In the future, you may get better response by starting a new on. Jason's last post was almost two years ago.
02-16-2010 07:47 AM
Savitzky-Golay is computationally equivalent to taking the least squares fit to a polynomial over a restricted set of data, picking a point on the calculated curve, then returning its value/derivative/second derivative... For example, you can pick a data interval of seven points and a position equivalent to the center point (point 3 or 4, depending on whether you like zero or one based arrays). If you do this, the first point of valid data you will get is the fourth point, since you need three earlier points to run the curve fit. Similarly, there is no valid data for the last three points, either. This is normal for convolution filters. You have two basic options:
To get second derivatives, you need to have at least three points in your filter, and should really have five or more if you have noise issues. This is why the second derivative gives "errors" on the end points.
Note that Savitzky-Golay is now native in LabVIEW. This is a very old thread. In the future, you may get better response by starting a new on. Jason's last post was almost two years ago.