Products > Test Equipment
A High-Performance Open Source Oscilloscope: development log & future ideas
nctnico:
--- Quote from: tom66 on December 05, 2020, 06:38:57 pm ---Also - the peak wfm/s rate is one measure of performance but the other is how many intensity-graded levels the display achieves. To achieve at least 256 then you need a minimum of 256*60 = 15.3kwfms/s but you might want to apply gamma correction and use a 10-bit or 12-bit accumulation buffer
--- End quote ---
256 intensity levels is another nice but otherwise utterly meaningless marketing number. First of all a TFT panel can use 8 bits at most however a portion those bits are lost to gamma and intensity correction. Secondly you can't see very dark colors so the intensity has to start somewhere half way. So at the hardware level you are limited to 100 levels. And then there is the limit of what the human eye can distinguish. If you have 32 or maybe 64 different levels you have more than enough to draw a meaningfull picture. However, intensity grading is just mimicing analog oscilloscope behaviour; it doesn't add much in terms of usefullness. Color grading or reverse intensity (see my RTM3000 review) are far more usefull to look at a signal compared to 'simple' intensity grading. Having 8 levels of intensity grading is likely to be more informative in terms of providing meaningfull information; with just 8 levels there will be a clear binning effect of how often a trace hits a spot.
JamesLynton:
Very sensible on the intensity binning idea, I like that idea *a lot* :)
May also help to have an adjustable +/- exponential tracking curve to assign binning transition spread on the fly when you are trying to tease 'data' out that frequently isn't quite statistically linear in its repetition rate.
Also, awesome project, after being rather disappointed by the UI, Features & Performance of all the commercial pc based dongle scopes I've seen so far, this immediately is looking really nice.
tom66:
--- Quote from: nctnico on December 05, 2020, 07:30:53 pm ---
--- Quote from: tom66 on December 05, 2020, 06:38:57 pm ---Also - the peak wfm/s rate is one measure of performance but the other is how many intensity-graded levels the display achieves. To achieve at least 256 then you need a minimum of 256*60 = 15.3kwfms/s but you might want to apply gamma correction and use a 10-bit or 12-bit accumulation buffer
--- End quote ---
256 intensity levels is another nice but otherwise utterly meaningless marketing number. First of all a TFT panel can use 8 bits at most however a portion those bits are lost to gamma and intensity correction.
--- End quote ---
That's not really true - not on any modern TFT LCD at least. Gamma correction is done in the analogue DAC that supplied with gamma reference levels. The DACs for each pixel column interpolate (linear, but it's a close approximation) between these channels. The resulting effect is that all 256 codes have a useful and distinct output and the output is linear. This is the slight absurdity with VGA feeding digital LCD panels: the VGA signal is gamma corrected, which is reversed by the LCD controller, and then a different, opposite gamma correction curve is applied.
A typical big LCD panel has 16 gamma channels, 8 for each drive polarity. Cheaper panels use 6 or 8 channels, with dithering used to interpolate further between these levels.
--- Quote from: nctnico on December 05, 2020, 07:30:53 pm ---Secondly you can't see very dark colors so the intensity has to start somewhere half way. So at the hardware level you are limited to 100 levels. And then there is the limit of what the human eye can distinguish.
If you have 32 or maybe 64 different levels you have more than enough to draw a meaningfull picture. However, intensity grading is just mimicing analog oscilloscope behaviour; it doesn't add much in terms of usefullness. Color grading or reverse intensity (see my RTM3000 review) are far more usefull to look at a signal compared to 'simple' intensity grading. Having 8 levels of intensity grading is likely to be more informative in terms of providing meaningfull information; with just 8 levels there will be a clear binning effect of how often a trace hits a spot.
--- End quote ---
Many people would say the human eye can distinguish between at least 10 bits of resolution but possibly more. Obviously not all that useful on an 8 bit panel but it is a bit of a fallacy to say the human eye is the limit here. It is true that totally dark colours are not as useful but this is what the intensity control on most oscilloscopes does - it adjusts the minimum displayed brightness. It is still probably fair to say at least 200 codes of the displayed codes are useful. You could always turn up the intensity control to see those darker values, even if the brighter values now saturate. But you need to have the depth of the intensity bins large enough to store this data to then make use of this function.
I would agree that colour grading is really useful and perhaps more useful than regular intensity grading though it depends on the application. Really what we're looking at here is having enough resolution in the internal buffers to then use this data, either with simple intensity grading or with arbitrary colour grading. The present ArmWave renderer supports regular intensity grading, inverted, and rainbow/palette modes.
Edit: fixed typo
nctnico:
--- Quote from: tom66 on December 06, 2020, 09:20:42 am ---
--- Quote from: nctnico on December 05, 2020, 07:30:53 pm ---
--- Quote from: tom66 on December 05, 2020, 06:38:57 pm ---Also - the peak wfm/s rate is one measure of performance but the other is how many intensity-graded levels the display achieves. To achieve at least 256 then you need a minimum of 256*60 = 15.3kwfms/s but you might want to apply gamma correction and use a 10-bit or 12-bit accumulation buffer
--- End quote ---
256 intensity levels is another nice but otherwise utterly meaningless marketing number. First of all a TFT panel can use 8 bits at most however a portion those bits are lost to gamma and intensity correction.
--- End quote ---
That's not really true - not on any modern TFT LCD at least. Gamma correction is done in the analogue DAC that supplied with gamma reference levels. The DACs for each pixel column interpolate (linear, but it's a close approximation) between these channels. The resulting effect is that all 256 codes have a useful and distinct output and the output is linear. This is the slight absurdity with VGA feeding digital LCD panels: the VGA signal is gamma corrected, which is reversed by the LCD controller, and then a different, opposite gamma correction curve is applied.
A typical big LCD panel has 16 gamma channels, 8 for each drive polarity. Cheaper panels use 6 or 8 channels, with dithering used to interpolate further between these levels.
--- End quote ---
Well, I'm doing a lot with TFT panels in all shapes and sizes but I have never seen one which has gamma correction inside the panel. The panel typically uses 8 bit LVDS data which comes from a controller which does gamma correction. But what goes into the panel is still 8 bit.
And there is also a difference between being able to see different shades and how many different shades you can actually interpret. Sometimes less is more. If you look at the Agilent 54835A for example you'll see that the color grading uses binning. Every color is assigned a specific bin which says how many waveforms have been captured inside that bin. IMHO you have to be very careful not to hunt for eye candy (or worse: analog scope emulation which hides part of the signal by definition) but think about ways to show a signal on screen in a way which provides meaningfull information about the signal.
tom66:
Many inexpensive panels generate the gamma voltages internally in the source drivers to reduce cost of having external references, but this absolutely is a thing:
https://www.ti.com/lit/ds/symlink/buf12800.pdf as an example. When I was a student I made fair bank replacing AS15-F gamma reference ICs on LCD T-con boards for LCD televisions. They would common fail causing a badly distorted or inverted image.
The voltages steer the output codes for the DAC. The panel data indeed is 8-bit input and the DAC has only 256 valid output codes, but the output is nonlinear. An additional signal from the T-con flips the output from 7.5V - 15V range to 7.5V - 0V for pixel inversion (maintaining zero net bias). This is common amongst most LCD panels, although there are some older/cheaper panels that use 6-bit DACs with looser gamma correction and dithering.
You could do an experiment: put a 256-level gradient on a display of choice, provided it is wide enough you should be able to see distinct stair-stepped bands. If the gradient has nonlinear steps, then the gamma correction is done before the DACs. If it has linear bands, then there is no gamma correction applied to the digital output.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version