{"id":4167,"date":"2016-04-22T23:37:56","date_gmt":"2016-04-23T03:37:56","guid":{"rendered":"http:\/\/blogs.n1zyy.com\/n1zyy\/?p=4167"},"modified":"2016-04-22T23:37:56","modified_gmt":"2016-04-23T03:37:56","slug":"playing-with-software-defined-radio","status":"publish","type":"post","link":"https:\/\/blogs.n1zyy.com\/n1zyy\/2016\/04\/22\/playing-with-software-defined-radio\/","title":{"rendered":"Playing with Software Defined Radio"},"content":{"rendered":"<p>For a while now I&#8217;ve read about software-defined radio (SDR), but as an academic pursuit, or as something very expensive. It turns out that I was <em>way<\/em> misinformed, and you can get in on the fun for $25 ro so as long as you have a computer with a USB port.<\/p>\n<p>As the story goes, <a href=\"http:\/\/www.amazon.com\/NooElec-NESDR-Mini-Compatible-Packages\/dp\/B009U7WZCA\/\">tuners like these<\/a> were originally cheap USB TV tuners. They cut costs by doing much of the processing in software instead of hardware. And, well, that&#8217;s software-defined radio! The fact that they were TV tuners had some other nice effects: the TV bands are all over the place, and each TV signal is a few MHz wide, so these are in fact broadband SDRs capable of capturing a couple MHz of spectrum concurrently. And that&#8217;s awesome for us!<\/p>\n<p>Here&#8217;s the one I have; the specific model is no longer made, but it uses the same R820T tuner that current models support:<\/p>\n<figure id=\"attachment_mmd_0\" class=\"wp-block-image alignnone\"><a href=\"http:\/\/blogs.n1zyy.com\/n1zyy\/wp-content\/uploads\/sites\/2\/2016\/04\/IMG_4383.jpg\" target=\"_blank\" rel=\"noopener noreferrer\">><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blogs.n1zyy.com\/n1zyy\/wp-content\/uploads\/sites\/2\/2016\/04\/IMG_4383-1024x768.jpg\" width=\"584\" height=\"438\" alt=\"IMG_4383\"><\/a><\/figure>\n<p>On Linux I use <a href=\"http:\/\/kmkeen.com\/rtl-demod-guide\/\">rtl_fm<\/a> for tuning, but on Windows, I use <a href=\"http:\/\/www.pe0sat.vgnet.nl\/sdr\/sdr-software\/sdrsharp\/\">SDR Sharp<\/a>. And on the Mac, I use <a href=\"http:\/\/gqrx.dk\/\">gqrx<\/a>, also available on Linux.<\/p>\n<p>Here it is in action:<\/p>\n<figure id=\"attachment_mmd_1\" class=\"wp-block-image alignnone\"><a href=\"http:\/\/blogs.n1zyy.com\/n1zyy\/wp-content\/uploads\/sites\/2\/2016\/04\/IMG_4371.jpg\" target=\"_blank\" rel=\"noopener noreferrer\">><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blogs.n1zyy.com\/n1zyy\/wp-content\/uploads\/sites\/2\/2016\/04\/IMG_4371-1024x768.jpg\" width=\"584\" height=\"438\" alt=\"IMG_4371\"><\/a><\/figure>\n<p>(Sorry for the photograph of a computer screen. That&#8217;s my old radio-programming laptop that needs to stay on Windows XP, so I intentionally keep it off the Internet.)<\/p>\n<p>You can see it&#8217;s tuned to 162.525, which is <a href=\"http:\/\/www.nws.noaa.gov\/nwr\/coverage\/site2.php?State=MA&#038;Site=WNG575\">WNG575<\/a>, my nearest NOAA weather radio station. SDR Sharp is giving us a spectrum scope view, which is pretty handy.<\/p>\n<p>The receiver has adjustable gain, from 0 to about 47 dB. It&#8217;s not abundantly clear to me how this relates to regular receivers; it seems like the 0 dB setting is pretty deaf compared to most of my other radios, but at 47 dB it&#8217;s definitely got some gain on the others. The spectrum scope is especially useful for seeing the effects of gain, though: as you increase gain, the noise floor goes right on up with the signal. (This is, of course, not surprising, but it&#8217;s a great visual explanation of why you don&#8217;t always want a powerful preamp.)<\/p>\n<p>With the scope, you can see that, with the gain turned up, the noise floor is sitting around -65 dBm, while the weather station is up at -20 dBm. Nearly as strong off to the right is 162.55, <a href=\"http:\/\/www.nws.noaa.gov\/nwr\/coverage\/site2.php?State=MA&#038;Site=WXL93\">WXL93<\/a> out of Paxton. (You&#8217;ll also see 162.475, <a href=\"http:\/\/www.nws.noaa.gov\/nwr\/coverage\/site2.php?State=MA&#038;Site=KHB35\">KHB35<\/a> in Boston; as well as, much weaker, 162.45, which is <a href=\"http:\/\/www.nws.noaa.gov\/nwr\/coverage\/site2.php?State=NH&#038;Site=KZZ40\">KZZ40<\/a> on Saddleback Mountain in NH.)<\/p>\n<p>You&#8217;re probably not particularly interested in which weather stations I can receive, but the spectrum view is quite handy.<\/p>\n<p>And here it is during a linked traffic net on the ham bands:<\/p>\n<figure id=\"attachment_mmd_2\" class=\"wp-block-image aligncenter\"><a href=\"http:\/\/blogs.n1zyy.com\/n1zyy\/wp-content\/uploads\/sites\/2\/2016\/04\/IMG_4379-e1461380904276.jpg\" target=\"_blank\" rel=\"noopener noreferrer\">><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blogs.n1zyy.com\/n1zyy\/wp-content\/uploads\/sites\/2\/2016\/04\/IMG_4379-e1461380904276-768x1024.jpg\" width=\"584\" height=\"779\" alt=\"IMG_4379\"><\/a><\/figure>\n<p>With the <a href=\"http:\/\/www.dxengineering.com\/parts\/cma-gp-15\">GP-15<\/a> I just put up, I&#8217;m seeing a number of area repeaters active &#8212; plus some noise!<\/p>\n<p>The thing isn&#8217;t perfect. As an extremely wideband receiver that is so small that I could literally swallow it, it seems to suffer a bit more than other receivers with strong noise and intermod. I receive ghosts of signals in odd places on the band, seemingly related to the bandwidth I sample: at the 0.25 Msps mode, I often see images duplicated 1 MHz off their true frequency. The 0.9 MHz view is more confusing. But, for the cost, and the features that a receiver costing 20x as much doesn&#8217;t offer, I&#8217;m willing to put up with that.<\/p>\n<p>Oh, it also gets kind of hot, especially as you crank the gain up:<\/p>\n<div id=\"attachment_4169\" style=\"width: 594px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-4169\" decoding=\"async\" loading=\"lazy\" src=\"http:\/\/blogs.n1zyy.com\/n1zyy\/wp-content\/uploads\/sites\/2\/2016\/04\/IMG_4382.jpg\" width=\"584\" height=\"329\" alt=\"SeekwareBlendModeNone\"><\/a><p id=\"caption-attachment-4169\" class=\"wp-caption-text\"><\/figure> SeekwareBlendModeNone<\/p><\/div>\n<p>That also points to another problem, in that it often has some frequency error, which seems to vary a bit with temperature. I&#8217;ll often have to dial in about 30 ppm correction, and then back off that as it warms up. But, like the performance in noisy environments, that&#8217;s a problem I can put up with.<\/p>","protected":false},"excerpt":{"rendered":"<p>For a while now I&#8217;ve read about software-defined radio (SDR), but as an academic pursuit, or as something very expensive. It turns out that I was way misinformed, and you can get in on the fun for $25 ro so &hellip; <a href=\"https:\/\/blogs.n1zyy.com\/n1zyy\/2016\/04\/22\/playing-with-software-defined-radio\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4167","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/posts\/4167","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/comments?post=4167"}],"version-history":[{"count":0,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/posts\/4167\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/media?parent=4167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/categories?post=4167"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.n1zyy.com\/n1zyy\/wp-json\/wp\/v2\/tags?post=4167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}