From: John Larkin on
On Mon, 24 Apr 2006 11:51:32 -0700, Jim Thompson
<To-Email-Use-The-Envelope-Icon(a)My-Web-Site.com> wrote:

>On Mon, 24 Apr 2006 11:47:43 -0700, John Larkin
><jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote:
>
>>On Mon, 24 Apr 2006 16:50:27 GMT, Joerg
>><notthisjoergsch(a)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
>>>domain behavior and unconditional stability. Wave digital filters are
>>>quite efficient here. The rest is pretty trivial, usually. Unless you
>>>get into esoteric modulation schemes.
>>>
>>>Regards, Joerg
>>>
>>>http://www.analogconsultants.com
>>
>>
>>Wideband FSK is nontrivial to decode in software. The Bell 202 spec
>>was 1200 baud async, shifting between 1200 to 2200 Hz, so you get very
>>few edges to work with. A decent analog FSK decoder will deliver very
>>nice, low jitter 1200 baud serial data here.
>>
>>John
>
>Yep. My circuit simply implements the classic "S-curve" discriminator
>in an active filter manner. Performance in a noisy environment is
>great!
>
> ...Jim Thompson

I like using a 90+-x degree phase shifter (which turns out to be a
very peaky 2-pole lowpass filter) followed by an xor, then a lowpass,
then a comparator.

But FSK is going away. QAM and constellations and such are faster and
easier to decode digitally.

John

From: Jim Thompson on
On Mon, 24 Apr 2006 12:04:26 -0700, John Larkin
<jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote:

>On Mon, 24 Apr 2006 11:51:32 -0700, Jim Thompson
><To-Email-Use-The-Envelope-Icon(a)My-Web-Site.com> wrote:
>
>>On Mon, 24 Apr 2006 11:47:43 -0700, John Larkin
>><jjlarkin(a)highNOTlandTHIStechnologyPART.com> wrote:
>>
>>>On Mon, 24 Apr 2006 16:50:27 GMT, Joerg
>>><notthisjoergsch(a)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
>>>>domain behavior and unconditional stability. Wave digital filters are
>>>>quite efficient here. The rest is pretty trivial, usually. Unless you
>>>>get into esoteric modulation schemes.
>>>>
>>>>Regards, Joerg
>>>>
>>>>http://www.analogconsultants.com
>>>
>>>
>>>Wideband FSK is nontrivial to decode in software. The Bell 202 spec
>>>was 1200 baud async, shifting between 1200 to 2200 Hz, so you get very
>>>few edges to work with. A decent analog FSK decoder will deliver very
>>>nice, low jitter 1200 baud serial data here.
>>>
>>>John
>>
>>Yep. My circuit simply implements the classic "S-curve" discriminator
>>in an active filter manner. Performance in a noisy environment is
>>great!
>>
>> ...Jim Thompson
>
>I like using a 90+-x degree phase shifter (which turns out to be a
>very peaky 2-pole lowpass filter) followed by an xor, then a lowpass,
>then a comparator.
>
>But FSK is going away. QAM and constellations and such are faster and
>easier to decode digitally.
>
>John

Those who bother to study my patent will see that I very cleverly
derive the 90? directly from the gyrator-based filter... thus all the
filtering and shifting is done simultaneously ;-)

...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.
From: Jerry Avins on
Jim Thompson wrote:

...

> Using a comparator on analog signals often aggravates the noise.

Even with enough hysteresis?

...

Jerry
--
Engineering is the art of making what you want from things you can get.
???????????????????????????????????????????????????????????????????????
From: Nico Coesel on
Joerg <notthisjoergsch(a)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(a)nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
From: Joerg on
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
First  |  Prev  |  Next  |  Last
Pages: 1 2 3
Prev: FFT in OpenCV
Next: TalkThrough ADSP BF533