{"id":2867,"date":"2018-01-13T05:44:33","date_gmt":"2018-01-13T12:44:33","guid":{"rendered":"http:\/\/fallows.ca\/wp\/?p=2867"},"modified":"2018-01-13T09:24:56","modified_gmt":"2018-01-13T16:24:56","slug":"creating-frequency-modulation-gnuradio","status":"publish","type":"post","link":"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/","title":{"rendered":"Creating Frequency Modulation in GNURadio"},"content":{"rendered":"<p><a href=\"http:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2877\" src=\"http:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.jpg\" alt=\"creating frequency modulation\" width=\"410\" height=\"199\" srcset=\"https:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.jpg 410w, https:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation-300x146.jpg 300w\" sizes=\"auto, (max-width: 410px) 100vw, 410px\" \/><\/a><\/p>\n<p>Let&#8217;s experiment with creating frequency modulation in GNURadio. Along the way, we will learn about deviation and voltage controlled oscillators.\u00a0<!--more--><\/p>\n<p>Experimenting with GNURadio provides an opportunity to build your understanding of how things really work. This is especially so for understanding modulation. Amplitude modulation is fairly easy to understand. You vary the strength of the carrier with a message signal and create sidebands with information. Creating frequency modulation is way more complex.<\/p>\n<p>FM is a form of angle or exponential modulation. This involves modifying the phase angle of a sinusoid &#8211; the carrier. When you do this, the carrier wave deviates from its resting or center frequency. The amount of deviation varies from a few kHz for Narrow Band FM, up to 75 kHz for Wide Band FM. So this is why commercial FM stations are spaced 200 kHz apart: twice 75 kHz for deviations above and below center, plus another 25 kHz guard band on each side.<\/p>\n<p>So, how does FM sort out volume and sound frequencies? First, the amplitude of the modulation is what drives deviation. How loud a message sounds depends on the proportion of actual to expected deviation. Second, the modulating message creates sidebands for each frequency in the message. The number and strength of these sidebands depends on the Modulation Index, which is the ratio of peak deviation to modulating frequency.<\/p>\n<p>Unlike AM, there is no such thing as 100% modulation in FM. The bandwidth of an FM signal can be infinite with sidebands stretching out forever. Fortunately,<a href=\"https:\/\/en.wikipedia.org\/wiki\/Carson_bandwidth_rule\" target=\"_blank\" rel=\"noopener nofollow\"> Carson&#8217;s Rule<\/a> tells us that most of the signal can be decoded from just some of the sidebands.<\/p>\n<p>Obviously, I am skipping over the math, as well as Bessel Functions which describe the nature of the FM sidebands. If you want an easy to read description of all the math and modulation, check out a wonderful Application Note from Hewlett Packard called <a href=\"http:\/\/www2.ee.ufpe.br\/codec\/HP_AM_FM.pdf\" target=\"_blank\" rel=\"noopener nofollow\">Spectrum Analysis Amplitude and Frequency Modulation<\/a>.<\/p>\n<h2>Creating Frequency Modulation &#8211; GNURadio brings theory to life<\/h2>\n<p>A great way to understand the theory and math is to run a simulation in GNURadio. For my latest project, I created an FM transmitting and receiving system. As usual, you can <a class=\"vp-a\" href=\"https:\/\/youtu.be\/zBi2afILCI8\">watch the video<\/a> and download the GNURadio Companion program file.\u00a0[sdm_download id=&#8221;4119&#8243; fancy=&#8221;0&#8243; color=&#8221;orange&#8221; button_text=&#8221;Download GRC File&#8221;]<\/p>\n<p>This program gives you the choice of broadcasting tones or an audio file. Especially important, it provides complete control over amplitude and deviation. You can experiment with narrow or wide band modulation, or anything in between. This experiment also shows how to use the Voltage Controlled Oscillator in GNURadio.<\/p>\n<p>Have fun!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s experiment with creating frequency modulation in GNURadio. Along the way, we will learn about deviation and voltage controlled oscillators.\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":"","jetpack_publicize_message":"Creating Frequency Modulation in GNURadio #gnuradio #hamr #hamradio #SDR","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[12],"tags":[269,242,243,34],"series":[268],"class_list":["post-2867","post","type-post","status-publish","format-standard","hentry","category-software-defined-radio","tag-gnuradio","tag-hamr","tag-hamradio","tag-sdr","series-exploring-gnuradio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Creating Frequency Modulation in GNURadio - Living On The Horizon<\/title>\n<meta name=\"description\" content=\"Let&#039;s experiment with creating frequency modulation in GNURadio. Along the way, we will learn about deviation and voltage controlled oscillators.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creating Frequency Modulation in GNURadio - Living On The Horizon\" \/>\n<meta property=\"og:description\" content=\"Let&#039;s experiment with creating frequency modulation in GNURadio. Along the way, we will learn about deviation and voltage controlled oscillators.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/\" \/>\n<meta property=\"og:site_name\" content=\"Living On The Horizon\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-13T12:44:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-01-13T16:24:56+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.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: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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/\",\"url\":\"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/\",\"name\":\"Creating Frequency Modulation in GNURadio - Living On The Horizon\",\"isPartOf\":{\"@id\":\"https:\/\/fallows.ca\/wp\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.jpg\",\"datePublished\":\"2018-01-13T12:44:33+00:00\",\"dateModified\":\"2018-01-13T16:24:56+00:00\",\"author\":{\"@id\":\"https:\/\/fallows.ca\/wp\/#\/schema\/person\/9750e0ab227030255d9806757525f945\"},\"description\":\"Let's experiment with creating frequency modulation in GNURadio. Along the way, we will learn about deviation and voltage controlled oscillators.\",\"breadcrumb\":{\"@id\":\"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/#primaryimage\",\"url\":\"https:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.jpg\",\"contentUrl\":\"https:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.jpg\",\"width\":410,\"height\":199,\"caption\":\"creating frequency modulation\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fallows.ca\/wp\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Radio\",\"item\":\"https:\/\/fallows.ca\/wp\/category\/radio\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Ham Radio\",\"item\":\"https:\/\/fallows.ca\/wp\/category\/radio\/ham-radio\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Creating Frequency Modulation in GNURadio\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fallows.ca\/wp\/#website\",\"url\":\"https:\/\/fallows.ca\/wp\/\",\"name\":\"Living On The Horizon\",\"description\":\"Blogs and Stuff\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fallows.ca\/wp\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/fallows.ca\/wp\/#\/schema\/person\/9750e0ab227030255d9806757525f945\",\"name\":\"John VE6EY\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/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\"],\"url\":\"https:\/\/fallows.ca\/wp\/author\/play\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Creating Frequency Modulation in GNURadio - Living On The Horizon","description":"Let's experiment with creating frequency modulation in GNURadio. Along the way, we will learn about deviation and voltage controlled oscillators.","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:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/","og_locale":"en_US","og_type":"article","og_title":"Creating Frequency Modulation in GNURadio - Living On The Horizon","og_description":"Let's experiment with creating frequency modulation in GNURadio. Along the way, we will learn about deviation and voltage controlled oscillators.","og_url":"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/","og_site_name":"Living On The Horizon","article_published_time":"2018-01-13T12:44:33+00:00","article_modified_time":"2018-01-13T16:24:56+00:00","og_image":[{"url":"http:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.jpg","type":"","width":"","height":""}],"author":"John VE6EY","twitter_card":"summary_large_image","twitter_creator":"@VE6EY","twitter_misc":{"Written by":"John VE6EY","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/","url":"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/","name":"Creating Frequency Modulation in GNURadio - Living On The Horizon","isPartOf":{"@id":"https:\/\/fallows.ca\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/#primaryimage"},"image":{"@id":"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/#primaryimage"},"thumbnailUrl":"http:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.jpg","datePublished":"2018-01-13T12:44:33+00:00","dateModified":"2018-01-13T16:24:56+00:00","author":{"@id":"https:\/\/fallows.ca\/wp\/#\/schema\/person\/9750e0ab227030255d9806757525f945"},"description":"Let's experiment with creating frequency modulation in GNURadio. Along the way, we will learn about deviation and voltage controlled oscillators.","breadcrumb":{"@id":"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/#primaryimage","url":"https:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.jpg","contentUrl":"https:\/\/fallows.ca\/wp\/wp-content\/uploads\/2018\/01\/creating-frequency-modulation.jpg","width":410,"height":199,"caption":"creating frequency modulation"},{"@type":"BreadcrumbList","@id":"https:\/\/fallows.ca\/wp\/radio\/software-defined-radio\/creating-frequency-modulation-gnuradio\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fallows.ca\/wp\/"},{"@type":"ListItem","position":2,"name":"Radio","item":"https:\/\/fallows.ca\/wp\/category\/radio\/"},{"@type":"ListItem","position":3,"name":"Ham Radio","item":"https:\/\/fallows.ca\/wp\/category\/radio\/ham-radio\/"},{"@type":"ListItem","position":4,"name":"Creating Frequency Modulation in GNURadio"}]},{"@type":"WebSite","@id":"https:\/\/fallows.ca\/wp\/#website","url":"https:\/\/fallows.ca\/wp\/","name":"Living On The Horizon","description":"Blogs and Stuff","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fallows.ca\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/fallows.ca\/wp\/#\/schema\/person\/9750e0ab227030255d9806757525f945","name":"John VE6EY","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/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"],"url":"https:\/\/fallows.ca\/wp\/author\/play\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6wKKr-Kf","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/posts\/2867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/comments?post=2867"}],"version-history":[{"count":3,"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/posts\/2867\/revisions"}],"predecessor-version":[{"id":2878,"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/posts\/2867\/revisions\/2878"}],"wp:attachment":[{"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/media?parent=2867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/categories?post=2867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/tags?post=2867"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/fallows.ca\/wp\/wp-json\/wp\/v2\/series?post=2867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}