⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 klse822.asv

📁 一种新的光纤通信调制技术
💻 ASV
📖 第 1 页 / 共 2 页
字号:
%function y=klse822()
clear;
clc;
close all;
%*******************相关参数定义************************%

for oo=0:6
    SNRdB=8+oo;
    

%P_input_average=1e-6;      %%mW
%Eb=P_input_average;        %%mW
%%******************************************************%信噪比相关参数定义
nsp=3;                                                  %理想放大器噪声系数
hv=6.626*10^(-34)*1.94*10^(14);                         %h*f,为光子能量,f为波长是1550纳米的频率
N0=nsp*hv;                                              %噪声功率谱密度
Eb=N0*10^(SNRdB/10);                                    %信号平均功率,即每个码元的能量
G=1;
%*******************************************************%码速率相关参数定义
N=2^5;                                                  %2^5码元,实际上有2^6个比特
Rb=10^10;                                               %10G Hz;
T=1/Rb;
Bo=0.7*Rb;
Be=0.35*Rb;
Miu=1.4;
Tao=2;
T0=Miu*(1/Bo+1/Be);

L=floor(Tao*N*Bo*T);
M=floor(Tao*Bo*T0); 
%*****************************************************%光纤传输相关参数定义
%load BER1 DD;
%D=DD*10^(-24);
D=0;
%b2=0;%2.0400e-023;                                   %s^2/Km,b2=20.4ps^2/Km
wavelength=1550;                          %nm
c=3e005;                                  %km/s
b2=-D*wavelength^2/(2*pi*c);              %s^2/km
Long=50;                                              %Km
detaPHI=0;                                            %phase error
%detaPHI2=0;
%load BER1 detaPHI;
detaPHI1=detaPHI;
detaPHI2=detaPHI;
%%*********PMD相关参数*******
%load BER1 deta;
deta=0;
Dp=0.1;                      %ps/sqrt(Km),PMD参数。
detaTao=deta*T;
%detaTao=0;%Dp*sqrt(Long);       %差分群时延DGD。
eta=0.5;                     %使两个PSP对称,尚须参考
%***************************
%传输信号参数定义
Bitrate=10*1e9;                                                              %信号传输速率定义
Samplerate=32;                                                              %每比特周期采样率定义
%code_order=5;                                                               %伪随机二进制码阶数定义

Period=1/Bitrate;
%Bitlength=2^code_order;                                                     % 2^code_order-1

V=Bitrate;                                                                       %信号传输速率(10Gbit/s或者40Gbit/s)
T=Period;                                                                        %比特周期(10Gbit/s系统为100ps;40Gbit/s系统为25ps)
%N=Bitlength;                                                                     %码长(127)
R=Samplerate;                                                                %每比特周期采样率(32)
T_delta=T/R;                                                                  %取样时间间隔
%F_sample=linspace(-R*V/2,+R*V/2-V/N,N*R);                 %取样频率分量序列(2*pi*F_sample才为角频率序列)

%*******************************************************************************************************************************  
%光纤放大器(EDFA)和光接收机相关参数定义
                                                                           %光纤放大器噪声指数
G=1;%23.5;                                                                          %光纤放大器固定增益(dB)
%c=2.9979*1e8;
%lamda = 1550*1e-9;                                                        % 波长 m
%q=1.6e-19;                                                                      %电子电荷电量
%hp=6.63e-34;                                                                    %Plank常数
%Vs=c/lamda;                                                                     %光频率 1e14 Hz
%Bo=1.2*V;                                                                       %光滤波器带宽

%Re=1;                                                                                %光探测器的响应度
%ST=400e-24;                                                                     %% 热噪声频谱密度
%I_dark=1e-9;                                                                      %% dark current (1nA)  
 
%Band_rate=0.9;                                                                 %% ratio of receiver bandwidth with signal rate; 
%Be=Band_rate*V;                                                                 %% electrical filter bandwidth, receiver bandwidth:(NRZ: 0.75B; RZ: 0.5B)
% SNRdB=20;
% N0=Eb/(10.^(SNRdB/10));
%N0 = 10.^(NF/10) * hp * Vs  * (10.^(G/10) - 1) ; %/ (10.^(G/10));
%N0 = 0;

