Digital Radio Broadcasting Using LimeSDR and ODR Tools— PART 1
I always like the idea of Digital Radio Transmission since it offers a lot of advantages over traditional FM radio or Internet Streamed Radio. To name few of them, are as follows:
- Compared to Internet Streaming radio it is free and it doesn’t require any internet connection to operate. So anywhere a person can listen to their favorite radio station free of charge withough worrying about internet data packages.
- It offers a lot more channels compared to FM Radio Stations since a group of channels are grouped into bands in digital radio. This also saves the frequency band as many countries with a lot of FM radio station; the whole FM spectrum becomes all populated. But with DAB radio, you could have much more radio stations in just one of the many DAB bands.
- It is easier to tune and not susceptible to interference or noise provided that there is a good coverage of the radio signals.
- Quality of the received signal is excellent compared to other Radio Stations.
- And the best of all, data in form of images or text can be transmitted and received using the DAB Radio signals.
Of course everything good has its disadvantages since humans are always imperfect. So its a good thing i mention a few of them:
- Compared to FM Radio, when the interference is too high and signal quality is low, then the Digital Sound is terminated since SNR(Signal to Noise Ratio) become very poor; wheres in FM Radio you could still listen to some sound when the reception of the signals is not so good.
- Their receivers are actually expensive compared to FM Radio receivers. But this i am sure can be solved a lot faster since the technological evolution is very good to an extent that, manufacturing a Digital Radio is no longer too expensive. That is one of the reason i am able to create a cheap DAB transmitter and receiver using cheap tools as i will explain later.
Enough of the chit chat, now lets proceed with our main topic; what really is a SDR(Software Defined Radio)?
Well, a short explanation is that Software Defined Radio is a type of radio where demodulation and other signal processing are done using a software as opposed to Classical Radio where these where done using discrete circuits or even simple circuits in case of plain old analog signals.
In recent years, especially after RTL-SDR devices come into being, the majority of SDR research where performed using expensive devices which costs more than $500. But today with an RTL-SDR device which costs about $10-$15, you could receive almost all signals from 20MHz to about 1.7GHz.
To give you a better perspective of what this mean is that, using a RTL-SDR capable receiver worth just $10 you could receive:
- All FM Radio Stations
- Marine communications
- Aircraft to Aircraft communications
- Amateur Radio
- Television Broadcast (Both Digital and Analog) — In fact these dongles where actually made to receive TV, DAB and FM Radio stations.
- Mobile Communication signals (2G, 3G, 4G, and 5G) — Remember, you can only receive them, not transmitting.
- Paging signals
- ACARS signals
- ADS-B signals
- Weather Satellite Images
- Maritime Communication Satellite Signals
And i could go on and on with many more signals that can be received with a RTL-SDR Dongle(USB Device) but i will not. This is the reason i said, it actually revolutionized SDR technology to a better perspective.
Nowdays there are even lot of software defined radio which are capable to interface with RTL-SDR devices such as:
- SDR# — SDR Sharp Software
- SDR-Radio.com V2 or 3
- And many more.
I argue you to visit this blog which is dedicated for RTL-SDR radio receivers and technology to learn more. It also includes all SDR related information's:
HackSpace is a monthly magazine dedicated to modern maker projects. This month issue 18 was released and it focuses on…
So, RTL-SDR came into being and it changed the atmosphere of SDR technology from users to manufacturers, but it lacked transmission capabilities as it could only receive the signals with a bandwidth not more than 2.4MHz.
Things went very well to SDR enthusiasts as just few years later after that revolution, more and more Software Radio Hardware where being manufactured. To name a few are:
- HackRF One
- LimeSDR Mini
- And much more awesome projects!
All of them where aiming and still are to reduce the cost of transmitting and receiving Radio Signals using SDR technology.
I respect them all, but one radio stand out in terms of Cost to features according to my opinion. And this is the awesome LimeSDR Radio.
LimeSDR is a low cost, open source, apps-enabled (more on that later) software defined radio (SDR) platform that can be used to support just about any type of wireless communication standard.(i ripped this from https://limemicro.com/)
That paragraph above, summarizes a lot of things. Let me break them down what really matters:
- It is low cost (~$299 at https://www.crowdsupply.com)
- It can receive and transmitting anything with frequency between 100 kHz — 3.8 GHz.
- It has 61.44 MHz Bandwidth
- It has 10 U.FL connectors (6 RX, 4 TX)
- Features 2×2 MIMO multiplexed output
- Powered through USB or a 12V external power supply
Well, those are just some of the amazing features this device has. I am not saying the others are not great, they are; but depending on your usage, and to my opinion, this is one of the cheapest of them all in terms of features delivered and its price range. You can of course dispute me on this, and you have the right to do so since its your opinion too.
I purchased one of them during the early days of its crowd sourcing at https://www.crowdsupply.com/lime-micro/limesdr.
I needed a way to make it usable and use it for something great, and so my journey began with adventures.
My journey on the reason to use LimeSDR and ODR-mmbTools for DAB/DAB+ transmission started from the announcement that Raspberry PI could transmit FM station all by itself.
It was really an amazing thing to hear. Raspberry PI could transmit FM Radio without any additional hardware but just by modulating an FM signal using a software and outputting it at one of its GPIO pin. And so i wondered, since DAB is an advanced technology over FM, i could do the same thing too since everything is done through software, so i thought.
I went to the internet , searched for all information on DAB transmission using every sort of radio including RaspberryPI GPIO pin like PiFm, but still i hit a solid concrete wall. No one could do it.
I said alright, let me try with LimeSDR then since it can transimitt and receive almost everything. Well on that front it took me to OCR-mmbTools. From there my path lead me to open digital radio ( http://www.opendigitalradio.org/) and their fantastic ODR-mmbTools.
I went through a lot of documents and information both at the open digital radio website at the time and the internet in general but nowhere LimeSDR was mentioned even though there was some clues it could be used to transmit DAB radio. I knew it could, but i wanted a complete package on how exactly to do it.
Only USRP devices where mentioned but no LimeSDR drivers or anything related to it. I checked how i could achieve it using the existing drivers but could not since even the information to wire all the 4 software pieces together DAB/DAB+ transmission where minimal. I was not able to do it at that time.
Months later, i thought to myself, now i got a lot more information and i am good on programming compared to last time i touched my LimeSDR. And so i took it again and started the journey to read almost every document from open digital radio website.
This guide http://opendigitalradio.github.io/mmbtools-doc/mmbtools.pdf from open digital radio was the information i required. I read, studied it and understood exactly what was the tools designed to do, how they do it and what they can do and not do.
The information was critical and awesome since i saw that LimeSDR was working with it through SoapySDR library this time around. This was excellent news and so i checked on how to use ODR-mmbTools(Open Digital Radio Mobile Multimedia Broadcasting Tools) which is the name for all the tools used to achieve DAB/DAB+ transmission provided by open digital radio.
Something else was there, the documents didn’t focused on one type of Linux distribution as many others normally do. And i thought my Manjaro Linux will work too since i dislike the fact that i have to change my Operating system just for doing one particular thing. I still like Arch Linux (https://www.archlinux.org/) through Manjaro Linux(http://manjaro.org/).
And so my awesome journey to get DAB/DAB+ working with LimeSDR was born and this is the product of that work.
Over the next articles, i will go through how i got it to work, what challenges i faced and how i resolved them and many other information on broadcasting DAB/DAB+ using LimeSDR and ODR-mmbTools.
Join me again in the next part of this series.