Searching \ for '[EE]: Building a quick-and-dirty wireless modem (w' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page:
Search entire site for: 'Building a quick-and-dirty wireless modem (w'.

Exact match. Not showing close matches.
PICList Thread
'[EE]: Building a quick-and-dirty wireless modem (w'
2005\11\28@080234 by olin piclist

face picon face
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.

2005\11\28@101621 by Gerhard Fiedler

picon face
Olin Lathrop wrote:

> 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.  

You can work around this if you restrict the 8bit data you send (which
reduces your effective symbol rate of course, but Manchester does that


More... (looser matching)
- Last day of these posts
- In 2005 , 2006 only
- Today
- New search...