Gnuradio DAB constellation using gr-dab and USRP

From Opendigitalradio
(Difference between revisions)
Jump to: navigation, search
(New page: Plot in live the constellation diagram of a received DAB signal using gr-dab and USRP. ===Pre-requisites=== *USRP or baseband recording from a file **WBX daughterboard or modified RFX40...)
 
(dab_rx_constellation.py patch)

Revision as of 00:02, 11 February 2010

Plot in live the constellation diagram of a received DAB signal using gr-dab and USRP.

Pre-requisites

  • USRP or baseband recording from a file
    • WBX daughterboard or modified RFX400 (TVRX daughterboard has too much phase noise and cannot be used)
  • Linux PC with Gnuradio source (>=3.2)
  • gr-dab tools

Installation

  • Download source code of gnuradio and gr-dab tools
  • Patch peak detector of gnuradio source code with patch/not-applied-in-trunk of gr-dab
  • Patch "dab_rx_constellation.py" with patch below
  • Configure, compile and install gnuradio and then gr-dab tools.
    • If you want to use a separate gnuradio installation from the original one, follow steps here to have multiple gnuradio installation on your machine

dab_rx_constellation.py patch

Index: dab_rx_constellation.py
===================================================================
--- dab_rx_constellation.py    (revision 203)
+++ dab_rx_constellation.py    (working copy)
@@ -91,8 +91,8 @@
        self.demod = dab.ofdm_demod(self.dab_params, self.rx_params, verbose=self.verbose)

        self.v2s = gr.vector_to_stream(gr.sizeof_gr_complex, self.dab_params.num_carriers)
-        self.scope = scopesink2.constellation_sink(self.panel, title="DAB constellation sink", sample_rate=self.dab_params.sample_rate, frame_decim=3)
-        self.scope.win.set_marker("plus")
+        self.scope = scopesink2.scope_sink_c(self.panel, title="DAB constellation sink", sample_rate=self.dab_params.sample_rate, frame_decim=3)
+        # self.scope.win.set_marker("plus")

        # self.sink = gr.null_sink(gr.sizeof_char*self.dab_params.num_carriers/4)
        self.trigsink = gr.null_sink(gr.sizeof_char)
Personal tools