RF ASK Preamble problem

Discussion in 'Embedded Systems and Microcontrollers' started by allahjane, Nov 2, 2013.

  1. allahjane

    Thread Starter Member

    Sep 19, 2012
    Hi, I have these ask 434 mhz RF modules with atmega16 @11.0592MHz (for error free uart)

    When I transmit a data packet I need very large amount of preamble bytes (at least 10 to 15 ) all 0x55 or 0x54 ! otherwise the receiver can't adjust its gain enough to see the transmission


    I want to avoid the large preamble size as it increases overhead and decreases bandwidth!

    If I transmit some data continuously to maintain sync between the transmitter and receiver then it works fine but this method consumes lot of power as transmitter needs to be running all the time

    What should I do?

    Will Large antennas solve the problem?
  2. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    The gain will adjust quicker if you start the preamble with solid carrier, even just for 10mS or 20mS is usually enough to get the next bytes synced.

    There's some info on this page, that comes from simple tests;

    It should not need 10-15 preamble bytes. Try a burst of solid carrier first, or transmit the first byte or two as 0xFF (I used 0xF8) instead of 0x55.

    Also add a couple of extra stop bits between bytes, this extra carrier transmission helps adjust the gain quicker AND gives better/easier sync of the following bytes;

  3. allahjane

    Thread Starter Member

    Sep 19, 2012


    I finally solved it using the details you gave me!

    the solution was to lower the BAUD rate to 2400bps and use two stop bits instead of one.

    Collectively what it did was increase the time for the receiver to adjust its signal gain level.

    Thanks a tonn for that link!
  4. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    You are welcome. Glad to be of help. :)
  5. Do_Not_Give_Up

    New Member

    Jul 13, 2015
    Just a simple question about a signal's preamble? I am working with Collett Communication's Groomer Warning Beacon that broadcasts an analog NBFM signal @ 910.5xx MHz that is comprised of two repeating audio tones (Dee, Daa, Dee, Daa,...). In my search for a suitable analog FM receiver, the discussion came up about using the signal's preamble to verify that the receiver should demodulate that incoming signal or not. This is an analog signal, would there really be a preamble in an analog signal? If so, how would I decipher it in the Rx?

    Thanking you in advance,

  6. Papabravo


    Feb 24, 2006
    In a digital signal the purpose of the preamble is to establish bit synchronization and clock recovery first and then determine where the byte boundaries are located. In your signal with the two tones all you need to establish is that the tones are the correct frequency and last for the appropriate duration. Your signal has both analog and digital characteristics and the preamble is indistinguishable from the rest of the message. In order to determine the reception of the beacon you need a frequency detector with three digital outputs, { f1, f2, nothing}. Then you need a timer the measures the time period of an on signal. For example if the beacon transmits f1 for 1 millisecond and f2 for 2 milliseconds you might get a sequence of outputs like
    1. nothing, 2 milliseconds
    2. f2, 2 milliseconds
    3. f1, 1 millisecond
    4. f2, 2 milliseconds
    5. f1, 1 millisecond
    6. nothing, 2 milliseconds
    Only steps 3 & 4 represent a complete cycle of f1 & f2
    Steps 2 & 5 are fragments of a complete cycle

    Does that help?