
文章目录平衡光电探测器原理参数测试平衡光电探测器原理平衡光电探测器(Balanced Photodetector, BPD)是由两个高度匹配的光电二极管(Photodiode, PD)和一个差分跨阻放大器(Transimpedance Amplifier, TIA)构成的光电探测组件。其核心物理机制是通过差分测量提取两路光信号的干涉项同时抵消共模噪声和直流背景。在相干探测系统中信号光场E s ( t ) E_s(t)Es(t)和本振光场E l o ( t ) E_{lo}(t)Elo(t)通常输入到一个3dB的光耦合器耦合器的两个输入端光场为E ( t ) 1 2 [ E s ( t ) E l o ( t ) ] E − ( t ) 1 2 [ E s ( t ) − E l o ( t ) ] E_(t)\frac{1}{\sqrt{2}}[E_s(t)E_{lo}(t)]\\ E_-(t)\frac{1}{\sqrt{2}}[E_s(t)-E_{lo}(t)]E(t)21[Es(t)Elo(t)]E−(t)21[Es(t)−Elo(t)]这两路广分别入射到BPD的两个PD上设PD的响应度为r rr则光电流分别是I ( t ) r ∣ E ( t ) ∣ 2 r 2 [ ∣ E s ∣ 2 ∣ E l o ∣ 2 E s E l o ∗ E s ∗ E l o ] I − ( t ) r ∣ E − ( t ) ∣ 2 r 2 [ ∣ E s ∣ 2 ∣ E l o ∣ 2 − ( E s E l o ∗ E s ∗ E l o ) ] I_(t)r\vert E_(t)\vert ^2\frac{r}{2}[\vert E_s\vert^2\vert E_{lo}\vert^2E_sE_{lo}^*E_s^*E_{lo}]\\ I_-(t)r\vert E_-(t)\vert ^2\frac{r}{2}[\vert E_s\vert^2\vert E_{lo}\vert^2-(E_sE_{lo}^*E_s^*E_{lo})]\\I(t)r∣E(t)∣22r[∣Es∣2∣Elo∣2EsElo∗Es∗Elo]I−(t)r∣E−(t)∣22r[∣Es∣2∣Elo∣2−(EsElo∗Es∗Elo)]TIA输出两路广电能流之差设E s ∣ E s ∣ e i ϕ s , E l o ∣ E l o ∣ e i ϕ l o E_s\vert E_s\vert e^{i\phi_s}, E_{lo}\vert E_{lo}\vert e^{i\phi_{lo}}Es∣Es∣eiϕs,Elo∣Elo∣eiϕlo则I I − I − r ( E s E l o ∗ E s ∗ E l o ) 2 r ∣ E s ∣ ∣ E l o ∣ cos ( ϕ s − ϕ l o ) \begin{aligned} II_-I_- r(E_sE_{lo}^*E_s^*E_{lo})\\ 2r\vert E_s\vert \vert E_{lo}\vert \cos(\phi_s-\phi_{lo}) \end{aligned}II−I−r(EsElo∗Es∗Elo)2r∣Es∣∣Elo∣cos(ϕs−ϕlo)可见直流项∣ E s ∣ 2 , ∣ E l o ∣ 2 \vert E_s\vert^2, \vert E_{lo}\vert^2∣Es∣2,∣Elo∣2完全被消掉了从而避免了强本振光引起的放大器饱和问题。与此同时输出信号的振幅和本振光振幅∣ E l o ∣ \vert E_{lo}\vert∣Elo∣成正比即起到了微弱信号放大的作用。参数OptiCommPy中实现了PBD函数签名如下其中E1, E2是输入光场param是相关参数返回值是差分电流。optic.models.devices.balancedPD(E1,E2,paramNone)param是OptiCommPy内置的参数类其具体成员包括param.R : 响应度单位是[A/W]默认1 A/Wparam.Tc : 工作温度单位是[°C]默认25°Cparam.Id : 暗电流单位是[A]默认5e-9 Aparam.RL : 负载阻抗单位是[Ω]默认50Ωparam.B : 探测器带宽单位是[Hz]默认30e9 Hzparam.Fs : 采样频率单位是[Hz]默认60e9 Hzparam.fType : 频率响应类型默认’rect’即矩形/理想砖墙式低通滤波器。param.N : 滤波器抽头数默认255param.ideal : 如果为True则使用理想BPD模型忽略所有噪声且不做带宽滤波。否则注入真实的物理噪声。param.seed : 随机数种子。测试理想BPD的输入输出测试如下importnumpyasnpimportmatplotlib.pyplotaspltfromoptic.models.devicesimportbalancedPDfromoptic.utilsimportparameters plt.rcParams[font.family]Times New Roman# 基础仿真参数Fs100e9tnp.arange(0,5e-9,1/Fs)Nlen(t)P_lo10e-3# 本振光 (强恒定 CW)Elonp.sqrt(P_lo)*np.ones(N)# 信号光 (弱幅度和相位随时间做非周期的连续变化)# 幅度: 基础值 两个不同频率的起伏A_t1e-3*(1.00.6*np.sin(2*np.pi*1.2e9*t)0.4*np.sin(2*np.pi*3.7e9*t))# 相位: 频偏 相位连续调制phi_t2*np.pi*2.5e9*t1.5*np.sin(2*np.pi*0.8e9*t)EsA_t*np.exp(1j*phi_t)# 模拟混频器输出 E1, E2E1(EsElo)/np.sqrt(2)E2(Es-Elo)/np.sqrt(2)# 理想balancedPDparamparameters()param.R1.0param.idealTrueI_bpdbalancedPD(E1,E2,param)fig,axsplt.subplots(2,1,figsize(10,6),sharexTrue)fig.suptitle(Input-Output Mapping of balancedPD with Continuous Optical Field,fontsize14,fontweightbold)# 上图输入光强 (展示 E1 和 E2 的连续动态变化)axs[0].plot(t*1e9,np.abs(E1)**2,label$|E_1|^2$,colorblue,alpha0.8)axs[0].plot(t*1e9,np.abs(E2)**2,label$|E_2|^2$,colorred,alpha0.8)axs[0].set_ylabel(Optical Power (W),fontsize12)axs[0].set_title(Input Optical Powers (Continuous Non-periodic Varying),fontsize12)axs[0].legend(locupper right)axs[0].grid(True,alpha0.3)# 下图输出电流 (展示电流如何实时跟随两者的差值)axs[1].plot(t*1e9,I_bpd,g-,linewidth1.5,alpha0.9)axs[1].set_ylabel(Output Current (A),fontsize12)axs[1].set_xlabel(Time (ns),fontsize12)axs[1].set_title(Output Balanced Current (Follows the difference of input powers),fontsize12)axs[1].grid(True,alpha0.3)plt.tight_layout()plt.show()