基于Matlab模拟光纤信号光损耗

简介: 基于Matlab模拟光纤信号光损耗

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信      无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机

⛄ 内容介绍

我国社会经济发展速度非常快,网络技术也因此获得巨大的发展.在传输通信数据阶段需要利用光纤,本文基于Matlab模拟光纤信号光损耗。

⛄ 部分代码

clc

clear

close all

load('cross_Tm_all.mat')

tic

global  sigmaes  sigmaas sigmaap sigmaep tmax flag

global c n lambdap lambdas vp  gamma_s gamma_p A Ntot L Tao_c Tao1 h l

lambdap=1550e-9;  %

lambdas=1940e-9;  %

sigmaep=interp1(cross_Tm(:,1),cross_Tm(:,2),lambdap*1e9);       % emission

sigmaap=interp1(cross_Tm(:,1),cross_Tm(:,3),lambdap*1e9);       % absorption

sigmaes=interp1(cross_Tm(:,1),cross_Tm(:,2),lambdas*1e9);       % emission

sigmaas=interp1(cross_Tm(:,1),cross_Tm(:,3),lambdas*1e9);       % absorption

sigmaes=4.75e-025;

sigmaas=0.38e-025;

sigmaap=1.5000e-025;

sigmaep=1e-026;

c=3e8;  % 光速度

n=1.456;  % 纤芯折射率

vp=2*pi*c/lambdap; % Hz

alpha=2.3e-3;  %  光纤信号光损耗--用来计算腔寿命

l=0.50;    % 增益光纤长度 [m]

L=1.0;        % 总腔长   {m}

h=6.626e-34;  % Planck constant

d=9e-6;        % 纤芯直径

R1=0.99;      % 端面反射率1

Roc=0.50;      % 端面反射率2

Tao1=334e-6;    % 3F4上能级寿命

Ntot=1.5e26;    %  掺杂浓度 调用光纤掺杂浓度计算公式计算(基于吸收系数)

gamma_s=1+sigmaas/sigmaes;

gamma_p=  sigmaep/sigmaap;

Tao_c=2*n*L/(c*(-log(R1*Roc)+2*alpha*L+0.04)) % 腔内光子寿命

A=pi*(d)^2/4; % 纤芯面积

%%

% CW=[0:0.5:5];

% for i=1:length(CW)

% 1 43ns  2   37  3 32 (150ns,50 peak)

% 1 51    2

CW=0

frep=500e3;         %泵浦光重复频率

NO_pulses=15; % 泵浦脉冲个数(描述值)

dt=1e-9;

size_storage=NO_pulses*round(1/frep/dt);

Ppump=zeros(1,size_storage)+CW;                  %泵浦光功率存储空间

pump_pulse_width=300e-9;          %泵浦脉冲宽度 20ns

tmax=size_storage*dt;

Ptt = linspace(0,tmax,size_storage);  %泵浦光时间定义

Pump_peak_power=6;

Pump_average_power=Pump_peak_power*pump_pulse_width*frep;

N=size_storage;

for i=1:size_storage

   if mod(i,round(1/frep/dt))==1

       Ppump(i:i+round(pump_pulse_width/dt))=Pump_peak_power+CW;

   end

end


plot(Ppump)



flag=1;

options = odeset('RelTol', 1e-11,'MaxStep',dt);

IC = [1.2559e25 5.9989e15]; % y(t=0)  初始时刻 上能级N1粒子数 腔内光子数密度值

[T Y] = ode45(@(t,y) function_gain_switch(t,y,Ptt,Ppump),Ptt,IC,options); % Solve ODE

toc


Y(end,1)

Y(end,2)


figure

linewidth = 2;

linewidth1 = 1;

fontsize = 18;

YY_Position=[0.150 0.1900 0.79 0.73];

figure

h=plot(T.*1e6,Ppump/max(Ppump)*0.8+1,'-',T.*1e6,Y(:,2)/max(Y(end/2:end,2))*0.8,'-');  %%max必须为稳定后的峰值,初始脉冲不稳,不可用


set(gca,'FontSize',fontsize,'FontName','Times New Roman','FontWeight','bold','linewidth',linewidth1,'Position',YY_Position);

set(h(1),'linewidth',2);

set(h(2),'linewidth',2);

%set(h(3),'linewidth',2);

axis([0,max(T.*1e6),-0.2,3]);

xlabel('Time(\mus)');

ylabel('Intensity(a.u.)');


hh=legend('Pump pulse','Signal pulse');

set(hh,'Box','off','Position',[0.7 0.75 0.151 0.132]);


figure

plot(T,0.5*Ppump/max(Ppump)+1.2,T,Y(1:end,1)/max(Y(1:end,1)),T,Y(1:end,2)/max(Y(1:end,2)));


%%%%%脉宽计算%%%%%%%%%%%%%

T_step=T(2)-T(1);

yy=Y(end-round(1/frep/dt):end,2);%%获取最后一个脉冲(注看脉冲完整性)

figure

plot(T(end-round(1/frep/dt):end),yy)

yy=yy-min(yy);%%消除过零点

yy=yy-max(yy)/2; %% 移动后3db 位置位于零点处

y1=yy./abs(yy); %% 所有数据进行-1 0 1 化,方便进行统计  %% 此种方法仅适用于后面的脉冲低于主脉冲峰值的一半

