{"id":195,"date":"2010-11-15T22:02:59","date_gmt":"2010-11-15T22:02:59","guid":{"rendered":"http:\/\/www.funcubedongle.com\/?p=195"},"modified":"2010-11-15T22:48:59","modified_gmt":"2010-11-15T22:48:59","slug":"first-live-telemetry-frames-from-the-funcube-satellite","status":"publish","type":"post","link":"https:\/\/www.funcubedongle.com\/?p=195","title":{"rendered":"First live telemetry frames from the FUNcube satellite"},"content":{"rendered":"<p>Here is a picture of the first decoded frames from the FUNcube satellite we had on <em>terra firma<\/em> at Martlesham this last weekend.<a href=\"https:\/\/www.funcubedongle.com\/wp-content\/uploads\/2010\/11\/P10104281.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-199\" title=\"P1010428\" src=\"https:\/\/www.funcubedongle.com\/wp-content\/uploads\/2010\/11\/P10104281.jpg\" alt=\"\" width=\"2671\" height=\"1723\" srcset=\"https:\/\/www.funcubedongle.com\/wp-content\/uploads\/2010\/11\/P10104281.jpg 2671w, https:\/\/www.funcubedongle.com\/wp-content\/uploads\/2010\/11\/P10104281-300x193.jpg 300w, https:\/\/www.funcubedongle.com\/wp-content\/uploads\/2010\/11\/P10104281-1024x660.jpg 1024w\" sizes=\"(max-width: 2671px) 100vw, 2671px\" \/><\/a>The Spectravue plot to the right shows the\u00a0satellite&#8217;s downlink\u00a0received\u00a0using a FUNcube Dongle. To the right hand side of the plot, the solid green &#8216;hump&#8217;\u00a0is the telemetry and the signal to the right of that being simultaneous transponded SSB voice traffic. There&#8217;s not much in the filter department on the transponder right now so the transponder noise floor\u00a0stretches well beyond the 96kHz span shown here!<\/p>\n<p>To the bottom left, old hands will recognise AO-40RCV &#8211; I&#8217;m using this to help me manually tune in the BPSK telemetry downlink in Spectravue as my decoder doesn&#8217;t currently have AFC. The decoder showing the demodulated frames (well, in raw hexadecimal after the forward error correction) is done by some code I wrote back in March at the top left of the shot. Nice that the coding and FEC part\u00a0of the FUNcube specification has remained unchanged from its inception!<\/p>\n<p>The basic telemetry specification\u00a0is based heavily on AO-40&#8217;s FEC model. 256 bytes uncoded, 5200 bits coded. However the uncoded content structure is totally different\u00a0with the frame shown here as packed binary hence the gobbledegook. Down &#8220;on the wire&#8221;, we&#8217;re also transmitting raw at 1200bps rather than Manchester at 400bps symbol rate as on AO-40.<\/p>\n<p>Some raw detail for those of you with insomnia:<\/p>\n<p>O 1200bps DBPSK channel bit rate (phase change -&gt; zero, no phase change -&gt; one)<br \/>\nO Tx: x\/sin(x) compensated Beta=0.5 root raised cosine<br \/>\nO Rx: Beta=0.5 root raised cosine<br \/>\nO Each tlm block is 256 bytes (2048 bits)<br \/>\nO FEC encoding (<!-- m --><a href=\"http:\/\/www.amsat.org\/amsat\/articles\/g3ruh\/125.html\">http:\/\/www.amsat.org\/amsat\/articles\/g3ruh\/125.html<\/a><!-- m -->) makes 5200 channel bits<br \/>\nO Although there is a 65 bit distributed sync vector\/marker within the FEC, an additional 32 bit sync marker (0x1acffc1d) prepends the 5200 FEC\u2019d bits sent MSB first. This prepended sync marker is now largely vestigial, although for low power receivers use of the 32 bit sync vector may be beneficial as it is much less CPU intensive at the expense of a dB or so of sensitivity.<br \/>\nO 768 bits preamble of zeros: technically not needed for demodulation, however lets you \u201chear\u201d the signal and see it on a waterfall under low s\/n conditions.<br \/>\nO Total channel bits = 768 (preamble) + 32 (vestigial sync marker) + 5200 (FEC bits) = 6000 bits, or exactly 5 seconds at 1200bps.<\/p>\n<p>Some further info on the BPSK filtering used:<\/p>\n<p>TX<\/p>\n<p>Root raised cosine<br \/>\nx\/sin(x) compensated<br \/>\n9600Hz sampling rate<br \/>\n600Hz roll off<br \/>\nBeta=0.5<br \/>\nlength=71 taps (chosen as 65 taps [9 bytes] is recommended minimum, but it costs no more to make it up to 71 taps)<br \/>\nHamming window<br \/>\nSum of taps are &#8220;massaged&#8221; into signed 8 bit using a spreadsheet<br \/>\n4096 bytes ROM required<\/p>\n<p>RX<\/p>\n<p>Root raised cosine<br \/>\nNo x\/sin(x) compensation<br \/>\n9600Hz sampling rate<br \/>\n600Hz roll off<br \/>\nBeta=0.5<br \/>\nlength=65 taps<br \/>\nHamming window<br \/>\nReal time single precision floating point calculation used<\/p>\n<p>And an audio example of what we can decode 100%:<a href=\"https:\/\/www.funcubedongle.com\/wp-content\/uploads\/2010\/11\/out.mp3\">Noisy FUNcube telemetry<\/a>, and here are the corrections performed for the audio:<br \/>\n<a href=\"https:\/\/www.funcubedongle.com\/wp-content\/uploads\/2010\/11\/wow2.jpg\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.funcubedongle.com\/wp-content\/uploads\/2010\/11\/wow2.jpg\" alt=\"\" title=\"wow2\" width=\"668\" height=\"331\" class=\"aligncenter size-full wp-image-204\" srcset=\"https:\/\/www.funcubedongle.com\/wp-content\/uploads\/2010\/11\/wow2.jpg 668w, https:\/\/www.funcubedongle.com\/wp-content\/uploads\/2010\/11\/wow2-300x148.jpg 300w\" sizes=\"(max-width: 668px) 100vw, 668px\" \/><\/a><br \/>\nHoward<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Here is a picture of the first decoded frames from the FUNcube satellite we had on terra firma at Martlesham this last weekend.The Spectravue plot to the right shows the\u00a0satellite&#8217;s downlink\u00a0received\u00a0using a FUNcube Dongle. To the right hand side of &hellip; <a href=\"https:\/\/www.funcubedongle.com\/?p=195\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.funcubedongle.com\/index.php?rest_route=\/wp\/v2\/posts\/195"}],"collection":[{"href":"https:\/\/www.funcubedongle.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.funcubedongle.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.funcubedongle.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.funcubedongle.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=195"}],"version-history":[{"count":7,"href":"https:\/\/www.funcubedongle.com\/index.php?rest_route=\/wp\/v2\/posts\/195\/revisions"}],"predecessor-version":[{"id":202,"href":"https:\/\/www.funcubedongle.com\/index.php?rest_route=\/wp\/v2\/posts\/195\/revisions\/202"}],"wp:attachment":[{"href":"https:\/\/www.funcubedongle.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.funcubedongle.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.funcubedongle.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}