:连续相位调制与LFM复合的通信感知一体化仿真)
1. 背景传统系统中,通信和雷达通常是两套独立的硬件、两套独立的波形。通信追求高频谱效率与低误码,雷达追求大时宽带宽积带来的测距测速能力,二者在频谱资源上相互争用。把数字通信信号和雷达 LFM 信号合二为一,用一个波形同时承担"传数据"和"测目标"两项任务,是 ISAC(Integrated Sensing and Communication,通信感知一体化)最朴素的思路之一。其中 CPM(连续相位调制)与 LFM 的复合(CPM-LFM)有天然契合点:CPM 本身恒包络、相位连续,乘以 LFM 后整体仍是恒包络复数信号,对高功率放大器友好,也保留了 LFM 的脉冲压缩能力。本文给出一套自包含、可一键运行的 MATLAB 仿真程序,完整跑通"调制 → 信道 → 帧同步 → 去 LFM → 频偏相偏补偿 → Viterbi 解调 → 误码率统计"的闭环,并配中间过程图,方便对照每一步在做什么。2. 系统整体设计2.1 信号模型复合信号在基带写为:s ( t ) = s CPM ( t ) ⋅ e j π K t 2 s(t) = s_{\text{CPM}}(t) \cdot e^{j\pi K t^2}s(t)=sCPM(t)⋅ejπKt2其中s CPM ( t ) s_{\text{CPM}}(t)sCPM(t)是 CPM 基带(本文采用 MSK 类相位路径,h = 0.5 h=0.5h=0.5),e j π K t 2 e^{j\pi K t^2}ejπKt2是 LFM 的二次相位项,K = B / T p K = B/T_pK=B/Tp为调频斜率。发送端再上变频到载频f c f_cfc,接收端下变频回基带后,先靠帧头里的 LFM 做相关捕获对齐脉冲起点,再乘上 LFM 共轭去掉二次相位,得到纯净的 CPM 基带送解调。2.2 关键参数参数取值含义符号速率40 MHz由T p = 20 μ s T_p=20\,\mu\text{s}Tp=20μs、每脉冲 800 符号决定采样率f s f_sfs320 MHz每符号 8 个采样点(主循环过采样 160)LFM 带宽B BB40 MHz调频斜率K = 2 MHz / μ s K=2\,\text{MHz}/\mu\text{s}K=2MHz/μs载频f c f_cfc100 MHz上变频中心频率帧头128 + 130 符号S1 / S2 两段 PN 序列,用于同步与频偏估计数据符号544有效载荷蒙特卡洛次数N e N_eNe30可在文件顶部上调E b / N 0 E_b/N_0Eb/N0范围0~10 dB逐点统计误码率注:原工程采用N e = 1000 N_e=1000Ne=1000的更大统计量;本文程序默认取 30 以缩短单次运行时间,BER 曲线趋势与大幅统计量一致,需要更平滑的曲线时把Ne调大即可。3. 核心算法3.1 CPM 调制(恒包络、相位连续)functionCPM_BB=my_CPMmod(data,os)phi_all=[];phasePre=0;fori=1:length(data)ifi==1,bit=[0,data(i)];elsebit=data(i-1:i);endifbit==[11]phi_all=[phi_all,((1:os)-1)*pi/2/os+phasePre];phasePre=phasePre+pi/2;elseifbit==[00]phi_all=[phi_all,-((1:os)-1)*pi/2/os+phasePre];phasePre=phasePre-pi/2;elsephi_all=[phi_all,ones(1,os)*phasePre];endendCPM_BB=exp(1i*mod(phi_all,2*pi));end相位路径规则:相邻符号同值(+1,+1 或 0,0)时相位线性扫± π / 2 \pm\pi/2±π/2;异值时相位保持。相邻符号相位差只有0 00或± π / 2 \pm\pi/2±π/2三种取值,这正是 MSK 类调制的特征,也是后面 Viterbi 解调状态数只有 4 的原因。最后取e j ϕ e^{j\phi}ejϕ得到恒包络复数基带。3.2 帧同步:用 LFM 帧头做相关捕获接收端不知道脉冲从哪个采样点开始(发送端还加了随机时延)。利用帧头 S1 是一段本地已知的 LFM,做滑动相关:wavHead=exp(1i*K*pi*t(1:HeadNumS1*oversample).^2);% 本地 LFM 帧头模板fori=1:length(cor)cor(i)=abs(CPM_LFM_recv(i:i+HeadNumS1*oversample-1)*wavHead');end[~,mpos]=max(cor);% 相关峰位置 = 帧起点LFM 的自相关峰非常尖锐,所以相关峰位置能精确对齐脉冲起点,后续才能正确去 LFM。3.3 去 LFM 与频偏 / 相偏补偿对齐后,乘上 LFM 的共轭即可抵消二次相位,恢复 CPM 基带:CPM_catch=CPM_LFM_catch.*exp(-1i*K*pi*t.^2);残留的频偏和相偏用帧头 S1(帧首)与 S2(帧尾)的共轭对称关系估计。S1、S2 内容相同、方向相反,二者相位差的一半对应整个数据段的累积频偏:FreEstVal=angle(mean(S2R.*conj(S1R)))/2/pi/Ts/(nn+HeadNumS1);CPM_recv=CPM_recv.*exp(-1i*2*pi*FreEstVal*t);% 频偏补偿PhiEstVal=angle(mean([S2R,S1R]));% 相偏估计CPM_recv=CPM_recv.*exp(-1i*PhiEstVal);% 相偏补偿3.4 Viterbi 解调(4 状态最大似然序列检测)CPM 有记忆性,逐符号硬判决会损失性能。用一个 4 状态网格做最大似然序列检测:状态:上一符号的相位终点(4 个候选相位,对应± 1 \pm1±1、± j \pm j±j类);分支度量:接收符号段与本地参考相位路径的相关值;每符号每个状态只保留一条最优路径(删余),最终取权重最大的路径回溯输出。核心循环:fori=1:N seg=rx((i-1)*os+1:i*os);% ... 四个候选分支度量比较,保留每状态最优路径 ...end[~,idx]=max(weight);out=path_rec{idx};解调后的比特再过预编码的逆运算my_decode,即可与原始数据比对统计误码。4. 实验结果程序运行后生成 5 张图,下面逐一说明。图1:CPM 基带相位与幅度上子图是相位轨迹,可见相位随符号连续变化、只在相邻符号间做0 00或± π / 2 \pm\pi/2±π/2的跳变,没有相位突变(这正是"连续相位调制"名字的由来)。下子图幅度恒为 1,说明信号是恒包络的,对功放线性度要求低。图2:CPM-LFM 复合信号频谱频谱主体是被 LFM 撑开的矩形谱,宽度约为± B / 2 = ± 20 MHz \pm B/2 = \pm20\,\text{MHz}±B/2=±20MHz。复合后信号仍集中在 LFM 带宽附近,没有因通信调制而显著展宽。图3:帧同步相关峰滑动相关结果在帧头位置出现一个明显高于旁瓣的尖峰(图中红点),标志着脉冲起点的捕获。相关峰越尖锐,定时同步越准,后续去 LFM 才不会有残余二次相位污染。图4:去 LFM 后 CPM 基带自相关自相关主瓣尖锐、旁瓣压在− 40 dB -40\,\text{dB}−40dB以下。对雷达而言,主瓣窄意味着脉冲压缩后的距离分辨力高;旁瓣低意味着弱目标不易被强目标旁瓣掩盖。图5:误码率曲线在