This material have been prepared as the addition to the following paper:
- Gibalina, Zlata, and Vladimir Fadeev. "Optical inter-satellite link in comparison with RF case in CUBESAT system." Zhurnal Radioelektroniki-Journal of Radio Electronics 10 (2017).
Moreover, this work inspired me to prepare tutorial in my native language:
I will appreciate your feedback!
importnumpyasnpfrommatplotlib.pyplotimportplot,grid,xlabel,ylabel,legendimportmatplotlib.pyplotaspltimportscipyfromscipyimportspecial
#initial parameters for optical caseR=100*1e3#distance between objects, e.g. satellites in m (100 km)Bit_rate=1e6#bit rate (1 Mbps)h=6.62607004*1e-34# Planck constantc=299792458#speed of lightwavelength_opt=1550*1e-9#optical wavelengthfreq_opt=c/wavelength_opt#optical frequency
Ptx_opt=1#transmitter power in WattsPtx_opt_dBm=10*np.log10(Ptx_opt*1e3)#transmitter power in dBm
a=np.array([iforiinrange(0,50,5)])*1e-3#diameter of the receiver (in meters)a[0]=1*1e-3a_m=a*100# for figures (in cm)div_ang=np.array([0.2*1e-3,0.5*1e-3,2*1e-3,5*1e-3,7*1e-3])#half of divergence angle
Receive power [1]: $$ P_{rx} = \frac{A_{rx}}{2\pi R^2} \left(1 - \frac{ln2}{ln(cos \theta_{div})}\right)P_{tx} \quad [W]$$ where $A_{rx} = \frac{d_{rx}^2 \pi}{4} $ is the receive area (assuming the angle of incidence is equal to 0), $d_{rx}$ is the diameter of the receiver, $R$ is the distance between satellites, $\theta_{div}$ is the half of divergence angle and $P_{tx}$ is the transmitt power.
Prx_opt_dBm=np.zeros((len(div_ang),len(a)))Prx_opt=np.zeros((len(div_ang),len(a)))Pathloss_dBm=np.zeros((len(div_ang),len(a)))Pathloss=np.zeros((len(div_ang),len(a)))Arx_m2=(np.pi/4)*(a**2)forf,dvanglinenumerate(div_ang):#received powerPrx_opt[f,:]=(Ptx_opt*Arx_m2)/(2*np.pi*(R**2))*(1-(np.log(2)/np.log(np.cos(dvangl))));Prx_opt_dBm[f,:]=10*np.log10(Prx_opt[f,:]*1e3);#path lossPathloss[f,:]=(Arx_m2)/(2*np.pi*(R**2))*(1-(np.log(2)/np.log(np.cos(dvangl))));Pathloss_dBm[f,:]=10*np.log10(Pathloss[f,:]*1000);
Photon energy:
$$ E = hf \quad \left[m^2 kg / s^2\right]$$where $h$ = 6.62607004e-34 $m^2 kg / s$ is the Planck constant and $f$ is the optical frequency (Hz).
Requiered energy (minimum energy on the receiver side to detect anything per bit):
$$ E_{req, Q} = N_{ph}hf \quad \left[m^2 kg / s^2\right]$$where $N_{ph}$ is the average nuber of photons that neded to detect 1 bit of information.
Theoretical energy for the optical pulse:
E_theor=10*h*freq_opt
More realistic energy for optical pulse (APD diode):
E_real_APD=1000*h*freq_opt
More realistic energy for optical pulse (PIN diode):
E_real_PIN=10000*h*freq_opt
Required (minimum) receive power (maximum sensitivity):
$$ P_{req, Q} = 10\log_{10}\left(\frac{E_{req, Q}B}{10^{-3}}\right) = 10\log_{10}\left(\frac{E_{req, Q}R_b}{10^{-3}}\right) \quad[dBm]$$where $B$ is the channel bandwidth and $R_b$ is the bit rate.
P_req_theor=10*np.log10(E_theor*Bit_rate*1000)P_req_real_APD=10*np.log10(E_real_APD*Bit_rate*1000)P_req_real_PIN=10*np.log10(E_real_PIN*Bit_rate*1000)
Error probability (BER) of the On-off keying (OOK) [2]:
$$P_b = \frac{1}{2}ercf\left(\sqrt{\frac{SNR}{2}}\right) = \frac{1}{2}ercf\left(\sqrt{\frac{P_{req}^2\gamma^2}{2\sigma^2}}\right)$$where $SNR$ is the Signal-to-Noise ratio, $\sigma^2$ is the noise variance (noise power) and $\gamma$ is the photodiode responsivity.
BER for OOK (PIN diode):
$$P_{b, PIN} = \frac{1}{2}ercf\left(\frac{\gamma P_{req, PIN}}{\sqrt{2\sigma_{PIN}^2}}\right)$$And therefore:
$$ P_{req, PIN} = \frac{erfcinv(2P_b)\sqrt{2\sigma_{PIN}^2}}{\gamma} \quad[W]$$BER for OOK (APD diode):
$$P_{b, APD} = \frac{1}{2}ercf\left(\frac{\gamma M P_{req, APD}}{\sqrt{2\sigma_{APD}^2}}\right)$$And therefore:
$$ P_{req, APD} = \frac{erfcinv(2P_b)\sqrt{2\sigma_{APD}^2}}{\gamma M} \quad[W]$$where $M$ is the typical gain.
Termal noise power (PIN) [3, p 11]:
$$ \sigma_{PIN}^2 = \left( \frac{4kT}{R_f} + 2qI_{BE} \right)I_2R_b = N_0 + 2qI_{BE}I_2R_b \quad [W]$$where $T = 290 K$ is the absolute temperature, $k = 1.38064852e-23$ is the Bolzman constant, $R_f = \frac{100}{2\pi C_d R_b}$ is the forward resistance, $C_d$ is the capacitance of the photodiode, $q$ is the electron charge, $I_{BE} = \frac{I_C}{\beta}$ is the base-emitter (leakage or bias) current, $I_2$ is the value of Personick integral for thermal noise, $R_b$ is the bit rate, $N_0$ is the noise spectral density.
#If = 0.184 #depends on filter (Personick integral) for match filter#K = 294*1e-12 #fA - 1/f noise coeff#nc = 1; #1/f noise coeff#gm = 40*1e-3 #FET parameterCd=2*1e-12#capacitance of the photodiodeT=290#absolute temperatureRf=100/(Cd*2*np.pi*Bit_rate)#photodiode resistancek=1.38064852*1e-23#Bolzman constantI2=0.562#depends on filter (Personick integral) for match filterq=1.60217662*1e-19#electron chargeIbe=(0.25*1e-3)/200#RESULTthermal_Noise_variance_add=2*q*Ibe*I2*Bit_rateN_0=4*k*T/Rf#thermal noise density for PINthermal_Noise_variance=N_0*Bit_rate*I2
Termal noise spectral density (APD):
$$ \sigma_{APD}^2 = \frac{4kT}{R_f}I_2R_b + 2qI_dM_{Si}^2F_{Si}I_2R_b = N_0 + 2qI_2R_b(I_{BE} + M_{Si}^2F_{Si}I_d) \approx N_0 + 2qI_2I_dR_bM_{Si}^2F_{Si} \quad [W]$$where $I_d$ is the dark current, $M_{Si}$ is the typical gain (silicon), $F_{Si}$ is the excess noise factor (silicon).
Typical parameters:
There is no consideration of the input FET noise and noise of the input FET load in this work. See more about these terms in [3, p 15].
#k_Si = 0.06 #silicon epitaxial APDsId=0.05*10e-9#dark current (500e-12)M_Si=100#typical gainF_Si=7.9#excess noise factorapd_noise_Si=2*q*Id*I2*Bit_rate*(M_Si**2)*F_Si#noise
r=0.53#A/W photodiode responsivityPb=10e-9#Bit error rate (BER)P_req_pin=10*np.log10((special.erfcinv(2*Pb)*np.sqrt(2*(thermal_Noise_variance+thermal_Noise_variance_add))/(r))*1e3)#in dBmP_req_apd_lin=special.erfcinv(2*Pb)*np.sqrt(2*(thermal_Noise_variance+apd_noise_Si))/(r*M_Si)P_req_apd=10*np.log10(P_req_apd_lin*1e3)#in dBm
fig=plt.figure(figsize=(10,7),dpi=300)req_theor=np.ones((len(a_m),))*P_req_theorreq_real_APD=np.ones((len(a_m),))*P_req_real_APDreq_real_PIN=np.ones((len(a_m),))*P_req_real_PINPIN=np.ones((len(a_m),))*P_req_pinAPD=np.ones((len(a_m),))*P_req_apda_m=a_m.reshape((10,))plot(a_m,Prx_opt_dBm[0,:],'-o',label='0.2 mrad')plot(a_m,Prx_opt_dBm[1,:],'-o',label='0.5 mrad')plot(a_m,Prx_opt_dBm[2,:],'-o',label='2 mrad')plot(a_m,Prx_opt_dBm[3,:],'-o',label='5 mrad')plot(a_m,Prx_opt_dBm[4,:],'-o',label='7 mrad')plot(a_m,req_theor,'k--',label='Sensitivity limit (theory)')plot(a_m,req_real_APD,'--*',label='Sensitivity limit (APD)')plot(a_m,req_real_PIN,'--',label='Sensitivity limit (PIN)')plot(a_m,APD,'-*',label='1e-9 OOK BER limit (APD)')plot(a_m,PIN,label='1e-9 OOK BER limit (PIN)')plt.gca().invert_yaxis()xlabel('Rx diameter (cm)');ylabel('Prx and Preq (dBm)')legend()grid()plt.show()
Transmitt power (for fixed receive power):
$$ P_{tx, dBm} = P_{rx, dBm} + |L| + |L_{add}|$$where $L = 10\log_{10}\left[ \frac{A_{rx}}{2\pi R^2}\left(1 - \frac{ln2}{ln(cos \theta_{div})}\right)\right]$ is the pass loss and $L_{add}$ is the additional losses (margin).
Prx_req_dB_APD=-65.5Prx_req_dB_PIN=-52.9margin=5Arx_m2=np.zeros((len(a)))Ptx_variable_APD=np.zeros((len(div_ang),len(a)))Ptx_variable_PIN=np.zeros((len(div_ang),len(a)))#area rxArx_m2=(np.pi/4)*(a**2)forf,dvanglinenumerate(div_ang):#Ptx requiredPtx_variable_APD[f,:]=Prx_req_dB_APD+np.abs(Pathloss_dBm[f,:])+margin;Ptx_variable_PIN[f,:]=Prx_req_dB_PIN+np.abs(Pathloss_dBm[f,:])+margin;
fig=plt.figure(figsize=(10,7),dpi=300)plot(a_m,Ptx_variable_APD[0,:],'-o',label='APD, 0.2 mrad')plot(a_m,Ptx_variable_PIN[0,:],'-*',label='PIN, 0.2 mrad')plot(a_m,Ptx_variable_APD[1,:],'-o',label='APD, 0.5 mrad')plot(a_m,Ptx_variable_PIN[1,:],'-*',label='PIN, 0.5 mrad')plot(a_m,Ptx_variable_APD[2,:],'-o',label='APD, 2 mrad')plot(a_m,Ptx_variable_PIN[2,:],'-*',label='PIN, 2 mrad')xlabel('Rx diameter (cm)');ylabel('P_tx (dBm)')legend()grid()
Wolf, M., & Kreß, D. (2003). Short-range wireless infrared transmission: the link buoget compared to RF. IEEE wireless communications, 10(2), 8-14.
Komine, T., & Nakagawa, M. (2004). Fundamental analysis for visible-light communication system using LED lights. IEEE transactions on Consumer Electronics, 50(1), 100-107.
https://www.nii.ac.jp/qis/first-quantum/forStudents/lecture/pdf/noise/chapter12.pdf