Quote from: joeqsmith on Today at 12:58:22 pmJS, sounds good. I didn't even consider the rel function. Makes sense. I can tell you that the prototype with the later firmware is not near as stable beyond just the noise. I've posted a few times how it is sensitive to the proximity of my hand. If you look at some of that early data I took I even mentioned that the spikes were from me walking by the meter. 1.0 does seem to help tame it on the proto. Look forward to seeing your results.
I do see the jumping with V1.00 while touching the buttons as well, 100 counts or so and all over the place, not the single sided glitches of a few samples.
Well, I did my homework... The meter connected to a resistor (22Ω and 2.2Ω in different experiments) and parallel with the resistor a toggle switch. Everything up and running switch open, press the mem button to start recording (yes, this time no BT) wait for about 200 samples in the fastest speed (40s or so) toggle the switch to close it, wait for 100 samples, toggle the switch open again, wait for another 100 samples and stop recording. All that done with both resistors and both versions (1.00 and 1.26)
Now, what did I saw, let's start by looking at the switching moments... 10 samples are plenty to observe the switching, so we are looking at a 2s interval. Here I normalized the resistances and placed the 22Ω and 2.2Ω together, the observer eye will detect which is which.
FW V1.00 looks consistently slower, taking 4 samples to settle to within the noise floor, strangely only one signal looks 5 samples, so we call it 4.25 samples for version 1.00.
FW V1.26 looks consistently faster, taking one or two samples to settle within the noise floor, so we call it 1.5 samples, which is about 3 times faster than V1.00.
Is interesting to look at the shapes of the different pulses, going down all show slower, and for V1.00 a step in mid air lasting up to 4 samples in exactly the same value (stop for a coffe maybe). V1.26 settles in just one sample going up, while going down stops for a single sample in a place where it doesn't seems to be a single pole filter, but also doesn't seem to be just toggling the switch during the sampling time, too similar shape for both traces, I wouldn't call consistency 2 samples but something to look for if I was trying to replicate the filter.
Enough with the step response, let's go to the noise observations, I took the first 200 samples of each measurement for this, from the start to a few samples before the switching, this time I did normalized the resistance to just look at the noise around zero. Looking at the 2.2Ω resistor plot, for V1.26 there are no glitches in those 40s, just within 5 counts of the mean, I guess I just got lucky, they were around 30s to 90s apart, while the V1.00, after a high start of 4 counts over, stays within 2 counts from the mean for the rest of the time. In the frequency plot shows a faster response from V1.26 as in the step plots, with higher noise all over the spectrum.
Now the 22Ω plots, all other just as before. Hey! We have glitches
So noise went up to the roof for all the spectrum and now we cant even see clearly the V1.00 noise while glitches go like 30 counts away from the mean. The first one was just at the start, could be due to the button problem but I don't think so, I'm observing such behavior mainly with the hold, not the mem button. Also, the reading just shift around and doesn't stabilize just one or two samples after, slower process all together, but it could very well be. Second glitch I don't think I went even close to the meter, as it was way before toggling the switch. Due to those glitches the noise goes up all the way up to 5Hz to about 4 times than without the glitches, and 10 times higher than the V1.00 figures.
To wind up, I don't think the glitches are external perturbations, as I said I was quite a few meters away in yesterday experiments and it was in the middle of the room with just one incandescent bulb on, main source of noise would be the BT or the cellphone on my hand. If I had to guess the thing is doing some kind of calibration, auto zero or something at a pseudorandom intervals and just showing up whatever value it reads instead of ignoring the samples affected by the cal procedure.
The noise levels and frequency response of V1.00 are similar to what I was expecting, falling within 2 or 3 counts, I was getting that with a moving average of about 15 samples. The staircase response tells me it's not doing just that or other type of linear filter but some other processing about that, I kind of like that a bit more but if I could I wouldn't switch completely to that, I would still prefer for the data logging to have the faster response but ignoring the glitches. For me the best choice would be to have the choice at the time of the measurement (and not having to change firmwares to do so) and make use of the buttons that are not being used, could be the 1ms but the LPF symbol makes more sense, to add a LPF even if it's not 1kHz but 0.1Hz. Also, using a linear filter to deal with the spikes doesn't seem right to me, they are clearly not random noise and getting them into the averaging isn't the way to go, just masking the problem but introducing even more error than leaving it there, hard to catch with the eye and can be suppressed while processing the logged data.
If I were to design a filter for an application like this, just for the display, I would make it varying with time, a very fast, almost non existent as it detects a fast change in the signal and slower as it just detects the noise of the system, let's say (in time constants) single sample for a change over 200 counts, 4 samples for a change over 20 counts and 20 samples for a change under 20 counts. For the data logging I would always prefer faster, noisier samples, the V1.00 clearly shows slugginess in the data, as has many consecutive samples in the same reading. Good for display, bad for logging (IMO) the problem with the BT logging is that you are logging the display value. A walk around of all this would be to write a BT app to do the trick, and look at whatever kind of reading I want from the phone, just leave my noise alone so I have something to work with...
Hope all this helps, I'd be happy to run any test with this, just bare in mind I don't have a higher resolution meters if that's what's required, can't do long term stability, calibration checks, etc, but for this kind of feedback I'm available. I just got my meter two weeks ago, that's why I'm just jumping in here now...
Regards
JS