summaryrefslogtreecommitdiff
path: root/Electronic_Communication_Systems_by_Roy_Blake
diff options
context:
space:
mode:
Diffstat (limited to 'Electronic_Communication_Systems_by_Roy_Blake')
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter1.ipynb513
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter12.ipynb277
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter13.ipynb262
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter14.ipynb797
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter15.ipynb459
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter16.ipynb359
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter17.ipynb569
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter18.ipynb483
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter19.ipynb370
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter2.ipynb473
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter20.ipynb434
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter21.ipynb171
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter22.ipynb70
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter23.ipynb150
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter24.ipynb314
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter25.ipynb245
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter3.ipynb414
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter4.ipynb476
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter5.ipynb448
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter6.ipynb404
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter7.ipynb270
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter8.ipynb152
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter9.ipynb108
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter12.pngbin0 -> 52674 bytes
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter13.pngbin0 -> 58166 bytes
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/screenshots/chapter1.pngbin0 -> 65829 bytes
26 files changed, 8218 insertions, 0 deletions
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter1.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter1.ipynb
new file mode 100644
index 00000000..3a9aac5c
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter1.ipynb
@@ -0,0 +1,513 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 1: Introduction to Communication System"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1: pg 7"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "WAVELENGTH IN FREE SPACE IS 300.0 m\n",
+ "WAVELENGTH IN FREE SPACE IS 11.1 m\n",
+ "WAVELENGTH IN FREE SPACE IS 7.5 cm\n"
+ ]
+ }
+ ],
+ "source": [
+ "# page no 7\n",
+ "#calculate the wavelength in all cases\n",
+ "# prob no 1.1\n",
+ "#part a) freq= 1MHz(AM radio broadcast band)\n",
+ "# We have the equation c=freq*wavelength\n",
+ "c=3.*10**8;\n",
+ "f=1.*10**6;\n",
+ "#calculations\n",
+ "wl=c/f;\n",
+ "print 'WAVELENGTH IN FREE SPACE IS ',wl,'m'\n",
+ "#part B) freq= 27MHz(CB radio band)\n",
+ "f=27.*10**6;\n",
+ "wl=c/f;\n",
+ "print 'WAVELENGTH IN FREE SPACE IS ',round(wl,1),'m'\n",
+ "#part C) freq= 4GHz(used for satellite television)\n",
+ "f=4*10**9;\n",
+ "wl=c/f;\n",
+ "print 'WAVELENGTH IN FREE SPACE IS ',wl*100,'cm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4: pg 18"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "noise power contributed by resistor 4.14e-17 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "\n",
+ "# page no 18\n",
+ "#calculate the noise power\n",
+ "# prob no. 1.4\n",
+ "# In given problem noise power bandwidth is 10kHz; resistor temp T(0c)=27\n",
+ "# First we have to convert temperature to kelvins:\n",
+ "T0c=27.;\n",
+ "Tk=T0c+273.;\n",
+ "# noise power contributed by resistor , Pn= k*T*B\n",
+ "k=1.38*10**(-23);\n",
+ "B=10*10**3;\n",
+ "#calculations\n",
+ "Pn= k*Tk*B;\n",
+ "#results\n",
+ "print 'noise power contributed by resistor',Pn,'W'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5: pg 20"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The noise power is 24.3 pW\n",
+ "The noise voltage is 5.4 muvolts\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 20\n",
+ "#calculate the noise power and voltage\n",
+ "# prob no 1.5\n",
+ "from math import sqrt\n",
+ "# In the given problem B=6MHz, Tk=293, k=1.38*10**-23\n",
+ "B=6*10**6; Tk=293; k=1.38*10**-23;R=300;\n",
+ "#calculations\n",
+ "Pn=k*Tk*B;\n",
+ "# Th noise voltage is given by Vn=sqrt(4*k*Tk*B*R)\n",
+ "Vn=sqrt(4*k*Tk*B*R);\n",
+ "#results\n",
+ "print 'The noise power is',round(Pn*10**15,1),'pW'\n",
+ "print 'The noise voltage is',round(Vn*10**6,1),'muvolts'\n",
+ "# only one-half of this voltage is appears across the antenna terminals, the other appears across the source resistance. Therefore the actual noise voltag at the input is 2.7 uV"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6: pg 21"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Noise current is 0.133 muA\n",
+ "current through the diode is 278.0 mA\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 21\n",
+ "#calculate the current\n",
+ "# prob no 1.6\n",
+ "# given: FM broadcast receiver :- Vn=10uV, R=75V, B=200 kHz \n",
+ "Vn=10.;#in uV\n",
+ "R=75.; B=200.*10**3;\n",
+ "#calculations\n",
+ "#By Ohm's law\n",
+ "In=Vn/R;\n",
+ "print 'Noise current is',round(In,3),'muA'\n",
+ "# Noise votlage is also given as In=sqrt(2*q*Io*B)\n",
+ "q=1.6*10**-19;\n",
+ "# solving this for Io=In**2/2*q*B;\n",
+ "Io=(In*10**-6)**2/(2*q*B);\n",
+ "print 'current through the diode is',round(Io*1000.,0),'mA'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7: pg 23"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Open-ckt noise voltage is 779.0 nanovolts\n",
+ "The load power is 5.06e-16 W\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 23\n",
+ "#calculate the load power and open-ckt noise voltage\n",
+ "#pro no 1.7\n",
+ "from math import sqrt\n",
+ "#Given:refer fig.1.12 of page no.23;R1=100ohm,300K;R2=200ohm,400k;B=100kHz;Rl=300ohm\n",
+ "R1=100.;T1=300.;R2=200.;T2=400.;B=100.*10**3;Rl=300.;k=1.38*10**-23;\n",
+ "#calculations\n",
+ "#open-ckt noise voltage is given by\n",
+ "#Vn1 =sqrt(Vr1**2 + Vr2**2)\n",
+ "# =sqrt[sqrt(4kTBR1)**2 + sqrt(4kTBR2)**2]\n",
+ "#by solving this we get Vn1=sqrt[4kB(T1R1 + T2R2)]\n",
+ "Vn1=sqrt(4*k*B*(T1*R1 + T2*R2));\n",
+ "# since in this case the load is equal in value to the sum of the resistors,\n",
+ "# one-half of this voltage is appear across the load.\n",
+ "# Now the load power is P= Vn1**2/Rl\n",
+ "P= (Vn1/2)**2/Rl;\n",
+ "#results\n",
+ "print 'Open-ckt noise voltage is ',round(Vn1*1e9),'nanovolts'\n",
+ "print 'The load power is',P,'W'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8: pg 24"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power ratio in dB 14.0\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 24\n",
+ "#Calculate the power ratio\n",
+ "# prob no 1.8\n",
+ "import math\n",
+ "# Given: N=0.2W; S+N=5W; :. S=4.8W\n",
+ "N=0.2; S=4.8;\n",
+ "#calculations\n",
+ "p=(S+N)/N;\n",
+ "pdB=10*math.log10(p);\n",
+ "#results\n",
+ "print 'The power ratio in dB',round(pdB)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9: pg 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The noise figure is 3.0\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 25\n",
+ "#calculate the noise figure\n",
+ "#prob no 1.9\n",
+ "#Given: Si=100uW; Ni=1uW; So=1uW; No=0.03W\n",
+ "Si=100.; Ni=1.; So=1; No= 0.03# all powers are in uW\n",
+ "#calculations\n",
+ "r1=Si/Ni;# input SNR\n",
+ "r2=So/No;# output SNR\n",
+ "NF=r1/r2;# Amplifier noise figure \n",
+ "#results\n",
+ "print 'The noise figure is',NF"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10: pg 25"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "SNR at the output is 36 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 25\n",
+ "#calculate the SNR at output\n",
+ "#prob no 1.10\n",
+ "#giiven: SNRin=42 dB, NF=6dB\n",
+ "# NF in dB is given as SNRin(dB)-SNRop(dB)\n",
+ "SNRin=42 ; NF=6;\n",
+ "#calculations\n",
+ "SNRop=SNRin-NF;\n",
+ "#results\n",
+ "print 'SNR at the output is ',SNRop,'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11: pg 27"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The noise temperature is 169.65 K\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 27\n",
+ "#calculate the noise temperature\n",
+ "# prob no 1.11\n",
+ "#Given NFdB=2dB,:.NF=antilog(NFdB)/10=1.585\n",
+ "NF=1.585;\n",
+ "#calculations\n",
+ "Teq=290*(NF-1);\n",
+ "#results\n",
+ "print 'The noise temperature is ',Teq,'K'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12: pg 29"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power gain is 7500.0\n",
+ "The noise figure is 2.316\n",
+ "The noise temperature is 382.0 K\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 29\n",
+ "#calculate the power gain, noise figure, temperature\n",
+ "#prob no 1.12\n",
+ "#Given: \n",
+ "A1=10.;A2=25.;A3=30.;NF1=2.;NF2=4.;NF3=5.;\n",
+ "#calculations\n",
+ "At=A1*A2*A3;\n",
+ "print 'The power gain is',At\n",
+ "# The noise figure is given as \n",
+ "NFt=NF1+((NF2-1)/A1) + ((NF3-1)/(A1*A2));\n",
+ "print 'The noise figure is',NFt\n",
+ "# Noise temp can be found as \n",
+ "Teq=290*(NFt-1);\n",
+ "print 'The noise temperature is',round(Teq),'K'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13: pg 34"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A)The freq is 110.0 MHz\n",
+ "The power in dBm -30 dBm\n",
+ "The power is 1e-06 W\n",
+ "The voltage is 0.00707 volts\n",
+ "B)The freq is 7.4 MHz\n",
+ "The power is 79.4 W\n",
+ "The power in dBm 9 dBm\n",
+ "The voltage is 630.0 volts\n",
+ "C)The freq is 546 MHz\n",
+ "The voltage is 16.8 mvolts\n",
+ "The power is 5.64 uW\n",
+ "The power in dBm -22.5 dBm\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 34\n",
+ "#calculate the power and voltage in all cases\n",
+ "# prob no1.13 refer fig 1.20 of page no 34\n",
+ "# part A) The signal frequency is f1=110MHz.\n",
+ "from math import log10,sqrt\n",
+ "f=110.;# in MHz\n",
+ "#calculations and results\n",
+ "print 'A)The freq is',f,'MHz'\n",
+ "#The signal peak is two divisions below the reference level of -10dBm, with 10dB/division ,so its -30dBm.\n",
+ "PdBm=-30;\n",
+ "print 'The power in dBm',PdBm,'dBm'\n",
+ "# The equivalent power can be found from P(dBm)=10logP/1 mW\n",
+ "#P(mW)=antilog dBm/10= antilog -30/10=1*10**-3mW=1uW\n",
+ "#the voltage can be found from the graph but it is more accurately from P=V**2/R\n",
+ "P=10**-6; R=50;\n",
+ "print 'The power is',P,'W'\n",
+ "V=sqrt(P*R);\n",
+ "print 'The voltage is',round(V*10e3,2),'mvolts'\n",
+ "\n",
+ "# part B)The signal is 1 division to theleft of center, with 100kHz/div. The freq is 100kHz less than the ref freq of 7.5MHz\n",
+ "f=7.5-0.1;# in MHz\n",
+ "print 'B)The freq is',f,'MHz'\n",
+ "# With regards to the amplitude, the scale is 1dB/div & the signal is 1 div below the reference level. Therefore the signal has a power level given as\n",
+ "PdBm=10-1;# in dBm\n",
+ "# This can be converted to watts & volts as same in part A\n",
+ "#P(mW)=antilog dBm/10= antilog 9/10=7.94mW\n",
+ "P=7.94*10**-3; R=50;\n",
+ "print 'The power is',round(P*10e3,2),'mW'\n",
+ "print 'The power in dBm',PdBm,'dBm'\n",
+ "V=sqrt(P*R);\n",
+ "print 'The voltage is',round(V*1000.),'mvolts'\n",
+ "\n",
+ "#part C) The signal is 3 divisions to the right of the center ref freq of 543MHz, with 1MHz/div. Therefore the freq is \n",
+ "f=543+3*1;# in MHz\n",
+ "print 'C)The freq is',f,'MHz'\n",
+ "# from the spectrum, signal level is\n",
+ "V=22.4*6/8;\n",
+ "print 'The voltage is',V,'mvolts'\n",
+ "# power is given as\n",
+ "P=V**2/R;\n",
+ "print 'The power is',round(P,2),'uW'\n",
+ "PdBm=10*log10(P*10**-6/10**-3);\n",
+ "print 'The power in dBm',round(PdBm,1),'dBm'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter12.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter12.ipynb
new file mode 100644
index 00000000..f8404911
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter12.ipynb
@@ -0,0 +1,277 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 12 : Digital Modulation and Modems"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 407"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The theoretical max data rate is 50.278 kb/s\n",
+ "b)The data rate for 4 states is 40.0 kb/s\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 407\n",
+ "# prob no 12_1\n",
+ "#calculate the data rate and theoretical max\n",
+ "#A radio channel with BW=10KHz and SNR=15 dB\n",
+ "from math import log\n",
+ "#given\n",
+ "B=10.*10**3;\n",
+ "snr=15.;\n",
+ "#calculations and results\n",
+ "#converting dB in power ratio\n",
+ "SNR=10**(snr/10);\n",
+ "#a)Determination of theoretical max data rate\n",
+ "C1=B*log(1+SNR) /log(2);\n",
+ "print 'a)The theoretical max data rate is',round(C1/1000,3),'kb/s'\n",
+ "#b)Determination of data rate with 4 states i.e M=4\n",
+ "M=4.;\n",
+ "C2=2*B*log(M) / log(2);\n",
+ "print 'b)The data rate for 4 states is',C2/1000,'kb/s'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 408"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The baud rate is 10.0 kbaud\n",
+ "The bit rate is 60.0 kb/s\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 408\n",
+ "# prob no 12_2\n",
+ "#calculate the baud and bit rates\n",
+ "from math import log\n",
+ "#A modulator transmit symbol with symbol rate=10k/sec with 64 states\n",
+ "#given\n",
+ "M=64.;\n",
+ "S=10000.;\n",
+ "#calculations and results\n",
+ "#Baud rate is simply symbol rate\n",
+ "print 'The baud rate is ',S/1000,'kbaud'\n",
+ "#Determination of bit rate\n",
+ "C=S*log(64) / log(2);\n",
+ "print 'The bit rate is ',C/1000,'kb/s'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 411"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The frequency shift is 135416.5 Hz\n",
+ "b)The maximum frequency is 880067708.25 Hz\n",
+ "The minimum frequency is 879932291.75 Hz\n",
+ "The bandwidth efficiency in b/s/Hz is 1.354 b/s/Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 411\n",
+ "# prob no 12_3\n",
+ "#calculate the frequency shift, max, min frequency\n",
+ "#given\n",
+ "f=200.*10**3;\n",
+ "fb=270.833 *10**3;\n",
+ "data_rate=270.833 *10**3\n",
+ "fc=880*10**6;\n",
+ "bandwidth=200*10**3;\n",
+ "#calculations and results\n",
+ "freq_shift=0.5*fb;\n",
+ "print 'a)The frequency shift is',freq_shift,'Hz'\n",
+ "# The shift each way from the carrier frequency is half the freq_shift\n",
+ "f_max=fc+0.25*fb;\n",
+ "print 'b)The maximum frequency is',round(f_max,3),'Hz'\n",
+ "f_min=fc-0.25*fb;\n",
+ "print 'The minimum frequency is',round(f_min,3),'Hz'\n",
+ "bandwidth_efficiency=data_rate/bandwidth;\n",
+ "print 'The bandwidth efficiency in b/s/Hz is',round(bandwidth_efficiency,3),'b/s/Hz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 412"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The channel data rate is 48.6 kb/s\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 412\n",
+ "# prob no 12_4\n",
+ "#calculate the channel data rate\n",
+ "#given\n",
+ "baud_rate=24.3;# in kilobaud\n",
+ "#calculations\n",
+ "# In this problem dibit system is used.\n",
+ "#Therefore symbol_rate=baud_rate=0.5*bit_rate\n",
+ "bit_rate=2*baud_rate;\n",
+ "#results\n",
+ "print 'The channel data rate is',bit_rate,'kb/s'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 413"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The no. of bits per symbol is 6.0\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 413\n",
+ "# prob no 12_5\n",
+ "#calculate the no. of bits per symbol\n",
+ "from math import log\n",
+ "#given\n",
+ "no_of_phase_angles=16;\n",
+ "no_of_amplitudes=4;\n",
+ "#calculations\n",
+ "no_of_states_per_symbol=no_of_phase_angles*no_of_amplitudes;\n",
+ "bit_per_symbol=log(no_of_states_per_symbol)/ log(2);\n",
+ "#results\n",
+ "print 'The no. of bits per symbol is',bit_per_symbol"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 415"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Shannon limit 29901.68 b/s\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 415\n",
+ "# prob no 12_6\n",
+ "#calculate the shannon limit\n",
+ "from math import log\n",
+ "#given\n",
+ "B=3.*10**3;SNR_dB=30.;\n",
+ "#calculations\n",
+ "SNR_power=10**(30./10);\n",
+ "C=B*log(1+SNR_power)/ log(2);\n",
+ "print 'Shannon limit',round(C,2),'b/s'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter13.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter13.ipynb
new file mode 100644
index 00000000..f9def02b
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter13.ipynb
@@ -0,0 +1,262 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 13 : Multiplexing and Multiple Access Techniques"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 437"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The number of signals are 250.0\n",
+ "b)The number of signals are 125.0\n",
+ "c)The number of signals are 6.0\n",
+ "d)The number of signals are 71.0\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 437\n",
+ "# prob no 13_1\n",
+ "#calculate the no. of signals in all cases\n",
+ "from math import log\n",
+ "#given\n",
+ "freq_band=1.*10**6;\n",
+ "# A)For SSBSC AM, the bandwidth is the same as the maximunm modulating freq.\n",
+ "fmax=4.*10**3;\n",
+ "#calculations and results\n",
+ "B=fmax;\n",
+ "no_of_signal=freq_band/B;\n",
+ "print 'a)The number of signals are ',no_of_signal\n",
+ "# B)For DSB AM, the bandwidth is twice the maximunm modulating freq.\n",
+ "B=2*fmax;\n",
+ "no_of_signal=freq_band/B;\n",
+ "print 'b)The number of signals are ',no_of_signal\n",
+ "# C)Using Carson's Rule to approximate the bandwidth\n",
+ "f_max=15.*10**3; deviation=75.*10**3;\n",
+ "B=2*(deviation + f_max);\n",
+ "no_of_signal=freq_band/B;\n",
+ "print 'c)The number of signals are ',round(no_of_signal)\n",
+ "# D)Use Shannon-Hartley theorem to find the bandwidth\n",
+ "C=56.*10**3;M=4.;#for QPSK\n",
+ "B=C/(2*log(M) /log(2));\n",
+ "no_of_signal=freq_band/B;\n",
+ "print 'd)The number of signals are ',round(no_of_signal)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 444"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The noise power at BW=30 kHz is -129.059 dBm\n",
+ "The noise power at BW=10 MHz is -103.83 dBm\n",
+ "The value of SNR for BW=30 kHz is 19.059 dB\n",
+ "The value of SNR for BW=10 MHz is -6.17 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 444\n",
+ "# prob no 13_2\n",
+ "#calculate the value of SNR and noise power in both cases\n",
+ "#Voice transmisssion occupies 30 kHz.Spread spectrum is used to increase BW to 10MHz\n",
+ "from math import log10\n",
+ "#given\n",
+ "B1=30.*10**3;#BW is 30 kHz\n",
+ "B2=10.*10**6;#BW is 10 MHz\n",
+ "T=300.;#noise temp at i/p\n",
+ "PN=-110.;#signal has total signal power of -110 dBm at receiver\n",
+ "k=1.38*10**-23;#Boltzmann's const in J/K\n",
+ "#calculations and results\n",
+ "#Determination of noise power at B1=30kHz\n",
+ "PN1=10*(log10(k*B1*T/10**-3));\n",
+ "print 'The noise power at BW=30 kHz is',round(PN1,3),'dBm'\n",
+ "#Determination of noise power at B2=10MHz\n",
+ "PN2=10*(log10(k*B2*T/10**-3));\n",
+ "print 'The noise power at BW=10 MHz is',round(PN2,3),'dBm'\n",
+ "#Determination of SNR for 30kHz BW\n",
+ "SNR1=PN-PN1;\n",
+ "print 'The value of SNR for BW=30 kHz is',round(SNR1,3),'dB'\n",
+ "#Determination of SNR for 10MHz BW\n",
+ "SNR2=PN-PN2;\n",
+ "print 'The value of SNR for BW=10 MHz is',round(SNR2,3),'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 445"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Time required for each freq 0.1 sec/hop\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 445\n",
+ "# prob no 13_3\n",
+ "#calculate the time required\n",
+ "#given\n",
+ "no_of_freq_hops =100.; total_time_req=10.;\n",
+ "#calculations\n",
+ "time_for_each_freq = total_time_req / no_of_freq_hops;\n",
+ "#results\n",
+ "print 'Time required for each freq',time_for_each_freq,'sec/hop'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 446"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The no of signal changes i.e. symbol rate is 80000.0 baud\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 446\n",
+ "# prob no 13_4\n",
+ "#calculate the no. of signal changes\n",
+ "from math import log\n",
+ "#given\n",
+ "bit_rate=16.*10**3;#in bps\n",
+ "#chip_rate =10:1;\n",
+ "no_of_chip=10.;\n",
+ "#calculations\n",
+ "total_bit_rate=no_of_chip*bit_rate;\n",
+ "m=4;n=log(m)/log(2);\n",
+ "symbol_rate = total_bit_rate/n;\n",
+ "#results\n",
+ "print 'The no of signal changes i.e. symbol rate is ',symbol_rate,'baud'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 447"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of BW after spreading 10.0 MHz\n",
+ "The value of processing gain 16.99 dB\n",
+ "The value of SNR after spreading in dB 3.01 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 447\n",
+ "# prob no 13_5\n",
+ "#calculate the value of BW, SNR\n",
+ "#signal with bandwidth Bbb=200 kHz & SNR=20 dB spred at chip rate 50:1\n",
+ "from math import log10\n",
+ "#given\n",
+ "Bbb=200.*10**3;#Bandwidth\n",
+ "Gp=50.;#chip rate\n",
+ "SNR_in=20.;#SNR is 20 dB without spreading\n",
+ "#calculations and results\n",
+ "#Determination of BW after spreading\n",
+ "Brf=Gp*Bbb;\n",
+ "print 'The value of BW after spreading',Brf/10**6,'MHz'\n",
+ "#Converting into dB \n",
+ "Gp_dB=10*log10(Gp);\n",
+ "print 'The value of processing gain',round(Gp_dB,3),'dB'\n",
+ "#Determination of SNR after spreadng\n",
+ "SNR_out=SNR_in-Gp_dB;\n",
+ "print 'The value of SNR after spreading in dB',round(SNR_out,3),'dB'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter14.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter14.ipynb
new file mode 100644
index 00000000..421e7ca8
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter14.ipynb
@@ -0,0 +1,797 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 14 : Transmission lines"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 461"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The inductance of 1m length is 225.0 nH/m\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 461\n",
+ "#prob no. 14.1\n",
+ "#calculate the inductance\n",
+ "#A coaxial cable with capacitance=90pF/m & characteristic impedance=50 ohm\n",
+ "#given\n",
+ "C=90.*10**-12;Zo=50.;\n",
+ "#Determination of inductance of 1m length\n",
+ "#calculations\n",
+ "L=(Zo**2)*C;\n",
+ "#results\n",
+ "print 'The inductance of 1m length is',L*10**9,'nH/m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 462"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The characteristic impedance of conductor is 227.399 ohm\n",
+ "b)The characteristic impedance of coaxial cable is 54.784 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 462\n",
+ "#prob no. 14.2\n",
+ "#calculate the imepdance \n",
+ "from math import log10,sqrt\n",
+ "#a)Determination of impedance of open wire with diameter 3mm & r=10mm\n",
+ "#given\n",
+ "D=3./2.;r=10.;#All values are in mm\n",
+ "#calculations and results\n",
+ "Zo1=276*log10(r/D); \n",
+ "print 'a)The characteristic impedance of conductor is',round(Zo1,3),'ohm'\n",
+ "#b)Determination of impedance of coaxial with er=2.3,inner diameter=2mm & outer diameter=8mm\n",
+ "er=2.3;D=8.;d=2;#All diameter values in mm\n",
+ "Zo2=(138/sqrt(er))*log10(D/d);\n",
+ "print 'b)The characteristic impedance of coaxial cable is',round(Zo2,3),'ohm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 463"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of velocity factor is 0.69\n",
+ "The value of propagation velo. is 207019667.803 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 463\n",
+ "#prob no. 14.3\n",
+ "#calculate the velocity factor and propagation velocity\n",
+ "#Cable with teflon dielectric er=2.1\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "er=2.1;c=3.*10**8;#Velocity of light\n",
+ "#calculations and results\n",
+ "#Determination of velocity factor\n",
+ "Vf=1/sqrt(er);\n",
+ "print 'The value of velocity factor is',round(Vf,3)\n",
+ "#Determination of propagation velocity\n",
+ "Vp=Vf*c;\n",
+ "print 'The value of propagation velo. is',Vp,'m/s'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 468"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The total voltage at the load is 0.333 V\n",
+ "The voltage across the line 0.333 V\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 468\n",
+ "#prob no. 14.4\n",
+ "#calculate the voltage\n",
+ "#Refer fig. 14.13(a)\n",
+ "vs=1;#source voltage\n",
+ "Rs=50.;#source resistance\n",
+ "Zo=50.;#line impedance\n",
+ "RL=25.;#load resistance\n",
+ "l=10.;#length of line\n",
+ "vf=0.7;#velocity factor\n",
+ "Vi=0.5;\n",
+ "c=3.*10**8;#velo of light\n",
+ "#calculations\n",
+ "#Vs will divide between Rs and Zo of the line.Since two resistors are equal,the voltage will divide equally.\n",
+ "#Therefore at t=0,the voltage at the source end of the line will rise from zero to 0.5V. \n",
+ "#The voltage at the load will remain zero untill the surge reaches it.The time for this is\n",
+ "T=l/(vf*c);\n",
+ "# After T sec, the voltage at the load will rise.The reflection coefficient is given as\n",
+ "refl_coeff=(RL-Zo)/(RL+Zo)\n",
+ "#Now reflection voltage is \n",
+ "Vr=refl_coeff * Vi;\n",
+ "#The total voltage at the load is\n",
+ "Vt=Vr+Vi;\n",
+ "# The reflected voltage will propogate back along the line,reaching \n",
+ "#the source at time 2T.After this the voltage will be 0.3335V all along the line\n",
+ "#The voltage across the line, and the load will be\n",
+ "VL=vs*(RL/(RL+Zo));\n",
+ "#results\n",
+ "print 'The total voltage at the load is',round(Vt,3),'V'\n",
+ "print 'The voltage across the line',round(VL,3),'V'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 472"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The length reqd for phase shift is 0.12375 m\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 472\n",
+ "#prob no. 14.5\n",
+ "#calculate the length reqd\n",
+ "#Standard coaxial cable RG-8/U with 45 degree phase shift at 200MHz\n",
+ "#given\n",
+ "p=45.;f=200.*10**6;c=3.*10**8;#Speed of light in m/s\n",
+ "vf=0.66;#velo. factor for this line\n",
+ "#calculations\n",
+ "vp=vf*c;#Determination of propagation velo.\n",
+ "wav=vp/f;#Determination of wavelength of signal\n",
+ "#Determination of reqd length for 45 degree phase shift\n",
+ "L=wav*(p/360.);\n",
+ "#results\n",
+ "print 'The length reqd for phase shift is',L,'m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of SWR is 2.0\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 476\n",
+ "#prob no. 14.6\n",
+ "#calculate the value of SWR\n",
+ "#A 50ohm line terminated in 25ohm resistance\n",
+ "Zo=50.;Zl=25.;\n",
+ "#calculations\n",
+ "#Determination of SWR\n",
+ "SWR=Zo/Zl;#In this case Zo>Zl\n",
+ "#results\n",
+ "print 'The value of SWR is',SWR"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 477"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The amount of power reflected is 12.5 mW\n",
+ "The power dissipated in load is 37.5 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 477\n",
+ "#prob no. 14.7\n",
+ "#calculate the power\n",
+ "#A generator sends 50mW at 50ohm line & reflection coeff I=0.5\n",
+ "#given\n",
+ "Pi=50.;I=0.5;\n",
+ "#calculations\n",
+ "#Determination of amount of power reflected\n",
+ "Pr=(I**2)*Pi;\n",
+ "#Determination of remainder power that reaches load\n",
+ "Pl=Pi-Pr;\n",
+ "#results\n",
+ "print 'The amount of power reflected is',Pr,'mW'\n",
+ "print 'The power dissipated in load is',Pl,'mW'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 478"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power absorbed by load is 44.444 W\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 478\n",
+ "#prob no. 14.8\n",
+ "#A transmitter supplies 50W with SWR 2:1\n",
+ "#calculate the power\n",
+ "#given \n",
+ "Pi=50.;SWR=2.;\n",
+ "#calculations\n",
+ "#Determination of power absorbed by load\n",
+ "Pl=(4*SWR*Pi)/(1+SWR)**2;\n",
+ "#results\n",
+ "print 'The power absorbed by load is',round(Pl,3),'W'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 480"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The impedance looking toward the load (40-30j) ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 545\n",
+ "# prob no 14.9\n",
+ "#calculate the impedance\n",
+ "from math import pi,tan\n",
+ "#given\n",
+ "Zo=50.;# line impedence in ohm\n",
+ "ZL=100.;# load impedance in ohm\n",
+ "vf=0.8;#velocity factor\n",
+ "l=1.;#length of line\n",
+ "f=30.*10**6;# freq of operation\n",
+ "c=3.*10**8;#velo of light\n",
+ "#calculations\n",
+ "# we have to find the length of line in degree\n",
+ "wl=vf*c/f#wavelength\n",
+ "# Then the length of line in degree is\n",
+ "ang=l/wl*360\n",
+ "# calculation of impedance\n",
+ "Z=Zo*(ZL+(1j*Zo*tan(ang*pi/180)))/(Zo+(1j*ZL*tan(ang*pi/180.)));\n",
+ "print 'The impedance looking toward the load',Z,'ohm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10 : pg 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The length should be 0.1425 m\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 481\n",
+ "#prob no. 14.10\n",
+ "#calculate the length required\n",
+ "#A series tuned ckt tuned at 1GHz\n",
+ "#given\n",
+ "vf=0.95;c=3.*10**8;f=10**9;\n",
+ "#calculations\n",
+ "vp=vf*c;#determination of propagation velo.\n",
+ "wav=vp/f;#Determination of wavelength \n",
+ "#Determination of length\n",
+ "L=wav/2;#Since half wavelength section wiil be series resonant\n",
+ "#results\n",
+ "print 'The length should be',L,'m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11 : pg 481"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The transmitter power must be 151.356 W\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 481\n",
+ "#prob no. 14.10\n",
+ "#calculate the transmitter power\n",
+ "#A Tx deliver 100W to antenna through 45m coaxial cable with loss=4dB/100m\n",
+ "#given\n",
+ "loss=4./100;L=45.;Pout=100.;\n",
+ "#calculations\n",
+ "loss_dB=L*loss;#Determination of loss in dB\n",
+ "Pin_Pout=10**(loss_dB/10);\n",
+ "#Determination of Tx power\n",
+ "Pin=Pout*Pin_Pout;\n",
+ "#results\n",
+ "print 'The transmitter power must be',round(Pin,3),'W'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13 : pg 490"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Input impedance is (19.36+5.44j) ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 490\n",
+ "#prob no. 14.13\n",
+ "#calculate the input impedance\n",
+ "Zo=50.;#line impedance in ohm\n",
+ "f=100.*10**6;#operating freq\n",
+ "vf=0.7;#velocity factor\n",
+ "L=6.;#length in m\n",
+ "c=3.*10**8;#velo of light\n",
+ "ZL=50+1j*50;#load impedance in ohm\n",
+ "#calculations\n",
+ "# we have to calculate length in degree,so for this first find wl\n",
+ "wl=vf*c/f;#wavength in m\n",
+ "ang=360*L/wl;\n",
+ "# now from the graph input impedance is 19.36+%i5.44;\n",
+ "Zi=19.36+1j*5.44;\n",
+ "#results\n",
+ "print 'Input impedance is',Zi,'ohm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14 : pg 492"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The required turn ratio is (0.752156137344+0j)\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 492\n",
+ "#prob no. 14.14\n",
+ "from cmath import sqrt\n",
+ "#given\n",
+ "Zo=50.;#line impedance in ohm\n",
+ "ZL=75.+1j*25;\n",
+ "# the requirment of this is simply to match the 50ohm line to the impedsnce at this point on the line,which is 88.38 ohm,resistive.\n",
+ "Z2=88.38;#in ohm\n",
+ "#calculations\n",
+ "#The required turn ratio is\n",
+ "N1_N2=sqrt(Zo/Z2);\n",
+ "#results\n",
+ "print 'The required turn ratio is',N1_N2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 15 : pg 494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Zo = 66.476\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 494\n",
+ "#prob no. 14.15\n",
+ "#calculate the impedance\n",
+ "# refer prob no 14.14\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "Zo=50.;#line impedance in ohm\n",
+ "Z2=88.38;#in ohm\n",
+ "#calculations\n",
+ "Zo_=sqrt(Zo*Z2);\n",
+ "#results\n",
+ "print 'Zo = ',round(Zo_,3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 16 : pg 494"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Capacitance is 2.12206590789e-11 F\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 494\n",
+ "#prob no. 14.16\n",
+ "#calculate the capacitance\n",
+ "from math import pi\n",
+ "#given\n",
+ "Zo=50.;#line impedance in ohm\n",
+ "f=100.*10**6;#operating freq in Hz\n",
+ "ZL1=50+1j*75;# load impedance with Xc=75\n",
+ "Xc=75;\n",
+ "#calculations\n",
+ "# Capacitance in farads is given as\n",
+ "C=1/(2*pi*f*Xc);\n",
+ "#results\n",
+ "print 'Capacitance is',C,'F'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 17 : pg 497"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of stude is 0.014 S\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 497\n",
+ "#prob no. 14.17\n",
+ "#calculate the value of stude\n",
+ "#given\n",
+ "Zo=72.;#line impedance in ohm\n",
+ "ZL=120.-1j*100;#load impedance\n",
+ "#calculations\n",
+ "#The stub must be inserted at a point on the line where the real part of the load admittance is correct. This value is\n",
+ "s=1/Zo;\n",
+ "#results\n",
+ "print 'The value of stude is',round(s,3),'S'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 18 : pg 501"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The distance is 168.0 m\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 501\n",
+ "#prob no. 14.18\n",
+ "#calculate the distance\n",
+ "#given\n",
+ "#A TDR display shows dscontinuity at 1.4us & vf=0.8\n",
+ "t=1.4*10**-6;vf=0.8;c=3.*10**8;#Speed of light\n",
+ "#Determination of distance of fault\n",
+ "#calculations\n",
+ "d=(vf*c*t)/2;#One-half time is used to calculate\n",
+ "#results\n",
+ "print 'The distance is',d,'m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 19 : pg 503"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The wavelength is 46.0 cm\n",
+ "The freq is 619.565 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 503\n",
+ "#prob no. 14.19\n",
+ "#calculate the wavelength and freq\n",
+ "#given\n",
+ "#2 adjacent minima on slotted are 23cm apart with velo factor=95%\n",
+ "L=23*10**-2;vf=0.95;c=3*10**8;#Velo. of light in m/s\n",
+ "#calculations and results\n",
+ "#Determination of wavelength\n",
+ "wav=2*L;#Minima are seperated by one-half wavelength\n",
+ "print 'The wavelength is',wav*100,'cm'\n",
+ "#Determination of freq.\n",
+ "f=(vf*c)/wav;#vp=vf*c\n",
+ "print 'The freq is' ,round(f/10**6,3),'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 20 : pg 504"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of SWR is 2.15\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 504\n",
+ "#prob no. 14.20\n",
+ "#calculate the value of SWR\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "#Frwd power in Tx line is 150W,Reverse power=20W\n",
+ "Pi=150.;Pr=20.;#All power in watt\n",
+ "#calculations\n",
+ "#Determination of SWR\n",
+ "SWR=(1+sqrt(Pr/Pi))/(1-sqrt(Pr/Pi));\n",
+ "#results\n",
+ "print 'The value of SWR is',round(SWR,3)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter15.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter15.ipynb
new file mode 100644
index 00000000..33d7e6e1
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter15.ipynb
@@ -0,0 +1,459 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 15 : Radio Wave Propagation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 517"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The charasteristic impedance of polyethylene is 248.586 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 517\n",
+ "#calculate the characteristic impedance of polyethylene\n",
+ "#prob no. 15.1\n",
+ "from math import sqrt\n",
+ "#Dielectric constt=2.3\n",
+ "#given\n",
+ "er=2.3;\n",
+ "#calculations\n",
+ "#Determination of characteristic impedance\n",
+ "Z=377./sqrt(er);\n",
+ "#results\n",
+ "print 'The charasteristic impedance of polyethylene is',round(Z,3),'ohm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 518"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The max power density is 23.873 GW/m2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the max power density \n",
+ "#page no 518\n",
+ "#prob no. 15.2\n",
+ "#given\n",
+ "#Dielelectric strength of air=3MV/m\n",
+ "e=3*10**6;#electric field strength\n",
+ "Z=377.;#impedance of air\n",
+ "#calculations\n",
+ "Pd=(e**2)/Z;#Determination of power density\n",
+ "#results\n",
+ "print 'The max power density is',round(Pd/10**9,3),'GW/m2'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 520"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Power density at a point 10km 79.5774715459 nW/m2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the power density \n",
+ "#page no 520\n",
+ "#prob no. 15.3\n",
+ "from math import pi\n",
+ "#given\n",
+ "#An isotropic radiator with power 100W & dist given is 10km\n",
+ "Pt=100;r=10*10**3;\n",
+ "#calculations\n",
+ "#Determination of power density at r=10km\n",
+ "Pd=Pt/(4*pi*(r**2));\n",
+ "#results\n",
+ "print 'Power density at a point 10km',Pd*10**9,'nW/m2'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 521"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The electric field strength is 5.47722557505 mW/m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the electric field strength \n",
+ "#page no 521\n",
+ "#prob no. 15.4\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "#An isotropic radiator radiates power=100W at point 10km\n",
+ "Pt=100.;r=10.*10**3;\n",
+ "#calculations\n",
+ "#Determination of electric field strength\n",
+ "e=sqrt(30*Pt)/r;\n",
+ "#results\n",
+ "print 'The electric field strength is',e*1000,'mW/m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 525"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power delivered to receiver is 405.812 nW\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the power delivered \n",
+ "#page no 525\n",
+ "#prob no. 15.5\n",
+ "from math import log10\n",
+ "#A transmitter with power o/p=150W at fc=325MHz.antenna gain=12dBi receiver antenna gain=5dBi at 10km away\n",
+ "#given\n",
+ "#considering no loss in the system\n",
+ "d=10.;Gt_dBi=12.;Gr_dBi=5.;fc=325.;Pt=150.;\n",
+ "#calculations\n",
+ "#Determination of power delivered\n",
+ "Lfs=32.44+(20*log10(d))+(20*log10(fc))-(Gt_dBi)-(Gr_dBi);\n",
+ "Pr=Pt/(10**(Lfs/10));\n",
+ "#results\n",
+ "print 'The power delivered to receiver is',round(Pr*10**9,3),'nW'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 525"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power delivered to receiver is 2.04329571558e-09 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the power delivered to receiver \n",
+ "#page no 525\n",
+ "#prob no. 15.6\n",
+ "#given\n",
+ "from math import log10\n",
+ "#A transmitter with o/p power=10W at fc=250MHz,connected to Tx 10m line with loss=3dB/100m t0 antenna with gain=6dBi.\n",
+ "#Rx antenna 20km away with gain=4dBi \n",
+ "#Refer fig.15.6,assuming free space propagation\n",
+ "d=20;fc=250.;Gt_dBi=6.;Gr_dBi=4.;loss=3./100;Zl=75.;Zo=50.;L=10.;Pt=10.;\n",
+ "#calculations\n",
+ "Lfs=32.44+(20*log10(d))+(20*log10(fc))-Gt_dBi-Gr_dBi;#path loss\n",
+ "\n",
+ "L_tx=L*loss;#Determination of loss\n",
+ "ref_coe=(Zl-Zo)/(Zl+Zo);#Reflection coefficient\n",
+ "L_rx=1-(ref_coe**2);#Proportion of incident power that reaches load\n",
+ "L_rx_dB=-10*log10(L_rx);#Converting that proportion in dB\n",
+ "#Determination of total loss Lt\n",
+ "Lt=(Lfs)+(L_tx)+(L_rx_dB);\n",
+ "#Determination of power delivered to receiver\n",
+ "Pt_Pr=10**(Lt/10);#Power ratio\n",
+ "Pr=Pt/Pt_Pr;\n",
+ "#results\n",
+ "print 'The power delivered to receiver is',Pr,'W'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 530"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The angle of refraction is 10.313 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the angle of refraction \n",
+ "#page no 530\n",
+ "#prob no. 15.7\n",
+ "#given\n",
+ "from math import sqrt, sin, asin,pi\n",
+ "#A radio wave moves from air(er=1) to glass(er=7.8).angle of incidence=30 deg\n",
+ "theta_i=30.;er1=1;er2=7.8;\n",
+ "#calculations\n",
+ "#determination of angle of refraction\n",
+ "theta_r=asin((sin(theta_i*pi/180.))/(sqrt(er2/er1)));\n",
+ "#results\n",
+ "print 'The angle of refraction is',round(theta_r*180/pi,3),'degree'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 537"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The max usable freq MUF is 33.92 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the max usable freq \n",
+ "#page no 537\n",
+ "#prob no. 15.8\n",
+ "#given\n",
+ "from math import cos,pi\n",
+ "#A Tx statn with fc=11.6MHz & angle of incidence=70 degree\n",
+ "theta_i=70.;fc=11.6;#in MHz\n",
+ "#calculations\n",
+ "#determination of max usable freq(MUF)\n",
+ "MUF=fc/(cos(theta_i*pi/180.));\n",
+ "#results\n",
+ "print 'The max usable freq MUF is',round(MUF,2),'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 539"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The max common distance between dispatcher & taxi 21.018 km\n",
+ "The max common distance between two taxi is 10.1 km\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the max common distance in both cases \n",
+ "#page no 539\n",
+ "#prob no. 15.9\n",
+ "#given\n",
+ "from math import sqrt\n",
+ "#A taxi compony using central dispatcher with antenna height=15m & taxi antenna height=1.5m\n",
+ "ht=15.;hr=1.5;\n",
+ "#calculations and results\n",
+ "#a)Determination of max commn dist betn dispatcher and taxi\n",
+ "d1=sqrt(17*ht)+sqrt(17*hr);\n",
+ "print 'a)The max common distance between dispatcher & taxi',round(d1,3),'km'\n",
+ "#b)Determination of max ommn dist betn 2 taxis\n",
+ "d2=sqrt(17*hr)+sqrt(17*hr);#ht=hr=height of antenna of taxi cab\n",
+ "print 'The max common distance between two taxi is',round(d2,3),'km'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11 : pg 545"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The fading period is 0.01125 sec\n",
+ "The fading period is 0.00474 sec\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the fading period in both cases \n",
+ "# page no 545\n",
+ "# prob no 15.11\n",
+ "#given\n",
+ "# An automobile travels at 60km/hr\n",
+ "v=60.*10**3/(60*60);#conversion of car's speedto m/s\n",
+ "c=3.*10**8;#speed of light\n",
+ "#part a) calculation of time between fades if car uses a cell phone at 800*10**6Hz\n",
+ "f=800.*10**6;\n",
+ "#calculations and results\n",
+ "T=c/(2*f*v);\n",
+ "print 'The fading period is',T,'sec'\n",
+ "#part b) calculation of time between fades if car uses a PCS phone at 1900*10**6Hz\n",
+ "f=1900.*10**6;\n",
+ "T=c/(2*f*v);\n",
+ "print 'The fading period is',round(T,5),'sec'\n",
+ "# Note that the rapidity of the fading increases with both the frequency of the transmissions and the speed of the vehicle"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12 : pg 550"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Number of cell sites are 72.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the no. of cell sites \n",
+ "#page no 550\n",
+ "#given\n",
+ "# problem no 15.12\n",
+ "A=1000.;#metropolitian area expressed in sq. km\n",
+ "r=2;#radius of cell in km\n",
+ "#calculations\n",
+ "# Number of cell sites given as\n",
+ "N=A/(3.464*r**2);\n",
+ "#results\n",
+ "print 'Number of cell sites are',round(N)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter16.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter16.ipynb
new file mode 100644
index 00000000..e2bcce08
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter16.ipynb
@@ -0,0 +1,359 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 16 : Antennas"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 564"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The length of half-wave dipole is 7.125 m\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the length of half wave dipole\n",
+ "#page no 564\n",
+ "#given\n",
+ "#prob no. 16.1\n",
+ "#Determination of length of half-wave dipole\n",
+ "#given\n",
+ "f=20.;#Operating freq in MHz\n",
+ "#calculations\n",
+ "L=142.5/f;\n",
+ "#results\n",
+ "print 'The length of half-wave dipole is',L,'m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 566"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The efficiency of dipole antenna is 93.1 %\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the efficiency of dipole antenna \n",
+ "#page no 566\n",
+ "#prob no. 16.2\n",
+ "#given\n",
+ "#A dipole antenna with radiatn resistance=67ohm & loss resistance 5ohm\n",
+ "Rr=67.;Rl=5;\n",
+ "#calculations\n",
+ "#Determination of efficiency \n",
+ "eta=Rr/(Rr+Rl);\n",
+ "#results\n",
+ "print 'The efficiency of dipole antenna is',round(eta*100,1),'%'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 571"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Second antenna with gain=4.5dBd has higher gain\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate whether the first or second antenna has higher gain \n",
+ "#page no 569\n",
+ "#prob no. 16.3\n",
+ "#given\n",
+ "#Two antennas with gain 5.3dBi & 4.5dBd\n",
+ "#Converting unit dBd in dBi for comparison\n",
+ "G1_dBi=5.3;G2_dBd=4.5;\n",
+ "G2_dBi=2.14+G2_dBd;\n",
+ "#calculations and results\n",
+ "if G2_dBi > G1_dBi:\n",
+ " print 'Second antenna with gain=4.5dBd has higher gain'\n",
+ "else:\n",
+ " print 'First antenna with gain=5.3dBi has higher gain '"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 571"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The gain is 1.434 dBi\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the gain\n",
+ "#page no 571\n",
+ "#prob no. 16.4\n",
+ "#given\n",
+ "from math import log10\n",
+ "#A dipole antenna with efficency=85% given\n",
+ "n=0.85;D_dBi=2.14;#Directivity in dBi\n",
+ "#calculations\n",
+ "#Determination of gain in dB\n",
+ "D=10**(D_dBi/10);\n",
+ "G=D*n;#Determination of gain\n",
+ "G_dBi=10*log10(G);#Converting to dBi\n",
+ "#results\n",
+ "print 'The gain is',round(G_dBi,3),'dBi'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 573"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "EIRP in dBm is expressed as 44.444 dBm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the EIRP in dBm \n",
+ "#page no 573\n",
+ "#prob no. 16.6\n",
+ "#given\n",
+ "from math import log10\n",
+ "#ERP of Tx statn=17W\n",
+ "ERP=17.;\n",
+ "#calculations\n",
+ "#Determnation of EIRP\n",
+ "ERP_dBm=10*log10(ERP/10**-3);#Converting ERP in dBm\n",
+ "EIRP_dBm=ERP_dBm+2.14;#Converting ERP in EIRP\n",
+ "#results\n",
+ "print 'EIRP in dBm is expressed as',round(EIRP_dBm,3),'dBm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 582"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)1.The optimum diameter for antenna is 0.0795774715459 m\n",
+ "a)2.The spacing for the antenna 0.0625 m\n",
+ "a)3.The total length of an antenna is 0.5 m\n",
+ "b)The antenna gain is 14.7712125472 dBi\n",
+ "The beamwidth is 36.7695526217 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the beam width, optimum diameter, spacing, total length \n",
+ "#page no 582\n",
+ "#prob no. 16.7\n",
+ "#given\n",
+ "from math import pi, log10, sqrt\n",
+ "#a helial antenna with 8 turns with freq=1.2GHz given\n",
+ "N=8.;f=1.2*10**9;c=3*10**8;#Speed of light in m/s\n",
+ "#calculations and results\n",
+ "#a)Determination of optimum diameter of antenna\n",
+ "wav=c/f;\n",
+ "D=wav/pi;\n",
+ "print 'a)1.The optimum diameter for antenna is',D,'m'\n",
+ "S=wav/4;#Determination of spacing for the antenna\n",
+ "print 'a)2.The spacing for the antenna',S,'m'\n",
+ "L=N*S;#Determination of total length of an antenna\\\n",
+ "print 'a)3.The total length of an antenna is',L,'m'\n",
+ "#b)Determination of antenna gain in dBi\n",
+ "G=(15*N*S*(pi*D)**2)/(wav**3);\n",
+ "G_dBi=10*log10(G);#Converting in dBi\n",
+ "print 'b)The antenna gain is',G_dBi,'dBi'\n",
+ "#c)determination of beamwidth\n",
+ "theta=((52*wav)/(pi*D))*sqrt(wav/(N*S));\n",
+ "print 'The beamwidth is',theta,'degree'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 590"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The length of elements are\n",
+ "L5= 1.85469596002 m L4= 1.29828717201 m L3= 0.908801020408 m L2= 0.636160714286 m L1= 0.4453125 m \n",
+ "The spacing between elements are\n",
+ "D5= 3.46090977769 m D4= 2.42263684438 m D3= 1.69584579107 m D2= 1.18709205375 m D1= 0.830964437623 m \n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the length and spacing \n",
+ "#page no 590\n",
+ "#prob no. 16.8\n",
+ "from math import pi,tan\n",
+ "#Design of log periodic antenna to cover freq 100-300MHz & t=0.7,a=30 degree\n",
+ "t=0.7;a=30;\n",
+ "#For good performance converting range to 90MHz to 320MHz\n",
+ "f2=90.;f1=320.;\n",
+ "#Determination of lengths of elements\n",
+ "L1=142.5/f1;#For freq of 320MHz\n",
+ "L2=L1/t;L3=L2/t;L4=L3/t;L5=L4/t;\n",
+ "print 'The length of elements are'\n",
+ "print 'L5=',L5,'m ','L4=',L4,'m ','L3=',L3,'m ','L2=',L2,'m ','L1=',L1,'m '\n",
+ "#Determination of spacing betn elements\n",
+ "D1=L1/(2*tan(a*pi/180./2.));\n",
+ "D2=D1/t;D3=D2/t;D4=D3/t;D5=D4/t;\n",
+ "print 'The spacing between elements are'\n",
+ "print 'D5=',D5,'m','D4=',D4,'m ','D3=',D3,'m ','D2=',D2,'m ','D1=',D1,'m '"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 598"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The beamwidth is 1.75 degree\n",
+ "The gain is 39.766 dBi\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the gain and beamwidth\n",
+ "#page no 598\n",
+ "#prob no. 16.9\n",
+ "from math import pi, log10\n",
+ "#given\n",
+ "#A parabolic antenna with diameter=3m & efficiency=60% operate at 4GHz\n",
+ "D=3.;n=0.6;f=4.*10**9;c=3.*10**8;#Spped of light\n",
+ "#Determination of gain & beamwidth\n",
+ "#calculations and results\n",
+ "wav=c/f;#Determination of free space wavelength\n",
+ "theta=(70.*wav)/D;#Calculaing beamwidth\n",
+ "print 'The beamwidth is',theta,'degree'\n",
+ "G=(n*(pi**2)*(D**2))/wav**2;#Calculating gain\n",
+ "#Converting gain in dBi\n",
+ "G_dBi=10*log10(G);\n",
+ "print 'The gain is',round(G_dBi,3),'dBi'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter17.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter17.ipynb
new file mode 100644
index 00000000..a9d0084e
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter17.ipynb
@@ -0,0 +1,569 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 17 : MicroWave Devices"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 621"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The max usable freq is 7500000000.0 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the max usable freq\n",
+ "#page no 621\n",
+ "#prob no. 17.1\n",
+ "#given\n",
+ "#TE10 mode in air dielectric mode with inside cross sectn=2cm*4cm\n",
+ "#Determination of cut-off freq \n",
+ "a=4.*10**-2;#largest dimn is used for calculation \n",
+ "c=3.*10**8;#Speed of light in m/s\n",
+ "#calculations\n",
+ "fc=c/(2*a);\n",
+ "#Determination of dominant mode of propagation over 2:1\n",
+ "MUF=2*fc;\n",
+ "#results\n",
+ "print 'The max usable freq is',MUF,'Hz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 624"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The group velocity is 198431348.33 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the group velocity \n",
+ "#page no 624\n",
+ "#prob no. 17.2\n",
+ "#Determination of group velocity for waveguide in example 7.1\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "f=5*10**9;#freq.in Hz\n",
+ "fc=3.75*10**9;#cut-off freq from eg.7.1\n",
+ "c=3.*10**8;#speed of light in m/s\n",
+ "#calculations\n",
+ "vg=c*sqrt(1-(fc/f)**2);\n",
+ "#results\n",
+ "print 'The group velocity is',vg,'m/s'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 624"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The group velocity for 12GHz signal is 165831239.518 m/s\n",
+ "The group velocity for 17GHz signal is 242606948.556 m/s\n",
+ "The diffn in the travel times for 2 signals is 9.5416670466e-08 sec\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the froup velocity \n",
+ "#page no 624\n",
+ "#prob no. 17.3\n",
+ "#A waveguide with fc=10GHz.2 signal with frequency 12 & 17GHz propogate down=50m\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "fc=10*10**9;c=3.*10**8;f1=12.*10**9;f2=17.*10**9;d=50.;\n",
+ "#calculations and results\n",
+ "#Determination of group velocity for 12GHz\n",
+ "vg1=c*sqrt(1-(fc/f1)**2);\n",
+ "print 'The group velocity for 12GHz signal is',vg1,'m/s'\n",
+ "#Determination of group velo for 17GHz\n",
+ "vg2=c*sqrt(1-(fc/f2)**2);\n",
+ "print 'The group velocity for 17GHz signal is',vg2,'m/s'\n",
+ "#Determination of time taken for 50m dist by f1\n",
+ "t1=d/vg1;\n",
+ "#Determination of time taken for 50m dist by f2\n",
+ "t2=d/vg2;\n",
+ "#Determination of diffn in the travel times for 2 signals \n",
+ "dela=t1-t2;\n",
+ "print 'The diffn in the travel times for 2 signals is',dela,'sec'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 627"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The phase velocity is 453557367.611 m/s\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the phase velocity \n",
+ "#page no 627\n",
+ "#prob no. 17.4\n",
+ "#Determination of phase velo.with given 5GHz freq\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "f=5.*10**9;c=3.*10**8;fc=3.75*10**9;#Cut-off freq refering eg.17.1\n",
+ "#calculations\n",
+ "vp=c/sqrt(1-(fc/f)**2);#Calculation of phase velo.\n",
+ "#results\n",
+ "print 'The phase velocity is',vp,'m/s'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 628"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The characteristic impedance of waveguide is 569.97 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#calculate the characteristic impedanccec of waveguide\n",
+ "#page no 628\n",
+ "#prob no. 17.5\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "#determination of characteristic impedance of waveguide with given 5GHz freq\n",
+ "f=5*10**9;fc=3.75*10**9;#Refering in eg. 17.4\n",
+ "#calculations\n",
+ "Zo=377/sqrt(1-(fc/f)**2);\n",
+ "#results\n",
+ "print 'The characteristic impedance of waveguide is',round(Zo,3),'ohm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 631"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The signal level in main guide is 19.0 dBm\n",
+ "The signal level in secondary guide is 0.0 dBm\n",
+ "The signal level from sec guide when reversed guide is -40.0 dBm\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 631\n",
+ "#prob no. 17.7\n",
+ "#calculate the signal level in all cases\n",
+ "#A signal with level of 20dBm & insertion loss=1dB & coupling =20dB,directivity=40dB\n",
+ "#given\n",
+ "sig_in=20.;loss=1.;couple=20.;direct=40.;\n",
+ "#calculations and results\n",
+ "#Determination of signal level in main guide\n",
+ "sig_level_main=sig_in-loss;\n",
+ "print 'The signal level in main guide is ',sig_level_main,'dBm'\n",
+ "#Determination of signal level in secondary guide\n",
+ "sig_level_sec=sig_in-couple;\n",
+ "print 'The signal level in secondary guide is',sig_level_sec,'dBm'\n",
+ "#If signal dirn in main guide were reveresed,the signal level in sec gide would reduced by 40dB to\n",
+ "sig_sec_rev=(sig_level_sec)-(direct);\n",
+ "print 'The signal level from sec guide when reversed guide is',sig_sec_rev,'dBm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 642"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The frequency of oscillation is 14285714285.7 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 642\n",
+ "#prob no. 17.8\n",
+ "#calculate the frequency of oscillation\n",
+ "#given\n",
+ "#A Gunn device with thickness=7um\n",
+ "d=7*10**-6;v=10**5;#Basic velocity of e\n",
+ "#calculations\n",
+ "t=d/v;#Basic velocity relation\n",
+ "#Determination of freq of oscillation\n",
+ "f=1/t;#Inverse of period is freq\n",
+ "#results\n",
+ "print 'The frequency of oscillation is',f,'Hz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 648"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The duty cycle is 0.065\n",
+ "The length of pulse is 0.00065 sec\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 648\n",
+ "#prob no. 17.9\n",
+ "#calculate the duty cycle and length of pulse\n",
+ "#given\n",
+ "#A pulse magnetron with avg power=1.2kW & peak power=18.5kW & 1 pulse is generated every 10ms\n",
+ "Pavg=1.2*10**3;Pp=18.5*10**3;Tt=10.*10**-3;\n",
+ "#calculations\n",
+ "#Determination of duty cycle\n",
+ "D=Pavg/Pp;\n",
+ "#Determination of length of pulse\n",
+ "Ton=D*Tt;\n",
+ "#results\n",
+ "print 'The duty cycle is',round(D,3)\n",
+ "print 'The length of pulse is',round(Ton,5),'sec'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10 : pg 652"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The gain is 15.763 dBi\n",
+ "b)The beamwidth in H-plane is 26.923 degree\n",
+ "c)The beamwidth in H-plane is 28.966 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 652\n",
+ "#prob no. 17.10\n",
+ "#calculate the gain and beam width in all cases\n",
+ "import math\n",
+ "#A pyramidal horn has aperture=58mm in E-plane & 78mm in H-plane & operates at 10GHz\n",
+ "#given\n",
+ "f=10*10**9;c=3.*10**8;dH=78.*10**-3;dE=58.*10**-3;\n",
+ "#calculations and results\n",
+ "#a)Determination of gain in dB\n",
+ "wl=c/f;#calculation of wavelength\n",
+ "G=(7.5*dE*dH)/(wl**2);\n",
+ "G_dBi=10*math.log10(G);#Converting to dBi\n",
+ "print 'a)The gain is',round(G_dBi,3),'dBi'\n",
+ "#b)Determination of beamwidth in H-palne\n",
+ "theta_H=(70*wl)/dH;\n",
+ "print 'b)The beamwidth in H-plane is',round(theta_H,3),'degree'\n",
+ "#c)Determination of beamwidth in E-plane\n",
+ "theta_E=(56*wl)/dE;\n",
+ "print 'c)The beamwidth in H-plane is',round(theta_E,3),'degree'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11 : pg 654"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The antenna width = 53.03 m and The antenna length = 53.03 m\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 654\n",
+ "# problem no 17.11\n",
+ "#calculate the width and length of the antenna\n",
+ "#given\n",
+ "from math import sqrt\n",
+ "#for a square patch antenna\n",
+ "f=2*10**6;# freq of operation in Hz\n",
+ "Er=2;# relative permittivity\n",
+ "c=3*10**8;# velo of light\n",
+ "#calculations\n",
+ "#wavelength is given as\n",
+ "wl=c/(f*sqrt(Er));\n",
+ "#The antenna width and length are each approximately half of this.\n",
+ "w=wl/2;\n",
+ "l=wl/2;\n",
+ "#results\n",
+ "print 'The antenna width = ',round(w,2),'m ','and ','The antenna length = ',round(l,2),'m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 12 : pg 657"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The received power is 1.01251354638e-14 W\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 657\n",
+ "#prob no. 17.12\n",
+ "#calculate the received power\n",
+ "import math\n",
+ "#A radar Tx has power=10kW at freq=9.5GHz & target at 15km with cross sectn=10.2 m2 with gain of antenna is 20dBi\n",
+ "f=9.5*10**9;Pt=10.*10**3;c=3.*10**8;G_dBi=20.;a=10.2;r=15.*10**3;\n",
+ "#calculations\n",
+ "#Determination of received power\n",
+ "wl=c/f;#calculating wavelength\n",
+ "G=10**(G_dBi/10.);#Converting to power ratio\n",
+ "Pr=((wl**2)*Pt*(G**2)*a)/(((4*math.pi)**3)*(r**4));\n",
+ "#results\n",
+ "print 'The received power is',Pr,'W'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 13 : pg 659"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The distance of target is 2250.0 m\n",
+ "The maximum range is 150000.0 m\n",
+ "The minimum range is 150.0 m\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 659\n",
+ "#prob no. 17.13a\n",
+ "#calculate the distance of target\n",
+ "#a pulse sent,returns after 15us\n",
+ "#given\n",
+ "t=15*10**-6;c=3.*10**8;\n",
+ "tp=10**-6;#pulse duration of pulse radar\n",
+ "f=10**3;#operating freq in Hz\n",
+ "#calculations\n",
+ "#Determination of distance of target\n",
+ "R=(c*t)/2;\n",
+ "#The maximum unambiguous range is \n",
+ "Rmax=c/(2*f);\n",
+ "#The minimum unambiguous range is \n",
+ "Rmin=c*tp/2;\n",
+ "#results\n",
+ "print 'The distance of target is',R,'m'\n",
+ "print 'The maximum range is ',Rmax,'m'\n",
+ "print 'The minimum range is ',Rmin,'m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 14 : pg 662"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Doppler shift is 1777.78 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 662\n",
+ "#prob no. 17.14\n",
+ "#calculate the doppler shift\n",
+ "#given\n",
+ "v=60.;#speed of vehicle moving towards radar in mph\n",
+ "c=3*10**8;#velo of light in m/s\n",
+ "f=10.**10;# operating frequency in Hz\n",
+ "#calculations\n",
+ "# conversion of speed from mph to km/hr\n",
+ "v1=60*1.6;\n",
+ "# conversion of speed from km/hr to m/s\n",
+ "v2=v1*10**3/3600.;\n",
+ "# Now the Doppler shift is found as\n",
+ "fd=2*v2*f/c;\n",
+ "#results\n",
+ "print 'The Doppler shift is ',round(fd,2),'Hz'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter18.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter18.ipynb
new file mode 100644
index 00000000..d92be490
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter18.ipynb
@@ -0,0 +1,483 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 18 : Terrestrial Microwave system"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 676"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The height of each tower must be at least 23.529 m\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 676\n",
+ "#calculate the height of each tower\n",
+ "# prob no 18_1\n",
+ "#given\n",
+ "#Transmitter and receiver have same height at dist 40km\n",
+ "d=40;#dist is 40 km\n",
+ "#calculations\n",
+ "h=(d**2)/68.;# As d=sqrt(17h)+sqrt(17h)\n",
+ "#results\n",
+ "print 'The height of each tower must be at least',round(h,3),'m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 678"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The distance by which beam must clear the obstacle is 11.63 m\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 678\n",
+ "# prob no 18_2\n",
+ "from math import sqrt\n",
+ "#calculate the distance required\n",
+ "#A line of sight radio link at freq 6GHz with seperation 40 km betn antennas\n",
+ "#given\n",
+ "f=6.;d1=10.;d2=30;#obstacle located at 10 km\n",
+ "#calculations\n",
+ "#Determination of dist R to clear obstacle \n",
+ "R=10.4*sqrt((d1*d2)/(f*(d1+d2)));\n",
+ "#results\n",
+ "print 'The distance by which beam must clear the obstacle is',round(R,2),'m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 679"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The power delivered to the Rx is -62.03 dBm\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 679\n",
+ "# prob no 18_3\n",
+ "#calculate the power delivered\n",
+ "from math import log10\n",
+ "#given\n",
+ "#A transmitter and receiver at 6GHz seperated by 40km with o/p power 2 W\n",
+ "f = 6 * 10 ** 9\n",
+ "d = 40.\n",
+ "Pt = 2# power in watt\n",
+ "#transmitting antenna gain Gt=20dBi,receiving antenna Gr=25dBi\n",
+ "Gt = 20\n",
+ "Gr = 25\n",
+ "f_mhz = 6000#f=6000 MHz\n",
+ "#calculations\n",
+ "Pr_Pt_dB = (Gt + Gr) - (32.44 + (20 * log10(d)) + (20 * log10(f_mhz)))\n",
+ "Pt_dBm = 10 * log10(Pt / 10 ** -3)\n",
+ "Pr_dBm = Pt_dBm + Pr_Pt_dB\n",
+ "#results\n",
+ "print 'The power delivered to the Rx is',round(Pr_dBm,2),'dBm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 680"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Noise temperature is 120.0 K\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 680\n",
+ "#calculate the noise temperature\n",
+ "# prob no 18_4\n",
+ "#given\n",
+ "T_sky = 120.# Sky temp expressed in K\n",
+ "L_dB = 2# antenna feedline loss\n",
+ "#calculations\n",
+ "L = 10 ** (L_dB / 10)\n",
+ "# the noise temp is given as\n",
+ "Ta = ((L - 1) * 290 + T_sky) / L\n",
+ "#results\n",
+ "print 'Noise temperature is',Ta,'K'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 681"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The equivalent noise temperature 169.619 K\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 681\n",
+ "# prob no 18.5\n",
+ "#calculate the equivalent noise temperature\n",
+ "#given\n",
+ "NF_dB = 2\n",
+ "#calculations\n",
+ "NF_power = 10 ** (NF_dB / 10.)\n",
+ "T_eq = 290. * (NF_power - 1)\n",
+ "#results\n",
+ "print 'The equivalent noise temperature',round(T_eq,3),'K'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 681"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The noise power is 9.6876e-14 W\n",
+ "The thermal noise power is -100.138 dBm\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 681\n",
+ "# prob no 18.6\n",
+ "# refer example no 18.4 and 18.5\n",
+ "#calculate the noise power in both cases\n",
+ "from math import log10\n",
+ "#given\n",
+ "# The antenna and feedline combination from ex 18.4 is used with the Rx from ex\n",
+ "# 18.5\n",
+ "Ta = 182.# noise temp of the antenna and feedline combination expressed in K\n",
+ "Teq = 169.# noise temperature of the Rx\n",
+ "B = 20. * 10 ** 6# BW of the receiver\n",
+ "#calculations\n",
+ "Tn_sys = Ta + Teq#Noise temp for the system\n",
+ "k = 1.38 * 10 ** -23#Boltzmann constant\n",
+ "# Noise power of the system is given as\n",
+ "Pn = k * Tn_sys * B# where k is Boltzmann constant\n",
+ "Pn_dBm = 10 * log10(Pn / 10 ** -3)\n",
+ "#results\n",
+ "print 'The noise power is',Pn,'W'\n",
+ "print 'The thermal noise power is',round(Pn_dBm,3),'dBm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 682"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Carrier to noise ratio is 38.0 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 682\n",
+ "# prob no 18.7\n",
+ "#calculate the carrier to noise ratio\n",
+ "# refer ex no 18.3 and 18.6\n",
+ "#given\n",
+ "Pr_dBm = -62.#power at the receiver in dBm\n",
+ "Pn_dBm = -100.#thermal noise power in dBm\n",
+ "#calculations\n",
+ "# carrier to noise ratio in dB is given as\n",
+ "C_N = Pr_dBm - Pn_dBm\n",
+ "#results\n",
+ "print 'Carrier to noise ratio is',C_N,'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 683"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Energy per bit to noise density ratio is 27.14 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 683\n",
+ "# prob no 18.8\n",
+ "#calculate the energy per bit to noise density ratio\n",
+ "# refer ex 18.7\n",
+ "from math import log10\n",
+ "#given\n",
+ "fb = 40 * 10 ** 6# bit rate in bps\n",
+ "Pr_dBm = -62#power at the receiver in dBm\n",
+ "Pr = 10 ** (Pr_dBm / 10) * 10 ** -3# power at the receiver in W\n",
+ "Eb = Pr / fb# the energy per bit in J\n",
+ "k = 1.38 * 10 ** -23#Boltzmann constant\n",
+ "T = 350.\n",
+ "#calculations\n",
+ "# the noise power density is\n",
+ "No = k * T\n",
+ "# Energy per bit to noise density ratio in dB is\n",
+ "Eb_No = 10 * log10(Eb / No)\n",
+ "#results\n",
+ "print 'Energy per bit to noise density ratio is ',round(Eb_No,3),'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 686"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The local oscillator freq is 6800.0 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 686\n",
+ "# prob no 18.9\n",
+ "# refer fig 18.7(b)\n",
+ "#calculate the local oscillator frequency\n",
+ "#given\n",
+ "#This is the standard superheterodyne receiver\n",
+ "fc=6870.;# the received carrier freq in MHz\n",
+ "IF=70.;# IF in MHz\n",
+ "#calculations\n",
+ "# The local oscillator freq is given as\n",
+ "f_lo=fc-IF;\n",
+ "#results\n",
+ "print 'The local oscillator freq is ',f_lo,'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10 : pg 688"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The freq of shift oscillator is 160.0 MHz\n",
+ "The local oscillator freq is 6640.0 MHz\n",
+ "O/P of Mixer 3 is 6800.0 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 688\n",
+ "# prob no 18.10\n",
+ "# refer fig 18.9a)\n",
+ "#calculate the freq shift in all cases\n",
+ "#given\n",
+ "fc_r = 6870.# carrier freq of received signal in MHz\n",
+ "fc_t = 6710.#carrier freq of transmitted signal in MHz\n",
+ "IF = 70.#in MHz\n",
+ "#calculations and results\n",
+ "# the freq of shift oscillator is\n",
+ "fso = fc_r - fc_t\n",
+ "print 'The freq of shift oscillator is ',fso,'MHz'\n",
+ "#the local oscillator freq is given as\n",
+ "flo = fc_t - IF\n",
+ "print 'The local oscillator freq is ',flo,'MHz'\n",
+ "#from fig, mixer 3 will produce an o/p as\n",
+ "op_mix3 = flo + fso\n",
+ "print 'O/P of Mixer 3 is',op_mix3,'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11 : pg 690"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The number of bits per symbol are 4.0 bits\n",
+ "The baud rate is 22.631 Mbaud\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 690\n",
+ "# prob no 18.11\n",
+ "#calculate the baud rate and bits per symbol\n",
+ "#given\n",
+ "from math import log\n",
+ "# A typical microwave digital radio system uses 16-QAM.\n",
+ "fb = 90.524#bit rate expressesd in Mbps\n",
+ "n = 16# for 16-QAM system\n",
+ "#calculations and results\n",
+ "#part a) calculation of no of bits per symbol\n",
+ "m = log(n) / log(2)\n",
+ "print 'The number of bits per symbol are',m,'bits'\n",
+ "# part b) calclation of baud rate\n",
+ "# baud rate is 1/4th of the bit rate\n",
+ "baud = fb / 4\n",
+ "print 'The baud rate is',baud,'Mbaud'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter19.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter19.ipynb
new file mode 100644
index 00000000..38f17535
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter19.ipynb
@@ -0,0 +1,370 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 19 : Television"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 703"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Level of video signals in IRE units 53.75 IRE units\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 703\n",
+ "# prob no 19.1\n",
+ "#calculate the level of video signals\n",
+ "#given\n",
+ "# In the given problem,a video signal has 50% of the maximum luminance level\n",
+ "#A black setup level of 7.5 IRE represents zero luminance,and 100 IRE is max brightness.\n",
+ "#Therefore the range from min to max luminnance has 100-7.5=92.5 units.\n",
+ "#Therefore the level is\n",
+ "#calculations\n",
+ "IRE = 7.5 + (0.5 * 92.5)\n",
+ "#results\n",
+ "print 'Level of video signals in IRE units',IRE,'IRE units'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 704"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Horizontal blanking occupies 15.75 % of the signal\n",
+ "vertical blanking occupies 8.0 % of the signal\n",
+ "The active video is 77.51 %\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 704\n",
+ "# prob no 19.2\n",
+ "#calculate the horizontal, vertical blanking occupies\n",
+ "# part a) horizontal blanking\n",
+ "# Horizontal blanking occupies approximately 10 us of the 63.5 us duration of each line,\n",
+ "#given\n",
+ "Hztl_blnk = 10 / 63.5 * 100\n",
+ "#calculations and results\n",
+ "print 'Horizontal blanking occupies',round(Hztl_blnk,2),'%','of the signal'\n",
+ "# part b) vertical blanking\n",
+ "# Vertical blanking occupies approximately 21 lines per field or 42 lines per\n",
+ "# frame. A frame has 525 lines altogether,so\n",
+ "Vert_blnk = 42. / 525 * 100\n",
+ "print 'vertical blanking occupies',Vert_blnk,'%','of the signal'\n",
+ "# part c) active signal\n",
+ "# since 8% of the time is lost in vertical blanking, 92% of the time is\n",
+ "# involved in the tansmission of the active lines.\n",
+ "act_vid = (100 - Hztl_blnk) * (100 - Vert_blnk) / 100\n",
+ "print 'The active video is',round(act_vid,2),'%'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 707"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The horizontal resolution in lines is 240.0 lines\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 707\n",
+ "# prob no 19.3\n",
+ "#calculate the horizontal resolution\n",
+ "# A typical low-cost monochrome receiver has a video bandwidth of 3MHz\n",
+ "#given\n",
+ "B = 3.# bandwidth in MHz\n",
+ "#calculations\n",
+ "# The horizontal resolution in lines is given as\n",
+ "L_h = B * 80\n",
+ "#results\n",
+ "print 'The horizontal resolution in lines is',L_h,'lines'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 709"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The luminance signal is 0.384\n",
+ "The in-phase component of the color signal is -0.248\n",
+ "The quadrature component of the color signal is 0.082\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 709\n",
+ "# prob no 19.4\n",
+ "#given\n",
+ "#calculate the components of signal\n",
+ "# A RGB video signal has normalized values as\n",
+ "R=0.2;G=0.4;B=0.8;\n",
+ "#calculations and results\n",
+ "#The luminance signal is given as\n",
+ "Y=0.30*R+0.59*G+0.11*B;\n",
+ "print 'The luminance signal is',Y\n",
+ "#The in-phase component of the color signal is given as\n",
+ "I=0.60*R-0.28*G-0.32*B;\n",
+ "print 'The in-phase component of the color signal is',I\n",
+ "#The quadrature component of the color signal is given as\n",
+ "Q=0.21*R-0.52*G+0.31*B;\n",
+ "print 'The quadrature component of the color signal is',Q"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 712"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "45.5625 % of the maximum transmitter power is used to transmit a black setup\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 712\n",
+ "# prob no 19.5\n",
+ "#refer table 19.1\n",
+ "#calculate the max transmitter power\n",
+ "#given\n",
+ "# The proportion in the table are voltage levels and have to be squared to get power.\n",
+ "# for black setup the voltage level is given as\n",
+ "#calculations\n",
+ "v = 0.675\n",
+ "#Therefore the power level as a fraction of the maximum transmitter power is\n",
+ "P_black_setup = v ** 2 * 100\n",
+ "#results\n",
+ "print P_black_setup,'%','of the maximum transmitter power is used to transmit a black setup'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 728"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The input of Amp 1 is -20.0 dBmV\n",
+ "The output of Amp 1 is 20.0 dBmV\n",
+ "The input of Amp 2 is 5.0 dBmV\n",
+ "The output of Amp 2 is 30.0 dBmV\n",
+ "The input of Amp 3 is 8.0 dBmV\n",
+ "The output of Amp 3 is 28.0 dBmV\n",
+ "Signal strength at subscriber tap is 1.778 mV\n",
+ "The power at the end is -43.751 dBm\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 728\n",
+ "# prob no 19.6\n",
+ "# refer fig 19.27 of the page no 729\n",
+ "#calculate the output and input in all cases\n",
+ "#given\n",
+ "from math import log10\n",
+ "# from fig, we can write down the values directly as given\n",
+ "In1 = 100 * 10 ** -3#expressed in mV\n",
+ " #calculations and results\n",
+ "In1_dBmV = 20 * log10(In1 / 1)\n",
+ "print 'The input of Amp 1 is',In1_dBmV,'dBmV'\n",
+ "# this above calculated signal is applied to the input of the first\n",
+ "# amplifier,i.e. head-end signal processing\n",
+ "G1 = 40# gain of Amp 1 expressed in dB\n",
+ " # o/p level of Amp 1 is\n",
+ "Out1 = In1_dBmV + G1\n",
+ "print 'The output of Amp 1 is',Out1,'dBmV'\n",
+ "L = 15#expressed in dB\n",
+ "# The input level of Amp 2 is\n",
+ "In2_dBmV = Out1 - L\n",
+ "print 'The input of Amp 2 is',In2_dBmV,'dBmV'\n",
+ "G2 = 25#gain of Amp2 expressed in dB\n",
+ "# o/p level of Amp 2 is\n",
+ "Out2 = In2_dBmV + G2\n",
+ "print 'The output of Amp 2 is',Out2,'dBmV'\n",
+ "L1 = 10# loss in cable\n",
+ "L2 = 12#loss in directional coupler\n",
+ "# The input level of Amp 3 is\n",
+ "In3_dBmV = Out2 - L1 - L2\n",
+ "print 'The input of Amp 3 is',In3_dBmV,'dBmV'\n",
+ "G3 = 20#gain of Amp3 expressed in dB\n",
+ "Out3 = In3_dBmV + G3\n",
+ "print 'The output of Amp 3 is',Out3,'dBmV'\n",
+ "# There is further 3dB cable loss and 20dB loss in the tap\n",
+ "L3 = 3.#loss in cable\n",
+ "L4 = 20.# loss in tap\n",
+ "#signal strength at the tap is\n",
+ "Vdrop_dBmV = Out3 - L3 - L4\n",
+ "V_drop = 10 ** (Vdrop_dBmV / 20)# expressed in mV\n",
+ "print 'Signal strength at subscriber tap is',round(V_drop,3),'mV'\n",
+ "# Calculation of power into 75 ohm\n",
+ "R = 75.#expressed in ohm\n",
+ "Pdrop = (V_drop * 10 ** -3) ** 2 / R\n",
+ "Pdrop_dBm = 10 * log10(Pdrop / 10 ** -3)\n",
+ "print 'The power at the end is',round(Pdrop_dBm,3),'dBm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 731"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The interference would in 132.0 MHz to 126.0 MHz band\n",
+ "The bit rate for the signal is 110592000.0 bps\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 731\n",
+ "# prob no 19.7\n",
+ "#calculate bit rate and interference\n",
+ "#given\n",
+ "# In given problem a TV receiver is tuned to channel 6.\n",
+ "#All modern Rx uses a picture IF of 45.75 MHz with high-side injection of the signal into the cable.\n",
+ "# The picture carrier of channel 6 is at a frequency of 83.25MHz,so\n",
+ "ch = 6\n",
+ "Fc = 83.25# expressed in MHz\n",
+ "IF = 45.75#expressed in MHz\n",
+ "Nh = 640.\n",
+ "Nv = 480# resolution of digital video signal as 640*480 pixels\n",
+ "Rf = 30.#frame rate expressed in Hz\n",
+ "m = 8.# bits per sample\n",
+ "#calculations\n",
+ "f_lo = Fc + IF\n",
+ "a = f_lo + ch / 2\n",
+ "b = f_lo - ch / 2\n",
+ "# By using the product of Horizontal & vertical resolution, no of luminance\n",
+ "# pixels per frame are\n",
+ "Npl = Nh * Nv\n",
+ "# since each of the color signals has one-fourth the total no of luma pixels\n",
+ "Npt = 1.5 * Npl\n",
+ "#therefore bit rate is given as\n",
+ "fb = Npt * m * Rf\n",
+ "#results\n",
+ "print 'The interference would in',a,'MHz','to',b,'MHz','band'\n",
+ "print 'The bit rate for the signal is',fb,'bps'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter2.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter2.ipynb
new file mode 100644
index 00000000..7e10b30b
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter2.ipynb
@@ -0,0 +1,473 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 2 : Radio Frequency Circuits"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 50"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The resonant frequency is 4.5 MHz\n",
+ "The bandwidth is 300.0 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 50\n",
+ "#calculate the resonant frequency and bandwidth\n",
+ "#prob no 2.1\n",
+ "from math import pi,sqrt\n",
+ "#Given:\n",
+ "#Refer the fig 2.6 of page 50. L1=25uH;C1=50pF\n",
+ "L1=25.*10**-6;C1=50.*10**-12;Q=15;\n",
+ "#calculations\n",
+ "#A) The resonent freqency is given as\n",
+ "fo=(1/(2*pi*sqrt(L1*C1)));\n",
+ "#B) The bandwidth is given as \n",
+ "B=fo/Q;\n",
+ "#results\n",
+ "print 'a)The resonant frequency is ',round(fo/10**6,2),'MHz'\n",
+ "print 'The bandwidth is ',round(B/1000.),'kHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 62"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "1)The operating frequency is 5.03 MHz\n",
+ "2)Operating gain -10.0\n",
+ "The -ve sign denotes a phase inversion\n",
+ "3)Operating gain 0.2\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 62\n",
+ "# prob no. 2.2\n",
+ "#calculate the operating frequency, gain\n",
+ "from math import pi,sqrt\n",
+ "# Given : Hartley oscillators L=10uH; C=100pF\n",
+ "L=10.*10**-6; C=100.*10**-12;N1=10;N2=100.\n",
+ "#calculations and results\n",
+ "# A)The operating frequency is \n",
+ "fo=1/(2.*pi*sqrt(L*C));\n",
+ "print '1)The operating frequency is',round(fo/10**6,2),'MHz'\n",
+ "# The feedback fraction is given by\n",
+ "B=-N1/N2;\n",
+ "#Operating gain is given as \n",
+ "A=1/B;\n",
+ "print '2)Operating gain',A\n",
+ "print 'The -ve sign denotes a phase inversion'\n",
+ "#B) The operating frequency is same as in part A)\n",
+ "N1=20;N2=80.;\n",
+ "# The feedback fraction is given by\n",
+ "B=(N1+N2)/N1;\n",
+ "#Operating gain is given as \n",
+ "A=1./B;\n",
+ "print '3)Operating gain',A"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 66"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The effective capacitance (pF)= 9.09\n",
+ "1)The operating frequency is 52.8 Hz\n",
+ "The feedback fraction is -0.1\n",
+ "The feedback fraction is 0.0909\n"
+ ]
+ }
+ ],
+ "source": [
+ "# page no 66\n",
+ "#prob no 2.3\n",
+ "#calculate the operating frequency and feedback fraction\n",
+ "from math import pi,sqrt\n",
+ "#Given:\n",
+ "C1=10.*10**-12; C2=100.*10**-12; L=1*10**-6;\n",
+ "#calculations and results\n",
+ "# The effective capacitance is \n",
+ "CT=(C1*C2)/(C1+C2);\n",
+ "# The operating frequency is \n",
+ "f0=1/(2*pi*sqrt(L*CT));\n",
+ "print 'The effective capacitance (pF)=',round(CT*10**12,2);\n",
+ "print '1)The operating frequency is',round(f0/10**6,1),'Hz'\n",
+ "# The feedback fraction is given approximately by\n",
+ "B=-C1/C2; \n",
+ "print 'The feedback fraction is',B\n",
+ "# For the common-base ckt, the op-freq is same but the feedback fraction willbe different.\n",
+ "C1=100*10**-12; C2=10*10**-12;\n",
+ "# It is given by \n",
+ "B=C2/(C1+C2);\n",
+ "print 'The feedback fraction is',round(B,4)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 68"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The effective total capacitance is 9.01 pF\n",
+ "The operating freq is 53.03 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "# page no 68\n",
+ "#prob no 2.4\n",
+ "#caclculate the effective total capacitance and operating frequency\n",
+ "#Refer fig 2.22\n",
+ "from math import pi,sqrt\n",
+ "#Given:\n",
+ "c1=1000.;c2=100.;c3=10.;#all values are in pf\n",
+ "#calculations and results\n",
+ "#The effective total capacitance\n",
+ "Ct=1/((1/c1)+(1/c2)+(1/c3));\n",
+ "print 'The effective total capacitance is',round(Ct,2),'pF'\n",
+ "CT=Ct*10**-12;L=10**-6;\n",
+ "#The operating freq is\n",
+ "f0=1/(2*pi*sqrt(L*CT));\n",
+ "print 'The operating freq is',round(f0/10**6,2),'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 70"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The resonent freq is 1.78 MHz\n",
+ "The tuning voltage is 7.5 V\n"
+ ]
+ }
+ ],
+ "source": [
+ "# page no 70\n",
+ "#prob no 2.5\n",
+ "#calculate the resonant freq and tuning voltage\n",
+ "from math import sqrt,pi\n",
+ "#Given:\n",
+ "C=80*10**-12; L= 100*10**-6;\n",
+ "#calculations\n",
+ "#Part a) The resonent frequency is \n",
+ "f0=1/(2*pi*sqrt(L*C));\n",
+ "# Part b) In this part the circuit is resonate on doubling the frequency,therefore\n",
+ "f1=2*f0;\n",
+ "# from the equation of resonent frequency \n",
+ "C1=1/(4*(pi*f1)**2*L);\n",
+ "# Now for tuning voltage we have to use equation C1=Co/sqrt(1+2V)\n",
+ "Co=C;\n",
+ "# after solving the expression\n",
+ "v=((Co/C1)**2 -1)/2;\n",
+ "#results\n",
+ "print 'The resonent freq is',round(f0/10**6,2),'MHz'\n",
+ "print 'The tuning voltage is ',v,'V'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 76"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output frequencies at the output of square-law mixer are : 21.0 MHz 1.0 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "\n",
+ "#page no 76\n",
+ "#calculate the output frequencies\n",
+ "#problem 2.7\n",
+ "#Given:\n",
+ "# all frequencies are in MHz\n",
+ "f1=11.;f2=10;\n",
+ "#calculations\n",
+ "# output frequencies at the output of square-law mixer\n",
+ "a=f1+f2;\n",
+ "b=f1-f2;\n",
+ "#results\n",
+ "print 'The output frequencies at the output of square-law mixer are : ',a,'MHz ',b,'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 85"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The capture range is 4.0 MHz\n",
+ "The lock range is 8.0 MHz\n",
+ "The freq at which the lock is acquired, moving downward in freq is 14.0 MHz\n",
+ "Lock will be lost on the way down at 8.0 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 85\n",
+ "#calculate the capture range, lock range, frequency\n",
+ "#problem no. 2.8\n",
+ "# all the frequencies are in MHz\n",
+ "#Given:\n",
+ "freq_free_run =12.; \n",
+ "freq_lock1 =10.;\n",
+ "freq_lock2 =16.;\n",
+ "#calculations and results\n",
+ "# capture range is approximately twice the difference between the free-running freq and the freq at which lock is first achieved\n",
+ "capture_range =2*(freq_free_run - freq_lock1 );\n",
+ "print 'The capture range is ',capture_range,'MHz'\n",
+ "# lock range is approximately twice the the difference between the freq where lock is lost and free-running freq\n",
+ "lock_range = 2*(freq_lock2 - freq_free_run);\n",
+ "print 'The lock range is ',lock_range,'MHz'\n",
+ "# The PLL freq response id approximate symmetrical.\n",
+ "#This means the free-running freq is in the center of the lock range and capture range. Therefore\n",
+ "freq_lock_acquired = freq_free_run + (capture_range/2);\n",
+ "freq_lock_lost = freq_free_run - capture_range\n",
+ "print 'The freq at which the lock is acquired, moving downward in freq is ',freq_lock_acquired,'MHz'\n",
+ "print 'Lock will be lost on the way down at',freq_lock_lost,'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 86"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The values of N at high end is 170.0\n",
+ "The values of N at low end is 54.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 86\n",
+ "#calculate the values of N at high and low ends\n",
+ "# prob no 2.9\n",
+ "# refer fig 2.38\n",
+ "#Given:\n",
+ "#Here we are using a 10MHz crystal, it will be necessar to devide it by a factor to get 10kHz\n",
+ "f_osc = 10.*10**6; f_ref=10.*10**3;f0_1=540.*10**3;f0_2=1700.*10**3;\n",
+ "#calculations\n",
+ "Q=f_osc/f_ref;\n",
+ "# we have to specify the range of values of N. Find N at each and of the tuning range\n",
+ "N1=f0_1/f_ref;\n",
+ "N2=f0_2/f_ref;\n",
+ "#results\n",
+ "print 'The values of N at high end is',N2\n",
+ "print 'The values of N at low end is',N1"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10 : pg 89"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The step size that would have been obtained without prescaling 10000.0 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 89\n",
+ "# prob no 2.10\n",
+ "# refer fig 2.40\n",
+ "#Given:\n",
+ "P=10.;f_ref=10.*10**3;M=10.;\n",
+ "#consider \n",
+ "N=1.;\n",
+ "#calculations\n",
+ "# With a fixed-modulus prescalar, the min freq step is \n",
+ "step_size=M*f_ref;\n",
+ "# With the two-modulus system, let the main divider modulus N remain constant & \n",
+ "#increase the modulus m to (m+1) to find how much the freq changes.\n",
+ "# for 1st case, o/p freq \n",
+ "fo=(M+N*P)*f_ref;\n",
+ "# for 2nd case where leave N alone but changes M to M+1, new o/p freq \n",
+ "fo_=(M+1+N*P)*f_ref;\n",
+ "# The difference is \n",
+ "f= fo_-fo;\n",
+ "#results\n",
+ "print 'The step size that would have been obtained without prescaling',f,'Hz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11 : pg 91"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The output frequencies are 10.2 MHz 12.0 MHz\n",
+ "The step size is 20.0 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 91\n",
+ "#prob no 2.11\n",
+ "#refer fig 2.42\n",
+ "#Given:\n",
+ "f_ref= 20.*10**3;\n",
+ "f_osc= 10.*10**6;\n",
+ "N1=10;N2=100.;\n",
+ "#calculations\n",
+ "f0=(N1*f_ref) + f_osc;\n",
+ "f1=(N2*f_ref) + f_osc;\n",
+ "step_size=(f1-f0)/(N2-N1);\n",
+ "#results\n",
+ "print 'The output frequencies are',f0/10**6,'MHz',f1/10**6,'MHz'\n",
+ "print 'The step size is',step_size/1000.,'kHz'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter20.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter20.ipynb
new file mode 100644
index 00000000..7a56204a
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter20.ipynb
@@ -0,0 +1,434 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 20 : Satellite Communication"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 754"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A) The velocity of a satellite is 7613.87 m/s\n",
+ "The orbital period of satellite is 5694.08 sec\n",
+ "B) The velocity of a satellite is 3071.48 m/s\n",
+ "The orbital period of satellite is 86735.85 sec\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 754\n",
+ "# prob no 20.1\n",
+ "# part A)\n",
+ "from math import pi, sqrt\n",
+ "#calculate the velocity and orbital period of satellite in both cases\n",
+ "#given\n",
+ "d=500.;\n",
+ "#calculations and results\n",
+ "#By using the equation for velocity of a satellite\n",
+ "v=sqrt(4*10**11/(d+6400));\n",
+ "print 'A) The velocity of a satellite is',round(v,2),'m/s'\n",
+ "# The radius of orbit is \n",
+ "r=(6400+d)*10**3#in m\n",
+ "#The orbital period of satellite is\n",
+ "T=(2*pi*r)/v;\n",
+ "print 'The orbital period of satellite is',round(T,2),'sec'\n",
+ "#part B)\n",
+ "d=36000.;\n",
+ "#By using the equation for velocity of a satellite\n",
+ "v=sqrt(4*10**11/(d+6400));\n",
+ "print 'B) The velocity of a satellite is',round(v,2),'m/s'\n",
+ "#The radius of orbit is \n",
+ "r=(6400+d)*10**3#in m\n",
+ "#The orbital period of satellite is\n",
+ "T=(2*pi*r)/v;\n",
+ "print 'The orbital period of satellite is',round(T,2),'sec'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 757"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "required angle is 6.8137529672 degrees\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 757\n",
+ "# prob no 20.2\n",
+ "#calculate the required angle\n",
+ "#given\n",
+ "from math import atan, cos, sin, pi\n",
+ "R = 6400.#Radius of earth\n",
+ "L = 45.#earth station lattitude\n",
+ "H = 36000.#Height of satellite above the earth;\n",
+ "#calculations\n",
+ "ang = atan((6400. * sin(L * pi / 180.)) / (36000 + (6400 * (1 - cos(L * pi / 180.))))) * 180 / pi\n",
+ "#results\n",
+ "print \"required angle is \",ang, \"degrees\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 758"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The length of the path is 38836.175 km\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 758\n",
+ "# prob no 20.3\n",
+ "#calculate the length of the path\n",
+ "#given\n",
+ "from math import sqrt, sin, cos, pi\n",
+ "#Determination of lenght of geostationary satellite with angle of elavation=30\n",
+ "#degree\n",
+ "r = 64. * 10 ** 5#Radius of earth\n",
+ "h = 36. * 10 ** 6#height of satellite\n",
+ "theta = 30 * pi / 180.#angle of elevation\n",
+ "#calculations\n",
+ "d = sqrt(((r + h) ** 2) - ((r * cos(theta)) ** 2)) - (r * sin(theta))\n",
+ "#results\n",
+ "print 'The length of the path is',round(d / 1000,3),'km'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 759"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of signal strength at receiver -88.071 dBm\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 759\n",
+ "# prob no 20.4\n",
+ "#calculate the value of signal strength\n",
+ "#given\n",
+ "from math import log10\n",
+ "#A satellite transmitter operates at 4GHz with 7W & antenna gain 40dBi\n",
+ "#Receiver antenna gain 30dBi & path length is 4*10**7\n",
+ "Gt_dBi = 40.\n",
+ "Gr_dBi = 30.\n",
+ "Pt = 7\n",
+ "d = 40000.#in km\n",
+ "f = 4000.#in MHz\n",
+ "#calculations\n",
+ "Pr_Pt_dB = Gt_dBi + Gr_dBi - (32.44 + (20 * log10(d)) + (20 * log10(f)))\n",
+ "#Signal strength at transmitter\n",
+ "Pt_dBm = 10 * log10(Pt / 10 ** -3)\n",
+ "Pr_dBm = (Pt_dBm) + (Pr_Pt_dB)\n",
+ "#results\n",
+ "print 'The value of signal strength at receiver',round(Pr_dBm,3),'dBm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 760"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The receiver noise temperature is 21.013 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 760\n",
+ "# prob no 20.5\n",
+ "#calculate the receiver\n",
+ "#given\n",
+ "from math import log10\n",
+ "# In the given problem\n",
+ "G = 40# receiving antenna gain\n",
+ "T_sky = 15.# noise temp\n",
+ "L = 0.4#loss between antenna and LNA input\n",
+ "T_eq = 40.# noise temperature f LNA\n",
+ "#calculations\n",
+ "# Fir-st we have to find G in dB\n",
+ "G_dB = G - L\n",
+ "# For the calculation of T, we have to convert the feedhorn loss into a ratio\n",
+ "# as follows\n",
+ "L = 10 ** (0.4 / 10)\n",
+ "Ta = ((L - 1) * 290. + T_sky) / L\n",
+ "# The receiver noise temperature is given wrt the chosen reference\n",
+ "# point,theefore\n",
+ "Ratio = G - 10 * log10(Ta + T_eq)\n",
+ "#results\n",
+ "print 'The receiver noise temperature is',round(Ratio,3),'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 761"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Equivalent noise temperature is 119.64 K\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 761\n",
+ "# prob no 20.6\n",
+ "#calculate the equivalent noise temperature\n",
+ "#given\n",
+ "NF_dB=1.5;# noise fig of a receiver\n",
+ "#calculations\n",
+ "NF=10**(NF_dB/10);\n",
+ "# Equivalent noise temperature is giveb as\n",
+ "T_eq=290*(NF-1);\n",
+ "#results\n",
+ "print 'Equivalent noise temperature is',round(T_eq,2),'K'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 761"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The carrier to noise ratio at the receiver is 30.97 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 761\n",
+ "# prob no 20.7\n",
+ "#calculate the carrier to noise ratio\n",
+ "#given\n",
+ "from math import log10\n",
+ "# refer prob no 20.5\n",
+ "d=38000.;#distance of satellite from the Earth surface\n",
+ "P=50.;#transmitter power\n",
+ "G=30.;#antenna gain\n",
+ "f=12000.;#frequency in MHz\n",
+ "B=10**6;# Bandwidth in MHz\n",
+ "#from problem no 2.5\n",
+ "G_T=21;\n",
+ "L_misc=0;\n",
+ "k_dBW=-228.6;#Boltzmann's constant in dBW\n",
+ "#calculations\n",
+ "# There are no miscellaneous loss\n",
+ "#The stellite transmitting power in dBW is \n",
+ "Pt_dBW = 10*log10(P);\n",
+ "# The EIPR in dBW \n",
+ "EIRP_dBW=Pt_dBW + G;\n",
+ "#FSL in dB\n",
+ "FSL_dB= 32.44 + (20*log10(d)) + (20*log10(f));\n",
+ "# The carrier to noise ratio is\n",
+ "ratio=EIRP_dBW - FSL_dB - L_misc + G_T - k_dBW - 10*log10(B);\n",
+ "#results\n",
+ "print 'The carrier to noise ratio at the receiver is',round(ratio,2),'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 762"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The total time delay is 0.000533 sec\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 762\n",
+ "# prob no 20.8\n",
+ "#calculate the total time delay\n",
+ "#given\n",
+ "D=40000.;# distance of satellite from the earth station\n",
+ "v=3*10**8;# velo of light\n",
+ "d=80000.;# distance between two earth stations\n",
+ "#calculations\n",
+ "# time delay is given as\n",
+ "t=d/v;\n",
+ "# total time delay will be twice that of calculated above\n",
+ "T=2*t;\n",
+ "#results\n",
+ "print 'The total time delay is ',round(T,6),'sec'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 769"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The gain of TVRO is 39.39 dB\n",
+ "The beamwidth is 1.75 degree\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 769\n",
+ "# prob no 20.9\n",
+ "#calculate the gain and beamwidth\n",
+ "#given\n",
+ "from math import pi, log10\n",
+ "f_down = 4*10**9;# downlink freq\n",
+ "D=3.;#diameter\n",
+ "n=0.55;#efficiency\n",
+ "c=3.*10**8;#velo of light\n",
+ "#calculations\n",
+ "# The gain of a parabolic antenna is given as G=(n*%pi**2*D**2)/wl**2. Therefore wavelength is given as\n",
+ "wl=c/f_down\n",
+ "G=(n*pi**2*D**2)/wl**2;\n",
+ "G_dB = 10*log10(G);\n",
+ "# The beamwidth is given as\n",
+ "bw= (70*wl)/D;\n",
+ "#results\n",
+ "print 'The gain of TVRO is ',round(G_dB,2),'dB'\n",
+ "print 'The beamwidth is',round(bw,2),'degree'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter21.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter21.ipynb
new file mode 100644
index 00000000..59c92856
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter21.ipynb
@@ -0,0 +1,171 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 21 : Cellular Radio"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 795"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Handoff time is 720.0 sec\n",
+ "Handoff time is 36.0 sec\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 795\n",
+ "# prob no 21.1\n",
+ "#calculate the hand off time\n",
+ "#given\n",
+ "v=100.;#in km/hr\n",
+ "# first convert speed into m/sec\n",
+ "v1=(100.*10**3)/3600;#in km/sec\n",
+ "#calculations and results\n",
+ "#part a)\n",
+ "r=10.**4;#in m\n",
+ "t=(2*r)/v1;\n",
+ "print 'Handoff time is',t,'sec'\n",
+ "#part b)\n",
+ "r=500;#in m\n",
+ "t=(2*r)/v1;\n",
+ "print 'Handoff time is',t,'sec'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 807"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a) The average traffic is 416.667 E\n",
+ "The peak traffic is 3333.333 E\n",
+ "b) The average traffic per cell is 3.472 E\n",
+ "The peak traffic per cell is 27.778 E\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 807\n",
+ "# prob no 21.2\n",
+ "#calculate the average and peak traffic\n",
+ "#given\n",
+ "N = 12\n",
+ "m = 120.\n",
+ "a = 20000.\n",
+ "th = 30.#in min/day this means\n",
+ "H = 0.5\n",
+ "tp = 10.\n",
+ "#calculations and results\n",
+ "#part a)Calculation of the average and peak traffic in erlangs for the whole\n",
+ "#system\n",
+ "# The average traffic is\n",
+ "T = a * H / 24\n",
+ "print 'a) The average traffic is',round(T,3),'E'\n",
+ "# The peak traffic is\n",
+ "T1 = (a * tp) / 60\n",
+ "print 'The peak traffic is',round(T1,3),'E'\n",
+ "#part b)Calculation of the average and peak traffic in erlangs for one cell\n",
+ "# The average traffic per cell is\n",
+ "t = T / m\n",
+ "print 'b) The average traffic per cell is',round(t,3),'E'\n",
+ "# The peak traffic per cell is\n",
+ "t = T1 / m\n",
+ "print 'The peak traffic per cell is',round(t,3),'E'\n",
+ "# part c)\n",
+ "# For average traffic at 3.47E, the blocking probability is much less than 1%,\n",
+ "# since the average no of call is much less than the no of channels. \n",
+ "#However, the blocking probability increases to just over 5%"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 816"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum distance between base and mobile is 36900.0 m\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 816\n",
+ "# prob no 21.3\n",
+ "#calculate the max distance\n",
+ "#given\n",
+ "tg=123.*10**-6;\n",
+ "c=3.*10**8;\n",
+ "#calculations\n",
+ "#The maximum distance between base and mobile is\n",
+ "d=c*tg;\n",
+ "#results\n",
+ "print 'The maximum distance between base and mobile is',d,'m'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter22.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter22.ipynb
new file mode 100644
index 00000000..1bfbf9a0
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter22.ipynb
@@ -0,0 +1,70 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 22 : Personal Communication Systems"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 842"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The mobile transmitted power in dBm is 24 dBm\n",
+ "Case 2 : The mobile transmitted power is 100 mW\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 842\n",
+ "# prob no 22.1\n",
+ "#calculate the mobile transmitted power\n",
+ "#given\n",
+ "PR = -100;#In dBm\n",
+ "#calculations and results\n",
+ "# The mobile transmitted power is\n",
+ "PT_dBm =-76-PR;#this is in dBm\n",
+ "print 'The mobile transmitted power in dBm is',PT_dBm,'dBm'\n",
+ "PT_mW =10**(PT_dBm/10);\n",
+ "print 'Case 2 : The mobile transmitted power is',PT_mW,'mW'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter23.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter23.ipynb
new file mode 100644
index 00000000..94cfda30
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter23.ipynb
@@ -0,0 +1,150 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 23 : Paging and Wireless Data Networking"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 863"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The no of pages transmitted in one min are 887.0\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 863\n",
+ "# prob no 23.1\n",
+ "#calculate the no of pages transmitted\n",
+ "#given\n",
+ "bit_rate = 512.;#ib bps\n",
+ "t=60.;#in sec\n",
+ "# preamble uses 576 bits\n",
+ "preamble=576.;\n",
+ "#calculations\n",
+ "bits_total = bit_rate * t;\n",
+ "usable_bits = bits_total - preamble;\n",
+ "# each batch has one 32-bits synchronizing codeword and sixteen 32-bit address codewords for a total of 17*32=544bits. Therefore\n",
+ "bits_per_batch= 17.*32;\n",
+ "batches_per_min = usable_bits / bits_per_batch;\n",
+ "addr=16;\n",
+ "addr_per_min = batches_per_min*addr;\n",
+ "#results\n",
+ "print 'The no of pages transmitted in one min are',round(addr_per_min)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 864"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The efficiency is 0.256 b/s/Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 864\n",
+ "# prob no 23.2\n",
+ "#given\n",
+ "#calculate the efficiency\n",
+ "# For the given FLEX system \n",
+ "Wc=25*10**3;\n",
+ "bit_rate = 6400.;#in bps\n",
+ "#calculations\n",
+ "efficiency = bit_rate/Wc;\n",
+ "#results\n",
+ "print 'The efficiency is',efficiency,'b/s/Hz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 871"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum hopping rate is 320.0 Hz\n",
+ "The maximum hopping rate is 1600.0 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 871\n",
+ "# prob no 23.3\n",
+ "#calculate the min and max hopping rate\n",
+ "#given\n",
+ "# for the Bluetooth system\n",
+ "fh_max=1/(625*10**-6);\n",
+ "fh_min=1/(5*625*10**-6);\n",
+ "#results\n",
+ "print 'The minimum hopping rate is',fh_min,'Hz'\n",
+ "print 'The maximum hopping rate is ',fh_max,'Hz'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter24.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter24.ipynb
new file mode 100644
index 00000000..b8267304
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter24.ipynb
@@ -0,0 +1,314 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 24 : Fiber Optics"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 888"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The core diameter is 4.18746666667e-06 m\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 888\n",
+ "# prob no 24.3\n",
+ "#calculate the core diameter\n",
+ "#given\n",
+ "NA=0.15;\n",
+ "wl=820*10**-9;#in m\n",
+ "#calculations\n",
+ "d_core=2*(0.383*wl/NA);\n",
+ "#results\n",
+ "print 'The core diameter is',d_core,'m'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 890"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximun distance that can be use between repeaters is 5.88 km\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 890\n",
+ "# prob no 24.4\n",
+ "#calculate the max distance\n",
+ "#given\n",
+ "Bl=500;#in MHz-km\n",
+ "B=85.;#in MHz\n",
+ "#calculations\n",
+ "# By using Bandwidth-distance product formula\n",
+ "l=Bl/B;\n",
+ "#results\n",
+ "print 'The maximun distance that can be use between repeaters is',round(l,2),'km'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 891"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The total dispersion is 948.95 ps\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 891\n",
+ "# prob no 24.5\n",
+ "#calculate the total dispersion\n",
+ "#given\n",
+ "wl0=1310.;#in ns\n",
+ "So=0.05;#in ps/(nm**2*km)\n",
+ "l=50.;#in km\n",
+ "wl=1550.;#in ns\n",
+ "d=2.;#in nm\n",
+ "#calculations\n",
+ "# Chromatic dispersion is given as\n",
+ "Dc=(So/4)*(wl-(wl0**4/wl**3));\n",
+ "# Dispersion is\n",
+ "D=Dc*d;\n",
+ "# Therefore total dispersion is \n",
+ "dt=D*l;\n",
+ "#results\n",
+ "print 'The total dispersion is',round(dt,2),'ps'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 893"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The bandwidth distance product is 26343519494.2 Hz-km\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 893\n",
+ "# prob no 24.6\n",
+ "#given\n",
+ "#calculate the bandwidth distance product\n",
+ "#Refer problem 24.5\n",
+ "dt=949*10**-12;#in sed\n",
+ "l=50.;#in km\n",
+ "#calculations\n",
+ "B=1/(2*dt);\n",
+ "#By using Bandwidth-distance product formula\n",
+ "Bl= B*l;\n",
+ "#results\n",
+ "print 'The bandwidth distance product is',Bl,'Hz-km'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 899"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a) The proportion of input power emerging at port 2 is 10.0 %\n",
+ "b) The proportion of input power emerging at port 3 is 10.0 %\n",
+ "Directivity is 40 dB\n",
+ "the excess loss is 6.99 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 899\n",
+ "# prob no 24.7\n",
+ "#calculate the directivity, power, excess loss\n",
+ "#given\n",
+ "from math import log10\n",
+ "# refer table from the problem page no 899\n",
+ "P_coupling1 =-3; P_coupling2 = -6; P_coupling3 =-40;# in dB\n",
+ "#calculations and results\n",
+ "#Part a) The proportion of input power emerging at port 2\n",
+ "P2_Pin=10**(P_coupling1/10);\n",
+ "print 'a) The proportion of input power emerging at port 2 is',P2_Pin*100,'%'\n",
+ "P3_Pin=10**(P_coupling2/10);\n",
+ "print 'b) The proportion of input power emerging at port 3 is',P3_Pin*100,'%'\n",
+ "# Part b) In the reverse direction,the signal is 40dB down for all combinations, so\n",
+ "directivity = 40;\n",
+ "print 'Directivity is',directivity,'dB'\n",
+ "Pin_total = P2_Pin + P3_Pin;\n",
+ "# excess loss in dB\n",
+ "loss=-10*log10(Pin_total);\n",
+ "print 'the excess loss is',round(loss,2),'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 901"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The energy of photon in eV is 1.242375 eV\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 901\n",
+ "# prob no 24.8\n",
+ "#calculate the energy of photon\n",
+ "#given\n",
+ "wl=1*10**-6;\n",
+ "c= 3*10**8;\n",
+ "h=6.626*10**-34\n",
+ "#calculations\n",
+ "f=c/wl;\n",
+ "E=h*f;# in Joule\n",
+ "#this energy can be converted into electron-volt. we know 1eV=1.6*10**-19 J\n",
+ "eV=1.6*10**-19 ;\n",
+ "E_ev=E/eV;\n",
+ "#results\n",
+ "print 'The energy of photon in eV is',E_ev,'eV'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 909"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The diode current is 165.0 nA\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 909\n",
+ "# prob no 24_9\n",
+ "#calculate the diode current\n",
+ "#given\n",
+ "# refer fig 24.25\n",
+ "P_in=500;Responsivity=0.33;\n",
+ "#calculations\n",
+ "I_d = P_in * Responsivity;\n",
+ "#results\n",
+ "print 'The diode current is',I_d,'nA'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter25.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter25.ipynb
new file mode 100644
index 00000000..00dafb1b
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter25.ipynb
@@ -0,0 +1,245 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 25 : Fiber Optic Systems"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 919"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The system margin is 7.011 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 919\n",
+ "# prob no 25_1\n",
+ "#calculate the system margin\n",
+ "#given\n",
+ "from math import log10\n",
+ "span_length = 40#in km\n",
+ "Pin_mW = 1.5\n",
+ "signal_strength_dBm = -25\n",
+ "fiber_length = 2.5#in km\n",
+ "loss_per_slice_dB = 0.25\n",
+ "f_loss_dB_per_km = 0.3\n",
+ "loss_connector_dB = 4\n",
+ "#calculations\n",
+ "Pin_dBm = 10 * log10(Pin_mW)\n",
+ "splices = span_length / fiber_length - 1\n",
+ "fiber_loss = span_length * f_loss_dB_per_km\n",
+ "splice_loss = splices * loss_per_slice_dB\n",
+ "T_loss = fiber_loss + splice_loss + loss_connector_dB\n",
+ "P_out = Pin_dBm - T_loss\n",
+ "sys_margin = P_out - signal_strength_dBm\n",
+ "#results\n",
+ "print 'The system margin is',round(sys_margin,3),'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 921"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum permissible value for the pulse-spreading constant is 2.22 ns/km\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 921\n",
+ "# prob no 25_2\n",
+ "#calculate the max permissible value\n",
+ "#given\n",
+ "L=45;#in km\n",
+ "dt=100.;#in ns\n",
+ "#calculations\n",
+ "#The maximum permissible value for the pulse-spreading constant is \n",
+ "D=dt/L;\n",
+ "#results\n",
+ "print 'The maximum permissible value for the pulse-spreading constant is',round(D,2),'ns/km'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 922"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a) The maximum bit rate for NRZ 0.00743 GHz\n",
+ "b) The maximum bit rate for NRZ 0.00371 GHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 922\n",
+ "# prob no 25_3\n",
+ "#calculate the max bitrate in both cases#given\n",
+ "#given\n",
+ "from math import sqrt\n",
+ "L=45.;\n",
+ "T_Rtx=50.; T_Rrx=75.; T_Rf=100.;\n",
+ "#calculations and results\n",
+ "T_RT=sqrt(T_Rtx**2 + T_Rrx**2 + T_Rf**2);\n",
+ "# a) for NRZ\n",
+ "fb=1/T_RT;\n",
+ "print 'a) The maximum bit rate for NRZ',round(fb,5),'GHz'\n",
+ "# b) for RZ\n",
+ "fb=1/(2*T_RT);\n",
+ "print 'b) The maximum bit rate for NRZ',round(fb,5),'GHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 924"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Dispersion is 1.0 ns/km\n",
+ "Total rise time is 5.0 ns\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 924\n",
+ "# prob no 25_4\n",
+ "#calculate the total rise time and dispersion\n",
+ "#given\n",
+ "Bl=500.;#in MHz-km\n",
+ "L=5.;#in km\n",
+ "#calculations and results\n",
+ "# using the bandwidth-distance product formula dispersion is given as\n",
+ "D=500/Bl;\n",
+ "print 'Dispersion is',D,'ns/km'\n",
+ "# Total rise time is given as\n",
+ "T_rt= D*L;\n",
+ "print 'Total rise time is',T_rt,'ns'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 924"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum acceptable dispersion is 0.139 ns/km\n",
+ "The bandwidth-distance product is 3608.439 MHz-km\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 924\n",
+ "# prob no 25_5\n",
+ "#calculate the max acceptable dispersion and bandwidth-distance product\n",
+ "#given\n",
+ "from math import sqrt\n",
+ "T_Rrx=3.*10**-9;\n",
+ "T_Rtx=2.*10**-9;\n",
+ "fb=100.*10**6;#in bps\n",
+ "L=25;#in km\n",
+ "#calculations and results\n",
+ "T_RT = 1/(2*fb)\n",
+ "# we have to compute rise time therefore\n",
+ "T_rf= sqrt(T_RT**2 - T_Rtx**2 - T_Rrx**2)\n",
+ "# dispersion per km is\n",
+ "D= T_rf/L;\n",
+ "print 'The maximum acceptable dispersion is',round(D/10**-9,3),'ns/km'\n",
+ "# using the bandwidth-distance product\n",
+ "Bl=500/D;\n",
+ "print 'The bandwidth-distance product is',round(Bl*10**-9,3),'MHz-km'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter3.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter3.ipynb
new file mode 100644
index 00000000..c0bd9d20
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter3.ipynb
@@ -0,0 +1,414 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 3 : The Amplitude Modulation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 105"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "V(t) = ( 2.83 + 1.41 *sin( 3142.0 *t))*sin( 9424778.0 *t) V\n"
+ ]
+ }
+ ],
+ "source": [
+ "# page no 105\n",
+ "# prob no 3.1\n",
+ "#calculate the Voltage equation\n",
+ "from math import pi, sqrt\n",
+ "# given\n",
+ "Erms_car=2; f_car=1.5*10**6;f_mod=500;Erms_mod=1;\n",
+ "# Equation requires peak voltages & radian frequencies\n",
+ "#calculations\n",
+ "Ec=sqrt(2)*Erms_car; Em=sqrt(2)*Erms_mod;\n",
+ "wc=2*pi*f_car; \n",
+ "wm=2*pi*f_mod;t=1;\n",
+ "#results\n",
+ "# Therefore the equation is \n",
+ "print 'V(t) = (',round(Ec,2),'+ ',round(Em,2),'*sin(',round(wm),'*t))*sin(',round(wc),'*t) V'\n",
+ "#print 'v(t) = (2.83+1.41*sin(3.14*10**3*t))*sin(9.42*10**6*t) V'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 106"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "m = 0.5\n",
+ "The equation can be obtained as v(t) = 2.83(1+ 0.5 *sin(3.14*10**3*t))*sin(9.42*10**6*t) V\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 106\n",
+ "#prob no 3.2\n",
+ "#calculate the voltage equation\n",
+ "# To avoid the round-off errors we should use the original voltage values\n",
+ "#given\n",
+ "Em=1.;Ec=2.;\n",
+ "#Calculations\n",
+ "m=Em/Ec;\n",
+ "#results\n",
+ "print 'm =',m\n",
+ "print 'The equation can be obtained as','v(t) = 2.83(1+ ',m,'*sin(3.14*10**3*t))*sin(9.42*10**6*t) V',"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 109"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The modulation index is 0.374\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 109\n",
+ "#prob no 3.3\n",
+ "#calculate the modulation index\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "E_car=10.;E_m1=1.;E_m2=2.;E_m3=3.;\n",
+ "#calculations\n",
+ "m1=E_m1/E_car;\n",
+ "m2=E_m2/E_car;\n",
+ "m3=E_m3/E_car;\n",
+ "mT=sqrt(m1**2+m2**2+m3**2);\n",
+ "#results\n",
+ "print 'The modulation index is',round(mT,3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 110"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The modulation index is 0.364\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 110\n",
+ "#prob no 3.4\n",
+ "#calculate the modulation index\n",
+ "#refer fig 3.2\n",
+ "#given\n",
+ "E_max=150.; E_min=70;# voltages are in mV\n",
+ "#calculations\n",
+ "m=(E_max-E_min)/(E_max+E_min);\n",
+ "#results\n",
+ "print 'The modulation index is',round(m,3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 114"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum modulation freq is 5000.0 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 114\n",
+ "#prob no 3.6\n",
+ "#calculate the max modulation frequency\n",
+ "#given\n",
+ "B=10.*10**3;\n",
+ "#calculations\n",
+ "# maximum modulation freq is given as \n",
+ "fm=B/2;\n",
+ "#results\n",
+ "print 'The maximum modulation freq is',fm,'Hz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 116"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The total power is 66.0 kW\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 116\n",
+ "#prob no 3.7\n",
+ "# AM broadcast transmitter\n",
+ "#calculate the total power\n",
+ "#given\n",
+ "Pc=50.;m=0.8;#power is in kW\n",
+ "#calculations\n",
+ "Pt=Pc*(1+m**2 /2);\n",
+ "#results\n",
+ "print 'The total power is',Pt,'kW'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 118"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Signal Frequency in Hz = 426000\n"
+ ]
+ }
+ ],
+ "source": [
+ "# page no 118\n",
+ "# prob no 8.6\n",
+ "#calculate the signal frequency\n",
+ "#2 kHz tone is present on channel 5 of group 3 of supergroup\n",
+ "#signal is lower sided so\n",
+ "#given\n",
+ "fc_channel_5=92*10**3;\n",
+ "#calculations\n",
+ "fg=fc_channel_5 - (2*10**3);# 2MHz baseband signal\n",
+ "# we know group 3 in the supergroup is moved to the range 408-456 kHz with a suppressed carrier frequency of 516kHz\n",
+ "f_s_carr=516*10**3;\n",
+ "fsg=f_s_carr - fg;\n",
+ "#results\n",
+ "print'The Signal Frequency in Hz =',fsg;"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 122"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The total power is 200.0 uW\n",
+ "The modulating freq is 2.0 kHz\n",
+ "The carrier freq 10.0 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 122\n",
+ "#prob no. 3.9\n",
+ "#calculate the total power, modulating frequency and carrier frequency\n",
+ "# refer fig 3.14\n",
+ "#given\n",
+ "# from spectrum we can see that each of the two sidebands is 20dB below the ref level of 10dBm. \n",
+ "#Therefore each sideband has a power of -10dBm i.e. 100uW.\n",
+ "power_of_each_sideband = 100.;\n",
+ "#calculations and results\n",
+ "Total_power = 2.* power_of_each_sideband;\n",
+ "print 'The total power is',Total_power,'uW'\n",
+ "div=4; freq_per_div=1.;\n",
+ "sideband_separation = div * freq_per_div;\n",
+ "f_mod= sideband_separation/2;\n",
+ "print 'The modulating freq is ',f_mod,'kHz'\n",
+ "# Even if this siganl has no carrier, it still has a carrier freq which is midway between the two sidebands. Therefore\n",
+ "carrier_freq = 10.;\n",
+ "print 'The carrier freq',carrier_freq,'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10 : pg 126"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The o/p freq f_out1 is 7 MHz\n",
+ "The o/p freq f_out2 is 7.9965 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "# page no 126\n",
+ "# prob no 3.10\n",
+ "#calculate the o/p frequency in both cases\n",
+ "#given\n",
+ "f_car=8*10**6;f_mod1=2*10**3;f_mod2=3.5*10**3;\n",
+ "#calculations\n",
+ "#Signal is LSB hence o/p freq is obtained by subtracting f_mod from f_car\n",
+ "f_out1=f_car-f_mod1; \n",
+ "f_out2=f_car-f_mod2; \n",
+ "#results\n",
+ "print 'The o/p freq f_out1 is ',f_out1/(10**6),'MHz'\n",
+ "print 'The o/p freq f_out2 is ',f_out2/(10**6),'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11 : pg 127"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of average power of signal is 1.5625 W\n"
+ ]
+ }
+ ],
+ "source": [
+ "# page no 127\n",
+ "# prob no 3.11\n",
+ "#calculate the value of average power of signal\n",
+ "from math import sqrt\n",
+ "#Refering the fig. 3.17\n",
+ "#From fig it is clear that thee waveform is made from two sine waves \n",
+ "#given\n",
+ "Vp=12.5;#Since Vp-p is 25V from fig hence individual Vp is half of Vp-p\n",
+ "Rl=50.;#Load resistance is 50 ohm\n",
+ "#Determination of average power\n",
+ "#calculations\n",
+ "Vrms=Vp/sqrt(2);\n",
+ "P=((Vrms)**2)/Rl;\n",
+ "#results\n",
+ "print 'The value of average power of signal is ',P,'W'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter4.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter4.ipynb
new file mode 100644
index 00000000..8b403455
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter4.ipynb
@@ -0,0 +1,476 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 4 : Angle Modulation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 139"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The value of o/p freq is 175.0045 MHz\n",
+ "b)The value of o/p freq is 174.94 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 139\n",
+ "#prob no. 4.1\n",
+ "#Calculate the o/p frequency\n",
+ "#An FM modulator is given with kf=30kHz/V operate at carrier freq 175MHz\n",
+ "#given\n",
+ "fc=175.*10**6;kf=30.*10**3;\n",
+ "#a)Determination of o/p freq for modulating signal value em1=150mV \n",
+ "em1=150*10**-3;\n",
+ "#calculations and results\n",
+ "fsig1=fc+(kf*em1);\n",
+ "print 'a)The value of o/p freq is ',fsig1/(10**6),'MHz'\n",
+ "#b)Determination of o/p freq for modulating signal value em2=-2V \n",
+ "em2=-2;\n",
+ "fsig2=fc+(kf*em2);\n",
+ "print 'b)The value of o/p freq is ',fsig2/(10**6),'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of deviation is 127.279 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 140\n",
+ "#prob no. 4.2\n",
+ "#calculate the value of deviation\n",
+ "from math import sqrt\n",
+ "#An FM modulator is given which is modulated by sine wave 3V\n",
+ "#given\n",
+ "v=3.;\n",
+ "kf=30.*10**3;\n",
+ "#calculations\n",
+ "#Determination of peak value \n",
+ "Em=v*sqrt(2);\n",
+ "#Determination of deviation delta\n",
+ "delta=kf*Em;\n",
+ "#results\n",
+ "print 'The value of deviation is ',round(delta/1000.,3),'kHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 140"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The value of modulation index for fm=15kHz is 5.0\n",
+ "b)The value of modulation index for fm=50Hz is 1500.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "#page no 140\n",
+ "#prob no. 4.3\n",
+ "#calculate the value of modulation index in both cases\n",
+ "#An FM broadcaster transmitter operate at max deviatn of 75kHz\n",
+ "#given\n",
+ "delta=75.*10**3;\n",
+ "#a)Determination of modulation index with modulating freq of signal =15kHz\n",
+ "fm1=15.*10**3;\n",
+ "#calculations and results\n",
+ "mf1=delta/fm1;\n",
+ "print 'a)The value of modulation index for fm=15kHz is ',mf1\n",
+ "#b)Determination of modulation index with modulating freq of signal =50Hz\n",
+ "fm2=50;\n",
+ "mf2=delta/fm2;\n",
+ "print 'b)The value of modulation index for fm=50Hz is ',mf2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 141"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The rms voltage that cause deviation is 0.37 V\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 141\n",
+ "#prob no. 4.4\n",
+ "from math import pi, sqrt\n",
+ "#calculate the rms voltage\n",
+ "#A phase modulator is given with kp=2rad/V \n",
+ "#given\n",
+ "kp=2;\n",
+ "#Peak phase deviation of 60 degree\n",
+ "#calculations\n",
+ "#Converting degree in radian \n",
+ "phi=(2*pi*60)/360;\n",
+ "#Determination of peak voltage that cause that deviation \n",
+ "Vp=phi/kp;\n",
+ "#Determination of rms voltage\n",
+ "Vrms=Vp/(sqrt(2));\n",
+ "#results\n",
+ "print 'The rms voltage that cause deviation is ',round(Vrms,2),'V'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 145"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The freq deviation produce is 6.0 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 145\n",
+ "#prob no. 4.6\n",
+ "#calculate the freq deviation \n",
+ "#given\n",
+ "#Phase modulator with sensitivity kp=3rad/V & sine wave i/p 2 V peak at 1kHz\n",
+ "kp=3.;Vp=2.;f=1*10**3;\n",
+ "#calculations\n",
+ "#As max value of sine functn is 1, hence max value of phi is kp*Vp\n",
+ "phi_max=kp*Vp;\n",
+ "#phi_max is nothing but mp\n",
+ "mp=phi_max;\n",
+ "#value of mf is same as mp if signal is considered as freq modulation\n",
+ "#Determination of freq deviation\n",
+ "dev=mp*f;\n",
+ "#results\n",
+ "print 'The freq deviation produce is',dev/1000,'kHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 149"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The rms signal voltage is 15.8113883008 V\n",
+ "b)The rms voltage of side bands are\n",
+ "Vc= 4.11\n",
+ "V1= 5.38\n",
+ "V2= 7.75\n",
+ "V3= 0.0\n",
+ "c)The 3 side bands at different freq. are \n",
+ "f_usb1= 160.0\n",
+ "f_usb2= 160.0\n",
+ "f_usb3= 0.0\n",
+ "f_lsb1= 160.0\n",
+ "f_lsb2= 160.0\n",
+ "f_lsb3= 0.0\n",
+ "d)The power of each side band is\n",
+ "Pc= 0.34\n",
+ "P1= 0.58\n",
+ "P2= 1.2\n",
+ "P3= 0.0\n",
+ "e)Percentage total power which is uncounted is 28.3697047497 % f)Power of each side bands in dBm is\n",
+ "Pc(dBm)= 25.29\n",
+ "P1(dBm)= 27.62\n",
+ "P2(dBm)= 30.79\n",
+ "P3(dBm)= 0.0\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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\nAElFTkSuQmCC\n",
+ "text/plain": [
+ "<matplotlib.figure.Figure at 0x3715da0>"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 149\n",
+ "#prob no. 4.7\n",
+ "#calculate the rms voltage in all cases \n",
+ "%matplotlib inline\n",
+ "from math import sqrt, log10\n",
+ "import numpy\n",
+ "import matplotlib\n",
+ "from matplotlib import pyplot\n",
+ "#given\n",
+ "#An FM signal has deviation 3kHz & modulating freq 1kHz with total power Pt=5W\n",
+ "#developed across 50 ohm with fc=160 MHz\n",
+ "dev = 3. * 10 ** 3\n",
+ "fm = 10 ** 3\n",
+ "Pt = 5.\n",
+ "Rl = 50.\n",
+ "fc = 160. * 10 ** 6\n",
+ "#calculations and results\n",
+ "#a)Determination of RMS signal voltage\n",
+ "Vt = sqrt(Pt * Rl)\n",
+ "print 'a)The rms signal voltage is',Vt,'V'\n",
+ "######/b)Determination of rms voltage at carrier freq\n",
+ "#for that modulation index needs to be found out\n",
+ "mf = dev / fm\n",
+ "#From bessel function table, the coeff for the carrier first 3 side bands\n",
+ "J = ([0.26,0.34,0.49,0.31])\n",
+ "V = numpy.zeros(4)\n",
+ "print 'b)The rms voltage of side bands are'\n",
+ "for i in range(0,3):\n",
+ " V[i] = J[i] * Vt\n",
+ "\n",
+ "print 'Vc=',round(V[0],2)\n",
+ "print 'V1=',round(V[1],2)\n",
+ "print 'V2=',round(V[2],2)\n",
+ "print 'V3=',round(V[3],2)\n",
+ "#####/c)Determination of freq of each side bands########\n",
+ "print 'c)The 3 side bands at different freq. are '\n",
+ "f_usb = numpy.zeros(3)\n",
+ "for j in range(0,2):\n",
+ " f_usb[j] = fc / 10 ** 6 + (fm * j / 10 ** 6)\n",
+ "\n",
+ "print 'f_usb1=',round(f_usb[0],2)\n",
+ "print 'f_usb2=',round(f_usb[1],2)\n",
+ "print 'f_usb3=',round(f_usb[2],2)\n",
+ "\n",
+ "f_lsb = numpy.zeros(3)\n",
+ "for j in range(0,2):\n",
+ " f_lsb[j] = fc / 10 ** 6 - (fm * j / 10 ** 6)\n",
+ "\n",
+ "print 'f_lsb1=',round(f_lsb[0],2)\n",
+ "print 'f_lsb2=',round(f_lsb[1],2)\n",
+ "print 'f_lsb3=',round(f_lsb[2],2)\n",
+ "\n",
+ "P = numpy.zeros(4)\n",
+ "a = numpy.zeros(4)\n",
+ "######d)Determination of power of each side band########/\n",
+ "for i in range(0,3):\n",
+ " P[i] = ((V[i]) ** 2) / Rl\n",
+ " a[i] = (P[i]) / (10 ** -3)\n",
+ "\n",
+ "print 'd)The power of each side band is'\n",
+ "print 'Pc=',round(P[0],2)\n",
+ "print 'P1=',round(P[1],2)\n",
+ "print 'P2=',round(P[2],2)\n",
+ "print 'P3=',round(P[3],2)\n",
+ "\n",
+ "#####e)Determination of power that is uncounted\n",
+ "P = P[0] + 2 * (P[2] + P[3] + P[1])\n",
+ "#As total power is 5 W\n",
+ "P_x = Pt - P\n",
+ "#Percentage of total power uncounted\n",
+ "Px = (P_x / P) * 100\n",
+ "print 'e)Percentage total power which is uncounted is',Px,'%',\n",
+ "#####f)Ploting the signal in freq domain##########/\n",
+ "#Converting power in dBm\n",
+ "P_dBm = numpy.zeros(4)\n",
+ "for i in range(0,3):\n",
+ " #a(k)=(P(k))/(10**-3);\n",
+ " P_dBm[i] = 10 * log10(a[i]) \n",
+ "\n",
+ "print 'f)Power of each side bands in dBm is'\n",
+ "print 'Pc(dBm)=',round(P_dBm[0],2)\n",
+ "print 'P1(dBm)=',round(P_dBm[1],2)\n",
+ "print 'P2(dBm)=',round(P_dBm[2],2)\n",
+ "print 'P3(dBm)=',round(P_dBm[3],2)\n",
+ "\n",
+ "x = ([159.997,159.998,159.999,160.0,160.001,160.002,160.003])\n",
+ "y = ([26.8,30.8,27.6,25.3,27.6,30.8,26.8])\n",
+ "pyplot.plot(x,y);\n",
+ "pyplot.show();\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 157"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The SNR at detector o/p is 33.979 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 157\n",
+ "#prob no. 4.9\n",
+ "#calculate the SNR at detector o/p\n",
+ "from math import log10\n",
+ "#given\n",
+ "#An FM signal has freq deviation of 5kHz modulating freq fm=1kHz with SNR at i/p is 20 dB\n",
+ "#Converting dB in voltage ratio\n",
+ "fm=1.*10**3;dev_s=5.*10**3;snr=20.;\n",
+ "#calculations\n",
+ "Es_En=10**(snr/20);\n",
+ "#Since Es>>En then \n",
+ "phi=1/(Es_En);\n",
+ "m_fn=phi;#modulation index equal to phi_n\n",
+ "dev_n=(m_fn)*fm;#Equivalent freq deviation due to noise\n",
+ "#SNR as a voltage ratio is given as\n",
+ "SNR=(dev_s)/(dev_n);\n",
+ "#Converting this voltage ration in dB\n",
+ "SNR_dB=20*(log10(SNR));\n",
+ "#results\n",
+ "print 'The SNR at detector o/p is',round(SNR_dB,3),'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10 : pg 163"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The freq is with in the acceptable range 2.083 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 163\n",
+ "#prob no. 4.10\n",
+ "#calculate whether the freq is with in the acceptable range\n",
+ "#Refer the fig. 4.19\n",
+ "#given\n",
+ "# We know this transmitter is designed for voice frequencies,so we have to use trial \n",
+ "#and error method to produce a carrier null for a deviation of 5kHz\n",
+ "mf=2.4;# starting with the first null for mf=2.4\n",
+ "dev=5;#in kHz\n",
+ "#calculations and results\n",
+ "fm=dev/mf;\n",
+ "if (0.3 <= fm and 3>=fm):\n",
+ " print 'The freq is with in the acceptable range',round(fm,3),'kHz'\n",
+ "else:\n",
+ " mf=5.5;\n",
+ " fm=dev/mf;\n",
+ " print 'The freq is with in the acceptable range',round(fm,3),'kHz'\n",
+ "# for this calculated fm, set the function generator to the value of fm so that the deviation is 5kHz"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter5.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter5.ipynb
new file mode 100644
index 00000000..43d274af
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter5.ipynb
@@ -0,0 +1,448 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 5 : Transmitters"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 179"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of dc power input is 14.29 W\n",
+ "The value of audio power is 7.14 W\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 179\n",
+ "#prob no. 5.2\n",
+ "#calculate the power in both cases\n",
+ "#A transmitter with carrier power o/p 10W at efficiency 70% at 100% modulatn\n",
+ "#given\n",
+ "Po=10.;eta=0.7;\n",
+ "#calculations\n",
+ "#Determination of dc power o/p\n",
+ "Ps=Po/eta;\n",
+ "Pa=0.5*Ps;\n",
+ "#results\n",
+ "print 'The value of dc power input is',round(Ps,2),'W'\n",
+ "#Determination of audio power \n",
+ "print 'The value of audio power is',round(Pa,2),'W'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 181"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The impedance of transformer secondary is 6.0 ohm\n",
+ "The impedance of transformer primary is 96.0 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 181\n",
+ "#prob no. 5.3\n",
+ "#calculate the impedance of both transformers\n",
+ "#given\n",
+ "#A transmitter operates at 12V, with collector current 2A.Modulatn transformer has turn ratio 4:1\n",
+ "#Determination of impedance at transformer secondary \n",
+ "Vcc=12.;Ic=2.;N1=4.;N2=1.;\n",
+ "#calculations\n",
+ "Za=Vcc/Ic;\n",
+ "Zp=Za*(N1/N2)**2;\n",
+ "#results\n",
+ "print 'The impedance of transformer secondary is',Za,'ohm'\n",
+ "#Determination of impedance of transformer primary \n",
+ "print 'The impedance of transformer primary is',Zp,'ohm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 182"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The o/p power with 100% modulation is 150.0 W\n",
+ "The value of supply power is 214.286 W\n",
+ "Power dissipated is 64.286 W\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 182\n",
+ "#prob no. 5.4\n",
+ "#calculate the o/p power, supply power and dissipated power\n",
+ "#Class C amplifier with carrier o/p power of 100W with efficiency of 70% & with 100% modulation\n",
+ "#given\n",
+ "Pc=100;eta=0.7;\n",
+ "#calculations and results\n",
+ "#Determination of o/p power\n",
+ "Po=1.5*Pc;\n",
+ "print 'The o/p power with 100% modulation is',Po,'W'\n",
+ "#Determination of supply power\n",
+ "Ps=Po/eta;\n",
+ "print 'The value of supply power is',round(Ps,3),'W'\n",
+ "#Determination of power dissipated Pd\n",
+ "Pd=Ps-Po;\n",
+ "print 'Power dissipated is',round(Pd,3),'W'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 184"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The load impedance is 11.25 ohm\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 184\n",
+ "#prob no. 5.5\n",
+ "#calculate the load impedance\n",
+ "#given\n",
+ "#An FM transmitter produce 10W of carrier power operating at 15V\n",
+ "Vcc=15.;Pc=10.;\n",
+ "#calculations\n",
+ "#Determination of load impedance seen from collector\n",
+ "Rl=((Vcc)**2)/(2*Pc);\n",
+ "#results\n",
+ "print 'The load impedance is',Rl,'ohm'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 193"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The USB will be passed\n",
+ "b)The carrier freq should be moved to the high end of filter at 5.0015 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 193\n",
+ "#prob no. 5.6\n",
+ "#Refer fig. 5.13\n",
+ "#calculate the frequency required\n",
+ "#given\n",
+ "#Filter method SSB generator \n",
+ "fc=5.*10**6;#filter centre freq.\n",
+ "BW=3.*10**3;#Filter bandwidth\n",
+ "#calculations\n",
+ "foc=4.9985*10**6;#carrier oscillator freq.\n",
+ "foc2 = foc + BW\n",
+ "#results\n",
+ "print 'a)The USB will be passed'#Since carrier freq is at low end of passband\n",
+ "print 'b)The carrier freq should be moved to the high end of filter at',foc2/10**6,'MHz'#To generate the LSB"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 196"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The freq of local oscillator 12.5015 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 196\n",
+ "#prob no. 5.7\n",
+ "#calculate the freq of local oscillator\n",
+ "#SSB transmitter refering fig.5.17 to transmit USB signal at carrier freq 21.5MHz\n",
+ "#given\n",
+ "fo=21.5;#carrier freq in MHz\n",
+ "foc=8.9985;#carrier oscillator freq. in MHz\n",
+ "#calculations\n",
+ "#Determination of freq of local oscillator\n",
+ "flo=fo-foc;\n",
+ "#results\n",
+ "print 'The freq of local oscillator',flo,'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 199"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The o/p carrier freq 21.503 MHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 199\n",
+ "#prob no. 5.8\n",
+ "#given\n",
+ "#LSB transmitter refering fig.5.14 with new carrier freq 9.0015 MHz & local oscillator freq 12.5015MHz\n",
+ "fco=9.0015;#carrier oscillator freq\n",
+ "flo=12.5015;#local oscillator freq\n",
+ "#calculations\n",
+ "#Determination of new o/p freq\n",
+ "fo=fco+flo;\n",
+ "#results\n",
+ "print 'The o/p carrier freq',fo,'MHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 204"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)See fig.5.23 for this block diagram\n",
+ "b)Transmitter is capable of 5kHz deviation\n",
+ "c)The oscillator freq is 8.333 MHz\n",
+ "The audio RMS voltage is 97.934 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 204\n",
+ "#prob no. 5.9\n",
+ "#A direct FM transmitter with kf=2kHz/V & max deviatn of 300Hz.\n",
+ "#calculate the freq, rms voltage\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "kf=2.*10**3;tx_dev=300.;\n",
+ "print 'a)See fig.5.23 for this block diagram'\n",
+ "f_mul=3*2*3;#3 stage freq multiplier with tripler doubler and tripler\n",
+ "#b)Determination of max dev at oscillator \n",
+ "dev_o=5*10**3;#Deviation at o/p\n",
+ "dev_osc=dev_o/f_mul;\n",
+ "if dev_osc < tx_dev:\n",
+ " print 'b)Transmitter is capable of 5kHz deviation'\n",
+ "else:\n",
+ " print 'b)Transmitter is not capable of 5kHz deviation'\n",
+ "#c)Determination of oscillator freq\n",
+ "fo=150.;#carrier freq in MHz\n",
+ "fosc=fo/f_mul;\n",
+ "print 'c)The oscillator freq is',round(fosc,3),'MHz'\n",
+ "#d)Determination of audio voltage for full deviation\n",
+ "Vi_peak=dev_osc/kf;#dev at oscillator of 278Hz causes full 5kHz deviation\n",
+ "#converting peak voltage to rms voltage\n",
+ "Vi_RMS=Vi_peak/sqrt(2);\n",
+ "print 'The audio RMS voltage is',round(Vi_RMS*10**3,3),'mV'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10 : pg 206"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Freq deviation of oscillator is 231.481 Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 206\n",
+ "#prob no. 5.10\n",
+ "#Refer fig.5.24\n",
+ "#calculate the freq deviation\n",
+ "#given\n",
+ "#Till the antenna there are 2 doubler and 4 tripler\n",
+ "f_mul=18.*18;\n",
+ "dev_o=75*10**3;#o/p freq deviation is 75kHz\n",
+ "#calculations\n",
+ "#Determiantion of reqd freq deviation of oscillator\n",
+ "dev_osc=dev_o/f_mul;\n",
+ "#results\n",
+ "print 'Freq deviation of oscillator is',round(dev_osc,3),'Hz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11 : pg 207"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The carrier freq of o/p signal 20.0 MHz\n",
+ "The RMS voltage for needed deviation is 141.42 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 207\n",
+ "#prob no. 5.11\n",
+ "#calculate the carrier freq and rms voltage\n",
+ "#given\n",
+ "from math import sqrt\n",
+ "#A PLL FM generator refering fig.5.25 with\n",
+ "f_ref=100.*10**3;N=200.;kf=50.*10**3;#in Hz/V\n",
+ "#calculations and results\n",
+ "#a)Determination of carrier freq of o/p signal\n",
+ "fc=N*f_ref;\n",
+ "print 'The carrier freq of o/p signal',fc/10**6,'MHz'\n",
+ "#b)Determination of RMS modulating voltage for 10kHz deviation\n",
+ "dev=10.*10**3;\n",
+ "Vp=dev/kf;\n",
+ "#Converting peak voltage to RMS voltage\n",
+ "V_RMS=Vp/sqrt(2);\n",
+ "print 'The RMS voltage for needed deviation is ',round(V_RMS*1000,2),'mV'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter6.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter6.ipynb
new file mode 100644
index 00000000..5b2b2ff2
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter6.ipynb
@@ -0,0 +1,404 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6 : Receivers"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 227"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The Bandwidth at 1700kHz is 17.743 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 227\n",
+ "#prob no. 6.1\n",
+ "#calculate the bandwidth\n",
+ "#given\n",
+ "from math import sqrt\n",
+ "#A tuned ckt with broadast band (540 to 1700 kHz).Bw=10kHz at 540 kHz\n",
+ "BW1=10.*10**3;f1=540.*10**3;f2=1700.*10**3;#all in Hz\n",
+ "#calculations\n",
+ "#Determination of BW at 1700kHz\n",
+ "BW2=BW1*sqrt(f2/f1);\n",
+ "#results\n",
+ "print 'The Bandwidth at 1700kHz is ',round(BW2/1000,3),'kHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 236"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The voltage value of signal is 1.581 mV\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 236\n",
+ "#prob no. 6.4\n",
+ "#calculate the voltage value of the signal\n",
+ "#given\n",
+ "#A receiver with sensitivity 0.5uV & blocking dynamic range 70dB.\n",
+ "#Determination of vpltage signal V1 \n",
+ "P1_P2=70.;V2=0.5*10**-6;#let\n",
+ "#calculations\n",
+ "V1=V2*10**(P1_P2/20);\n",
+ "#results\n",
+ "print 'The voltage value of signal is',round(V1*1000,3),'mV'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 238"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The image freq is 1500.0 kHz\n",
+ "b)The image rejection is 38.687 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 238\n",
+ "#prob no. 6.5\n",
+ "#calculate the image freq and rejection\n",
+ "#Refer the fig 6.5\n",
+ "from math import sqrt, log10\n",
+ "#A receiver tuned to station at 590kHz \n",
+ "#given\n",
+ "f_if=455.*10**3;#Intermediate freq\n",
+ "f_sig=590.*10**3;\n",
+ "#calculations and results\n",
+ "#a)Determintion of image freq\n",
+ "f_image=f_sig+2*f_if;\n",
+ "print 'a)The image freq is',f_image/1000,'kHz'\n",
+ "Q=40.;#Q_factor\n",
+ "#b)Determination of image rejection \n",
+ "x=(f_image/f_sig)-(f_sig/f_image);\n",
+ "Asig_Aimage=sqrt(1+(Q*x)**2);#image rejection\n",
+ "#converting in dB\n",
+ "IR_dB=20*log10(Asig_Aimage);\n",
+ "print 'b)The image rejection is',round(IR_dB,3),'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 239"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "All freqs are in MHz. The different freqs are [ 10. -0.9 21.8 0. ] [ 10. -0.9 21.8 0. ]\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 239\n",
+ "#prob no. 6.6\n",
+ "#calculate the frequencies in all cases\n",
+ "#given\n",
+ "import numpy\n",
+ "#An AM high-freq receiver with IF=1.8MHz tuned at freq 10MHz\n",
+ "f_sig = 10\n",
+ "f_if = 1.8#All freq in MHz\n",
+ "#calculations\n",
+ "#Determination of local oscillator freq f_lo\n",
+ "f_lo = f_sig + f_if\n",
+ "#determination of freq. that cause IF response\n",
+ "m = ([1, 1, 2, 2])#values of m that are integer\n",
+ "n = ([1, 2, 1, 2])#values of n that are integer\n",
+ "fs1 = fs2 = numpy.zeros(4);\n",
+ "for i in range(0,3):\n",
+ " fs1[i] = ((m[i] / n[i]) * (f_lo)) + ((f_if) / n[i])\n",
+ "\n",
+ "for i in range(0,3):\n",
+ " fs2[i] = ((m[i] / n[i]) * (f_lo)) - ((f_if) / n[i])\n",
+ "\n",
+ "print 'All freqs are in MHz.','The different freqs are',fs1,fs2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 7 : pg 245"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "the sensitivity of detector is 60.0 uV/Hz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 245\n",
+ "#prob no. 6.7\n",
+ "#calculate the sensitivity of detector\n",
+ "#An FM detector produce Vpp=1.2V with dev=10kHz\n",
+ "#given\n",
+ "Vpp=1.2;dev=10.*10**3;\n",
+ "#calculations\n",
+ "#Determination of detector sensitivity\n",
+ "Vp=Vpp/2;#Peak voltage\n",
+ "kd=Vp/dev;\n",
+ "#results\n",
+ "print 'the sensitivity of detector is',kd*10**6,'uV/Hz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 8 : pg 249"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The RMS voltage is 0.53 V\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 249\n",
+ "#prob no. 6.8\n",
+ "#calculate the rms voltage\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "#A PLL FM detector with kf=100kHz/V & dev=75kHz\n",
+ "kf=100.*10**3;dev=75.*10**3;\n",
+ "#calculations\n",
+ "#Determination of RMS voltage\n",
+ "Vp_op=dev/kf;\n",
+ "#Converting peak voltage in RMS voltage\n",
+ "V_RMS=Vp_op/sqrt(2);\n",
+ "#results\n",
+ "print 'The RMS voltage is',round(V_RMS,3),'V'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 9 : pg 258"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a)The critical coupling factor is 0.029\n",
+ "b)The optimum coupling factor is 0.043\n",
+ "c)The BW using optimum coupling factor is 19.702 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 258\n",
+ "#prob no. 6.9\n",
+ "#calculate the critical and optimum coupling factor, BW\n",
+ "from math import sqrt\n",
+ "#given\n",
+ "#An IF transformer at 455kHz & primary ckt has Qp=40 & secondary Q=30\n",
+ "fo=455.*10**3;Qp=40.;Qs=30.;\n",
+ "#calculations and results\n",
+ "#a)Determination of critical coupling factor\n",
+ "kc=1/sqrt(Qp*Qs);\n",
+ "print 'a)The critical coupling factor is',round(kc,3)\n",
+ "#b)Determination of optimum coupling factor\n",
+ "Kopt=1.5*kc;\n",
+ "print 'b)The optimum coupling factor is',round(Kopt,3)\n",
+ "#c)Determination of optimum coupling factor\n",
+ "B=Kopt*fo;\n",
+ "print 'c)The BW using optimum coupling factor is',round(B/1000,3),'kHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 10 : pg 261"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The first IF is 4.5 MHz\n",
+ "The second IF is 500.0 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 261\n",
+ "#prob no. 6.10\n",
+ "#calculate the first and second IF\n",
+ "#given\n",
+ "#Receiver refering in fig.6.28\n",
+ "f_sig=25*10**6;#signal i/p freq\n",
+ "f_lo1=29.5*10**6;#Ist local oscillator freq\n",
+ "#calculations and results\n",
+ "#determination of Ist IF which uses high side injection\n",
+ "f_IF1=f_lo1-f_sig;#high side injection\n",
+ "print 'The first IF is',f_IF1/10**6,'MHz'\n",
+ "#Determination of IInd IF which uses low side injection\n",
+ "f_lo2=4*10**6;#IInd local oscillator freq\n",
+ "f_IF2=f_IF1-f_lo2;\n",
+ "print 'The second IF is',f_IF2/10**3,'kHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 11 : pg 265"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Signal strength at receiver i/p is 6.295 uV\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 265\n",
+ "#prob no. 6.11\n",
+ "#calculate the signal strength at receiver i/p\n",
+ "#An S-meter is given\n",
+ "#given\n",
+ "V1=50*10**-6;#signal strength at transmitter in V\n",
+ "P=18.;#18 dB power\n",
+ "#calculations\n",
+ "V2=V1/(10**(P/20.));\n",
+ "#results\n",
+ "print 'Signal strength at receiver i/p is' ,round(V2*10**6,3),'uV'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter7.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter7.ipynb
new file mode 100644
index 00000000..3756f68c
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter7.ipynb
@@ -0,0 +1,270 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 7 : Digital Communication"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 1 : pg 285"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "maximum data rate for four-level code in the available bandwidth 12.8 kb/s\n",
+ "maximum data rate for four-level code in the available bandwidth 37.21 kb/s\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 285\n",
+ "#prob no 7.1\n",
+ "#calculate the max data rate in both cases\n",
+ "from math import log\n",
+ "# In the given problem a signal is transmitted using a four level code\n",
+ "#given\n",
+ "M=4.;\n",
+ "B=3.2;# in KKz\n",
+ "SNR=35.;#in dB\n",
+ "#calculations and results\n",
+ "#By using Shannon-Hartley theorem, ignoring noise we have\n",
+ "c=2*B*log(M) / log(2);\n",
+ "print 'maximum data rate for four-level code in the available bandwidth',c,'kb/s'\n",
+ "#Now we have to use Shannon limit to find the maximum data rate for any code\n",
+ "#SNR in power ratio is \n",
+ "SNR1=10**(35./10.);\n",
+ "C=B*log(1+SNR1) /log(2);\n",
+ "print 'maximum data rate for four-level code in the available bandwidth',round(C,2),'kb/s'\n",
+ "# Both results are maxima, we have to choose lesser of the two.\n",
+ "# Therefore we choose c=12.8kp/s"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 289"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The audible frequency is 14.1 KHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no. 289\n",
+ "# prob no. 7.2\n",
+ "# In the given problem\n",
+ "#calculate the audible frequency \n",
+ "#given\n",
+ "fm = 30.# in KHz\n",
+ "fs = 44.1#sampling rate in KHz\n",
+ "#calculations\n",
+ "fa = fs - fm# audible frequency\n",
+ "#results\n",
+ "print 'The audible frequency is',fa,'KHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 291"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "a) The number of levels with m=8 are 256.0 levels\n",
+ "b) The number of levels with m=16 are 65536 levels\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 291\n",
+ "#prob no 7.3\n",
+ "#calculate the number of levels in both cases\n",
+ "#part a: no of samples,\n",
+ "#given\n",
+ "m=8.;\n",
+ "#calculations and results\n",
+ "N=2**m;# the number of levels\n",
+ "print 'a) The number of levels with m=8 are',N,'levels'\n",
+ "# part b:\n",
+ "m=16;\n",
+ "N=2**m;# the number of levels\n",
+ "print 'b) The number of levels with m=16 are',N,'levels'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 4 : pg 292"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Dynamic range for a linear PCM 98.08 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 292\n",
+ "# prob no 7.4\n",
+ "#calculate the dynamic range\n",
+ "#In the given problem\n",
+ "#given\n",
+ "m=16.;\n",
+ "#calculations\n",
+ "DR=1.76 +6.02*m ; #Dynamic range for a linear PCM in dB\n",
+ "#results\n",
+ "print 'Dynamic range for a linear PCM',DR,'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 295"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The minimum data rate needed to transmit audio is 560.0 Kb/s\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 295\n",
+ "# prob no 7.5\n",
+ "#calculate the min data rate required\n",
+ "# in the given problem\n",
+ "#given\n",
+ "fs=40.; m=14;\n",
+ "#calculations\n",
+ "# the minimum data rate needed to transmit audio is given by\n",
+ "D=fs*m;\n",
+ "#results\n",
+ "print 'The minimum data rate needed to transmit audio is ',D,'Kb/s'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 294"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The maximum output voltage produced is 0.876 volts\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 294\n",
+ "# prob no 7.6\n",
+ "#calculate the max output voltage required\n",
+ "# In the given problem, input to a mu-law compresser is +ve,\n",
+ "# with its voltage one-half the max value\n",
+ "from math import log\n",
+ "#given\n",
+ "u=255.;\n",
+ "Vi=1.;#maximum input value is considered as unity volts\n",
+ "vi=0.5;\n",
+ "V0=1.;#consider maximum output voltage as unity volts\n",
+ "#calculations\n",
+ "vo=V0* log(1+u*vi/Vi)/log(1+u);\n",
+ "#results\n",
+ "print 'The maximum output voltage produced is',round(vo,3),'volts'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter8.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter8.ipynb
new file mode 100644
index 00000000..73a8384c
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter8.ipynb
@@ -0,0 +1,152 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 8 : The Telephone System"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 3 : pg 323"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The net loss is 0.8 dB\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 323\n",
+ "# prob no 8.3\n",
+ "#calculate the net loss\n",
+ "#A telephone signal takes 3 ms to reach its destination\n",
+ "#given\n",
+ "t=2.;\n",
+ "#calculations\n",
+ "#Determination of net loss VNL reqd for acceptable amount of echo.\n",
+ "VNL=(0.2*t)+0.4;\n",
+ "#results\n",
+ "print 'The net loss is',VNL,'dB'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 5 : pg 326"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The value of carrier freq for channel 5 is 92.0 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 326\n",
+ "# prob no 8.5\n",
+ "#calculate the carrier freq value\n",
+ "#given\n",
+ "#Refering the fig.8.15 channel 12 has lowest carrierr freq 64 kHz\n",
+ "F=64.;\n",
+ "c_total=12.;\n",
+ "#Carrier freq goes up 4kHz per channel\n",
+ "f_up=4;\n",
+ "#Determination of carrier freq for channel 5\n",
+ "c=5;\n",
+ "#calculations\n",
+ "fc=F+(f_up*(c_total-c));\n",
+ "#results\n",
+ "print 'The value of carrier freq for channel 5 is',fc,'kHz'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 328"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The tone appear in the supergroup output at frequency of 426.0 kHz\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "#page no 328\n",
+ "#prob no 8.6\n",
+ "#calculate the tone \n",
+ "# 2kHz tone is present on channel 5 of group 3 of a supergroup\n",
+ "# refer to example 8.5, calculated fc=92kHz\n",
+ "#given\n",
+ "fc=92.;#in kHz\n",
+ "#calculations\n",
+ "# Here signal is lower sideband,the 2kHz baseband signal therefore will be\n",
+ "fg=fc-2;\n",
+ "#from fig 10.15,group 3 in the supergroup is moved to the range 408-456 kHz, with a suppressed carrier frequency of 516kHz.\n",
+ "fsc=516;# in kHz\n",
+ "#the modulation is lower sideband,so the supergroup o/p freq will be 90kHz lower than carrier freq\n",
+ "fsg=fsc-fg;\n",
+ "#results\n",
+ "print 'The tone appear in the supergroup output at frequency of',fsg,'kHz'"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/Chapter9.ipynb b/Electronic_Communication_Systems_by_Roy_Blake/Chapter9.ipynb
new file mode 100644
index 00000000..ccb5e8e8
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/Chapter9.ipynb
@@ -0,0 +1,108 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 9 : Data Transmission"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 2 : pg 349"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The efficiency is 70.0 %\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 349\n",
+ "# prob no 9.2\n",
+ "#calculate the efficiency\n",
+ "#given\n",
+ "Nd=7; N_start=1; N_stop=1.; N_parity=1;\n",
+ "#calculations\n",
+ "Nt= Nd + N_start+ N_stop + N_parity;\n",
+ "efficiency=Nd/Nt *100;\n",
+ "#results\n",
+ "print 'The efficiency is',efficiency,'%'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Example 6 : pg 358"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "5 hammming bits are required\n"
+ ]
+ }
+ ],
+ "source": [
+ " \n",
+ "# page no 358\n",
+ "# prob no 9.6\n",
+ "#calculate the no. of hamming bits\n",
+ "#given\n",
+ "m=21.;\n",
+ "#calculations and results\n",
+ "# The correct number of check bits is the smallest number that satisfy the equation 2**n >= m+n+1;\n",
+ "for n in range (1,10): # we choose range of 1 to 10\n",
+ " a=m+n+1;\n",
+ " b=2**n;\n",
+ " if(b>=a):\n",
+ " print n,'hammming bits are required'\n",
+ " break;\n",
+ " "
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 2",
+ "language": "python",
+ "name": "python2"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.11"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter12.png b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter12.png
new file mode 100644
index 00000000..fd234fb3
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter12.png
Binary files differ
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter13.png b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter13.png
new file mode 100644
index 00000000..eb9952cc
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter13.png
Binary files differ
diff --git a/Electronic_Communication_Systems_by_Roy_Blake/screenshots/chapter1.png b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/chapter1.png
new file mode 100644
index 00000000..69af8dd5
--- /dev/null
+++ b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/chapter1.png
Binary files differ