DSPRelated.com
Forums

Continuous-time DSP with no sampling

Started by Yannis November 2, 2005
John Monro wrote:
> robert bristow-johnson wrote: > (snip) > >> >> 3a. now i know there is this "Gray code" that could be used (if a >> flash A/D >> was designed to output Gray Code) in which only one bit toggles as your >> continuous (in amplitude) analog signal passes from one quantized >> level to >> the next, (see http://en.wikipedia.org/wiki/Gray_code ) and then you >> would >> never get more than one bit that should be changing at a time. >> accordingly, >> the combinatorial logic would be modified to do the same arithmetic, but >> with the Gray encoded words instead of 2's complement. >> > (snip) > > Robert, > in general, consecutive analog samples will differ by more than one > quantisation level, and so the feature of Gray code that you mention > will be of no particular significance.
John, you missed Robert's point. There are many intermediate possibilities, in value from 0000 0000 0000 to 0111 1111 1111 when successive samples go between 0100 0000 0000 and 0011 1111 1111 and the bits don't change simultaneously. Those transient values are called glitches. Glitches are easily dealt with in synchronous circuits. They are a persistent problem in asynchronous circuits. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Jerry Avins wrote:
> John Monro wrote: > >> robert bristow-johnson wrote: >> (snip) >> >>> >>> 3a. now i know there is this "Gray code" that could be used (if a >>> flash A/D >>> was designed to output Gray Code) in which only one bit toggles as your >>> continuous (in amplitude) analog signal passes from one quantized >>> level to >>> the next, (see http://en.wikipedia.org/wiki/Gray_code ) and then you >>> would >>> never get more than one bit that should be changing at a time. >>> accordingly, >>> the combinatorial logic would be modified to do the same arithmetic, but >>> with the Gray encoded words instead of 2's complement. >>> >> (snip) >> >> Robert, >> in general, consecutive analog samples will differ by more than one >> quantisation level, and so the feature of Gray code that you mention >> will be of no particular significance. > > > John, you missed Robert's point. There are many intermediate > possibilities, in value from 0000 0000 0000 to 0111 1111 1111 when > successive samples go between 0100 0000 0000 and 0011 1111 1111 and the > bits don't change simultaneously. Those transient values are called > glitches. Glitches are easily dealt with in synchronous circuits. They > are a persistent problem in asynchronous circuits. > > Jerry
Jerry, I fully understand Robert's main point about the generation of glitches when more than one bit changes and possibly should have acknowledged that. The point I was making though was that unfortunately his proposed solution of using a Gray code ADC will not be of any use. To expand on this: The only advantage of a Gray code ADC arises in those cases where successive measured analog values are separated by no more than one quantisation level; monitoring a river height comes to mind as an example. In that type of situation successive output codes will indeed differ in only one bit position. Unfortunately this feature of the Gray code is of no use when encoding audio waveforms at practical sampling rates because successive analog input samples will generally be different by much more than one quantisation level, and the Gray codes produced will generally differ in more than one bit position. Regards, John
John Monro wrote:

   ...

> Jerry, > I fully understand Robert's main point about the generation of glitches > when more than one bit changes and possibly should have acknowledged > that. The point I was making though was that unfortunately his proposed > solution of using a Gray code ADC will not be of any use.
I maligned you, then. We seem to agree on all these issues.
> To expand on this: The only advantage of a Gray code ADC arises in > those cases where successive measured analog values are separated by no > more than one quantisation level; monitoring a river height comes to > mind as an example. In that type of situation successive output codes > will indeed differ in only one bit position.
Gray codes are useful primarily in counting or measuring, when it is not possible to skip over a division. Adjacent points on a symbol constellation are an abstruse example of this.
> Unfortunately this feature of the Gray code is of no use when encoding > audio waveforms at practical sampling rates because successive analog > input samples will generally be different by much more than one > quantisation level, and the Gray codes produced will generally differ in > more than one bit position.
Thinking otherwise is an easy trap to fall into. Thanks for advertising the fallacy. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
in article 43699577$0$25855$afc38c87@news.optusnet.com.au, John Monro at
johnmonro@optusnet.com.au wrote on 11/02/2005 23:43:

> robert bristow-johnson wrote: > >> 3a. now i know there is this "Gray code" that could be used (if a flash A/D >> was designed to output Gray Code) in which only one bit toggles as your >> continuous (in amplitude) analog signal passes from one quantized level to >> the next, (see http://en.wikipedia.org/wiki/Gray_code ) and then you would >> never get more than one bit that should be changing at a time. accordingly, >> the combinatorial logic would be modified to do the same arithmetic, but >> with the Gray encoded words instead of 2's complement. > > in general, consecutive analog samples will differ by more than one > quantisation level, and so the feature of Gray code that you mention > will be of no particular significance.
John, *what* samples??? that's the whole premise of Yannis's paper. there are no samples. the "sampling rate" is infinite. now, we all know that truly infinite quantities, including slew rate or ramp rate, are impossible. so, even if step discontinuities are mathematically conceivable, without infinite BW, they are not physically possible. so the input voltage that moves from level n to level n+2 must pass through level n+1 and that won't be missed because of any sampling times that have straddled it passing through level n+1. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
in article dkcaot$odh$1@home.itg.ti.com, Steve Underwood at steveu@dis.org
wrote on 11/03/2005 01:29:

> robert bristow-johnson wrote: > >> [...] >> >> 3a. now i know there is this "Gray code" that could be used (if a flash A/D >> was designed to output Gray Code) in which only one bit toggles as your >> continuous (in amplitude) analog signal passes from one quantized level to >> the next, (see http://en.wikipedia.org/wiki/Gray_code ) and then you would >> never get more than one bit that should be changing at a time. accordingly, >> the combinatorial logic would be modified to do the same arithmetic, but >> with the Gray encoded words instead of 2's complement. >> >> > In current usage, a flash converter has a very narrow window analogue > gate in front of it. After snapshoting with this, we wait one settling > time of the comparator stack, and get a stable output. Successive > outputs of large signals near the Shannon rate are separated in value by > almost the whole swing of the converter.
what is the Shannon rate in Yannis's paper?
> If you have a scheme where all > successive outputs must be passed through, in Grey code style, your > maximum operating speed would be truly snail's pace.
this is funny. i was and am, mostly critical of Yannis's paper. it is truly and fundamentally impractical. this point, 3a, was put in as an afterthought to let Yannis know that i understand there is *conceptually* a *concept* of avoiding glitches as the signal passes from one quantization level to the next. it was never offered as a solution because we still get glitches because of the unequal delay times that the bit signal will suffer. of course, a wide signal swing near the "Nyquist frequency" (of a sampled system) will skip over many levels. Yannis is not proposing a sampled system. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
John Monro wrote:

> To expand on this: The only advantage of a Gray code ADC arises in > those cases where successive measured analog values are separated by no > more than one quantisation level; monitoring a river height comes to > mind as an example. In that type of situation successive output codes > will indeed differ in only one bit position.
The postulated continuous time processing would require that all intermediate codes be passed through in any transition of the input. Obviously A/D converters like that don't exist, unless you low pass filter the input signal to a small fraction of the sampling rate the converter would be capable of in a discrete time application. Inteast of sampling rate, we'd talk of the slew rate of the system. It seems like you could probably find a video ADC fast enough to handle audio frequency at perhaps 8 bits resolution with no missing codes... but what advantage would this have over say 48 khz 16 bit discrete time methods?
Yannis wrote:
> In principle, sampling is not necessary in order to do filtering > digitally. This is discussed in the following paper: > > Y. Tsividis, "Digital signal processing in continuous time: a > possibility for avoiding aliasing and reducing quantization error", > Proc. 2004 IEEE Int. Conf. on Acoustics, Speech, and Signal Processing, > vol. II, pp. 589-592, Montreal, May 2004. > (If you are interested but cannot obtain this paper, please let me > know.) > > In the above paper, I discuss a method to do DSP in continuous time, > without sampling, resulting in a system with no aliasing.
Doesn't stochastic sampling do the same trick? For example, continuous time autoregression (or for that matter, any variation of the alphabetical soup of CAR, CARMA, CARIMA, CTAR etc) can be formulated as a genuine filter for stochastically sampled process, with no aliasing nor limited bandwidth. I haven't read the article, though, so I don't know what you precisely are after... I would be interested in receiving a copy!
robert bristow-johnson wrote:
> in article 43699577$0$25855$afc38c87@news.optusnet.com.au, John Monro at > johnmonro@optusnet.com.au wrote on 11/02/2005 23:43: > > >>robert bristow-johnson wrote: >> >> >>>3a. now i know there is this "Gray code" that could be used (if a flash A/D >>>was designed to output Gray Code) in which only one bit toggles as your >>>continuous (in amplitude) analog signal passes from one quantized level to >>>the next, (see http://en.wikipedia.org/wiki/Gray_code ) and then you would >>>never get more than one bit that should be changing at a time. accordingly, >>>the combinatorial logic would be modified to do the same arithmetic, but >>>with the Gray encoded words instead of 2's complement. >> >>in general, consecutive analog samples will differ by more than one >>quantisation level, and so the feature of Gray code that you mention >>will be of no particular significance. > > > John, > > *what* samples??? that's the whole premise of Yannis's paper. there are no > samples. the "sampling rate" is infinite. > > now, we all know that truly infinite quantities, including slew rate or ramp > rate, are impossible. so, even if step discontinuities are mathematically > conceivable, without infinite BW, they are not physically possible. so the > input voltage that moves from level n to level n+2 must pass through level > n+1 and that won't be missed because of any sampling times that have > straddled it passing through level n+1.
I'm waiting to read the paper in order to have firm footing. At the very least, I anticipate that one of Zeno's paradoxes to cook the approach. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
1. I can only claim novelty compared to what is published out there. On
the other hand, I don't see why, indeed, this could not have occured to
someone else. If you can get me in touch with your professor, and his
idea is documented somewhere, I would be happy to credit him in a
future publication.

2-5. I am well aware of the problem of glitches! I have seen them, but
their effect may not be as disastrous as long exposure to clocked,
feedback digital systems would have you believe. I am not saying they
are not a real problem, even in what I propose; but we are working on
it! And there is another problem which you do not mention: jitter.

Finally, I should say that I am delighted to receive your comments, and
those of several other people in this thread, and I take them in good
faith. This is precisely the type of input I was hoping to get from
people in the industry. I hope I was careful not to claim industrial
feasibility - in fact, my message made that very clear. On the other
hand, this is a university, and we are supposed to be doing research.
If we had the solution to *all* potential problems in a given approach
we are working on, by definition it would not be research. We have the
luxury of being able to choose challenging and risky problems to work
on.

A very long time ago (early 70s, at UC Berkeley), I was trying to prove
that you can make analog circuits on the same chip with digital ones,
using MOS technology. People from the industry had comments even more
serious than the ones in this thread - I had even gotten mocking
comments like "So, are you trying to make an amplifier out of
switches?". But eventually all problems were addressed, and once our
paper on a MOS PCM codec came out (1976 Int. Solid-State Circuits
Conference), people became convinced and things changed. Today
mixed-signal CMOS is everywhere, including in our cell phones. So it is
with CT DSP; we will keep trying, and we already have some partial
solutions. If it doesn't work in the end, at least we will have had
fun, and our students will have been trained to attack new problems.
But I believe this approach will eventually prove good for some
combination of bandwidth and bit resolution.

Again, the criticism in this thread is *very* welcome - it will help us
design a better chip. Thanks, and please let me know if there are other
potential problems you can identify, or potential areas of application
you think it might be worth considering.

Yannis

Yes, in principle no levels are skipped, since there is no "time
between samples" - there are no samples, and everything is done in
continuous time. This, indeed, if implemented brute-force, makes the
speed-resolution product low. Now, one could skip *some* steps with
small penalty, but I will refrain from proposing this until there is
more work to back it. And, indeed, the reason that Gray codes will not
save us directly, is that the signals from the taps could be arriving
at instances differing by arbitrarily small amounts, and this can
produce glitches - it is a problem we are working on.

The above having being said, I would not be as quick as to pronounce
the technique "truly and fundamentally impractical", as you have done.
In my reply to your first message, I offered an example of earlier
skeptical attitudes with another idea, and what eventually happened. I
will give you another example: In the early 80s, we had no resistors to
speak of on CMOS chips, so we proposed a method to make filters using
the (heavily nonlinear) MOSFETs in lieu of resistors, and still attain
input-output linearity. People thought it was truly and fundamentally
impractical back then, too. But it worked (see the IEEE Journal of
Solid-State Circuits, Dec. 85), and such filters became a mainstream
technology and were produced in the millions. As it turned out, they
found a niche we had not even dreamt of when we propose them:
equalization in the read electronics of computer disk drives.

I am not saying all this to brag, but rather to make people refrain
from dispensing with the idea, so that they will take the time to keep
offering us their valuable input.

Yannis Tsividis