All Projects → argilo → Sdr Examples

argilo / Sdr Examples

Licence: gpl-3.0
A collection of GNU Radio flow graphs

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Sdr Examples

Carbon Components Angular
An Angular implementation of the Carbon Design System for IBM.
Stars: ✭ 310 (-1.59%)
Mutual labels:  hacktoberfest
Finance
A self hosted app to help you get a better understanding of your personal finances.
Stars: ✭ 313 (-0.63%)
Mutual labels:  hacktoberfest
Corcel
Use WordPress backend with Laravel or any PHP application
Stars: ✭ 3,504 (+1012.38%)
Mutual labels:  hacktoberfest
Openhospital
Open Hospital is a free and open source software for healthcare data management. This repository is used to build its releases.
Stars: ✭ 312 (-0.95%)
Mutual labels:  hacktoberfest
Grabana
User-friendly Go library for building Grafana dashboards
Stars: ✭ 313 (-0.63%)
Mutual labels:  hacktoberfest
Json2md
📌 A JSON to Markdown converter.
Stars: ✭ 312 (-0.95%)
Mutual labels:  hacktoberfest
Physx Rs
🎳 Rust binding and wrapper over NVIDIA PhysX 🦀
Stars: ✭ 310 (-1.59%)
Mutual labels:  hacktoberfest
Devlopr Jekyll
Build and Deploy your Static Site 🚀 using this beautiful Jekyll Framework/Theme built for Creatives
Stars: ✭ 309 (-1.9%)
Mutual labels:  hacktoberfest
Laravel Packer
Awesome Command Line Tool for speeding up your package creation.
Stars: ✭ 313 (-0.63%)
Mutual labels:  hacktoberfest
Prettier Eslint
Code ➡️ prettier ➡️ eslint --fix ➡️ Formatted Code ✨
Stars: ✭ 3,435 (+990.48%)
Mutual labels:  hacktoberfest
Jackson Modules Java8
Set of support modules for Java 8 datatypes (Optionals, date/time) and features (parameter names)
Stars: ✭ 312 (-0.95%)
Mutual labels:  hacktoberfest
Katello
Katello integrates open source systems management tools into a single solution for controlling the lifecycle of your machines.
Stars: ✭ 312 (-0.95%)
Mutual labels:  hacktoberfest
Snare
Super Next generation Advanced Reactive honEypot
Stars: ✭ 311 (-1.27%)
Mutual labels:  hacktoberfest
Code Sleep Python
Awesome Projects in Python - Machine Learning Applications, Games, Desktop Applications all in Python 🐍
Stars: ✭ 306 (-2.86%)
Mutual labels:  hacktoberfest
Lsp Mode
Emacs client/library for the Language Server Protocol
Stars: ✭ 3,691 (+1071.75%)
Mutual labels:  hacktoberfest
Scssphp
SCSS compiler written in PHP
Stars: ✭ 309 (-1.9%)
Mutual labels:  hacktoberfest
Ghost Cli
CLI Tool for installing & updating Ghost
Stars: ✭ 313 (-0.63%)
Mutual labels:  hacktoberfest
Git Duet
Support for pairing with git
Stars: ✭ 313 (-0.63%)
Mutual labels:  hacktoberfest
Unleash
Unleash is the open source feature toggle service.
Stars: ✭ 4,679 (+1385.4%)
Mutual labels:  hacktoberfest
Paper
High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies
Stars: ✭ 5,293 (+1580.32%)
Mutual labels:  hacktoberfest

sdr-examples

Author: Clayton Smith ([email protected])

This project is a collection of GNU Radio examples created for a tutorial session given at the Ottawa Amateur Radio Club.

multi_tx.grc & multi_tx.py

This example transmits the following signals simultaneously:

  1. Narrowband FM at 440.9 MHz
  2. Wideband FM at 441.0 MHz
  3. AM at 441.120 MHz
  4. LSB at 441.131 MHz
  5. USB at 441.134 MHz
  6. CW at 441.140 MHz
  7. PSK31 at 441.142 MHz

It is built for the BladeRF, but it should easily be adaptable to other boards such as the USRP B200/210 or HackRF.

Output power is split approximately equally between the six signals, with the gain set such that no clipping occurs.

