Digital Audio Broadcast (DAB), anybody running gr-dab?

Hi all!

Yesterday I tried to investigate on DAB reception. I have searched the
list archive for discussions about DAB in reverse chronological order.
Unfortunately It did not really help out.

I stumbled across two gnuradio-related projects [1] and [2]. [2] has
last change several years ago. [1] has last change 7 months ago and is
written by Andreas Müller (put in BCC) who also wrote a semester thesis
[3] about DAB - Software Receiver Implementation which is quite good!
Also stumbled across references to [4] which is no longer available.

I tried to build an run the scripts in ./apps. I was not able to receive
successfully:

The execution of usrp_dab_rx.py returned several warnings:

gr::buffer::allocate_buffer: warning: tried to allocate
4 items of size 16000. Due to alignment requirements
32 were allocated. If this isn’t OK, consider padding
your structure to a power-of-two bytes.
On this platform, our allocation granularity is 4096 bytes.

This might be okay, but I did not allocate where this came from.

Afterwards I get several errors saying “FIB CRC error” coming from
./lib/fib_sink_vb_impl.cc function
gr::dab::fib_sink_vb_impl::process_fib. [“FIB” standing for Fast
Information Blocks that make up the Fast Information Channel (“FIC”)]

Verbose mode hints the following phase variance and signal quality:

–> Phase variance: 0.202296033502
–> Signal quality: ======================>----------------------------

Is it still good enough for reception? May the error also be due to the
use of DAB+ instead of DAB because of the use of a different channel
code? I think so.

Can anybody say that he or she is using gr-dab successfully at the
moment? I am not sure if this is an RF reception or software problem.
From my point of view the spectrum rather “looks good”. If required I
could also upload some raw IQ data (old reference to [5] also seems to
be outdated). Or maybe somebody else could also provide samples to
compare?

The hardware I was using: both an USRP N210 and a rtl-sdb dongle with
different antennas and antenna locations.

Just found a note right now: “the patch in
patches/not_applied_in_trunk/gr_peak_detector_XX.cc.t.diff must
be applied to the GNU Radio trunk before building” - is this still the
case? The problem is that I am currently using Gnuradio 3.7.2.1 Debian
packages in Linux Mint.

I am grateful for any hint as there is many parameters that may be
wrong, thanks.

Matthias

[1] https://github.com/andrmuel/gr-dab
[2] https://github.com/gzm0/gr-dab
[3] http://0x7.ch/text/dab-report.pdf
[4]
http://www.zhaw.ch/de/engineering/institute-zentren/zsn/projekte/gnu-radio.html
[5] http://www.opendigitalradio.org/files/dab_mode1_basicrx_2msps.cf.bz2

Hi Matthias,

I stumbled across two gnuradio-related projects [1] and [2]. [2] has last change
several years ago. [1] has last change 7 months ago and is written by Andreas
Müller (put in BCC) who also wrote a semester thesis [3] about DAB - Software
Receiver Implementation which is quite good! Also stumbled across references to
[4] which is no longer available.

I did some work on Andreas’ code 7 months ago to make it work with GNU
Radio 3.7.

This might be okay, but I did not allocate where this came from.

Afterwards I get several errors saying “FIB CRC error” coming from
./lib/fib_sink_vb_impl.cc function gr::dab::fib_sink_vb_impl::process_fib. [“FIB”
standing for Fast Information Blocks that make up the Fast Information Channel
(“FIC”)]

In order to receive something I had to add several arguments.

When I ran it like this:
./rtl_sdr_dab_rx.py -g 10 -c -f 229.072e6 -e -F

It worked. (just checked my shell history)

You need “fine frequency correction” and “equalization” at least, if I
don’t remember wrong.

Can anybody say that he or she is using gr-dab successfully at the moment? I am
not sure if this is an RF reception or software problem. From my point of view the
spectrum rather “looks good”. If required I could also upload some raw IQ data
(old reference to [5] also seems to be outdated). Or maybe somebody else could
also provide samples to compare?

The hardware I was using: both an USRP N210 and a rtl-sdb dongle with different
antennas and antenna locations.

Just found a note right now: “the patch in
patches/not_applied_in_trunk/gr_peak_detector_XX.cc.t.diff must
be applied to the GNU Radio trunk before building” - is this still the case?
The problem is that I am currently using Gnuradio 3.7.2.1 Debian packages in Linux
Mint.

I’ve tried both with RTL-SDR and USRP B200. Both should work fine, N210
as well (although
I haven’t tried).

However, there is still no support for audio reception with Andreas’
code. It basically
just receives information messages on the FIC channel. But for that, the
code works
fine.

If you just make sure you have a good DAB signal, tune into the correct
frequency,
add the right arguments, you should be able to make it work.

Extending the code to support audio reception will be happily
appreciated. I was
intending to do that, but I was a bit overwhelmed back them, and didn’t
get time
for it. It should not be very hard according to Andreas.

I’m not aware of any other GNU Radio code that supports audio reception.
Anyone else?

Good luck!

Cheers,
Ruben

Hello all,

On 26. 08. 15 18:01, Ruben U. wrote:

I’m not aware of any other GNU Radio code that supports audio reception. Anyone
else?

I’m working on the opendigitalradio[1] DAB transmission chain, and I
know of some projects that can receive DAB. Not really GNURadio, but
that could still be useful for you.

There’s SDR-J (a complete receiver for RTL-SDR sticks), rtl-dab and
dabtools (receive and write an ETI stream) and dablin (decode an ETI
stream). Links to these tools are below.

Maybe they can help you to get a full receiver running.

Best regards,
mpb

[1]
http://www.opendigitalradio.org/software

Hi Ruben and all,

thank you for your response.

Am Mittwoch, 26. August 2015 17:39 CEST, Ruben U.
[email protected] schrieb:

When I ran it like this:
./rtl_sdr_dab_rx.py -g 10 -c -f 229.072e6 -e -F

It worked. (just checked my shell history)

You need “fine frequency correction” and “equalization” at least, if I
don’t remember wrong.

I could just test it again and indeed the -f switch did the trick ( -c,
–correct-ffe do fine frequency correction ).

Thank you! I might play around with it again tomorrow.

Matthias

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs