陈根祥《光纤通信技术基础》(高等教育出版社,2010年11月第1版),P121,图6.2.1中4个图的程序,用MATLAB实现。
- %==========================================================================
- %Name: guass_nc_spm.m
- %Desc: 计算无啁啾高斯脉冲的SPM谱展宽效应,详见陈根祥《光纤通信技术基础》,
- % 高等教育出版社,2010年11月第一版,P121。用到了gauss_m_nc(t,m,fwhm)
- % 函数,该函数用来产生无啁啾高斯脉冲,这是个自定义函数,详细参考
- % gauss_m_nc.m文件。
- %Parameter:
- %Return:
- %Author: yoyoba(stuyou@126.com)
- %Date: 2011-10-20
- %Modify: 2011-10-20
- %==========================================================================
- %输入无啁啾高斯脉冲时域波形
- N1=64;%(a)、(b)、(c)图用该抽样点
- fs=1500e+9;
- m=1;
- fwhm=10e-12;
- n1=floor(-(N1-1)/2:(N1-1)/2);
- t1=n1/fs;
- g1=gauss_m_nc(t1,m,fwhm);
- subplot(2,2,1);
- plot(t1,abs(g1).^2,'k');
- title('(a) 输入脉冲波形');
- xlabel('时间/s');
- %非线性相移
- nphase=-6.22*abs(g1).^2;
- subplot(2,2,2);
- plot(t1,nphase,'k');
- title('(b) 非线性相移');
- xlabel('时间/s');
- %频率啁啾
- t0=(fwhm/2)*(2*log(2))^(-1/2/m);
- f_chirp=2*m/t0*6.22*(t1/t0).^(2*m-1).*exp(-(t1/t0).^(2*m));
- subplot(2,2,3);
- plot(t1,f_chirp,'k');
- title('(c) 频率啁啾');
- xlabel('时间/s');
- %输入脉冲功率谱和输出脉冲功率谱,为了频率更精确,设置更多的采样点。
- N=1024;
- np=floor(0:(N-1)/2);
- nn=floor(-(N-1)/2:-1/2);
- n=[np,nn];
- t=n/fs;
- g=gauss_m_nc(t,m,fwhm);
- G=fftshift(fft(g,N));
- k=floor(-(N-1)/2:(N-1)/2);
- f=k*fs/(N);
- subplot(2,2,4);
- plot(f,abs(G).^2,'r-'); %入射脉冲光谱
- axis([-4e+11,4e+11,0,300]);
- g2=abs(g).^2;
- gz=g.*exp(-j*6.22*g2);
- GZ=fftshift(fft(gz,N));
- hold on;
- plot(f,abs(GZ).^2,':'); %出射光谱
- legend('入射光谱','出射光谱');
- title('光谱展宽');
- xlabel('频率/Hz');
- hold off;
- %==========================================================================
- %Name: y=gauss_m_nc(t,m,fwhm)
- %Desc: 计算m阶无啁啾超高斯脉冲,无啁啾高斯脉冲的表达式为exp(-1/2*(t/t0)^(2m))
- % 其中m为阶数。
- %Parameter: [in]t,时刻,可以是数值,也可以是向量
- % [in]m,超高斯脉冲的阶数
- % [in]fwhm,半最大值全宽,单位为s。计算时,要根据fwhm计算T0,
- % 计算公式为FWHM=2*t0*(2*log(2))^(1/(2*m))
- %Return: y,返回值
- %Author: yoyoba(stuyou@126.com)
- %Date: 2011-10-16
- %Modify: 2011-10-16
- % %========================================================================
- % function y=gauss_m_nc(t,m,fwhm)
- % t0=(fwhm/2)*(2*log(2))^(-1/2/m);
- % y=exp(-0.5*(t/t0).^(2*m));
gauss_nc_spm.rar
阅读(4326) | 评论(0) | 转发(0) |