%mu = 1.4;
%T0 = mu*(1/Bo + 1/Be);
%M = 2.^( ceil( log2( T0/T_delta )));
%M=6;
%T0 = M*T_delta;
%mu = T0/(1/Bo + 1/Be);
%*******************************************************************************************************************************
%激光器和调制器参数设置
%P_max=P_input_average;                                              %激光器发射的峰值功率(mW) 
%P_ext=30;                                                                      %调制器消光比(dB)
%P_min=P_max*10^(-P_ext/10);                                      %调制器0码输出光功率
%DPSK,幅值固定

A_dpsk=sqrt(Eb/(4*T));
%chirp=0;                                                                         %调制器啁啾系数
%laser_width=10e6;                                                         %激光器线宽(MHz)

%********************************************************************************************************************************
%********************************************************************************************************************************
%%  光信号部分                %光发射机模型(包括编码、采样、滤波和调制)
%************************************************************************ 
 
%%%*******************************************%产生debrujin序列
fbconnection=[1 1 0 0 0 1];                   %for r=6的PN序列,for 4-DPSK
KK1=de_sequence(fbconnection);                %得到的KK1为原信号的PRBS序列

%%%*******************************************%4-DPSK的差分码变换过程

 a1=zeros(1,length(KK1)/2);
 b1=zeros(1,length(KK1)/2);
 for ii=1:(length(KK1)/2)
     a1(ii)=KK1(2*ii-1);
     b1(ii)=KK1(2*ii);                        %第一步先将原码分成上下两路 
 end
 
 c1=zeros(1,length(KK1)/2);
 d1=zeros(1,length(KK1)/2);
 c10=0;d10=0;                                 %作为参考码元
 c1(1)=~a1(1)&~b1(1)&c10 | ~a1(1)&b1(1)&d10 | a1(1)&b1(1)&~c10 | a1(1)&~b1(1)&~d10; 
 d1(1)=~a1(1)&~b1(1)&d10 | ~a1(1)&b1(1)&~c10 | a1(1)&b1(1)&~d10 | a1(1)&~b1(1)&c10; 
 for ii=2:(length(KK1)/2)
     c1(ii)=~a1(ii)&~b1(ii)&c1(ii-1) | ~a1(ii)&b1(ii)&d1(ii-1) | a1(ii)&b1(ii)&~c1(ii-1) | a1(ii)&~b1(ii)&~d1(ii-1); 
     d1(ii)=~a1(ii)&~b1(ii)&d1(ii-1) | ~a1(ii)&b1(ii)&~c1(ii-1) | a1(ii)&b1(ii)&~d1(ii-1) | a1(ii)&~b1(ii)&c1(ii-1);
 end                                          %第二步根据逻辑关系求出4-DPSK差分编码
     
%KK=b;%差分编码

%*********************************************%对上下两路信号分别周期采样
jj=0;
for n=1:length(c1)
	for m=1:R
       jj=jj+1;
       UU1(jj)=c1(n);
       UU2(jj)=d1(n);
	end
end

% figure(1)
% plot(UU)
% hold on
% title('伪随机码序列输出') 

%**********************************************%Bessel滤波用以产生NRZ码
%U_fft1=fft(UU1);
%U_fft2=fft(UU2);
%[b,a]=besself(10,2*pi*V*2);                                           %10阶Bessel函数,截止频率=(Bitrate*4)GHz
%w=0:2*pi/(N*T):((2*pi*R/T)-2*pi/(N*T));   
%h=freqs(b,a,w);   
%for kk=(N*R/2+1):N*R
%   h(kk)=conj(h(N*R+2-kk));
%end        
%U1=ifft(abs(h).*U_fft1);U1=abs(U1);
%U2=ifft(abs(h).*U_fft2);U2=abs(U2);
 %%%%%%%调试
U1=UU1;U2=UU2;
 %for ii=1:N*R
  %   if U(ii)==0
  %       U(ii)=eps;
  %   end
 % end
 %%%%%%%%%%U为输出的PRBS

 %%%%%%%%
%激光器发射功率、线宽、啁啾和调制器的消光比
%激光器输出:A(t)=sqrt(P(t))*exp(j*fai(t))
%光源的相位噪声fai(t)包括两个部分:1.光源线宽造成的,对应于频率起伏;2.光源调制造成的(光功率变化)
delta_t=T/R;                                                                    %取样时间间隔

