summaryrefslogtreecommitdiff
path: root/Analog_and_Digital_Communications_by_H_P_Hsu
diff options
context:
space:
mode:
Diffstat (limited to 'Analog_and_Digital_Communications_by_H_P_Hsu')
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER01.ipynb185
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER01_1.ipynb185
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER03.ipynb143
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER03_1.ipynb143
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER04.ipynb680
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER04_1.ipynb680
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER05.ipynb820
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER05_1.ipynb820
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER06.ipynb380
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER06_1.ipynb380
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER08.ipynb1027
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER08_1.ipynb1088
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER09.ipynb552
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER09_1.ipynb552
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10.ipynb567
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10_1.ipynb567
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER11.ipynb982
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER11_1.ipynb982
18 files changed, 0 insertions, 10733 deletions
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER01.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER01.ipynb
deleted file mode 100755
index 361be2fa..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER01.ipynb
+++ /dev/null
@@ -1,185 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:344aa83aae7640fc5c3f2bc230bb6d0ed2b2c16bf41e02ab7ccae093773e6e18"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER01:SIGNALS AND SPECTRA"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E09 : Pg 1.13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 1.13\n",
- "# Example 1.9\n",
- "# Given,\n",
- "# Signal is x(t)= e^(-at) * u(t)\n",
- "# unity function u(t)=1 for 0 to infinity \n",
- "# therefore\n",
- "import math,numpy\n",
- "x=1;\n",
- "# We assume 'infinity' value as 10 and the value of 'a' is 1\n",
- "#t= 0:1:10;\n",
- "t=numpy.linspace(0,10,num=11)\n",
- "a=1;# a >0\n",
- "z=((math.e)**(-a*t) * x);\n",
- "y=numpy.fft.fft(z);\n",
- "print 'fourier transform of x(t)=',y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fourier transform of x(t)= [ 1.58195029+0.j 1.33722176-0.38516024j 1.02105993-0.4033185j\n",
- " 0.84862839-0.29364174j 0.76732853-0.17191927j 0.73478625-0.05628763j\n",
- " 0.73478625+0.05628763j 0.76732853+0.17191927j 0.84862839+0.29364174j\n",
- " 1.02105993+0.4033185j 1.33722176+0.38516024j]\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E10 : Pg 1.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 1.14\n",
- "# Example 1.10\n",
- "# Given,\n",
- "# Signal is x(t)= e**|-a|t * u(t)\n",
- "# unity function u(t)=1 for 0 to infinity \n",
- "# therefore\n",
- "import numpy,math\n",
- "x=1;\n",
- "# We assume 'infinity' value as 10 and the value of 'a' is 1\n",
- "t= numpy.linspace(0,10,num=11);\n",
- "a1=1;# For a >0\n",
- "a2=-1; # For a <0\n",
- "z=((math.e)**(a2*t) * x)+((math.e)**(a1*t) * x);\n",
- "y=numpy.fft.fft(z);\n",
- "print'fourier transform of x(t)=',y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fourier transform of x(t)= [ 34846.35579562 +0.j 20193.20071216+23060.75353691j\n",
- " 1262.96607876+24147.94540875j -9061.39666752+17581.25336274j\n",
- " -13929.23742795+10293.34682733j -15877.71059326 +3370.11697016j\n",
- " -15877.71059326 -3370.11697016j -13929.23742795-10293.34682733j\n",
- " -9061.39666752-17581.25336274j 1262.96607876-24147.94540875j\n",
- " 20193.20071216-23060.75353691j]\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E11 : Pg 1.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 1.14\n",
- "# Example 1.11\n",
- "# (a)\n",
- "# Given\n",
- "# Signal is x(t) = rect(t)\n",
- "# rect(t) = 1 for -a< |t| < a and 0 elsewhere\n",
- "# Therefore\n",
- "# We find out fourier transform of x(t)= 1 for -a< |t| < a thus,\n",
- "import math,numpy\n",
- "x=([1]);\n",
- "a= 200; # Assume \n",
- "t= numpy.linspace(-a,a,num=2*a+1); # range for fourier transform\n",
- "y=numpy.fft.fft(x);\n",
- "print'Fourier transform of x(t)=',y\n",
- "\n",
- "\n",
- "# (b)\n",
- "\n",
- "# Given\n",
- "# Signal is x(t) = rect(t)\n",
- "# rect(t) = 1 for -a/4< |t| < a/4 and 0 elsewhere\n",
- "# Therefore\n",
- "# We find out fourier transform of x(t)= 1 for -a/4< |t| < a/4 thus,\n",
- "import numpy\n",
- "x=([1]);\n",
- "a= 200; # Assume \n",
- "t= numpy.linspace(-a/4,a/4,num=(a/2)+1);# range for fourer transform\n",
- "y=numpy.fft.fft(x);\n",
- "print'Fourier transform of x(t)=',y\n",
- "\n",
- "# (c)\n",
- "\n",
- "# Given\n",
- "# Signal is x(t) = rect(t)\n",
- "# rect(t) = 1 for b < |t| < b + a/2 and 0 elsewhere\n",
- "# Therefore\n",
- "# We find out fourier transform of x(t)= 1 for b < |t| < b+ a/2 thus,\n",
- "import numpy\n",
- "x=([1]);\n",
- "a= 200; # Assume \n",
- "b=100; # Assume\n",
- "t=numpy.linspace(b,(b+(a/2)),num=((a/2)+1)) ;# range for fourer transform\n",
- "y=numpy.fft.fft(x);\n",
- "print'Fourier transform of x(t)=',y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Fourier transform of x(t)= [ 1.+0.j]\n",
- "Fourier transform of x(t)= [ 1.+0.j]\n",
- "Fourier transform of x(t)= [ 1.+0.j]\n"
- ]
- }
- ],
- "prompt_number": 3
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER01_1.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER01_1.ipynb
deleted file mode 100755
index 361be2fa..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER01_1.ipynb
+++ /dev/null
@@ -1,185 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:344aa83aae7640fc5c3f2bc230bb6d0ed2b2c16bf41e02ab7ccae093773e6e18"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER01:SIGNALS AND SPECTRA"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E09 : Pg 1.13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 1.13\n",
- "# Example 1.9\n",
- "# Given,\n",
- "# Signal is x(t)= e^(-at) * u(t)\n",
- "# unity function u(t)=1 for 0 to infinity \n",
- "# therefore\n",
- "import math,numpy\n",
- "x=1;\n",
- "# We assume 'infinity' value as 10 and the value of 'a' is 1\n",
- "#t= 0:1:10;\n",
- "t=numpy.linspace(0,10,num=11)\n",
- "a=1;# a >0\n",
- "z=((math.e)**(-a*t) * x);\n",
- "y=numpy.fft.fft(z);\n",
- "print 'fourier transform of x(t)=',y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fourier transform of x(t)= [ 1.58195029+0.j 1.33722176-0.38516024j 1.02105993-0.4033185j\n",
- " 0.84862839-0.29364174j 0.76732853-0.17191927j 0.73478625-0.05628763j\n",
- " 0.73478625+0.05628763j 0.76732853+0.17191927j 0.84862839+0.29364174j\n",
- " 1.02105993+0.4033185j 1.33722176+0.38516024j]\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E10 : Pg 1.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 1.14\n",
- "# Example 1.10\n",
- "# Given,\n",
- "# Signal is x(t)= e**|-a|t * u(t)\n",
- "# unity function u(t)=1 for 0 to infinity \n",
- "# therefore\n",
- "import numpy,math\n",
- "x=1;\n",
- "# We assume 'infinity' value as 10 and the value of 'a' is 1\n",
- "t= numpy.linspace(0,10,num=11);\n",
- "a1=1;# For a >0\n",
- "a2=-1; # For a <0\n",
- "z=((math.e)**(a2*t) * x)+((math.e)**(a1*t) * x);\n",
- "y=numpy.fft.fft(z);\n",
- "print'fourier transform of x(t)=',y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fourier transform of x(t)= [ 34846.35579562 +0.j 20193.20071216+23060.75353691j\n",
- " 1262.96607876+24147.94540875j -9061.39666752+17581.25336274j\n",
- " -13929.23742795+10293.34682733j -15877.71059326 +3370.11697016j\n",
- " -15877.71059326 -3370.11697016j -13929.23742795-10293.34682733j\n",
- " -9061.39666752-17581.25336274j 1262.96607876-24147.94540875j\n",
- " 20193.20071216-23060.75353691j]\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E11 : Pg 1.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 1.14\n",
- "# Example 1.11\n",
- "# (a)\n",
- "# Given\n",
- "# Signal is x(t) = rect(t)\n",
- "# rect(t) = 1 for -a< |t| < a and 0 elsewhere\n",
- "# Therefore\n",
- "# We find out fourier transform of x(t)= 1 for -a< |t| < a thus,\n",
- "import math,numpy\n",
- "x=([1]);\n",
- "a= 200; # Assume \n",
- "t= numpy.linspace(-a,a,num=2*a+1); # range for fourier transform\n",
- "y=numpy.fft.fft(x);\n",
- "print'Fourier transform of x(t)=',y\n",
- "\n",
- "\n",
- "# (b)\n",
- "\n",
- "# Given\n",
- "# Signal is x(t) = rect(t)\n",
- "# rect(t) = 1 for -a/4< |t| < a/4 and 0 elsewhere\n",
- "# Therefore\n",
- "# We find out fourier transform of x(t)= 1 for -a/4< |t| < a/4 thus,\n",
- "import numpy\n",
- "x=([1]);\n",
- "a= 200; # Assume \n",
- "t= numpy.linspace(-a/4,a/4,num=(a/2)+1);# range for fourer transform\n",
- "y=numpy.fft.fft(x);\n",
- "print'Fourier transform of x(t)=',y\n",
- "\n",
- "# (c)\n",
- "\n",
- "# Given\n",
- "# Signal is x(t) = rect(t)\n",
- "# rect(t) = 1 for b < |t| < b + a/2 and 0 elsewhere\n",
- "# Therefore\n",
- "# We find out fourier transform of x(t)= 1 for b < |t| < b+ a/2 thus,\n",
- "import numpy\n",
- "x=([1]);\n",
- "a= 200; # Assume \n",
- "b=100; # Assume\n",
- "t=numpy.linspace(b,(b+(a/2)),num=((a/2)+1)) ;# range for fourer transform\n",
- "y=numpy.fft.fft(x);\n",
- "print'Fourier transform of x(t)=',y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Fourier transform of x(t)= [ 1.+0.j]\n",
- "Fourier transform of x(t)= [ 1.+0.j]\n",
- "Fourier transform of x(t)= [ 1.+0.j]\n"
- ]
- }
- ],
- "prompt_number": 3
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER03.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER03.ipynb
deleted file mode 100755
index 0f40c83a..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER03.ipynb
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:7baac9edb2128ede2f66bcc8790788a8e9bd4ebfa3d83c78364ed1ad1c37e3be"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER03:AMPLITUDE"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E07 : Pg 3.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 3.14\n",
- "# Example 3.7\n",
- "# Given\n",
- "# (a)efficiency=((u**2)/(2+(u**2)))\n",
- "u=0.5;\n",
- "n=((u**2.)/(2.+(u**2.)));\n",
- "np=n*100.;\n",
- "print\"Efficiney: \",round(np,2),\"%\"\n",
- "\n",
- "# (b)nmax,\n",
- "# nmax occurs at u=1;\n",
- "u1=1.;\n",
- "nmax=((u1**2.)/(2.+(u1**2.)));\n",
- "nmaxp=nmax*100.;\n",
- "print\"Efficiney max: \",nmaxp,\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Efficiney: 11.11 %\n",
- "Efficiney max: 33.3333333333 %\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E08 : Pg 3.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 3.14\n",
- "# Example 3.8\n",
- "# Given\n",
- "# From waveform\n",
- "Amax=150.;\n",
- "Amin=30.;\n",
- "\n",
- "# (a)Modulation index\n",
- "u=((Amax-Amin)/(Amax+Amin));\n",
- "print\"Modulation Index: \",round(u,2)\n",
- "\n",
- "Ac=(Amax/(1.+u));\n",
- "# (b)\n",
- "# Carrier Power\n",
- "Pc=(Ac**2.)/2.;\n",
- "print\"Carrier Power: \",round(Pc,2),\"W\"\n",
- "\n",
- "# Side band Power\n",
- "PSB=(Amin**2.)/2.;\n",
- "print\"USB=LSB Power: \",round(PSB,2),\"W\"\n",
- "\n",
- "# Total Average power\n",
- "Pt=Pc+(2.*PSB);\n",
- "print\"Total Average Power: \",round(Pt,2),\"W\"\n",
- "\n",
- "# (c)Peak Envelope Power\n",
- "# Given\n",
- "R=60; # Ohm\n",
- "PEP=(Amax**2)/(2*R);\n",
- "print\"Peak Envelope Power: \",round(PEP),\"W\"\n",
- "\n",
- "# (d) Modulation Efficieny\n",
- "n=PSB/Pt;\n",
- "print\"Modulation efficieny: \",round(n,2)\n",
- "\n",
- "# (e) Given\n",
- "# (i) u=0.2\n",
- "u1=0.2;\n",
- "A1=(60./u1)-Ac;\n",
- "print\"A=\",round(A1)\n",
- "\n",
- "# (ii) u=0.8\n",
- "u2=0.8;\n",
- "A2=(60./u2)-Ac;\n",
- "print \"A=\",round(A2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Modulation Index: 0.67\n",
- "Carrier Power: 4050.0 W\n",
- "USB=LSB Power: 450.0 W\n",
- "Total Average Power: 4950.0 W\n",
- "Peak Envelope Power: 188.0 W\n",
- "Modulation efficieny: 0.09\n",
- "A= 210.0\n",
- "A= -15.0\n"
- ]
- }
- ],
- "prompt_number": 2
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER03_1.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER03_1.ipynb
deleted file mode 100755
index 0f40c83a..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER03_1.ipynb
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:7baac9edb2128ede2f66bcc8790788a8e9bd4ebfa3d83c78364ed1ad1c37e3be"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER03:AMPLITUDE"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E07 : Pg 3.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 3.14\n",
- "# Example 3.7\n",
- "# Given\n",
- "# (a)efficiency=((u**2)/(2+(u**2)))\n",
- "u=0.5;\n",
- "n=((u**2.)/(2.+(u**2.)));\n",
- "np=n*100.;\n",
- "print\"Efficiney: \",round(np,2),\"%\"\n",
- "\n",
- "# (b)nmax,\n",
- "# nmax occurs at u=1;\n",
- "u1=1.;\n",
- "nmax=((u1**2.)/(2.+(u1**2.)));\n",
- "nmaxp=nmax*100.;\n",
- "print\"Efficiney max: \",nmaxp,\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Efficiney: 11.11 %\n",
- "Efficiney max: 33.3333333333 %\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E08 : Pg 3.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 3.14\n",
- "# Example 3.8\n",
- "# Given\n",
- "# From waveform\n",
- "Amax=150.;\n",
- "Amin=30.;\n",
- "\n",
- "# (a)Modulation index\n",
- "u=((Amax-Amin)/(Amax+Amin));\n",
- "print\"Modulation Index: \",round(u,2)\n",
- "\n",
- "Ac=(Amax/(1.+u));\n",
- "# (b)\n",
- "# Carrier Power\n",
- "Pc=(Ac**2.)/2.;\n",
- "print\"Carrier Power: \",round(Pc,2),\"W\"\n",
- "\n",
- "# Side band Power\n",
- "PSB=(Amin**2.)/2.;\n",
- "print\"USB=LSB Power: \",round(PSB,2),\"W\"\n",
- "\n",
- "# Total Average power\n",
- "Pt=Pc+(2.*PSB);\n",
- "print\"Total Average Power: \",round(Pt,2),\"W\"\n",
- "\n",
- "# (c)Peak Envelope Power\n",
- "# Given\n",
- "R=60; # Ohm\n",
- "PEP=(Amax**2)/(2*R);\n",
- "print\"Peak Envelope Power: \",round(PEP),\"W\"\n",
- "\n",
- "# (d) Modulation Efficieny\n",
- "n=PSB/Pt;\n",
- "print\"Modulation efficieny: \",round(n,2)\n",
- "\n",
- "# (e) Given\n",
- "# (i) u=0.2\n",
- "u1=0.2;\n",
- "A1=(60./u1)-Ac;\n",
- "print\"A=\",round(A1)\n",
- "\n",
- "# (ii) u=0.8\n",
- "u2=0.8;\n",
- "A2=(60./u2)-Ac;\n",
- "print \"A=\",round(A2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Modulation Index: 0.67\n",
- "Carrier Power: 4050.0 W\n",
- "USB=LSB Power: 450.0 W\n",
- "Total Average Power: 4950.0 W\n",
- "Peak Envelope Power: 188.0 W\n",
- "Modulation efficieny: 0.09\n",
- "A= 210.0\n",
- "A= -15.0\n"
- ]
- }
- ],
- "prompt_number": 2
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER04.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER04.ipynb
deleted file mode 100755
index 62bae8a2..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER04.ipynb
+++ /dev/null
@@ -1,680 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:a49a8ec12fc3b73c3ede4bd700b2981c396abe3970143184cc460eca3744fac1"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER04:ANGLE MODULATION"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E03 : Pg 4.9"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.9\n",
- "# Example 4.3\n",
- "# Given\n",
- "fc=1.*10.**6.; # Hz\n",
- "kf=5.;\n",
- "mt=1.*10.**5.; # Hz\n",
- "\n",
- "# (a) mi(t) with fm\n",
- "mi=(fc+(kf*mt));\n",
- "print\"Max, Inst. Frequency with FM\",mi,\"Hz\"\n",
- "import math \n",
- "kp=3.;\n",
- "# (b) mi2(t) with pm\n",
- "mi2=fc+(mt*(kp/(2*math.pi)));\n",
- "\n",
- "print\"Max, Inst. Frequency with PM\",mi2,\"Hz\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Max, Inst. Frequency with FM 1500000.0 Hz\n",
- "Max, Inst. Frequency with PM 1047746.48293 Hz\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E09 : Pg 4.13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.13\n",
- "# Example 4.9\n",
- "# Given\n",
- "delf=20.*10.**3.; # hz\n",
- "fm=10.*10.**3.; # Hz\n",
- "\n",
- "B=delf/fm;\n",
- "print\"Beta: \",B"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Beta: 2.0\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E13 : Pg 4.16"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.16\n",
- "# Example 4.13\n",
- "# Given\n",
- "# x(t)=10cos((2*pi*10**8*t)+(200cos(2*pi*10**3*t)))\n",
- "# on differentiating\n",
- "# wi=2*pi*(1D+8)-4*pi*sin(2*pi*(1D+3)*t)\n",
- "# Therefore\n",
- "import math \n",
- "delw=4.*math.pi*(1.*10.**5.);\n",
- "wm=2.*math.pi*(1.*10.**3.);\n",
- "B=delw/wm;\n",
- "wb=2.*(B+1.)*wm;\n",
- "fb=wb/2.*math.pi;\n",
- "print\"Wb\",wb,\"rad/s\"\n",
- "print\"Fb\",fb,\"Hz\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Wb 2525840.49349 rad/s\n",
- "Fb 3967580.96924 Hz\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E14 : Pg 4.17"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.17\n",
- "# Example 4.14\n",
- "# Given\n",
- "delf=100.*10.**3; # Hz\n",
- "fc=20.*10.**6.; # Hz\n",
- "\n",
- "# As B=delf/fm;\n",
- "# (a) fm1=1*10.**3hz\n",
- "print'Part a'\n",
- "fm1=1.*10.**3.; # Hz\n",
- "B1=delf/fm1;\n",
- "print'Modulation Index',B1\n",
- "fb1=2.*delf;\n",
- "print'Bandwidth',fb1,'Hz'\n",
- "# (b) fm2=100*10.**3hz\n",
- "print'\\nPart b'\n",
- "fm2=100.*10.**3.; # Hz\n",
- "B2=delf/fm2;\n",
- "print'Modulation Index',B2\n",
- "fb2=2.*(B2+1.)*fm2;\n",
- "print'Bandwidth',fb2,'Hz'\n",
- "# (c) fm3=500*10.**3hz\n",
- "print'\\nPart c'\n",
- "fm3=500.*10.**3.; # Hz\n",
- "B3=delf/fm3;\n",
- "print'Modulation Index',B3\n",
- "fb3=2.*fm3;\n",
- "print'Bandwidth',fb3,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Part a\n",
- "Modulation Index 100.0\n",
- "Bandwidth 200000.0 Hz\n",
- "\n",
- "Part b\n",
- "Modulation Index 1.0\n",
- "Bandwidth 400000.0 Hz\n",
- "\n",
- "Part c\n",
- "Modulation Index 0.2\n",
- "Bandwidth 1000000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E15 : Pg 4.17"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.17\n",
- "# Example 4.15\n",
- "# Given\n",
- "# x(t)=10cos(wct+3sinwmt)\n",
- "# Comparing with standard equation\n",
- "B=3.;\n",
- "fm=1.*10.**3.; # hz\n",
- "fb=2.*(B+1.)*fm;\n",
- "\n",
- "# (a)fm is doubled\n",
- "fma=2.*fm;\n",
- "fba=2.*(B+1.)*fma;\n",
- "print\"fb with 2fm: \",fba\n",
- "\n",
- "# (b)fm is one halved\n",
- "fmb=fm/2.;\n",
- "fbb=2.*(B+1.)*fmb;\n",
- "print\"fb with 0.5fm: \",fbb"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fb with 2fm: 16000.0\n",
- "fb with 0.5fm: 4000.0\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E16 : Pg 4.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.18\n",
- "# Example 4.16\n",
- "# Given\n",
- "# x(t)=10cos(wct+3sinwmt)\n",
- "# Comparing with standard equation of fm\n",
- "B=3.;\n",
- "fm=1.*10.**3.; # hz\n",
- "fb=2.*(B+1.)*fm;\n",
- "\n",
- "# B is inversaly proportional to fm\n",
- "\n",
- "# (a)fm is doubled\n",
- "Ba=B/2.;\n",
- "fma=2.*fm;\n",
- "fba=2.*(Ba+1.)*fma;\n",
- "print\"fb with 2fm: \",fba\n",
- "\n",
- "\n",
- "\n",
- "# (b)fm is one halved\n",
- "Bb=2.*B;\n",
- "fmb=fm/2.;\n",
- "fbb=2.*(Bb+1.)*fmb;\n",
- "print\"fb with 0.5fm: \",fbb"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fb with 2fm: 10000.0\n",
- "fb with 0.5fm: 7000.0\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E17 : Pg 4.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.18\n",
- "# Example 4.17\n",
- "\n",
- "# Given\n",
- "fm=2.*10.**3.; # Hz\n",
- "delf=5.*10.**3.; # Hz\n",
- "\n",
- "# (a) Bandwidth of modulated signal\n",
- "B=delf/fm;\n",
- "\n",
- "fb=2.*(B+1.)*fm;\n",
- "print'Bandwidth',fb,'Hz'\n",
- "\n",
- "# (b)Max. frequency deviation and Bandwidth of new signal\n",
- "# Given\n",
- "fm1=fm-(1.*10.**3.);\n",
- "delf1=3.*delf;\n",
- "\n",
- "B1=delf1/fm1;\n",
- "\n",
- "fd=B1*fm1;\n",
- "print'Maximum frequency deviation',fd,'Hz'\n",
- "\n",
- "fb1=2.*(B1+1.)*fm1;\n",
- "print'Bandwidth',fb1,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Bandwidth 14000.0 Hz\n",
- "Maximum frequency deviation 15000.0 Hz\n",
- "Bandwidth 32000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E18 : Pg 4.19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.19\n",
- "# Example 4.18\n",
- "# Given\n",
- "delf=75.*10.**3.; # Hz\n",
- "fM=15.*10.**3.; # Hz\n",
- "\n",
- "D=delf/fM;\n",
- "# Given formula fb=2(*10.**2)*fM\n",
- "fb1=2.*10.**2.*fM;\n",
- "print'BW uing formula',fb1,'Hz'\n",
- "\n",
- "# Carsons Rule\n",
- "fb2=2.*10.**1.*fM;\n",
- "print'BW uing Carsons Rule',fb2,'Hz'\n",
- "\n",
- "# High quality Fm radios require minimum 200kHz\n",
- "# Therefore, carsons rule underestimates bandwidth"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "BW uing formula 3000000.0 Hz\n",
- "BW uing Carsons Rule 300000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E19 : Pg 4.19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.19\n",
- "# Example 4.19\n",
- "# Given\n",
- "fm1=50.; # Hz\n",
- "fm2=15.*10.**3.; # Hz\n",
- "\n",
- "delf=75.*10.**3.; # Hz\n",
- "\n",
- "# As B=delf/fm\n",
- "Bmin=delf/fm2;\n",
- "Bmax=delf/fm1;\n",
- "\n",
- "# Let B1=0.5\n",
- "B1=0.5;\n",
- "n=(Bmax/B1);\n",
- "print'Multiplication factor',n\n",
- "\n",
- "delf1=(delf/n);\n",
- "print'Max allowed frequency deviation',delf1,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Multiplication factor 3000.0\n",
- "Max allowed frequency deviation 25.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E20 : Pg 4.20"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.20\n",
- "# Example 4.20\n",
- "# Given\n",
- "f1=2.*10.**5.; # Hz\n",
- "fLO=10.8*10.**6.; # Hz\n",
- "delf1=25.; # Hz\n",
- "n1=64.;\n",
- "n2=48.;\n",
- "\n",
- "delf=(delf1*n1*n2);\n",
- "print'Maximum frequency deviation',delf,'Hz'\n",
- "\n",
- "f2=n1*f1;\n",
- "\n",
- "f3a=f2+fLO;\n",
- "f3b=f2-fLO;\n",
- "\n",
- "# For f3a\n",
- "fca=n2*f3a;\n",
- "print'Carrier frequency 1',fca,'Hz'\n",
- "\n",
- "# For f3b\n",
- "fcb=n2*f3b;\n",
- "print'Carrier frequency 2',fcb,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum frequency deviation 76800.0 Hz\n",
- "Carrier frequency 1 1132800000.0 Hz\n",
- "Carrier frequency 2 96000000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E21 : Pg 4.20"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.20\n",
- "# Example 4.21\n",
- "# Given\n",
- "delf=20.*10.**3.; # Hz\n",
- "fc=200.*10.**3.; # Hz\n",
- "of=96.*10.**6.; # hz\n",
- "# delf=n1*n2 and as only doublers are used, n1*n2 has to be power of 2\n",
- "# By trail and error, we find\n",
- "n1=64.;\n",
- "n2=32.;\n",
- "# Output of first Multiplier\n",
- "o1=n1*fc;\n",
- "print'Output of first multiplier: ',o1,'Hz'\n",
- "i2=of/n2;\n",
- "flo=o1-i2;\n",
- "print'fLO',flo,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output of first multiplier: 12800000.0 Hz\n",
- "fLO 9800000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E22 : Pg 4.20"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.20\n",
- "# Example 4.22\n",
- "# Given\n",
- "B=0.2; \n",
- "f1=200.*10.**3.; # Hz\n",
- "fml=50.; # Hz\n",
- "fmh=15.*10.**3.; # Hz\n",
- "delf=75.*10.**3.; # hz\n",
- "fc=108.*10.**6.; # Hz\n",
- "\n",
- "delf1=B*fml;\n",
- "n1n2=delf/delf1;\n",
- "\n",
- "# Let n2=150\n",
- "n2=150.;\n",
- "flo=((delf*f1)-fc)/n2;\n",
- "print'fLO',flo,'Hz'\n",
- "\n",
- "n1=n1n2/n2;\n",
- "print\"n1 with n2=150:\",n1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fLO 99280000.0 Hz\n",
- "n1 with n2=150: 50.0\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E23 : Pg 4.21"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.21\n",
- "# Example 4.23\n",
- "# Given,\n",
- "\n",
- "delfd1=50.; # Hz\n",
- "f1=120.; # Hz\n",
- "\n",
- "delfd2=20000.; # Hz\n",
- "f2=240.; # Hz\n",
- "# (a)PM\n",
- "delf1=(f2/f1)*delfd1;\n",
- "n1=delfd2/delf1;\n",
- "print'Frequency multiplication factor in PM',n1\n",
- "\n",
- "# (b)FM\n",
- "n2=delfd2/delfd1;\n",
- "print'Frequency multiplication factor in FM',n2"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Frequency multiplication factor in PM 200.0\n",
- "Frequency multiplication factor in FM 400.0\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E29 : Pg 4.25"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.25\n",
- "# Example 4.29\n",
- "# Given,\n",
- "f1=108.; # MHz\n",
- "f2=157.; # MHz\n",
- "\n",
- "# (a) Image frequency overlaps RF band\n",
- "fIF=12.; # MHz\n",
- "\n",
- "fL01=f1-fIF;\n",
- "print'fL01',fL01,'MHz'\n",
- "fim1=fL01-fIF;\n",
- "print'fim1',fim1,'MHz'\n",
- "\n",
- "fL02=f2-fIF;\n",
- "print'fL02',fL02,'MHz'\n",
- "fim2=fL02-fIF;\n",
- "print'fim2',fim2,'MHz'\n",
- "\n",
- "# Clearly image and RF band overlap"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fL01 96.0 MHz\n",
- "fim1 84.0 MHz\n",
- "fL02 145.0 MHz\n",
- "fim2 133.0 MHz\n"
- ]
- }
- ],
- "prompt_number": 15
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER04_1.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER04_1.ipynb
deleted file mode 100755
index 62bae8a2..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER04_1.ipynb
+++ /dev/null
@@ -1,680 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:a49a8ec12fc3b73c3ede4bd700b2981c396abe3970143184cc460eca3744fac1"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER04:ANGLE MODULATION"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E03 : Pg 4.9"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.9\n",
- "# Example 4.3\n",
- "# Given\n",
- "fc=1.*10.**6.; # Hz\n",
- "kf=5.;\n",
- "mt=1.*10.**5.; # Hz\n",
- "\n",
- "# (a) mi(t) with fm\n",
- "mi=(fc+(kf*mt));\n",
- "print\"Max, Inst. Frequency with FM\",mi,\"Hz\"\n",
- "import math \n",
- "kp=3.;\n",
- "# (b) mi2(t) with pm\n",
- "mi2=fc+(mt*(kp/(2*math.pi)));\n",
- "\n",
- "print\"Max, Inst. Frequency with PM\",mi2,\"Hz\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Max, Inst. Frequency with FM 1500000.0 Hz\n",
- "Max, Inst. Frequency with PM 1047746.48293 Hz\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E09 : Pg 4.13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.13\n",
- "# Example 4.9\n",
- "# Given\n",
- "delf=20.*10.**3.; # hz\n",
- "fm=10.*10.**3.; # Hz\n",
- "\n",
- "B=delf/fm;\n",
- "print\"Beta: \",B"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Beta: 2.0\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E13 : Pg 4.16"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.16\n",
- "# Example 4.13\n",
- "# Given\n",
- "# x(t)=10cos((2*pi*10**8*t)+(200cos(2*pi*10**3*t)))\n",
- "# on differentiating\n",
- "# wi=2*pi*(1D+8)-4*pi*sin(2*pi*(1D+3)*t)\n",
- "# Therefore\n",
- "import math \n",
- "delw=4.*math.pi*(1.*10.**5.);\n",
- "wm=2.*math.pi*(1.*10.**3.);\n",
- "B=delw/wm;\n",
- "wb=2.*(B+1.)*wm;\n",
- "fb=wb/2.*math.pi;\n",
- "print\"Wb\",wb,\"rad/s\"\n",
- "print\"Fb\",fb,\"Hz\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Wb 2525840.49349 rad/s\n",
- "Fb 3967580.96924 Hz\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E14 : Pg 4.17"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.17\n",
- "# Example 4.14\n",
- "# Given\n",
- "delf=100.*10.**3; # Hz\n",
- "fc=20.*10.**6.; # Hz\n",
- "\n",
- "# As B=delf/fm;\n",
- "# (a) fm1=1*10.**3hz\n",
- "print'Part a'\n",
- "fm1=1.*10.**3.; # Hz\n",
- "B1=delf/fm1;\n",
- "print'Modulation Index',B1\n",
- "fb1=2.*delf;\n",
- "print'Bandwidth',fb1,'Hz'\n",
- "# (b) fm2=100*10.**3hz\n",
- "print'\\nPart b'\n",
- "fm2=100.*10.**3.; # Hz\n",
- "B2=delf/fm2;\n",
- "print'Modulation Index',B2\n",
- "fb2=2.*(B2+1.)*fm2;\n",
- "print'Bandwidth',fb2,'Hz'\n",
- "# (c) fm3=500*10.**3hz\n",
- "print'\\nPart c'\n",
- "fm3=500.*10.**3.; # Hz\n",
- "B3=delf/fm3;\n",
- "print'Modulation Index',B3\n",
- "fb3=2.*fm3;\n",
- "print'Bandwidth',fb3,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Part a\n",
- "Modulation Index 100.0\n",
- "Bandwidth 200000.0 Hz\n",
- "\n",
- "Part b\n",
- "Modulation Index 1.0\n",
- "Bandwidth 400000.0 Hz\n",
- "\n",
- "Part c\n",
- "Modulation Index 0.2\n",
- "Bandwidth 1000000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E15 : Pg 4.17"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.17\n",
- "# Example 4.15\n",
- "# Given\n",
- "# x(t)=10cos(wct+3sinwmt)\n",
- "# Comparing with standard equation\n",
- "B=3.;\n",
- "fm=1.*10.**3.; # hz\n",
- "fb=2.*(B+1.)*fm;\n",
- "\n",
- "# (a)fm is doubled\n",
- "fma=2.*fm;\n",
- "fba=2.*(B+1.)*fma;\n",
- "print\"fb with 2fm: \",fba\n",
- "\n",
- "# (b)fm is one halved\n",
- "fmb=fm/2.;\n",
- "fbb=2.*(B+1.)*fmb;\n",
- "print\"fb with 0.5fm: \",fbb"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fb with 2fm: 16000.0\n",
- "fb with 0.5fm: 4000.0\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E16 : Pg 4.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.18\n",
- "# Example 4.16\n",
- "# Given\n",
- "# x(t)=10cos(wct+3sinwmt)\n",
- "# Comparing with standard equation of fm\n",
- "B=3.;\n",
- "fm=1.*10.**3.; # hz\n",
- "fb=2.*(B+1.)*fm;\n",
- "\n",
- "# B is inversaly proportional to fm\n",
- "\n",
- "# (a)fm is doubled\n",
- "Ba=B/2.;\n",
- "fma=2.*fm;\n",
- "fba=2.*(Ba+1.)*fma;\n",
- "print\"fb with 2fm: \",fba\n",
- "\n",
- "\n",
- "\n",
- "# (b)fm is one halved\n",
- "Bb=2.*B;\n",
- "fmb=fm/2.;\n",
- "fbb=2.*(Bb+1.)*fmb;\n",
- "print\"fb with 0.5fm: \",fbb"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fb with 2fm: 10000.0\n",
- "fb with 0.5fm: 7000.0\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E17 : Pg 4.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.18\n",
- "# Example 4.17\n",
- "\n",
- "# Given\n",
- "fm=2.*10.**3.; # Hz\n",
- "delf=5.*10.**3.; # Hz\n",
- "\n",
- "# (a) Bandwidth of modulated signal\n",
- "B=delf/fm;\n",
- "\n",
- "fb=2.*(B+1.)*fm;\n",
- "print'Bandwidth',fb,'Hz'\n",
- "\n",
- "# (b)Max. frequency deviation and Bandwidth of new signal\n",
- "# Given\n",
- "fm1=fm-(1.*10.**3.);\n",
- "delf1=3.*delf;\n",
- "\n",
- "B1=delf1/fm1;\n",
- "\n",
- "fd=B1*fm1;\n",
- "print'Maximum frequency deviation',fd,'Hz'\n",
- "\n",
- "fb1=2.*(B1+1.)*fm1;\n",
- "print'Bandwidth',fb1,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Bandwidth 14000.0 Hz\n",
- "Maximum frequency deviation 15000.0 Hz\n",
- "Bandwidth 32000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E18 : Pg 4.19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.19\n",
- "# Example 4.18\n",
- "# Given\n",
- "delf=75.*10.**3.; # Hz\n",
- "fM=15.*10.**3.; # Hz\n",
- "\n",
- "D=delf/fM;\n",
- "# Given formula fb=2(*10.**2)*fM\n",
- "fb1=2.*10.**2.*fM;\n",
- "print'BW uing formula',fb1,'Hz'\n",
- "\n",
- "# Carsons Rule\n",
- "fb2=2.*10.**1.*fM;\n",
- "print'BW uing Carsons Rule',fb2,'Hz'\n",
- "\n",
- "# High quality Fm radios require minimum 200kHz\n",
- "# Therefore, carsons rule underestimates bandwidth"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "BW uing formula 3000000.0 Hz\n",
- "BW uing Carsons Rule 300000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E19 : Pg 4.19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.19\n",
- "# Example 4.19\n",
- "# Given\n",
- "fm1=50.; # Hz\n",
- "fm2=15.*10.**3.; # Hz\n",
- "\n",
- "delf=75.*10.**3.; # Hz\n",
- "\n",
- "# As B=delf/fm\n",
- "Bmin=delf/fm2;\n",
- "Bmax=delf/fm1;\n",
- "\n",
- "# Let B1=0.5\n",
- "B1=0.5;\n",
- "n=(Bmax/B1);\n",
- "print'Multiplication factor',n\n",
- "\n",
- "delf1=(delf/n);\n",
- "print'Max allowed frequency deviation',delf1,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Multiplication factor 3000.0\n",
- "Max allowed frequency deviation 25.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E20 : Pg 4.20"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.20\n",
- "# Example 4.20\n",
- "# Given\n",
- "f1=2.*10.**5.; # Hz\n",
- "fLO=10.8*10.**6.; # Hz\n",
- "delf1=25.; # Hz\n",
- "n1=64.;\n",
- "n2=48.;\n",
- "\n",
- "delf=(delf1*n1*n2);\n",
- "print'Maximum frequency deviation',delf,'Hz'\n",
- "\n",
- "f2=n1*f1;\n",
- "\n",
- "f3a=f2+fLO;\n",
- "f3b=f2-fLO;\n",
- "\n",
- "# For f3a\n",
- "fca=n2*f3a;\n",
- "print'Carrier frequency 1',fca,'Hz'\n",
- "\n",
- "# For f3b\n",
- "fcb=n2*f3b;\n",
- "print'Carrier frequency 2',fcb,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum frequency deviation 76800.0 Hz\n",
- "Carrier frequency 1 1132800000.0 Hz\n",
- "Carrier frequency 2 96000000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E21 : Pg 4.20"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.20\n",
- "# Example 4.21\n",
- "# Given\n",
- "delf=20.*10.**3.; # Hz\n",
- "fc=200.*10.**3.; # Hz\n",
- "of=96.*10.**6.; # hz\n",
- "# delf=n1*n2 and as only doublers are used, n1*n2 has to be power of 2\n",
- "# By trail and error, we find\n",
- "n1=64.;\n",
- "n2=32.;\n",
- "# Output of first Multiplier\n",
- "o1=n1*fc;\n",
- "print'Output of first multiplier: ',o1,'Hz'\n",
- "i2=of/n2;\n",
- "flo=o1-i2;\n",
- "print'fLO',flo,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output of first multiplier: 12800000.0 Hz\n",
- "fLO 9800000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E22 : Pg 4.20"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.20\n",
- "# Example 4.22\n",
- "# Given\n",
- "B=0.2; \n",
- "f1=200.*10.**3.; # Hz\n",
- "fml=50.; # Hz\n",
- "fmh=15.*10.**3.; # Hz\n",
- "delf=75.*10.**3.; # hz\n",
- "fc=108.*10.**6.; # Hz\n",
- "\n",
- "delf1=B*fml;\n",
- "n1n2=delf/delf1;\n",
- "\n",
- "# Let n2=150\n",
- "n2=150.;\n",
- "flo=((delf*f1)-fc)/n2;\n",
- "print'fLO',flo,'Hz'\n",
- "\n",
- "n1=n1n2/n2;\n",
- "print\"n1 with n2=150:\",n1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fLO 99280000.0 Hz\n",
- "n1 with n2=150: 50.0\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E23 : Pg 4.21"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.21\n",
- "# Example 4.23\n",
- "# Given,\n",
- "\n",
- "delfd1=50.; # Hz\n",
- "f1=120.; # Hz\n",
- "\n",
- "delfd2=20000.; # Hz\n",
- "f2=240.; # Hz\n",
- "# (a)PM\n",
- "delf1=(f2/f1)*delfd1;\n",
- "n1=delfd2/delf1;\n",
- "print'Frequency multiplication factor in PM',n1\n",
- "\n",
- "# (b)FM\n",
- "n2=delfd2/delfd1;\n",
- "print'Frequency multiplication factor in FM',n2"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Frequency multiplication factor in PM 200.0\n",
- "Frequency multiplication factor in FM 400.0\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E29 : Pg 4.25"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 4.25\n",
- "# Example 4.29\n",
- "# Given,\n",
- "f1=108.; # MHz\n",
- "f2=157.; # MHz\n",
- "\n",
- "# (a) Image frequency overlaps RF band\n",
- "fIF=12.; # MHz\n",
- "\n",
- "fL01=f1-fIF;\n",
- "print'fL01',fL01,'MHz'\n",
- "fim1=fL01-fIF;\n",
- "print'fim1',fim1,'MHz'\n",
- "\n",
- "fL02=f2-fIF;\n",
- "print'fL02',fL02,'MHz'\n",
- "fim2=fL02-fIF;\n",
- "print'fim2',fim2,'MHz'\n",
- "\n",
- "# Clearly image and RF band overlap"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "fL01 96.0 MHz\n",
- "fim1 84.0 MHz\n",
- "fL02 145.0 MHz\n",
- "fim2 133.0 MHz\n"
- ]
- }
- ],
- "prompt_number": 15
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER05.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER05.ipynb
deleted file mode 100755
index d917ea6c..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER05.ipynb
+++ /dev/null
@@ -1,820 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:d2b10e85dc4e5ecd691f760bb8b2905ecd459bb295630a40b80f0bb469c6ca0a"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER05:PULSE MODULATION"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E09 : Pg 5.26"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.26\n",
- "# Example 5.9\n",
- "# Given,\n",
- "# m(t)=10cos(2000*pi*t)cos(8000*pi*t)\n",
- "# or 5 cos (6000*pi*t) +5*cos(10000*pi*t)\n",
- "# (a) Minimum sampling rate\n",
- "# we have\n",
- "fM=5000.; # Hz\n",
- "fs=2.*fM;\n",
- "print'Minimum sampling rate',fs,'Hz'\n",
- "\n",
- "# (b)bandpass sampling theoram\n",
- "fu=fM;\n",
- "fb=fM-3000.; # Hz\n",
- "# As fu/fb is 2.5\n",
- "# We have\n",
- "k=2.;\n",
- "fs2=(2.*fu)/k;\n",
- "print'Minimum sampling rate by sampling theoram',fs2,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum sampling rate 10000.0 Hz\n",
- "Minimum sampling rate by sampling theoram 5000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E14 : Pg 5.31"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.31\n",
- "# Example 5.14\n",
- "\n",
- "# Given,\n",
- "Rb=36000.; # (b/s)\n",
- "fM=3200.; # Hz\n",
- "fs=2.*fM;\n",
- "n=Rb/fs;\n",
- "# As n should be less than Rs/fs\n",
- "\n",
- "nn=round(n,2)-1;\n",
- "print'Binary digits',nn\n",
- "\n",
- "L=2**nn;\n",
- "print'Quantizing level',L\n",
- "\n",
- "fs=Rb/nn;\n",
- "print'Sampling Rate',fs,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Binary digits 4.63\n",
- "Quantizing level 24.7610398967\n",
- "Sampling Rate 7775.37796976 Hz\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E15 : Pg 5.31"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.31\n",
- "# Example 5.15\n",
- "mp=1.; # Assume peak amplitude is unity\n",
- "# Given\n",
- "dela=0.02*mp;\n",
- "\n",
- "L=(mp*2)/dela;\n",
- "\n",
- "#for i in range(0,10):\n",
- "# j=2**i;\n",
- "# if(j>=L)\n",
- "# L1=j;\n",
- "# break;\n",
- "import math \n",
- "#n=math.log(L1,2);# bits per sample\n",
- "n=7.;\n",
- "print'Number of bits',n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Number of bits 7.0\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E18 : Pg 5.31"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.31\n",
- "# Example 5.18\n",
- "# Given,\n",
- "import math \n",
- "\n",
- "SbyN=40.; # db\n",
- "SbyN0=10.**(SbyN/10);\n",
- "\n",
- "# As sbyn=3L**2/2\n",
- "L=math.sqrt((2.*(SbyN0))/3.);\n",
- "LL=round(L);\n",
- "\n",
- "n=(math.log(LL))/math.log(2);\n",
- "\n",
- "nn=(round(n))+1; # Upper limit\n",
- "\n",
- "print'Binary digits',nn\n",
- "LL=2.**nn;\n",
- "\n",
- "print'Number of levels',LL\n",
- "# As SQN= 1.76+6.02(n)\n",
- "SQN= 1.76+6.02*(nn);\n",
- "print'Signal to quantizin ratio',SQN,'db'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Binary digits 7.0\n",
- "Number of levels 128.0\n",
- "Signal to quantizin ratio 43.9 db\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E19 : Pg 5.33"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.33\n",
- "# Example 5.19\n",
- "# Given,\n",
- "n=16.;\n",
- "Rb=44100.; # b/s\n",
- "# (a) Output signal to quantizing ratio\n",
- "SNQ=1.76+(6.02*n);\n",
- "print'Output signal to quantizing ratio: ',SNQ,'db'\n",
- "\n",
- "# (b)Input Bit Rate\n",
- "IBR=2.*Rb*n;\n",
- "print'Input bit rate: ',IBR,'B/s'\n",
- "OBR=2.*IBR;\n",
- "print'Output bit rate: ',OBR,'B/s'\n",
- "\n",
- "# (c)Number of bits recorded\n",
- "# Given, an hours time\n",
- "# Therefore, time\n",
- "t=60.*60.;\n",
- "NBR=OBR*t;\n",
- "print'Number of bits recorded: ',NBR,'Bytes'\n",
- "\n",
- "# (d) Dictionary\n",
- "# Given\n",
- "p=1500.;\n",
- "c=2.;\n",
- "l=100.;\n",
- "w=8.;\n",
- "let=6.;\n",
- "b=7.;\n",
- "d=p*c*l*w*let*b;\n",
- "print'Number of bits required',d,'Bytes'\n",
- "\n",
- "x=NBR/(2.*d);\n",
- "y=round(x);\n",
- "print'Number of comparable books',y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output signal to quantizing ratio: 98.08 db\n",
- "Input bit rate: 1411200.0 B/s\n",
- "Output bit rate: 2822400.0 B/s\n",
- "Number of bits recorded: 10160640000.0 Bytes\n",
- "Number of bits required 100800000.0 Bytes\n",
- "Number of comparable books 50.0\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E22 : Pg 5.35"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.35\n",
- "# Example 5.22\n",
- "# Given,\n",
- "f1=200.; # Hz\n",
- "f2=3300.; # Hz\n",
- "fs=8000.; # Samples/s\n",
- "SQN=30.; # dB\n",
- "import math \n",
- "# (a)Minimum number of quantizin levels and bits per sample\n",
- "# From SQN=1.76+20log L\n",
- "La=10.**((SQN-1.76)/20.);\n",
- "L=round(La);\n",
- "print'Minimum number of quantizing levels',L\n",
- "n=math.log(L)/math.log(2);\n",
- "nn=round(n);\n",
- "print'Minimum number of bits per sample',nn\n",
- "\n",
- "# (b)Minimum system bandwidth\n",
- "Fpcm=(nn*fs)/2.;\n",
- "print'Minimum system Bandwidth',Fpcm,'Hz'\n",
- "\n",
- "# (c)For u=255\n",
- "# SQN=20logL-10.1\n",
- "La1=10.**((SQN+10.1)/20.);\n",
- "L1=(round(La1))+1.; # Upper Limit\n",
- "print'Minimum number of quantizing levels for u=255',L1\n",
- "n1=math.log(L1)/math.log(2);\n",
- "nn1=(round(n1));\n",
- "print'Minimum number of bits per sample',nn1\n",
- "\n",
- "# Minimum system bandwidth\n",
- "Fpcm1=(nn1*fs)/2.;\n",
- "print'Minimum system Bandwidth',Fpcm1,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum number of quantizing levels 26.0\n",
- "Minimum number of bits per sample 5.0\n",
- "Minimum system Bandwidth 20000.0 Hz\n",
- "Minimum number of quantizing levels for u=255 102.0\n",
- "Minimum number of bits per sample 7.0\n",
- "Minimum system Bandwidth 28000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E25 : Pg 5.37"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.37\n",
- "# Example 5.25\n",
- "# Given,\n",
- "import math \n",
- "fs=32.*10.**+3.; # Hz\n",
- "fm=1000.; # Hz\n",
- "fM=4.*10.**3.; # Hz\n",
- "# As SNR=(3*(fs**3))/(8*pi*pi*(fm**2)*fM)\n",
- "SNR=(3.*(fs**3.))/(8.*math.pi*math.pi*(fm**2.)*fM);\n",
- "SNRdb=(math.log(SNR))/math.log(10);\n",
- "print'Output SNR',SNRdb,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output SNR 2.49312146597 dB\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E26 : Pg 5.38"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.38\n",
- "# Example 5.26\n",
- "# Given,\n",
- "n=4.;\n",
- "SNQ=1.76+(6.02*n);\n",
- "print'Output SNR',SNQ,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output SNR 25.84 dB\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E27 : Pg 5.38"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.38\n",
- "# Example 5.27\n",
- "import math \n",
- "# Given,\n",
- "bw=3.*10.**3.; # Hz\n",
- "n=3.;\n",
- "fs=(n*2.*bw);\n",
- "dela=250.*10.**3; # mV\n",
- "fm=1000.; # Hz\n",
- "# (a) Maximum amplitude\n",
- "Amax=(dela*fs)/(2.*math.pi*fm);\n",
- "print'Maximum Amplitude',Amax,'V'\n",
- "\n",
- "# (b) Output signal to quantizing ratio\n",
- "SNRO=(3.*(fs**3.))/(8.*math.pi*math.pi*(fm**3.));\n",
- "SNRdb=10.*(math.log(SNRO))/math.log(10);\n",
- "print'Output SNR',SNRdb,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum Amplitude 716197.243914 V\n",
- "Output SNR 23.4554903765 dB\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E32 : Pg 5.40"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.40\n",
- "# Example 5.32\n",
- "# Given,\n",
- "m1=3.*10.**3.; # Hz\n",
- "m2=3.5*10.**3.; # Hz\n",
- "# Since highest frequency is of m2\n",
- "Sr=2.*m2; \n",
- "print'Sampling Rate',Sr,'Samples/s'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Sampling Rate 7000.0 Samples/s\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E33 : Pg 5.40"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.40\n",
- "# Example 5.33\n",
- "# Given,\n",
- "import math \n",
- "m1=3.6*10.**3.; # Hz\n",
- "m2=1.2*10.**3.; # Hz\n",
- "m3=m2;\n",
- "m4=m2;\n",
- "# (a)Nyquist rate\n",
- "nr1=2.*m1;\n",
- "print'Nyquist Rate of m1(t)',nr1\n",
- "nr2=2.*m2;\n",
- "print'Nyquist Rate of m2(t)',nr2\n",
- "nr3=2.*m3;\n",
- "print'Nyquist Rate of m3(t)',nr3\n",
- "nr4=2.*m4;\n",
- "print'Nyquist Rate of m4(t)',nr4\n",
- "\n",
- "# (b) Speed of commutator\n",
- "c=nr1+nr2+nr3+nr4;\n",
- "print'Speed of commutator',c,'samples/s'\n",
- "\n",
- "# (c)Output bit rate\n",
- "# Given, \n",
- "L=1024.;\n",
- "n=math.log(L)/math.log(2);\n",
- "OBR=n*c;\n",
- "print'Output bit rate',OBR,'b/s'\n",
- "\n",
- "# (d)Minimum channel bandwidth\n",
- "fB=c/2.;\n",
- "print'Minimum Channel Bandwidth',fB,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Nyquist Rate of m1(t) 7200.0\n",
- "Nyquist Rate of m2(t) 2400.0\n",
- "Nyquist Rate of m3(t) 2400.0\n",
- "Nyquist Rate of m4(t) 2400.0\n",
- "Speed of commutator 14400.0 samples/s\n",
- "Output bit rate 144000.0 b/s\n",
- "Minimum Channel Bandwidth 7200.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E34 : Pg 5.41"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.41\n",
- "# Example 5.34\n",
- "\n",
- "# Given,\n",
- "fs=8000.; # Hz\n",
- "m=24.;\n",
- "n=8.;\n",
- "# (a) Duration of each bit\n",
- "t1=1./fs;\n",
- "t2=(m*n)+1.; # Extra bit for synchronization\n",
- "Tb=t1/t2;\n",
- "print'Duration of each bit',Tb,'seconds'\n",
- "\n",
- "# (b) Transmission Rate\n",
- "Rb=1./Tb;\n",
- "print'Transmission Rate',Rb,'b/s'\n",
- "\n",
- "# (c)Minimum transmission bandwidth\n",
- "fT1=1./(2.*Tb);\n",
- "print'Minimum transmission bandwidth',fT1,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Duration of each bit 6.47668393782e-07 seconds\n",
- "Transmission Rate 1544000.0 b/s\n",
- "Minimum transmission bandwidth 772000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E35 : Pg 5.42"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.42\n",
- "# Example 5.35\n",
- "# Given,\n",
- "n=24.;\n",
- "f=3.4*10.**3; # Hz\n",
- "ts=1.*10**6.; # Second\n",
- "# (a) Spacing between succesive multiplexed pulses\n",
- "fs=8000.; # Samples per second\n",
- "t1=1./fs;\n",
- "t2=n+1.; # One synchronizing bit\n",
- "Tb=t1/t2;\n",
- "# Actual Tb, as actual duration of each pulse is 1us\n",
- "ATb=Tb-ts;\n",
- "print'Spacing between succesive multiplexed pulses',ATb,'Seconds'\n",
- "# (b) Nyquist Rate of Sampling\n",
- "f1=2.*f;\n",
- "T=1./f1; # Seconds\n",
- "Tb1=T/t2;\n",
- "ATb1=Tb1-ts;\n",
- "print'Spacing between succesive multiplexed pulses using Nyquist rate of sampling',ATb1,'Seconds'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Spacing between succesive multiplexed pulses -999999.999995 Seconds\n",
- "Spacing between succesive multiplexed pulses using Nyquist rate of sampling -999999.999994 Seconds\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E37 : Pg 5.43"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.43\n",
- "# Example 5.37\n",
- "# Given,\n",
- "bw=3.5*10.**3.; # Hz\n",
- "# Roll off factor\n",
- "a=0.25;\n",
- "Rb=(2.*bw)/(1.+a);\n",
- "print'Data Rate',Rb,'b/s'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Data Rate 5600.0 b/s\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E38 : Pg 5.43"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.43\n",
- "# Example 5.38\n",
- "# Given,\n",
- "fB=75.*10.**3.; # Hz\n",
- "Rb=0.1*10.**6.; # B/s\n",
- "Tb=1./Rb;\n",
- "a=(2.*fB*Tb)-1.;\n",
- "print'Roll off factor',a"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Roll off factor 0.5\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E39 : Pg 5.43"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.43\n",
- "# Example 5.39\n",
- "# Given,\n",
- "import math \n",
- "m=8.;\n",
- "fM=2.*10.**3.; # Hz\n",
- "a=0.2;\n",
- "# Here we choose L=128;\n",
- "L=128.;\n",
- "n=math.log(L)/math.log(2);\n",
- "Sr=2.*fM;\n",
- "fs=1.25*Sr;\n",
- "\n",
- "# For n tdm signals\n",
- "x=m*fs;\n",
- "\n",
- "# Resultant bit rate\n",
- "br=7.*x;\n",
- "\n",
- "# Minimum Transmission bandwidth\n",
- "fB=((1.+a)*br)/2.;\n",
- "print'Minimum Transmission bandwidth',fB,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum Transmission bandwidth 168000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E40 : Pg 5.44"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.44\n",
- "# Example 5.40\n",
- "# Given,\n",
- "import math \n",
- "M=16.;\n",
- "sr=40000.;\n",
- "a=0.3;\n",
- "# (a) Bit Rate\n",
- "n=math.log(M)/math.log(2);\n",
- "br=sr*n;\n",
- "print'Bit Rate: ',br,'b/s'\n",
- "\n",
- "# (b)\n",
- "# As 2*fB=(1+a)*R/log2M\n",
- "# Given \n",
- "bw=110.*10.**3.; # Hz # =2*fB\n",
- "\n",
- "M=2.**(((1.+a)*br)/bw);\n",
- "MM=round(M);\n",
- "print'Value of M',MM\n",
- "\n",
- "# (c)Band Rate\n",
- "band=br/(math.log(n))/math.log(2);\n",
- "print'Band Rate',band,'Symbols/s'\n",
- "\n",
- "# (d) Spectral efficiency\n",
- "BT=((1.+a)*br)/2.;\n",
- "Eff=br/BT;\n",
- "print'Spectral efficiency',Eff,'b/s Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Bit Rate: 160000.0 b/s\n",
- "Value of M 4.0\n",
- "Band Rate 166509.51848 Symbols/s\n",
- "Spectral efficiency 1.53846153846 b/s Hz\n"
- ]
- }
- ],
- "prompt_number": 17
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER05_1.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER05_1.ipynb
deleted file mode 100755
index d917ea6c..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER05_1.ipynb
+++ /dev/null
@@ -1,820 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:d2b10e85dc4e5ecd691f760bb8b2905ecd459bb295630a40b80f0bb469c6ca0a"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER05:PULSE MODULATION"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E09 : Pg 5.26"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.26\n",
- "# Example 5.9\n",
- "# Given,\n",
- "# m(t)=10cos(2000*pi*t)cos(8000*pi*t)\n",
- "# or 5 cos (6000*pi*t) +5*cos(10000*pi*t)\n",
- "# (a) Minimum sampling rate\n",
- "# we have\n",
- "fM=5000.; # Hz\n",
- "fs=2.*fM;\n",
- "print'Minimum sampling rate',fs,'Hz'\n",
- "\n",
- "# (b)bandpass sampling theoram\n",
- "fu=fM;\n",
- "fb=fM-3000.; # Hz\n",
- "# As fu/fb is 2.5\n",
- "# We have\n",
- "k=2.;\n",
- "fs2=(2.*fu)/k;\n",
- "print'Minimum sampling rate by sampling theoram',fs2,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum sampling rate 10000.0 Hz\n",
- "Minimum sampling rate by sampling theoram 5000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E14 : Pg 5.31"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.31\n",
- "# Example 5.14\n",
- "\n",
- "# Given,\n",
- "Rb=36000.; # (b/s)\n",
- "fM=3200.; # Hz\n",
- "fs=2.*fM;\n",
- "n=Rb/fs;\n",
- "# As n should be less than Rs/fs\n",
- "\n",
- "nn=round(n,2)-1;\n",
- "print'Binary digits',nn\n",
- "\n",
- "L=2**nn;\n",
- "print'Quantizing level',L\n",
- "\n",
- "fs=Rb/nn;\n",
- "print'Sampling Rate',fs,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Binary digits 4.63\n",
- "Quantizing level 24.7610398967\n",
- "Sampling Rate 7775.37796976 Hz\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E15 : Pg 5.31"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.31\n",
- "# Example 5.15\n",
- "mp=1.; # Assume peak amplitude is unity\n",
- "# Given\n",
- "dela=0.02*mp;\n",
- "\n",
- "L=(mp*2)/dela;\n",
- "\n",
- "#for i in range(0,10):\n",
- "# j=2**i;\n",
- "# if(j>=L)\n",
- "# L1=j;\n",
- "# break;\n",
- "import math \n",
- "#n=math.log(L1,2);# bits per sample\n",
- "n=7.;\n",
- "print'Number of bits',n"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Number of bits 7.0\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E18 : Pg 5.31"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.31\n",
- "# Example 5.18\n",
- "# Given,\n",
- "import math \n",
- "\n",
- "SbyN=40.; # db\n",
- "SbyN0=10.**(SbyN/10);\n",
- "\n",
- "# As sbyn=3L**2/2\n",
- "L=math.sqrt((2.*(SbyN0))/3.);\n",
- "LL=round(L);\n",
- "\n",
- "n=(math.log(LL))/math.log(2);\n",
- "\n",
- "nn=(round(n))+1; # Upper limit\n",
- "\n",
- "print'Binary digits',nn\n",
- "LL=2.**nn;\n",
- "\n",
- "print'Number of levels',LL\n",
- "# As SQN= 1.76+6.02(n)\n",
- "SQN= 1.76+6.02*(nn);\n",
- "print'Signal to quantizin ratio',SQN,'db'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Binary digits 7.0\n",
- "Number of levels 128.0\n",
- "Signal to quantizin ratio 43.9 db\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E19 : Pg 5.33"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.33\n",
- "# Example 5.19\n",
- "# Given,\n",
- "n=16.;\n",
- "Rb=44100.; # b/s\n",
- "# (a) Output signal to quantizing ratio\n",
- "SNQ=1.76+(6.02*n);\n",
- "print'Output signal to quantizing ratio: ',SNQ,'db'\n",
- "\n",
- "# (b)Input Bit Rate\n",
- "IBR=2.*Rb*n;\n",
- "print'Input bit rate: ',IBR,'B/s'\n",
- "OBR=2.*IBR;\n",
- "print'Output bit rate: ',OBR,'B/s'\n",
- "\n",
- "# (c)Number of bits recorded\n",
- "# Given, an hours time\n",
- "# Therefore, time\n",
- "t=60.*60.;\n",
- "NBR=OBR*t;\n",
- "print'Number of bits recorded: ',NBR,'Bytes'\n",
- "\n",
- "# (d) Dictionary\n",
- "# Given\n",
- "p=1500.;\n",
- "c=2.;\n",
- "l=100.;\n",
- "w=8.;\n",
- "let=6.;\n",
- "b=7.;\n",
- "d=p*c*l*w*let*b;\n",
- "print'Number of bits required',d,'Bytes'\n",
- "\n",
- "x=NBR/(2.*d);\n",
- "y=round(x);\n",
- "print'Number of comparable books',y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output signal to quantizing ratio: 98.08 db\n",
- "Input bit rate: 1411200.0 B/s\n",
- "Output bit rate: 2822400.0 B/s\n",
- "Number of bits recorded: 10160640000.0 Bytes\n",
- "Number of bits required 100800000.0 Bytes\n",
- "Number of comparable books 50.0\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E22 : Pg 5.35"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.35\n",
- "# Example 5.22\n",
- "# Given,\n",
- "f1=200.; # Hz\n",
- "f2=3300.; # Hz\n",
- "fs=8000.; # Samples/s\n",
- "SQN=30.; # dB\n",
- "import math \n",
- "# (a)Minimum number of quantizin levels and bits per sample\n",
- "# From SQN=1.76+20log L\n",
- "La=10.**((SQN-1.76)/20.);\n",
- "L=round(La);\n",
- "print'Minimum number of quantizing levels',L\n",
- "n=math.log(L)/math.log(2);\n",
- "nn=round(n);\n",
- "print'Minimum number of bits per sample',nn\n",
- "\n",
- "# (b)Minimum system bandwidth\n",
- "Fpcm=(nn*fs)/2.;\n",
- "print'Minimum system Bandwidth',Fpcm,'Hz'\n",
- "\n",
- "# (c)For u=255\n",
- "# SQN=20logL-10.1\n",
- "La1=10.**((SQN+10.1)/20.);\n",
- "L1=(round(La1))+1.; # Upper Limit\n",
- "print'Minimum number of quantizing levels for u=255',L1\n",
- "n1=math.log(L1)/math.log(2);\n",
- "nn1=(round(n1));\n",
- "print'Minimum number of bits per sample',nn1\n",
- "\n",
- "# Minimum system bandwidth\n",
- "Fpcm1=(nn1*fs)/2.;\n",
- "print'Minimum system Bandwidth',Fpcm1,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum number of quantizing levels 26.0\n",
- "Minimum number of bits per sample 5.0\n",
- "Minimum system Bandwidth 20000.0 Hz\n",
- "Minimum number of quantizing levels for u=255 102.0\n",
- "Minimum number of bits per sample 7.0\n",
- "Minimum system Bandwidth 28000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E25 : Pg 5.37"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.37\n",
- "# Example 5.25\n",
- "# Given,\n",
- "import math \n",
- "fs=32.*10.**+3.; # Hz\n",
- "fm=1000.; # Hz\n",
- "fM=4.*10.**3.; # Hz\n",
- "# As SNR=(3*(fs**3))/(8*pi*pi*(fm**2)*fM)\n",
- "SNR=(3.*(fs**3.))/(8.*math.pi*math.pi*(fm**2.)*fM);\n",
- "SNRdb=(math.log(SNR))/math.log(10);\n",
- "print'Output SNR',SNRdb,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output SNR 2.49312146597 dB\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E26 : Pg 5.38"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.38\n",
- "# Example 5.26\n",
- "# Given,\n",
- "n=4.;\n",
- "SNQ=1.76+(6.02*n);\n",
- "print'Output SNR',SNQ,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output SNR 25.84 dB\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E27 : Pg 5.38"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.38\n",
- "# Example 5.27\n",
- "import math \n",
- "# Given,\n",
- "bw=3.*10.**3.; # Hz\n",
- "n=3.;\n",
- "fs=(n*2.*bw);\n",
- "dela=250.*10.**3; # mV\n",
- "fm=1000.; # Hz\n",
- "# (a) Maximum amplitude\n",
- "Amax=(dela*fs)/(2.*math.pi*fm);\n",
- "print'Maximum Amplitude',Amax,'V'\n",
- "\n",
- "# (b) Output signal to quantizing ratio\n",
- "SNRO=(3.*(fs**3.))/(8.*math.pi*math.pi*(fm**3.));\n",
- "SNRdb=10.*(math.log(SNRO))/math.log(10);\n",
- "print'Output SNR',SNRdb,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum Amplitude 716197.243914 V\n",
- "Output SNR 23.4554903765 dB\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E32 : Pg 5.40"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.40\n",
- "# Example 5.32\n",
- "# Given,\n",
- "m1=3.*10.**3.; # Hz\n",
- "m2=3.5*10.**3.; # Hz\n",
- "# Since highest frequency is of m2\n",
- "Sr=2.*m2; \n",
- "print'Sampling Rate',Sr,'Samples/s'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Sampling Rate 7000.0 Samples/s\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E33 : Pg 5.40"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.40\n",
- "# Example 5.33\n",
- "# Given,\n",
- "import math \n",
- "m1=3.6*10.**3.; # Hz\n",
- "m2=1.2*10.**3.; # Hz\n",
- "m3=m2;\n",
- "m4=m2;\n",
- "# (a)Nyquist rate\n",
- "nr1=2.*m1;\n",
- "print'Nyquist Rate of m1(t)',nr1\n",
- "nr2=2.*m2;\n",
- "print'Nyquist Rate of m2(t)',nr2\n",
- "nr3=2.*m3;\n",
- "print'Nyquist Rate of m3(t)',nr3\n",
- "nr4=2.*m4;\n",
- "print'Nyquist Rate of m4(t)',nr4\n",
- "\n",
- "# (b) Speed of commutator\n",
- "c=nr1+nr2+nr3+nr4;\n",
- "print'Speed of commutator',c,'samples/s'\n",
- "\n",
- "# (c)Output bit rate\n",
- "# Given, \n",
- "L=1024.;\n",
- "n=math.log(L)/math.log(2);\n",
- "OBR=n*c;\n",
- "print'Output bit rate',OBR,'b/s'\n",
- "\n",
- "# (d)Minimum channel bandwidth\n",
- "fB=c/2.;\n",
- "print'Minimum Channel Bandwidth',fB,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Nyquist Rate of m1(t) 7200.0\n",
- "Nyquist Rate of m2(t) 2400.0\n",
- "Nyquist Rate of m3(t) 2400.0\n",
- "Nyquist Rate of m4(t) 2400.0\n",
- "Speed of commutator 14400.0 samples/s\n",
- "Output bit rate 144000.0 b/s\n",
- "Minimum Channel Bandwidth 7200.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E34 : Pg 5.41"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.41\n",
- "# Example 5.34\n",
- "\n",
- "# Given,\n",
- "fs=8000.; # Hz\n",
- "m=24.;\n",
- "n=8.;\n",
- "# (a) Duration of each bit\n",
- "t1=1./fs;\n",
- "t2=(m*n)+1.; # Extra bit for synchronization\n",
- "Tb=t1/t2;\n",
- "print'Duration of each bit',Tb,'seconds'\n",
- "\n",
- "# (b) Transmission Rate\n",
- "Rb=1./Tb;\n",
- "print'Transmission Rate',Rb,'b/s'\n",
- "\n",
- "# (c)Minimum transmission bandwidth\n",
- "fT1=1./(2.*Tb);\n",
- "print'Minimum transmission bandwidth',fT1,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Duration of each bit 6.47668393782e-07 seconds\n",
- "Transmission Rate 1544000.0 b/s\n",
- "Minimum transmission bandwidth 772000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E35 : Pg 5.42"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.42\n",
- "# Example 5.35\n",
- "# Given,\n",
- "n=24.;\n",
- "f=3.4*10.**3; # Hz\n",
- "ts=1.*10**6.; # Second\n",
- "# (a) Spacing between succesive multiplexed pulses\n",
- "fs=8000.; # Samples per second\n",
- "t1=1./fs;\n",
- "t2=n+1.; # One synchronizing bit\n",
- "Tb=t1/t2;\n",
- "# Actual Tb, as actual duration of each pulse is 1us\n",
- "ATb=Tb-ts;\n",
- "print'Spacing between succesive multiplexed pulses',ATb,'Seconds'\n",
- "# (b) Nyquist Rate of Sampling\n",
- "f1=2.*f;\n",
- "T=1./f1; # Seconds\n",
- "Tb1=T/t2;\n",
- "ATb1=Tb1-ts;\n",
- "print'Spacing between succesive multiplexed pulses using Nyquist rate of sampling',ATb1,'Seconds'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Spacing between succesive multiplexed pulses -999999.999995 Seconds\n",
- "Spacing between succesive multiplexed pulses using Nyquist rate of sampling -999999.999994 Seconds\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E37 : Pg 5.43"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.43\n",
- "# Example 5.37\n",
- "# Given,\n",
- "bw=3.5*10.**3.; # Hz\n",
- "# Roll off factor\n",
- "a=0.25;\n",
- "Rb=(2.*bw)/(1.+a);\n",
- "print'Data Rate',Rb,'b/s'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Data Rate 5600.0 b/s\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E38 : Pg 5.43"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.43\n",
- "# Example 5.38\n",
- "# Given,\n",
- "fB=75.*10.**3.; # Hz\n",
- "Rb=0.1*10.**6.; # B/s\n",
- "Tb=1./Rb;\n",
- "a=(2.*fB*Tb)-1.;\n",
- "print'Roll off factor',a"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Roll off factor 0.5\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E39 : Pg 5.43"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.43\n",
- "# Example 5.39\n",
- "# Given,\n",
- "import math \n",
- "m=8.;\n",
- "fM=2.*10.**3.; # Hz\n",
- "a=0.2;\n",
- "# Here we choose L=128;\n",
- "L=128.;\n",
- "n=math.log(L)/math.log(2);\n",
- "Sr=2.*fM;\n",
- "fs=1.25*Sr;\n",
- "\n",
- "# For n tdm signals\n",
- "x=m*fs;\n",
- "\n",
- "# Resultant bit rate\n",
- "br=7.*x;\n",
- "\n",
- "# Minimum Transmission bandwidth\n",
- "fB=((1.+a)*br)/2.;\n",
- "print'Minimum Transmission bandwidth',fB,'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Minimum Transmission bandwidth 168000.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E40 : Pg 5.44"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 5.44\n",
- "# Example 5.40\n",
- "# Given,\n",
- "import math \n",
- "M=16.;\n",
- "sr=40000.;\n",
- "a=0.3;\n",
- "# (a) Bit Rate\n",
- "n=math.log(M)/math.log(2);\n",
- "br=sr*n;\n",
- "print'Bit Rate: ',br,'b/s'\n",
- "\n",
- "# (b)\n",
- "# As 2*fB=(1+a)*R/log2M\n",
- "# Given \n",
- "bw=110.*10.**3.; # Hz # =2*fB\n",
- "\n",
- "M=2.**(((1.+a)*br)/bw);\n",
- "MM=round(M);\n",
- "print'Value of M',MM\n",
- "\n",
- "# (c)Band Rate\n",
- "band=br/(math.log(n))/math.log(2);\n",
- "print'Band Rate',band,'Symbols/s'\n",
- "\n",
- "# (d) Spectral efficiency\n",
- "BT=((1.+a)*br)/2.;\n",
- "Eff=br/BT;\n",
- "print'Spectral efficiency',Eff,'b/s Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Bit Rate: 160000.0 b/s\n",
- "Value of M 4.0\n",
- "Band Rate 166509.51848 Symbols/s\n",
- "Spectral efficiency 1.53846153846 b/s Hz\n"
- ]
- }
- ],
- "prompt_number": 17
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER06.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER06.ipynb
deleted file mode 100755
index 3fe5c8b4..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER06.ipynb
+++ /dev/null
@@ -1,380 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:a14c7a989e8c3ea4932d8ef52a48aca6495d802f38f7487ab2fe14fa0d728058"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER06:PROBABILITY AND RANDOM VARIABLES"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E07 : Pg 6.16"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.16\n",
- "# Example 6.7\n",
- "# Given\n",
- "# Pdot=2*Pdash and Pdot+Pdash=1\n",
- "# Therfore, on solving using linear equations\n",
- "import math \n",
- "#a=([1, -2],[1, 1]);\n",
- "##c=([0],[1]);\n",
- "#b=1/(a)*c;\n",
- "Pdash=0.3333333;#b(1,1);\n",
- "Pdot=0.6666667;#b(2,1);\n",
- "print'Pdot:',Pdot\n",
- "print'Pdash:',Pdash"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Pdot: 0.6666667\n",
- "Pdash: 0.3333333\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E14 : Pg 6.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.18\n",
- "# Example 6.14\n",
- "# Given\n",
- "p=0.1;\n",
- "q=0.2;\n",
- "Pm0=0.5;\n",
- "Pr1bym0=p;\n",
- "Pr0bym1=q;\n",
- "# (a) Find Pr0 and Pr1\n",
- "Pm1=1-Pm0;\n",
- "Pr0bym0=1-Pr1bym0;\n",
- "Pr1bym1=1-Pr0bym1;\n",
- "\n",
- "# By formula\n",
- "# P(r0)=(P(r0/m0)*P(m0))+(P(r0/m1)*P(m1);\n",
- "# P(r1)=(P(r1/m0)*P(m0))+(P(r1/m1)*P(m1);\n",
- "Pr0=(Pr0bym0*Pm0)+(Pr0bym1*Pm1);\n",
- "Pr1=(Pr1bym0*Pm0)+(Pr1bym1*Pm1);\n",
- "print'P(r0):',Pr0\n",
- "print'P(r1):',Pr1\n",
- "# (b)P(m0/r0)\n",
- "# Using Bayes Rule\n",
- "# P(m0/r0)=(P(m0)*P(r0/m0)/P(r0))\n",
- "Pm0byr0=(Pm0*Pr0bym0)/Pr0;\n",
- "print'P(m0/r0):',Pm0byr0\n",
- "# (c)P(m1/r1)\n",
- "# Using Bayes Rule\n",
- "# P(m1/r1)=(P(m1)*P(r1/m1)/P(r1))\n",
- "Pm1byr1=(Pm1*Pr1bym1)/Pr1;\n",
- "print'P(m1/r1):',Pm1byr1\n",
- "\n",
- "# (d)Probabilty error\n",
- "# As Pe=(P(r1/m0)*P(m0))+(P(r0/m1)*P(m1))\n",
- "Pe=(Pr1bym0*Pm0)+(Pr0bym1*Pm1);\n",
- "print'Probability error:',Pe\n",
- "\n",
- "# (e)Probabilty that is transmitted correctly\n",
- "# As Pc=(P(r0/m0)*P(m0))+(Pr1bym1*Pm1)\n",
- "\n",
- "Pc=(Pr0bym0*Pm0)+(Pr1bym1*Pm1);\n",
- "print'Probabilty that is transmitted correctly:',Pc"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "P(r0): 0.55\n",
- "P(r1): 0.45\n",
- "P(m0/r0): 0.818181818182\n",
- "P(m1/r1): 0.888888888889\n",
- "Probability error: 0.15\n",
- "Probabilty that is transmitted correctly: 0.85\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E16 : Pg 6.21"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.21\n",
- "# Example 6.16\n",
- "# Given\n",
- "p=0.4;\n",
- "Pp=p;\n",
- "q=0.3;\n",
- "Pn=q;\n",
- "a=1.; # i start value\n",
- "b=6.; # i end value\n",
- "# (a)Probabilty that all pulses are positive\n",
- "s=1.;\n",
- "for i in range(1,6):\n",
- " s=s*Pp;\n",
- "print'Probabilty that all pulses are positive:',s\n",
- "\n",
- "# (b)Pulses are positive ,positive, positive, zero,zero,negative\n",
- "Pz=1.-(p+q);\n",
- "s1=(Pp**3.)*(Pz**2.)*Pn;\n",
- "print'Probabilty that all pulses are positive ,positive, positive, zero,zero,negative:',s1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty that all pulses are positive: 0.01024\n",
- "Probabilty that all pulses are positive ,positive, positive, zero,zero,negative: 0.001728\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E17 : Pg 6.21"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.21\n",
- "# Example 6.17\n",
- "# Given\n",
- "import math \n",
- "P1=0.6;\n",
- "P0=0.4;\n",
- "n=5.; # Five digit sequence\n",
- "j=2.; # two outcomes 0 and 1\n",
- "\n",
- "# (a)1,1,0,0,0\n",
- "xf=(math.factorial(n))/((math.factorial(j))*(math.factorial(n-j)));\n",
- "s=xf*(P1**j)*(P0**(n-j));\n",
- "print'Probability for 1,1,0,0,0:',s\n",
- "\n",
- "# (b)atleast 3 1's\n",
- "# P(X>=3)=1-P(X<=2)\n",
- "# Here y=1-x\n",
- "x=0;\n",
- "for k in range(0,2):\n",
- " f=(math.factorial(n))/((math.factorial(k))*(math.factorial(n-k)));\n",
- " x=x+(f*((P1**k)*(P0**(n-k))));\n",
- "y=1.-x;\n",
- "print'Probability for atleast three 1 s:',y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probability for 1,1,0,0,0: 0.2304\n",
- "Probability for atleast three 1 s: 0.91296\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E20 : Pg 6.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.23\n",
- "# Example 6.20\n",
- "# Given\n",
- "import math \n",
- "pe=0.01; # Error probability\n",
- "\n",
- "# (a) Probabilty of more than one error in 10 recieved digits\n",
- "n=10.;\n",
- "# As P(X>1)=1-P(X=0)-P(X=1)\n",
- "# Let x=P(X>1)\n",
- "# s=P(X=0)+P(X=1)\n",
- "s=0;\n",
- "for t in range(0,1):\n",
- " f=(math.factorial(n))/((math.factorial(t))*(math.factorial(n-t)));\n",
- " s=s+(f*(pe**t)*((1-pe)**(n-t)));\n",
- "x=1-s;\n",
- "print'Probabilty of more than one error in 10 recieved digits:',x\n",
- "\n",
- "# (b)Using Poisson approximation\n",
- "# P(X=k)~[{(%exp)**(-n*p)}*{((n*p)**k)}]/k factorial\n",
- "s1=0;\n",
- "for k in range(0,1):\n",
- " j=math.factorial(k);\n",
- " s1=s1+((math.exp(-n*pe))*(((n*pe)**k)))/j;\n",
- "x1=1.-s1;\n",
- "print'Using Poisson Approximation:',x1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty of more than one error in 10 recieved digits: 0.0956179249912\n",
- "Using Poisson Approximation: 0.095162581964\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E23 : Pg 6.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.23\n",
- "# Example 6.23\n",
- "# We find, k=1/(b-a)\n",
- "# (b) if a=1 and b=2,P(|x|<c) where c=1/2\n",
- "a=-1.;\n",
- "b=2.;\n",
- "c=1./2.;\n",
- "\n",
- "k=1./(b-a);\n",
- "# P(|x|<c) = P(-c<=x<=c)\n",
- "# Let y\n",
- "x0=-c;x1=c;\n",
- "y=1.;#integrate('1','x',x0,x1);\n",
- "y1=k*y;\n",
- "print'P(|x|<c):',y1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "P(|x|<c): 0.333333333333\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E41 : Pg 6.34"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.34\n",
- "# Example 6.41\n",
- "# Given\n",
- "import math \n",
- "n=16.; # binary digits\n",
- "p=0.01; # Probabilty error due to noise\n",
- "\n",
- "# (a) Average errors per block\n",
- "# E(X)=n*p\n",
- "EofX=n*p;\n",
- "print'Average errors per block:',EofX\n",
- "\n",
- "# (b)Varience of errors of block\n",
- "# s=n*p*(1-p)\n",
- "s=n*p*(1.-p);\n",
- "print'Varience of errors per block:',s\n",
- "\n",
- "\n",
- "# (c) Probability that number of errors per block is bgeater or equal than 4\n",
- "i=4.;\n",
- "# AsP(X>=4)=1=P(X<=3)\n",
- "P3=0;\n",
- "for k in range(0,3):\n",
- " f=(math.factorial(n))/((math.factorial(k))*(math.factorial(n-k)));\n",
- " P3=P3+(f*(p**k)*((1-p)**(n-k)));\n",
- "P4=1.-P3;\n",
- "print'Probability that number of errors per block is bgeater or equal than 4:',P4"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Average errors per block: 0.16\n",
- "Varience of errors per block: 0.1584\n",
- "Probability that number of errors per block is bgeater or equal than 4: 0.000507942409291\n"
- ]
- }
- ],
- "prompt_number": 7
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER06_1.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER06_1.ipynb
deleted file mode 100755
index 3fe5c8b4..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER06_1.ipynb
+++ /dev/null
@@ -1,380 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:a14c7a989e8c3ea4932d8ef52a48aca6495d802f38f7487ab2fe14fa0d728058"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER06:PROBABILITY AND RANDOM VARIABLES"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E07 : Pg 6.16"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.16\n",
- "# Example 6.7\n",
- "# Given\n",
- "# Pdot=2*Pdash and Pdot+Pdash=1\n",
- "# Therfore, on solving using linear equations\n",
- "import math \n",
- "#a=([1, -2],[1, 1]);\n",
- "##c=([0],[1]);\n",
- "#b=1/(a)*c;\n",
- "Pdash=0.3333333;#b(1,1);\n",
- "Pdot=0.6666667;#b(2,1);\n",
- "print'Pdot:',Pdot\n",
- "print'Pdash:',Pdash"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Pdot: 0.6666667\n",
- "Pdash: 0.3333333\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E14 : Pg 6.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.18\n",
- "# Example 6.14\n",
- "# Given\n",
- "p=0.1;\n",
- "q=0.2;\n",
- "Pm0=0.5;\n",
- "Pr1bym0=p;\n",
- "Pr0bym1=q;\n",
- "# (a) Find Pr0 and Pr1\n",
- "Pm1=1-Pm0;\n",
- "Pr0bym0=1-Pr1bym0;\n",
- "Pr1bym1=1-Pr0bym1;\n",
- "\n",
- "# By formula\n",
- "# P(r0)=(P(r0/m0)*P(m0))+(P(r0/m1)*P(m1);\n",
- "# P(r1)=(P(r1/m0)*P(m0))+(P(r1/m1)*P(m1);\n",
- "Pr0=(Pr0bym0*Pm0)+(Pr0bym1*Pm1);\n",
- "Pr1=(Pr1bym0*Pm0)+(Pr1bym1*Pm1);\n",
- "print'P(r0):',Pr0\n",
- "print'P(r1):',Pr1\n",
- "# (b)P(m0/r0)\n",
- "# Using Bayes Rule\n",
- "# P(m0/r0)=(P(m0)*P(r0/m0)/P(r0))\n",
- "Pm0byr0=(Pm0*Pr0bym0)/Pr0;\n",
- "print'P(m0/r0):',Pm0byr0\n",
- "# (c)P(m1/r1)\n",
- "# Using Bayes Rule\n",
- "# P(m1/r1)=(P(m1)*P(r1/m1)/P(r1))\n",
- "Pm1byr1=(Pm1*Pr1bym1)/Pr1;\n",
- "print'P(m1/r1):',Pm1byr1\n",
- "\n",
- "# (d)Probabilty error\n",
- "# As Pe=(P(r1/m0)*P(m0))+(P(r0/m1)*P(m1))\n",
- "Pe=(Pr1bym0*Pm0)+(Pr0bym1*Pm1);\n",
- "print'Probability error:',Pe\n",
- "\n",
- "# (e)Probabilty that is transmitted correctly\n",
- "# As Pc=(P(r0/m0)*P(m0))+(Pr1bym1*Pm1)\n",
- "\n",
- "Pc=(Pr0bym0*Pm0)+(Pr1bym1*Pm1);\n",
- "print'Probabilty that is transmitted correctly:',Pc"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "P(r0): 0.55\n",
- "P(r1): 0.45\n",
- "P(m0/r0): 0.818181818182\n",
- "P(m1/r1): 0.888888888889\n",
- "Probability error: 0.15\n",
- "Probabilty that is transmitted correctly: 0.85\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E16 : Pg 6.21"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.21\n",
- "# Example 6.16\n",
- "# Given\n",
- "p=0.4;\n",
- "Pp=p;\n",
- "q=0.3;\n",
- "Pn=q;\n",
- "a=1.; # i start value\n",
- "b=6.; # i end value\n",
- "# (a)Probabilty that all pulses are positive\n",
- "s=1.;\n",
- "for i in range(1,6):\n",
- " s=s*Pp;\n",
- "print'Probabilty that all pulses are positive:',s\n",
- "\n",
- "# (b)Pulses are positive ,positive, positive, zero,zero,negative\n",
- "Pz=1.-(p+q);\n",
- "s1=(Pp**3.)*(Pz**2.)*Pn;\n",
- "print'Probabilty that all pulses are positive ,positive, positive, zero,zero,negative:',s1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty that all pulses are positive: 0.01024\n",
- "Probabilty that all pulses are positive ,positive, positive, zero,zero,negative: 0.001728\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E17 : Pg 6.21"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.21\n",
- "# Example 6.17\n",
- "# Given\n",
- "import math \n",
- "P1=0.6;\n",
- "P0=0.4;\n",
- "n=5.; # Five digit sequence\n",
- "j=2.; # two outcomes 0 and 1\n",
- "\n",
- "# (a)1,1,0,0,0\n",
- "xf=(math.factorial(n))/((math.factorial(j))*(math.factorial(n-j)));\n",
- "s=xf*(P1**j)*(P0**(n-j));\n",
- "print'Probability for 1,1,0,0,0:',s\n",
- "\n",
- "# (b)atleast 3 1's\n",
- "# P(X>=3)=1-P(X<=2)\n",
- "# Here y=1-x\n",
- "x=0;\n",
- "for k in range(0,2):\n",
- " f=(math.factorial(n))/((math.factorial(k))*(math.factorial(n-k)));\n",
- " x=x+(f*((P1**k)*(P0**(n-k))));\n",
- "y=1.-x;\n",
- "print'Probability for atleast three 1 s:',y"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probability for 1,1,0,0,0: 0.2304\n",
- "Probability for atleast three 1 s: 0.91296\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E20 : Pg 6.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.23\n",
- "# Example 6.20\n",
- "# Given\n",
- "import math \n",
- "pe=0.01; # Error probability\n",
- "\n",
- "# (a) Probabilty of more than one error in 10 recieved digits\n",
- "n=10.;\n",
- "# As P(X>1)=1-P(X=0)-P(X=1)\n",
- "# Let x=P(X>1)\n",
- "# s=P(X=0)+P(X=1)\n",
- "s=0;\n",
- "for t in range(0,1):\n",
- " f=(math.factorial(n))/((math.factorial(t))*(math.factorial(n-t)));\n",
- " s=s+(f*(pe**t)*((1-pe)**(n-t)));\n",
- "x=1-s;\n",
- "print'Probabilty of more than one error in 10 recieved digits:',x\n",
- "\n",
- "# (b)Using Poisson approximation\n",
- "# P(X=k)~[{(%exp)**(-n*p)}*{((n*p)**k)}]/k factorial\n",
- "s1=0;\n",
- "for k in range(0,1):\n",
- " j=math.factorial(k);\n",
- " s1=s1+((math.exp(-n*pe))*(((n*pe)**k)))/j;\n",
- "x1=1.-s1;\n",
- "print'Using Poisson Approximation:',x1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty of more than one error in 10 recieved digits: 0.0956179249912\n",
- "Using Poisson Approximation: 0.095162581964\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E23 : Pg 6.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.23\n",
- "# Example 6.23\n",
- "# We find, k=1/(b-a)\n",
- "# (b) if a=1 and b=2,P(|x|<c) where c=1/2\n",
- "a=-1.;\n",
- "b=2.;\n",
- "c=1./2.;\n",
- "\n",
- "k=1./(b-a);\n",
- "# P(|x|<c) = P(-c<=x<=c)\n",
- "# Let y\n",
- "x0=-c;x1=c;\n",
- "y=1.;#integrate('1','x',x0,x1);\n",
- "y1=k*y;\n",
- "print'P(|x|<c):',y1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "P(|x|<c): 0.333333333333\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E41 : Pg 6.34"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 6.34\n",
- "# Example 6.41\n",
- "# Given\n",
- "import math \n",
- "n=16.; # binary digits\n",
- "p=0.01; # Probabilty error due to noise\n",
- "\n",
- "# (a) Average errors per block\n",
- "# E(X)=n*p\n",
- "EofX=n*p;\n",
- "print'Average errors per block:',EofX\n",
- "\n",
- "# (b)Varience of errors of block\n",
- "# s=n*p*(1-p)\n",
- "s=n*p*(1.-p);\n",
- "print'Varience of errors per block:',s\n",
- "\n",
- "\n",
- "# (c) Probability that number of errors per block is bgeater or equal than 4\n",
- "i=4.;\n",
- "# AsP(X>=4)=1=P(X<=3)\n",
- "P3=0;\n",
- "for k in range(0,3):\n",
- " f=(math.factorial(n))/((math.factorial(k))*(math.factorial(n-k)));\n",
- " P3=P3+(f*(p**k)*((1-p)**(n-k)));\n",
- "P4=1.-P3;\n",
- "print'Probability that number of errors per block is bgeater or equal than 4:',P4"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Average errors per block: 0.16\n",
- "Varience of errors per block: 0.1584\n",
- "Probability that number of errors per block is bgeater or equal than 4: 0.000507942409291\n"
- ]
- }
- ],
- "prompt_number": 7
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER08.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER08.ipynb
deleted file mode 100755
index 4b322a2a..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER08.ipynb
+++ /dev/null
@@ -1,1027 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:d92601af9cb4594bb8f9c7cef4f510ff99b742d5192caa5a322094967f2cb623"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER08:NOISE"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E01 : Pg 8.6"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.6\n",
- "# Example 8.1\n",
- "import math \n",
- "print'Part a'\n",
- "# (a)Given, u1=1W and u2=1mW\n",
- "# Change to dBW and dBm\n",
- "u1=1.*10.**3.;\n",
- "u2=1.;\n",
- "# (i)470mW\n",
- "a=470.*10.**3.;\n",
- "y1=(10.*math.log(a/u1))/math.log(10);\n",
- "print'dBm',y1\n",
- "\n",
- "y2=(10*math.log(a/u2))/math.log(10);\n",
- "print'dBW',y2\n",
- "\n",
- "# (ii)1W\n",
- "b=1.;\n",
- "z1=(10.*math.log(b/u1))/math.log(10);\n",
- "print'dBm',z1\n",
- "\n",
- "z2=(10.*math.log(b/u2))/math.log(10);\n",
- "print'dBW',z2\n",
- "\n",
- "# (iii)100nW\n",
- "c=100.*10.**9;\n",
- "x1=(10*math.log(c/u1))/math.log(10);\n",
- "print'dBm',x1\n",
- "\n",
- "x2=(10.*math.log(c/u2))/math.log(10);\n",
- "print'dBW',x2\n",
- "\n",
- "print'\\nPart B'\n",
- "# (b)Here u1=1W (for dBW)and u2=1mW (for dBm)\n",
- "# Change to powers to watts\n",
- "# (i)-20dBW\n",
- "a=-20.;\n",
- "k1=u2*(10.**(a/10.));\n",
- "print'W',k1\n",
- "\n",
- "\n",
- "# (ii)47dBm\n",
- "b=47.;\n",
- "k2=u1*(10.**(b/10.));\n",
- "print'W',k2\n",
- "\n",
- "\n",
- "# (ii)0dBm\n",
- "c=0;\n",
- "k3=u1*(10.**(c/10.));\n",
- "print'W',k3\n",
- "\n",
- "\n",
- "print'\\nPart C'\n",
- "# (c)Given, channel loss=20dB and Pt=1W\n",
- "l=-20.;\n",
- "PT=1.;\n",
- "PR=10.**(l/10.);\n",
- "print'Received Power',PR,'W'\n",
- "\n",
- "print'\\nPart D'\n",
- "# (d)Given, channel loss=30dB when signal=3dB and overall loss=20dB\n",
- "l1=-30.;\n",
- "s=-3.;\n",
- "l2=-20.;\n",
- "q=-l1-s-s+l2;\n",
- "d1=10.**(q/10.);\n",
- "print'=',q,'dB'\n",
- "print d1\n",
- "\n",
- "print'\\nPart E'\n",
- "# (e)Given,\n",
- "Si=0; # dBm\n",
- "S1=1.*10.**3.*(10.**(Si/10.));\n",
- "Ni=1.*10.**7.; # W\n",
- "\n",
- "Osnr=S1/Ni;\n",
- "Odb=(10.*(math.log(Osnr)))/math.log(10)\n",
- "print Odb,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Part a\n",
- "dBm 26.7209785794\n",
- "dBW 56.7209785794\n",
- "dBm -30.0\n",
- "dBW 0.0\n",
- "dBm 80.0\n",
- "dBW 110.0\n",
- "\n",
- "Part B\n",
- "W 0.01\n",
- "W 50118723.3627\n",
- "W 1000.0\n",
- "\n",
- "Part C\n",
- "Received Power 0.01 W\n",
- "\n",
- "Part D\n",
- "= 16.0 dB\n",
- "39.8107170553\n",
- "\n",
- "Part E\n",
- "-40.0 dB\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E02 : Pg 8.7"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.7\n",
- "# Example 8.2\n",
- "# Given,\n",
- "import math \n",
- "R=1000.;\n",
- "T=27.; # degree celsius\n",
- "TK=T+273.; # kelvin\n",
- "# We know, rms noise voltage is 4RKTB\n",
- "K=1.38*10.**28.;\n",
- "B=10.;\n",
- "V=math.sqrt(4.*R*K*TK*B);\n",
- "print'Rms noise voltage:',V,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Rms noise voltage: 4.06939798988e+17 V\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E03 : Pg 8.8"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.8\n",
- "# Example 8.3\n",
- "# Given,\n",
- "G=100.;\n",
- "G1=(10.**(G/10.));\n",
- "\n",
- "T=30.;\n",
- "Te=270.;\n",
- "\n",
- "# We know,output noise power=GKB(T+Te)\n",
- "K=1.38*10.**23.;\n",
- "B=1.5*10.**6.;\n",
- "\n",
- "No=G1*1.38*10.**23.*1.5*10.**6.*(T+Te);\n",
- "print'Output Noise Power',No,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output Noise Power 6.21e+41 W\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E04 : Pg 8.8"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.8\n",
- "# Example 8.4\n",
- "# Given,\n",
- "import math \n",
- "R=50.;\n",
- "osnr=0;\n",
- "SNRo=(10.**(osnr/10.));\n",
- "print'Output SNR',SNRo\n",
- "# As Pni=KTB\n",
- "K=1.38*10.**23.;\n",
- "T=290.;\n",
- "B=5.*10.**5.;\n",
- "Pni=K*T*B;\n",
- "print'Input noise power',Pni,'W'\n",
- "# Psi=V**2/R\n",
- "# Given V=5*10**-6V\n",
- "V=0.5*10.**6.;\n",
- "Psi=(V**2.)/R;\n",
- "print'Signal Power Input',Psi,'W'\n",
- "isnr=(Psi/Pni);\n",
- "print'Input SNR',isnr\n",
- "F=(isnr/SNRo);\n",
- "print'Noise Factor',F\n",
- "NF=10.*math.log(F)/math.log(10);\n",
- "print'Noise figure',NF,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output SNR 1.0\n",
- "Input noise power 2.001e+31 W\n",
- "Signal Power Input 5000000000.0 W\n",
- "Input SNR 2.49875062469e-22\n",
- "Noise Factor 2.49875062469e-22\n",
- "Noise figure -216.022770843 dB\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E06 : Pg 8.9"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.9\n",
- "# Example 8.6\n",
- "# Given,Stage 1\n",
- "import math \n",
- "SNRo=120.;\n",
- "Pni=0.01*10.**6.; # W\n",
- "G1=20.;\n",
- "\n",
- "# Stage 2\n",
- "F2=12.; # dB\n",
- "FF2=(10.**(F2/10.));\n",
- "G2=30.;\n",
- "\n",
- "# Stage 3\n",
- "F3=9.3; # dB\n",
- "FF3=(10.**(F3/10.));\n",
- "G3=35.;\n",
- "\n",
- "# (a)Nosie factor and noise figure of Stage 1\n",
- "F=5.6; # dB\n",
- "FF=(10.**(F/10.));\n",
- "\n",
- "# As F=F1-((F2-1)/G1)-((F3-1)*(G1G2));\n",
- "Fa=FF-((F2-1)/G1)-((FF3-1)/(G1*G2));\n",
- "print'Noise factor of stage 1',Fa\n",
- "\n",
- "FadB=(10*(math.log(Fa)))/math.log(10); # dB\n",
- "print'Noise figure of stage 1',FadB,'dB'\n",
- "\n",
- "\n",
- "# (b)Input signal power of stage 1\n",
- "Psi=Pni*Fa*SNRo;\n",
- "print'Input signal power of stage 1',Psi,'W'\n",
- "\n",
- "\n",
- "# (c)Nosie added by stage 1\n",
- "N=(Fa-1)*G1*Pni; \n",
- "print'Noise added by stage 1',N,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Noise factor of stage 1 3.0682615804\n",
- "Noise figure of stage 1 4.86892382031 dB\n",
- "Input signal power of stage 1 3681913.89648 W\n",
- "Noise added by stage 1 413652.31608 W\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E07 : Pg 8.10"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.10\n",
- "# Example 8.7\n",
- "# Given\n",
- "import math \n",
- "Te=127.;# Kelvin\n",
- "T=290.;# Kelvin\n",
- "\n",
- "G1=100.;\n",
- "\n",
- "F2dB=12.;# db\n",
- "F2=(10.**(F2dB/10.));\n",
- "\n",
- "F1=1.+(Te/T);\n",
- "\n",
- "F=F1+((F2-1.)/G1);\n",
- "FF=(10.*math.log(F))/math.log(10);\n",
- "print'Overall Noise Figure',FF,'dB'\n",
- "\n",
- "# Equivalent Noise Temperature TE\n",
- "TE=(F-1.)*T;\n",
- "print'Equivalent Noise Temperature',TE,'K'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Overall Noise Figure 2.00418273219 dB\n",
- "Equivalent Noise Temperature 170.061902581 K\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E09 : Pg 8.11"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.11;\n",
- "# Example 8.9\n",
- "# (a)Noise Figure\n",
- "# Given\n",
- "# Loss Fcator\n",
- "import math \n",
- "IL=1.5; # dB\n",
- "IL1=(10.**(IL/10.));\n",
- "\n",
- "# Noise figure\n",
- "F1=1.41;\n",
- "G1=1./F1;\n",
- "\n",
- "G2=10.; \n",
- "GG2=(10.*math.log(G2))/math.log(10); # dB\n",
- "\n",
- "G3=100.;\n",
- "GG3=(10.*math.log(G3))/math.log(10); # dB\n",
- "\n",
- "F2=2.; # dB\n",
- "F3=2.; # dB\n",
- "\n",
- "FF2=(10.**(F2/10.));\n",
- "FF3=(10.**(F3/10.));\n",
- "\n",
- "F=(F1+((FF2-1.)/G1)+((FF3-1.)/(G1*GG2)));\n",
- "FF=(10.*math.log(F))/math.log(10);\n",
- "print'Noise figure of cascade',FF,'dB'\n",
- "\n",
- "# (b) SNR at output\n",
- "# Given\n",
- "Pin=-90.; # dBm\n",
- "Pout=Pin-IL+GG2+GG3; # dBm\n",
- "\n",
- "# Pn=Gcas*K*Te*B (cascade)\n",
- "K=1.38*10.**23.;\n",
- "To=290.; # Kelvin\n",
- "B=1.*10.**8.;\n",
- "Gcas=GG2+GG3-IL;\n",
- "Gcas1=(10.**(Gcas/10.));\n",
- "Pn=K*To*(F-1.)*B*Gcas1; # W\n",
- "\n",
- "Pn1=(10.*(math.log(Pn/1.*10.**3.)))/math.log(10);\n",
- "print'Noise power output:',Pn1,'dBm'\n",
- "SNR=Pout-Pn1;\n",
- "print'Signal to Noise ratio:',SNR,'dB'\n",
- "# (c)Best Noise Figure\n",
- "# G1 after G2 after IL\n",
- "Fcas=(FF2+((FF3-1)/G3)+((IL1-1)/(G3*G2)));\n",
- "Fcas1=(10.*(math.log(Fcas)))/math.log(10);\n",
- "print'Noise figure will be:',Fcas1,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Noise figure of cascade 3.6495777371 dB\n",
- "Noise power output: 395.719186978 dBm\n",
- "Signal to Noise ratio: -457.219186978 dB\n",
- "Noise figure will be: 2.01712395585 dB\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E10 : Pg 8.12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.12\n",
- "# Example 8.10\n",
- "import math \n",
- "# Given\n",
- "K=1.38*10.**23;\n",
- "B=40.*10.**6.;\n",
- "\n",
- "Tant=600.; # Kelvin\n",
- "Trec=3000.; # Kelvin\n",
- "\n",
- "G=80.; # dB\n",
- "GG=(10.**(G/10.));\n",
- "\n",
- "# Input noise power from antenna\n",
- "Nant=K*Tant*B; # W\n",
- "print'Nant=',Nant,'W'\n",
- "\n",
- "Nrec=K*Trec*B; # W\n",
- "print'Nant=',Nrec,'W'\n",
- "Nout=(Nant+Nrec)*GG;\n",
- "print'Reciver Noise Power Output',Nout,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Nant= 3.312e+33 W\n",
- "Nant= 1.656e+34 W\n",
- "Reciver Noise Power Output 1.9872e+42 W\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E11 : Pg 8.12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.12\n",
- "# Example 8.11\n",
- "import math \n",
- "# We use, F=(F1+(F2-1)/G1)\n",
- "# Given\n",
- "FA=1.5; \n",
- "\n",
- "GA=10.; # dB\n",
- "GAA=(10.**(GA/10.));\n",
- "\n",
- "FB=3.; # dB\n",
- "FBB=(10.**(FB/10.));\n",
- "\n",
- "GB=15.; # dB\n",
- "GBB=(10.**(GB/10.));\n",
- "\n",
- "# Case 1: Amp A followed by Amp B\n",
- "F11=FA;\n",
- "F12=FBB;\n",
- "G11=GAA;\n",
- "\n",
- "F1=(F11+(F12-1.)/G11);\n",
- "print'Gain when Amp A followed by Amp B',F1\n",
- "\n",
- "# Case 2: Amp B followed by Amp A\n",
- "F21=FBB;\n",
- "F22=FA;\n",
- "G21=GBB;\n",
- "\n",
- "F2=(F21+(F22-1)/G21);\n",
- "print'Gain when Amp B followed by Amp A',F2\n",
- "\n",
- "# As F1<F2, Case 1 gives lowest Noise\n",
- "\n",
- "# Also given,\n",
- "T0=20. # degree celsius\n",
- "T=T0+273.; # Kelvin\n",
- "\n",
- "# For amplifier A\n",
- "TA=((FA-1.)*T);\n",
- "\n",
- "# For amplifier B\n",
- "TB=((FBB-1.)*T);\n",
- "\n",
- "# When A is followed by B\n",
- "Te1=(F1-1.)*T;\n",
- "print'Noise temperataure when Amp A followed by Amp B',Te1\n",
- "\n",
- "# When B is followed by A\n",
- "Te2=(F2-1.)*T;\n",
- "print'Noise temperataure when Amp B followed by Amp A',Te2"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Gain when Amp A followed by Amp B 1.5995262315\n",
- "Gain when Amp B followed by Amp A 2.01107370327\n",
- "Noise temperataure when Amp A followed by Amp B 175.661185829\n",
- "Noise temperataure when Amp B followed by Amp A 296.244595058\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E12 : Pg 8.13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.13\n",
- "# Example 8.12\n",
- "import math \n",
- "# Given, Noise figure\n",
- "NF=2.; # dB\n",
- "F=(10.**(NF/10.));\n",
- "\n",
- "AG=12.; # dB\n",
- "A=(10.**(AG/10.));\n",
- "\n",
- "# (a)Total Output Noise Power\n",
- "\n",
- "# Also given,Input signal power \n",
- "Pi=1.; # W\n",
- "\n",
- "# Input Noise power Pni\n",
- "Pni=100.*10.**-3.; # W\n",
- "\n",
- "# Input SNR\n",
- "Isnr=Pi/Pni;\n",
- "\n",
- "# Output SNR\n",
- "Osnr=Isnr/F;\n",
- "\n",
- "# Total output signal power\n",
- "Po=Pi*A; # W\n",
- "\n",
- "# Total output noise power\n",
- "N=Po/Osnr; # W\n",
- "print'Total Output Noise Power',N,'W'\n",
- "\n",
- "# (b)Signal to Noise and disortion ratio\n",
- "\n",
- "# Given. 2% is disortion\n",
- "Di=2./100.;\n",
- "\n",
- "# Total disortion\n",
- "D=Di*A; # W\n",
- "\n",
- "# Useful Power\n",
- "S=(1.-Di)*A; # W\n",
- "\n",
- "# As given,SNAD=10*(log10(S+N+D)/(N+D));\n",
- "SNAD=10.*(math.log((S+N+D)/(N+D)))/math.log(10);\n",
- "print'SNAD:',SNAD,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total Output Noise Power 2.51188643151 W\n",
- "SNAD: 8.12279800985 dB\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E13 : Pg 8.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.14\n",
- "# Example 8.13\n",
- "# Given\n",
- "import math \n",
- "Pni=-100.; # dBm\n",
- "PniW=((1.*10.**3.)*(10.**(Pni/10.)));\n",
- "\n",
- "To=290.; # K\n",
- "\n",
- "F=1.6; # dB\n",
- "NF=(10.**(F/10.));\n",
- "\n",
- "# (a) Noise tempertaure of antenna\n",
- "# As Te=Pni/K*B;\n",
- "K=1.38*10.**23.;\n",
- "B=20.*10.**6.;\n",
- "Te=(PniW/(K*B));\n",
- "print'Noise tempertaure of antenna',Te,'K'\n",
- "\n",
- "# (b)Effective noise tempertaure\n",
- "# Given,\n",
- "G=30.; # dB\n",
- "GdB=(10.**(G/10.));\n",
- "\n",
- "Tef=((NF-1.)*To);\n",
- "print'Effective Noise tempertaure',Tef,'K'\n",
- "\n",
- "# Output Noise Pno=K*T(Te+Tef)*B*GdB\n",
- "\n",
- "Pno=K*(Te+Tef)*B*GdB; # W\n",
- "Pno1=(10.*(math.log(Pno/1.*10.**3.)))/math.log(10);\n",
- "print'Output Noise: ',Pno1,'dBm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Noise tempertaure of antenna 3.6231884058e-38 K\n",
- "Effective Noise tempertaure 129.177533516 K\n",
- "Output Noise: 385.5209607 dBm\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E14 : Pg 8.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.14\n",
- "# Example 8.14\n",
- "# Given\n",
- "import math \n",
- "GG1=20.;# dB\n",
- "G1=(10.**(GG1/10.));\n",
- "\n",
- "FF1=6.;# dB\n",
- "F1=(10.**(FF1/10.));\n",
- "\n",
- "GG2=60.;# dB\n",
- "G2=(10.**(GG2/10.));\n",
- "\n",
- "FF2=16.;# dB\n",
- "F2=(10.**(FF2/10.));\n",
- "\n",
- "LF=3.; # dB\n",
- "FC=(10.**(LF/10.));\n",
- "GC=1./FC;\n",
- "\n",
- "# (a)Overall Noise Figure\n",
- "# Usinng F=(F1+((F2-1)/G1)+((F3-1)(G1*G2)));\n",
- "\n",
- "Fa=(F1+((FC-1.)/G1)+((F2-1.)/(G1*GC)));\n",
- "FadB=(10.*(math.log(Fa)))/math.log(10);\n",
- "print'Overall Noise Figure:',FadB,'db'\n",
- "\n",
- "\n",
- "# (b)Noise figure, if pre-amplifier is removed and gain increased by 20dB\n",
- "\n",
- "Fb=FC+((F2-1.)/GC);\n",
- "FbdB=(10.*(math.log(Fb)))/math.log(10);\n",
- "print'Overall Noise Figure:',FbdB,'db'\n",
- "\n",
- "# (c)Change in noise figure\n",
- "# Again usinng F=(F1+((F2-1)/G1)+((F3-1)(G1*G2)));\n",
- "Fc=(FC+((F1-1.)/GC)+((F2-1.)/(G1*GC)));\n",
- "FcdB=(10.*(math.log(Fc)))/math.log(10);\n",
- "\n",
- "print'Overall Noise Figure:',FcdB,'db'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Overall Noise Figure: 6.78099355039 db\n",
- "Overall Noise Figure: 19.0 db\n",
- "Overall Noise Figure: 9.40399825279 db\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E15 : Pg 8.15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.15\n",
- "# Example 8.15\n",
- "# Given Noise figure\n",
- "import math \n",
- "NF=5.; # dB\n",
- "F=(10.**(NF/10.));\n",
- "Ta=1050.; # Kelvin\n",
- "# (a) Overall Noise Figure\n",
- "T=20.; # degree Celsius\n",
- "To=T+273.; # Kelvin\n",
- "# Effective Noise temperature\n",
- "Te=((F-1.)*To);\n",
- "print'Effective Noise temperature',Te,'K'\n",
- "# Overall effective Noise Temperature\n",
- "TIN=Ta+Te;\n",
- "print'Overall Effective Noise temperature',TIN,'K'\n",
- "# Overall noise figure\n",
- "ONF=(1.+(TIN/To));\n",
- "ONFdB=(10.*(math.log(ONF)))/math.log(10); # dB\n",
- "print'Overall Noise Figure:',ONFdB,'dB'\n",
- "# (b)Input Signal Power\n",
- "# Given Output SNR\n",
- "Outsnr=6.; # dB\n",
- "Osnr=(10.**(Outsnr/10.));\n",
- "Isnr=ONF*Osnr;\n",
- "# Input Noise Power=KTB\n",
- "K=1.38*10.**23.;\n",
- "B=50000.;\n",
- "Pni=K*TIN*B; # W\n",
- "# Input signal Power\n",
- "Psi=Isnr*Pni; # W\n",
- "PsidBW=(10.*(math.log(Psi/1)))/math.log(10); # dBW\n",
- "print'Input signal Power:',PsidBW,'dBW'\n",
- "# (c)Minimum detectable signal Vmin\n",
- "# Given\n",
- "Osnr=10.; # dB\n",
- "R=50.; # Ohms\n",
- "FF1=3.; # dB\n",
- "F1=(10.**(FF1/10.));\n",
- "FF2=5.; # dB\n",
- "F2=(10.**(FF2/10.));\n",
- "GG1=7.; \n",
- "G1=(10.**(GG1/10.));\n",
- "# Using F=F1+((F2-1)/G1)\n",
- "Fa=F1+((F2-1.)/G1);\n",
- "Fa1=(10.*(math.log(Fa)))/math.log(10);\n",
- "# Equivalent Noise Tempertaure\n",
- "Te1=((Fa-1.)*To);\n",
- "print'Equivalent Noise temperature:',Te1,'K'\n",
- "\n",
- "# Overall effective Noise Temperature\n",
- "TIN1=Ta+Te1;\n",
- "print'Effective Noise temperature:',TIN1,'K'\n",
- "\n",
- "# Input Noise Power=KTB\n",
- "Pni1=K*TIN1*B; # W\n",
- "\n",
- "# Overall noise figure\n",
- "ONF1=(1.+(TIN1/To));\n",
- "ONFdB1=(10.*(math.log(ONF)))/math.log(10);\n",
- "print'Overall Noise Figure:',ONFdB1,'W'\n",
- "\n",
- "# Input SNR\n",
- "Isnr1=ONF1*Osnr;\n",
- "\n",
- "# Input signal Power\n",
- "Psi1=Isnr1*Pni; # W\n",
- "print'Input Signal Power:',Psi1,'W'\n",
- "\n",
- "# Now as Vmin**2/R=Psi1\n",
- "# Therefore\n",
- "Vmin=math.sqrt(Psi1*R);\n",
- "print'Minimum detectable signal Vmin:',Vmin,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Effective Noise temperature 633.547354429 K\n",
- "Overall Effective Noise temperature 1683.54735443 K\n",
- "Overall Noise Figure: 8.29039603344 dB\n",
- "Input signal Power: 324.941140307 dBW\n",
- "Equivalent Noise temperature: 418.02117439 K\n",
- "Effective Noise temperature: 1468.02117439 K\n",
- "Overall Noise Figure: 8.29039603344 W\n",
- "Input Signal Power: 6.98186400025e+32 W\n",
- "Minimum detectable signal Vmin: 1.86840359669e+17 V\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E18 : Pg 8.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.18\n",
- "# Example 8.18\n",
- "# Given, \n",
- "import math \n",
- "Fa=5.; # dB\n",
- "d=200.; # Km\n",
- "a=2.; # dB/Km\n",
- "No=4.*10.**21.; # W/Hz\n",
- "BW=4000.;\n",
- "Osnr=30.; # dB\n",
- "# (a) No repeaters used\n",
- "L=d*a; # dB\n",
- "print'Noise figure:',L,'dB'\n",
- "\n",
- "# As Output SNR=InputSNR/F where F=L*Fa\n",
- "# And Input SNR=(Pt/(No*B))\n",
- "# Therefore,PT=Output SNR+L+Fa+(No*B)\n",
- "\n",
- "NoB=10.*math.log(No*BW)/math.log(10);\n",
- "\n",
- "# Power Transmitted\n",
- "Pt=Osnr+L+Fa+(NoB);\n",
- "\n",
- "PtdB=10.**(Pt/10.);\n",
- "print'Power transmitted with no repeaters',PtdB,'W'\n",
- "\n",
- "# (b)20 repeaters are employed\n",
- "n=20.;\n",
- "# F becomes 20F\n",
- "# Output SNR=InputSNR/20*F where F=L*Fa\n",
- "L1=L/n; # dB per segment\n",
- "\n",
- "# Power Transmitted\n",
- "Pt1=Osnr+L1+Fa+(NoB)+(10.*(math.log(n)))/math.log(10.);\n",
- "\n",
- "PtdB1=10.**(Pt1/10.);\n",
- "print 'Power transmitted with 20 repeaters',PtdB1,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Noise figure: 400.0 dB\n",
- "Power transmitted with no repeaters 5.05964425627e+68 W\n",
- "Power transmitted with 20 repeaters 1.01192885125e+32 W\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E23 : Pg 8.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.23\n",
- "# Example 8.23\n",
- "# Given,\n",
- "# S=10*10.**8*(1-(|f|/10*10.**8));\n",
- "# (a)Power contenet of output noise\n",
- "# Bandwidth of 2MHz centered at 50MHz\n",
- "# Therefore, first limits will be\n",
- "\n",
- "x0=-51.*10.**6.;\n",
- "x1=-49.*10.**6.;\n",
- "P1=1*10.**06;#integrate('1+(f/10**8)','f',x0,x1);\n",
- "\n",
- "# And,second limits will be\n",
- "\n",
- "x2=49.*10.**6.;\n",
- "x3=51.*10.**6.;\n",
- "\n",
- "P2=1*10.**06;#integrate('1-(f/10**8)','f',x2,x3);\n",
- "\n",
- "P=0.2;#10.*10.**8.*(P1+P2);\n",
- "print'Power content:',P,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power content: 0.2 W\n"
- ]
- }
- ],
- "prompt_number": 15
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER08_1.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER08_1.ipynb
deleted file mode 100755
index 2b57bca4..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER08_1.ipynb
+++ /dev/null
@@ -1,1088 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:f6c29af3d9b16a8f90e98fbed00e1caee12f7cad0d6c98636d72910f1db1ff12"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER08:NOISE"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E01 : Pg 8.6"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.6\n",
- "# Example 8.1\n",
- "import math \n",
- "print'Part a'\n",
- "# (a)Given, u1=1W and u2=1mW\n",
- "# Change to dBW and dBm\n",
- "u1=1.*10.**3.;\n",
- "u2=1.;\n",
- "# (i)470mW\n",
- "a=470.*10.**3.;\n",
- "y1=(10.*math.log(a/u1))/math.log(10);\n",
- "print'dBm',y1\n",
- "\n",
- "y2=(10*math.log(a/u2))/math.log(10);\n",
- "print'dBW',y2\n",
- "\n",
- "# (ii)1W\n",
- "b=1.;\n",
- "z1=(10.*math.log(b/u1))/math.log(10);\n",
- "print'dBm',z1\n",
- "\n",
- "z2=(10.*math.log(b/u2))/math.log(10);\n",
- "print'dBW',z2\n",
- "\n",
- "# (iii)100nW\n",
- "c=100.*10.**9;\n",
- "x1=(10*math.log(c/u1))/math.log(10);\n",
- "print'dBm',x1\n",
- "\n",
- "x2=(10.*math.log(c/u2))/math.log(10);\n",
- "print'dBW',x2\n",
- "\n",
- "print'\\nPart B'\n",
- "# (b)Here u1=1W (for dBW)and u2=1mW (for dBm)\n",
- "# Change to powers to watts\n",
- "# (i)-20dBW\n",
- "a=-20.;\n",
- "k1=u2*(10.**(a/10.));\n",
- "print'W',k1\n",
- "\n",
- "\n",
- "# (ii)47dBm\n",
- "b=47.;\n",
- "k2=u1*(10.**(b/10.));\n",
- "print'W',k2\n",
- "\n",
- "\n",
- "# (ii)0dBm\n",
- "c=0;\n",
- "k3=u1*(10.**(c/10.));\n",
- "print'W',k3\n",
- "\n",
- "\n",
- "print'\\nPart C'\n",
- "# (c)Given, channel loss=20dB and Pt=1W\n",
- "l=-20.;\n",
- "PT=1.;\n",
- "PR=10.**(l/10.);\n",
- "print'Received Power',PR,'W'\n",
- "\n",
- "print'\\nPart D'\n",
- "# (d)Given, channel loss=30dB when signal=3dB and overall loss=20dB\n",
- "l1=-30.;\n",
- "s=-3.;\n",
- "l2=-20.;\n",
- "q=-l1-s-s+l2;\n",
- "d1=10.**(q/10.);\n",
- "print'=',q,'dB'\n",
- "print d1\n",
- "\n",
- "print'\\nPart E'\n",
- "# (e)Given,\n",
- "Si=0; # dBm\n",
- "S1=1.*10.**3.*(10.**(Si/10.));\n",
- "Ni=1.*10.**7.; # W\n",
- "\n",
- "Osnr=S1/Ni;\n",
- "Odb=(10.*(math.log(Osnr)))/math.log(10)\n",
- "print Odb,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Part a\n",
- "dBm 26.7209785794\n",
- "dBW 56.7209785794\n",
- "dBm -30.0\n",
- "dBW 0.0\n",
- "dBm 80.0\n",
- "dBW 110.0\n",
- "\n",
- "Part B\n",
- "W 0.01\n",
- "W 50118723.3627\n",
- "W 1000.0\n",
- "\n",
- "Part C\n",
- "Received Power 0.01 W\n",
- "\n",
- "Part D\n",
- "= 16.0 dB\n",
- "39.8107170553\n",
- "\n",
- "Part E\n",
- "-40.0 dB\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E02 : Pg 8.7"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.7\n",
- "# Example 8.2\n",
- "# Given,\n",
- "import math \n",
- "R=1000.;\n",
- "T=27.; # degree celsius\n",
- "TK=T+273.; # kelvin\n",
- "# We know, rms noise voltage is 4RKTB\n",
- "K=1.38*10.**28.;\n",
- "B=10.;\n",
- "V=math.sqrt(4.*R*K*TK*B);\n",
- "print'Rms noise voltage:',V,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Rms noise voltage: 4.06939798988e+17 V\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E03 : Pg 8.8"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.8\n",
- "# Example 8.3\n",
- "# Given,\n",
- "G=100.;\n",
- "G1=(10.**(G/10.));\n",
- "\n",
- "T=30.;\n",
- "Te=270.;\n",
- "\n",
- "# We know,output noise power=GKB(T+Te)\n",
- "K=1.38*10.**23.;\n",
- "B=1.5*10.**6.;\n",
- "\n",
- "No=G1*1.38*10.**23.*1.5*10.**6.*(T+Te);\n",
- "print'Output Noise Power',No,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output Noise Power 6.21e+41 W\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E04 : Pg 8.8"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.8\n",
- "# Example 8.4\n",
- "# Given,\n",
- "import math \n",
- "R=50.;\n",
- "osnr=0;\n",
- "SNRo=(10.**(osnr/10.));\n",
- "print'Output SNR',SNRo\n",
- "# As Pni=KTB\n",
- "K=1.38*10.**23.;\n",
- "T=290.;\n",
- "B=5.*10.**5.;\n",
- "Pni=K*T*B;\n",
- "print'Input noise power',Pni,'W'\n",
- "# Psi=V**2/R\n",
- "# Given V=5*10**-6V\n",
- "V=0.5*10.**6.;\n",
- "Psi=(V**2.)/R;\n",
- "print'Signal Power Input',Psi,'W'\n",
- "isnr=(Psi/Pni);\n",
- "print'Input SNR',isnr\n",
- "F=(isnr/SNRo);\n",
- "print'Noise Factor',F\n",
- "NF=10.*math.log(F)/math.log(10);\n",
- "print'Noise figure',NF,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Output SNR 1.0\n",
- "Input noise power 2.001e+31 W\n",
- "Signal Power Input 5000000000.0 W\n",
- "Input SNR 2.49875062469e-22\n",
- "Noise Factor 2.49875062469e-22\n",
- "Noise figure -216.022770843 dB\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E06 : Pg 8.9"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.9\n",
- "# Example 8.6\n",
- "# Given,Stage 1\n",
- "import math \n",
- "SNRo=120.;\n",
- "Pni=0.01*10.**6.; # W\n",
- "G1=20.;\n",
- "\n",
- "# Stage 2\n",
- "F2=12.; # dB\n",
- "FF2=(10.**(F2/10.));\n",
- "G2=30.;\n",
- "\n",
- "# Stage 3\n",
- "F3=9.3; # dB\n",
- "FF3=(10.**(F3/10.));\n",
- "G3=35.;\n",
- "\n",
- "# (a)Nosie factor and noise figure of Stage 1\n",
- "F=5.6; # dB\n",
- "FF=(10.**(F/10.));\n",
- "\n",
- "# As F=F1-((F2-1)/G1)-((F3-1)*(G1G2));\n",
- "Fa=FF-((F2-1)/G1)-((FF3-1)/(G1*G2));\n",
- "print'Noise factor of stage 1',Fa\n",
- "\n",
- "FadB=(10*(math.log(Fa)))/math.log(10); # dB\n",
- "print'Noise figure of stage 1',FadB,'dB'\n",
- "\n",
- "\n",
- "# (b)Input signal power of stage 1\n",
- "Psi=Pni*Fa*SNRo;\n",
- "print'Input signal power of stage 1',Psi,'W'\n",
- "\n",
- "\n",
- "# (c)Nosie added by stage 1\n",
- "N=(Fa-1)*G1*Pni; \n",
- "print'Noise added by stage 1',N,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Noise factor of stage 1 3.0682615804\n",
- "Noise figure of stage 1 4.86892382031 dB\n",
- "Input signal power of stage 1 3681913.89648 W\n",
- "Noise added by stage 1 413652.31608 W\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E07 : Pg 8.10"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.10\n",
- "# Example 8.7\n",
- "# Given\n",
- "import math \n",
- "Te=127.;# Kelvin\n",
- "T=290.;# Kelvin\n",
- "\n",
- "G1=100.;\n",
- "\n",
- "F2dB=12.;# db\n",
- "F2=(10.**(F2dB/10.));\n",
- "\n",
- "F1=1.+(Te/T);\n",
- "\n",
- "F=F1+((F2-1.)/G1);\n",
- "FF=(10.*math.log(F))/math.log(10);\n",
- "print'Overall Noise Figure',FF,'dB'\n",
- "\n",
- "# Equivalent Noise Temperature TE\n",
- "TE=(F-1.)*T;\n",
- "print'Equivalent Noise Temperature',TE,'K'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Overall Noise Figure 2.00418273219 dB\n",
- "Equivalent Noise Temperature 170.061902581 K\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E09 : Pg 8.11"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.11;\n",
- "# Example 8.9\n",
- "# (a)Noise Figure\n",
- "# Given\n",
- "# Loss Fcator\n",
- "import math \n",
- "IL=1.5; # dB\n",
- "IL1=(10.**(IL/10.));\n",
- "\n",
- "# Noise figure\n",
- "F1=1.41;\n",
- "G1=1./F1;\n",
- "\n",
- "G2=10.; \n",
- "GG2=(10.*math.log(G2))/math.log(10); # dB\n",
- "\n",
- "G3=100.;\n",
- "GG3=(10.*math.log(G3))/math.log(10); # dB\n",
- "\n",
- "F2=2.; # dB\n",
- "F3=2.; # dB\n",
- "\n",
- "FF2=(10.**(F2/10.));\n",
- "FF3=(10.**(F3/10.));\n",
- "\n",
- "F=(F1+((FF2-1.)/G1)+((FF3-1.)/(G1*GG2)));\n",
- "FF=(10.*math.log(F))/math.log(10);\n",
- "print'Noise figure of cascade',FF,'dB'\n",
- "\n",
- "# (b) SNR at output\n",
- "# Given\n",
- "Pin=-90.; # dBm\n",
- "Pout=Pin-IL+GG2+GG3; # dBm\n",
- "\n",
- "# Pn=Gcas*K*Te*B (cascade)\n",
- "K=1.38*10.**23.;\n",
- "To=290.; # Kelvin\n",
- "B=1.*10.**8.;\n",
- "Gcas=GG2+GG3-IL;\n",
- "Gcas1=(10.**(Gcas/10.));\n",
- "Pn=K*To*(F-1.)*B*Gcas1; # W\n",
- "\n",
- "Pn1=(10.*(math.log(Pn/1.*10.**3.)))/math.log(10);\n",
- "print'Noise power output:',Pn1,'dBm'\n",
- "SNR=Pout-Pn1;\n",
- "print'Signal to Noise ratio:',SNR,'dB'\n",
- "# (c)Best Noise Figure\n",
- "# G1 after G2 after IL\n",
- "Fcas=(FF2+((FF3-1)/G3)+((IL1-1)/(G3*G2)));\n",
- "Fcas1=(10.*(math.log(Fcas)))/math.log(10);\n",
- "print'Noise figure will be:',Fcas1,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Noise figure of cascade 3.6495777371 dB\n",
- "Noise power output: 395.719186978 dBm\n",
- "Signal to Noise ratio: -457.219186978 dB\n",
- "Noise figure will be: 2.01712395585 dB\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E10 : Pg 8.12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.12\n",
- "# Example 8.10\n",
- "import math \n",
- "# Given\n",
- "K=1.38*10.**23;\n",
- "B=40.*10.**6.;\n",
- "\n",
- "Tant=600.; # Kelvin\n",
- "Trec=3000.; # Kelvin\n",
- "\n",
- "G=80.; # dB\n",
- "GG=(10.**(G/10.));\n",
- "\n",
- "# Input noise power from antenna\n",
- "Nant=K*Tant*B; # W\n",
- "print'Nant=',Nant,'W'\n",
- "\n",
- "Nrec=K*Trec*B; # W\n",
- "print'Nant=',Nrec,'W'\n",
- "Nout=(Nant+Nrec)*GG;\n",
- "print'Reciver Noise Power Output',Nout,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Nant= 3.312e+33 W\n",
- "Nant= 1.656e+34 W\n",
- "Reciver Noise Power Output 1.9872e+42 W\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E11 : Pg 8.12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.12\n",
- "# Example 8.11\n",
- "import math \n",
- "# We use, F=(F1+(F2-1)/G1)\n",
- "# Given\n",
- "FA=1.5; \n",
- "\n",
- "GA=10.; # dB\n",
- "GAA=(10.**(GA/10.));\n",
- "\n",
- "FB=3.; # dB\n",
- "FBB=(10.**(FB/10.));\n",
- "\n",
- "GB=15.; # dB\n",
- "GBB=(10.**(GB/10.));\n",
- "\n",
- "# Case 1: Amp A followed by Amp B\n",
- "F11=FA;\n",
- "F12=FBB;\n",
- "G11=GAA;\n",
- "\n",
- "F1=(F11+(F12-1.)/G11);\n",
- "print'Gain when Amp A followed by Amp B',F1\n",
- "\n",
- "# Case 2: Amp B followed by Amp A\n",
- "F21=FBB;\n",
- "F22=FA;\n",
- "G21=GBB;\n",
- "\n",
- "F2=(F21+(F22-1)/G21);\n",
- "print'Gain when Amp B followed by Amp A',F2\n",
- "\n",
- "# As F1<F2, Case 1 gives lowest Noise\n",
- "\n",
- "# Also given,\n",
- "T0=20. # degree celsius\n",
- "T=T0+273.; # Kelvin\n",
- "\n",
- "# For amplifier A\n",
- "TA=((FA-1.)*T);\n",
- "\n",
- "# For amplifier B\n",
- "TB=((FBB-1.)*T);\n",
- "\n",
- "# When A is followed by B\n",
- "Te1=(F1-1.)*T;\n",
- "print'Noise temperataure when Amp A followed by Amp B',Te1\n",
- "\n",
- "# When B is followed by A\n",
- "Te2=(F2-1.)*T;\n",
- "print'Noise temperataure when Amp B followed by Amp A',Te2"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Gain when Amp A followed by Amp B 1.5995262315\n",
- "Gain when Amp B followed by Amp A 2.01107370327\n",
- "Noise temperataure when Amp A followed by Amp B 175.661185829\n",
- "Noise temperataure when Amp B followed by Amp A 296.244595058\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E12 : Pg 8.13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.13\n",
- "# Example 8.12\n",
- "import math \n",
- "# Given, Noise figure\n",
- "NF=2.; # dB\n",
- "F=(10.**(NF/10.));\n",
- "\n",
- "AG=12.; # dB\n",
- "A=(10.**(AG/10.));\n",
- "\n",
- "# (a)Total Output Noise Power\n",
- "\n",
- "# Also given,Input signal power \n",
- "Pi=1.; # W\n",
- "\n",
- "# Input Noise power Pni\n",
- "Pni=100.*10.**-3.; # W\n",
- "\n",
- "# Input SNR\n",
- "Isnr=Pi/Pni;\n",
- "\n",
- "# Output SNR\n",
- "Osnr=Isnr/F;\n",
- "\n",
- "# Total output signal power\n",
- "Po=Pi*A; # W\n",
- "\n",
- "# Total output noise power\n",
- "N=Po/Osnr; # W\n",
- "print'Total Output Noise Power',N,'W'\n",
- "\n",
- "# (b)Signal to Noise and disortion ratio\n",
- "\n",
- "# Given. 2% is disortion\n",
- "Di=2./100.;\n",
- "\n",
- "# Total disortion\n",
- "D=Di*A; # W\n",
- "\n",
- "# Useful Power\n",
- "S=(1.-Di)*A; # W\n",
- "\n",
- "# As given,SNAD=10*(log10(S+N+D)/(N+D));\n",
- "SNAD=10.*(math.log((S+N+D)/(N+D)))/math.log(10);\n",
- "print'SNAD:',SNAD,'dB'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Total Output Noise Power 2.51188643151 W\n",
- "SNAD: 8.12279800985 dB\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E13 : Pg 8.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.14\n",
- "# Example 8.13\n",
- "# Given\n",
- "import math \n",
- "Pni=-100.; # dBm\n",
- "PniW=((1.*10.**3.)*(10.**(Pni/10.)));\n",
- "\n",
- "To=290.; # K\n",
- "\n",
- "F=1.6; # dB\n",
- "NF=(10.**(F/10.));\n",
- "\n",
- "# (a) Noise tempertaure of antenna\n",
- "# As Te=Pni/K*B;\n",
- "K=1.38*10.**23.;\n",
- "B=20.*10.**6.;\n",
- "Te=(PniW/(K*B));\n",
- "print'Noise tempertaure of antenna',Te,'K'\n",
- "\n",
- "# (b)Effective noise tempertaure\n",
- "# Given,\n",
- "G=30.; # dB\n",
- "GdB=(10.**(G/10.));\n",
- "\n",
- "Tef=((NF-1.)*To);\n",
- "print'Effective Noise tempertaure',Tef,'K'\n",
- "\n",
- "# Output Noise Pno=K*T(Te+Tef)*B*GdB\n",
- "\n",
- "Pno=K*(Te+Tef)*B*GdB; # W\n",
- "Pno1=(10.*(math.log(Pno/1.*10.**3.)))/math.log(10);\n",
- "print'Output Noise: ',Pno1,'dBm'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Noise tempertaure of antenna 3.6231884058e-38 K\n",
- "Effective Noise tempertaure 129.177533516 K\n",
- "Output Noise: 385.5209607 dBm\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E14 : Pg 8.14"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.14\n",
- "# Example 8.14\n",
- "# Given\n",
- "import math \n",
- "GG1=20.;# dB\n",
- "G1=(10.**(GG1/10.));\n",
- "\n",
- "FF1=6.;# dB\n",
- "F1=(10.**(FF1/10.));\n",
- "\n",
- "GG2=60.;# dB\n",
- "G2=(10.**(GG2/10.));\n",
- "\n",
- "FF2=16.;# dB\n",
- "F2=(10.**(FF2/10.));\n",
- "\n",
- "LF=3.; # dB\n",
- "FC=(10.**(LF/10.));\n",
- "GC=1./FC;\n",
- "\n",
- "# (a)Overall Noise Figure\n",
- "# Usinng F=(F1+((F2-1)/G1)+((F3-1)(G1*G2)));\n",
- "\n",
- "Fa=(F1+((FC-1.)/G1)+((F2-1.)/(G1*GC)));\n",
- "FadB=(10.*(math.log(Fa)))/math.log(10);\n",
- "print'Overall Noise Figure:',FadB,'db'\n",
- "\n",
- "\n",
- "# (b)Noise figure, if pre-amplifier is removed and gain increased by 20dB\n",
- "\n",
- "Fb=FC+((F2-1.)/GC);\n",
- "FbdB=(10.*(math.log(Fb)))/math.log(10);\n",
- "print'Overall Noise Figure:',FbdB,'db'\n",
- "\n",
- "# (c)Change in noise figure\n",
- "# Again usinng F=(F1+((F2-1)/G1)+((F3-1)(G1*G2)));\n",
- "Fc=(FC+((F1-1.)/GC)+((F2-1.)/(G1*GC)));\n",
- "FcdB=(10.*(math.log(Fc)))/math.log(10);\n",
- "\n",
- "print'Overall Noise Figure:',FcdB,'db'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Overall Noise Figure: 6.78099355039 db\n",
- "Overall Noise Figure: 19.0 db\n",
- "Overall Noise Figure: 9.40399825279 db\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E15 : Pg 8.15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.15\n",
- "# Example 8.15\n",
- "# Given Noise figure\n",
- "import math \n",
- "NF=5.; # dB\n",
- "F=(10.**(NF/10.));\n",
- "Ta=1050.; # Kelvin\n",
- "# (a) Overall Noise Figure\n",
- "T=20.; # degree Celsius\n",
- "To=T+273.; # Kelvin\n",
- "# Effective Noise temperature\n",
- "Te=((F-1.)*To);\n",
- "print'Effective Noise temperature',Te,'K'\n",
- "# Overall effective Noise Temperature\n",
- "TIN=Ta+Te;\n",
- "print'Overall Effective Noise temperature',TIN,'K'\n",
- "# Overall noise figure\n",
- "ONF=(1.+(TIN/To));\n",
- "ONFdB=(10.*(math.log(ONF)))/math.log(10); # dB\n",
- "print'Overall Noise Figure:',ONFdB,'dB'\n",
- "# (b)Input Signal Power\n",
- "# Given Output SNR\n",
- "Outsnr=6.; # dB\n",
- "Osnr=(10.**(Outsnr/10.));\n",
- "Isnr=ONF*Osnr;\n",
- "# Input Noise Power=KTB\n",
- "K=1.38*10.**23.;\n",
- "B=50000.;\n",
- "Pni=K*TIN*B; # W\n",
- "# Input signal Power\n",
- "Psi=Isnr*Pni; # W\n",
- "PsidBW=(10.*(math.log(Psi/1)))/math.log(10); # dBW\n",
- "print'Input signal Power:',PsidBW,'dBW'\n",
- "# (c)Minimum detectable signal Vmin\n",
- "# Given\n",
- "Osnr=10.; # dB\n",
- "R=50.; # Ohms\n",
- "FF1=3.; # dB\n",
- "F1=(10.**(FF1/10.));\n",
- "FF2=5.; # dB\n",
- "F2=(10.**(FF2/10.));\n",
- "GG1=7.; \n",
- "G1=(10.**(GG1/10.));\n",
- "# Using F=F1+((F2-1)/G1)\n",
- "Fa=F1+((F2-1.)/G1);\n",
- "Fa1=(10.*(math.log(Fa)))/math.log(10);\n",
- "# Equivalent Noise Tempertaure\n",
- "Te1=((Fa-1.)*To);\n",
- "print'Equivalent Noise temperature:',Te1,'K'\n",
- "\n",
- "# Overall effective Noise Temperature\n",
- "TIN1=Ta+Te1;\n",
- "print'Effective Noise temperature:',TIN1,'K'\n",
- "\n",
- "# Input Noise Power=KTB\n",
- "Pni1=K*TIN1*B; # W\n",
- "\n",
- "# Overall noise figure\n",
- "ONF1=(1.+(TIN1/To));\n",
- "ONFdB1=(10.*(math.log(ONF)))/math.log(10);\n",
- "print'Overall Noise Figure:',ONFdB1,'W'\n",
- "\n",
- "# Input SNR\n",
- "Isnr1=ONF1*Osnr;\n",
- "\n",
- "# Input signal Power\n",
- "Psi1=Isnr1*Pni; # W\n",
- "print'Input Signal Power:',Psi1,'W'\n",
- "\n",
- "# Now as Vmin**2/R=Psi1\n",
- "# Therefore\n",
- "Vmin=math.sqrt(Psi1*R);\n",
- "print'Minimum detectable signal Vmin:',Vmin,'V'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Effective Noise temperature 633.547354429 K\n",
- "Overall Effective Noise temperature 1683.54735443 K\n",
- "Overall Noise Figure: 8.29039603344 dB\n",
- "Input signal Power: 324.941140307 dBW\n",
- "Equivalent Noise temperature: 418.02117439 K\n",
- "Effective Noise temperature: 1468.02117439 K\n",
- "Overall Noise Figure: 8.29039603344 W\n",
- "Input Signal Power: 6.98186400025e+32 W\n",
- "Minimum detectable signal Vmin: 1.86840359669e+17 V\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E18 : Pg 8.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.18\n",
- "# Example 8.18\n",
- "# Given, \n",
- "import math \n",
- "Fa=5.; # dB\n",
- "d=200.; # Km\n",
- "a=2.; # dB/Km\n",
- "No=4.*10.**21.; # W/Hz\n",
- "BW=4000.;\n",
- "Osnr=30.; # dB\n",
- "# (a) No repeaters used\n",
- "L=d*a; # dB\n",
- "print'Noise figure:',L,'dB'\n",
- "\n",
- "# As Output SNR=InputSNR/F where F=L*Fa\n",
- "# And Input SNR=(Pt/(No*B))\n",
- "# Therefore,PT=Output SNR+L+Fa+(No*B)\n",
- "\n",
- "NoB=10.*math.log(No*BW)/math.log(10);\n",
- "\n",
- "# Power Transmitted\n",
- "Pt=Osnr+L+Fa+(NoB);\n",
- "\n",
- "PtdB=10.**(Pt/10.);\n",
- "print'Power transmitted with no repeaters',PtdB,'W'\n",
- "\n",
- "# (b)20 repeaters are employed\n",
- "n=20.;\n",
- "# F becomes 20F\n",
- "# Output SNR=InputSNR/20*F where F=L*Fa\n",
- "L1=L/n; # dB per segment\n",
- "\n",
- "# Power Transmitted\n",
- "Pt1=Osnr+L1+Fa+(NoB)+(10.*(math.log(n)))/math.log(10.);\n",
- "\n",
- "PtdB1=10.**(Pt1/10.);\n",
- "print 'Power transmitted with 20 repeaters',PtdB1,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Noise figure: 400.0 dB\n",
- "Power transmitted with no repeaters 5.05964425627e+68 W\n",
- "Power transmitted with 20 repeaters 1.01192885125e+32 W\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E23 : Pg 8.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 8.23\n",
- "# Example 8.23\n",
- "# Given,\n",
- "# S=10*10.**8*(1-(|f|/10*10.**8));\n",
- "# (a)Power contenet of output noise\n",
- "# Bandwidth of 2MHz centered at 50MHz\n",
- "# Therefore, first limits will be\n",
- "\n",
- "x0=-51.*10.**6.;\n",
- "x1=-49.*10.**6.;\n",
- "P1=1*10.**06;#integrate('1+(f/10**8)','f',x0,x1);\n",
- "\n",
- "# And,second limits will be\n",
- "\n",
- "x2=49.*10.**6.;\n",
- "x3=51.*10.**6.;\n",
- "\n",
- "P2=1*10.**06;#integrate('1-(f/10**8)','f',x2,x3);\n",
- "\n",
- "P=0.2;#10.*10.**8.*(P1+P2);\n",
- "print'Power content:',P,'W'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Power content: 0.2 W\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E24 : Pg 8.25"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "#Page Number: 8.25\n",
- "#Example 8.24\n",
- "#Given, band limited gaussian noise with psd,\n",
- "%matplotlib inline\n",
- "import scipy,numpy,matplotlib\n",
- "from matplotlib import pyplot\n",
- "from scipy import integrate\n",
- "S=9.6e-5; #W/Hz for |f|<8kHz\n",
- "L=100e-3; #H\n",
- "R=100.; #Ohms\n",
- "\n",
- "#(a) Noise power at input of filter\n",
- "\n",
- "x0=-8000.;\n",
- "x1=8000.;\n",
- "def function(x):\n",
- "\ty = 1;\n",
- "\treturn y\n",
- "Pni=S*(scipy.integrate.quad(function,x0,x1)[0]);\n",
- "print 'Noise power at input of filter:',Pni,'W'\n",
- "\n",
- "#Plot\n",
- "x=numpy.linspace(-8,8, num=3);\n",
- "y=numpy.linspace(0,1,num=3);\n",
- "\n",
- "pyplot.plot(x,y);\n",
- "pyplot.show(); "
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Noise power at input of filter: 1.536 W\n"
- ]
- },
- {
- "metadata": {},
- "output_type": "display_data",
- "png": "iVBORw0KGgoAAAANSUhEUgAAAXIAAAEACAYAAACuzv3DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEipJREFUeJzt3X+M5Hddx/HnyytFiWDRJjW0Z0Coyg9pQHo0EmGRSs9i\naGKiUOEawEiDFlAaKYVI75/TVA4FhJw9bAkIWLVU0iZNaxU2GoRSyrX86B32JJW74zcIKsFcm779\nY6bH3HR3ZnZvduf74/lISPa789mZN3d7n33uZ3a2qSokSe31Q4seQJJ0YtzIJanl3MglqeXcyCWp\n5dzIJanl3MglqeWmbuRJrknytSSfnbDmHUnuSXJXkqfNd0RJ0iSzFPl7gO2r3ZjkfOAJVXUm8Epg\nz5xmkyTNYOpGXlX/CvzXhCUvBN47XHsbcEqS0+YzniRpmnmckZ8OHBq5PgycMYf7lSTNYF5Pdmbs\n2tf9S9ImOWkO93EE2DpyfcbwfcdJ4uYuSetQVeOxfJx5FPkNwEUASc4BvlNVX1tlmMb/74orrlj4\nDM7pjM7Zzzn37SvOOqt4wQuKI0cG75vF1CJP8jfAc4BTkxwCrgAeNtyYr6qqm5Kcn+Qg8D3g5TM9\nsiQJgKNHYdcu2LMHdu+GHTsgExv8eFM38qq6cIY1l8z+kJKkB915J7zsZXDGGYO3H/OYtd+Hr+wc\ns7S0tOgRZuKc89OGGcE5523Rcx49CldcAc9/PrzudXDjjevbxAEy6xnMiUpSm/VYktRkoxW+d+/k\nDTwJtQlPdkqSZjDPCh81jx8/lCRNMY+z8NVY5JK0gTaqwkdZ5JK0QTaywkdZ5JI0Z5tR4aMsckma\no82q8FEWuSTNwWZX+CiLXJJO0CIqfJRFLknrtMgKH2WRS9I6LLrCR1nkkrQGTanwURa5JM2oSRU+\nyiKXpCmaWOGjLHJJmqCpFT7KIpekFTS9wkdZ5JI0pg0VPsoil6ShNlX4KItckmhfhY+yyCX1Wlsr\nfJRFLqm32lzhoyxySb3ThQofZZFL6pWuVPgoi1xSL3StwkdZ5JI6r4sVPsoil9RZXa7wURa5pE7q\neoWPssgldUpfKnyURS6pM/pU4aMsckmt18cKH2WRS2q1vlb4KItcUiv1vcJHWeSSWscKP55FLqk1\nrPCVWeSSWsEKX93UIk+yPcmBJPckuWyF209NcnOSO5N8LsnLNmRSSb1khU+Xqlr9xmQL8AXgXOAI\ncDtwYVXtH1mzE3h4VV2e5NTh+tOq6v6x+6pJjyVJ40YrfO/efm7gSaiqTFozrci3AQer6t6qug+4\nFrhgbM1XgEcN334U8K3xTVyS1sIKX5tpZ+SnA4dGrg8Dzxxb827gI0m+DDwS+M35jSepbzwLX7tp\nG/ksZyFvBO6sqqUkjwduTXJWVf3P+MKdO3cee3tpaYmlpaU1jCqpy44ehV27YM8e2L0bduyATDxQ\n6Kbl5WWWl5fX9DHTzsjPAXZW1fbh9eXAA1V15ciam4BdVfWx4fU/A5dV1afG7sszckkr8ix8dfM4\nI/8UcGaSxyY5GXgRcMPYmgMMngwlyWnAzwJfXN/IkvrEs/D5mHi0UlX3J7kEuAXYAlxdVfuTXDy8\n/Srgj4H3JLmLwReG11fVtzd4bkkt51n4/Ew8WpnrA3m0IgnPwtdqlqMVX9kpadNY4RvD37UiacN5\nFr6xLHJJG8oK33gWuaQNYYVvHotc0txZ4ZvLIpc0N1b4YljkkubCCl8ci1zSCbHCF88il7RuVngz\nWOSS1swKbxaLXNKaWOHNY5FLmokV3lwWuaSprPBms8glrcoKbweLXNKKrPD2sMglHccKbx+LXNIx\nVng7WeSSrPCWs8ilnrPC288il3rKCu8Oi1zqISu8WyxyqUes8G6yyKWesMK7yyKXOs4K7z6LXOow\nK7wfLHKpg6zwfrHIpY6xwvvHIpc6wgrvL4tc6gArvN8scqnFrHCBRS61lhWuB1nkUstY4RpnkUst\nYoVrJRa51AJWuCaxyKWGs8I1zdQiT7I9yYEk9yS5bJU1S0n2JflckuW5Tyn1kBWuWU0s8iRbgHcC\n5wJHgNuT3FBV+0fWnAK8Czivqg4nOXUjB5b6wArXWkwr8m3Awaq6t6ruA64FLhhb81vAh6rqMEBV\nfXP+Y0r9YIVrPaadkZ8OHBq5Pgw8c2zNmcDDknwUeCTw9qr66/mNKPWDFa71mraR1wz38TDg6cDz\ngEcAH0/yiaq650SHk/rg6FHYtQv27IHdu2HHDkgWPZXaZNpGfgTYOnK9lUGVjzoEfLOqvg98P8m/\nAGcBD9nId+7ceeztpaUllpaW1j6x1CFWuMYtLy+zvLy8po9J1erRneQk4AsMavvLwCeBC8ee7Pw5\nBk+Ingc8HLgNeFFV3T12XzXpsaQ+scI1qyRU1cTPjolFXlX3J7kEuAXYAlxdVfuTXDy8/aqqOpDk\nZuAzwAPAu8c3cUk/YIVr3iYW+VwfyCJXz1nhWo8TLnJJ82GFayP5u1akDeTPhWszWOTSBrHCtVks\ncmnOrHBtNotcmiMrXItgkUtzYIVrkSxy6QRZ4Vo0i1xaJytcTWGRS+tghatJLHJpDaxwNZFFLs3I\nCldTWeTSFFa4ms4ilyawwtUGFrm0AitcbWKRS2OscLWNRS4NWeFqK4tcwgpXu1nk6jUrXF1gkau3\nrHB1hUWu3rHC1TUWuXrFClcXWeTqBStcXWaRq/OscHWdRa7OssLVFxa5OskKV59Y5OoUK1x9ZJGr\nM6xw9ZVFrtazwtV3FrlazQqXLHK1lBUu/YBFrtaxwqXjWeRqDStcWplFrlawwqXVWeRqNCtcms4i\nV2NZ4dJsLHI1jhUurc3UjTzJ9iQHktyT5LIJ685Ocn+SX5/viOqTO++EbdvgjjsGb190ESSLnkpq\ntokbeZItwDuB7cCTgAuTPHGVdVcCNwP+s9OaWeHS+k07I98GHKyqewGSXAtcAOwfW/dq4Drg7HkP\nqO7zLFw6MdOOVk4HDo1cHx6+75gkpzPY3PcM31Vzm06dZoVL8zGtyGfZlN8GvKGqKknwaEUzsMKl\n+Zm2kR8Bto5cb2VQ5aN+Abh2sIdzKvCrSe6rqhvG72znzp3H3l5aWmJpaWntE6vVjh6FXbtgzx7Y\nvRt27PDJTGnU8vIyy8vLa/qYVK0e3UlOAr4APA/4MvBJ4MKqGj8jf3D9e4Abq+r6FW6rSY+l7hut\n8L17rXBpFkmoqom5M/GMvKruBy4BbgHuBv62qvYnuTjJxfMbVV3mWbi0sSYW+VwfyCLvJStcOjEn\nXOTSelnh0ubxd61o7vyJFGlzWeSaGytcWgyLXHNhhUuLY5HrhFjh0uJZ5Fo3K1xqBotca2aFS81i\nkWtNrHCpeSxyzcQKl5rLItdU+/YNKnzrVitcaiKLXKt6sMLPOw8uvdQKl5rKIteKrHCpPSxyHccK\nl9rHItcxVrjUTha5rHCp5SzynrPCpfazyHvKCpe6wyLvIStc6haLvEescKmbLPKesMKl7rLIO84K\nl7rPIu8wK1zqB4u8g6xwqV8s8o6xwqX+scg7wgqX+ssi7wArXOo3i7zFrHBJYJG3lhUu6UEWectY\n4ZLGWeQtYoVLWolF3gJWuKRJLPKGs8IlTWORN5QVLmlWFnkDWeGS1sIibxArXNJ6WOQNYYVLWq+Z\nijzJ9iQHktyT5LIVbn9JkruSfCbJx5I8df6jdpMVLulETS3yJFuAdwLnAkeA25PcUFX7R5Z9EXh2\nVX03yXZgL3DORgzcJVa4pHmYpci3AQer6t6qug+4FrhgdEFVfbyqvju8vA04Y75jdosVLmmeZjkj\nPx04NHJ9GHjmhPW/Ddx0IkN1mRUuad5m2chr1jtL8lzgFcCzVrp9586dx95eWlpiaWlp1rtuvaNH\nYdcu2LMHdu+GHTsgWfRUkppmeXmZ5eXlNX1Mqibv00nOAXZW1fbh9eXAA1V15di6pwLXA9ur6uAK\n91PTHqurRit8714rXNLsklBVE7NvljPyTwFnJnlskpOBFwE3jD3QTzHYxF+60ibeV56FS9oMU49W\nqur+JJcAtwBbgKuran+Si4e3XwW8GXg0sCeD84L7qmrbxo3dfJ6FS9osU49W5vZAPTla8Sxc0jzN\ncrTiKzvnyAqXtAj+rpU58Cxc0iJZ5CfICpe0aBb5OlnhkprCIl8HK1xSk1jka2CFS2oii3xGVrik\nprLIp7DCJTWdRT6BFS6pDSzyFVjhktrEIh9jhUtqG4t8yAqX1FYWOVa4pHbrdZFb4ZK6oLdFboVL\n6oreFbkVLqlrelXkVrikLupFkVvhkrqs80VuhUvqus4WuRUuqS86WeRWuKQ+6VSRW+GS+qgzRW6F\nS+qr1he5FS6p71pd5Fa4JLW0yK1wSfqB1hW5FS5Jx2tNkVvhkrSyVhS5FS5Jq2t0kVvhkjRdY4vc\nCpek2TSuyK1wSVqbRhW5FS5Ja9eIIrfCJWn9Fl7kVrgknZipRZ5ke5IDSe5Jctkqa94xvP2uJE+b\n5YGtcEmaj4kbeZItwDuB7cCTgAuTPHFszfnAE6rqTOCVwJ5pD7pvH5x9Ntxxx6DCL7oIknX/f5ir\n5eXlRY8wE+ecnzbMCM45b22ZcxbTinwbcLCq7q2q+4BrgQvG1rwQeC9AVd0GnJLktJXurA0V3pa/\nXOecnzbMCM45b22ZcxbTzshPBw6NXB8GnjnDmjOAr43f2dlnexYuSfM2bSOvGe9n/GBkxY+79FLY\nsaM5xyiS1AWpWn2vTnIOsLOqtg+vLwceqKorR9b8JbBcVdcOrw8Az6mqr43d16xfFCRJI6pqYv5O\nK/JPAWcmeSzwZeBFwIVja24ALgGuHW783xnfxGcZRJK0PhM38qq6P8klwC3AFuDqqtqf5OLh7VdV\n1U1Jzk9yEPge8PINn1qSdMzEoxVJUvNt6kv0k2xL8skk+5LcnuTszXz8WSV5dZL9ST6X5MrpH7E4\nSS5N8kCSH1/0LCtJ8pbhn+VdSa5P8mOLnmnULC94W7QkW5N8NMnnh5+Tr1n0TKtJsmX47/vGRc+y\nmiSnJLlu+Hl59/BIuHGSXD78O/9skg8mefhqazf7d638KfBHVfU04M3D60ZJ8lwGPxv/1Kp6CrB7\nwSOtKslW4FeA/1z0LBP8I/DkqjoL+Hfg8gXPc8wsL3hriPuAP6iqJwPnAL/X0DkBXgvczew/8bYI\nbwduqqonAk8F9i94nocYPi/5O8DTq+rnGRxtv3i19Zu9kX8FeLDITgGObPLjz+JVwJ8MXwBFVX1j\nwfNM8mfA6xc9xCRVdWtVPTC8vI3BawyaYpYXvC1cVX21qu4cvv2/DDaexr0SI8kZwPnAX/HQH0lu\nhOF3hL9UVdfA4HnAqvrugsdayX8z+AL+iCQnAY9gwn652Rv5G4C3JvkS8BYaVGcjzgSeneQTSZaT\nPGPRA60kyQXA4ar6zKJnWYNXADcteogRK72Y7fQFzTKTYak9jcEXxab5c+APgQemLVygxwHfSPKe\nJJ9O8u4kj1j0UOOq6tvAW4EvMfiJwe9U1T+ttn7uv/0wya3AT65w05uA1wCvqap/SPIbwDUMjgY2\n1ZQZTwIeXVXnDM/w/w746c2c70FT5rwceP7o8k0ZagUT5nxjVd04XPMm4GhVfXBTh5usyd/+P0SS\nHwWuA147LPPGSPJrwNeral+SpUXPM8FJwNOBS6rq9iRvYxCYb17sWMdL8njg94HHAt8F/j7JS6rq\nAyutn/tGXlWrbsxJ3l9V5w4vr2PwLdimmzLjq4Drh+tuHz6R+BNV9a1NG3BotTmTPIVBWdyVwctk\nzwDuSLKtqr6+iSMCk/88AZK8jMG33M/blIFmdwTYOnK9lUGVN06ShwEfAt5fVR9e9Dwr+EXghcNf\novfDwKOSvK+qLlrwXOMOM/hO9vbh9XUMNvKmeQbwbw/uO0muZ/BnvOJGvtlHKweTPGf49i8zePKr\naT7MYDaS/Axw8iI28Umq6nNVdVpVPa6qHsfgk/Ppi9jEp0myncG32xdU1f8tep4xx17wluRkBi94\nu2HBMz1EBl+trwburqq3LXqelVTVG6tq6/Dz8cXARxq4iVNVXwUODf9tA5wLfH6BI63mAHBOkh8Z\n/v2fy+BJ5BVt9n9Y4pXAu4Y/RvP94XXTXANck+SzwFGgcZ+MK2jyEcFfACcDtw6/e/h4Vf3uYkca\nWO0FbwseayXPAl4KfCbJvuH7Lq+qmxc40zRN/px8NfCB4Rfv/6CBL2KsqruSvI9BbDwAfBrYu9p6\nXxAkSS3XiP9mpyRp/dzIJanl3MglqeXcyCWp5dzIJanl3MglqeXcyCWp5dzIJanl/h+wmkUZbyuA\nngAAAABJRU5ErkJggg==\n",
- "text": [
- "<matplotlib.figure.Figure at 0x5e2b890>"
- ]
- }
- ],
- "prompt_number": 1
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER09.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER09.ipynb
deleted file mode 100755
index 4a90200e..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER09.ipynb
+++ /dev/null
@@ -1,552 +0,0 @@
-{
- "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": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER09_1.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER09_1.ipynb
deleted file mode 100755
index 4a90200e..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER09_1.ipynb
+++ /dev/null
@@ -1,552 +0,0 @@
-{
- "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": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10.ipynb
deleted file mode 100755
index e766e88f..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10.ipynb
+++ /dev/null
@@ -1,567 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:37e281407bf18ea4cb97b4d94f518d678964a52abb4754faf8b1ff73d8221481"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER10:DIGITAL MODULATION AND DEMODULATION"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E01 : Pg 10.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.18\n",
- "# Example 10.1\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "Rb=1.*10.**6.; # b/s\n",
- "A=5.*10.**3.; # V\n",
- "N0=0.5*10.**11.; # W/Hz\n",
- "\n",
- "Tb=1./Rb;\n",
- "Eb=(A*A*Tb)/2.;\n",
- "\n",
- "# (a) ASK\n",
- "# Pe=Q(x)\n",
- "# where\n",
- "xA=sqrt(Eb/N0);\n",
- "\n",
- "PeA=(1./2.)*erfc(xA/1.414);\n",
- "print'For ASK:',round(PeA,2)\n",
- "\n",
- "# (b) PSK\n",
- "# Pe=Q(x)\n",
- "# where\n",
- "xP=sqrt((2.*Eb)/N0);\n",
- "\n",
- "PeP=(1./2.)*erfc(xP/1.414);\n",
- "print'For PSK:',round(PeP,2)\n",
- "\n",
- "# (c) FSK\n",
- "# Pe=Q(x)\n",
- "# where\n",
- "xF=sqrt(Eb/N0);\n",
- "\n",
- "PeF=(1./2.)*erfc(xF/1.414);\n",
- "print'For FSK:',round(PeF,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For ASK: 0.5\n",
- "For PSK: 0.5\n",
- "For FSK: 0.5\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E02 : Pg 10.19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.19\n",
- "# Example 10.2\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "Rb=1.*10.**6.; # b/s\n",
- "\n",
- "# (a)\n",
- "Aa=1.*10.**3.; # V\n",
- "N0=1*10.**11.; # W/Hz\n",
- "\n",
- "Tb=1./Rb;\n",
- "Eba=(Aa*Aa*Tb)/2.;\n",
- "\n",
- "# Pe=Q(z)\n",
- "# where\n",
- "za=sqrt((2.*Eba)/N0);\n",
- "\n",
- "Peb=(1./2.)*erfc(za/1.414);\n",
- "print'For Average bit error probability:',round(Peb,5)\n",
- "\n",
- "# (b) Maintain Pb=2*10**3\n",
- "# From table\n",
- "zb=2.9;\n",
- "Ebb=((zb**2.)*N0)/2.;\n",
- "P=Ebb*Tb;\n",
- "Ab=sqrt((2.*P));\n",
- "print'Average Power:',round(Ab,2),'V'\n",
- "\n",
- "# (c)\n",
- "Ac=100.; # V\n",
- "Rbc=1.*10.**5.; # p/s\n",
- "N01=1.*10.**2.; # W/Hz\n",
- "Tbc=1./Rbc;\n",
- "Ebc=(Ac*Ac*Tbc);\n",
- "\n",
- "zc=sqrt(((2.*Ebc)/N01));\n",
- "\n",
- "Pec=(1./2.)*erfc(zc/1.414);\n",
- "# Pec=0.0000039\n",
- "# nearly 10**-5\n",
- "print'For Average bit error probability for bipolar antipodal signals:',10**-5"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For Average bit error probability: 0.5\n",
- "Average Power: 917.06 V\n",
- "For Average bit error probability for bipolar antipodal signals: 1e-05\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E06 : Pg 10.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.23\n",
- "# Example 10.6\n",
- "# Given\n",
- "import math\n",
- "p=0.1; # dB\n",
- "p1=10.**(-p/10.);\n",
- "p2=math.sqrt(p1);\n",
- "t=8.68;#math.acosd(p2);\n",
- "a=round(t);\n",
- "print'System cannot tolerate more than:',a,'degrees'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "System cannot tolerate more than: 9.0 degrees\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E11 : Pg 10.28"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.28\n",
- "# Example 10.11\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "Rb=1.*10.**6.; # b/s\n",
- "T=1.*10.**5.;\n",
- "N0=2.*0.5*10.**7.; # W/Hz\n",
- "\n",
- "# From table for Q(z)=10**-5\n",
- "z=4.25;\n",
- "\n",
- "# As z=sqrt(A*A*T/2*N0)\n",
- "x=((z**2.)*2.*N0)/T;\n",
- "A=sqrt(x);\n",
- "print'Required value of A:',round(A,2)\n",
- "\n",
- "# (b) Bandwidth\n",
- "# B=1/(2*(T/2))\n",
- "# Therefore B=1/T\n",
- "B=(1./T);\n",
- "print'Bandwidth:',round(B,2),'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Required value of A: 60.1\n",
- "Bandwidth: 0.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E17 : Pg 10.33"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.33\n",
- "# Example 10.17\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "A=0.2*10.**3.; # V\n",
- "T=2.*10.**6.; # s\n",
- "n=2.*1.*10.**15.; # W/Hz\n",
- "\n",
- "\n",
- "# Pe=Q(z)\n",
- "# where\n",
- "x=(A*A*T)/(4.*n);\n",
- "z=sqrt(x);\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Error probability:',round(Pe,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Error probability: 0.5\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E18 : Pg 10.34"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.34\n",
- "# Example 10.18\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "A=0.2*10.**3.; # V\n",
- "A1=A/1.414;\n",
- "\n",
- "T=2.*10.**6.; # s\n",
- "n=2.*1.*10.**15.; # W/Hz\n",
- "\n",
- "\n",
- "# Pe=Q(z)\n",
- "# where\n",
- "x=(A1*A1*T)/(n);\n",
- "z=sqrt(x);\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Error probability:',round(Pe,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Error probability: 0.5\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E19 : Pg 10.35"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.35\n",
- "# Example 10.19\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "d12sqr=8.;\n",
- "N0=2.*0.5; # W/Hz\n",
- "\n",
- "# (c)\n",
- "# As for two equiprobables\n",
- "# Pe=Q(z)\n",
- "# where z=sqrt(d12**2)/sqrt(2*N0)\n",
- "z=sqrt((d12sqr)/(2.*N0));\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Probabilty error:',round(Pe,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty error: 0.02\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E20 : Pg 10.36"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.36\n",
- "# Example 10.20\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "c=sqrt(2.);\n",
- "A=sqrt(5.);\n",
- "N0=1.; # W/Hz\n",
- "\n",
- "d12sqr=4.*A*A;\n",
- "\n",
- "# As for two equiprobables\n",
- "# Pe=Q(z)\n",
- "# where z=sqrt(d12**2)/(2*N0)\n",
- "z=sqrt((d12sqr)/(sqrt(2.*N0)));\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Probabilty error:',round(Pe,4)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty error: 0.0001\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E24 : Pg 10.41"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.41\n",
- "# Example 10.24\n",
- "# (a) Number of constellation Points\n",
- "# Given\n",
- "Rs=2400.; # bps\n",
- "Rb=19.2*10.**3.; # bps\n",
- "\n",
- "# As Rs=Rb/log2M\n",
- "M=2.**(Rb/Rs);\n",
- "print'Number of constellation points =',round(M,2)\n",
- "\n",
- "# (b) Bandwidth efficiency\n",
- "BT=2400; # Symbols/second\n",
- "n=Rb/BT;\n",
- "print'Bandwidth efficiency = ',round(n,2),'bps/hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Number of constellation points = 256.0\n",
- "Bandwidth efficiency = 8.0 "
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "bps/hz\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E25 : Pg 10.41"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.41\n",
- "# Example 10.25\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "A1=0.5;\n",
- "A2=0.5;\n",
- "T=0.01; # sec\n",
- "N0=2.*0.0001; # W/Hz\n",
- "f=50.; # Hz\n",
- "\n",
- "# (a) Probability of bit error\n",
- "Es1=(A1**2.*T)/2.;\n",
- "Es2=(A2**2.*T)/2.;\n",
- "\n",
- "Eb=(Es1+Es2)/2.;\n",
- "# As PE=Qsqrt(Ep+Eq-2Epq/2N0)\n",
- "# In this case Ep=Eq=Eb\n",
- "# Therefore PE=Qsqrt(Eb(1-p)/N0)\n",
- "# where p=Epq/Eb\n",
- "\n",
- "# p=(1/Eb)*integrate('0.5*cos(2000*%pi*t)*0.5*cos(2020*%pi*t)','t',0,T);\n",
- "# We get\n",
- "p=0.94;\n",
- "q=1.-p;\n",
- "# As Pe=Q(z)\n",
- "# where z=sqrt(Eb/N0)\n",
- "z=sqrt((Eb*q)/N0);\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Probabilty of bit error :',round(Pe,2)\n",
- "\n",
- "# (b)\n",
- "# Given\n",
- "fs=50.; # Hz\n",
- "# or fs=1/2T where T=0.001\n",
- "# This implies y=tone spacing will be orthogonal\n",
- "# Therefor p=0\n",
- "\n",
- "# As Pe=Q(z)\n",
- "# where z=sqrt(Eb/N0)\n",
- "zb=sqrt(Eb/N0);\n",
- "PB=(1./2.)*erfc(zb/1.414);\n",
- "print'Probabilty error for fs=50Hz :',round(PB,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty of bit error : 0.27\n",
- "Probabilty error for fs=50Hz : 0.01\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E27 : Pg 10.43"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.43\n",
- "# Example 10.27\n",
- "\n",
- "# Given\n",
- "Rb=4.8*10.**3.; # b/s\n",
- "bw=3.2*10.**3.; # Hz\n",
- "\n",
- "# BPSK can give maximum spectral efficiency of 1bps/Hz, therefore not suitable\n",
- "# QPSK can give twice spectral efficiency,2bps/Hz, therefore\n",
- "qpsk=2.*bw;\n",
- "# PSK can give thrice spectral efficiency,3bps/Hz, therefore\n",
- "psk=3.*bw;\n",
- "\n",
- "# QPSK is most suitable\n",
- "Rs=Rb/2.;\n",
- "# Roll off Factor\n",
- "a=(bw/Rs)-1.;\n",
- "ap=a*100.;\n",
- "print'Roll off factor:',ap,'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Roll off factor: 33.3333333333 %\n"
- ]
- }
- ],
- "prompt_number": 11
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10_1.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10_1.ipynb
deleted file mode 100755
index e766e88f..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10_1.ipynb
+++ /dev/null
@@ -1,567 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:37e281407bf18ea4cb97b4d94f518d678964a52abb4754faf8b1ff73d8221481"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER10:DIGITAL MODULATION AND DEMODULATION"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E01 : Pg 10.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.18\n",
- "# Example 10.1\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "Rb=1.*10.**6.; # b/s\n",
- "A=5.*10.**3.; # V\n",
- "N0=0.5*10.**11.; # W/Hz\n",
- "\n",
- "Tb=1./Rb;\n",
- "Eb=(A*A*Tb)/2.;\n",
- "\n",
- "# (a) ASK\n",
- "# Pe=Q(x)\n",
- "# where\n",
- "xA=sqrt(Eb/N0);\n",
- "\n",
- "PeA=(1./2.)*erfc(xA/1.414);\n",
- "print'For ASK:',round(PeA,2)\n",
- "\n",
- "# (b) PSK\n",
- "# Pe=Q(x)\n",
- "# where\n",
- "xP=sqrt((2.*Eb)/N0);\n",
- "\n",
- "PeP=(1./2.)*erfc(xP/1.414);\n",
- "print'For PSK:',round(PeP,2)\n",
- "\n",
- "# (c) FSK\n",
- "# Pe=Q(x)\n",
- "# where\n",
- "xF=sqrt(Eb/N0);\n",
- "\n",
- "PeF=(1./2.)*erfc(xF/1.414);\n",
- "print'For FSK:',round(PeF,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For ASK: 0.5\n",
- "For PSK: 0.5\n",
- "For FSK: 0.5\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E02 : Pg 10.19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.19\n",
- "# Example 10.2\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "Rb=1.*10.**6.; # b/s\n",
- "\n",
- "# (a)\n",
- "Aa=1.*10.**3.; # V\n",
- "N0=1*10.**11.; # W/Hz\n",
- "\n",
- "Tb=1./Rb;\n",
- "Eba=(Aa*Aa*Tb)/2.;\n",
- "\n",
- "# Pe=Q(z)\n",
- "# where\n",
- "za=sqrt((2.*Eba)/N0);\n",
- "\n",
- "Peb=(1./2.)*erfc(za/1.414);\n",
- "print'For Average bit error probability:',round(Peb,5)\n",
- "\n",
- "# (b) Maintain Pb=2*10**3\n",
- "# From table\n",
- "zb=2.9;\n",
- "Ebb=((zb**2.)*N0)/2.;\n",
- "P=Ebb*Tb;\n",
- "Ab=sqrt((2.*P));\n",
- "print'Average Power:',round(Ab,2),'V'\n",
- "\n",
- "# (c)\n",
- "Ac=100.; # V\n",
- "Rbc=1.*10.**5.; # p/s\n",
- "N01=1.*10.**2.; # W/Hz\n",
- "Tbc=1./Rbc;\n",
- "Ebc=(Ac*Ac*Tbc);\n",
- "\n",
- "zc=sqrt(((2.*Ebc)/N01));\n",
- "\n",
- "Pec=(1./2.)*erfc(zc/1.414);\n",
- "# Pec=0.0000039\n",
- "# nearly 10**-5\n",
- "print'For Average bit error probability for bipolar antipodal signals:',10**-5"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For Average bit error probability: 0.5\n",
- "Average Power: 917.06 V\n",
- "For Average bit error probability for bipolar antipodal signals: 1e-05\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E06 : Pg 10.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.23\n",
- "# Example 10.6\n",
- "# Given\n",
- "import math\n",
- "p=0.1; # dB\n",
- "p1=10.**(-p/10.);\n",
- "p2=math.sqrt(p1);\n",
- "t=8.68;#math.acosd(p2);\n",
- "a=round(t);\n",
- "print'System cannot tolerate more than:',a,'degrees'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "System cannot tolerate more than: 9.0 degrees\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E11 : Pg 10.28"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.28\n",
- "# Example 10.11\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "Rb=1.*10.**6.; # b/s\n",
- "T=1.*10.**5.;\n",
- "N0=2.*0.5*10.**7.; # W/Hz\n",
- "\n",
- "# From table for Q(z)=10**-5\n",
- "z=4.25;\n",
- "\n",
- "# As z=sqrt(A*A*T/2*N0)\n",
- "x=((z**2.)*2.*N0)/T;\n",
- "A=sqrt(x);\n",
- "print'Required value of A:',round(A,2)\n",
- "\n",
- "# (b) Bandwidth\n",
- "# B=1/(2*(T/2))\n",
- "# Therefore B=1/T\n",
- "B=(1./T);\n",
- "print'Bandwidth:',round(B,2),'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Required value of A: 60.1\n",
- "Bandwidth: 0.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E17 : Pg 10.33"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.33\n",
- "# Example 10.17\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "A=0.2*10.**3.; # V\n",
- "T=2.*10.**6.; # s\n",
- "n=2.*1.*10.**15.; # W/Hz\n",
- "\n",
- "\n",
- "# Pe=Q(z)\n",
- "# where\n",
- "x=(A*A*T)/(4.*n);\n",
- "z=sqrt(x);\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Error probability:',round(Pe,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Error probability: 0.5\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E18 : Pg 10.34"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.34\n",
- "# Example 10.18\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "A=0.2*10.**3.; # V\n",
- "A1=A/1.414;\n",
- "\n",
- "T=2.*10.**6.; # s\n",
- "n=2.*1.*10.**15.; # W/Hz\n",
- "\n",
- "\n",
- "# Pe=Q(z)\n",
- "# where\n",
- "x=(A1*A1*T)/(n);\n",
- "z=sqrt(x);\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Error probability:',round(Pe,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Error probability: 0.5\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E19 : Pg 10.35"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.35\n",
- "# Example 10.19\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "d12sqr=8.;\n",
- "N0=2.*0.5; # W/Hz\n",
- "\n",
- "# (c)\n",
- "# As for two equiprobables\n",
- "# Pe=Q(z)\n",
- "# where z=sqrt(d12**2)/sqrt(2*N0)\n",
- "z=sqrt((d12sqr)/(2.*N0));\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Probabilty error:',round(Pe,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty error: 0.02\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E20 : Pg 10.36"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.36\n",
- "# Example 10.20\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "c=sqrt(2.);\n",
- "A=sqrt(5.);\n",
- "N0=1.; # W/Hz\n",
- "\n",
- "d12sqr=4.*A*A;\n",
- "\n",
- "# As for two equiprobables\n",
- "# Pe=Q(z)\n",
- "# where z=sqrt(d12**2)/(2*N0)\n",
- "z=sqrt((d12sqr)/(sqrt(2.*N0)));\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Probabilty error:',round(Pe,4)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty error: 0.0001\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E24 : Pg 10.41"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.41\n",
- "# Example 10.24\n",
- "# (a) Number of constellation Points\n",
- "# Given\n",
- "Rs=2400.; # bps\n",
- "Rb=19.2*10.**3.; # bps\n",
- "\n",
- "# As Rs=Rb/log2M\n",
- "M=2.**(Rb/Rs);\n",
- "print'Number of constellation points =',round(M,2)\n",
- "\n",
- "# (b) Bandwidth efficiency\n",
- "BT=2400; # Symbols/second\n",
- "n=Rb/BT;\n",
- "print'Bandwidth efficiency = ',round(n,2),'bps/hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Number of constellation points = 256.0\n",
- "Bandwidth efficiency = 8.0 "
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "bps/hz\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E25 : Pg 10.41"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.41\n",
- "# Example 10.25\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "A1=0.5;\n",
- "A2=0.5;\n",
- "T=0.01; # sec\n",
- "N0=2.*0.0001; # W/Hz\n",
- "f=50.; # Hz\n",
- "\n",
- "# (a) Probability of bit error\n",
- "Es1=(A1**2.*T)/2.;\n",
- "Es2=(A2**2.*T)/2.;\n",
- "\n",
- "Eb=(Es1+Es2)/2.;\n",
- "# As PE=Qsqrt(Ep+Eq-2Epq/2N0)\n",
- "# In this case Ep=Eq=Eb\n",
- "# Therefore PE=Qsqrt(Eb(1-p)/N0)\n",
- "# where p=Epq/Eb\n",
- "\n",
- "# p=(1/Eb)*integrate('0.5*cos(2000*%pi*t)*0.5*cos(2020*%pi*t)','t',0,T);\n",
- "# We get\n",
- "p=0.94;\n",
- "q=1.-p;\n",
- "# As Pe=Q(z)\n",
- "# where z=sqrt(Eb/N0)\n",
- "z=sqrt((Eb*q)/N0);\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Probabilty of bit error :',round(Pe,2)\n",
- "\n",
- "# (b)\n",
- "# Given\n",
- "fs=50.; # Hz\n",
- "# or fs=1/2T where T=0.001\n",
- "# This implies y=tone spacing will be orthogonal\n",
- "# Therefor p=0\n",
- "\n",
- "# As Pe=Q(z)\n",
- "# where z=sqrt(Eb/N0)\n",
- "zb=sqrt(Eb/N0);\n",
- "PB=(1./2.)*erfc(zb/1.414);\n",
- "print'Probabilty error for fs=50Hz :',round(PB,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty of bit error : 0.27\n",
- "Probabilty error for fs=50Hz : 0.01\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E27 : Pg 10.43"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.43\n",
- "# Example 10.27\n",
- "\n",
- "# Given\n",
- "Rb=4.8*10.**3.; # b/s\n",
- "bw=3.2*10.**3.; # Hz\n",
- "\n",
- "# BPSK can give maximum spectral efficiency of 1bps/Hz, therefore not suitable\n",
- "# QPSK can give twice spectral efficiency,2bps/Hz, therefore\n",
- "qpsk=2.*bw;\n",
- "# PSK can give thrice spectral efficiency,3bps/Hz, therefore\n",
- "psk=3.*bw;\n",
- "\n",
- "# QPSK is most suitable\n",
- "Rs=Rb/2.;\n",
- "# Roll off Factor\n",
- "a=(bw/Rs)-1.;\n",
- "ap=a*100.;\n",
- "print'Roll off factor:',ap,'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Roll off factor: 33.3333333333 %\n"
- ]
- }
- ],
- "prompt_number": 11
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER11.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER11.ipynb
deleted file mode 100755
index 4c69f76b..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER11.ipynb
+++ /dev/null
@@ -1,982 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:be5041469fe4adb34737f95bd033478b4d0f4199056867cd251bf1b626573703"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER11:INFORMATION THEORY AND SOURCE CODING"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E02 : Pg 11.12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.12\n",
- "# Example 11.2\n",
- "# Given\n",
- "# Probabilities of four symbols\n",
- "Px=([0.4, 0.3, 0.2, 0.1]);\n",
- "import math \n",
- "# (a) H(X)\n",
- "# As H(X)=-Sum of(P(xi)log2P(xi)) \n",
- "# Where i=0 to n;\n",
- "HofX=0;\n",
- "for i=1:4\n",
- " HofX=HofX+(Px(i)*math.log(Px(i,2)));\n",
- "print 'H(X):',-HofX,'b/symbol'\n",
- "\n",
- "# (b)Amount of information in x1x2x1x3 and x4x3x3x2\n",
- "Px1x2x1x3=Px(1)*Px(2)*Px(1)*Px(3);\n",
- "Ix1x2x1x3=-log2(Px1x2x1x3);\n",
- "print'Ix1x2x1x3:',Ix1x2x1x3,'b/symbol'\n",
- "\n",
- "Px4x3x3x2=Px(4)*Px(3)*Px(3)*Px(2);\n",
- "Ix4x3x3x2=-log2(Px4x3x3x2);\n",
- "print'Ix4x3x3x2:',Ix4x3x3x2,'b/symbol'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "SyntaxError",
- "evalue": "invalid syntax (<ipython-input-1-e939b795930e>, line 11)",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[1;36m File \u001b[1;32m\"<ipython-input-1-e939b795930e>\"\u001b[1;36m, line \u001b[1;32m11\u001b[0m\n\u001b[1;33m for i=1:4\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E03 : Pg 11.13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.13\n",
- "# Example 11.3\n",
- "# As H(X) is maximum when\n",
- "# Px1=Px2=1/2\n",
- "import math \n",
- "Px=([0.5, 0.5]);\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)] \n",
- "# Where i=0 to n;\n",
- "HofX=0;\n",
- "for i in range(1,2):\n",
- " HofX=HofX+(Px[i]*math.log(Px[i]))/math.log(2);\n",
- "print'Maximum H(X):',-HofX,'b/symbol'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum H(X): 0.5 b/symbol\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E05 : Pg 11.15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.15\n",
- "# Example 11.5\n",
- "# Given\n",
- "# Picture elements\n",
- "import math \n",
- "pe=2.*10.**6.;\n",
- "# Brightness levels\n",
- "l=16.;\n",
- "# Rate of repeatation\n",
- "rr=32.; # Per second\n",
- "\n",
- "\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)] \n",
- "# Where i=0 to n;\n",
- "HofX=(-1.)*l*((1./l)*math.log(1./l,2));\n",
- "\n",
- "r=pe*rr;\n",
- "\n",
- "# As R=r*H(X)\n",
- "R=r*HofX;\n",
- "print'Average rate of information conveyed:',round(R,2),'b/symbol'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Average rate of information conveyed: 256000000.0 b/symbol\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E06 : Pg 11.15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.15\n",
- "# Example 11.6\n",
- "# Given\n",
- "# Pdot-2*Pdash and Pdot+Pdash=1\n",
- "# Therfore, on solving\n",
- "import math \n",
- "Pdot=2./3.;\n",
- "Pdash=1./3.;\n",
- "\n",
- "tdot=0.2; # Sec\n",
- "tdash=0.6; # Sec\n",
- "tspace=0.2; # Sec\n",
- "\n",
- "# Finding H(X)\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)] \n",
- "# Where i=0 to n;\n",
- "HofX=(-1.)*((Pdot*math.log(Pdot,2))+(Pdash*math.log(Pdash,2)));\n",
- "\n",
- "# Average time per symbol\n",
- "Ts=(Pdot*tdot)+(Pdash*tdash)+tspace;\n",
- "\n",
- "# Average Symbol Rate\n",
- "r=1./Ts;\n",
- "\n",
- "# Average information rate\n",
- "R=r*HofX;\n",
- "print'Average information rate :',R,'b/symbol'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Average information rate : 1.72180468885 b/symbol\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E07 : Pg 11.15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.15\n",
- "# Example 11.7\n",
- "# (a)Channel Matrix\n",
- "# Given\n",
- "Py1byx1=0.9;\n",
- "Py2byx1=0.1;\n",
- "Py1byx2=0.2;\n",
- "Py2byx2=0.8;\n",
- "PYbyX=([0.9,0.1],\n",
- "\t [0.2, 0.8]);\n",
- "print'Channel Matrix P(Y/X):',PYbyX\n",
- "\n",
- "# (b)Py1 and Py2\n",
- "# Given\n",
- "Px1=0.5;\n",
- "Px2=Px1;\n",
- "# As P(Y)=P(X)*P(Y/X)\n",
- "PX=([Px1, Px2]);\n",
- "#PY=PX*PYbyX;\n",
- "PY=([0.55,0.45]);\n",
- "print'P(y1) P(y2):',PY\n",
- "\n",
- "# (c)Joint Probabilities P(x1,y2) and P(x2,y1)\n",
- "# Diagonalizing PX\n",
- "#PXd=diag(PX);\n",
- "#PXY=PXd*PYbyX;\n",
- "PXY=([0.05],[0.1])\n",
- "print'P(x1,y2) P(x2,y1)',PXY"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Channel Matrix P(Y/X): ([0.9, 0.1], [0.2, 0.8])\n",
- "P(y1) P(y2): [0.55, 0.45]\n",
- "P(x1,y2) P(x2,y1) ([0.05], [0.1])\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E08 : Pg 11.16"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.16\n",
- "# Example 11.8\n",
- "# (a) Channel Matrix\n",
- "# Given\n",
- "PYbyX=([0.9, 0.1],[0.2, 0.8]);\n",
- "PZbyY=([0.9, 0.1],[0.2, 0.8]);\n",
- "\n",
- "# As P(Z/X)=P(Y/X)*P(Z/Y)\n",
- "#PZbyX=PYbyX*PZbyY;\n",
- "PZbyX=([0.83, 0.17],[0.34, 0.66])\n",
- "print'Channel Matrix',PZbyX\n",
- "\n",
- "# (b)Pz1 and Pz2\n",
- "# Given\n",
- "Px1=0.5;\n",
- "Px2=Px1;\n",
- "# As P(Z)=P(X)*P(Z/X)\n",
- "\n",
- "# P(X) matrix\n",
- "PX=([Px1, Px2]);\n",
- "#PZ=PX*PZbyX;\n",
- "PZ=([0.585, 0.415])\n",
- "print'P(z1) P(z2):',PZ"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Channel Matrix ([0.83, 0.17], [0.34, 0.66])\n",
- "P(z1) P(z2): [0.585, 0.415]\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E09 : Pg 11.17"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.17\n",
- "# Example 11.9\n",
- "# Given\n",
- "p=0.2;\n",
- "Px1=0.5;\n",
- "Px2=0.5;\n",
- "# P(X) Matrix\n",
- "PX=([Px1, Px2]);\n",
- "# Given\n",
- "PYbyX=([(1-p), p, 0],[0, p, (1-p)]);\n",
- "# P(y)=\n",
- "#PY=PX*PYbyX;\n",
- "PY=([0.4, 0.2, 0.4])\n",
- "print'P(y1) P(y2) P(y3):',PY"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "P(y1) P(y2) P(y3): [0.4, 0.2, 0.4]\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E16 : Pg 11.21"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.21\n",
- "# Example 11.16\n",
- "# (b)I(X;Y)\n",
- "# Given\n",
- "a=0.5;\n",
- "p=0.1;\n",
- "# As we know\n",
- "# P(Y)=P(X)*P(Y/X)\n",
- "# We have\n",
- "#PX=([a, (1-a)]);\n",
- "#PYbyX=([(1-p), p],[p, (1-p)]);\n",
- "#PY=PX*PYbyX;\n",
- "\n",
- "# As H(Y)=-Sum of[P(yi)log2P(yi)] \n",
- "# Where i=0 to n;\n",
- "#HofY=0;\n",
- "#for i in range(1,2):\n",
- "# HofY=HofY+(PY[i]*math.log(PY[i]))/math.log(2);\n",
- "\n",
- "# For BSC, I(X;Y)=H(Y)+plog2(p)+(1-p)log2(1-p)\n",
- "#IXY=-HofY+((p*math.log(p,2))+((1-p)*math.log(1-p,2)));\n",
- "IXY=0.5310044 \n",
- "print'I(X;Y) for a=0.5 and p=0.1:',IXY\n",
- "\n",
- "\n",
- "# (c)I1(X;Y)\n",
- "# Given\n",
- "a1=0.5;\n",
- "p1=0.5;\n",
- "# As we know\n",
- "# P(Y)=P(X)*P(Y/X)\n",
- "# We have\n",
- "#PX1=([a1, (1-a1)]);\n",
- "#PYbyX1=([(1-p1), p1],[p1 (1-p1)]);\n",
- "#PY1=PX1*PYbyX1;\n",
- "\n",
- "# As H(Y)=-Sum of[P(yi)log2P(yi)] \n",
- "# Where i=0 to n;\n",
- "#HofY1=0;\n",
- "#for i in range(1,2):\n",
- " # HofY1=HofY1+(PY1[i]*math.log(PY1[i]))/math.log(2)\n",
- "\n",
- "# For BSC, I(X;Y)=H(Y)+plog2(p)+(1-p)log2(1-p)\n",
- "#IXY1=-HofY1+(p1*math.log(p1,2))+((1-p1)*math.log(1-p1,2));\n",
- "IXY1=0\n",
- "print'I(X;Y) for a=0.5 and p=0.5:',IXY1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "I(X;Y) for a=0.5 and p=0.1: 0.5310044\n",
- "I(X;Y) for a=0.5 and p=0.5: 0\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E20 : Pg 11.24"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.24\n",
- "# Example 11.20\n",
- "import math\n",
- "# Given\n",
- "# f(x)=1/a for x from 0 to a\n",
- "# 0, otherwise\n",
- "\n",
- "# We have\n",
- "# H(X)=-integrate[f(x))*log2f(x)]dx\n",
- "# Here, f(x)=1/a for limits 0 to a\n",
- "# H(X)=-integrate(1/a)*log2(1/a)dx for 0 to a\n",
- "# H(X)=log2(a)\n",
- "\n",
- "# (a)a1=1\n",
- "a1=1;\n",
- "y1=math.log(a1,2);\n",
- "print'For a=1, H(X):',y1\n",
- "\n",
- "# (b)a2=2\n",
- "a2=2.;\n",
- "y2=math.log(a2,2);\n",
- "print'For a=2, H(X):',y2\n",
- "\n",
- "\n",
- "# (c)a3=1/2\n",
- "a3=1./2.;\n",
- "y3=math.log(a3,2);\n",
- "print'For a=1/2, H(X):',y3"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For a=1, H(X): 0.0\n",
- "For a=2, H(X): 1.0\n",
- "For a=1/2, H(X): -1.0\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E23 : Pg 11.26"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.26\n",
- "# Example 11.23\n",
- "# Given\n",
- "import math \n",
- "B=4.*10.**3.; # Hz\n",
- "S=0.1*10**3.; # W\n",
- "n=2.*(1.*10.**12.); # W/hz\n",
- "\n",
- "N=n*B;\n",
- "SN=S/N;\n",
- "# As Channel Capacity\n",
- "# C=B*(log2(1+(S/N)));\n",
- "C=B*(math.log(1+(S/N),2));\n",
- "print'Channel Capacity',round(C,12),'b/s'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Channel Capacity 7.2e-11 b/s\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E24 : Pg 11.26"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.26\n",
- "# Example 11.24\n",
- "# (a) Information Rate\n",
- "# Given\n",
- "import math \n",
- "n=1.25; # times\n",
- "l=256.; # Levels\n",
- "fM=4.*10.**3.; # Hz # Bandwidth\n",
- "Nr=2.*fM; # Nyquist Rate\n",
- "r=Nr*n;\n",
- "HofX=math.log(l,2);\n",
- "# Information rate\n",
- "R=r*HofX;\n",
- "print'Information Rate:',R,'b/s'\n",
- "\n",
- "# (b)\n",
- "# As Channel Capacity\n",
- "# C=B*(log2(1+(S/N)));\n",
- "B=10.**4.; # Hz\n",
- "SNdB=20.; # dB\n",
- "SN=10.**(SNdB/10);\n",
- "C=B*(math.log(1+(SN),2));\n",
- "print'Channel Capacity:',C,'b/s'\n",
- "\n",
- "# As R>C, error free transmission isnt possible\n",
- "\n",
- "# (c)For error free transmission\n",
- "C1=R;\n",
- "# Therfore S/N\n",
- "SN1=(2.**(C1/B))-1;\n",
- "SN1dB=10.*(math.log(SN1,10));\n",
- "print'For error free transmission S/N:',SN1dB,'dB'\n",
- "\n",
- "# (d)Bandwidth for error free transmission\n",
- "SN2dB=20.; # dB\n",
- "SN2=10.**(SN2dB/10);\n",
- "# As Channel Capacity\n",
- "# C=B*(log2(1+(S/N)));\n",
- "B=C1/(math.log(1+(SN2),2));\n",
- "print'Bandwidth for error free transmission:',B,'Hz'\n",
- "# Therefore bandwidth should be greater than or equal to B"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Information Rate: 80000.0 b/s\n",
- "Channel Capacity: 66582.1148275 b/s\n",
- "For error free transmission S/N: 24.0654018043 dB\n",
- "Bandwidth for error free transmission: 12015.2386579 Hz\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E25 : Pg 11.27"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.27\n",
- "# Example 11.25\n",
- "# Given\n",
- "import math,numpy\n",
- "p=0.9;\n",
- "Px=([p, (1-p)]);\n",
- "n=1;\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni) \n",
- "L=0;\n",
- "for i in range(1,2):\n",
- " L=L+(Px[i]*n);\n",
- "\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)] \n",
- "# Where i=0 to n;\n",
- "HofX=0;\n",
- "print(numpy.shape(Px))\n",
- "for i in range(0,2):\n",
- " HofX=HofX+(Px[i]*math.log(Px[i]))/math.log(2);\n",
- " \n",
- "# Efficiency=H(X)/L\n",
- "n=-HofX/L;\n",
- "np=n*100.;\n",
- "print'Code efficiency:',np,'%'\n",
- "\n",
- "# Redundancy\n",
- "g=1-n;\n",
- "gp=g*100.;\n",
- "print'Code redundancy:',gp,\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(2,)\n",
- "Code efficiency: 468.995593589 %\n",
- "Code redundancy: -368.995593589 %\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E26 : Pg 11.28"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.28\n",
- "# Example 11.26\n",
- "import math,numpy\n",
- "# Given\n",
- "Pa=([0.81, 0.09, 0.09, 0.01]);\n",
- "n=([1, 2, 3, 4]);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni) \n",
- "L=0;\n",
- "for i in range(1,4):\n",
- " L=L+(Pa[i]*n[i]);\n",
- "\n",
- "# Entropy of second order extension\n",
- "# As H(X**2)=-Sum of[P(ai)log2P(ai)] \n",
- "# Where i=0 to n;\n",
- "HofX2=0;\n",
- "print(numpy.shape(Pa))\n",
- "for i in range(0,4):\n",
- " HofX2=HofX2+(Pa[i]*math.log(Pa[i]))/math.log(2);\n",
- "# b/s\n",
- "\n",
- "# Efficiency=H(X**2)/L\n",
- "n=-HofX2/L;\n",
- "np=n*100.;\n",
- "print'Code efficiency:',np,'%'\n",
- "\n",
- "# Redundancy\n",
- "g=1-n;\n",
- "gp=g*100.;\n",
- "print'Code redundancy:',gp,'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(4,)\n",
- "Code efficiency: 191.426772894 %\n",
- "Code redundancy: -91.4267728936 %\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E27 : Pg 11.28"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.28\n",
- "# Example 11.27\n",
- "# As Kraft inequlity\n",
- "# K=summation(2**(-n))\n",
- "# where i from 0 to 4\n",
- "# As i=1,2,3,4\n",
- "# Given\n",
- "\n",
- "# For Code A\n",
- "na=([2, 2, 2, 2]);\n",
- "KA=0;\n",
- "for i in range(1,4):\n",
- " KA=KA+(2.**(-na[i]));\n",
- "\n",
- "print'For Code A:',KA\n",
- "\n",
- "# For Code B\n",
- "nb=([1, 2, 2, 3]);\n",
- "KB=0;\n",
- "for i in range(1,4):\n",
- " KB=KB+(2.**(-nb[i]));\n",
- "print'For Code B:',KB\n",
- "\n",
- "# For Code C\n",
- "nc=([1, 2, 3, 3]);\n",
- "KC=0;\n",
- "for i in range(1,4):\n",
- " KC=KC+(2**(-nc[i]));\n",
- "print'For Code C:',KC\n",
- "\n",
- "# For Code D\n",
- "nd=([1, 3, 3, 3]);\n",
- "KD=0;\n",
- "for i in range(1,4):\n",
- " KD=KD+(2**(-nd[i]));\n",
- "print'For Code D:',KD\n",
- "\n",
- "# All codes except Code B satisfy Kraft inequality"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For Code A: 0.75\n",
- "For Code B: 0.625\n",
- "For Code C: 0.5\n",
- "For Code D: 0.375\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E32 : Pg 11.31"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Page Number: 11.31\n",
- "# Example 11.32\n",
- "# Given\n",
- "Px=([1/2, 1/4, 1/8, 1/8]);\n",
- "\n",
- "# As I(xi)=-log2(Pxi)\n",
- "#for i in range(1,4):\n",
- "#Ix(i)=-math.log(Px[i])/math.log(2);\n",
- "#n[i]=Ix(i);\n",
- "\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)]\n",
- "# and I(xi)=-log2p(xi) \n",
- "# Where i=0 to n;\n",
- "#HofX=0;\n",
- "#print(numpy.shape(Px))\n",
- "#for i in range(0,4):\n",
- "#\tHofX=HofX+(Px[i]*Ix(i);\n",
- "HofX=1.75;\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni) \n",
- "#L=0;\n",
- "#for i in range(1,4):\n",
- "# L=L+(Px[i]*n[i]);\n",
- "L=1.75;\n",
- "# Efficiency=H(X)/L\n",
- "n=HofX/L;\n",
- "np=n*100.;\n",
- "print'Code efficiency:',np,'%'\n",
- "\n",
- "# Hence, efficiency is 100%"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Code efficiency: 100.0 %\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E33 : Pg 11.32"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.32\n",
- "# Example 11.33\n",
- "# Given\n",
- "# (a)Efficiency of code\n",
- "import math\n",
- "Px=([0.2, 0.2, 0.2, 0.2, 0.2]);\n",
- "na=([2, 2, 2, 3, 3]);\n",
- "\n",
- "# As H(X)=-Sum of[P(ai)log2P(ai)] \n",
- "# Where i=0 to n;\n",
- "HofX=0;\n",
- "for i in range(1,5):\n",
- " HofX=HofX+(Px[i]*math.log(Px[i]))/math.log(2);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni)\n",
- "La=0;\n",
- "for i in range(1,5):\n",
- " La=La+(Px[i]*na[i]);\n",
- "\n",
- "# Efficiency=H(X)/L\n",
- "ea=-HofX/La;\n",
- "npa=ea*100.;\n",
- "print'Code efficiency for Shannon code 1:',npa,'%'\n",
- "\n",
- "# (b) Another Shannon Fano Code\n",
- "nb=([2, 3, 3, 2, 2]);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni)\n",
- "Lb=0;\n",
- "for i in range(1,5):\n",
- " Lb=Lb+(Px[i]*nb[i]);\n",
- "\n",
- "# Efficiency=H(X)/L\n",
- "eb=-HofX/Lb;\n",
- "npb=eb*100;\n",
- "print'Code efficiency for Shannon code 2:',npb,'%'\n",
- "\n",
- "# (c) Hauffman Code\n",
- "nc=([2, 3, 3, 2, 2]);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni)\n",
- "Lc=0;\n",
- "for i in range(1,5):\n",
- " Lc=Lc+(Px[i]*nc[i]);\n",
- "\n",
- "# Efficiency=H(X)/L\n",
- "ec=-HofX/Lc;\n",
- "npc=ec*100.;\n",
- "print'Code efficiency for Hauffman code:',npc,'%'\n",
- "\n",
- "# Efficiency of all codes is same"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Code efficiency for Shannon code 1: 92.8771237955 %\n",
- "Code efficiency for Shannon code 2: 92.8771237955 %\n",
- "Code efficiency for Hauffman code: 92.8771237955 %\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E34 : Pg 11.33"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.33\n",
- "# Example 11.34\n",
- "# Given\n",
- "# (a) For Shannon Fano Code\n",
- "import numpy, math\n",
- "Px=([0.4, 0.19, 0.16, 0.15, 0.1]);\n",
- "n=([2, 2, 2, 3, 3]);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni) \n",
- "L=0;\n",
- "for i in range(1,5):\n",
- " L=L+(Px[i]*n[i]);\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)] \n",
- "# Where i=0 to n;\n",
- "HofX=0;\n",
- "print(numpy.shape(Px))\n",
- "for i in range(1,5):\n",
- " HofX=HofX+(Px[i]*math.log(Px[i]))/math.log(2);\n",
- "# Efficiency=H(X)/L\n",
- "n=-HofX/L;\n",
- "np=n*100.;\n",
- "print'Code efficiency for shannon fanon:',np,'%'\n",
- "\n",
- "# (b) For Huffman Code\n",
- "nh=([1, 3, 3, 3, 3]);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni) \n",
- "Lh=0;\n",
- "for i in range(1,5):\n",
- " Lh=Lh+(Px[i]*nh[i]);\n",
- "\n",
- "# Efficiency=H(X)/L\n",
- "n1=-HofX/Lh;\n",
- "np1=n1*100.;\n",
- "print'Code efficiency for hauffman:',np1,'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(5,)\n",
- "Code efficiency for shannon fanon: 111.791799137 %\n",
- "Code efficiency for hauffman: 90.05450486 %\n"
- ]
- }
- ],
- "prompt_number": 17
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER11_1.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER11_1.ipynb
deleted file mode 100755
index 4c69f76b..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER11_1.ipynb
+++ /dev/null
@@ -1,982 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:be5041469fe4adb34737f95bd033478b4d0f4199056867cd251bf1b626573703"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER11:INFORMATION THEORY AND SOURCE CODING"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E02 : Pg 11.12"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.12\n",
- "# Example 11.2\n",
- "# Given\n",
- "# Probabilities of four symbols\n",
- "Px=([0.4, 0.3, 0.2, 0.1]);\n",
- "import math \n",
- "# (a) H(X)\n",
- "# As H(X)=-Sum of(P(xi)log2P(xi)) \n",
- "# Where i=0 to n;\n",
- "HofX=0;\n",
- "for i=1:4\n",
- " HofX=HofX+(Px(i)*math.log(Px(i,2)));\n",
- "print 'H(X):',-HofX,'b/symbol'\n",
- "\n",
- "# (b)Amount of information in x1x2x1x3 and x4x3x3x2\n",
- "Px1x2x1x3=Px(1)*Px(2)*Px(1)*Px(3);\n",
- "Ix1x2x1x3=-log2(Px1x2x1x3);\n",
- "print'Ix1x2x1x3:',Ix1x2x1x3,'b/symbol'\n",
- "\n",
- "Px4x3x3x2=Px(4)*Px(3)*Px(3)*Px(2);\n",
- "Ix4x3x3x2=-log2(Px4x3x3x2);\n",
- "print'Ix4x3x3x2:',Ix4x3x3x2,'b/symbol'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "ename": "SyntaxError",
- "evalue": "invalid syntax (<ipython-input-1-e939b795930e>, line 11)",
- "output_type": "pyerr",
- "traceback": [
- "\u001b[1;36m File \u001b[1;32m\"<ipython-input-1-e939b795930e>\"\u001b[1;36m, line \u001b[1;32m11\u001b[0m\n\u001b[1;33m for i=1:4\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E03 : Pg 11.13"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.13\n",
- "# Example 11.3\n",
- "# As H(X) is maximum when\n",
- "# Px1=Px2=1/2\n",
- "import math \n",
- "Px=([0.5, 0.5]);\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)] \n",
- "# Where i=0 to n;\n",
- "HofX=0;\n",
- "for i in range(1,2):\n",
- " HofX=HofX+(Px[i]*math.log(Px[i]))/math.log(2);\n",
- "print'Maximum H(X):',-HofX,'b/symbol'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Maximum H(X): 0.5 b/symbol\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E05 : Pg 11.15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.15\n",
- "# Example 11.5\n",
- "# Given\n",
- "# Picture elements\n",
- "import math \n",
- "pe=2.*10.**6.;\n",
- "# Brightness levels\n",
- "l=16.;\n",
- "# Rate of repeatation\n",
- "rr=32.; # Per second\n",
- "\n",
- "\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)] \n",
- "# Where i=0 to n;\n",
- "HofX=(-1.)*l*((1./l)*math.log(1./l,2));\n",
- "\n",
- "r=pe*rr;\n",
- "\n",
- "# As R=r*H(X)\n",
- "R=r*HofX;\n",
- "print'Average rate of information conveyed:',round(R,2),'b/symbol'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Average rate of information conveyed: 256000000.0 b/symbol\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E06 : Pg 11.15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.15\n",
- "# Example 11.6\n",
- "# Given\n",
- "# Pdot-2*Pdash and Pdot+Pdash=1\n",
- "# Therfore, on solving\n",
- "import math \n",
- "Pdot=2./3.;\n",
- "Pdash=1./3.;\n",
- "\n",
- "tdot=0.2; # Sec\n",
- "tdash=0.6; # Sec\n",
- "tspace=0.2; # Sec\n",
- "\n",
- "# Finding H(X)\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)] \n",
- "# Where i=0 to n;\n",
- "HofX=(-1.)*((Pdot*math.log(Pdot,2))+(Pdash*math.log(Pdash,2)));\n",
- "\n",
- "# Average time per symbol\n",
- "Ts=(Pdot*tdot)+(Pdash*tdash)+tspace;\n",
- "\n",
- "# Average Symbol Rate\n",
- "r=1./Ts;\n",
- "\n",
- "# Average information rate\n",
- "R=r*HofX;\n",
- "print'Average information rate :',R,'b/symbol'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Average information rate : 1.72180468885 b/symbol\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E07 : Pg 11.15"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.15\n",
- "# Example 11.7\n",
- "# (a)Channel Matrix\n",
- "# Given\n",
- "Py1byx1=0.9;\n",
- "Py2byx1=0.1;\n",
- "Py1byx2=0.2;\n",
- "Py2byx2=0.8;\n",
- "PYbyX=([0.9,0.1],\n",
- "\t [0.2, 0.8]);\n",
- "print'Channel Matrix P(Y/X):',PYbyX\n",
- "\n",
- "# (b)Py1 and Py2\n",
- "# Given\n",
- "Px1=0.5;\n",
- "Px2=Px1;\n",
- "# As P(Y)=P(X)*P(Y/X)\n",
- "PX=([Px1, Px2]);\n",
- "#PY=PX*PYbyX;\n",
- "PY=([0.55,0.45]);\n",
- "print'P(y1) P(y2):',PY\n",
- "\n",
- "# (c)Joint Probabilities P(x1,y2) and P(x2,y1)\n",
- "# Diagonalizing PX\n",
- "#PXd=diag(PX);\n",
- "#PXY=PXd*PYbyX;\n",
- "PXY=([0.05],[0.1])\n",
- "print'P(x1,y2) P(x2,y1)',PXY"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Channel Matrix P(Y/X): ([0.9, 0.1], [0.2, 0.8])\n",
- "P(y1) P(y2): [0.55, 0.45]\n",
- "P(x1,y2) P(x2,y1) ([0.05], [0.1])\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E08 : Pg 11.16"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.16\n",
- "# Example 11.8\n",
- "# (a) Channel Matrix\n",
- "# Given\n",
- "PYbyX=([0.9, 0.1],[0.2, 0.8]);\n",
- "PZbyY=([0.9, 0.1],[0.2, 0.8]);\n",
- "\n",
- "# As P(Z/X)=P(Y/X)*P(Z/Y)\n",
- "#PZbyX=PYbyX*PZbyY;\n",
- "PZbyX=([0.83, 0.17],[0.34, 0.66])\n",
- "print'Channel Matrix',PZbyX\n",
- "\n",
- "# (b)Pz1 and Pz2\n",
- "# Given\n",
- "Px1=0.5;\n",
- "Px2=Px1;\n",
- "# As P(Z)=P(X)*P(Z/X)\n",
- "\n",
- "# P(X) matrix\n",
- "PX=([Px1, Px2]);\n",
- "#PZ=PX*PZbyX;\n",
- "PZ=([0.585, 0.415])\n",
- "print'P(z1) P(z2):',PZ"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Channel Matrix ([0.83, 0.17], [0.34, 0.66])\n",
- "P(z1) P(z2): [0.585, 0.415]\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E09 : Pg 11.17"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.17\n",
- "# Example 11.9\n",
- "# Given\n",
- "p=0.2;\n",
- "Px1=0.5;\n",
- "Px2=0.5;\n",
- "# P(X) Matrix\n",
- "PX=([Px1, Px2]);\n",
- "# Given\n",
- "PYbyX=([(1-p), p, 0],[0, p, (1-p)]);\n",
- "# P(y)=\n",
- "#PY=PX*PYbyX;\n",
- "PY=([0.4, 0.2, 0.4])\n",
- "print'P(y1) P(y2) P(y3):',PY"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "P(y1) P(y2) P(y3): [0.4, 0.2, 0.4]\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E16 : Pg 11.21"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.21\n",
- "# Example 11.16\n",
- "# (b)I(X;Y)\n",
- "# Given\n",
- "a=0.5;\n",
- "p=0.1;\n",
- "# As we know\n",
- "# P(Y)=P(X)*P(Y/X)\n",
- "# We have\n",
- "#PX=([a, (1-a)]);\n",
- "#PYbyX=([(1-p), p],[p, (1-p)]);\n",
- "#PY=PX*PYbyX;\n",
- "\n",
- "# As H(Y)=-Sum of[P(yi)log2P(yi)] \n",
- "# Where i=0 to n;\n",
- "#HofY=0;\n",
- "#for i in range(1,2):\n",
- "# HofY=HofY+(PY[i]*math.log(PY[i]))/math.log(2);\n",
- "\n",
- "# For BSC, I(X;Y)=H(Y)+plog2(p)+(1-p)log2(1-p)\n",
- "#IXY=-HofY+((p*math.log(p,2))+((1-p)*math.log(1-p,2)));\n",
- "IXY=0.5310044 \n",
- "print'I(X;Y) for a=0.5 and p=0.1:',IXY\n",
- "\n",
- "\n",
- "# (c)I1(X;Y)\n",
- "# Given\n",
- "a1=0.5;\n",
- "p1=0.5;\n",
- "# As we know\n",
- "# P(Y)=P(X)*P(Y/X)\n",
- "# We have\n",
- "#PX1=([a1, (1-a1)]);\n",
- "#PYbyX1=([(1-p1), p1],[p1 (1-p1)]);\n",
- "#PY1=PX1*PYbyX1;\n",
- "\n",
- "# As H(Y)=-Sum of[P(yi)log2P(yi)] \n",
- "# Where i=0 to n;\n",
- "#HofY1=0;\n",
- "#for i in range(1,2):\n",
- " # HofY1=HofY1+(PY1[i]*math.log(PY1[i]))/math.log(2)\n",
- "\n",
- "# For BSC, I(X;Y)=H(Y)+plog2(p)+(1-p)log2(1-p)\n",
- "#IXY1=-HofY1+(p1*math.log(p1,2))+((1-p1)*math.log(1-p1,2));\n",
- "IXY1=0\n",
- "print'I(X;Y) for a=0.5 and p=0.5:',IXY1"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "I(X;Y) for a=0.5 and p=0.1: 0.5310044\n",
- "I(X;Y) for a=0.5 and p=0.5: 0\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E20 : Pg 11.24"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.24\n",
- "# Example 11.20\n",
- "import math\n",
- "# Given\n",
- "# f(x)=1/a for x from 0 to a\n",
- "# 0, otherwise\n",
- "\n",
- "# We have\n",
- "# H(X)=-integrate[f(x))*log2f(x)]dx\n",
- "# Here, f(x)=1/a for limits 0 to a\n",
- "# H(X)=-integrate(1/a)*log2(1/a)dx for 0 to a\n",
- "# H(X)=log2(a)\n",
- "\n",
- "# (a)a1=1\n",
- "a1=1;\n",
- "y1=math.log(a1,2);\n",
- "print'For a=1, H(X):',y1\n",
- "\n",
- "# (b)a2=2\n",
- "a2=2.;\n",
- "y2=math.log(a2,2);\n",
- "print'For a=2, H(X):',y2\n",
- "\n",
- "\n",
- "# (c)a3=1/2\n",
- "a3=1./2.;\n",
- "y3=math.log(a3,2);\n",
- "print'For a=1/2, H(X):',y3"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For a=1, H(X): 0.0\n",
- "For a=2, H(X): 1.0\n",
- "For a=1/2, H(X): -1.0\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E23 : Pg 11.26"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.26\n",
- "# Example 11.23\n",
- "# Given\n",
- "import math \n",
- "B=4.*10.**3.; # Hz\n",
- "S=0.1*10**3.; # W\n",
- "n=2.*(1.*10.**12.); # W/hz\n",
- "\n",
- "N=n*B;\n",
- "SN=S/N;\n",
- "# As Channel Capacity\n",
- "# C=B*(log2(1+(S/N)));\n",
- "C=B*(math.log(1+(S/N),2));\n",
- "print'Channel Capacity',round(C,12),'b/s'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Channel Capacity 7.2e-11 b/s\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E24 : Pg 11.26"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.26\n",
- "# Example 11.24\n",
- "# (a) Information Rate\n",
- "# Given\n",
- "import math \n",
- "n=1.25; # times\n",
- "l=256.; # Levels\n",
- "fM=4.*10.**3.; # Hz # Bandwidth\n",
- "Nr=2.*fM; # Nyquist Rate\n",
- "r=Nr*n;\n",
- "HofX=math.log(l,2);\n",
- "# Information rate\n",
- "R=r*HofX;\n",
- "print'Information Rate:',R,'b/s'\n",
- "\n",
- "# (b)\n",
- "# As Channel Capacity\n",
- "# C=B*(log2(1+(S/N)));\n",
- "B=10.**4.; # Hz\n",
- "SNdB=20.; # dB\n",
- "SN=10.**(SNdB/10);\n",
- "C=B*(math.log(1+(SN),2));\n",
- "print'Channel Capacity:',C,'b/s'\n",
- "\n",
- "# As R>C, error free transmission isnt possible\n",
- "\n",
- "# (c)For error free transmission\n",
- "C1=R;\n",
- "# Therfore S/N\n",
- "SN1=(2.**(C1/B))-1;\n",
- "SN1dB=10.*(math.log(SN1,10));\n",
- "print'For error free transmission S/N:',SN1dB,'dB'\n",
- "\n",
- "# (d)Bandwidth for error free transmission\n",
- "SN2dB=20.; # dB\n",
- "SN2=10.**(SN2dB/10);\n",
- "# As Channel Capacity\n",
- "# C=B*(log2(1+(S/N)));\n",
- "B=C1/(math.log(1+(SN2),2));\n",
- "print'Bandwidth for error free transmission:',B,'Hz'\n",
- "# Therefore bandwidth should be greater than or equal to B"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Information Rate: 80000.0 b/s\n",
- "Channel Capacity: 66582.1148275 b/s\n",
- "For error free transmission S/N: 24.0654018043 dB\n",
- "Bandwidth for error free transmission: 12015.2386579 Hz\n"
- ]
- }
- ],
- "prompt_number": 11
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E25 : Pg 11.27"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.27\n",
- "# Example 11.25\n",
- "# Given\n",
- "import math,numpy\n",
- "p=0.9;\n",
- "Px=([p, (1-p)]);\n",
- "n=1;\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni) \n",
- "L=0;\n",
- "for i in range(1,2):\n",
- " L=L+(Px[i]*n);\n",
- "\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)] \n",
- "# Where i=0 to n;\n",
- "HofX=0;\n",
- "print(numpy.shape(Px))\n",
- "for i in range(0,2):\n",
- " HofX=HofX+(Px[i]*math.log(Px[i]))/math.log(2);\n",
- " \n",
- "# Efficiency=H(X)/L\n",
- "n=-HofX/L;\n",
- "np=n*100.;\n",
- "print'Code efficiency:',np,'%'\n",
- "\n",
- "# Redundancy\n",
- "g=1-n;\n",
- "gp=g*100.;\n",
- "print'Code redundancy:',gp,\"%\""
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(2,)\n",
- "Code efficiency: 468.995593589 %\n",
- "Code redundancy: -368.995593589 %\n"
- ]
- }
- ],
- "prompt_number": 12
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E26 : Pg 11.28"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.28\n",
- "# Example 11.26\n",
- "import math,numpy\n",
- "# Given\n",
- "Pa=([0.81, 0.09, 0.09, 0.01]);\n",
- "n=([1, 2, 3, 4]);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni) \n",
- "L=0;\n",
- "for i in range(1,4):\n",
- " L=L+(Pa[i]*n[i]);\n",
- "\n",
- "# Entropy of second order extension\n",
- "# As H(X**2)=-Sum of[P(ai)log2P(ai)] \n",
- "# Where i=0 to n;\n",
- "HofX2=0;\n",
- "print(numpy.shape(Pa))\n",
- "for i in range(0,4):\n",
- " HofX2=HofX2+(Pa[i]*math.log(Pa[i]))/math.log(2);\n",
- "# b/s\n",
- "\n",
- "# Efficiency=H(X**2)/L\n",
- "n=-HofX2/L;\n",
- "np=n*100.;\n",
- "print'Code efficiency:',np,'%'\n",
- "\n",
- "# Redundancy\n",
- "g=1-n;\n",
- "gp=g*100.;\n",
- "print'Code redundancy:',gp,'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(4,)\n",
- "Code efficiency: 191.426772894 %\n",
- "Code redundancy: -91.4267728936 %\n"
- ]
- }
- ],
- "prompt_number": 13
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E27 : Pg 11.28"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.28\n",
- "# Example 11.27\n",
- "# As Kraft inequlity\n",
- "# K=summation(2**(-n))\n",
- "# where i from 0 to 4\n",
- "# As i=1,2,3,4\n",
- "# Given\n",
- "\n",
- "# For Code A\n",
- "na=([2, 2, 2, 2]);\n",
- "KA=0;\n",
- "for i in range(1,4):\n",
- " KA=KA+(2.**(-na[i]));\n",
- "\n",
- "print'For Code A:',KA\n",
- "\n",
- "# For Code B\n",
- "nb=([1, 2, 2, 3]);\n",
- "KB=0;\n",
- "for i in range(1,4):\n",
- " KB=KB+(2.**(-nb[i]));\n",
- "print'For Code B:',KB\n",
- "\n",
- "# For Code C\n",
- "nc=([1, 2, 3, 3]);\n",
- "KC=0;\n",
- "for i in range(1,4):\n",
- " KC=KC+(2**(-nc[i]));\n",
- "print'For Code C:',KC\n",
- "\n",
- "# For Code D\n",
- "nd=([1, 3, 3, 3]);\n",
- "KD=0;\n",
- "for i in range(1,4):\n",
- " KD=KD+(2**(-nd[i]));\n",
- "print'For Code D:',KD\n",
- "\n",
- "# All codes except Code B satisfy Kraft inequality"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For Code A: 0.75\n",
- "For Code B: 0.625\n",
- "For Code C: 0.5\n",
- "For Code D: 0.375\n"
- ]
- }
- ],
- "prompt_number": 14
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E32 : Pg 11.31"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "\n",
- "# Page Number: 11.31\n",
- "# Example 11.32\n",
- "# Given\n",
- "Px=([1/2, 1/4, 1/8, 1/8]);\n",
- "\n",
- "# As I(xi)=-log2(Pxi)\n",
- "#for i in range(1,4):\n",
- "#Ix(i)=-math.log(Px[i])/math.log(2);\n",
- "#n[i]=Ix(i);\n",
- "\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)]\n",
- "# and I(xi)=-log2p(xi) \n",
- "# Where i=0 to n;\n",
- "#HofX=0;\n",
- "#print(numpy.shape(Px))\n",
- "#for i in range(0,4):\n",
- "#\tHofX=HofX+(Px[i]*Ix(i);\n",
- "HofX=1.75;\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni) \n",
- "#L=0;\n",
- "#for i in range(1,4):\n",
- "# L=L+(Px[i]*n[i]);\n",
- "L=1.75;\n",
- "# Efficiency=H(X)/L\n",
- "n=HofX/L;\n",
- "np=n*100.;\n",
- "print'Code efficiency:',np,'%'\n",
- "\n",
- "# Hence, efficiency is 100%"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Code efficiency: 100.0 %\n"
- ]
- }
- ],
- "prompt_number": 15
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E33 : Pg 11.32"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.32\n",
- "# Example 11.33\n",
- "# Given\n",
- "# (a)Efficiency of code\n",
- "import math\n",
- "Px=([0.2, 0.2, 0.2, 0.2, 0.2]);\n",
- "na=([2, 2, 2, 3, 3]);\n",
- "\n",
- "# As H(X)=-Sum of[P(ai)log2P(ai)] \n",
- "# Where i=0 to n;\n",
- "HofX=0;\n",
- "for i in range(1,5):\n",
- " HofX=HofX+(Px[i]*math.log(Px[i]))/math.log(2);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni)\n",
- "La=0;\n",
- "for i in range(1,5):\n",
- " La=La+(Px[i]*na[i]);\n",
- "\n",
- "# Efficiency=H(X)/L\n",
- "ea=-HofX/La;\n",
- "npa=ea*100.;\n",
- "print'Code efficiency for Shannon code 1:',npa,'%'\n",
- "\n",
- "# (b) Another Shannon Fano Code\n",
- "nb=([2, 3, 3, 2, 2]);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni)\n",
- "Lb=0;\n",
- "for i in range(1,5):\n",
- " Lb=Lb+(Px[i]*nb[i]);\n",
- "\n",
- "# Efficiency=H(X)/L\n",
- "eb=-HofX/Lb;\n",
- "npb=eb*100;\n",
- "print'Code efficiency for Shannon code 2:',npb,'%'\n",
- "\n",
- "# (c) Hauffman Code\n",
- "nc=([2, 3, 3, 2, 2]);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni)\n",
- "Lc=0;\n",
- "for i in range(1,5):\n",
- " Lc=Lc+(Px[i]*nc[i]);\n",
- "\n",
- "# Efficiency=H(X)/L\n",
- "ec=-HofX/Lc;\n",
- "npc=ec*100.;\n",
- "print'Code efficiency for Hauffman code:',npc,'%'\n",
- "\n",
- "# Efficiency of all codes is same"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Code efficiency for Shannon code 1: 92.8771237955 %\n",
- "Code efficiency for Shannon code 2: 92.8771237955 %\n",
- "Code efficiency for Hauffman code: 92.8771237955 %\n"
- ]
- }
- ],
- "prompt_number": 16
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E34 : Pg 11.33"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 11.33\n",
- "# Example 11.34\n",
- "# Given\n",
- "# (a) For Shannon Fano Code\n",
- "import numpy, math\n",
- "Px=([0.4, 0.19, 0.16, 0.15, 0.1]);\n",
- "n=([2, 2, 2, 3, 3]);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni) \n",
- "L=0;\n",
- "for i in range(1,5):\n",
- " L=L+(Px[i]*n[i]);\n",
- "# As H(X)=-Sum of[P(xi)log2P(xi)] \n",
- "# Where i=0 to n;\n",
- "HofX=0;\n",
- "print(numpy.shape(Px))\n",
- "for i in range(1,5):\n",
- " HofX=HofX+(Px[i]*math.log(Px[i]))/math.log(2);\n",
- "# Efficiency=H(X)/L\n",
- "n=-HofX/L;\n",
- "np=n*100.;\n",
- "print'Code efficiency for shannon fanon:',np,'%'\n",
- "\n",
- "# (b) For Huffman Code\n",
- "nh=([1, 3, 3, 3, 3]);\n",
- "\n",
- "# Average Code length\n",
- "# L=Summation(P(xi)ni) \n",
- "Lh=0;\n",
- "for i in range(1,5):\n",
- " Lh=Lh+(Px[i]*nh[i]);\n",
- "\n",
- "# Efficiency=H(X)/L\n",
- "n1=-HofX/Lh;\n",
- "np1=n1*100.;\n",
- "print'Code efficiency for hauffman:',np1,'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "(5,)\n",
- "Code efficiency for shannon fanon: 111.791799137 %\n",
- "Code efficiency for hauffman: 90.05450486 %\n"
- ]
- }
- ],
- "prompt_number": 17
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file