Dream software for DRM

From drm

Dream DRM ReceiverDownload

Open-Source Software Implementation of a DRM (Digital Radio Mondiale) Receiver under the GNU General Public License (GPL)

Introduction

Digital Radio Mondiale (DRM) is the digital radio standard for the long-, medium- and short-wave ranges (DRM30) and the VHF Band (DRM+). The standard was formed by a consortium in co-operation with the International Telecommunication Union (ITU). The system offers the radio stations and new service providers access to the multimedia age for all kind of radio stations, from high power broadcasters with large target areas and long distances reception to low power line-of-sight broadcasters. For more information visit www.drm.org.

The bandwidth of a DRM bandpass signal is less than 20 kHz in the DRM30 mode and less than 100kHz in the DRM+ mode, and the number of carriers used in the OFDM-modulation is relatively small. These features motivate a real-time software implementation of a DRM-receiver for conventional personal computer (PC) or smartphones/tablets using affordable input devices like the FunCubeDongle Pro+ or a sound card connected to a standard radio receiver with an IF ouput.

This software project implements a working software DRM30 receiver with, at least, the basic features (DRM+ support is planned). Since this project was created at a university and the fundamental idea of such an institution is to teach and stimulate the creativity, this source-code is free under the GNU-General Public License (GPL). Dream is a development project which uses the open source model to improve DRM technology. The main aim of this project is to implement and test new research results on an existing system, whereby the synchronization and channel estimation is of special interest.

The programming-language is C++. The code runs under Mac OSX, Microsoft Windows and Linux. Start of the project was June 2001.

Although this software is distributed as free software under the terms of the GPL this does not mean that its use is free of rights of others. The use may infringe third party IP and thus may not be legal in some countries.

The intended audience of the Dream software are people who are interested in how to decode a DRM stream and want to learn from the algorithms used in this software and people who want to help us improving the performance of the receiver and the source code.

If you just want to get the experience of DRM digital sound quality and expect a very stable and optimized receiver performance, we recommend to buy the commercial DRM Software Radio.

Features and User Guide

Dream's features have grown over the years, but have never been properly documented. Hopefully we can fix this.

Hardware

Dream runs on virtually any pc and requires a receiver front-end to work as a real radio.

Source Code

The source code is hosted at Sourceforge.net. Binary files of the software are provided without audio codecs compiled in, since parts of the software may be subject to patent royalties in some countries. If you want to provide pre-compiled binaries based on this source, please consider this issue. We do not warrant for nor indemnify you in any way for patent infringement. You are solely responsible for your own actions.

Installation

Binaries for windows and linux are available from 1.14 onwards. The needed DLLs/shared libraries are included in the archive but this probably won't get you the working Dream you need.

For licence reasons the distributed binaries don't include an AAC codec. The binaries look for a codec and try to load it at run time.

Instructions for building the AAC decoder

Instructions for building the AAC encoder

Windows

The zip files in the download area contain all DLLs needed to make the program run, but you will want the rig specific Hamlib libraries to control a rig and the AAC decoder DLL.

Linux

32 and 64 bit Linux builds are created using the OpenSUSE build system. Repositories are now available for several distributions.

Debian

Debian 6.0 (squeeze) and Debian 7.0 (wheezy) are supported. Add the repository and then install as normal.

echo 'deb http://download.opensuse.org/repositories/home:/juliancable/Debian_7.0 ./ >> /etc/apt/sources.listwget http://sourceforge.net/projects/drm/files/pubkeyapt-key add pubkeyapt-get updateapt-get install dream

If you are using Squeeze, the repository url is http://download.opensuse.org/repositories/home:/juliancable:/branches:/home:/juliancable/Debian_6.0

openSUSE 12.2

Add the repository and then install as normal.

zypper ar http://download.opensuse.org/repositories/home:/juliancable/openSUSE_12.2/ dreamzypper install dream

Fedora

Add the repository and then install as normal.

cd /etc/yum.repos.d/wget http://download.opensuse.org/repositories/home:/juliancable/Fedora_19/home:juliancable.repoyum install dream

Replace Fedora_19 with Fedora_17 or Fedora_18 to match your installation.

Ubuntu

Add the repository and then install as normal.

echo 'deb http://download.opensuse.org/repositories/home:/juliancable/xUbuntu_13.10 ./ >> /etc/apt/sources.listwget http://sourceforge.net/projects/drm/files/pubkeyapt-key add pubkeyapt-get updateapt-get install dream

Replace 13.10 with 13.04, 12.10 or 12.04 if you need to.

For 10.04 the repository url is http://download.opensuse.org/repositories/home:/juliancable:/branches:/home:/juliancable/xUbuntu_10.04. This may work for 10.10, 11.04 and 11.10.

Mac

The DMG contains a 32 bit intel only application built on Snow Leopard.

Trouble Shooting

Please post your installation support questions in the public forum

The most common problem is that dream runs but won't decode audio. It may look like dream is decoding the FAC and SDC but not the MSC but this is an artifact of the way the MSC 'LED' is driven on the front panel.

On Windows Dream looks for faad2_drm.dll in the directory dream is run from. If it doesn't find it everything will work except decoding audio. Instructions for building the AAC decoder from source are on this wiki.

In 1.17 we have improved the GUI so it is easy to see if the problem is there:

This is what dream 1.16 looked like if faad2_drm.dll was missing:

You can double check by looking for the text "no audio decoding possible" on the Evaluation window:

Building from source

Detailed instructions for building Dream on a number of platforms are available:

Auxiliaries

Screen shots, sample files, the current AM Broadcast Schedule etc. are available on the General page.

Design

There is some information on the Software Design.

Forums

Dream is on its third generation of forums. Originally the sourceforge default forums were used. These were replaced by the much better Invision board. When sourceforge moved to MySQL5/PHP5 these forums became unmaintainable. The content of the Old Forums has been archived on this wiki.

The active forums are here.

Other DRM Software at this site

This project is also the home for a number of other DRM related software projects including:

Disclaimers

TRADEMARKS: The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

LINKS TO THIRD PARTY SITES:This site contains links to other sites. We are not responsible for the content of any linked Web site.

http://sourceforge.net/apps/mediawiki/drm/index.php?title=Main_Page