fai=zeros(1,length(U1));
A=zeros(1,length(U1));
for nn=1:length(U1)                                                                      
		if U1(nn)==0 && U2(nn)==0
           %fai(nn)=3*pi/4;
            fai(nn)=1*pi/2;
        end
        if U1(nn)==0 && U2(nn)==1
           %fai(nn)=5*pi/4;
            fai(nn)=4*pi/4;
        end
        if U1(nn)==1 && U2(nn)==0
           %fai(nn)=pi/4;
            fai(nn)=8*pi/4;
        end
        if U1(nn)==1 && U2(nn)==1
           %fai(nn)=7*pi/4;
            fai(nn)=6*pi/4;
        end
        A(nn)=A_dpsk*exp(i*fai(nn));
end                                            %相位选择法进行4-DPSK调制
%jj=0;

for nn=1:length(U1)                                                                       %对于所有码
%		for tt=1:R                                                                       %对于一个周期
%           jj=jj+1;
%           fai(nn)=0*pi/4+( U1(jj)*2+U2(jj) )*pi/2;
%           A(n)=A_dpsk*exp(i*fai(jj));                            %%%对相对码的绝对相移调制即是DPSK调制
%		end   
%end 
%  figure(2)
%  plot(angle(A))
%  title('激光器输出信号的瞬态相位')
% 
%  figure(3)
%  plot(abs(fftshift(fft(A))).^2)
%  title('激光器输出功率谱')
% figure(4);
 %t = (1:N*R)/(N*T); 
 %B=A.*conj(A);
%plot(t,B)
%title('Optical Pulse Train')
%eyediagram(A, 2*R, 2, R/2);

 % figure(1);
% eyescat(A,V/2,R*V,R/2);                    %调制器输出波形眼图
%title('光发射机输出信号眼图')



%**********************************DPSK************************************
%%%
%**********************************yk+*************************************
H1=zeros(0,N*R);
H2=zeros(0,N*R);
 for l=-N*R/2:(N*R/2-1)
     f=l/(2*N*T);%**********************************************************T change to 2*T
     H1f=(exp(-i*4*pi*f*T)+exp(-i*pi/4)*exp(i*detaPHI1))/2;
     H2f=(exp(-i*4*pi*f*T)-exp(-i*pi/4)*exp(i*detaPHI1))/2;
     Hf=sqrt(eta)*exp(i*2*pi*f*(-0.5*detaTao)-i*2*pi^2*b2*Long*f.^2);%%% Hf+ 
     Hof=G*exp(-(f/(0.65*Bo)).^4);
     H1(l+N*R/2+1)=Hf*Hof*H1f;
     H2(l+N*R/2+1)=Hf*Hof*H2f;
 end
 Aw=fft(A);H1=fftshift(H1);
 Aw1=Aw.*H1;H1=ifftshift(H1);
 A1=ifft(Aw1);H2=fftshift(H2);
 Aw2=Aw.*H2;H2=ifftshift(H2);
 A2=ifft(Aw2);
 IA=A1.*conj(A1)-A2.*conj(A2);%%%光探测器输出的差分电流
 Aw=fft(IA);
 [b,a]=besself(5,2*pi*Be);
 w=((-N*R/2):(N*R/2-1))*2*pi/(2*N*T);
 Hes=freqs(b,a,w);
 Hes=fftshift(Hes);
 vtr_d_k1=ifft(abs(Hes).*Aw);%%%yk+
 %******************************yk_
 H1=zeros(0,N*R);
 H2=zeros(0,N*R);
 for l=-N*R/2:(N*R/2-1)
     f=l/(2*N*T);%**********************************************************T change to 2*T
     H1f=(exp(-i*4*pi*f*T)+exp(-i*pi/4)*exp(i*detaPHI1))/2;
     H2f=(exp(-i*4*pi*f*T)-exp(-i*pi/4)*exp(i*detaPHI1))/2;
     Hf=sqrt(1-eta)*exp(i*2*pi*f*(0.5*detaTao)-i*2*pi^2*b2*Long*f.^2);%%% Hf-

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -