diff options
Diffstat (limited to 'Electronic_Communication_Systems_by_Roy_Blake')
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 Binary files differnew file mode 100644 index 00000000..fd234fb3 --- /dev/null +++ b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter12.png diff --git a/Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter13.png b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter13.png Binary files differnew file mode 100644 index 00000000..eb9952cc --- /dev/null +++ b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/Chapter13.png diff --git a/Electronic_Communication_Systems_by_Roy_Blake/screenshots/chapter1.png b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/chapter1.png Binary files differnew file mode 100644 index 00000000..69af8dd5 --- /dev/null +++ b/Electronic_Communication_Systems_by_Roy_Blake/screenshots/chapter1.png |