summaryrefslogtreecommitdiff
path: root/Electronic_Communication_Systems_by_Roy_Blake/Chapter18.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Electronic_Communication_Systems_by_Roy_Blake/Chapter18.ipynb')
-rw-r--r--Electronic_Communication_Systems_by_Roy_Blake/Chapter18.ipynb483
1 files changed, 483 insertions, 0 deletions
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
+}