DBPSK and Carrier Suppressed or Not?

I’m putting together a DBPSK Tx and Rx and running into problems when
the
modulated signal hits the USRP. When I receive the signal on the USRP
there’s a very pronouced carrier…I’ve confirmed with a spectrum
analyser
that the signal on the FFT is the one that I’m recieving. It seems to
me
that the sidebands should be close to the highest amplitute and the
carrier
should be suppressed…is this correct? Shouldn’t the output of the
DPSK
modulator FFT plot look very similar to the FFT plot on the RX side of
the
usrp? I’m modeling the block connections after the benchmark samples
in
the digital example section. I put a channel filter inline with the
usrp
and the dpsk demod block just like the example…do I need to put more
filtering in place to suppress the carrier? If so, do you have any
examples?

If I take the output of the modulator and go directly to the demod thru
the
channel filter, data flows just fine(bypassing the usrp).

I’m only using one usrp and taking the output of the TX via coax and
going
into the RX side…that shouldn’t make a difference should it?

Any thoughts?

Cheers,
Jody

On Wed, Mar 18, 2009 at 02:55:41PM -0400, w w wrote:

filtering in place to suppress the carrier? If so, do you have any
Cheers,
Jody

Before writing your own, did you take a look at the implementation of
dbpsk that’s already in the tree?

See the -m dbpsk option below

$ ./benchmark_tx.py --help
Usage: benchmark_tx.py [options]

Options:
  -h, --help            show this help message and exit
  -m MODULATION, --modulation=MODULATION
      Select modulation from: cpm, d8psk, qam8, dbpsk,
      dqpsk, gmsk [default=gmsk]
  -s SIZE, --size=SIZE  set packet size [default=1500]
  -M MEGABYTES, --megabytes=MEGABYTES
      set megabytes to transmit [default=1.0]
  --discontinuous       enable discontinous transmission (bursts of 

5 packets)
–from-file=FROM_FILE
use file for packet contents
-f FREQ, --freq=FREQ set Tx and/or Rx frequency to FREQ
[default=none]
-r BITRATE, --bitrate=BITRATE
specify bitrate. samples-per-symbol and interp/decim
will be derived.
-w WHICH, --which=WHICH
select USRP board [default=0]
-T TX_SUBDEV_SPEC, --tx-subdev-spec=TX_SUBDEV_SPEC
select USRP Tx side A or B
–tx-amplitude=AMPL set transmitter digital amplitude: 0 <= AMPL
< 32768
[default=12000]
-v, --verbose

  Expert:

-S SAMPLES_PER_SYMBOL, --samples-per-symbol=SAMPLES_PER_SYMBOL
set samples/symbol [default=none]
–tx-freq=FREQ set transmit frequency to FREQ [default=none]
-i INTERP, --interp=INTERP
set fpga interpolation rate to INTERP [default=none]
–log Log all parts of flow graph to file (CAUTION: lots
of
data)
–use-whitener-offset
make sequential packets use different whitening
–excess-bw=EXCESS_BW
set RRC excess bandwith factor [default=0.35] (PSK)
–no-gray-code disable gray coding on modulated bits (PSK)
–bt=BT set bandwidth-time product [default=0.35] (GMSK)
-B FUSB_BLOCK_SIZE, --fusb-block-size=FUSB_BLOCK_SIZE
specify fast usb block size [default=0]
-N FUSB_NBLOCKS, --fusb-nblocks=FUSB_NBLOCKS
specify number of fast usb blocks [default=0]


From: Eric B. [email protected]
To: w w [email protected]
Cc: [email protected]
Sent: Wednesday, March 18, 2009 4:30:04 PM
Subject: Re: [Discuss-gnuradio] DBPSK and Carrier Suppressed or Not?

 If I take the output of the modulator and go directly to the demod thru the
channel filter, data flows just fine(bypassing the usrp).

I’m only using one usrp and taking the output of the TX via coax and going
into the RX side…that shouldn’t make a difference should it?

Any thoughts?

Cheers,
Jody

