{ "metadata": { "name": "Chapter 6" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Chapter 6: Microwave components" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.2, Page number 234" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "from numpy import array\n", "import cmath\n", "import math\n", "\n", "#Variable declaration\n", "S = array([[0,0.3+0.4j], [0.3+0.4j, 0]], dtype=complex)\n", "B = 34.3 #rad/sec\n", "\n", "#Calculations\n", "phi-1 = [[e^(-j*phi-1), 0]\n", " [0 1]]\n", "phi1 = 53.13\n", "l = math.radians(phi1)/B\n", "\n", "#Result\n", "print \"The distance is\",round(l,5),\"m\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The distance is 0.02703 m\n" ] } ], "prompt_number": 17 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.3, Page number 236" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "\n", "#Variable declaration\n", "D = 30 #directiviy(dB)\n", "s = 1 #VSWR\n", "\n", "#Calculations\n", "#since C = -10*log(p1/p4),therefore,\n", "S41 = math.sqrt(0.1)\n", "S14=S41 #as matched and lossless\n", "\n", "#Now, D = 10*log(p4/p3)\n", "S31=math.sqrt(S41**2/10**3)\n", "S13=S31\n", "\n", "S11 = ((s-1)/(s+1))\n", "S22=S11\n", "S33=S11\n", "S44=S11\n", "\n", "#Let input power be given at port 1\n", "S21 = math.sqrt(1-S31**2-S41**2)\n", "S12=S21\n", "\n", "S34 = math.sqrt((1+S12**2-10**-1-10**-4)*0.5)\n", "S43=S34\n", "\n", "S23 = math.sqrt(1-10**-4-S34**2)\n", "S32=S23\n", "\n", "S24 = math.sqrt(1-10**-1-S34**2)\n", "S42=S24\n", "\n", "S = array([[S11,S12,S13,S14],[S21,S22,S23,S24],[S31,S32,S33,S34],[S41,S42,S43,S44]])\n", "\n", "#Result\n", "print \"The required S-parameters are:\\n\\n\",S" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The required S-parameters are:\n", "\n", "[[ 0. 0.94863059 0.01 0.31622777]\n", " [ 0.94863059 0. 0.31622777 0.01 ]\n", " [ 0.01 0.31622777 0. 0.94863059]\n", " [ 0.31622777 0.01 0.94863059 0. ]]\n" ] } ], "prompt_number": 39 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.4, Page number 238" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "\n", "#Variable declaration\n", "a1 = 32 #signal power(mW) to port 1\n", "a2 = 0 #power fed to port 2\n", "a3 = 0 #power fed to port 3\n", "s = array([[0.5,-0.5,math.sqrt(0.5)],[-0.5,0.5,math.sqrt(0.5)],[math.sqrt(0.5),math.sqrt(0.5),0]]) #s-matrix for H-plane Tee\n", "\n", "#Calculations\n", "p = array([a1,a2,a3])\n", "b = (s**2)*p\n", "print \"[b]=\\n\",b\n", "\n", "#Results\n", "print \"\\nPower at port 1 =\",b[0,0],\"mW\"\n", "print \"Power at port 2 =\",b[1,0],\"mW\"\n", "print \"Power at port 3 =\",b[2,0],\"mW\"\n", "print \"It can be seen that b3=b1+b2\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[b]=\n", "[[ 8. 0. 0.]\n", " [ 8. 0. 0.]\n", " [ 16. 0. 0.]]\n", "\n", "Power at port 1 = 8.0 mW\n", "Power at port 2 = 8.0 mW\n", "Power at port 3 = 16.0 mW\n", "It can be seen that b3=b1+b2\n" ] } ], "prompt_number": 59 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.5, Page number 239" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "from numpy import array\n", "\n", "#Variable declaration\n", "s = array([[0.5,-0.5,math.sqrt(0.5)],[-0.5,0.5,math.sqrt(0.5)],[math.sqrt(0.5),math.sqrt(0.5),0]]) #s-matrix for H-plane Tee\n", "b1=10*10**-3 #power at port 1\n", "b2=10*10**-3 #power at port 2\n", "\n", "#Calculations\n", "rho1=(60.-50.)/(60.+50.)\n", "rho2=(75.-50.)/(75.+50.)\n", "P1=0.5*b1**2*(1-rho1**2)\n", "P2=0.5*b2**2*(1-rho2**2)\n", "\n", "#Results\n", "print \"The solution given in the textbook is incorrect.\\n\"\n", "print \"Power delivered to port 1 =\",round((P1/1E-3),3),\"mW\"\n", "print \"Power delivered to port 2 =\",round((P2/1E-3),3),\"mW\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The solution given in the textbook is incorrect.\n", "\n", "Power delivered to port 1 = 0.05 mW\n", "Power delivered to port 2 = 0.048 mW\n" ] } ], "prompt_number": 16 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.7, Page number 240" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "from numpy import array\n", "\n", "#Variable declaration\n", "Il=0.5 #inserion loss(dB)\n", "Is = 30 #isolation loss(dB)\n", "\n", "#Calculations\n", "#Il = -20log(S21)\n", "S21 = 10**(-Il/20)\n", "#Is = -20log(S12)\n", "S12 = 10**(-Is/20)\n", "#Perfectly matched ports\n", "S11=0\n", "S22=0\n", "\n", "S = array([[S11,S12],[S21,S22]])\n", "\n", "#Result\n", "print \"The scattering matrix is:\\n\",S\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The scattering matrix is:\n", "[[ 0. 0.01 ]\n", " [ 0.94406088 0. ]]\n" ] } ], "prompt_number": 24 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.9, Page number 241" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "from numpy import array\n", "\n", "#Variable declaration\n", "Il= 0.5 #inserion loss(dB)\n", "Is = 20 #isolation loss(dB)\n", "S = 2 #VSWR\n", "\n", "#Calculations\n", "#Il = -20log(S21)\n", "S21 = 10**(-Il/20)\n", "#For circulator,\n", "S32=S21\n", "S13=S21\n", "\n", "#Is = -20log(S12)\n", "S12 = 10**(-Is/20)\n", "#For circulator,\n", "S23=S12\n", "S31=S12\n", "\n", "rho = (S-1.)/(S+1.)\n", "#For circulator,\n", "S11=rho\n", "S22=rho\n", "S33=rho\n", "\n", "#Results\n", "S = array([[S11,S12,S13],[S21,S22,S23],[S31,S32,S33]])\n", "print \"[S]=\\n\",S\n", "#For a perfectly matched, non-reciprocal, lossless 3-port circulator, [s] is given by,\n", " [S21 0 0 ]\n", "#The terminal planes are such that phase angles of S13=S21=S32=1\n", "S13_new=1\n", "S21_new=1\n", "S32_new=1\n", "S_new = array([[0,0,S13_new],[S21_new,0,0],[0,S32_new,0]])\n", "print \"\\nThe scattering matrix now becomes [S]=\\n\",S_new" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[S]=\n", "[[ 0.33333333 0.1 0.94406088]\n", " [ 0.94406088 0.33333333 0.1 ]\n", " [ 0.1 0.94406088 0.33333333]]\n", "\n", "The scattering matrix now becomes [S]=\n", "[[0 0 1]\n", " [1 0 0]\n", " [0 1 0]]\n" ] } ], "prompt_number": 15 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.10, Page number 242\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "\n", "#Variable declaration\n", "Pi = 90. #power source(W)\n", "C = 20 #dB\n", "D = 35 #dB\n", "Is = 0.5 #insertion loss(dB)\n", "\n", "#Calculations\n", "#C = 20=10log(Pi/Pf)\n", "Pf = Pi/(10**(20./10.))\n", "#D=350=10log(Pf/Pb)\n", "Pb = Pf/(10**(35./10.))\n", "Pr = Pi-Pf-Pb #received power\n", "Pr_db = 10*math.log10(Pi/Pr)\n", "Pr_dash=Pr_db-Is\n", "\n", "#Result\n", "print \"The output power at the port is\",round(Pr_dash,3),\"dB\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The output power at the port is -0.456 dB\n" ] } ], "prompt_number": 34 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.11, Page number 243" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "\n", "#Variable declaration\n", "[S] = [[0.05/_30 0.96/_0 0.1/_90 0.05/_90]\n", " [0.96/_0 0.05/_30 0.05/_90 0.1/_90 ]\n", " [0.1/_90 0.05/_90 0.05/_30 0.96/_0 ]\n", " [0.05/_90 0.1/_90 0.96/_0 0.05/_30]]\n", "\n", "#Calculations\n", "#Coupling = C=10log(P1/P3)=-20log|S13|\n", "C = -20*math.log10(0.1)\n", "#Directivity = D=10log(P3/P4)=20log(|S13|/|S14|)\n", "D = 20*math.log10(0.1/0.05)\n", "#Isolation =I=10log(P3/P4)=10log(P1/P4)=-20log|S14|\n", "I = -20*math.log10(0.05)\n", "\n", "#Results\n", "print \"Coupling =\",C,\"dB\"\n", "print \"Directivity =\",round(D,2),\"dB\"\n", "print \"Isolation =\",round(I,2),\"dB\"\n", "\n", " " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Coupling = 20.0 dB\n", "Directivity = 6.02 dB\n", "Isolation = 26.02 dB\n" ] } ], "prompt_number": 43 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.12, Page number 244" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "\n", "#Variable declaration\n", "lamda2 = 3.5 #distance between 2 minimas(cm)\n", "lamda_g = 7 #guided wavelength(cm)\n", "d2_1 = 2.5*10**-1 #distance between minimum power points(cm)\n", "\n", "#Calculation\n", "S = lamda_g/(math.pi*d2_1)\n", "\n", "#Result\n", "print \"VSWR =\",round(S,4)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "VSWR = 8.9127\n" ] } ], "prompt_number": 46 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example 6.13, Page number 244" ] }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "import math\n", "\n", "#Variable declaration\n", "lamda_g = 7.2 #guided wavelength(cm)\n", "rn = 10.5 #position of reference null(cm)\n", "rn_new = 9.3 #new position of reference null due to component(cm)\n", "\n", "#Calculations\n", "pd = rn - rn_new #path difference due to component(cm)\n", "ps = (2*math.pi*pd)/lamda_g #phase shift introduced\n", "\n", "#Result\n", "print \"The phase shift component is\",round(ps,3)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The phase shift component is 1.047\n" ] } ], "prompt_number": 48 } ], "metadata": {} } ] }