{"id":3890,"date":"2017-11-23T06:00:34","date_gmt":"2017-11-23T13:00:34","guid":{"rendered":"http:\/\/play.fallows.ca\/wp\/?p=3890"},"modified":"2017-11-16T14:31:00","modified_gmt":"2017-11-16T21:31:00","slug":"explore-gnuradio-sdr-experiments","status":"publish","type":"post","link":"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/","title":{"rendered":"Explore GNURadio &#8211; Great Tool for SDR Experiments"},"content":{"rendered":"<p><a href=\"https:\/\/i0.wp.com\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3891 size-full\" src=\"https:\/\/i0.wp.com\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg?resize=418%2C282\" alt=\"explore gnuradio\" width=\"418\" height=\"282\" srcset=\"https:\/\/i0.wp.com\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg?w=418&amp;ssl=1 418w, https:\/\/i0.wp.com\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg?resize=300%2C202&amp;ssl=1 300w\" sizes=\"auto, (max-width: 418px) 100vw, 418px\" \/><\/a><\/p>\n<p>Did you ever dream of designing and building your own software defined radio? Explore GNURadio to discover how easy this is to do, without writing a line of code.\u00a0<!--more--><\/p>\n<p><a href=\"https:\/\/www.gnuradio.org\/\" target=\"_blank\" rel=\"noopener nofollow\">GNURadio<\/a> Companion is a visual programming environment for creating software defined radios. Back in 1983, a bunch of programmers, scientists and engineers started the GNU Project. Closely linked to the Linux ecosystem, GNU project has the goal of collaboratively creating free software. Eventually, this led to GNURadio about fifteen years ago, and more recently the GNURadio Companion front-end software.<\/p>\n<p>GNURadio is an infrastructure built on C++ signal processing blocks, all glued together with Python scripts. It is comprised of optimized source, sink and processing blocks. Sources include a variety of SDR hardware, as well as the ability to play previously recorded data. Sinks include audio sound cards. So, briefly, you source radio data from a hardware device and sink the processed data as audio or data output. In between the source and sink, you use a bunch of signal processing blocks. There is a processing block in GNURadio for almost every DSP function you might want to use.<\/p>\n<p>As you explore GNURadio, you will quickly discover the Companion. Companion is an integrated development environment similar to the Visual Studio IDE. You just drag blocks into a flowchart and connect them together. This is called data flow programming. It lets you use precompiled blocks of software to do stuff, in this case DSP and software defined radio. In addition to blocks, Companion provides a GUI for radio controls and signal displays.<\/p>\n<p>Companion automatically generates the Python code needed to create and run your radio design. You work at a very high level, simply defining what you want to happen. The GNURadio infrastructure does the rest under the hood.<\/p>\n<p>The upside of GNURadio is its enormous capability and a huge community of users, similar to the Arduino ecosystem. The downside is that GNURadio is a Linux project. However, most of its features also work on Windows, which is where I am going to start. Later, I may experiment with the Linux version which supports a wider variety of radio hardware.<\/p>\n<h2>Explore GNURadio &#8211; Experimenting with your RTL-SDR<\/h2>\n<p>By now, most hams and SWL have a cheap RTL-SDR dongle. These amazing devices provide a wideband radio receiver for around $20. Typically, you just connect it to your computer and use various SDR programs like <a href=\"http:\/\/sdrsharp.pbworks.com\/w\/page\/62589136\/FrontPage\" target=\"_blank\" rel=\"noopener nofollow\">SDR#<\/a>, <a href=\"http:\/\/www.hdsdr.de\/\" target=\"_blank\" rel=\"noopener nofollow\">HDSDR <\/a>or <a href=\"http:\/\/www.sdr-radio.com\/Software\/Version3\" target=\"_blank\" rel=\"noopener nofollow\">SDR-Console<\/a> to provide a full featured software defined radio.<\/p>\n<p>But if you are more adventurous, you can use GNURadio to write your own SDR for use with the RTL-SDR dongle. It&#8217;s a great way to get more use from your RTL-SDR and learn a lot about digital signal processing. GNURadio provides a source block that seamlessly connects to your dongle, and tunes to any frequency in its range. The source then provides the IQ sampling data to your GNURadio creation.<\/p>\n<p>You can design your own radio using filtering and demodulation blocks. In future articles, I will describe some beginners projects using GNURadio and RTL-SDR to create FM, AM and SSB receivers without a single line of code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Did you ever dream of designing and building your own software defined radio? Explore GNURadio to discover how easy this is to do, without writing a line of code.\u00a0<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_share_on_mastodon":"0"},"categories":[7],"tags":[288,246,239,37,38,22],"series":[287],"class_list":["post-3890","post","type-post","status-publish","format-standard","hentry","category-software-defined-radio","tag-gnuradio","tag-hamr","tag-hamradio","tag-rtl-sdr","tag-sdr","tag-swl","series-exploring-gnuradio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Explore GNURadio - Great Tool for SDR Experiments - Making It Up<\/title>\n<meta name=\"description\" content=\"Did you ever dream of building your own software defined radio? Explore GNURadio to discover how easy this is to do, without writing a line of code.\u00a0\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Explore GNURadio - Great Tool for SDR Experiments - Making It Up\" \/>\n<meta property=\"og:description\" content=\"Did you ever dream of building your own software defined radio? Explore GNURadio to discover how easy this is to do, without writing a line of code.\u00a0\" \/>\n<meta property=\"og:url\" content=\"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/\" \/>\n<meta property=\"og:site_name\" content=\"Making It Up\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/john.fallows.5\" \/>\n<meta property=\"article:published_time\" content=\"2017-11-23T13:00:34+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg\" \/>\n<meta name=\"author\" content=\"John VE6EY\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@VE6EY\" \/>\n<meta name=\"twitter:site\" content=\"@VE6EY\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John VE6EY\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/\",\"url\":\"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/\",\"name\":\"Explore GNURadio - Great Tool for SDR Experiments - Making It Up\",\"isPartOf\":{\"@id\":\"https:\/\/play.fallows.ca\/wp\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg\",\"datePublished\":\"2017-11-23T13:00:34+00:00\",\"author\":{\"@id\":\"https:\/\/play.fallows.ca\/wp\/#\/schema\/person\/9750e0ab227030255d9806757525f945\"},\"description\":\"Did you ever dream of building your own software defined radio? Explore GNURadio to discover how easy this is to do, without writing a line of code.\u00a0\",\"breadcrumb\":{\"@id\":\"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg?fit=418%2C282&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg?fit=418%2C282&ssl=1\",\"width\":418,\"height\":282,\"caption\":\"exploring gnuradio\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/play.fallows.ca\/wp\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Radio\",\"item\":\"https:\/\/play.fallows.ca\/wp\/category\/radio\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Software Defined Radio\",\"item\":\"https:\/\/play.fallows.ca\/wp\/category\/radio\/software-defined-radio\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Explore GNURadio &#8211; Great Tool for SDR Experiments\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/play.fallows.ca\/wp\/#website\",\"url\":\"https:\/\/play.fallows.ca\/wp\/\",\"name\":\"Making It Up\",\"description\":\"Enjoying Radio and Maker Hobbies\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/play.fallows.ca\/wp\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/play.fallows.ca\/wp\/#\/schema\/person\/9750e0ab227030255d9806757525f945\",\"name\":\"John VE6EY\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/play.fallows.ca\/wp\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e4048edfe09efff51033c48b4fb951e8ac0a4dc84a25c96b25e5ae9f5b7069a5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e4048edfe09efff51033c48b4fb951e8ac0a4dc84a25c96b25e5ae9f5b7069a5?s=96&d=mm&r=g\",\"caption\":\"John VE6EY\"},\"sameAs\":[\"https:\/\/x.com\/VE6EY\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Explore GNURadio - Great Tool for SDR Experiments - Making It Up","description":"Did you ever dream of building your own software defined radio? Explore GNURadio to discover how easy this is to do, without writing a line of code.\u00a0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/","og_locale":"en_US","og_type":"article","og_title":"Explore GNURadio - Great Tool for SDR Experiments - Making It Up","og_description":"Did you ever dream of building your own software defined radio? Explore GNURadio to discover how easy this is to do, without writing a line of code.\u00a0","og_url":"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/","og_site_name":"Making It Up","article_publisher":"https:\/\/www.facebook.com\/john.fallows.5","article_published_time":"2017-11-23T13:00:34+00:00","og_image":[{"url":"http:\/\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg","type":"","width":"","height":""}],"author":"John VE6EY","twitter_card":"summary_large_image","twitter_creator":"@VE6EY","twitter_site":"@VE6EY","twitter_misc":{"Written by":"John VE6EY","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/","url":"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/","name":"Explore GNURadio - Great Tool for SDR Experiments - Making It Up","isPartOf":{"@id":"https:\/\/play.fallows.ca\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/#primaryimage"},"image":{"@id":"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/#primaryimage"},"thumbnailUrl":"http:\/\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg","datePublished":"2017-11-23T13:00:34+00:00","author":{"@id":"https:\/\/play.fallows.ca\/wp\/#\/schema\/person\/9750e0ab227030255d9806757525f945"},"description":"Did you ever dream of building your own software defined radio? Explore GNURadio to discover how easy this is to do, without writing a line of code.\u00a0","breadcrumb":{"@id":"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/#primaryimage","url":"https:\/\/i0.wp.com\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg?fit=418%2C282&ssl=1","contentUrl":"https:\/\/i0.wp.com\/play.fallows.ca\/wp\/wp-content\/uploads\/sites\/4\/2017\/11\/GNURadio.jpg?fit=418%2C282&ssl=1","width":418,"height":282,"caption":"exploring gnuradio"},{"@type":"BreadcrumbList","@id":"https:\/\/play.fallows.ca\/wp\/radio\/software-defined-radio\/explore-gnuradio-sdr-experiments\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/play.fallows.ca\/wp\/"},{"@type":"ListItem","position":2,"name":"Radio","item":"https:\/\/play.fallows.ca\/wp\/category\/radio\/"},{"@type":"ListItem","position":3,"name":"Software Defined Radio","item":"https:\/\/play.fallows.ca\/wp\/category\/radio\/software-defined-radio\/"},{"@type":"ListItem","position":4,"name":"Explore GNURadio &#8211; Great Tool for SDR Experiments"}]},{"@type":"WebSite","@id":"https:\/\/play.fallows.ca\/wp\/#website","url":"https:\/\/play.fallows.ca\/wp\/","name":"Making It Up","description":"Enjoying Radio and Maker Hobbies","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/play.fallows.ca\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/play.fallows.ca\/wp\/#\/schema\/person\/9750e0ab227030255d9806757525f945","name":"John VE6EY","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/play.fallows.ca\/wp\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e4048edfe09efff51033c48b4fb951e8ac0a4dc84a25c96b25e5ae9f5b7069a5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e4048edfe09efff51033c48b4fb951e8ac0a4dc84a25c96b25e5ae9f5b7069a5?s=96&d=mm&r=g","caption":"John VE6EY"},"sameAs":["https:\/\/x.com\/VE6EY"]}]}},"share_on_mastodon":{"url":"","error":""},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6wNv5-10K","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/posts\/3890","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/comments?post=3890"}],"version-history":[{"count":3,"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/posts\/3890\/revisions"}],"predecessor-version":[{"id":3899,"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/posts\/3890\/revisions\/3899"}],"wp:attachment":[{"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/media?parent=3890"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/categories?post=3890"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/tags?post=3890"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/play.fallows.ca\/wp\/wp-json\/wp\/v2\/series?post=3890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}