{ "metadata": { "name": "", "signature": "sha256:1dbf1e210c4590854e89fefc301f7793854ff6faa24ffc7f7d52e4b344b0bb4a" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "CHAPTER09:NOISE IN ANALOG COMMUNICATION SYSTEM" ] }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example E01 : Pg 9.10" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Page Number: 9.10\n", "# Example 9.1\n", "import math \n", "# Given\n", "wo=2.*math.pi*8000.;\n", "n=2.*10.**9.; \n", "# N0=(n/4*%pi)integrate('1/(1+((w/w0)**2))','w',-%inf,+%inf)\n", "# Which yields\n", "# Output Noise Power\n", "N0=(wo*n)/4.;\n", "print\"Output Noise Power: \",N0,\"W\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Output Noise Power: 2.51327412287e+13 W\n" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example E04 : Pg 9.12" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Page Number: 9.12\n", "# Example 9.4\n", "# Given\n", "# (a) \n", "import math \n", "H1=1.;\n", "H2=(1./2.);\n", "S0=(H1**2.)/2.;\n", "w0=-2.*math.pi;\n", "w1=2.*math.pi;\n", "N0=0.4;#(0.1/(2*math.pi))*2*(integrate('1','w',w0,w1));\n", "SNR=S0/N0;\n", "print\"SNR: \",SNR\n", "\n", "# (b)\n", "S01=(H1**2.*H2**2.)/2.;\n", "N01=0.101;\n", "SNR1=S01/N01;\n", "print\"SNR1: \",SNR1" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "SNR: 1.25\n", "SNR1: 1.23762376238\n" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example E08 : Pg 9.15" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Page Number: 9.15\n", "# Example 9.8\n", "# Given\n", "import math \n", "p=0.99;\n", "u=1.;\n", "q=1-p;\n", "# As exp(-Ac^2/4*n*B)=1-p\n", "# AndAC^2/2*n*B=S/N\n", "# Therefore exp(-(1/2)*(S/N))=1-p\n", "SN=2.*(math.log(1/q));\n", "SN1=(round(SN)+1); # Upper limit\n", "print'S/N:',SN1,'db'\n", "# Hence proved" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "S/N: 10.0 db\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example E09 : Pg 9.16" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Page Number: 9.16\n", "# Example 9.9\n", "# Given\n", "import math\n", "Si=7.*10.**4.;\n", "u=1.;\n", "BW=4.*10.**3.; # Hz\n", "n=2.*10.**12.; # W/Hz\n", "\n", "# (a)Minimum value of Ac\n", "SbyN=40.; # dB\n", "SN=10.**(SbyN/10.);\n", "\n", "Sx=0.167;#2*[integrate('(x**2)*(-x+1)','x',0,1)];\n", "# Now\n", "g=SN/(Sx/(1+Sx));\n", "# And\n", "# Ac=sqrt((2*n*BW*g)/(1+(u**2*Sx))\n", "# We have\n", "Ac=math.sqrt((2.*n*BW*g)/(1.+(u**2.*Sx)));\n", "print'Minimum Value of Ac:',Ac,'V'\n", "\n", "# (b)Threshold value of Ac\n", "# AS S/N at threshold is 10dB\n", "SNT=10.; # dB\n", "gT=2.*SNT;\n", "AcT=math.sqrt((2.*n*BW*gT)/(1.+(u**2.*Sx)));\n", "print'Minimum Value of Ac at Threshold:',AcT,'V'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Minimum Value of Ac: 30952929301.4 V\n", "Minimum Value of Ac at Threshold: 523648135.033 V\n" ] } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example E10 : Pg 9.17" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Page Number: 9.17\n", "# Example 9.10\n", "# Given\n", "\n", "BW=10.*10.**3.; # Hz\n", "SNR=40.; # dB\n", "SNRO=10.**(SNR/10.);\n", "P=40.; # dB\n", "PL=10.**(P/10.);\n", "n=2.*10.**9.; # W/Hz\n", "USx2=0.5;\n", "# For DSB, AM and SSB bandwidth requirement\n", "BTD=2.*BW;\n", "BTA=2.*BW;\n", "BTS=BW;\n", "print'Transmission Bandwidth for DSB:',BTD,'Hz'\n", "print'Transmission Bandwidth for AM:',BTA,'Hz'\n", "print'Transmission Bandwidth for SSB:',BTS,'Hz'\n", "\n", "\n", "# Pt for DSB and SSB\n", "# As SNRO=Si/nBW\n", "Si=n*BW*SNRO; # W\n", "# Considering Channel loss\n", "ST=Si*PL;\n", "print'Power transmission for DSB and SSB:',ST,'W'\n", "\n", "# Pt for AM\n", "# As SNRO=x*Si/nBW\n", "# x=USx2/(1+USx)\n", "x=USx2/(1.+USx2);\n", "Si1=(n*BW*SNRO)/x; # W\n", "# Considering Channel loss\n", "ST1=Si1*PL;\n", "print'Power transmission for AM:',ST1,'W'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Transmission Bandwidth for DSB: 20000.0 Hz\n", "Transmission Bandwidth for AM: 20000.0 Hz\n", "Transmission Bandwidth for SSB: 10000.0 Hz\n", "Power transmission for DSB and SSB: 2e+21 W\n", "Power transmission for AM: 6e+21 W\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example E13 : Pg 9.20" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Page Number: 9.20\n", "# Example 9.13\n", "# Given\n", "import math \n", "Mf1=0.003;\n", "# for f<=1.5*10.**3 Hz\n", "f1=1.5*10.**3.; # Hz\n", "Mf2=0.001;\n", "# for 1.5*10.**3 <=f<=3*10.**3 Hz\n", "f2=3.*10.**3.; # Hz\n", "Mf3=0;\n", "# for f>3*10.**3 Hz\n", "# (a) Ac that power transmitted is 100mW\n", "St=100.*10.**3.; # W\n", "# As St=2*[{f1*(Mf1*Ac/2)**2}+{f1*(Mf2*Ac/2)**2}+{f2*(Mf3*Ac/2)**2}]\n", "# Neglecting Mf3 as zero\n", "Ac=math.sqrt((4.*St)/(2.*f1*(Mf1**2.+Mf2**2.)));\n", "print'Ac for s(t)=100mw:',Ac,'V'\n", "# (b)Power in abscence of noise\n", "Zt=2.*((f1*(((Mf1*Ac)/4.)**2.))+(f1*(((Mf2*Ac)/4.)**2.))+(f2*(((Mf3*Ac)/4.)**2.)));\n", "print'Power in absence of Noise:',Zt,'W'\n", "# (c)\n", "# Given\n", "N0=0.0001*10.**3.; # W/Hz\n", "# Psd=N0/4\n", "# Pt=2*f1*N0/4\n", "Pt=(2.*f2*N0)/4.;\n", "print'Power:',Pt,'W'\n", "# (d) SNR at output\n", "SNR=Zt/Pt;\n", "SNRO=10.*math.log(SNR)/math.log(10);\n", "print'SNR at output for SSB:',SNRO,'dB'\n", "# (e)For DSB\n", "St1=100.*10.**3.; # W\n", "# As St=4*[{f1*(Mf1*Ac/2)**2}+{f1*(Mf2*Ac/2)**2}+{f2*(Mf3*Ac/2)**2}]\n", "# Neglecting Mf3 as zero\n", "Ac1=math.sqrt((4.*St)/(4.*f1*(Mf1**2.+Mf3**2.)));\n", "Zt1=4.*((f1*(((Mf1*Ac)/4.)**2.))+(f1*(((Mf2*Ac)/4.)**2.))+(f2*(((Mf3*Ac)/4.)**2.)));\n", "# SNR at output\n", "SNR1=Zt1/Pt;\n", "SNRO1=10.*math.log(SNR1)/math.log(10);\n", "print'SNR at output for DSB:',SNRO1,'dB'\n", "# 3dB increase in SNR\n", "# DSB has higher SNR but SSB os spectarally efficient" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Ac for s(t)=100mw: 3651.4837167 V\n", "Power in absence of Noise: 25000.0 W\n", "Power: 150.0 W\n", "SNR at output for SSB: 22.2184874962 dB\n", "SNR at output for DSB: 25.2287874528 dB\n" ] } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example E14 : Pg 9.22" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Page Number: 9.22\n", "# Example 9.14\n", "# Given\n", "import math \n", "delf=75.*10.**3.; # Hz\n", "W=15.*10.**3.; # Hz\n", "Sx=1./2.;\n", "# As SNRO=3(delf/W)**2*Sx*g\n", "# Assume g=1\n", "g=1.;\n", "\n", "SNRO=3.*(delf/W)**2*Sx*g;\n", "SNdB=10.*math.log(SNRO)/math.log(10);\n", "print'Output SNR:',SNdB,'dB'\n", "\n", "# Hence it is SNdB times better" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Output SNR: 15.7403126773 dB\n" ] } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example E17 : Pg 9.23" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Page Number: 9.23\n", "# Example 9.17\n", "# Given\n", "import math \n", "oSNR=40.; # dB\n", "SNRO=10.**(oSNR/10.);\n", "n=2.*10.**10.; # W/Hz\n", "l=50.; # dB\n", "PL=10.**(l/10.);\n", "B=15.*10.**3.; # Hz\n", "Sx=1./2.;\n", "# (a) DSB Modulation\n", "BTD=2.*B;\n", "print'Transmission bandwidth for DSB:',BTD,'Hz'\n", "# As SNRO=Si/(n*B)\n", "SiD=SNRO*n*B;\n", "STD=SiD*PL;\n", "print'Average Power transmitted for DSB:',STD,'W'\n", "\n", "# (b) AM\n", "U=1.;\n", "U2Sx=U*U*Sx;\n", "BTA=2.*B;\n", "print'Transmission bandwidth for AM:',BTA,'Hz'\n", "# As SNRO=x*Si/(n*B)\n", "# where x=USx/(1+USx)\n", "x=U2Sx/(1.+U2Sx);\n", "SiA=(SNRO*n*B)/x;\n", "STA=SiA*PL;\n", "print'Average Power transmitted for AM:',STA,'W'\n", "\n", "# (c)PM\n", "kp=3.;\n", "BTP=2.*(kp+1.)*B;\n", "print'Transmission bandwidth for PM:',BTP,'Hz'\n", "# As SNRO=kp**2*Sx*Si/(n*B)\n", "SiP=(SNRO*n*B)/(Sx*(kp**2));\n", "STP=SiP*PL;\n", "print'Average Power transmitted for PM:',STP,'W'\n", "\n", "# (d)FM\n", "D=5.;\n", "BTF=2.*10.**1.*B;\n", "print'Transmission bandwidth for FM:',BTF,'Hz'\n", "# As SNRO=3*D**2*Sx*Si/(n*B)\n", "SiF=(SNRO*n*B)/(3.*(D**2.)*Sx);\n", "STF=SiF*PL;\n", "print'Average Power transmitted for FM:',STF,'W'" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Transmission bandwidth for DSB: 30000.0 Hz\n", "Average Power transmitted for DSB: 3e+23 W\n", "Transmission bandwidth for AM: 30000.0 Hz\n", "Average Power transmitted for AM: 9e+23 W\n", "Transmission bandwidth for PM: 120000.0 Hz\n", "Average Power transmitted for PM: 6.66666666667e+22 W\n", "Transmission bandwidth for FM: 300000.0 Hz\n", "Average Power transmitted for FM: 8e+21 W\n" ] } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example E18 : Pg 9.24" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Page Number: 9.24\n", "# Example 9.18\n", "# (b)Modulation index b\n", "# Given\n", "SNdB=30.; # dB\n", "SNRO=10.**(SNdB/10.);\n", "# As SNRO=30*b**2*(b+1)\n", "# Therefore\n", "#p2=poly(0,'x');\n", "#p3 =30.*(p2**3.)+30.*(p2**2.)-1000.;\n", "#r=roots(p3);\n", "t=2.917128 ;#2.92+0j;#r(3,1);\n", "print'Modulation index:',t" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Modulation index: 2.917128\n" ] } ], "prompt_number": 9 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Example E21 : Pg 9.27" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Page Number: 9.27\n", "# Example 9.21\n", "# Given\n", "import math \n", "BW=5000.; # Hz\n", "P=0.1; # W\n", "CBW=100.*10.**3.; # Hz\n", "A=80.; # dB\n", "A1=10.**(-A/10.);\n", "N0=2*(0.5*10.**12.); # W/Hz\n", "Pt=10.*10.**3.; # W\n", "\n", "# We know, CBW=2*(*10.**1)*BW\n", "# Therefore\n", "D=(CBW/(2.*BW))-1.;\n", "kp=D;\n", "Si=Pt*A1;\n", "Sx=P;\n", "# We know\n", "# SNR=((kp**2)*Si*Sx)/(N0*BW);\n", "\n", "SNR=((kp**2.)*Si*Sx)/(N0*BW);\n", "SNR1=10.*math.log(SNR)/math.log(10);\n", "print\"SNR at output: \",SNR1,\"dB\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "SNR at output: -187.904849855 dB\n" ] } ], "prompt_number": 10 } ], "metadata": {} } ] }