Hi Niel, Please let me know of your findings as I will be implementing this as well, in the near future. I was thinking of sending packets of between 10 to 50 bytes. Each packet would have a start bit, data, crc, and stop bit. I was thinking of doing a start byte and stop byte instead of only a bit width to avoid misinterpreting noise as a start. Like you, I was thinking of syncing up with the start bit/byte and then sampling in the middle of the next bit. Don't know what to do about noise - perhaps sampling more than once for each bit and then determining the level of the bit by choosing the majority level (e.g. you sample 4x for each bit, and if you sample 3 highs and 1 low, then chances are the bit is high and the low sample was due to noise). I guess this would be determined by the speed of your transmission and the speed of your processor. I was thinking of using the Linx modules (another thread that just started). Good luck! -Randie rohtsji@glenayre.com > From Fri Mar 6 10:06:47 1998 > Encoding: 19 TEXT > Date: Fri, 6 Mar 1998 14:52:00 PST > From: "STRONG, Neil -Syntegra" > > Subject: Decoding 12 bit radio data using PIC > To: PICLIST@MITVMA.MIT.EDU > > I've written PIC code to decode a serial 12 bit word received via a radio > module. > > My problem is noise - I'm decoding the signal by looking for a start bit > of 2ms high, then sampling in the middle of the data bit, then > re-synchronising on the start of the next data bit by waiting for the > signal to go high > > Unfortunately, if there is a noise spike in the middle of all this I see > it as a state change and lose synchronisation. > > Anyone got advice on how signals of this sort are best processed - am I > approaching this from the wrong direction - should I be measuring the > length of each pulse and throwing away anything shorter than a data bit? > > Your help would be appreciated > Neil Strong > Neil.Strong@syntegra.bt.co.uk >