{"id":5536,"date":"2014-09-19T11:56:02","date_gmt":"2014-09-19T15:56:02","guid":{"rendered":"https:\/\/blogs.mathworks.com\/pick\/?p=5536"},"modified":"2014-09-19T12:05:19","modified_gmt":"2014-09-19T16:05:19","slug":"simrf-models-of-analog-devices-rf-agile-transceivers","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/pick\/2014\/09\/19\/simrf-models-of-analog-devices-rf-agile-transceivers\/","title":{"rendered":"SimRF Models of Analog Devices RF Agile Transceivers"},"content":{"rendered":"<div xmlns:mwsh=\"https:\/\/www.mathworks.com\/namespace\/mcode\/v1\/syntaxhighlight.dtd\" class=\"content\">\r\n   <introduction>\r\n      <p><a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/29096\">Idin<\/a>'s pick for this week is the <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/46626-rf-blockset-models-of-analog-devices-rf-agile-transceivers\">SimRF Models<\/a> of Analog Devices RF Agile Transceivers by <a href=\"https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/466839\">MathWorks RF Team<\/a>.\r\n      <\/p>\r\n   <\/introduction>\r\n\r\n   <p>This is probably one of the best documented submissions on the File Exchange. The Simulink models in this submission can be\r\n      used to accurately simulate a commercial radio frequency (RF) chip (Analog Devices AD9361).  The work was the result of collaboration\r\n      between MathWorks and Analog Devices engineers, and the final result is a software model that matches the behavior of the\r\n      physical device on the lab bench.\r\n   <\/p>\r\n   <p><img decoding=\"async\" vspace=\"5\" hspace=\"5\" src=\"https:\/\/blogs.mathworks.com\/images\/pick\/Sean\/main_Idin2\/Idin_2_image1.png\"> <\/p>\r\n   <p>You can get a lot of details on the hardware and these software models <a href=\"https:\/\/www.mathworks.com\/hardware-support\/analog-devices-rf-transceivers.html\">here<\/a>.\r\n   <\/p>\r\n   <p>I will not go into any further technical details on this page, but I want to point out why I believe this was a useful and\r\n      interesting project.\r\n   <\/p>\r\n   <p>First, this is just plain cool! Seeing any software model predict (or match) hardware behavior at the level of detail that\r\n      we find in these models is always interesting (having run simulations for 15+ years, I&#8217;m still amused when what I see in the\r\n      lab matches what I predicted in simulation; it feels magical every time!)\r\n   <\/p>\r\n   <p>Second, it helps understand and program the chip.  An RF chip like the AD9361 (or most any chip for that matter) is a complex\r\n      piece of hardware, and you can't see inside of it. This is an \"agile\" RF transceiver, which means it can be programmed to\r\n      perform many different tasks for many different radio applications. Understanding the functioning of such a chip, and programming\r\n      it correctly are rather difficult tasks in hardware, especially when the results of one's work can't be seen immediately (at\r\n      least not without the use of expensive lab equipment such as spectrum analyzers).  Having a software model that accurately\r\n      mimics the hardware allows me to understand the behavior of the hardware such that I can program it better.\r\n   <\/p>\r\n   <p>Third, debugging.  If you have programmed anything but the simplest piece of hardware, you know that things rarely do what\r\n      you want on the first try.  Understanding apparent anomalies and hardware \"misbehavior\" is made infinitely easier when we\r\n      can go to a simulation model and trace different signals to our heart\"s content!  With this Simulink model I can look at intermediate\r\n      signals that I could never access on the physical chip.  These intermediate signals often hold the key to understanding why\r\n      the system&#8217;s outputs look the way they do.\r\n   <\/p>\r\n   <p>Fourth (this should really be 3.5), studying the effects of an RF chip on digital baseband signals. These effects are generally\r\n      something that we observe once we put everything together in the lab.  Being able to simulate the digital baseband with the\r\n      RF front-end will be quite useful in designing a robust communication system before we put any hardware together.  Remember\r\n      that as cool as physical prototypes are, they're typically quite expensive and time-consuming to build.\r\n   <\/p>\r\n   <p>Finally (or fifth!), it builds trust in Simulink and SimRF.  This one explains why we invested the time to do this. The fact\r\n      that we could construct this model in a relatively short amount of time, and that it matches lab measurements, makes us confident\r\n      that the simulation software tools are both capable and accurate. \r\n   <\/p>\r\n   <p>\r\n      I encourage you to take a look at the documentation and\r\n      videos on <a href=\"https:\/\/www.mathworks.com\/hardware-support\/analog-devices-rf-transceivers.html\">this page<\/a> to get more information on this package.\r\n   <\/p>\r\n   <h3>Comments<a name=\"2\"><\/a><\/h3>\r\n   <p>As always, your thoughts and <a href=\"https:\/\/blogs.mathworks.com\/pick\/?p=5536#respond\">comments<\/a> here are greatly appreciated.\r\n   <\/p><script language=\"JavaScript\">\r\n<!--\r\n\r\n    function grabCode_c3048d7f83054f60be66591110fa8bb8() {\r\n        \/\/ Remember the title so we can use it in the new page\r\n        title = document.title;\r\n\r\n        \/\/ Break up these strings so that their presence\r\n        \/\/ in the Javascript doesn't mess up the search for\r\n        \/\/ the MATLAB code.\r\n        t1='c3048d7f83054f60be66591110fa8bb8 ' + '##### ' + 'SOURCE BEGIN' + ' #####';\r\n        t2='##### ' + 'SOURCE END' + ' #####' + ' c3048d7f83054f60be66591110fa8bb8';\r\n    \r\n        b=document.getElementsByTagName('body')[0];\r\n        i1=b.innerHTML.indexOf(t1)+t1.length;\r\n        i2=b.innerHTML.indexOf(t2);\r\n \r\n        code_string = b.innerHTML.substring(i1, i2);\r\n        code_string = code_string.replace(\/REPLACE_WITH_DASH_DASH\/g,'--');\r\n\r\n        \/\/ Use \/x3C\/g instead of the less-than character to avoid errors \r\n        \/\/ in the XML parser.\r\n        \/\/ Use '\\x26#60;' instead of '<' so that the XML parser\r\n        \/\/ doesn't go ahead and substitute the less-than character. \r\n        code_string = code_string.replace(\/\\x3C\/g, '\\x26#60;');\r\n\r\n        author = 'Idin Idin Motedayen-Aval';\r\n        copyright = 'Copyright 2014 The MathWorks, Inc.';\r\n\r\n        w = window.open();\r\n        d = w.document;\r\n        d.write('<pre>\\n');\r\n        d.write(code_string);\r\n\r\n        \/\/ Add author and copyright lines at the bottom if specified.\r\n        if ((author.length > 0) || (copyright.length > 0)) {\r\n            d.writeln('');\r\n            d.writeln('%%');\r\n            if (author.length > 0) {\r\n                d.writeln('% _' + author + '_');\r\n            }\r\n            if (copyright.length > 0) {\r\n                d.writeln('% _' + copyright + '_');\r\n            }\r\n        }\r\n\r\n        d.write('<\/pre>\\n');\r\n      \r\n      d.title = title + ' (MATLAB code)';\r\n      d.close();\r\n      }   \r\n      \r\n-->\r\n<\/script><p style=\"text-align: right; font-size: xx-small; font-weight:lighter;   font-style: italic; color: gray\"><br><a href=\"javascript:grabCode_c3048d7f83054f60be66591110fa8bb8()\"><span style=\"font-size: x-small;        font-style: italic;\">Get \r\n            the MATLAB code \r\n            <noscript>(requires JavaScript)<\/noscript><\/span><\/a><br><br>\r\n      Published with MATLAB&reg; R2014b<br><\/p>\r\n<\/div>\r\n<!--\r\nc3048d7f83054f60be66591110fa8bb8 ##### SOURCE BEGIN #####\r\n%% SimRF Models of Analog Devices RF Agile Transceivers\r\n%\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/29096 Idin>'s pick for this week is the collection of\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/46626-rf-blockset-models-of-analog-devices-rf-agile-transceivers SimRF Models>\r\n% of Analog Devices RF Agile Transceivers by\r\n% <https:\/\/www.mathworks.com\/matlabcentral\/fileexchange\/authors\/466839\r\n% MathWorks RF Team>.\r\n\r\n%%\r\n% This is probably one of the best documented submissions on the File\r\n% Exchange. The Simulink models in this submission can be used to\r\n% accurately simulate a commercial radio frequency (RF) chip (Analog\r\n% Devices AD9361).  The work was the result of collaboration between\r\n% MathWorks and Analog Devices engineers, and the final result is a\r\n% software model that matches the behavior of the physical device on the\r\n% lab bench.\r\n%  \r\n% \r\n% <<Idin_2_image1.png>>\r\n% \r\n%\r\n% You can get a lot of details on the hardware and these software models\r\n% <https:\/\/www.mathworks.com\/hardware-support\/analog-devices-rf-transceivers.html\r\n% here>.\r\n% \r\n% I will not go into any further technical details on this page, but I want\r\n% to point out why I believe this was a useful and interesting project.\r\n%\r\n% First, this is just plain cool! Seeing any software model predict (or\r\n% match) hardware behavior at the level of detail that we find in these\r\n% models is always interesting (having run simulations for 15+ years, I\u00e2\u20ac\u2122m\r\n% still amused when what I see in the lab matches what I predicted in\r\n% simulation; it feels magical every time!) \r\n% \r\n% Second, it helps understand and program the chip.  An RF chip like the\r\n% AD9361 (or most any chip for that matter) is a complex piece of hardware,\r\n% and you can't see inside of it. This is an \"agile\" RF transceiver, which\r\n% means it can be programmed to perform many different tasks for many\r\n% different radio applications. Understanding the functioning of such a\r\n% chip, and programming it correctly are rather difficult tasks in\r\n% hardware, especially when the results of one's work can't be seen\r\n% immediately (at least not without the use of expensive lab equipment such\r\n% as spectrum analyzers).  Having a software model that accurately mimics\r\n% the hardware allows me to understand the behavior of the hardware such\r\n% that I can program it better. \r\n%\r\n% Third, debugging.  If you have programmed anything but the simplest piece\r\n% of hardware, you know that things rarely do what you want on the first\r\n% try.  Understanding apparent anomalies and hardware \"misbehavior\" is made\r\n% infinitely easier when we can go to a simulation model and trace\r\n% different signals to our heart\"s content!  With this Simulink model I can\r\n% look at intermediate signals that I could never access on the physical\r\n% chip.  These intermediate signals often hold the key to understanding why\r\n% the system\u00e2\u20ac\u2122s outputs look the way they do. \r\n% \r\n% Fourth (this should really be 3.5), studying the effects of an RF chip on\r\n% digital baseband signals. These effects are generally something that we\r\n% observe once we put everything together in the lab.  Being able to\r\n% simulate the digital baseband with the RF front-end will be quite useful\r\n% in designing a robust communication system before we put any hardware\r\n% together.  Remember that as cool as physical prototypes are, they're\r\n% typically quite expensive and time-consuming to build. \r\n%\r\n% Finally (or fifth!), it builds trust in Simulink and SimRF.  This one\r\n% explains why we invested the time to do this. The fact that we could\r\n% construct this model in a relatively short amount of time, and that it\r\n% matches lab measurements, makes us confident that the simulation software\r\n% tools are both capable and accurate. I encourage you to take a look at\r\n% the documentation and videos on\r\n% <https:\/\/www.mathworks.com\/hardware-support\/analog-devices-rf-transceivers.html\r\n% this page> to get more information on this package.\r\n% \r\n%% Comments\r\n% As always, your thoughts and\r\n% <https:\/\/blogs.mathworks.com\/pick\/?p=5536#respond comments> here are\r\n% greatly appreciated.\r\n\r\n\r\n##### SOURCE END ##### c3048d7f83054f60be66591110fa8bb8\r\n-->","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img decoding=\"async\"  class=\"img-responsive\" src=\"https:\/\/blogs.mathworks.com\/images\/pick\/Sean\/main_Idin2\/Idin_2_image1.png\" onError=\"this.style.display ='none';\" \/><\/div><p>\r\n   \r\n      Idin's pick for this week is the SimRF Models of Analog Devices RF Agile Transceivers by MathWorks RF Team.\r\n      \r\n   \r\n\r\n   This is probably one of the best documented submissions on... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/pick\/2014\/09\/19\/simrf-models-of-analog-devices-rf-agile-transceivers\/\">read more >><\/a><\/p>","protected":false},"author":36,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,24],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/5536"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/users\/36"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/comments?post=5536"}],"version-history":[{"count":8,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/5536\/revisions"}],"predecessor-version":[{"id":5543,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/posts\/5536\/revisions\/5543"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/media?parent=5536"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/categories?post=5536"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/pick\/wp-json\/wp\/v2\/tags?post=5536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}