1.算法描述

光通信系统中,QAM调制应用广泛,因为其利用幅度和相位同时传递i信息,提高了频带利用率。目前,最高阶数的QAM已达到1024-QAM即星座图有1024个点。虽然QAM应用广泛,但是由于其产生的信号是复数信号,无法直接应用在基于强度调制/直接检测(IM/DD)系统中,所以一种改进的QAM调制格式对于可见光通信领域就显得尤其重要。

正交幅度调制(QAM)是一种将两种调幅信号聚合在一起的调制方法。正交调幅信号由两个频率相同,相位相差90°的载波,分别称为I支路信号(同相支路)和Q支路信号(正交支路),两种被调制的载波在发送端被混合,在整体上显示为对载波的幅度和相位同时进行调制。

 

OFDM技术的总体流程可以表示成图1。图1中,有码元a1到ak,共k个子信道,每个子信道对应一个子载波,这些子载波与ak相结合调制(基带调制),调制结束后再进行射频调制,图中省略用天线图案表示。此后,空中叠加发送,接收端分别接收后进行解调。

Python中的光通信仿真工具包 matlab光通信系统仿真_复用

 

 

光通信就是以光波为载波的通信。增加光路带宽的方法有两种:一是提高光纤的单信道传输速率;二是增加单光纤中传输的波长数,即波分复用技术(WDM)。

 

ASON

 

无论从国内研发进展、试商用情况,还是从国外的发展经验来看,国内运营商在传送网中大规模引入ASON技术将是必然的趋势。ASON(AutomaticallySwitchedOpticalNetwork,智能光网络)是一种光传送网技术。目前的产品和市场状况表明,ASON技术已经达到可商用的成熟程度,随着3G、NGN的大规模部署,业务需求将进一步带动传送网技术的发展,预计2007年ASON将得到更加广泛的商用。

 

FTTH

 

FTTH(FiberToTheHome,光纤到户)是下一代宽带接入的最终目标。目前,实现FTTH的技术中,EPON将成为未来我国的主流技术,而GPON最具发展潜力。EPON采用Ethernet封装方式,所以非常适于承载IP业务,符合IP网络迅猛发展的趋势。目前,国家已经将EPON作为“863”计划重大项目,并在商业化运作中取得了主动权。

 

GPON比EPON更注重对多业务的支持能力,因此更适合未来融合网络和融合业务的发展。但是它目前还不够成熟并且价格偏高,还无法在我国大规模推广。

 

我国的FTTH还处于市场启动阶段,离大规模的商业部署还有一段距离。在未来的产业化发展中,运营商对本地网“最后一公里”的垄断是制约FTTH发展的重要因素,采取“用户驻地网运营商与房地产开发商合作实施”的形式,更有利于FTTH产业的健康发展。从日本、美国、欧洲和韩国等国家的FTTH发展经验来看,FTTH的核心推动力在于网络所提供的丰富内容,而政府对应用和内容的监控和管理政策也会制约FTTH的发展。

 

WDM

 

WDM突破了传统SDH网络容量的极限,将成为未来光网络的核心传输技术。按照通道间隔的不同,WDM(WavelengthDivisionMultiplexing,波分复用)可以分为DWDM(密集波分复用)和CWDM(稀疏波分复用)这两种技术。DWDM是当今光纤传输领域的首选技术,但CWDM也有其用武之地。相对于DWDM,CWDM具有成本低、功耗低、尺寸小、对光纤要求低等优点。未来几年,电信运营商将会严格控制网络建设成本,这时CWDM技术就有了自己的生存空间,它适合快速、低成本多业务网络建设,如应用于城域和本地接入网、中小城市的城域核心网等。

 

RPR

 

弹性分组环(ResilientPacketRing,RPR)将成为未来重要的光城域网技术。近年来许多国内外传输设备厂商都开发了内嵌RPR功能的MSTP设备,RPR技术得到了大量芯片制造商、设备制造商和运营商的支持和参与。

 

2.matlab算法仿真效果

matlab2017b仿真结果如下:

Python中的光通信仿真工具包 matlab光通信系统仿真_Python中的光通信仿真工具包_02

Python中的光通信仿真工具包 matlab光通信系统仿真_运营商_03

Python中的光通信仿真工具包 matlab光通信系统仿真_Python中的光通信仿真工具包_04

Python中的光通信仿真工具包 matlab光通信系统仿真_复用_05

 

3.MATLAB核心程序

 

%参数初始化
%the OFDM symbols,OFDM长度
Nsc           = 256;     
%frame length
Lf            = 10;                
%发送数据
tx_data       = func_seq('PRBS_15','PRBS',2e5);   
%MQAM
M             = 4;
%QAM调制
[mods,demods] = func_MQAM(Nsc,'M',M,'SymbolOrder','Gray'); 
%高斯白噪声
SNR           = [1:1:8]; 
Ng            = 0.1;
%training sequence
TS_level      = [1,1];  
%samples per symbol       
Nfft          = 8*Nsc;                 
%cyclic prefix length
Np            = round(Ng*Nfft);                                               
%发送前调制
y_Tx_mod      = func_OFDM_modulator(tx_data,mods,Np,Lf,TS_level,Nfft);
 
%开始循环
for i = 1:length(SNR)
    i
    SNRs = SNR(i);
    %可见光信道
    y_Tx_bef = y_Tx_mod;
    Fs       = 40e9;%采样频率
    Ts       = 1/Fs;%采样周期
    F_AWG    = 10e9;%频率偏移
    F_RF     = 0;                                
    AWG      = upsample(y_Tx_bef,Fs/F_AWG);          
    n        = (1:length(AWG))';
    S_RF     = AWG.*exp(1j*2*pi*F_RF*n*Ts);         %
    %LED信道
    SNRdb    = func_LED_channel();
   %降采样
    y_Rx        = func_decimate2(S_RF,Fs/F_AWG);
    %最后加入白噪声
    y_Rx2       = awgn(y_Rx,SNRs+SNRdb,'measured');
    %OFDM解调
    [rx_data,Y] = func_OFDM_demodulator(y_Rx2,demods,Np,Lf,TS_level,Nfft);
    [Nerr,BER]  = func_error(rx_data,15,0); 
    Bers(i)     = BER;
end
01_095_m