DSPRelated.com
Forums

Continuous-time DSP with no sampling

Started by Yannis November 2, 2005

glen herrmannsfeldt wrote:

> OK, not disagreeing at all, but say you have a perfect flash A/D > converter with gray code output, (I haven't tried to design one, > but I think it might work)
Remember that the bits of a Grey code have no arithmetic significance. It may as well be a mapping of the usual arithmetic code to a random one. Bob -- "Things should be described as simply as possible, but no simpler." A. Einstein
in article dl8hr60n98@enews1.newsguy.com, Bob Cain at
arcane@arcanemethods.com wrote on 11/13/2005 18:22:

> > > glen herrmannsfeldt wrote: > >> OK, not disagreeing at all, but say you have a perfect flash A/D >> converter with gray code output, (I haven't tried to design one, >> but I think it might work) > > Remember that the bits of a Grey code have no arithmetic significance. > It may as well be a mapping of the usual arithmetic code to a random one. >
i'm not sure that i know what that means, Bob, but i don't think it's true. even with binary code, when they go into a full adder, it's just logic, a truth table. same could be done for Gray code (that's with an "a"). the only reason i brought it up was to avoid the glitch coming out of a flash A/D in this hypothetical continuous-time DSP system with no sampling. there are plenty of other glitches to deal with. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Bob Cain wrote:

> > > glen herrmannsfeldt wrote: > >> OK, not disagreeing at all, but say you have a perfect flash A/D >> converter with gray code output, (I haven't tried to design one, >> but I think it might work) > > > Remember that the bits of a Grey code have no arithmetic significance. > It may as well be a mapping of the usual arithmetic code to a random one. > > > Bob
Bits in gray code have a specific, but warped. arithmetic significance. The rule for finding the value of a bit in binary is value = sum b_n * 2^n, where b is the value of the bit (0 or 1), and n is the number of the bit starting from the least significant. The same rule for grey code is value = sum b_n * -1^(sum from k = n+1 to N b_k) * (2^(n + 1) - 1). where N is the total number of bits. So 0001 has a value of 1 (1 * -1^0 * (2^1 - 1)), 1000 has a value of 15, 1100 has a value of 8 (15 - 7), 1111 has a value of 10 (15 - 7 + 3 - 1), etc. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com

Tim Wescott wrote:

> Bits in gray code have a specific, but warped. arithmetic significance.
Thanks for the correction. It is indeed an interesting problem to see if this encoding allows a glitch free, tracking A/D. Interesting regardless of its usefulness. :-) Bob -- "Things should be described as simply as possible, but no simpler." A. Einstein
Bob Cain wrote:
> > > glen herrmannsfeldt wrote: > >> OK, not disagreeing at all, but say you have a perfect flash A/D >> converter with gray code output, (I haven't tried to design one, >> but I think it might work) > > > Remember that the bits of a Grey code have no arithmetic significance. > It may as well be a mapping of the usual arithmetic code to a random one.
A Gray code is one in which -- with a single exception -- codes for adjacent states differ by only one bit. Reflected binary Gray is so predominant that it is usually assumed, and many people don't know that other Gray codes exist. Since conversion between binary and reflected binary Gray is so simple with hardware, I don't know how to interpret "arithmetic significance". Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
"robert bristow-johnson" <rbj@audioimagination.com> wrote in 
message news:BF9D54F6.C258%rbj@audioimagination.com...
> in article dl8hr60n98@enews1.newsguy.com, Bob Cain at > arcane@arcanemethods.com wrote on 11/13/2005 18:22: > >> >> >> glen herrmannsfeldt wrote: >> >>> OK, not disagreeing at all, but say you have a perfect >>> flash A/D >>> converter with gray code output, (I haven't tried to >>> design one, >>> but I think it might work) >> >> Remember that the bits of a Grey code have no arithmetic >> significance. >> It may as well be a mapping of the usual arithmetic code >> to a random one. >> > > i'm not sure that i know what that means, Bob, but i don't > think it's true. > > even with binary code, when they go into a full adder, > it's just logic, a > truth table. same could be done for Gray code (that's > with an "a").
I had to look this up. Sure enough: http://www.nist.gov/dads/HTML/graycode.html
in article AaadnfuiMfkDneXenZ2dnUVZ_sudnZ2d@rcn.net, Jerry Avins at
jya@ieee.org wrote on 11/13/2005 22:12:

> A Gray code is one in which -- with a single exception -- codes for > adjacent states differ by only one bit.
??? what's that single exception, Jerry? :-/ -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
John E. Hadstate wrote:
> "robert bristow-johnson" <rbj@audioimagination.com> wrote in > message news:BF9D54F6.C258%rbj@audioimagination.com... > >>in article dl8hr60n98@enews1.newsguy.com, Bob Cain at >>arcane@arcanemethods.com wrote on 11/13/2005 18:22: >> >> >>> >>>glen herrmannsfeldt wrote: >>> >>> >>>>OK, not disagreeing at all, but say you have a perfect >>>>flash A/D >>>>converter with gray code output, (I haven't tried to >>>>design one, >>>>but I think it might work) >>> >>>Remember that the bits of a Grey code have no arithmetic >>>significance. >>>It may as well be a mapping of the usual arithmetic code >>>to a random one. >>> >> >>i'm not sure that i know what that means, Bob, but i don't >>think it's true. >> >>even with binary code, when they go into a full adder, >>it's just logic, a >>truth table. same could be done for Gray code (that's >>with an "a"). > > > I had to look this up. Sure enough: > > http://www.nist.gov/dads/HTML/graycode.html
In any case, conversion of n-bit numbers to or from binary and b.r.Gray requires a rank of n-1 XORs in hardware. The best software conversions I know are O(1) from binary and O(log(n)) to binary.The polynomial-time algorithms mentioned there don't cut it. See http://www.dspguru.com/comp.dsp/tricks/tricks.htm Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
robert bristow-johnson wrote:
> in article AaadnfuiMfkDneXenZ2dnUVZ_sudnZ2d@rcn.net, Jerry Avins at > jya@ieee.org wrote on 11/13/2005 22:12: > > >>A Gray code is one in which -- with a single exception -- codes for >>adjacent states differ by only one bit. > > > ??? > > what's that single exception, Jerry?
Wraparound. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
On Mon, 14 Nov 2005 09:15:27 -0500, Jerry Avins <jya@ieee.org> wrote:

>robert bristow-johnson wrote: >> in article AaadnfuiMfkDneXenZ2dnUVZ_sudnZ2d@rcn.net, Jerry Avins at >> jya@ieee.org wrote on 11/13/2005 22:12: >> >> >>>A Gray code is one in which -- with a single exception -- codes for >>>adjacent states differ by only one bit. >> >> >> ??? >> >> what's that single exception, Jerry? > >Wraparound.
Then we're talking about different things (said he jumping into the discussion.) All the gray codes I've used so far have no such exception. An asynchronous FIFO pointer synchronization would get very upset if there were such an exception and would fail consistently when it occured. The following code doesn't have an exception: 000 001 011 010 110 111 101 100