tuttelikz

Fourier domain OCT

Feb 4th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 2.38 KB | None | 0 0
  1. % Example 9.4
  2. % Use SI units throughout
  3.  
  4. lambda0 = 800E-9; % center wavelength of source
  5. dlambda = 20E-9; % FWHM wavelength bandwidth of source
  6. ns=1.38; % refractive index of sample
  7. ls1 = 100E-6; % location of backscatterer 1
  8. ls2 = 150E-6; % location of backscatterer 2
  9. rs1 = 0.5; % reflectivity of backscatterer 1
  10. rs2 = 0.25; % reflectivity of backscatterer 2
  11.  
  12. k0=2*pi/lambda0; % center propagation constant
  13. delta_k=2*pi*dlambda/lambda0^2; % FWHM bandwidth of k
  14. sigma_k = delta_k/sqrt(2*log(2)); % standard deviation of k
  15.  
  16. N=2^10; % number of sampling points
  17. nsigma = 5; % number of standard deviations to plot on each side of k0
  18.  
  19. subplot(4,1,1); % Generate the interferogram
  20. k = k0 + sigma_k*linspace(-nsigma,nsigma, N); % array for k
  21. S_k = exp(-(1/2)*(k-k0).^2/sigma_k^2); % Gaussian source PSD
  22. E_s1 = rs1*exp(i*2*k*ns*ls1); % sample electric field from scatter 1
  23. E_s2 = rs2*exp(i*2*k*ns*ls2); % sample electric field from scatter 2
  24. I_k1 = S_k .* abs(1 + E_s1 + E_s2).^2; % interferogram (r_R = 1)
  25. plot(k/k0,I_k1/max(I_k1), 'k');
  26. title('Interferogram');
  27. xlabel('Propagation constant k/k_0');
  28. ylabel('Normalized intensity');
  29. axis([0.9 1.1 0 1]);
  30.  
  31. subplot(4,1,2); % Inverse Fourier transform (IFT) of the interferogram
  32. spec1=abs(fftshift(ifft(I_k1)))/sqrt(N);
  33. dls_prime = 1/(2*nsigma*sigma_k/(2*pi)); % freq bin size = 1/sampling range
  34. ls_prime = dls_prime*(-N/2:N/2-1); % frequency array
  35. plot(ls_prime/(2*ns),spec1/max(spec1), 'k'); % scale the frequency
  36. title('IFT of the interferogram');
  37. xlabel('Depth ls (m)');
  38. ylabel('Relative reflectivity');
  39. axis([-2*ls2 2*ls2 0 1]);
  40.  
  41. subplot(4,1,3); % IFT of the deconvolved interferogram
  42. spec1_norm =abs(fftshift(ifft(I_k1./S_k)))/sqrt(N);
  43. dls_prime = 1/(2*nsigma*sigma_k/(2*pi)); % bin size = 1/sampling range
  44. ls_prime = dls_prime*(-N/2:N/2-1); % frequency array
  45. plot(ls_prime/(2*ns),spec1_norm/max(spec1_norm), 'k');
  46. title('IFT of the deconvolved interferogram');
  47. xlabel('Depth ls (m)');
  48. ylabel('Relative reflectivity');
  49. axis([-2*ls2 2*ls2 0 1]);
  50.  
  51. subplot(4,1,4); % IFT of the deconvolved differential interferogram
  52. I_k2 = S_k .* abs(-1 + E_s1 + E_s2).^2; % interferogram
  53. delta_I_k = I_k1 - I_k2;
  54. spec2=abs(fftshift(ifft(delta_I_k./S_k)))/sqrt(N);
  55. plot(ls_prime/(2*ns),spec2/max(spec2), 'k');
  56. title('IFT of the deconvolved differential interferogram');
  57. xlabel('Depth ls (m)');
  58. ylabel('Relative reflectivity');
  59. axis([-2*ls2 2*ls2 0 1]);
Add Comment
Please, Sign In to add comment