1.算法仿真效果
matlab2022a仿真结果如下:
2.算法涉及理论知识概要
波分复用WDM(Wavelength Division Multiplexing)是将两种或多种不同波长的光载波信号(携带各种信息)在发送端经复用器(亦称合波器,Multiplexer)汇合在一起,并耦合到光线路的同一根光纤中进行传输的技术;在接收端,经解复用器(亦称分波器或称去复用器,Demultiplexer)将各种波长的光载波分离,然后由光接收机作进一步处理以恢复原信号。这种在同一根光纤中同时传输两个或众多不同波长光信号的技术,称为波分复用。
波分复用是利用多个激光器在单条光纤上同时发送多束不同波长激光的技术。每个信号经过数据(文本、语音、视频等)调制后都在它独有的色带内传输。WDM能使电话公司和其他运营商的现有光纤基础设施容量大增。制造商已推出了WDM系统,也叫DWDM(密集波分复用)系统。DWDM可以支持150多束不同波长的光波同时传输,每束光波最高达到10Gb/s的数据传输率。这种系统能在一条比头发丝还细的光缆上提供超过1Tb/s的数据传输率光通信是由光来运载信号进行传输的方式。在光通信领域,人们习惯按波长而不是按频率来命名。因此,所谓的波分复用(WDM, Wavelength Division Multiplexing)其本质上也是频分复用而已。WDM是在1根光纤上承载多个波长(信道)系统,将1根光纤转换为多条“虚拟”纤,当然每条虚拟纤独立工作在不同波长上,这样极大地提高了光纤的传输容量。由于WDM系统技术的经济性与有效性,使之成为当前光纤通信网络扩容的主要手段。波分复用技术作为一种系统概念,通常有3种复用方式,即1 310 nm和1 550 nm波长的波分复用、稀疏波分复用(CWDM,Coarse Wavelength Division Multiplexing)和密集波分复用(DWDM,Dense Wavelength Division Multiplexing)。 [1]
波分复用(WDM,wavelength division multiplexing)光传送网由一组通过光纤互连的交换节点构成。波分复用和光交叉连接(OXC,optical cross-connect)技术的发展使网络具有更大的带宽和灵活性。利用WDM 技术,多个用户能够使用同一根光纤中的不同信道(即波长)同时传输数据。节点中配置的OXC 可以动态设置,它能够将任一输入端口(光纤)某个波长上的数据交换输出到指定输出端口的同一波长上。从而可在节点对间建立端到端的信道——光路(optical path)。由于一条光路必须使用同一波长,这将导致波长资源利用率的下降。采用波长分配和选路的WDM 光传送网被认为是下一代高速广域骨干网的最有竞争力的候选者。
采用 WDM 技术,单根光纤的总传输速率已能达到Tbit/s 级,而一条光缆中的光纤数也超过了1000 芯[3]。WDM 光网研究的重要目标之一是,充分利用波长/光纤资源,以使网络性能达到最优。选路和波长分配(RAW,routing and assignment of wavelength)问题所研究的内容是,给定一组节点间的全光连接(光路/连接建立)请求:(1)寻找从源节点到目的节点的路由;(2)在这些路由上分配波长。如果分析模型中研究的是动态业务(连接建立请求随机到达和离开网络),则称相应的RAW 问题为动态RAW 问题。研究动态RAW 问题时,常用的性能指标是光路的阻塞率。从总体上看,RAW 问题中的选路和波长分配是一个不可分割的问题。但是,仅仅其中的波长分配问题就是一个NP-C(非确定型的多项式算法-完全)问题,要在合理的运算时间内解决大型网络的RAW 问题常常是不可能的。通常的解决办法是,将RAW 问题强行拆成两个独立的选路子问题和波长分配子问题,分别加以解决。
三个算法的主要公式为:
RLI:
RCL:
MS:
相对于RLI算法,MS算法的区别是计算出除了p1以外的其他所有通路p在某波长lemda上的降低的可用信道数的总和,用这个来描述新光路的建立对全网状态的影响。但是这种个算法没有考虑p1的可用信道数的下降。而RCI算法,由于不论选择哪条可用波长,p1 的对应的rCL 为一定值,所以RCL 算法也不考虑对p1 的影响
3.MATLAB核心程序
%% %参数初始化 %定义负载 Loads = [1000:200:10000]; NOF_RLI = zeros(length(Loads),1); NOF_RCL = zeros(length(Loads),1); NOF_MS = zeros(length(Loads),1); IMF_RLI = zeros(length(Loads),1); IMF_RCL = zeros(length(Loads),1); %每根光纤都能支持W个波长 W = 8; %每条链路上有F根光纤 F = 16; Times = 10; %% %RLI %RLI for i = 1:length(Loads) i NOF_MS(i) = func_MS(W,F,Loads(i),Times); end %% %RLI %RLI for i = 1:length(Loads) i NOF_RLI(i) = func_RLI(W,F,Loads(i),Times); end %% %RCL %RCL for i = 1:length(Loads) i NOF_RCL(i) = func_RCL(W,F,Loads(i),Times); end for i = 1:length(Loads) i IMF_RLI(i) = (NOF_MS(i)-NOF_RLI(i))/NOF_MS(i); IMF_RCL(i) = (NOF_MS(i)-NOF_RCL(i))/NOF_MS(i); end %% figure; plot(Loads,IMF_RLI,'b-*'); hold on; plot(Loads,IMF_RCL,'k-o'); hold off; legend('RLI-MS','RCL-MS'); xlabel('负载'); ylabel('IMP'); axis([Loads(1),Loads(end),0,1]); grid on
标签:仿真,波分,RLI,WDM,matlab,Loads,波长,光纤 From: https://www.cnblogs.com/51matlab/p/17344496.html