Azzera filtri
Azzera filtri

how i can simulate it on MATLAB

9 visualizzazioni (ultimi 30 giorni)
asma
asma il 13 Mag 2024
Risposto: SOUMNATH PAUL il 13 Mag 2024
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

Risposte (1)

SOUMNATH PAUL
SOUMNATH PAUL il 13 Mag 2024
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

Community Treasure Hunt

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

Start Hunting!

Translated by