This is a simple filter that converts noisy data of arbitrary amplitude to 1s and 0s.
The input is an array of the raw data, and a new array of 1s and 0s of equivalent array length is returned.
The function uses simple edge detection. The maximum and minimum amplitude of the array is stored, and the edge is defined as their average. More involved methods of edge detection recommended for highly sensitive data.
The 'cleaned' data can be plotted by specifying a second input argument (it can be any integer).
Example of use:
[clean_data] = rxClean(raw_data)
[clean_data] = rxClean(raw_data,1)