Gnuradio DAB constellation using gr-dab and USRP
From Opendigitalradio
Plot in live the constellation diagram of a received DAB signal using gr-dab and USRP.
Contents |
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
Usage
Use -h for basic usage:
dab_rx_constellation.py -h
Example for plotting the constellation of an ensemble on 223.936MHz:
dab_rx_constellation.py -R A -f 223936000 -c -e -S
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)