summaryrefslogtreecommitdiff
path: root/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10.ipynb')
-rwxr-xr-xAnalog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10.ipynb567
1 files changed, 0 insertions, 567 deletions
diff --git a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10.ipynb b/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10.ipynb
deleted file mode 100755
index e766e88f..00000000
--- a/Analog_and_Digital_Communications_by_H_P_Hsu/CHAPTER10.ipynb
+++ /dev/null
@@ -1,567 +0,0 @@
-{
- "metadata": {
- "name": "",
- "signature": "sha256:37e281407bf18ea4cb97b4d94f518d678964a52abb4754faf8b1ff73d8221481"
- },
- "nbformat": 3,
- "nbformat_minor": 0,
- "worksheets": [
- {
- "cells": [
- {
- "cell_type": "heading",
- "level": 1,
- "metadata": {},
- "source": [
- "CHAPTER10:DIGITAL MODULATION AND DEMODULATION"
- ]
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E01 : Pg 10.18"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.18\n",
- "# Example 10.1\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "Rb=1.*10.**6.; # b/s\n",
- "A=5.*10.**3.; # V\n",
- "N0=0.5*10.**11.; # W/Hz\n",
- "\n",
- "Tb=1./Rb;\n",
- "Eb=(A*A*Tb)/2.;\n",
- "\n",
- "# (a) ASK\n",
- "# Pe=Q(x)\n",
- "# where\n",
- "xA=sqrt(Eb/N0);\n",
- "\n",
- "PeA=(1./2.)*erfc(xA/1.414);\n",
- "print'For ASK:',round(PeA,2)\n",
- "\n",
- "# (b) PSK\n",
- "# Pe=Q(x)\n",
- "# where\n",
- "xP=sqrt((2.*Eb)/N0);\n",
- "\n",
- "PeP=(1./2.)*erfc(xP/1.414);\n",
- "print'For PSK:',round(PeP,2)\n",
- "\n",
- "# (c) FSK\n",
- "# Pe=Q(x)\n",
- "# where\n",
- "xF=sqrt(Eb/N0);\n",
- "\n",
- "PeF=(1./2.)*erfc(xF/1.414);\n",
- "print'For FSK:',round(PeF,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For ASK: 0.5\n",
- "For PSK: 0.5\n",
- "For FSK: 0.5\n"
- ]
- }
- ],
- "prompt_number": 1
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E02 : Pg 10.19"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.19\n",
- "# Example 10.2\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "Rb=1.*10.**6.; # b/s\n",
- "\n",
- "# (a)\n",
- "Aa=1.*10.**3.; # V\n",
- "N0=1*10.**11.; # W/Hz\n",
- "\n",
- "Tb=1./Rb;\n",
- "Eba=(Aa*Aa*Tb)/2.;\n",
- "\n",
- "# Pe=Q(z)\n",
- "# where\n",
- "za=sqrt((2.*Eba)/N0);\n",
- "\n",
- "Peb=(1./2.)*erfc(za/1.414);\n",
- "print'For Average bit error probability:',round(Peb,5)\n",
- "\n",
- "# (b) Maintain Pb=2*10**3\n",
- "# From table\n",
- "zb=2.9;\n",
- "Ebb=((zb**2.)*N0)/2.;\n",
- "P=Ebb*Tb;\n",
- "Ab=sqrt((2.*P));\n",
- "print'Average Power:',round(Ab,2),'V'\n",
- "\n",
- "# (c)\n",
- "Ac=100.; # V\n",
- "Rbc=1.*10.**5.; # p/s\n",
- "N01=1.*10.**2.; # W/Hz\n",
- "Tbc=1./Rbc;\n",
- "Ebc=(Ac*Ac*Tbc);\n",
- "\n",
- "zc=sqrt(((2.*Ebc)/N01));\n",
- "\n",
- "Pec=(1./2.)*erfc(zc/1.414);\n",
- "# Pec=0.0000039\n",
- "# nearly 10**-5\n",
- "print'For Average bit error probability for bipolar antipodal signals:',10**-5"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "For Average bit error probability: 0.5\n",
- "Average Power: 917.06 V\n",
- "For Average bit error probability for bipolar antipodal signals: 1e-05\n"
- ]
- }
- ],
- "prompt_number": 2
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E06 : Pg 10.23"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.23\n",
- "# Example 10.6\n",
- "# Given\n",
- "import math\n",
- "p=0.1; # dB\n",
- "p1=10.**(-p/10.);\n",
- "p2=math.sqrt(p1);\n",
- "t=8.68;#math.acosd(p2);\n",
- "a=round(t);\n",
- "print'System cannot tolerate more than:',a,'degrees'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "System cannot tolerate more than: 9.0 degrees\n"
- ]
- }
- ],
- "prompt_number": 3
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E11 : Pg 10.28"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.28\n",
- "# Example 10.11\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "Rb=1.*10.**6.; # b/s\n",
- "T=1.*10.**5.;\n",
- "N0=2.*0.5*10.**7.; # W/Hz\n",
- "\n",
- "# From table for Q(z)=10**-5\n",
- "z=4.25;\n",
- "\n",
- "# As z=sqrt(A*A*T/2*N0)\n",
- "x=((z**2.)*2.*N0)/T;\n",
- "A=sqrt(x);\n",
- "print'Required value of A:',round(A,2)\n",
- "\n",
- "# (b) Bandwidth\n",
- "# B=1/(2*(T/2))\n",
- "# Therefore B=1/T\n",
- "B=(1./T);\n",
- "print'Bandwidth:',round(B,2),'Hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Required value of A: 60.1\n",
- "Bandwidth: 0.0 Hz\n"
- ]
- }
- ],
- "prompt_number": 4
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E17 : Pg 10.33"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.33\n",
- "# Example 10.17\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "A=0.2*10.**3.; # V\n",
- "T=2.*10.**6.; # s\n",
- "n=2.*1.*10.**15.; # W/Hz\n",
- "\n",
- "\n",
- "# Pe=Q(z)\n",
- "# where\n",
- "x=(A*A*T)/(4.*n);\n",
- "z=sqrt(x);\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Error probability:',round(Pe,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Error probability: 0.5\n"
- ]
- }
- ],
- "prompt_number": 5
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E18 : Pg 10.34"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.34\n",
- "# Example 10.18\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "A=0.2*10.**3.; # V\n",
- "A1=A/1.414;\n",
- "\n",
- "T=2.*10.**6.; # s\n",
- "n=2.*1.*10.**15.; # W/Hz\n",
- "\n",
- "\n",
- "# Pe=Q(z)\n",
- "# where\n",
- "x=(A1*A1*T)/(n);\n",
- "z=sqrt(x);\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Error probability:',round(Pe,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Error probability: 0.5\n"
- ]
- }
- ],
- "prompt_number": 6
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E19 : Pg 10.35"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.35\n",
- "# Example 10.19\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "d12sqr=8.;\n",
- "N0=2.*0.5; # W/Hz\n",
- "\n",
- "# (c)\n",
- "# As for two equiprobables\n",
- "# Pe=Q(z)\n",
- "# where z=sqrt(d12**2)/sqrt(2*N0)\n",
- "z=sqrt((d12sqr)/(2.*N0));\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Probabilty error:',round(Pe,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty error: 0.02\n"
- ]
- }
- ],
- "prompt_number": 7
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E20 : Pg 10.36"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.36\n",
- "# Example 10.20\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "c=sqrt(2.);\n",
- "A=sqrt(5.);\n",
- "N0=1.; # W/Hz\n",
- "\n",
- "d12sqr=4.*A*A;\n",
- "\n",
- "# As for two equiprobables\n",
- "# Pe=Q(z)\n",
- "# where z=sqrt(d12**2)/(2*N0)\n",
- "z=sqrt((d12sqr)/(sqrt(2.*N0)));\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Probabilty error:',round(Pe,4)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty error: 0.0001\n"
- ]
- }
- ],
- "prompt_number": 8
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E24 : Pg 10.41"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.41\n",
- "# Example 10.24\n",
- "# (a) Number of constellation Points\n",
- "# Given\n",
- "Rs=2400.; # bps\n",
- "Rb=19.2*10.**3.; # bps\n",
- "\n",
- "# As Rs=Rb/log2M\n",
- "M=2.**(Rb/Rs);\n",
- "print'Number of constellation points =',round(M,2)\n",
- "\n",
- "# (b) Bandwidth efficiency\n",
- "BT=2400; # Symbols/second\n",
- "n=Rb/BT;\n",
- "print'Bandwidth efficiency = ',round(n,2),'bps/hz'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Number of constellation points = 256.0\n",
- "Bandwidth efficiency = 8.0 "
- ]
- },
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "bps/hz\n"
- ]
- }
- ],
- "prompt_number": 9
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E25 : Pg 10.41"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.41\n",
- "# Example 10.25\n",
- "from math import sqrt,erfc\n",
- "# Given\n",
- "A1=0.5;\n",
- "A2=0.5;\n",
- "T=0.01; # sec\n",
- "N0=2.*0.0001; # W/Hz\n",
- "f=50.; # Hz\n",
- "\n",
- "# (a) Probability of bit error\n",
- "Es1=(A1**2.*T)/2.;\n",
- "Es2=(A2**2.*T)/2.;\n",
- "\n",
- "Eb=(Es1+Es2)/2.;\n",
- "# As PE=Qsqrt(Ep+Eq-2Epq/2N0)\n",
- "# In this case Ep=Eq=Eb\n",
- "# Therefore PE=Qsqrt(Eb(1-p)/N0)\n",
- "# where p=Epq/Eb\n",
- "\n",
- "# p=(1/Eb)*integrate('0.5*cos(2000*%pi*t)*0.5*cos(2020*%pi*t)','t',0,T);\n",
- "# We get\n",
- "p=0.94;\n",
- "q=1.-p;\n",
- "# As Pe=Q(z)\n",
- "# where z=sqrt(Eb/N0)\n",
- "z=sqrt((Eb*q)/N0);\n",
- "Pe=(1./2.)*erfc(z/1.414);\n",
- "print'Probabilty of bit error :',round(Pe,2)\n",
- "\n",
- "# (b)\n",
- "# Given\n",
- "fs=50.; # Hz\n",
- "# or fs=1/2T where T=0.001\n",
- "# This implies y=tone spacing will be orthogonal\n",
- "# Therefor p=0\n",
- "\n",
- "# As Pe=Q(z)\n",
- "# where z=sqrt(Eb/N0)\n",
- "zb=sqrt(Eb/N0);\n",
- "PB=(1./2.)*erfc(zb/1.414);\n",
- "print'Probabilty error for fs=50Hz :',round(PB,2)"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Probabilty of bit error : 0.27\n",
- "Probabilty error for fs=50Hz : 0.01\n"
- ]
- }
- ],
- "prompt_number": 10
- },
- {
- "cell_type": "heading",
- "level": 2,
- "metadata": {},
- "source": [
- "Example E27 : Pg 10.43"
- ]
- },
- {
- "cell_type": "code",
- "collapsed": false,
- "input": [
- "# Page Number: 10.43\n",
- "# Example 10.27\n",
- "\n",
- "# Given\n",
- "Rb=4.8*10.**3.; # b/s\n",
- "bw=3.2*10.**3.; # Hz\n",
- "\n",
- "# BPSK can give maximum spectral efficiency of 1bps/Hz, therefore not suitable\n",
- "# QPSK can give twice spectral efficiency,2bps/Hz, therefore\n",
- "qpsk=2.*bw;\n",
- "# PSK can give thrice spectral efficiency,3bps/Hz, therefore\n",
- "psk=3.*bw;\n",
- "\n",
- "# QPSK is most suitable\n",
- "Rs=Rb/2.;\n",
- "# Roll off Factor\n",
- "a=(bw/Rs)-1.;\n",
- "ap=a*100.;\n",
- "print'Roll off factor:',ap,'%'"
- ],
- "language": "python",
- "metadata": {},
- "outputs": [
- {
- "output_type": "stream",
- "stream": "stdout",
- "text": [
- "Roll off factor: 33.3333333333 %\n"
- ]
- }
- ],
- "prompt_number": 11
- }
- ],
- "metadata": {}
- }
- ]
-} \ No newline at end of file