At 05:48 AM 10/5/2003 -0500, michael brown wrote: >David VanHorn wrote: >> At 04:59 AM 10/5/2003 -0500, michael brown wrote: >> >>> Hello all, >>> >>> In my unending struggle to decode the 1200 baud FSK tones >>> constituting Caller-ID, I've made progress but have some problems. >>> The goal is to decode the FSK data by measuring the period of the >>> tones being sent from the phone company. The two tones being >>> detected are 1200hz and 2200hz. Using the CCP module I can now >>> successfully measure the period of a full cycle and determine the >>> current tone. The problem lies in the fact that at 1200 baud, I get >>> exactly one full wave of the 1200hz MARK tone and 1.83 cycles of the >>> 2200hz SPACE tone per bit time. >> >> So set your timer for 1.4 cycles of 2200, and if the int happens >> early it's 2200, and late it's 1200. > >That's sorta what I'm doing now if I understand you correctly, 1600hz is >the dividing line. I have no trouble distinguishing 1200 and 2200, it's >the timing of my output bit that's giving me fits. I guess the problem >is that I don't really know exactly what happens when a tone transition >occurs. I mean do they do anything to insure a zero crossing occurs >near a bit time milepost? Does it compress or stretch the waveform? >Obviously when a transition occurs, some kind of FM or PM occurs. I'm >wondering how I can see this in software using the CCP module. I used to know this.. :) I think the transition starts on a zero crossing. You may see half-cycles of a given tone, but I'm not sure. Check an encoder chip's spec. >> Look at the DTMF tones. Not an integer relationship in the bunch. > >This is intentional, for the filtering reasons mentioned above, correct? Yes. -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics