Are all AD converters linear? - Page 1
Forum section: electronics / projects

author: capsicum
author_rank: Contributor
timestamp: March 07, 2017, 10:35:39 am
content: Is there an inherent property limit of ADCs that makes all I have seen strictly linear in input to output, or does someone make a non-linear ADC that i don't know about?By non-linear I do not mean a very poorly made ADC, I mean that it follows another mathematical curve.[power , exponential, logarithmic, polynomial...]i was just thinking that a nice proportionally stepped set would be nice; say for example, steps that are each 4% above the last step. (the actual factor being a function of Vref, bit count, and some minimum size for step 0-1)Similar to the preferred value series used for resistors, though with base 8,16,...256,1024... rather than the 3,6,...48,96....

author: daveshah
author_rank: Unknown
timestamp: March 07, 2017, 10:40:48 am
content: There are some academic papers out there describing logarithmic ADCs, but I don't think there are any commercially available ICs available. Of course you could just put a logamp in front of a linear ADC.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: March 07, 2017, 10:47:20 am
content: They make (made?) non-linear codecs for voice telecom applicationshttps://en.wikipedia.org/wiki/%CE%9C-law_algorithm

author: capt bullshot
author_rank: Super Contributor
timestamp: March 07, 2017, 11:16:24 am
content: Quote from: mikeselectricstuff on March 07, 2017, 10:47:20 amafaik, these consist of a standard ADC/DAC and a digital conversion mechanism (like a lookup table) for the encoding.

author: capsicum
author_rank: Contributor
timestamp: March 07, 2017, 12:19:30 pm
content: To be sure, this is just an academic question I am not currently in dire need of a solution.I am asking about direct electrical response/conversion.Software conversion or other recoding of the output from a standard linear ADC isn't that useful because it can't create information fidelity that was already lost in the original conversion.I like the log-amp idea for a practical workaround.

author: BrianHG
author_rank: Super Contributor
timestamp: March 07, 2017, 12:36:40 pm
content: For the linear to log method, instead of using an 8 bit linear ADC with log opamp, what I once did was use a 16 bit ADC & converted the 16 bit data though a table to 8 bit data which represented an anti-log conversion. On the dac side, I did the reverse taking the 8 bit data, through a reverse table to drive a 16 bit dac. I actually got a respectable audio quality from the computer 8 bit data this way.

author: mikeselectricstuff
author_rank: Super Contributor
timestamp: March 07, 2017, 12:44:51 pm
content: Quote from: capt bullshot on March 07, 2017, 11:16:24 amOlder ones use noninear converters - it's maybe 25 years since I used one so don't recall details.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: March 07, 2017, 04:50:01 pm
content: What ever made you think it's linear? It's a stepwise response. You're lucky the steps are even one-to-one; on some converters, some steps may go backwards (missing codes, or DNL > 2 LSB).Much of the study of ADCs involves making them linear again. The usual approach is adding a few LSB of noise to the input, so that the quantization noise is wideband, even for stable or slowly-changing input signals; the noise can then be averaged out (filtered), trading ENOB for bandwidth. (When you see oversampling advertised, this is usually what they're doing.)Tim

author: coppice
author_rank: Super Contributor
timestamp: March 07, 2017, 05:01:55 pm
content: Quote from: mikeselectricstuff on March 07, 2017, 12:44:51 pmI don't think they ever moved away from using non-linear ADCs and DACs. We played around with ideas for a linear sigma-delta converter with digital Alaw/ulaw->linear->Alaw/ulaw conversion, but the latency inherent in sigma-delta designs made them a non-starter.

author: grouchobyte
author_rank: Regular Contributor
timestamp: March 08, 2017, 10:29:42 pm
content: Quote from: T3sl4co1l on March 07, 2017, 04:50:01 pmBack over 20 years ago when I designed optical time domain reflectometers (OTDRs) we were looking at fiber backscatter on the order of 40 optical dB (SNR- two way power or 5*log Po/Pi). Thats 160 electrical dB or way the fuck down in the dirt ( noise floor). This is done by successive waveform averaging (log root averages in SNR improvement). That would sometimes take minutes at selected laser pulse repetition rate ( fiber measurement range dependent). All this was done with a fast 8-bit flash ADC. Nothing fast enough with more resolution was available at the time.The problem we encountered often was coherence and non-linear effects in the noise floor ( literally pico watts of returned optical power). The non-linearity in most ADCs ( which all converters suffer from in some way or another) can be caused by non-monotonic bin spacing. Since averaging needs noise to smear or average out inter-bin signal levels, it presents some challenges. If your noise is the wrong kind you will end up with kinks and derivatives on your waveform (in an OTDR its a log signature so small non-linearities look enormous) Adding close to ideal gaussian noise results in better linearity on the order or 1 part in several million. Not bad for an 8-bit ADCProbably more than you wanted to know, eh?@grouchobyte

