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)