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)

댓글

이 블로그의 인기 게시물

타로카드 점치는 방법 켈틱크로스 변형!

타로카드 리딩? [메뉴얼 텍스트 리딩 VS 이미지 리딩]

DPSSL (Diode Pumped Solid State Laser) 레이저