Tag changed to EE, again. Folks, can we please use the correct tags? I would like to shut off OT also as I don't want the annoying kid screaming during dinner over pointless discussions about what is knowable, or political rants about the Soviet Union. However all too often there is good stuff mistagged on OT. RF transmission and reception is clearly a EE issue. Why the %$*##^* wasn't it tagged like that in the first place!? I also hereby encourage James to be a bit more restrictive with OT. Some off topic conversations can be interesting, but threads where people aspouse their world views and nothing is (or ever could) be decided are annoying. And there is definitely a double standard. Most such conversations are banned, except for when James gets to vent on his pet peaves about global wealth and power and who gets to do onto whom. I think whether a topic is about something "unknowable" is a difficult and too subjective a standard. The ones that irritate me I guess are when people talk about their world view, and there is nothing to resolve. I don't know how to quantify that, but I think there is something in there that could be a better yardstick than "unknowable". Anyway, back to your regularly scheduled PICList. Jose Da Silva wrote: > FSK would be preferable if you have to deal with long strings of 1s or > 0s, this way you tend to have 50%high/50%low. No, FSK is on 100% of the time when sending data. FSK stands Frequency Shift Keying. This means the transmitter is always on the data is encoded in frequency changes of the carrier. In other words, it's a form of FM (frequency modulation). The simplest form is two frequencies, one for a 1 and the other for a 0. Unless these frequencies are very precisely controlled, you can have a similar problem to carrier keyed AM in the data slicer. If the receiver adapts to the 0 and 1 levels, it needs to regularly see both a 1 and a 0 to know where to draw the line between them. Therefore the need for a binary encoding scheme to guarantee frequent 0 and 1 levels in independent accross several carrier modulation schemes, including many forms of FSK. > AM tends to drift to > either high or low (depending on how you tuned your circuit). For > example, say your circuit is usually 5v for nothing sent, then when you > send a long string of 0s, you'll note your signal drifts back towards > 5v despite fact you continue to send 0s. This is not a characteristic of AM, but of any scheme where the distinction between 1 and 0 needs to be determined adaptively. This is pretty much necessary for all AM modulation types because signal strength can vary over a wide range for other reasons than the deliberate modulation, like distance, transmitter power, obsorption, etc. This also true for FSK demodulation when the two frequencies are close enough that they are within the drift and accuracy of the transmitter and receiver to distinguish one from the other by itself. > I noticed in Olin's reply > (tag changed to EE he speaks of manchester encoding, but it's still a > form of 50%high/50%low which is what you would want to do, but as this > is a project under the fun-factor, choose what you like. Manchester encoding and decoding is very simple. It is a very good scheme for allowing the receiver to discriminate between high and low because the level averages to 1/2 every bit time. A simple technique is a low pass filter and a comparator as long as you add enough of a preamble to each message to let the low pass filter settle before sending any real data. There is no requirement that the average bit value be 1/2. All that is really needed is for the receiver to see the 1 and 0 levels often enough. the receiver gets more complicated as "often enough" gets longer. For example, another scheme separately captures peaks and valleys of the received signal strength, then uses a blending of these as the 0/1 discrimination threshold. I've seen UART outputs used to directly enable/disable a carrier. The start and stop bits guaranteed that each level would occur at least once in every 10 bits. Several bytes of preamble were needed to get the analog filter and data slicer going. These bytes were chosen to cause a square wave at half the bit rate to make this easier. > For what you want to do, you may find it simple to send FSK, maybe > 2400hz for a 0 and 4800hz for a 1. Watch for 0->1 or 1->0 crossings. I think you'll find that AM carrier keying will be "simpler" all around. You have some choice about pushing more complexity onto the transmitter or receiver. The easiest transmitter is to have a PIC UART output controll the carrier enable of an AM transmitter. This requires separate peak and valley picking in the receiver since the average level can be anywhere from 1/10 to 9/10. Manchester encoding requires a little more logic in the transmitter but makes the analog data slicer easier in the receiver. ****************************************************************** Embed Inc, Littleton Massachusetts, (978) 742-9014. #1 PIC consultant in 2004 program year. http://www.embedinc.com/products -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist