| ²é¿´: 1133 | »Ø¸´: 1 | |||
hywdx510ľ³æ (СÓÐÃûÆø)
|
[½»Á÷]
¡¾ÌÖÂÛ¡¿¹âÏËÖйâÐźŷÇÏßÐÔЧӦµÄ´«Êä·½³Ì·ÂÕæµÄÓйØÌÖÂÛ ÒÑÓÐ1È˲ÎÓë
|
|
AgrawalÔÚÆäËùÖøNonlinear Fiber Optics£¨4ed£©Appendix BÖиø³öÁ˸÷½³ÌÒ»¸öÀûÓÃsplit-step½â·¨Matlab³ÌÐò¡£³ÌÐòÖа´ÀíÓÿìËÙ¸µÀïÒ¶±ä»»fft´¦¶¼ÓÃÁË·´±ä»»ifft£¬¶øÓ¦¸ÃÓ÷´±ä»»ifft´¦¶¼ÓÃÁËÕý±ä»»fft£¨ÔÚ³ÌÐòÖÐÓúÚÌå±ê×¢£©¡£ ÌÖÂÛÎÊÌ⣺ 1. ÕâÑù·´×ÅÓöԽá¹ûÓÐÎÞÓ°Ï죿 2. ÔÚÀíÂÛ²ãÃæ·ÖÎöΪʲôÕâÑùÓã¿% This code solves the NLS equation with the split-step method % idu/dz - sgn(beta2)/2 d^2u/d(tau)^2 + N^2*|u|^2*u = 0 % Written by Govind P. Agrawal in March 2005 for the NLFO book %---Specify input parameters clear all; % distance = input(¡¯Enter fiber length (in units of L_D) =¡¯); % beta2 = input(¡¯dispersion: 1 for normal, -1 for anomalous¡¯);% N = input(¡¯Nonlinear parameter N = ¡¯); % soliton order mshape = input(¡¯m = 0 for sech, m > 0 for super-Gaussian = ¡¯); chirp0 = 0; % input pulse chirp (default value) %---set simulation parameters nt = 1024; Tmax = 32; % FFT points and window size step_num = round(20*distance*N^2); % No. of z steps to deltaz = distance/step_num; % step size in z dtau = (2*Tmax)/nt; % step size in tau %---tau and omega arrays tau = (-nt/2:nt/2-1)*dtau; % temporal grid omega = (pi/Tmax)*[(0:nt/2-1) (-nt/2:-1)]; % frequency grid %---Input Field profile if mshape==0 uu = sech(tau).*exp(-0.5i*chirp0*tau.^2); % soliton else % super-Gaussian uu = exp(-0.5*(1+1i*chirp0).*tau.^(2*mshape)); end %---Plot input pulse shape and spectrum temp = fftshift(ifft(uu)).*(nt*dtau)/sqrt(2*pi); % spectrum figure; subplot(2,1,1); plot(tau, abs(uu).^2, ¡¯--k¡¯); hold on; axis([-5 5 0 inf]); xlabel(¡¯Normalized Time¡¯); ylabel(¡¯Normalized Power¡¯); title(¡¯Input and Output Pulse Shape and Spectrum¡¯); subplot(2,1,2); plot(fftshift(omega)/(2*pi), abs(temp).^2, ¡¯--k¡¯); hold on; axis([-.5 .5 0 inf]); xlabel(¡¯Normalized Frequency¡¯); ylabel(¡¯Spectral Power¡¯); %---store dispersive phase shifts to speedup code dispersion = exp(i*0.5*beta2*omega.^2*deltaz); % phase factor hhz = 1i*N^2*deltaz; % nonlinear phase factor %*********[ Beginning of MAIN Loop]*********** % scheme: 1/2N -> D -> 1/2N; first half step nonlinear temp = uu.*exp(abs(uu).^2.*hhz/2); % note hhz/2 for n=1:step_num f_temp = ifft(temp).*dispersion; uu = fft(f_temp); temp = uu.*exp(abs(uu).^2.*hhz); end uu = temp.*exp(-abs(uu).^2.*hhz/2); % Final field temp = fftshift(ifft(uu)).*(nt*dtau)/sqrt(2*pi); %Final spectrum %***************[ End of MAIN Loop ]************** %----Plot output pulse shape and spectrum subplot(2,1,1) plot(tau, abs(uu).^2, ¡¯-k¡¯) subplot(2,1,2) plot(fftshift(omega)/(2*pi), abs(temp).^2, ¡¯-k¡¯) »¶Ó´ó¼ÒÌÖÂÛ£¡ ÎÒÊÔ¹ý£¬ÔÚÑ»·µü´ú¹ý³ÌÖУ¬½»»»FFTºÍIFFT¶Ô½á¹ûûÈκÎÓ°Ï죬˵Ã÷FFTºÍIFFTÖ»ÊdzɶԳöÏÖÊ±Ëæ±ãÄǸö¶¼¿ÉÒÔ¶¨ÒåΪFFT£¬ÁíÒ»¸ö¾Í³ÉÁËIFFT |
» ²ÂÄãϲ»¶
Ò»Ö¾Ô¸±±½»´ó²ÄÁϹ¤³Ì×Ü·Ö358Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
312Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
²ÄÁÏ334Çóµ÷¼Á
ÒѾÓÐ19È˻ظ´
ÉúÎïÓëÒ½Ò©273Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
301Çóµ÷¼Á
ÒѾÓÐ10È˻ظ´
ר˶0854³õÊÔ¿¼²Ä¿Æ»ù£¬Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
0703»¯Ñ§
ÒѾÓÐ15È˻ظ´
0703µ÷¼Á£¬Ò»Ö¾Ô¸Ìì½ò´óѧ319·Ö
ÒѾÓÐ9È˻ظ´
085600²ÄÁÏÓ뻯¹¤301·ÖÇóµ÷¼ÁԺУ
ÒѾÓÐ10È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
ʯīϩ¸´ºÏ²ÄÁÏÖÖµÄÐͬЧӦ£¨synergistic effect£©ÔõôÀí½â£¿
ÒѾÓÐ8È˻ظ´
ÓйشÅÁ÷Ìå·½³Ì¼ÆËãµÄѯÎÊ
ÒѾÓÐ8È˻ظ´
¹ÜÀíÓ¦¸ÃÖªµÀµÄЧӦ
ÒѾÓÐ42È˻ظ´
¹ØÓÚÁ÷Ìå³åË¢±ÚÃæµÄÄ£Ä⣬¼°±ÚÃæÄ¥ËðµÄºó´¦Àí
ÒѾÓÐ9È˻ظ´
matlabÄâºÏ·½³Ì²ÎÊýʱ³õÖµµÄÑ¡Ôñ
ÒѾÓÐ15È˻ظ´
ÇóÖúÕâ¸ö·ÇÏßÐÔ·½³Ì¸ÄÔõô½â°¡£¿£¿
ÒѾÓÐ4È˻ظ´
matlabÇó½â·ÇÏßÐÔ·½³Ì×é
ÒѾÓÐ16È˻ظ´
matlabµÄfsove ÃüÁîÇó½â·ÇÏßÐÔ·½³Ì×é
ÒѾÓÐ6È˻ظ´
¡¾×ÊÔ´¡¿ÊýÖµ½â ¹âÏËÖÐ ·ÇÏßÐÔѦ¶¨ÚÌ·½³Ì Èí¼þ
ÒѾÓÐ27È˻ظ´
hywdx510
ľ³æ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 4515.5
- Ìû×Ó: 92
- ÔÚÏß: 69.3Сʱ
- ³æºÅ: 865943
- ×¢²á: 2009-10-08
- רҵ: ¹â×ÓÓë¹âµç×ÓÆ÷¼þ
2Â¥2010-12-23 17:17:17














»Ø¸´´ËÂ¥