y_digtal=find(y1==1);%% 统计获得所有1的位置


pulsewide=T_step*(length(y_digtal)-1);%%% 如果对脉宽较宽,采样带你很密集,此项可以认识是实际脉宽

%%%%%对于过零点的差异性计算,此处默认进行了线性拟合%%%%%%%

error_f=T_step*yy(y_digtal(1))/(yy(y_digtal(1))-yy(y_digtal(1)-1));

error_f1=T_step*yy(y_digtal(1))/(yy(y_digtal(end))-yy(y_digtal(end)+1));

pulsewide_real=pulsewide+error_f+error_f1

⛄ 运行结果

⛄ 参考文献

[1] 刘群, 郭燕, 石砚斌. 基于Matlab的光纤激光器光谱模式分析软件的设计[J]. 激光杂志, 2013, 34(4):2.

[2] 王敬辉, 林永峰. 基于LMS算法的光纤通信系统的MATLAB仿真[J]. 电脑知识与技术:学术交流, 2013.

[3] 周广丽. 基于弯曲损耗的光纤温度传感器的研究[J]. 中国科学院长春光学精密机械与物理研究所, 2008.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
23天前
|
运维 算法 调度
【电力系统】不计电池储能寿命损耗的微电网经济调度+三类需求侧响应研究(Matlab代码实现)
【电力系统】不计电池储能寿命损耗的微电网经济调度+三类需求侧响应研究(Matlab代码实现)
|
4月前
|
机器学习/深度学习
利用matlab提取出频域和时域信号的29个特征
利用matlab提取出频域和时域信号的29个特征
|
4月前
|
机器学习/深度学习 算法 Python
MATLAB 实现轴承转轴信号仿真
轴承转轴信号仿真是一种重要的研究手段,用于分析轴承的健康状态、检测故障以及开发故障诊断算法。通过构建仿真信息并添加故障信号,可以生成用于轴承信号分析的测试数据。
|
3月前
|
数据安全/隐私保护 索引
基于EEMD变换的ECG心电信号去噪和心率估计matlab仿真
本课题基于EEMD变换对ECG心电信号进行去噪处理,并通过MATLAB仿真实现心率估计。研究分析了不同噪声强度下心率估计的准确性,验证方法的可靠性。核心程序采用巴特沃斯滤波器对重构信号滤波,结合希尔伯特变换提取R波峰值以计算心率。系统原理利用EEMD分解有效分离信号与噪声,提升特征提取精度,为临床诊断提供技术支持。仿真结果表明,该方法在低信噪比条件下仍能保持较高的心率估计准确度。
|
21天前
|
机器学习/深度学习 编解码 算法
对三种雷达信号调制类型的识别及MATLAB实现
对三种雷达信号调制类型的识别及MATLAB实现
|
21天前
|
Python
【掺铒光纤放大器(EDFA)模型】掺铒光纤放大器(EDFA)分析模型的模拟研究(Matlab代码实现)
【掺铒光纤放大器(EDFA)模型】掺铒光纤放大器(EDFA)分析模型的模拟研究(Matlab代码实现)
|
2月前
|
数据可视化 Serverless 计算机视觉
合成孔径雷达,非线性调频信号的MATLAB程序,NLFM信号
合成孔径雷达,非线性调频信号的MATLAB程序,NLFM信号
52 0
|
3月前
|
算法
基于RMD算法模型的信号传输统计特性的matlab模拟仿真
本项目基于RMD(Random Midpoint Displacement)算法模型,使用MATLAB 2022A进行信号传输统计特性的模拟仿真。通过递归在区间中点加入随机位移,生成具有自相似性和长相关性的随机信号,实现了文中多个仿真图,并提供操作视频与中文注释代码。RMD模型生成的信号均值为零,方差无穷大,具备低误码率、强抗干扰能力及高传输效率等优势,为现代通信系统提供了新思路。
|
7月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
本研究基于MATLAB 2022a,使用GRU网络对QAM调制信号进行检测。QAM是一种高效调制技术,广泛应用于现代通信系统。传统方法在复杂环境下性能下降,而GRU通过门控机制有效提取时间序列特征,实现16QAM、32QAM、64QAM、128QAM的准确检测。仿真结果显示,GRU在低SNR下表现优异,且训练速度快,参数少。核心程序包括模型预测、误检率和漏检率计算,并绘制准确率图。
179 65
基于GRU网络的MQAM调制信号检测算法matlab仿真,对比LSTM
|
3月前
|
机器学习/深度学习 算法 5G
基于DNN深度神经网络的OFDM+QPSK信号检测与误码率matlab仿真
本内容展示了基于深度神经网络(DNN)的OFDM-QPSK信号检测算法在Matlab2022a中的仿真效果。通过构建包含多层全连接层和ReLU激活函数的DNN模型,结合信号预处理与特征提取,实现了复杂通信环境下的高效信号检测。仿真结果对比了传统LS、MMSE方法与DNN方法在不同信噪比(SNR)条件下的误码率(BER)和符号错误率(SER),验证了DNN方法的优越性能。核心程序涵盖了QPSK调制、导频插入、OFDM发射、信道传输及DNN预测等关键步骤,为现代通信系统提供了可靠的技术支持。
53 0

热门文章

最新文章