第【53期】--基于DCO‑OFDM的光通信ISAC系统性能分析--python完整代码
关注我追更更多通信仿真文章目录摘要1 研究背景和意义1.1 背景1.2 意义2 理论基础2.1 DCO‑OFDM 信号模型2.2 自由空间光信道与慢衰落湍流模型2.2.1 路径损耗2.2.2 Gamma‑Gamma 湍流慢衰落模型2.3 通信接收机与导频辅助信道估计2.3.1 光电转换与频域信号模型2.3.2 导频辅助最小二乘LS信道估计2.3.3 均衡与解调2.4 基于频域相位的亚采样时延估计3 仿真设计与性能分析3.1 仿真参数配置3.2 仿真图分析4 总结摘要面向未来无线系统对通信与感知功能深度融合的需求本文仿真验证了一种基于直流偏置光正交频分复用DCO‑OFDM的联合通信与感知一体化ISAC。该系统采用同一DCO‑OFDM帧同时实现高速数据传输和目标距离估计适用于自由空间光FSO信道。发射端通过Hermitian对称和IFFT生成实值信号并引入可调DC偏置以控制削波失真接收端分别执行频域均衡恢复通信数据以及基于频域互相关和相位梯度的亚采样时延估计算法实现高精度测距。在1 GHz带宽、256个子载波、4‑QAM调制和200 m目标距离的设置下蒙特卡罗仿真分析了不同DC偏置系数κ1,2,3σ对通信误码率BER和测距均方根误差RMSE的影响。结果表明增大偏置可有效抑制削波非线性显著提升BER和RMSE性能但代价是更高的直流功耗κ3σ时系统接近理想线性性能而κ2σ在功耗与性能间取得较好折中。本研究为光学ISAC系统的波形设计和参数优化提供了定量依据。关键词DCO‑OFDM通信感知一体化自由空间光通信1 研究背景和意义1.1 背景随着6G和物联网应用的迅猛发展无线系统不仅需要承担高速数据通信任务还日益要求具备环境感知、定位、成像等附加功能。传统上通信和雷达/感知系统独立设计占用不同的频谱和硬件资源导致频谱利用率和设备能效低下。通信感知一体化Integrated Sensing and Communication, ISAC 应运而生旨在通过共享波形、硬件和频谱使同一系统同时完成信息传输和目标探测成为未来无线网络的关键使能技术之一。在光学频段自由空间光FSO通信具有大带宽、免许可频谱、高保密性等优势特别适用于室内外短距至中距接入场景。与此同时光学信号对障碍物反射敏感天然具备感知潜力。然而光强度调制/直接检测IM/DD系统要求发射信号为非负实值这对OFDM等高效调制格式提出了特殊约束。直流偏置光OFDMDCO‑OFDM 通过在双极性OFDM信号上叠加DC偏置并削去负值实现了单极性光信号传输已成为光无线通信的主流方案。1.2 意义将DCO‑OFDM拓展至ISAC领域可兼顾通信的高频谱效率和感知的高分辨率。一方面OFDM子载波结构便于频域均衡和信道估计另一方面其相位信息可精确反映传播时延使测距成为可能。然而DCO‑OFDM中DC偏置的选择直接影响削波失真程度和平均光功率进而影响通信误码率和感知精度二者之间存在复杂耦合。为此本文构建完整的DCO‑OFDM ISAC仿真平台系统研究DC偏置对通信与感知性能的联合影响为实际系统设计提供参考。2 理论基础2.1 DCO‑OFDM 信号模型2.2 自由空间光信道与慢衰落湍流模型发射光信号经自由空间传播至目标通信链路为直射感知链路为反射回波。信道总损耗包括确定性几何衰减和大气湍流引起的随机强度起伏。2.2.1 路径损耗2.2.2 Gamma‑Gamma 湍流慢衰落模型2.3 通信接收机与导频辅助信道估计2.3.1 光电转换与频域信号模型2.3.2 导频辅助最小二乘LS信道估计2.3.3 均衡与解调2.4 基于频域相位的亚采样时延估计3 仿真设计与性能分析3.1 仿真参数配置为验证 DCO‑OFDM ISAC 系统的通信与感知性能本节基于前文理论搭建了完整的仿真流程。所有仿真参数取自实际光无线通信系统的典型值归纳于下表。参数符号取值FFT 大小N NN256有效数据子载波数N act N_{\text{act}}Nact127子载波间隔Δ f \Delta fΔf3.9 MHz总带宽B BB1 GHz调制方式M‑QAM4‑QAMQPSKDC 偏置系数κ \kappaκ1.0, 2.0, 3.0目标距离d dd200 m光电二极管响应度ρ \rhoρ0.6 A/W通信支路路径损耗L comm L_{\text{comm}}Lcomm-2.2 dB感知支路路径损耗L sens L_{\text{sens}}Lsens-23.2 dB湍流参数Gamma‑Gammaα , β \alpha, \betaα,β2.29, 1.30导频数量N p N_pNp8导频间隔Δ p \Delta pΔp16 子载波蒙特卡罗帧数M MM200SNR 扫描范围–0 ~ 30 dB步进 5 dB信道模型采用 路径损耗 块衰落 Gamma‑Gamma 湍流 AWGN其中湍流在每帧内为常数慢衰落假设通信支路通过插入导频进行信道估计与均衡感知支路利用频域互相关估计时延。所有结果均基于 200 帧独立随机实现并给出 95% 置信区间以表征统计可靠性。3.2 仿真图分析从星座图看κ1低偏置星座点呈弥散状围绕标准 QPSK 点±0.707, ±0.707明显扩散κ3高偏置星座点紧密聚集在四个理想位置仅呈现微弱的圆形散布。原因κ1 时约 15.9% 的时域样本被削波削波噪声在频域扩散至所有子载波形成乘性载波间干扰ICI相当于在均衡后的星座点上叠加了与信号相关的非高斯扰动。可以看到不同 DC 偏置下 BER 随电 SNR 的变化曲线中偏置越大 ber性能越好这证实了增大偏置可有效抑制削波噪声提高信号保真度。偏置对测距精度的影响远小于对通信 BER 的影响。这是因为感知处理不依赖信号幅度线性度而依赖相位线性度削波失真虽引入谐波但主导成分仍保持与原始信号相同的相位斜率故对时延估计干扰较小。部分代码import os import numpy as np import config from transmitter import generate_tx_signal from channel import apply_fso_channel_snr from receiver import decode_dco_ofdm_comm from sensing import estimate_delay,estimate_range,rmse from plots import plot_ber_vs_snr,plot_rmse_vs_snr from utils import export_results_csv,export_results_json defrun_frame_simulation(N,Delta_f,M_qam,kappa,SNR_comm_dB,SNR_sens_dB,target_d,responsivity,use_turbulence_comm,use_turbulence_sens): 单帧仿真返回通信比特数、错误数、测距误差 参数中 use_turbulence_comm/sens 分别控制通信和感知是否启用湍流 cconfig.SPEED_OF_LIGHT fsN*Delta_f target_tau2.0*target_d/c #-----发射端-----tx_bits,tx_symbols,x_clipped,X_ref,pilot_positions,data_positionsgenerate_tx_signal(N,M_qam,kappa)#-----通信支路-----comm_loss_db-config.COMM_PATH_LOSS # 转为正 dB 用于函数 r_comm_noisyapply_fso_channel_snr(x_clipped,SNR_comm_dB,comm_loss_db,N,is_commTrue,fsfs,use_turbulenceuse_turbulence_comm)rx_bitsdecode_dco_ofdm_comm(r_comm_noisy,N,M_qam,comm_loss_db,responsivity,pilot_positions,data_positions)comm_errorsnp.sum(tx_bits!rx_bits)num_bitslen(tx_bits)#-----感知支路-----sens_loss_db-config.SENSING_PATH_LOSS Y_sensapply_fso_channel_snr(x_clipped,SNR_sens_dB,sens_loss_db,N,is_commFalse,delay_tautarget_tau,fsfs,use_turbulenceuse_turbulence_sens)X_clipped_freqnp.fft.fft(x_clipped,normortho)est_tauestimate_delay(Y_sens,X_clipped_freq,N,fs,true_tautarget_tau)est_destimate_range(est_tau,c)range_errorest_d-target_dreturnnum_bits,comm_errors,range_error defmain():np.random.seed(42)print(*60)print(OPTICAL-FIRST ISAC: DCO-OFDM JOINT WAVEFORM SIMULATION)print(WITH PILOT-AIDED CHANNEL ESTIMATION)print((Both Comm Sens Turbulence ENABLED))print(*60)Nconfig.FFT_SIZE Delta_fconfig.SUBCARRIER_SPACING M_qamconfig.QAM_ORDER target_dconfig.TARGET_RANGE responsivityconfig.RESPONSIVITY num_framesconfig.MONTE_CARLO #-----湍流开关可独立控制通信和感知-----use_turbulence_commTrue # 通信启用慢衰落湍流 use_turbulence_sensTrue # 感知启用湍流 snr_rangenp.arange(-0,31,5)bias_levels[1.0,2.0,3.0]results{}ber_results{}rmse_results{}ber_se{}rmse_se{}forbias in bias_levels:results[bias]{ber:[],rmse:[]}ber_results[bias][]rmse_results[bias][]ber_se[bias][]rmse_se[bias][]print(f\nRunning Monte Carlo for bias {bias} sigma (Both Comm Sens Turbulence)...)forsnr in snr_range:#---通信 BER 扫描---total_bits0total_errors0for_ inrange(num_frames):num_bits,comm_errors,_run_frame_simulation(N,Delta_f,M_qam,bias,SNR_comm_dBsnr,SNR_sens_dB15.0,# 感知固定 SNR target_dtarget_d,responsivityresponsivity,use_turbulence_commuse_turbulence_comm,use_turbulence_sensuse_turbulence_sens)total_bitsnum_bits total_errorscomm_errors bertotal_errors/total_bits se_bernp.sqrt(ber*(1.0-ber)/total_bits)iftotal_bits0else0.0#---感知 RMSE 扫描---range_errors[]for_ inrange(num_frames):_,_,range_errorrun_frame_simulation(N,Delta_f,M_qam,bias,SNR_comm_dB15.0,SNR_sens_dBsnr,# 通信固定 SNR target_dtarget_d,responsivityresponsivity,use_turbulence_commuse_turbulence_comm,use_turbulence_sensuse_turbulence_sens)ifnp.abs(range_error)5.0:# 离群剔除 range_errors.append(range_error)range_errorsnp.array(range_errors)range_rmsermse(range_errors)iflen(range_errors)0:sq_errorsrange_errors**2se_msenp.std(sq_errors)/np.sqrt(len(sq_errors))se_rmsese_mse/(2.0*np.maximum(range_rmse,1e-6))else:se_rmse0.0results[bias][ber].append(ber)results[bias][rmse].append(range_rmse)ber_results[bias].append(ber)rmse_results[bias].append(range_rmse)ber_se[bias].append(se_ber)rmse_se[bias].append(se_rmse)print(f SNR: {snr:2d} dB | BER: {ber:.5f} | Range RMSE: {range_rmse:.4f} m (SE: {se_rmse:.4f} m))# 导出结果export_results_csv(snr_range,ber_results,rmse_results)export_results_json(snr_range,results)print(\nResults exported to results/.)# 绘制主图plot_ber_vs_snr(snr_range,ber_results,ber_se)plot_rmse_vs_snr(snr_range,rmse_results,rmse_se)print(Main figures saved to figures/.)print(*60)if__name____main__:main()4 总结本文仿真研究了一种基于 DCO‑OFDM 的自由空间光通信感知一体化系统。通过构建包含 Hermitian 对称、DC 偏置、削波、Gamma‑Gamma 湍流信道、导频辅助信道估计以及频域相位时延估计的完整链路模型分析了 DC 偏置系数 κ 对通信误码率与测距精度的联合影响。仿真结果表明通信性能增大 DC 偏置κ 从 1σ 提升至 3σ可显著抑制削波失真引入的非线性干扰使 BER 性能大幅改善。感知性能测距 RMSE 对 DC 偏置的变化相对不敏感因为基于相位的时延估计算法对信号幅度的非线性失真具有较强鲁棒性。本研究验证了 DCO‑OFDM 波形在光学 ISAC 场景下的可行性为后续面向低功耗、高精度的一体化系统优化设计奠定了基础。仿真代码可见文末VX公众号包含往期博客所有代码所见即所得