from __future__ import division
# referred to fig 10.1 on the page no. 435
# the occurance of each outcome is essumed to be equal.
n=8 # number of outcomes
p=1/n#
print "probability of each outcome=%0.2f"%p
from __future__ import division
m=6 # enter the number of faces
n=2# enter the number of dice
l=m**n ## total number of outcomes = 36
a=7 #"enter the number which is to be obtained as the sum of dice
c=0 # # counter value for favorable outcome
for i in range(1,7):
for j in range(1,7):
if (i+j==a):
c=c+1#
else :
continue
p=c/l#
print "probability = %0.4f"%p
from numpy.random import gamma
from __future__ import division
m=2# the number of faces
n=4 #the number of tosses
l=m**n ## l is total number of outcomes = 16
a=2 #exact no of heads
p=gamma (n+1)/(gamma(n+1-a) * gamma (a+1))## to find combination
print "probability = %0.4f"%(p/l)
from __future__ import division
a=52# # total no of cards in a deck
b=6# the no of cards to be drawn
pA1= b/a## probability of getting first red ace =pA1
#the cards are drawn in succession without replacement, therefore the probability that the 2nd card will be the red ace = pA2
pA2=1/(a-1)#
p= pA1*pA2
print "total probability = %0.4f"%p
from numpy.random import gamma
from __future__ import division
# This problem is based on Bernoulli Trials formula which is P( k successes in n trials ) = n!*p**k *(1-p)**(n-k)/k!*(n-k)!22
# hence the probability of finding 2 digits wrong in a sequence of 8 digits is
k=2 # no. of successes
p= 1e-5# probability of success
n=8 #"no. of trials
A=gamma (n+1)* (p**k)*((1-p)**(n-k))/(gamma(k)*gamma(n+1-k))#
print "probability = %0.2e"%A
from __future__ import division
m=6 # enter the number of faces
n=3 # enter the number of dice
l=m**n ## l is total number of outcomes
a=8# the number which is to be obtained as the sum of dice
c=0 # # counter value for favorable outcome
for i in range(1,7):
for j in range(1,7):
if(i+j==a):
c=c+1
else :
continue
p=c/l#
print "probability = %.4f"%p
from __future__ import division
Pe=0.6898 # error probability
Q= 0.2567 # the probability of transmitting 1 #Hence probability of transmitting zero is 1-Q = P
P=1-Q#
Px_1=Q#
Px0=P#
# If x and y are transmitted digit and received digit then for BSC P(y=0/x=1) = P(y=1/x=0) = Pe , P(y=0/x=10) = P(y=1/x=1) = 1-Pe
# to find the probability of receiving 1 is Py(1) = Px(0)*P(y=1/x=0) + Px(1)*P(y=1/x=1)
Py_1= ((1-Q)* Pe) + (Q *(1-Pe))#
print "Py(1) = %0.4f"%Py_1
Py0=((1-Q)*(1-Pe)) + (Q*Pe)
print "Py0=%.4f"%Py0
from __future__ import division
Px0=.4
Px1=.6
PE0=10**-6
PE1=10**-4 ## given
PE=(Px0*PE0) + (Px1*PE1)# formula for probability of error
print "probability of error = %.2e"%PE
from __future__ import division
from math import pi,sqrt,exp
#Gaussian PDF: Q(x)= %e**((-x**2)/2)/ (x*sqrt(2*pi))
x=2.5 # input for the function Q
Q_x = (exp(-(x**2)/2))/ (x*sqrt(2*pi))
P=1-(2*Q_x)#
print "width or spread of Gaussian PDF = %.3f"%P
## P gives the width or spread of Gaussian PDF
from __future__ import division
from math import log
# formula for estimate error E is E = mk** - mk = a1* mk-1 +a2* mk-2 -mk
#given: various values of correlation (mk*mk)'= (m**2)',(mk*mk-1)'= .825* (m**2)',(mk*mk-2)'= .562*(m**2)',(mk*mk-3)'= .825*(m**2)' , R02=.562(m**2)', a1=1.1314, a2= -0.3714
# mean square error is given by I=(E**2)'=[1-((.825*a1)+(.562*a2))]*(m**2)'= .2753*(m**2)'
m=1#
I=.2753*(m**2)#
S=10*log ((m**2)/I)#
print "SNR improvement = %0.2f dB"%S