This is how 'Resolution enhancement' works-
If you collect the following data samples from the scope-
s1,s2,s3,s4,s5,s6,s7,…..,sn
For ½ bit you replace each sample with the average of two values
(s1+s2)/2, (s2+s3)/2, (s3+s4)/2, (s4+s5)/2, (s5+s6)/2, (s6+s7)/2, (s7+s8)/2,……, (sn+s(n+1))/2,
For 1 bit 4 values
(s1+s2+s3+s4)/4,(s2+s3+s4+s5)/4,……………….,(sn+s(n+1)+s(n+2)+s(n+3))/4)
For 1½ bit use 8 samples
For 2 bits use 16 samples
For 2½ bits use 32 samples
etc
So you can apply a simple moving average filter in your own code to enhance the vertical resolution, as we do in PicoScope 6.
I attached a basic LabVIEW code snippet for block example the averages N number samples.
You may notice the last N number samples that are invalid, you need to remove these from the array or sample addition N samples to get the required samples.
This would require some changes to the code.
If you wish to use a current streaming example with you need to create a circular buffer that returns a fixed number of samples.
Resolution enhancement / moving average filter
Resolution enhancement / moving average filter
Regards Andrew
Technical Specialist
Technical Specialist