In [2]:

```
# To find dynamic range of spectrum analyser
# Given data
I_p = +25.0; #Third order intercept point in dBm
MDS = -85.0; #noise level in dBm
#Calculations
dynamic_range = 2/3.0*(I_p -MDS);
print "The dynamic range of the spectrum analyser =",int(dynamic_range)," dB"
```

In [13]:

```
# To find minimum detectable signal
import math
# Given data
NF = 20.0; #Noise figure in dB
BW = 1*10.0**3; #Bandwidth in Hz
#Calculations
MDS=-114+10*math.log10((BW/(1*10.0**6)))+NF
print "The minimum detectable signal of the spectrum analyser = ",int(MDS)," dBm"
```

In [15]:

```
# To find dynamic range and total frequency display
import math
# Given data
T = 4.0; #Sample window in s
f_s = 20*10.0**3; # sample frequency in Hz
N = 10.0; #no of bits
#Calculations
f_r = 1/T;
f_h = f_s/2.0;
R_d = 20*math.log10(2.0**N);
print "The ratio of the spectral calculation = ",round(f_r,2)," Hz\n"
print "The maximum calculated spectral frequency = ",int(f_h)," Hz\n"
print "The dynamic range = ",int(R_d)," dB"
```