diff options
Diffstat (limited to 'Analog_and_digital_communication/Chapter10.ipynb')
-rwxr-xr-x | Analog_and_digital_communication/Chapter10.ipynb | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/Analog_and_digital_communication/Chapter10.ipynb b/Analog_and_digital_communication/Chapter10.ipynb new file mode 100755 index 00000000..abcc70cf --- /dev/null +++ b/Analog_and_digital_communication/Chapter10.ipynb @@ -0,0 +1,250 @@ +{
+ "metadata": {
+ "name": "",
+ "signature": "sha256:67ee8e7b784b607cbab75ad3758612a5810d648f2de452b74761d1700d1555d3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "heading",
+ "level": 1,
+ "metadata": {},
+ "source": [
+ "Chapter 10 - Digital Multiplexers"
+ ]
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 1 - pg 469"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#calculate the minimum value of permissible sampling rate\n",
+ "\n",
+ "#given\n",
+ "X_1 = 4.*10**3#first analog signal in Hz\n",
+ "X_2 = 4.5*10**3#second analog signal in Hz\n",
+ "\n",
+ "#calculation\n",
+ "#the highest frequency cmponent of the composite signal consisting among two signal is X_2\n",
+ "f_sMIN = 2*X_2;\n",
+ "\n",
+ "print \"The minimum value of permissible sampling rate (kHz) = \",f_sMIN/1000.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "The minimum value of permissible sampling rate (kHz) = 9.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 2 - pg 469"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#calculate the signalling rate and minimum channel bandwidth\n",
+ "\n",
+ "#given\n",
+ "X_1 = 6.*10**3#Nyquist rate in Hz obtained the table\n",
+ "X_2 = 2.*10**3#Nyquist rate in Hz obtained the table\n",
+ "X_3 = 2.*10**3#Nyquist rate in Hz obtained the table\n",
+ "X_4 = 2.*10**3#Nyquist rate in Hz obtained the table\n",
+ "\n",
+ "#calculations\n",
+ "s = 2000#speed of rotation\n",
+ "X1 = 3*s#number of samples produced per second for first signal\n",
+ "X2 = 1*s#number of samples produced per second for second signal\n",
+ "X3 = X2#number of samples produced per second for third signal\n",
+ "X3 = X2#number of samples produced per second for fourth signal\n",
+ "SR = X1 + 3*X2#signalling rate\n",
+ "BW = .5*SR#minimum channel bandwidth \n",
+ "\n",
+ "#results\n",
+ "print \"If the sampling commutator rotates at the rate of 2000 rotations per second the the signals X_1,X_2,X_3,X_4 will be sampled at their Nyquist rate\"\n",
+ "print \"Signalling rate (samples per second) = \",SR\n",
+ "print \"Minimum channel bandwidth (Hz) = \",BW\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "If the sampling commutator rotates at the rate of 2000 rotations per second the the signals X_1,X_2,X_3,X_4 will be sampled at their Nyquist rate\n",
+ "Signalling rate (samples per second) = 12000\n",
+ "Minimum channel bandwidth (Hz) = 6000.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 3 - pg 470"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#calculate the sampling rate and Nyquist rate\n",
+ "\n",
+ "#given\n",
+ "SR = 8000.#sampling rate in samples per second\n",
+ "T = 1.*10**-6#pulse duration\n",
+ "f = 3.4*10**3#highest frequency component\n",
+ "\n",
+ "#calculations\n",
+ "#second case\n",
+ "NR = 2.*f#Nyquist rate of sampling\n",
+ "T2 = 1./NR#time taken for one rotation of commutator\n",
+ "\n",
+ "\n",
+ "#results\n",
+ "print \"sampling rate for first condition = \",SR\n",
+ "print \"There are 24 voice signals + 1 synchronizing pulse\"\n",
+ "print \"Pulse width of each voice channel and synchronizing pulseis 1 microseconds \"\n",
+ "print \"Now, time taken by the commutator for 1 rotation =1/8000 = 125*10**-6 seconds\"\n",
+ "print \"Number of pulses produced in one rotation = 24 + 1 = 25\"\n",
+ "print \"Therefore, the leading edges of the pulses are at 125/25 = 5*10^-6 seconds distance\"\n",
+ "print \"Nyquist rate for second condition (kHz) = \",NR/1000.\n",
+ "print \"Time taken for one rotation of commutator (museconds) = \",round(T2*10**6,2)\n",
+ "print \"Therefore, 147*10**-6 seconds corresponds to 25 pulses\"\n",
+ "print \"therefore, 1 pulse corresponds to 5.88*10^-6 seconds\"\n",
+ "print \"As the pulse width of each pulse is 1*10^-6 seconds, the spacing between adjacent pulses will be 4.88*10**-6 seconds\\n and if we assume tou = 0 then the spacing between the adjacent pulses will be 5.88*10**-6 seconds \"\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "sampling rate for first condition = 8000.0\n",
+ "There are 24 voice signals + 1 synchronizing pulse\n",
+ "Pulse width of each voice channel and synchronizing pulseis 1 microseconds \n",
+ "Now, time taken by the commutator for 1 rotation =1/8000 = 125*10**-6 seconds\n",
+ "Number of pulses produced in one rotation = 24 + 1 = 25\n",
+ "Therefore, the leading edges of the pulses are at 125/25 = 5*10^-6 seconds distance\n",
+ "Nyquist rate for second condition (kHz) = 6.8\n",
+ "Time taken for one rotation of commutator (museconds) = 147.06\n",
+ "Therefore, 147*10**-6 seconds corresponds to 25 pulses\n",
+ "therefore, 1 pulse corresponds to 5.88*10^-6 seconds\n",
+ "As the pulse width of each pulse is 1*10^-6 seconds, the spacing between adjacent pulses will be 4.88*10**-6 seconds\n",
+ " and if we assume tou = 0 then the spacing between the adjacent pulses will be 5.88*10**-6 seconds \n"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 4 - pg 471"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#calculate the Signaling rate and minimum channel bandwidth\n",
+ "\n",
+ "#given\n",
+ "N = 6.#number of channels\n",
+ "f_m = 5.*10**3#bandwidth of each channel\n",
+ "\n",
+ "#calculations\n",
+ "SR1= 2*f_m#minimum sampling rate\n",
+ "SR = N*SR1#sampling rate\n",
+ "BW =N*f_m#minimum channel bandwidth\n",
+ "\n",
+ "#results\n",
+ "print \"Signaling rate (Kbits per second) = \",SR/1000.\n",
+ "print \"Minimum channel bandwidth (kHz) = \",BW/1000.\n"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "Signaling rate (Kbits per second) = 60.0\n",
+ "Minimum channel bandwidth (kHz) = 30.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Example 6 - pg 476"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "#calculate the number of framing plus signaling bits per frame\n",
+ "\n",
+ "#given\n",
+ "channel=64*10**3 #kb/s\n",
+ "bitrate=2.048*10**6 #bits/sec\n",
+ "\n",
+ "#calculations\n",
+ "fs_min=channel*2\n",
+ "x=bitrate/fs_min\n",
+ "\n",
+ "#results\n",
+ "print 'No. of bits per frame = ',x"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "output_type": "stream",
+ "stream": "stdout",
+ "text": [
+ "No. of bits per frame = 16.0\n"
+ ]
+ }
+ ],
+ "prompt_number": 5
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file |