T O P I C R E V I E W |
Damien68 |
Posted - 09/01/2019 : 01:23:48 I post this just for general information, I compare 2 ways to plot a average curve : - The first by convolution with a cardinal sinus, which constitutes a low pass filter (exactly a brick-wall filter). - the second is a moving average (which is a convolution with a rectangle).
The first way requires a little more calculation but is still very fast (less than a second for 20,000 points with a Windows PC, .NET framwork, CPU: i5 6th generation) it gives a smoother curve and no less significant The second is more speed but leave artifacts which are due to edge effects with the convolution window edge.
below the 2 solutions then an implementation of the LPF filter see more information about sinus cardinal filter at: https://en.wikipedia.org/wiki/Sinc_filter
Filtered by a low-pass filter (LPF) with troncated sinus-cardinal window convolution: Image Insert:
216998 bytes
Filtered by a rectangular window convolution (mobile average) Image Insert:
226113 bytes
Exemple of sinus cardinal convolution implementation under Visual Basic .NET Image Insert:
198974 bytes Note: above, function sin (x) must be defined in radians
and his calling: Image Insert:
34681 bytes |
3 L A T E S T R E P L I E S (Newest First) |
EmfDev |
Posted - 10/29/2019 : 08:53:36 There might be a way to toggle between both. |
Damien68 |
Posted - 10/28/2019 : 05:45:37 under certain conditions the moving average may be a little more representative. In fact, trapezoidal window convolution seems to be perfect. |
EmfDev |
Posted - 09/03/2019 : 09:29:15 Thanks for sharing some great information! We could use some of those techniques to improve our computations! :D |