how i can simulate it on MATLAB

6 次查看(过去 30 天)
asma
asma 2024-5-13
I wanne simulate joint spectral amplitude that is based on pump envelope and phase matching. lamdaP value is 1550nm and i write code but my alpha value is 0, and i dont know why!
I wanne a picture like that I attach.
clear;
close all;
%...................parameters...............
lambdaP = 1.55e-6; % pump wavelength
nelithiumP = 2.142; % refractive index lithium niobate for pump lambda
lambdaS = 0.775e-6 ; % signal wavelength
nelithiumS = 2.186; % refractive index lithium niobate for signal lambda
lambdaI = 0.775e-6 ; % idler wavelength
nelithiumI = 2.186; % refractive index lithium niobate for idler lambda
kP = 2*pi*(nelithiumP/lambdaP);
kS = 2*pi*(nelithiumS/lambdaS);
kI = 2*pi*(nelithiumI/lambdaI);
capital_lambda = 17.6e-6;
Deltak =(kP-kS-kI-(2*pi/capital_lambda));
%Deltak = linspace(a-1e7,a+1e7,100); % phase matching condition
L = 2e-2;
sigmaP=10e-9;
%deltat=50e-12;
sigmaP = deltat/(2*sqrt(log(2))); % pulse width
c = 3e8; % speed of light in vacuum
fS = c/lambdaS; fP = c/lambdaP; fI = c/lambdaI;
wS = 2*pi*fS; wP = 2*pi*fP; wI = 2*pi*fI; % angel frequncy
%alpha=exp(-(2*(pi^2)*(sigmaP^2))*((wP-(wS+wI))^2));
%b=wS+wI-wP;
alphaa = exp(-((wS+wI-wP)/sigmaP)); % pump envelope function
phi = (sinc(Deltak.*L./2)).*exp(1i.*Deltak.*L./2); % phase matching function
f = alphaa*phi; % joint spectral amplitude
joint_spectral_intensity = abs((f).^2); % joint spectral intensity

回答(1 个)

SOUMNATH PAUL
SOUMNATH PAUL 2024-5-13
Hi @asma,
I see you have commented out the definition of "deltat" and have an incorrect computation for "sigmap" that follows.
Assuming you define "deltat" the corrected portion of your code will be :
% Assuming deltat is defined, I have taken an arbitrary value for mock computation:
deltat = 50e-12; % pulse width in seconds
% Correct calculation of sigmaP for a Gaussian pulse in the frequency domain
sigmaP = 1 / (deltat * sqrt(2 * log(2)));
% Corrected alpha calculation using the Gaussian envelope formula
alpha = exp(-((wP - (wS + wI))^2) / (2 * sigmaP^2));
% Continue with phi and f as before
phi = (sinc(Deltak * L / 2)) .* exp(1i * Deltak * L / 2); % phase matching function
f = alpha * phi; % joint spectral amplitude
joint_spectral_intensity = abs((f).^2); % joint spectral intensity
Hope this Helps!
Soumnath

类别

Help CenterFile Exchange 中查找有关 Spectral Measurements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by