目录
1.算法仿真效果
matlab2022a仿真结果如下**(完整代码运行后无水印)**:




仿真操作步骤可参考程序配套的操作视频。
2.算法涉及理论知识概要
在单载波相干光传输系统中,光信号作为载波来传输信息。发送端将电信号调制到光载波上,通过光纤传输到接收端。接收端采用相干检测技术,利用本地振荡器产生的光载波与接收到的光信号进行混频,从而恢复出原始的电信号。相干检测可以提供更高的接收灵敏度和更好的抗噪声性能,因为它可以同时检测光信号的幅度和相位信息。
单载波相干光传输系统主要由发射端、传输链路和接收端三部分组成。
发射端:
包括数据源、编码器、调制器等模块。数据源产生待传输的数字信号,编码器对信号进行编码处理,以提高信号的抗干扰能力和纠错能力。调制器则将编码后的信号调制到光载波上,形成光信号。在本课题中,采用BPSK调制和LDPC编译码。BPSK(Binary Phase Shift Keying)即二进制相移键控,是一种数字调制方式。它通过改变载波的相位来传输二进制信息。在 BPSK 中,通常用 0 相位表示二进制 "0",用 π 相位表示二进制 "1"。
传输链路:
通常是光纤,用于传输光信号。在传输过程中,光信号会受到光纤损耗、色散、非线性效应等因素的影响。光在光纤中传输是基于光的全反射原理。当光从折射率较高的介质(纤芯)射向折射率较低的介质(包层)时,在一定的入射角条件下,光线会在纤芯和包层的界面上发生全反射,从而沿着纤芯传播,实现光信号的长距离传输。在多模光纤中,不同模式的光在光纤中传输速度不同,导致光信号在传输过程中发生展宽。不同模式的光在光纤中经历的路径长度不同,从而引起模式间的时延差。光纤材料的折射率随光波长的变化而变化,使得不同波长的光在光纤中具有不同的传播速度。当光信号包含多个波长成分时,各波长成分的传播速度差异会导致光脉冲在传输过程中展宽。
材料色散系数D定义为单位波长变化引起的群时延变化,即D=dλdτ,其中τ是群时延,λ是光波长。材料色散引起的脉冲展宽Δτ与色散系数、光纤长度以及光源的谱宽Δλ有关,可表示为Δτ=DLΔλ。
接收端:
主要包括解调器、解码器、判决器等模块。解调器将接收到的光信号转换为电信号,并进行相干检测,恢复出原始的数字信号。解码器对解调后的信号进行解码处理,判决器则根据解码后的信号进行判决,得到最终的传输数据。
3.MATLAB核心程序
.............................................................
figure;
scatter(real(sampled_signal), imag(sampled_signal), 'filled');
title(['接收信号星座图 (SNR = ', num2str(snr_db(end)), ' dB)']);
xlabel('实部');
ylabel('虚部');
grid on;
axis square;
% 绘制误码率曲线
figure;
semilogy(snr_db, ber,'-r>',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.9,0.0]);
grid on;
xlabel('信噪比 (dB)');
ylabel('误码率 (BER)');
title('单载波光传输系统误码率曲线');
ylim([1e-6 1]);
% 输出其他指标
disp('系统参数:');
fprintf('比特率: %.2f Gbps\n', bit_rate/1e9);
fprintf('符号率: %.2f Gbaud\n', symbol_rate/1e9);
fprintf('采样频率: %.2f GHz\n', fs/1e9);
fprintf('仿真时间: %.2f ms\n', simulation_time*1e3);
fprintf('每符号比特数: %d\n', bits_per_symbol);
fprintf('子载波数量: %d\n', num_subcarriers);
disp('误码率结果:');
for i = 1:num_snr_points
fprintf('信噪比 = %.2f dB 时, 误码率 = %.2e\n', snr_db(i), ber(i));
end
if Kgain==0.1
save R42.mat snr_db ber sampled_signal
end
if Kgain==0.2
save R43.mat snr_db ber sampled_signal
end
if Kgain==0.3
save R44.mat snr_db ber sampled_signal
end
0X_088m
4.完整算法代码文件获得
V