• Stars
    star
    131
  • Rank 274,258 (Top 6 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created about 12 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

GNU Radio block for Digital Speech Decoder

gr-dsd

Author: Clayton Smith
Email: [email protected]

The goal of this project is to package Digital Speech Decoder (DSD) as a GNU Radio block, so that it can be easily used with software radio peripherals such as the Ettus Research USRP or RTL2832U-based USB TV tuners.

Dependencies:

  • GNU Radio 3.7, 3.8, 3.9, or 3.10
  • libsndfile (libsndfile1-dev package in Ubuntu)
  • BOOST C++ source libraries (libboost-all-dev in Ubuntu)
  • libcppunit-dev
  • libitpp-dev
  • liblog4cpp5-dev
  • swig

Build instructions:

mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

If your GNU Radio is installed in /usr (rather than /usr/local), then replace the first line above with:

cmake -DCMAKE_INSTALL_PREFIX=/usr ..

After running the above commands, "DSD Block" should appear under the "DSD" category in GNU Radio Companion, and "block_ff" will be available in the "dsd" Python package.

The block expects 48000 samples per second input, and outputs sound at 8000 samples per second. The input should be FM-demodulated (for example, with GNU Radio's Quadrature Demod block) and should be between -1 and 1 while receiving digital signals. (A quadrature demod gain of 1.6 works well for me for EDACS Provoice.) The input signal should also be free of DC bias, so make sure you are tuned accurately, or filter out DC.

To save CPU cycles, the block detects when the input is zero and avoids sending it through DSD. Thus it helps to put a squelch block before gr-dsd, especially if you're using many copies of gr-dsd in parallel.

The underlying DSD and mbelib were taken from:

No modifications to mbelib were required, but DSD has been modified to bypass the sound card. The GNU Radio block itself was adapted from the gr-howto-write-a-block sample included with GNU Radio.

Contributions are welcome!

More Repositories

1

sdr-examples

A collection of GNU Radio flow graphs
Python
375
star
2

secplus

A software implementation of the Security+ system used by garage door openers
Python
147
star
3

gr-elster

A GNU Radio block that decodes packets transmitted by Elster R2S smart meters
CMake
120
star
4

gr-nrsc5

A GNU Radio implementation of HD Radio (NRSC-5)
Python
101
star
5

gr-qam

A QAM-64 transmitter for GNU Radio. This project was merged into GNU Radio in version 3.7.10.
Python
47
star
6

gr-ham

A collection of GNU Radio blocks useful for amateur radio
Python
37
star
7

contest-sdr

An SDR-based transeciver for amateur radio contests
Python
35
star
8

gr-flarm

FLARM receiver for GNU Radio
CMake
26
star
9

gr-tenna

goTenna Mesh receiver and transmitter for GNU Radio
Python
26
star
10

nrsc-5

Prototype implementation of HD Radio (NRSC-5). Superseded by https://github.com/argilo/gr-nrsc5
Python
21
star
11

pico-jiggler

Simulate periodic mouse movements using a Raspberry Pi Pico
C
18
star
12

BusFollower

Ottawa Bus Follower Android app
Java
16
star
13

gr-queue

GNU Radio queue block, useful for trunked radio systems
CMake
11
star
14

grcon22

Challenges for GRCon 2022
Python
7
star
15

ham-utils

Various amateur radio utilities
Python
6
star
16

gr-dsdcc

GNU Radio block for DSDcc
CMake
5
star
17

bbhn-utils

Utilities that may be useful for Broadband-Hamnet nodes
Python
5
star
18

BlackHatBadgeReader

Read the contents of your Black Hat USA 2012 badge on your NFC-enabled Android phone
Java
4
star
19

pico-projects

Projects for the Raspbery Pi Pico
Python
3
star
20

pi-frontend

A tool to configure a Raspbery Pi as a MythTV frontend
Shell
3
star
21

ringzer0

My solutions for RingZer0 CTF problems
Python
1
star
22

argilo-net

La persona retejo de Clayton Smith
HTML
1
star
23

advent

My solutions for Advent of Code puzzles
Python
1
star
24

anagramoj

Programo por trovi anagramojn en Esperanto
C
1
star
25

irrational-net

The personal website of Clayton Smith
HTML
1
star