The bandwidth of a device such as a modulator or photodetector is an important figure. When designing a modulator or photodetector for high frequencies, much attention is paid to matching the velocity of the optical waves and the RF waves.
By finding the propagation time difference between the optical and RF waves, we model this in the time domain as a rect function. Note that for the rect function, the difference in propagation time is the tau variable. Performing the Fourier transform on the rect function will give us a sinc function. The 3dB cutoff point of this sinc function in the frequency domain gives us the device bandwidth. Note the MATLAB algorithm used below. The 3dB bandwidth is calculated using a simple manipulation of the frequency vector indices.
v_optical = ; %simulated optical velocity [define]
v_RF = ; %simulated RF velocity [define]
l_device = ; %device length [define]
f_max = ; %max frequency of vector (should be higher than bandwidth) [define]
f_num = ; %number of frequencies in vector [define]
tau = abs((l_device/v_optical)-(l_device/v_RF)) ; %propagation time difference
W = linspace(0,f_max,f_num); %frequency vector
S = tau*sinc(W*tau/2); %sinc function in frequency domain
Qs = find(20*log10(S)<=(20*log10(S(1))-3)); %intermediate calculation for index of 3db cutoff
BW_3dB= f_max*(Qs(1))/f_num %This is the result