020 MATLAB Nonlinear Fourier transformation
Nonlinear Fourier transformation
% Fourier transformation
clear all
dscale = 10000; % 범위안의 간격의 개수
dtimescale = 2000; % 시간의 범위의 간격의 개수
n=1.52; % 렌즈의 굴절률 1.5~1.7 정도범위
d=1e-3; % 렌즈의 두께 1mm
m = input('중심파장을 입력하시오.(m) = '); % 중심파장 입력
sigma = input('분산의 크기를 입력하시오.(m) = '); % 분산의 크기 입력
c=3e8; % 빛의 속력
lamdamax = 400*1e-9; % 최소파장값 여기서 사용하는 파장의 범위를 400~1200nm로 사용
lamdamin = 1200*1e-9;
lamda = linspace(lamdamin, lamdamax, dscale); % 파장을 10000개로 나누어줌
Glamda = (1./(sigma.*(2.^(-1/2)))).*exp(-(lamda-m).^2./(2.*sigma.^2)); % 파장에 따른 가우시안 형태의 그래프를 그림
figure
% subplot(3,1,1);% plot
% plot(lamda,Glamda); Xlabel('lamda (m)'); Ylabel('amplitude');
wmin = (2*pi*c)/lamdamax; % 파장을 각속도로 변환
wmax = (2*pi*c)/lamdamin;
w = linspace(wmin,wmax,dscale);
mw = (2*pi*c)/m; % 파장을 각속도로 변환할 경우의 분산을 설정
sigmaw = mw - ((2*pi*c)/(sigma+m)); % 파장의 분산과 각속도의 분산의 차이를 설정
Gw = (1./(sigmaw.*(2.^(-1/2)))).*exp(-(w-mw).^2./(2.*sigmaw.^2));
% subplot(3,1,2);
% plot(w,Gw); Xlabel('w(frequency)'); Ylabel('amplitude');
t = linspace(-5100e-15,-5020e-15,dtimescale);
ftt=linspace(0,0,dtimescale);
for p=1:dscale;
ft = (1/(2*pi)).*Gw(p).*cos((w(p).*t)+((w(p)/c)*n*d)).*((wmin-wmax)/dscale);
ftt=ftt+ft;
end
% subplot(3,1,3);
plot(t,ftt)
dscale = 10000; % 범위안의 간격의 개수
dtimescale = 2000; % 시간의 범위의 간격의 개수
n=1.52; % 렌즈의 굴절률 1.5~1.7 정도범위
d=1e-3; % 렌즈의 두께 1mm
m = input('중심파장을 입력하시오.(m) = '); % 중심파장 입력
sigma = input('분산의 크기를 입력하시오.(m) = '); % 분산의 크기 입력
c=3e8; % 빛의 속력
lamdamax = 400*1e-9; % 최소파장값 여기서 사용하는 파장의 범위를 400~1200nm로 사용
lamdamin = 1200*1e-9;
lamda = linspace(lamdamin, lamdamax, dscale); % 파장을 10000개로 나누어줌
Glamda = (1./(sigma.*(2.^(-1/2)))).*exp(-(lamda-m).^2./(2.*sigma.^2)); % 파장에 따른 가우시안 형태의 그래프를 그림
figure
% subplot(3,1,1);% plot
% plot(lamda,Glamda); Xlabel('lamda (m)'); Ylabel('amplitude');
wmin = (2*pi*c)/lamdamax; % 파장을 각속도로 변환
wmax = (2*pi*c)/lamdamin;
w = linspace(wmin,wmax,dscale);
mw = (2*pi*c)/m; % 파장을 각속도로 변환할 경우의 분산을 설정
sigmaw = mw - ((2*pi*c)/(sigma+m)); % 파장의 분산과 각속도의 분산의 차이를 설정
Gw = (1./(sigmaw.*(2.^(-1/2)))).*exp(-(w-mw).^2./(2.*sigmaw.^2));
% subplot(3,1,2);
% plot(w,Gw); Xlabel('w(frequency)'); Ylabel('amplitude');
t = linspace(-5100e-15,-5020e-15,dtimescale);
ftt=linspace(0,0,dtimescale);
for p=1:dscale;
ft = (1/(2*pi)).*Gw(p).*cos((w(p).*t)+((w(p)/c)*n*d)).*((wmin-wmax)/dscale);
ftt=ftt+ft;
end
% subplot(3,1,3);
plot(t,ftt)
댓글
댓글 쓰기