pager_rx.py

This example allows the reception of the FLEX protocol used to send messages to pagers. It is intended for use with a RTL-SDR dongle such as the NooElec TV28T.

To use it, first set the frequency correction slider to the correct value to match your dongle's crystal. The gain slider should be set to the highest value which does not cause clipping. (If it's too high, you'll see spurious signals appearing.)

Choose a band (929-930 MHz or 931-932 MHz) by clicking the appropriate radio button. The band waterfall will display all signals in that band. Click on a signal to tune to its channel. When transmitting, you should see the channel's signal in the channel waterfall display. When the frequency correction slider is set correctly, the signal should be centered in the channel waterfall display.

pager_rx_929.py

This example demonstrates reception of multiple FLEX channels simultaneously. It tunes three Ottawa-area FLEX transmitters at 929.1875, 929.2875 and 929.6625 MHz. As with the previous example, for correct decoding the frequency correction slider must be set so that the signals appear in the center of the channel waterfall. The gain slider should be set as high as possible without causing spurious signals to appear.

va3rft.grc & va3rft.py

This example receives an Ottawa-area DMR digital voice repeater, VA3RFT on 444.475 MHz. It is intended for use with an RTL-SDR dongle such as the NooElec TV28T. It depends on my GNU Radio DSD block, which can be downloaded at https://github.com/argilo/gr-dsd.

To use it, set the frequency correction slider to the correct value to match your dongle's crystal. If necessary, set the gain slider to an appropriate value to prevent clipping.

If the frequency correction slider is set correctly, you should see transmissions appearing in the center of the band in the middle of the waterfall. Even when nobody is using the repeater, it transmits some packets about once every 80 seconds.

va3odg.grc & va3odg.py

This example is very similar to the DMR receiver above, but instead it receives D-STAR. It is intended to receive the Ottawa-area D-STAR repeater VA3ODG on 444.850 MHz.

Since the D-STAR receiver in DSD is not yet optimized for GMSK reception, I have worked around this problem by doing the GMSK demodulation in GNU Radio (with a Clock Recovery MM and a Binary Slicer block), then re-modulating the signal before passing it on to DSD. This improves the bit error rate.

atsc-blade.py & atsc-blade-usb2.py

These examples transmit an ATSC digital television signal using the BladeRF. An file containing an MPEG 2 transport stream must be supplied as input. MPEG 2 transport streams can be produced with tools such as avconv and OpenCaster. The first example, atsc-blade.py requires USB 3.0 to work properly, while the second example, atsc-blade-usb2.py reduces the output sample rate so as to run on a USB 2.0 port. Both examples transmit on 438-444 MHz, but this can be changed by adjusting the center_freq variable.

Making Bootable USB Images for GNURadio

Install Some Kind of Ubuntu/Debian

Install Xubuntu 14.04 LTS 64-bit (or newer) onto a 8 GB or larger flash drive. Force the root partition to be 7.5 GB so that it can be installed on approximately 8 GB drives that may vary in size a bit.

Boot Xubuntu, install updates and restart.

In /etc/default/rcS, set UTC=no so it won't mess up the system clock on Windows laptops.

Install a few essential pieces in order to make it easier for people to use the system and work with these example flow graphs:

sudo apt-get install linux-firmware-nonfree

sudo apt-get install git
git clone --recursive https://github.com/argilo/sdr-examples.git

Install GNURadio and Related Tools

Install the core GNURadio packages:

sudo add-apt-repository ppa:gqrx/releases
sudo apt-get update
sudo apt-get install gnuradio gnuradio-dev gnuradio-doc gqrx-sdr

Install drivers for some of the most common SDR dongles:

sudo apt-get install rtl-sdr hackrf bladerf-host \
    gr-fcdproplus qthid-fcd-controller

Add GRC and gqrx to the favourites in the xfce menu.

Compress Bootable Image

Purge old kernels.

sudo apt-get install localepurge
sudo apt-get clean
cat /dev/zero > zero.fill ; sync ; sleep 1 ; sync ; rm -rf zero.fill

Shut down.

sudo dd if=/dev/sdb bs=1M count=7500 |\
    gzip --rsyncable > bootable_image.img.gz
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].