{"id":17150481,"url":"https://github.com/argilo/sdr-examples","last_synced_at":"2025-04-08T09:06:01.571Z","repository":{"id":12857119,"uuid":"15533150","full_name":"argilo/sdr-examples","owner":"argilo","description":"A collection of GNU Radio flow graphs","archived":false,"fork":false,"pushed_at":"2024-11-04T02:30:41.000Z","size":1522,"stargazers_count":428,"open_issues_count":3,"forks_count":96,"subscribers_count":58,"default_branch":"master","last_synced_at":"2025-04-01T07:45:13.332Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/argilo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-12-30T17:56:45.000Z","updated_at":"2025-02-26T18:17:28.000Z","dependencies_parsed_at":"2024-11-30T18:12:17.264Z","dependency_job_id":null,"html_url":"https://github.com/argilo/sdr-examples","commit_stats":{"total_commits":61,"total_committers":3,"mean_commits":"20.333333333333332","dds":0.06557377049180324,"last_synced_commit":"2507777e6110d12354d38214631dc337ed0ad48c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fsdr-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fsdr-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fsdr-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/argilo%2Fsdr-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/argilo","download_url":"https://codeload.github.com/argilo/sdr-examples/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247809963,"owners_count":20999816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest"],"created_at":"2024-10-14T21:35:45.552Z","updated_at":"2025-04-08T09:06:01.554Z","avatar_url":"https://github.com/argilo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"sdr-examples\n============\n\nAuthor: Clayton Smith (argilo@gmail.com)\n\nThis project is a collection of GNU Radio examples created for a\ntutorial session given at the Ottawa Amateur Radio Club.\n\n\nmulti_tx.grc \u0026 multi_tx.py\n--------------------------\n\nThis example transmits the following signals simultaneously:\n\n1. Narrowband FM at 440.9 MHz\n2. Wideband FM at 441.0 MHz\n3. AM at 441.120 MHz\n4. LSB at 441.131 MHz\n5. USB at 441.134 MHz\n6. CW at 441.140 MHz\n7. PSK31 at 441.142 MHz\n\nIt is built for the BladeRF, but it should easily be adaptable to other\nboards such as the USRP B200/210 or HackRF.\n\nOutput power is split approximately equally between the six signals,\nwith the gain set such that no clipping occurs.\n\n\npager_rx.py\n-----------\n\nThis example allows the reception of the FLEX protocol used to send\nmessages to pagers.  It is intended for use with a RTL-SDR dongle\nsuch as the NooElec TV28T.\n\nTo use it, first set the frequency correction slider to the correct\nvalue to match your dongle's crystal.  The gain slider should be set to\nthe highest value which does not cause clipping.  (If it's too high,\nyou'll see spurious signals appearing.)\n\nChoose a band (929-930 MHz or 931-932 MHz) by clicking the appropriate\nradio button.  The band waterfall will display all signals in that\nband.  Click on a signal to tune to its channel.  When transmitting,\nyou should see the channel's signal in the channel waterfall display.\nWhen the frequency correction slider is set correctly, the signal\nshould be centered in the channel waterfall display.\n\n\npager_rx_929.py\n---------------\n\nThis example demonstrates reception of multiple FLEX channels\nsimultaneously.  It tunes three Ottawa-area FLEX transmitters at\n929.1875, 929.2875 and 929.6625 MHz.  As with the previous example,\nfor correct decoding the frequency correction slider must be set\nso that the signals appear in the center of the channel waterfall.\nThe gain slider should be set as high as possible without causing\nspurious signals to appear.\n\n\nva3rft.grc \u0026 va3rft.py\n----------------------\n\nThis example receives an Ottawa-area DMR digital voice repeater,\nVA3RFT on 444.475 MHz.  It is intended for use with an RTL-SDR dongle\nsuch as the NooElec TV28T.  It depends on my GNU Radio DSD block,\nwhich can be downloaded at https://github.com/argilo/gr-dsd.\n\nTo use it, set the frequency correction slider to the correct value\nto match your dongle's crystal.  If necessary, set the gain slider to\nan appropriate value to prevent clipping.\n\nIf the frequency correction slider is set correctly, you should see\ntransmissions appearing in the center of the band in the middle of\nthe waterfall.  Even when nobody is using the repeater, it transmits\nsome packets about once every 80 seconds.\n\n\nva3odg.grc \u0026 va3odg.py\n----------------------\n\nThis example is very similar to the DMR receiver above, but instead it\nreceives D-STAR.  It is intended to receive the Ottawa-area D-STAR\nrepeater VA3ODG on 444.850 MHz.\n\nSince the D-STAR receiver in DSD is not yet optimized for GMSK\nreception, I have worked around this problem by doing the GMSK\ndemodulation in GNU Radio (with a Clock Recovery MM and a Binary\nSlicer block), then re-modulating the signal before passing it on to\nDSD.  This improves the bit error rate.\n\n\natsc-blade.py \u0026 atsc-blade-usb2.py\n----------------------------------\n\nThese examples transmit an ATSC digital television signal using the\nBladeRF.  An file containing an MPEG 2 transport stream must be\nsupplied as input.  MPEG 2 transport streams can be produced with\ntools such as avconv and OpenCaster.  The first example, atsc-blade.py\nrequires USB 3.0 to work properly, while the second example,\natsc-blade-usb2.py reduces the output sample rate so as to run on a\nUSB 2.0 port.  Both examples transmit on 438-444 MHz, but this can be\nchanged by adjusting the center_freq variable.\n\n\nMaking Bootable USB Images for GNURadio\n=======================================\n\n\nInstall Some Kind of Ubuntu/Debian\n----------------------------------\n\nInstall Xubuntu 14.04 LTS 64-bit (or newer) onto a 8 GB or larger flash drive.\nForce the root partition to be 7.5 GB so that it can be installed on\n*approximately* 8 GB drives that may vary in size a bit.\n\nBoot Xubuntu, install updates and restart.\n\nIn `/etc/default/rcS`, set `UTC=no` so it won't mess up the system clock on\nWindows laptops.\n\nInstall a few essential pieces in order to make it easier for people to use\nthe system and work with these example flow graphs:\n\n    sudo apt-get install linux-firmware-nonfree\n\n    sudo apt-get install git\n    git clone --recursive https://github.com/argilo/sdr-examples.git\n\n\nInstall GNURadio and Related Tools\n----------------------------------\n\nInstall the core GNURadio packages:\n\n    sudo add-apt-repository ppa:gqrx/releases\n    sudo apt-get update\n    sudo apt-get install gnuradio gnuradio-dev gnuradio-doc gqrx-sdr\n\nInstall drivers for some of the most common SDR dongles:\n\n    sudo apt-get install rtl-sdr hackrf bladerf-host \\\n        gr-fcdproplus qthid-fcd-controller\n\nAdd GRC and gqrx to the favourites in the xfce menu.\n\n\nCompress Bootable Image\n-----------------------\n\nPurge old kernels.\n\n    sudo apt-get install localepurge\n    sudo apt-get clean\n    cat /dev/zero \u003e zero.fill ; sync ; sleep 1 ; sync ; rm -rf zero.fill\n\nShut down.\n\n    sudo dd if=/dev/sdb bs=1M count=7500 |\\\n        gzip --rsyncable \u003e bootable_image.img.gz\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargilo%2Fsdr-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fargilo%2Fsdr-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fargilo%2Fsdr-examples/lists"}