author: T3sl4co1l
author_rank: Super Contributor
timestamp: March 09, 2017, 12:24:30 am
content: Yeah, trying to schmooze a sloppy, low-bit ADC into useful accuracy can be quite involved. There are algorithms that choose the right noise (amount and pattern) to turn it into a S-D ADC with predictable noise that can be subtracted out digitally, while spreading the signal over many bins, thus averaging out their DNL.Tim

author: capsicum
author_rank: Contributor
timestamp: March 19, 2017, 05:54:05 pm
content: Maybe I should clarify that my question was mostly about the response of the ADC. I am well aware that digital means stepped (or more precisely, discrete units), to those who aren't pedants it is clear that the steps can approximate various types of curves, one of which is linear.The voltage binning stage may be the core of this question. If it is internal to the ADC . External computational conversion of the ADC output is an obvious workaround, (and interesting) but this thread was not primarily intended for workarounds.Generally interesting responses so far. It is becoming apparent that ADCs with a non-linear voltage binning are exceedingly rare if produced commercially at all.

author: capsicum
author_rank: Contributor
timestamp: March 19, 2017, 06:11:17 pm
content: Quote from: BrianHG on March 07, 2017, 12:36:40 pmThis is an interesting way to [pre?] compress audio data if storage or transmission space is slim. Rather adds a touch of complication if you could just keep the 16bit words, and it certainly looses some amount of information that would have been captured by direct non-linear 8bit [or 16b] binning. Whether the loss is significant is a separate question and dependent on several choices like which specific curve is being targeted.

author: tggzzz
author_rank: Super Contributor
timestamp: March 19, 2017, 07:00:40 pm
content: Quote from: capsicum on March 07, 2017, 10:35:39 amWith a little imagination, you can achieve other transfer functions, e.g.http://www.analog.com/en/products/rf-microwave/attenuators/digital-step-attenuators/hmc472a.html#product-overview

author: Richard Crowley
author_rank: Super Contributor
timestamp: March 19, 2017, 07:22:55 pm
content: Back many decades ago (perhaps before some people here were born) you could buy A-law or mu-law analog to digital converter chips. They were intended specifically for communication (mainly telephone) industrial applications. And they were all 8-bit because of bandwidth limitations back then. And because you don't need to fool around with the conversion law if you have a whole 12 bits or 16 bits of resolution.Are there any historic data books online from many decades ago for Signetics and all those other expired semiconductor houses?

author: David Hess
author_rank: Super Contributor
timestamp: March 19, 2017, 09:23:10 pm
content: Quote from: capt bullshot on March 07, 2017, 11:16:24 amNo, they use a successive approximation converter with a non-linear DAC. Somewhere I have whole databooks on them but the PMI databook is right in front of me and a good example of the DAC is the PMI DAC-86, DAC-88, and DAC-89.

author: David Hess
author_rank: Super Contributor
timestamp: March 19, 2017, 09:52:12 pm
content: Quote from: evb149 on March 19, 2017, 09:41:03 pmThis is very easy to do with voltage to frequency converters. Exponential, logarithmic, and reciprocal response is useful for specific sensors.Wide range phase locked loops may use a non-linear response in their charge pump to alter the loop gain with frequency for better response.

author: capsicum
author_rank: Contributor
timestamp: March 22, 2017, 07:51:26 pm
content: Quote from: evb149 on March 19, 2017, 09:14:52 pmI am familiar with Gray code(name of a guy not the color), it just replaces normal binary counting by arranging the numbers out of order. It has a logical role similar and complimentary to debouncing of a physical contact counter. The reason is so that at no point in the rotation you end up with a large error, null, or unresolved state if the unit happens to stop half between a zero and one. Gray is arranged so that you never move more than one or two bits at a time(depends on exact implementation), eg Gray will never have a physical sensor transition of 1111 to 0000, or even 0011 to 0100. Due to real world tolerances, without Gray, in moving from 1111 to 0000 all bits will not roll over at the exact same instant so even if debounced stopping right on the rollover may output any combination of one and zero on the rolling bits ie 0110 for the prior examples.The encoder Gray output is passed through a simple converter to output a normal binary counting system.