DSPRelated.com
Forums

ping: Jim Thompson

Started by Bo April 24, 2006
Hello Jim,

> > 1200 baud FSK changes frequency in a _single_ cycle, so period-type > demodulation goes to crap quickly in the presence of noise. >
Zero-crossers are pretty much a thing of the past here, just like they are for medical ultrasound Doppler. You can do it in the digital domain these days. All it takes is a good uC such as the MSP430. But not a version with a puny 10 or 12 bit converter. They offer some that convert to 16 bits. Regards, Joerg http://www.analogconsultants.com
On Mon, 24 Apr 2006 19:58:19 GMT, Joerg
<notthisjoergsch@removethispacbell.net> wrote:

>Hello Jim, > >> >> 1200 baud FSK changes frequency in a _single_ cycle, so period-type >> demodulation goes to crap quickly in the presence of noise. >> > >Zero-crossers are pretty much a thing of the past here, just like they >are for medical ultrasound Doppler. You can do it in the digital domain >these days. All it takes is a good uC such as the MSP430. But not a >version with a puny 10 or 12 bit converter. They offer some that convert >to 16 bits. > >Regards, Joerg > >http://www.analogconsultants.com
Yep. Why do it with an analog discriminator when you can do it with DSP... nobody will notice the performance degradation... they're so young they don't even know what they should be getting ;-) ...Jim Thompson -- | James E.Thompson, P.E. | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona Voice:(480)460-2350 | | | E-mail Address at Website Fax:(480)460-2142 | Brass Rat | | http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.
Joerg <notthisjoergsch@removethispacbell.net> wrote:

>Hello Bo, > > >> I was perusing your website and happened upon your patent regarding >> demodulating of FSK. Is this the currently easiest/best way to decode FSK? >> Or would I be better off doing with SW and microcontroller? >> > >As Jim said, much of this is now done in firmware. Look at DTMF decoder >app notes in the TI MSP430 section or at other uC manufacturers. In my >experience the lion's share of this job is to provide a nice matched >filter for the FSK tones. Steep yet good pulse response, good time
Sounds complicated and costly in CPU time / resources. A few years ago I implemented the method from figure 3 on the following web page in an FPGA: http://www-inst.eecs.berkeley.edu/~ee20/sp97/laboratories/12_BFSK/lab12.html The filter can be a simple 2nd order low-pass. Despite the simplicity it works very well as a caller-id decoder. -- Reply to nico@nctdevpuntnl (punt=.) Bedrijven en winkels vindt U op www.adresboekje.nl
Hello Jim,

>> >>>1200 baud FSK changes frequency in a _single_ cycle, so period-type >>>demodulation goes to crap quickly in the presence of noise. >>> >> >>Zero-crossers are pretty much a thing of the past here, just like they >>are for medical ultrasound Doppler. You can do it in the digital domain >>these days. All it takes is a good uC such as the MSP430. But not a >>version with a puny 10 or 12 bit converter. They offer some that convert >>to 16 bits. >> > Yep. Why do it with an analog discriminator when you can do it with > DSP... nobody will notice the performance degradation... they're so > young they don't even know what they should be getting ;-) >
No need for a real DSP. A uC in the buck-fifty class can do the whole filter, demod plus UI and whatever else folks want in that module. With next to nothing in external part. As long as the firmware designer doesn't do anything stupid like forgetting that there can be substantial out-of-band noise. That is what the designers of my answering machine probably did :-( Regards, Joerg http://www.analogconsultants.com
Hello Nico,

>> >>>I was perusing your website and happened upon your patent regarding >>>demodulating of FSK. Is this the currently easiest/best way to decode FSK? >>>Or would I be better off doing with SW and microcontroller? >> >>As Jim said, much of this is now done in firmware. Look at DTMF decoder >>app notes in the TI MSP430 section or at other uC manufacturers. In my >>experience the lion's share of this job is to provide a nice matched >>filter for the FSK tones. Steep yet good pulse response, good time > > Sounds complicated and costly in CPU time / resources. >
Not at all. This is a fairly simple realization: http://focus.ti.com/lit/an/slaa037/slaa037.pdf Or look at this, where they crammed eight concurrently running filters into a really old and slow MSP430: http://focus.ti.com/lit/an/slaae16/slaae16.pdf With today's editions of the same controller you'd have plenty of CPU horse power left for other stuff. Heck, if you took one from the F4xx series you could run a bare-bones web host on it in parallel.
> A few years ago I implemented the method from figure 3 on the > following web page in an FPGA: > > http://www-inst.eecs.berkeley.edu/~ee20/sp97/laboratories/12_BFSK/lab12.html > > The filter can be a simple 2nd order low-pass. Despite the simplicity > it works very well as a caller-id decoder. >
FPGA are another option. I never really warmed up to those because they were a bit overpriced in the early 90's and obsoleted way too fast for my taste. Usually I need something that my clients can keep producing for a couple of decades. Which is why I do many things analog :-) Regards, Joerg http://www.analogconsultants.com
Joerg wrote:
> Hello Jim, > >> >> 1200 baud FSK changes frequency in a _single_ cycle, so period-type >> demodulation goes to crap quickly in the presence of noise. >> > > Zero-crossers are pretty much a thing of the past here, just like they > are for medical ultrasound Doppler. You can do it in the digital domain > these days. All it takes is a good uC such as the MSP430. But not a > version with a puny 10 or 12 bit converter. They offer some that convert > to 16 bits.
What's wrong with a 12 bit converter? The entire telephone network uses 12 bits. Steve
Jim Thompson wrote:

