Prev: FFT in OpenCV
Next: TalkThrough ADSP BF533
From: John Larkin on 24 Apr 2006 15:04 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 24 Apr 2006 15:09 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 24 Apr 2006 15:11 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 24 Apr 2006 16:08 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 24 Apr 2006 16:33
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 |