# DESCRIPTION # { # Modulation bandwidth is calculated from the transient simulation, where a numerically small step signal is applied # on top of the DC signal after intitial steady state is reached. To increase the accuracy of bandwidth calculation # the capture/escape rate model is implemented based on 1992, Nagarajan, High speed quantum-well lasers and carrier # transport effects. # # NOTES: # # 1. Spontaneous emission contribution to the photon density is significantly reduced in the transient simulation # as it does not affect the modulation bandwidth significantly. This agrees with the reference (1992, Nagarajan). # Spontaneous emission is reduced to a level just enough to spark lasing but not polute output power with noise, # making it challenging to extract the RF response from the time-domain output power. # 2. The device model used in this example is our FP getting started example, modified to include a step source # on top of the DC source and to reduce the spontaneous emission coupling coefficient. # # } clear; transient_bandwidth; #load custom script function that implements the time-domain output power post-processing to calculate the RF response. load("TWLMexampleLaserFP300umCF353THzR3R3nel100_transient"); switchtolayout; #Enable carrier capture/escape rate model and set some reasonable values (not necessarily accurate for the device in question) setnamed('TWLM_1','enable SCH',true); setnamed('TWLM_1','well carrier capture rate',1.42857e+10); setnamed('TWLM_1','well carrier escape rate',7.14286e+09); setnamed('TWLM_1','total well thickness',1e-7); setnamed('TWLM_1','total barrier thickness',1e-7); #Reduce spontaneous emission to a level just enough to spark lasing but not pollute output power with noise. setnamed('TWLM_1','spontaneous emission factor 1',1e-12); run; transient_BW = rf_bandwidth_postprocess(25e-12,20e9); ?'3dB bandwidth from transient simulation is ' + num2str(transient_BW.bandwidth*1e-9) + ' GHz'; three_dB=log10(ones(length(transient_BW.rf_response))*0.001); plot(transient_BW.freq*1e-9,transient_BW.rf_response,three_dB,"Frequency (GHz)", " Normalized response (dB)","","linewidth=2"); legend('transient RF response','3dB cut-off');