{"id":1023,"date":"2013-06-22T02:08:15","date_gmt":"2013-06-22T00:08:15","guid":{"rendered":"http:\/\/majek.mamy.to\/?p=1023"},"modified":"2016-02-13T01:47:10","modified_gmt":"2016-02-13T00:47:10","slug":"rtl2832u-spectrum-analyzer-part-2","status":"publish","type":"post","link":"https:\/\/majek.sh\/en\/rtl2832u-spectrum-analyzer-part-2\/","title":{"rendered":"RTL2832U spectrum analyzer &#8211; part 2"},"content":{"rendered":"<p>In <a href=\"https:\/\/majek.sh\/en\/rtlsdr-analyzer-from-dvb-t-tuner\/\" title=\"Awesome spectrum analyzer from DVB-T tuner\">previous part<\/a> i wrote about LifeViev DVB-T usb stick based on RTL2832U and Fitipower FC0013 tuner.<br \/>\nIn spite of information on <a href=\"http:\/\/sdr.osmocom.org\/trac\/wiki\/rtl-sdr\" target=\"_blank\">http:\/\/sdr.osmocom.org\/trac\/wiki\/rtl-sdr<\/a> site, FC0013 in this stick doesn&#8217;t go up to 1.1GHz :-(. In fact, from my experience it could do up to somewhere little above 900MHz.<\/p>\n<h1>New stick with R820T tuner<\/h1>\n<p>As I want to measure also my FPV equipment, with TX running at 1.2GHz, I bought another DVB-T usb stick based on new tuner: Rafael Micro R820T.<br \/>\nIt&#8217;s very popular and cheap on eBay (about $10), but it haven&#8217;t particular name.<\/p>\n<p>That&#8217;s my &#8216;no name&#8217; stick:<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick-435x480.jpg\" alt=\"RTL2832U dvb-t stick with R820T tuner\" width=\"435\" height=\"480\" class=\"alignnone size-medium wp-image-1025\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick-435x480.jpg 435w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick-136x150.jpg 136w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick-928x1024.jpg 928w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick.jpg 1024w\" sizes=\"(max-width: 435px) 100vw, 435px\" \/><\/a><\/p>\n<p>And of course inside:<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick-inside.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick-inside-640x319.jpg\" alt=\"RTL2832U with R820T - inside\" width=\"640\" height=\"319\" class=\"alignnone size-medium wp-image-1026\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick-inside-640x319.jpg 640w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick-inside-150x74.jpg 150w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/dvbt-stick-inside.jpg 1024w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>As I wrote above, Lifeview with FC0013 can&#8217;t measure my video TX at 1.010GHz (but this should be within it&#8217;s range):<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/video-tx-on-FC0013.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/video-tx-on-FC0013-623x480.png\" alt=\"Video tx on FC0013\" width=\"623\" height=\"480\" class=\"alignnone size-medium wp-image-1027\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/video-tx-on-FC0013-623x480.png 623w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/video-tx-on-FC0013-150x115.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/video-tx-on-FC0013.png 648w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/><\/a><\/p>\n<p>But the same on dvb-t stick with R820T looks fine:<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/video-tx-on-R820t.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/video-tx-on-R820t-623x480.png\" alt=\"Video tx on R820t\" width=\"623\" height=\"480\" class=\"alignnone size-medium wp-image-1028\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/video-tx-on-R820t-623x480.png 623w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/video-tx-on-R820t-150x115.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/video-tx-on-R820t.png 648w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/><\/a><\/p>\n<h1>SDR#<\/h1>\n<p>In previous part I promised to make some effort and test also <a href=\"http:\/\/sdrsharp.com\/\" target=\"_blank\">SDR#<\/a> (aka SDRsharp) software.<br \/>\nCompiling and installing <a href=\"http:\/\/www.mono-project.com\/\" target=\"_blank\">Mono<\/a> appeared quite easy.<br \/>\nInstalling PortAudio library also went flawlessly.<br \/>\nIn <a href=\"http:\/\/rtlsdr.org\/softwarelinux\" target=\"_blank\">howto<\/a> there are described 2 ways of installing SDR#: using MonoDevelop and from command line. First option was a &#8216;dependency disaster&#8217; &#8211; so I gave up. Then I tried second option. It didn&#8217;t work either \ud83d\ude41<br \/>\nAfter some experiments, reading manuals it turned out that default option tried to compile native code for my 64bit system and this part of SDR# is simply broken.<br \/>\nWhen I forced to compile to 32bit binary (luckily I have multilib installed), it finished without error.<\/p>\n<p>Magic compile command:<\/p>\n<div class=\"codecolorer-container text railscasts\" style=\"overflow:auto;white-space:nowrap;width:550px;\"><div class=\"text codecolorer\">xbuild \/t:Rebuild \/p:Configuration=Release \/p:Platform=x86 SDRSharp.sln<\/div><\/div>\n<p>Results:<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/sdrsharp.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/sdrsharp-640x416.png\" alt=\"SDR# in action\" width=\"640\" height=\"416\" class=\"alignnone size-medium wp-image-1031\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/sdrsharp-640x416.png 640w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/sdrsharp-150x97.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/sdrsharp.png 1024w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>After some clicking, double clicking, dragging etc. I could also share my impressions about SDR#.<\/p>\n<p>Pros:<\/p>\n<ul>\n<li>it looks cute<\/li>\n<li>everything is clickable, frequency is easy changeable just by mouse roll &#8211; typical Windows application \ud83d\ude42<\/li>\n<li>it could demodulate on the fly radio transmissions &#8211; just point at spike in histogram, chose modulation type (am, fm, ssb and more), drag mouse to set bandwidth and you could hear what&#8217;s in the air<\/li>\n<li>shows spectrum and waterfall simultaneously<\/li>\n<\/ul>\n<p>Cons:<\/p>\n<ul>\n<li>require a lot of cpu, my 2&#215;1.6GHz C2D wasn&#8217;t fast enough for smooth running:-(<\/li>\n<li>shown bandwidth is limited by sampling rate, so viewed window is maximum 2MHz wide \ud83d\ude41<\/li>\n<li>not all sampling rates works. 2048kS\/s works, but setting rate at maximum 2.4MS\/s ends with error &#8216;<em>paBadIODeviceCombination<\/em>&#8216;<\/li>\n<li>when cpu is overloaded, some samples are lost and it dosn&#8217;t show what&#8217;s really is going on (on above picture it should be almost continous line), so it&#8217;s unreliabe for me<\/li>\n<\/ul>\n<p>It looks like for listening to the radio it&#8217;s quite good and powerful tool. But as measuring and testing tool, it&#8217;s so heavy and limited.<\/p>\n<h1>OrangeRx OpenLRS<\/h1>\n<p>Of course I couldn&#8217;t resist to check how my &#8216;just arrived&#8217; <a href=\"http:\/\/www.hobbyking.com\/hobbyking\/store\/uh_viewitem.asp?idproduct=27096&#038;aff=78124\" target=\"_blank\">OrangeRx OpenLRS<\/a> modules work \ud83d\ude42<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/orangerx-openlrs-rx.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/orangerx-openlrs-rx-640x343.jpg\" alt=\"OrangeRX OpenLRS\" width=\"640\" height=\"343\" class=\"alignnone size-medium wp-image-1042\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/orangerx-openlrs-rx-640x343.jpg 640w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/orangerx-openlrs-rx-150x80.jpg 150w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/orangerx-openlrs-rx.jpg 1024w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>I bought 2 receivers as each one could also act as transmitter &#8211; there should be just different firmware flashed into it.<br \/>\nI downloaded <a href=\"https:\/\/github.com\/kh4\/openLRSng\" target=\"_blank\">OpenLSRng<\/a> open firmware, changed hardware rx and tx to <em>3<\/em> for OrangeRx, compiled 2 versions (one for rx, and second for rx), and uploaded using simple USBASP interface (it must support 3.3V!).<\/p>\n<p>OpenLRS use frequency hopping to be more resistant to interferences. And it clearly shows in following screenshot from <a href=\"https:\/\/github.com\/keenerd\/rtlsdr-waterfall\" target=\"_blank\">rtlsdr-watefall<\/a>:<br \/>\n<a href=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/lrs-channel-hopping.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/lrs-channel-hopping-623x480.png\" alt=\"OpenLRS channel-hopping\" width=\"623\" height=\"480\" class=\"alignnone size-medium wp-image-1043\" srcset=\"https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/lrs-channel-hopping-623x480.png 623w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/lrs-channel-hopping-150x115.png 150w, https:\/\/majek.sh\/wp-content\/uploads\/2013\/06\/lrs-channel-hopping.png 648w\" sizes=\"(max-width: 623px) 100vw, 623px\" \/><\/a><br \/>\n&#8216;Ghosts&#8217; on this screenshot are most probably because of tuner clipping. Measurements were done without antenna connected to dvb-t stick, but on quite large gain, so 100mW transmitter could be easily a reason for it.<\/p>\n<p>That&#8217;s all for now \ud83d\ude42<\/p>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>In previous part i wrote about LifeViev DVB-T usb stick based on RTL2832U and Fitipower FC0013 tuner. In spite of information on http:\/\/sdr.osmocom.org\/trac\/wiki\/rtl-sdr site, FC0013 in this stick doesn&#8217;t go up to 1.1GHz :-(. In fact, from my experience it <span class=\"excerpt-dots\">&hellip;<\/span> <a class=\"more-link\" href=\"https:\/\/majek.sh\/en\/rtl2832u-spectrum-analyzer-part-2\/\"><span class=\"more-msg\">Continue reading &rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6,5],"tags":[11,13,56,57],"_links":{"self":[{"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/posts\/1023"}],"collection":[{"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/comments?post=1023"}],"version-history":[{"count":31,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/posts\/1023\/revisions"}],"predecessor-version":[{"id":1672,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/posts\/1023\/revisions\/1672"}],"wp:attachment":[{"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/media?parent=1023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/categories?post=1023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/majek.sh\/en\/wp-json\/wp\/v2\/tags?post=1023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}