Before writing your own, did you take a look at the implementation of
dbpsk that’s already in the tree?

See the -m dbpsk option below

  $ ./benchmark_tx.py --help
  Usage: benchmark_tx.py [options]

  Options:
   -h, --help      show this help message and exit
   -m MODULATION, --modulation=MODULATION
           Select modulation from: cpm, d8psk, qam8, dbpsk,
           dqpsk, gmsk [default=gmsk]
   -s SIZE, --size=SIZE set packet size [default=1500]
   -M MEGABYTES, --megabytes=MEGABYTES
           set megabytes to transmit [default=1.0]
   --discontinuous   enable discontinous transmission (bursts of 5
packets)
   --from-file=FROM_FILE
           use file for packet contents
   -f FREQ, --freq=FREQ set Tx and/or Rx frequency to FREQ
[default=none]
   -r BITRATE, --bitrate=BITRATE
           specify bitrate. samples-per-symbol and interp/decim
           will be derived.
   -w WHICH, --which=WHICH
           select USRP board [default=0]
   -T TX_SUBDEV_SPEC, --tx-subdev-spec=TX_SUBDEV_SPEC
           select USRP Tx side A or B
   --tx-amplitude=AMPL set transmitter digital amplitude: 0 <= AMPL
< 32768
           [default=12000]
   -v, --verbose

   Expert:
   -S SAMPLES_PER_SYMBOL, --samples-per-symbol=SAMPLES_PER_SYMBOL
           set samples/symbol [default=none]
   --tx-freq=FREQ   set transmit frequency to FREQ [default=none]
   -i INTERP, --interp=INTERP
           set fpga interpolation rate to INTERP [default=none]
   --log       Log all parts of flow graph to file (CAUTION:
lots of
           data)
   --use-whitener-offset
           make sequential packets use different whitening
   --excess-bw=EXCESS_BW
           set RRC excess bandwith factor [default=0.35] (PSK)
   --no-gray-code   disable gray coding on modulated bits (PSK)
   --bt=BT      set bandwidth-time product [default=0.35] (GMSK)
   -B FUSB_BLOCK_SIZE, --fusb-block-size=FUSB_BLOCK_SIZE
           specify fast usb block size [default=0]
   -N FUSB_NBLOCKS, --fusb-nblocks=FUSB_NBLOCKS
           specify number of fast usb blocks [default=0]

Hi, w w

You donot need to add other channel filters because there is a rrc
filter as well as a channel filter in DEMOD.
Pleas note that: you should decrease the TX power before connecting them
via coax.
On Wed, Mar 18, 2009 at 02:55:41PM -0400, w w wrote:

filtering in place to suppress the carrier? If so, do you have any
examples?

Â
Bill

As a follow up…I did some popping and swapping and found that the RFX
900
board was bad. I put in a RFX 2400 card and the the very pronouced
carrier
I saw before dissappeared and the signal transmitted out of the RFX brd
looked liked the signal coming out of the modulator. I was able send a
text file over the RFX brd and rx it on the other side. I guess there
is
nothing that can be done to bring the other board back online…I didn’t
see
any pots on it.

Even though I was able to transmit a text file, parts of it was garbled
on
the other end…any suggestions for tighting things up to take out the
garble? This test took place on one usrp with two RFX 2400 brds and
using a
cable to connect the transmit side of one card to the receive side of
the
other card. I will next try between two usrps via coax and then OTA.

Also I had to take out the channel filter because the signal out of it
would
start up and then would die after about 10 to 20 seconds ( Channel
filter =
FFT filter -> Decimanation=1, TAPS = lowpass(1,2,1, .5, WIN_HAMMING))
With
the RFX 900 I was tranmitting at 800Mhz and with the RFX 2400 I’m
tranmitting at 2.5 GHz…Mod - DBPSK…Any thoughts or suggestions?

Cheers,
Jody

On Wed, Mar 18, 2009 at 5:23 PM, Bill S.

As another follow up, I fixed the garbled text problem by putting an AGC
block on the RX side.