top of page

Blog

Mikecon Cenit

Signal Filtering LabView Code Development

Developing Labview code to filter the raw signal from the BITalino sensor.


The raw data will need to be filter and smooth live, therefore the filtering needs to have the concept of moving average filtering. A moving average filter is commonly used with time series data to smooth out short-term fluctuations and highlight longer-term trends or cycles. The filtering process that is used to smooth out the raw signal data is called Savitzsky-Golay as shown on the image bellow. Savitzsky-Golay filter is used because the filter applied is to increase the signal to noise ratio without distorting the raw signal. The LabView code adapts the convolution concept of Savitzsky-Golay filter by fitting successive subsets of adjacent data points with a low degree polynomial. The low degree polynomial is made with respect to the method of linear least square. Analytical solution to the least square equations can be found with the array of amplitude value that are equally spaced in respect of time set value of the waveform signal. The analytical solution can be set in the form of a signal set of convolutions coefficients, that can be used to all the data sub-set to give estimates of the smoothed signals.

The data consists of a set of n points (xj, yj) (j = 1, ..., n), where x is an independent variable and yj is a datum value. A polynomial will be fitted by linear least squares to a set of m (an odd number) adjacent data points, each separated by an interval.

High pass, lowpass, bandpass and other signal filtering has been studied. On the other hand, when compared with Savitzsky-Golay, they come with limitations. Savitzsky-Golay do have a small lag during the computation of the polynomial linear least square of the signal set of convolution coefficients. The lag is less visible when the sampling rate is increase, due the filtering happening during the first set of convolution coefficients.



 

Author's Notes

“There is a lag during the signal filtering process. It wont affect the overall data when the sampling rate is set to 1000. The lag happen during the first set of convolution coefficient, but as the sampling rate increase the sets of convolution coefficient increases.”

16 views0 comments

Comments


bottom of page