{"id":6388,"date":"2019-10-16T23:39:57","date_gmt":"2019-10-16T18:09:57","guid":{"rendered":"https:\/\/nuclearrambo.com\/wordpress\/?p=6388"},"modified":"2024-10-03T15:27:56","modified_gmt":"2024-10-03T09:57:56","slug":"transferring-a-text-file-over-the-air-with-limesdr-mini","status":"publish","type":"post","link":"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/","title":{"rendered":"Transferring a text file over the air with LimeSDR mini"},"content":{"rendered":"\n<p>We have seen the LimeSDR mini several times on this blog. So far, we have only seen how it can generate analog modulation to <a href=\"https:\/\/nuclearrambo.com\/wordpress\/transmitting-ssb-audio-with-limesdr-mini\/\">transmit voice<\/a> and what not. Being an SDR capable to transmit practically anything, we can even transmit binary data. Speaking of binary, we will have to jump into digital modulation techniques. In this article, I will demonstrate how I used the LimeSDR mini to transmit a small CSV text file over the air. For this experiment, I will use three things. One of them is obviously the LimeSDR mini. The second one is our friend <a href=\"https:\/\/www.gnuradio.org\/\">GNURadio<\/a> and the third being an <a href=\"https:\/\/www.rtl-sdr.com\/\">RTL-SDR<\/a> to receive it on the other side.<\/p>\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">The transmitter setup<\/h2>\n\n\n\n<p>The setup will be quite simple and I won&#8217;t go into too many technical details. My choice of modulation will be <a href=\"http:\/\/www.eng.auburn.edu\/~troppel\/courses\/TIMS-manuals-r5\/TIMS%20Experiment%20Manuals\/Student_Text\/Vol-D1\/D1-08.pdf\">Binary Phase shift Keying<\/a> <a href=\"http:\/\/www.eng.auburn.edu\/~troppel\/courses\/TIMS-manuals-r5\/TIMS%20Experiment%20Manuals\/Student_Text\/Vol-D1\/D1-08.pdf\">(BPSK)<\/a> and my GNU Radio flow graph will tell you how I did it.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/bpsk_tx\/\" rel=\"attachment wp-att-6389\"><img loading=\"lazy\" decoding=\"async\" width=\"1247\" height=\"307\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/10\/bpsk_tx.png\" alt=\"bpsk tx limesdr\" class=\"wp-image-6389\"\/><\/a><figcaption class=\"wp-element-caption\">Transmit side flow graph<\/figcaption><\/figure>\n\n\n\n<p>Here, we start with the File source that provides an output in byte format. The &#8216;Packet Encoder&#8217; accepts the byte and encodes the data in &#8216;1 bit&#8217; per symbol format. Further, the <a href=\"https:\/\/wiki.gnuradio.org\/index.php\/Constellation_Modulator\">constellation modulator<\/a> maps the bit to corresponding phase shifts known as symbols. In case of BPSK modulation, the phase shifts between two symbols are going to be \\(180^o\\) apart. If we were to use QPSK modulation, the packet encoder would have to provide &#8216;2 bits&#8217; per symbol. Correspondingly, the Constellation modulator would map the symbols \\(90^o\\) apart. Remember, the modulated bits are simply mapped to their respective phases represented as either \\(1 and -1[latex].<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/const\/\" rel=\"attachment wp-att-6393\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"254\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/10\/const.png\" alt=\"\" class=\"wp-image-6393\"\/><\/a><figcaption class=\"wp-element-caption\">Phase vs. symbol. This is what we call a constellation diagram.<\/figcaption><\/figure>\n\n\n\n<p>I am sure you must have seen the QPSK constellation while downloading <a href=\"http:\/\/happysat.nl\/Setup_Meteor\/Setup.html\">Meteor-M2 images with your RTL-SDR setup<\/a>.<\/p>\n\n\n\n<center><p><script type=\"text\/javascript\">\n\tatOptions = {\n\t\t'key' : 'a488f095e80c8a74746e5fdca977eaea',\n\t\t'format' : 'iframe',\n\t\t'height' : 90,\n\t\t'width' : 728,\n\t\t'params' : {}\n\t};\n\tdocument.write('<scr' + 'ipt type=\"text\/javascript\" src=\"http' + (location.protocol === 'https:' ? 's' : '') + ':\/\/www.profitabledisplaynetwork.com\/a488f095e80c8a74746e5fdca977eaea\/invoke.js\"><\/scr' + 'ipt>');\n<\/script><\/p><\/center>\n\n\n\n<h3 class=\"wp-block-heading\">A little math<\/h3>\n\n\n\n<p>To understand this process better, imagine that you have a sine wave. Multiplying it with [latex]+1\\) will result in,<\/p>\n\n\n\n<p class=\"has-text-align-center\">\\(+1 \\times sin(2\\pi ft) = sin(2\\pi ft)\\)<\/p>\n\n\n\n<p>Whereas, multiplying it with \\(-1\\) will result in,<\/p>\n\n\n\n<p class=\"has-text-align-center\">\\(-1 \\times sin(2\\pi ft) = -sin(2\\pi ft)\\)<\/p>\n\n\n\n<p>The negative sign on the sine indicates a \\(180^o\\) phase shift. Correspondingly, we would see the following waveform.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/5-figure1-1\/\" rel=\"attachment wp-att-6392\"><img loading=\"lazy\" decoding=\"async\" width=\"1186\" height=\"796\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/10\/5-Figure1-1.png\" alt=\"bpsk with limesdr\" class=\"wp-image-6392\"\/><\/a><figcaption class=\"wp-element-caption\">BPSK waveform<\/figcaption><\/figure>\n\n\n\n<p>The phase shift or rather the symbols now need to be mounted on a carrier. To do that, we multiply the symbols with a 20kHz sine wave. It could be any frequency in the<a href=\"http:\/\/www.fon.hum.uva.nl\/praat\/manual\/Nyquist_frequency.html\"> nyquist range<\/a>. After doing do, we will change the sampling rate to match the sampling rate of the LimeSDR DAC. The rational resampler block interpolates the modulated signal by 20 times to achieve the LimeSDR sampling rate of 2.048MHz. I chose the sampling rate of the LimeSDR to be an integer multiple of the base band sampling rate to reduce the complications. Notice that the LimeSDR sink is set to up-conversion mode. We will be transmitting the data on 435MHz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The receiver setup<\/h2>\n\n\n\n<p>On the receiving end, I am using an RTL-SDR with a sampling rate set to 1.024MHz. The gains are set to automatic and the RF value set to 435MHz. Again, on the receiving side, we decimate the data stream from RTL-SDR. Further, multiply it with a 20kHz source to center the constellation around DC. The received data could also contain unwanted signals which need to be filtered out. The low pass filter takes care of that. Furthermore, the <a href=\"https:\/\/wiki.gnuradio.org\/index.php\/Polyphase_Clock_Sync\">polyphase clock sync block<\/a> synchronizes the sampling time such that we get the maximum possible signal to noise ratio. The <a href=\"https:\/\/wiki.gnuradio.org\/index.php\/Costas_Loop\">costas loop<\/a> is meant for fine frequency correction which is necessary for correct demodulation of digital signals. An uncorrected frequency will result in the phase rotating constantly leading to no demodulation happening altogether. The <a href=\"https:\/\/wiki.gnuradio.org\/index.php\/Costas_Loop\">costas loop<\/a> basically locks onto the received signal&#8217;s carrier and outputs a good demodulated constellation.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/bpsk_rx-2\/\" rel=\"attachment wp-att-6394\"><img loading=\"lazy\" decoding=\"async\" width=\"1259\" height=\"574\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/10\/bpsk_rx-1.png\" alt=\"bpsk limesdr file transfer\" class=\"wp-image-6394\"\/><\/a><figcaption class=\"wp-element-caption\">The receiver flowgraph for BPSK reception<\/figcaption><\/figure>\n\n\n\n<p>After the Costas Loop, you can see the<a href=\"https:\/\/wiki.gnuradio.org\/index.php\/LMS_DD_Equalizer\"> LMS DD Equalizer block<\/a>. What this does is basically tries to compensate the multipath effects. In case you don&#8217;t know, whenever we transmit a signal, it will travel wherever it can and even bounce of multiple walls, objects, moving vehicles and so on before finally arriving at the receiving antenna. Correspondingly, all these paths vary in distance resulting in a shifted versions of the signal arriving at the receiver. The Equalizer block tries to minimize the effect of multipath propagation.<\/p>\n\n\n\n<p>Furthermore, we demodulate the carrier and end up with bits. Remember, we have enabled differential encoding in the transmitter and we need to decode it to retrieve the original bit pattern. The differential decoder does that job and passes the data further to the packet decoder and then to the File sink. To elaborate, the File Sink block requires the data to be 8 bits in size. The Packet decoder block packs the 1 bit per symbol into 8 bits before sending it to the File sink.<\/p>\n\n\n\n<p>If you wish to read more about this in detail, you can follow this link to <a href=\"https:\/\/wiki.gnuradio.org\/index.php\/Guided_Tutorial_PSK_Demodulation\">GNURadio official guide<\/a>.<\/p>\n\n\n\n<center><p><script type=\"text\/javascript\">\n\tatOptions = {\n\t\t'key' : 'a488f095e80c8a74746e5fdca977eaea',\n\t\t'format' : 'iframe',\n\t\t'height' : 90,\n\t\t'width' : 728,\n\t\t'params' : {}\n\t};\n\tdocument.write('<scr' + 'ipt type=\"text\/javascript\" src=\"http' + (location.protocol === 'https:' ? 's' : '') + ':\/\/www.profitabledisplaynetwork.com\/a488f095e80c8a74746e5fdca977eaea\/invoke.js\"><\/scr' + 'ipt>');\n<\/script><\/p><\/center>\n\n\n\n<h2 class=\"wp-block-heading\">Results<\/h2>\n\n\n\n<p>While transmitting the file, the receiver often drops the initial few bytes of data. This happens because the receiver algorithms, especially the clock sync and the costas loop require time to converge. For testing the setup, I chose a small CSV file and transmitted it. Except for losing the initial couple of bytes, the transmission was flawless.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/img_20191016_231420\/\" rel=\"attachment wp-att-6396\"><img loading=\"lazy\" decoding=\"async\" width=\"1107\" height=\"830\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/10\/IMG_20191016_231420.png\" alt=\"\" class=\"wp-image-6396\"\/><\/a><figcaption class=\"wp-element-caption\">BPSK constellation while receiving on RTL SDR<\/figcaption><\/figure>\n\n\n\n<p>I used an online tool to compare the transmitted and received files and here is the result below. We are able to receive correct data over the air and the comparison of two files prove it.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/file_compare\/\" rel=\"attachment wp-att-6400\"><img loading=\"lazy\" decoding=\"async\" width=\"852\" height=\"982\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/10\/file_compare.png\" alt=\"limesdr file transfer\" class=\"wp-image-6400\"\/><\/a><figcaption class=\"wp-element-caption\">Transmitted file on the right and received file on the left. A 99% match.<\/figcaption><\/figure>\n\n\n\n<p>When trying this with QPSK, the packet encoder does not work correctly every time. It took me several tries to make it work. Apparently, the initial convergence time plays a significant role in QPSK transmission especially when you are using the packet encoder block which is known to be flawed. Perhaps, I will have to find an alternative to that. Finally, <a href=\"https:\/\/drive.google.com\/file\/d\/14RbE7qLItulMxwj90qtWSvw2hg04PQ3E\/view?usp=sharing\">this is the link to the GRC file<\/a> which contains both, the TX as well as the RX blocks. Simply enable or disable them as per your need.<\/p>\n\n\n\n<p>If you don&#8217;t have a LimeSDR mini, you could try this setup on a PlutoSDR or even HackRF one. In case you have neither of those, go ahead and buy one from Aliexpress.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/s.click.aliexpress.com\/e\/_AKsldx\">HackRF One<\/a><\/h3>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/s.click.aliexpress.com\/e\/_AdBNut\">LimeSDR Mini<\/a><\/h3>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/amzn.to\/3gC4hsk\">PlutoSDR<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>We have seen the LimeSDR mini several times on this blog. So far, we have only seen how it can generate analog modulation to transmit voice and what not. Being an SDR capable to&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":6396,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1694,1212,1562],"tags":[170,1714,1707,1644,1645,1718,1719],"class_list":["post-6388","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-amateur-radio","category-electronics-2","category-tutorials","tag-electronics","tag-gnuradio","tag-hamradio","tag-limesdr","tag-rf","tag-rtlsdr","tag-transmission"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Transferring a text file over the air with LimeSDR mini<\/title>\n<meta name=\"description\" content=\"We learn to transmit a simple text file over the air with GNURadio interfaced with LimeSDR mini. On the other end we use RTL-SDR to receive the file.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Transferring a text file over the air with LimeSDR mini\" \/>\n<meta property=\"og:description\" content=\"We learn to transmit a simple text file over the air with GNURadio interfaced with LimeSDR mini. On the other end we use RTL-SDR to receive the file.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/\" \/>\n<meta property=\"og:site_name\" content=\"Nuclearrambo\" \/>\n<meta property=\"article:published_time\" content=\"2019-10-16T18:09:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-03T09:57:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/10\/IMG_20191016_231420.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1107\" \/>\n\t<meta property=\"og:image:height\" content=\"830\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"nuclearrambo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@darkusul\" \/>\n<meta name=\"twitter:site\" content=\"@darkusul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"nuclearrambo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/\"},\"author\":{\"name\":\"nuclearrambo\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c\"},\"headline\":\"Transferring a text file over the air with LimeSDR mini\",\"datePublished\":\"2019-10-16T18:09:57+00:00\",\"dateModified\":\"2024-10-03T09:57:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/\"},\"wordCount\":1085,\"commentCount\":28,\"publisher\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#organization\"},\"keywords\":[\"electronics\",\"gnuradio\",\"hamradio\",\"limesdr\",\"rf\",\"rtlsdr\",\"transmission\"],\"articleSection\":[\"Amateur Radio\",\"Electronics\",\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/\",\"name\":\"Transferring a text file over the air with LimeSDR mini\",\"isPartOf\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#website\"},\"datePublished\":\"2019-10-16T18:09:57+00:00\",\"dateModified\":\"2024-10-03T09:57:56+00:00\",\"description\":\"We learn to transmit a simple text file over the air with GNURadio interfaced with LimeSDR mini. On the other end we use RTL-SDR to receive the file.\",\"breadcrumb\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/nuclearrambo.com\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transferring a text file over the air with LimeSDR mini\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#website\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/\",\"name\":\"Nuclearrambo\",\"description\":\"Information is FREE! Progress is MUST! Awakening is inevitable!\",\"publisher\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nuclearrambo.com\/wordpress\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#organization\",\"name\":\"Nuclearrambo\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png\",\"contentUrl\":\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png\",\"width\":1489,\"height\":1152,\"caption\":\"Nuclearrambo\"},\"image\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/darkusul\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c\",\"name\":\"nuclearrambo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g\",\"caption\":\"nuclearrambo\"},\"description\":\"Salil is an electronics enthusiast working on various electronics systems. In his free time he writes on the blog, talks over ham radio or builds circuits. He has Yaesu FT2900R VHF transceiver, FT450D HF transceiver, TYT UV8000E and Quansheng UVK6 Handheld transceivers.\",\"sameAs\":[\"http:\/\/nuclearrambo.com\/wordpress\"],\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Transferring a text file over the air with LimeSDR mini","description":"We learn to transmit a simple text file over the air with GNURadio interfaced with LimeSDR mini. On the other end we use RTL-SDR to receive the file.","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:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/","og_locale":"en_US","og_type":"article","og_title":"Transferring a text file over the air with LimeSDR mini","og_description":"We learn to transmit a simple text file over the air with GNURadio interfaced with LimeSDR mini. On the other end we use RTL-SDR to receive the file.","og_url":"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/","og_site_name":"Nuclearrambo","article_published_time":"2019-10-16T18:09:57+00:00","article_modified_time":"2024-10-03T09:57:56+00:00","og_image":[{"width":1107,"height":830,"url":"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/10\/IMG_20191016_231420.png","type":"image\/png"}],"author":"nuclearrambo","twitter_card":"summary_large_image","twitter_creator":"@darkusul","twitter_site":"@darkusul","twitter_misc":{"Written by":"nuclearrambo","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/#article","isPartOf":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/"},"author":{"name":"nuclearrambo","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c"},"headline":"Transferring a text file over the air with LimeSDR mini","datePublished":"2019-10-16T18:09:57+00:00","dateModified":"2024-10-03T09:57:56+00:00","mainEntityOfPage":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/"},"wordCount":1085,"commentCount":28,"publisher":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#organization"},"keywords":["electronics","gnuradio","hamradio","limesdr","rf","rtlsdr","transmission"],"articleSection":["Amateur Radio","Electronics","Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/","url":"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/","name":"Transferring a text file over the air with LimeSDR mini","isPartOf":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#website"},"datePublished":"2019-10-16T18:09:57+00:00","dateModified":"2024-10-03T09:57:56+00:00","description":"We learn to transmit a simple text file over the air with GNURadio interfaced with LimeSDR mini. On the other end we use RTL-SDR to receive the file.","breadcrumb":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nuclearrambo.com\/wordpress\/transferring-a-text-file-over-the-air-with-limesdr-mini\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nuclearrambo.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Transferring a text file over the air with LimeSDR mini"}]},{"@type":"WebSite","@id":"https:\/\/nuclearrambo.com\/wordpress\/#website","url":"https:\/\/nuclearrambo.com\/wordpress\/","name":"Nuclearrambo","description":"Information is FREE! Progress is MUST! Awakening is inevitable!","publisher":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nuclearrambo.com\/wordpress\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/nuclearrambo.com\/wordpress\/#organization","name":"Nuclearrambo","url":"https:\/\/nuclearrambo.com\/wordpress\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/","url":"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png","contentUrl":"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2021\/01\/logo-nuclearrambo.png","width":1489,"height":1152,"caption":"Nuclearrambo"},"image":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/darkusul"]},{"@type":"Person","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c","name":"nuclearrambo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9cc8a9d2d82dd7e65e77405f7b4ccaa34450e8a268f369ac893882cc5f13a797?s=96&r=g","caption":"nuclearrambo"},"description":"Salil is an electronics enthusiast working on various electronics systems. In his free time he writes on the blog, talks over ham radio or builds circuits. He has Yaesu FT2900R VHF transceiver, FT450D HF transceiver, TYT UV8000E and Quansheng UVK6 Handheld transceivers.","sameAs":["http:\/\/nuclearrambo.com\/wordpress"],"url":"https:\/\/nuclearrambo.com\/wordpress\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/6388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/comments?post=6388"}],"version-history":[{"count":13,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/6388\/revisions"}],"predecessor-version":[{"id":8446,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/6388\/revisions\/8446"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/media\/6396"}],"wp:attachment":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/media?parent=6388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/categories?post=6388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/tags?post=6388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}