diff options
Diffstat (limited to 'Electronic_Communication_Systems_by_Roy_Blake/Chapter12.ipynb')
-rw-r--r-- | Electronic_Communication_Systems_by_Roy_Blake/Chapter12.ipynb | 277 |
1 files changed, 277 insertions, 0 deletions
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 +} |