{"id":6185,"date":"2019-09-08T22:18:51","date_gmt":"2019-09-08T16:48:51","guid":{"rendered":"https:\/\/nuclearrambo.com\/wordpress\/?p=6185"},"modified":"2024-10-04T12:47:03","modified_gmt":"2024-10-04T07:17:03","slug":"cable-impedance-profile-with-nanovna-and-tdr-script","status":"publish","type":"post","link":"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/","title":{"rendered":"Cable impedance profile with NanoVNA and TDR script"},"content":{"rendered":"\n<p>We have gone over <a href=\"https:\/\/amzn.to\/3vhSyDm\">NanoVNA<\/a> so many times in the past. I did a <a href=\"https:\/\/nuclearrambo.com\/wordpress\/nanovna-a-short-review\/\">complete review of the inexpensive NanoVNA<\/a> last month. Furthermore, I <a href=\"https:\/\/nuclearrambo.com\/wordpress\/comparing-nanovna-with-the-keysight-fieldfox-n9952a\/\">compared it<\/a> with the super-expensive Keysight N9952A Vector Network Analyzer. Finally, I wrote a small script to compute the <a href=\"https:\/\/nuclearrambo.com\/wordpress\/accurately-measuring-cable-length-with-nanovna\/\">TDR response<\/a> from the S-parameter data that NanoVNA gave us. Today, I wrote a small extension to the TDR script to plot the impedance profile of a cable. In this article, we will go over the basic mathematics involved to compute the impedance profile and finally, you all get the script to try it out.<\/p>\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Understanding the concept<\/h2>\n\n\n\n<p>Computing <a href=\"https:\/\/en.wikipedia.org\/wiki\/Time-domain_reflectometry\">TDR (time domain reflectometry)<\/a> from frequency domain data results in what we call as the &#8220;impulse response&#8221;. In other words, it&#8217;s the response of the DUT (device under test) when we inject an impulse. In our previous test case where we used a segment of a cable as the DUT, the impulse went through the cable and reflected back from the open end. Remember that in our case, this impulse is imaginary because we are never sending it in the first place, instead synthesising it using the Inverse Fourier transform.<\/p>\n\n\n\n<p>According to a Keysight Application note, we can derive the impedance profile of the cable if we obtain a step response instead of an impulse response. Now, what is a step response? The step response is when we apply a sudden step signal at the input of the DUT. A step looks like the sharp square wave except that the voltage transitions from 0V to 1V (or whatever volts) and stays there forever.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/ann_unit_step\/\" rel=\"attachment wp-att-6193\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"236\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/09\/ANN_Unit_step.png\" alt=\"\" class=\"wp-image-6193\"\/><\/a><figcaption class=\"wp-element-caption\">Unit step function<\/figcaption><\/figure>\n\n\n\n<p>For those of you who don&#8217;t know, you can obtain a step response of the DUT if you already have the impulse response.<\/p>\n\n\n\n<p>Finding impulse response and step response involve slightly advanced knowledge of signal processing. You can skip the following section.<\/p>\n\n\n\n<p>In order to find the step response of any system, we need to <a href=\"https:\/\/www.dspguide.com\/ch6.htm\">convolve<\/a> the impulse response with the step input.<\/p>\n\n\n\n<p class=\"has-text-align-center\">\\(y(n) = \\sum_{k=-\\infty}^\\infty h(k)u(n-k)\\)<\/p>\n\n\n\n<p>Since, TDR response is \\(0\\) for \\(n &lt; 0\\), the lower limit of the summation changes. Additionally, we are only interested in convolving up to \\(N\\) where \\(N\\) is the number of \\(FFT\\) points.&nbsp; Thus, the equation changes to the following<\/p>\n\n\n\n<p class=\"has-text-align-center\">\\(y(n) = \\sum_{k=0}^\\infty h(k)\\)<\/p>\n\n\n\n<p>Once we obtain the step response, we are very close to plotting the impedance profile. Remember, that the \\(S_{11}\\) is return loss. We need to convert return loss into impedance \\(Z\\).<\/p>\n\n\n\n<p>To do so, we follow a simple derivation below.<\/p>\n\n\n\n<p class=\"has-text-align-center\">\\(S_{11} = \\frac{ Z_{in} &#8211; Z_o }{Z_{in} + Z_o}\\)<\/p>\n\n\n\n<p>Therefore, rearranging the terms gives us an equation to compute \\(Z_{in}\\) from the \\(S_{11}\\).<\/p>\n\n\n\n<p class=\"has-text-align-center\">\\(Z_{in} = Z_o \\biggr(\\frac{1 + S_{11}}{1 &#8211; S_{11}}\\biggl)\\)<\/p>\n\n\n\n<p>Now, let us try to implement this in Python.<\/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\">Python implementation<\/h2>\n\n\n\n<p>As mentioned earlier, the TDR script gives us the impulse response of the DUT. We now compute the step response by adding a few lines in the script.<\/p>\n\n\n\n<p>The steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create a step waveform (Basically all ones in an array)<\/li>\n\n\n\n<li>Convolve it with the impulse response<\/li>\n\n\n\n<li>Transform \\(S_{11}\\) to \\(Z\\)<\/li>\n\n\n\n<li>Truncate the step response to \\(NFFT\\) points<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">td = np.fft.ifft(s11, NFFT)\n\n# Create step waveform and compute step response\nstep = np.ones(NFFT)\nstep_response = np.convolve(td, step)\nstep_response_Z = Zo * (1 + step_response) \/ (1 - step_response)\nstep_response_Z = step_response_Z[:16384]<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">The results<\/h2>\n\n\n\n<p>While testing this script, I created two test scenarios. One, with the short-circuited-ended cable. In another scenario, there are multiple cables with difference impedances and a \\(50\\Omega \\) termination. The first cable is a \\(50\\Omega\\) RG316, then a \\(75\\Omega\\) RG6U and finally another \\(50\\Omega\\) RG58. Finally, a \\(50\\Omega\\) resistor terminates everything.<\/p>\n\n\n\n<div class=\"mceTemp\">&nbsp;<\/div>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/tdr_short\/\" rel=\"attachment wp-att-6406\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/09\/tdr_short.png\" alt=\"nanovna review\" class=\"wp-image-6406\"\/><\/a><figcaption class=\"wp-element-caption\">Short circuit cable. TDR shows a inverted peak indicating a 180 degree phase reversal. Impedance profile shows a short circuit after the given cable length.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/tdr_multi_cable\/\" rel=\"attachment wp-att-6407\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/09\/tdr_multi_cable.png\" alt=\"\" class=\"wp-image-6407\"\/><\/a><figcaption class=\"wp-element-caption\">Here, there are 3 cables. First cable is 50 Ohms, the second is a short section of 75 Ohms and the third section is 50 Ohms. Finally, it is terminated with a 50 Ohms resistor.<\/figcaption><\/figure>\n\n\n\n<p>There are two things to observe above. The impulse response peak and the sudden spike in impedance align quite perfectly. The second thing to note here is that the open-ended cable shows a good \\(50\\Omega\\) impedance until the point of short circuit. After the short circuit, the impedance settles down to \\(0\\Omega\\).<\/p>\n\n\n\n<p>In the second image, we are looking at the second scenario, where there are cables having multiple impedances. To repeat, we have \\(50\\Omega,\\thinspace 75\\Omega \\thinspace and \\thinspace 50\\Omega\\) respectively. The graph starts at \\(50\\Omega\\), jumps to \\(60\\Omega\\) and finally returns back to slightly higher than \\(50\\Omega\\). Eventually, it settles at \\(50\\Omega\\) corresponding to the resistor value.<\/p>\n\n\n\n<p>In another experiment, I terminated the cable end with \\(100\\Omega\\) like shown below.<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/img_20190908_215849\/\" rel=\"attachment wp-att-6198\"><img loading=\"lazy\" decoding=\"async\" width=\"996\" height=\"1328\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/09\/IMG_20190908_215849.png\" alt=\"\" class=\"wp-image-6198\"\/><\/a><figcaption class=\"wp-element-caption\">The cable terminated with a 100 Ohm resistance<\/figcaption><\/figure>\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<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/tdr_100e\/\" rel=\"attachment wp-att-6408\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/09\/tdr_100e.png\" alt=\"\" class=\"wp-image-6408\"\/><\/a><figcaption class=\"wp-element-caption\">Impedance profile of cable terminated with 100E resistor<\/figcaption><\/figure>\n\n\n\n<p>The full script is below.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import skrf as rf\nimport matplotlib.pyplot as plt\nfrom scipy import constants\nimport numpy as np\n\nraw_points = 101\nNFFT = 16384\nPROPAGATION_SPEED = 83\nZo = 50\n\n_prop_speed = PROPAGATION_SPEED \/ 100\ncable = rf.Network('step_response_experiment\/cable_open.s1p')\n\ns11 = cable.s[:, 0, 0]\nwindow = np.blackman(raw_points)\ns11 = window * s11\ntd = np.fft.ifft(s11, NFFT)\n\n# Create step waveform and compute step response\nstep = np.ones(NFFT)\nstep_response = np.convolve(td, step)\nstep_response_Z = Zo * (1 + step_response) \/ (1 - step_response)\nstep_response_Z = step_response_Z[:16384]\n\n# Calculate maximum time axis\nt_axis = np.linspace(0, 1 \/ cable.frequency.step, NFFT)\nd_axis = constants.speed_of_light * _prop_speed * t_axis\n\n# find the peak and distance\npk = np.max(td)\nidx_pk = np.where(td == pk)[0]\nprint(d_axis[idx_pk[0]] \/ 2)\n\n# Plot time response\nfig, ax1 = plt.subplots()\nax2 = ax1.twinx()\nax2.set_ylim([0, 500])\nax2.yaxis.set_ticks(np.arange(0, 500, 50))\nax1.plot(d_axis, td, 'g-')\nax2.plot(d_axis, step_response_Z, 'r-')\nax1.set_xlabel(\"Distance (m)\")\nax1.set_ylabel(\"Reflection Magnitude\")\nax2.set_ylabel(\"Impedance (Ohms)\")\nax1.set_title(\"Return loss Time domain\")\nplt.show()\n<\/pre>\n\n\n\n<p>Let me know what you think about this script in the comments below.<\/p>\n\n\n\n<p>If you haven&#8217;t purchased a NanoVNA yet, go ahead and get one. It&#8217;s worth it!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/amzn.to\/3vhSyDm\"><strong>BUY nanoVNA &#8211; Amazon&nbsp;<\/strong><\/a><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>We have gone over NanoVNA so many times in the past. I did a complete review of the inexpensive NanoVNA last month. Furthermore, I compared it with the super-expensive Keysight N9952A Vector Network Analyzer.&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":6199,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1694,1212],"tags":[1568,1692,1708,1645],"class_list":["post-6185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-amateur-radio","category-electronics-2","tag-amateur-radio","tag-ham","tag-nanovna","tag-rf"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cable impedance profile with NanoVNA and TDR script<\/title>\n<meta name=\"description\" content=\"I wrote a small extension to the Python TDR script to plot the impedance profile of a cable using your little NanoVNA. It kind looks accurate to me.\" \/>\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\/cable-impedance-profile-with-nanovna-and-tdr-script\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cable impedance profile with NanoVNA and TDR script\" \/>\n<meta property=\"og:description\" content=\"I wrote a small extension to the Python TDR script to plot the impedance profile of a cable using your little NanoVNA. It kind looks accurate to me.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/\" \/>\n<meta property=\"og:site_name\" content=\"Nuclearrambo\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-08T16:48:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-04T07:17:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/09\/IMG_20190908_221159.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1245\" \/>\n\t<meta property=\"og:image:height\" content=\"934\" \/>\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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/\"},\"author\":{\"name\":\"nuclearrambo\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c\"},\"headline\":\"Cable impedance profile with NanoVNA and TDR script\",\"datePublished\":\"2019-09-08T16:48:51+00:00\",\"dateModified\":\"2024-10-04T07:17:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/\"},\"wordCount\":884,\"commentCount\":8,\"publisher\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#organization\"},\"keywords\":[\"amateur radio\",\"ham\",\"nanovna\",\"rf\"],\"articleSection\":[\"Amateur Radio\",\"Electronics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/\",\"url\":\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/\",\"name\":\"Cable impedance profile with NanoVNA and TDR script\",\"isPartOf\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/#website\"},\"datePublished\":\"2019-09-08T16:48:51+00:00\",\"dateModified\":\"2024-10-04T07:17:03+00:00\",\"description\":\"I wrote a small extension to the Python TDR script to plot the impedance profile of a cable using your little NanoVNA. It kind looks accurate to me.\",\"breadcrumb\":{\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/nuclearrambo.com\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cable impedance profile with NanoVNA and TDR script\"}]},{\"@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":"Cable impedance profile with NanoVNA and TDR script","description":"I wrote a small extension to the Python TDR script to plot the impedance profile of a cable using your little NanoVNA. It kind looks accurate to me.","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\/cable-impedance-profile-with-nanovna-and-tdr-script\/","og_locale":"en_US","og_type":"article","og_title":"Cable impedance profile with NanoVNA and TDR script","og_description":"I wrote a small extension to the Python TDR script to plot the impedance profile of a cable using your little NanoVNA. It kind looks accurate to me.","og_url":"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/","og_site_name":"Nuclearrambo","article_published_time":"2019-09-08T16:48:51+00:00","article_modified_time":"2024-10-04T07:17:03+00:00","og_image":[{"width":1245,"height":934,"url":"https:\/\/nuclearrambo.com\/wordpress\/wp-content\/uploads\/2019\/09\/IMG_20190908_221159.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":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/#article","isPartOf":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/"},"author":{"name":"nuclearrambo","@id":"https:\/\/nuclearrambo.com\/wordpress\/#\/schema\/person\/6093ae9d048d4789bd3d18c136577a0c"},"headline":"Cable impedance profile with NanoVNA and TDR script","datePublished":"2019-09-08T16:48:51+00:00","dateModified":"2024-10-04T07:17:03+00:00","mainEntityOfPage":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/"},"wordCount":884,"commentCount":8,"publisher":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#organization"},"keywords":["amateur radio","ham","nanovna","rf"],"articleSection":["Amateur Radio","Electronics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/","url":"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/","name":"Cable impedance profile with NanoVNA and TDR script","isPartOf":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/#website"},"datePublished":"2019-09-08T16:48:51+00:00","dateModified":"2024-10-04T07:17:03+00:00","description":"I wrote a small extension to the Python TDR script to plot the impedance profile of a cable using your little NanoVNA. It kind looks accurate to me.","breadcrumb":{"@id":"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nuclearrambo.com\/wordpress\/cable-impedance-profile-with-nanovna-and-tdr-script\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nuclearrambo.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Cable impedance profile with NanoVNA and TDR script"}]},{"@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\/6185","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=6185"}],"version-history":[{"count":30,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/6185\/revisions"}],"predecessor-version":[{"id":8453,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/posts\/6185\/revisions\/8453"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/media\/6199"}],"wp:attachment":[{"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/media?parent=6185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/categories?post=6185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuclearrambo.com\/wordpress\/wp-json\/wp\/v2\/tags?post=6185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}