Author 
Topic 

Damien68
France
120 Posts 
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 brickwall 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 lowpass filter (LPF) with troncated sinuscardinal 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 
Mastery is acquired by studying, with it everything becomes simple 
Edited by  Damien68 on 09/07/2019 23:47:51


Reply #1
EmfDev
1129 Posts 
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 


Reply #2
Damien68
France
120 Posts 
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. 
Mastery is acquired by studying, with it everything becomes simple 
Edited by  Damien68 on 10/29/2019 04:02:09 


Reply #3
EmfDev
1129 Posts 
Posted  10/29/2019 : 08:53:36

There might be a way to toggle between both. 



Topic 
