discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Constant carrier digital transmission


From: Ed Criscuolo
Subject: Re: [Discuss-gnuradio] Constant carrier digital transmission
Date: Thu, 19 Mar 2009 14:45:18 -0400
User-agent: Thunderbird 2.0.0.18 (Macintosh/20081105)

William Harding wrote:
I would like to implement a module which keeps a constant carrier running and transfers packets of data at different times. In other words, using ASK (or OOK) modulation, I would like to always be transmitting ones (carrier is at full amplitude) except for certain periods where I will "pause" the carrier (carrier amplitude is zero or some smaller amplitude).

How can I do this without supplying an "infinite" number of ones (with zeros inter-weaved where I want them) in my packets? I would like to be able to have a constant "full carrier amplitude" until I call some method like "send_packet(data)."

Any thoughts/suggestions/examples?  Corrections in my thinking?


Thanks.


Generally, this approach is a bad idea, as it intoduces a large
dc-offset in the baseband signal.  This can vastly complicate
the bitslicing needed at the receiver to reconstitute the
1's and 0's.  I speak from experience, where we designed a
spacecraft comm system that included such a dc bias, and we are
suffering with the results to this day.

The usual approach to this is twofold.

First, in order to eliminate the dc-bias, you should use a randomizer
on the bitstream just before it goes to the modulator, and a matching
descrambler on the receiver.

Second, what you are really talking about is the difference between
synchronous and asynchronous protocols.  In a synchronous protocol,
the link is always kept busy transmitting a bitstream, even when there's
no packet data to send.  One of the most widely used synchronous
protocols is HDLC.  HDLC sends a continuous stream of "flag" bytes
when there's no data to send.  This allows your receiver to maintain
lock on the data clock at all times, even there's no packets.

There's an example of HDLC sink and source blocks in CGRAN, in
the GMSK Spacecraft Groundstation project.  The hdlc source block
takes packets in from the network and takes care of generating
any flag bytes needed in order to produce a continuous bitstream.
The hdlc sink block does the reverse, detecting and decoding the hdlc
packets, and puting their payloads out on the network.

@(^.^)@  Ed







reply via email to

[Prev in Thread] Current Thread [Next in Thread]