> On Mon, 24 Apr 2006 10:23:56 -0500, "Bo" <bo@cephus.com> wrote: > > >>Jim, >> >>I was perusing your website and happened upon your patent regarding >>demodulating of FSK. Is this the currently easiest/best way to decode FSK? >>Or would I be better off doing with SW and microcontroller? > > > Most now use SW to decode FSK, but the analog approach generally > yields better performance in low signal-to-noise situations. When I > designed that scheme I was working in the dark ages with acoustic-muff > coupling to telephones running at 300-1K Baud ;-) >
I disagree with this. If you try to simulate an analog circuit in the digital domain then you have to sample very fast indeed to get similar performance levels. If you start from scratch, however, you can get just as close to the theoretical optimum with digital as you can with analog. In some cases the 'optimal' detector would be absurdly complex and subject to all sorts of mismatch and drift in analog circuitry, yet is quite practical to implement in software.
> >>I was thinking that a comparator with hysteresis to minimize noise could be >>used to 'square up' the input signal and then I could just use a timer on >>the uC to count transitions over the bit time. The freqs are 1562.5 and >>2083.3 with 520.83 bit/sec rate--- giving 3 or 4, respective, transitions >>per bit time. Is this a good way to do it or is there another easier/better >>way? > > > Using a comparator on analog signals often aggravates the noise. >
In low noise situations, yes. Only if you have a strong signal would you want to use something like a comparator followed by a discriminator.
> >>Thanks, >> >>Bo >> >>PS. Thanks to Tim Wescott for pointing out that you are--not >>comp.arch.embedded...where I originally posted. >> > > > > ...Jim Thompson
-- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/
Joerg <notthisjoergsch@removethispacbell.net> wrote:

>Hello Nico, > >>> >>>>I was perusing your website and happened upon your patent regarding >>>>demodulating of FSK. Is this the currently easiest/best way to decode FSK? >>>>Or would I be better off doing with SW and microcontroller? >>> >>>As Jim said, much of this is now done in firmware. Look at DTMF decoder >>>app notes in the TI MSP430 section or at other uC manufacturers. In my >>>experience the lion's share of this job is to provide a nice matched >>>filter for the FSK tones. Steep yet good pulse response, good time >> >> Sounds complicated and costly in CPU time / resources. >> > >Not at all. This is a fairly simple realization: >http://focus.ti.com/lit/an/slaa037/slaa037.pdf
This is exactly the same method I pointed to :-)
>Or look at this, where they crammed eight concurrently running filters >into a really old and slow MSP430: >http://focus.ti.com/lit/an/slaae16/slaae16.pdf
Not bad, but this DTMF detector won't work reliably (it won't pass the talk-off tests). Been there, done that. One customer had a female employee who could say at least one '5' DTMF digits in every sentence. -- Reply to nico@nctdevpuntnl (punt=.) Bedrijven en winkels vindt U op www.adresboekje.nl
On 4/25/06 12:14 AM, in article e2ki8j$cuh$1@home.itg.ti.com, "Steve
Underwood" <steveu@dis.org> wrote:

> Joerg wrote: >> Hello Jim, >> >>> >>> 1200 baud FSK changes frequency in a _single_ cycle, so period-type >>> demodulation goes to crap quickly in the presence of noise. >>> >> >> Zero-crossers are pretty much a thing of the past here, just like they >> are for medical ultrasound Doppler. You can do it in the digital domain >> these days. All it takes is a good uC such as the MSP430. But not a >> version with a puny 10 or 12 bit converter. They offer some that convert >> to 16 bits. > > What's wrong with a 12 bit converter? The entire telephone network uses > 12 bits. > > Steve
No, the telco network is 8 bits, 8000 times each second. Don
Don Bowey wrote:
> On 4/25/06 12:14 AM, in article e2ki8j$cuh$1@home.itg.ti.com, "Steve > Underwood" <steveu@dis.org> wrote: > > >>Joerg wrote: >> >>>Hello Jim, >>> >>> >>>>1200 baud FSK changes frequency in a _single_ cycle, so period-type >>>>demodulation goes to crap quickly in the presence of noise. >>>> >>> >>>Zero-crossers are pretty much a thing of the past here, just like they >>>are for medical ultrasound Doppler. You can do it in the digital domain >>>these days. All it takes is a good uC such as the MSP430. But not a >>>version with a puny 10 or 12 bit converter. They offer some that convert >>>to 16 bits. >> >>What's wrong with a 12 bit converter? The entire telephone network uses >>12 bits. >> >>Steve > > > No, the telco network is 8 bits, 8000 times each second.
The eight bits are derived via A-law or mu-law from 12-bit data. 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;