第【64期】--基于OFDM的通信感知一体化(ISAC)系统仿真与性能分析--matlab完整代码
关注我,追更更多通信仿真代码!
文章目录
摘要
通信感知一体化(Integrated Sensing and Communication, ISAC)是第六代(6G)移动通信系统的核心使能技术之一,它允许在同一硬件平台和频谱资源上同时实现无线通信与环境感知。本文以正交频分复用(OFDM)波形为基础,设计并实现了一个完整的ISAC系统仿真框架。通信部分采用哈达玛(Hadamard)码实现多用户码分多址(CDMA),每用户使用QPSK调制;雷达感知部分利用相同的OFDM信号作为探测波形,通过匹配滤波和二维快速傅里叶变换(FFT)生成距离‑多普勒图,并采用有序统计恒虚警率(OS‑CFAR)算法进行目标检测。仿真实验验证了系统在通信误码率、星座恢复、目标距离‑速度估计及检测性能等方面的有效性,为ISAC系统的工程设计和参数优化提供了参考。
1 引言
1.1 研究背景与意义
随着5G的大规模部署和6G研究的全面展开,未来的无线网络不仅需要提供超高速率、极低时延和海量连接,还需要具备对物理世界的感知能力,以实现智能交通、智慧工厂、增强现实等新兴应用。传统上,通信和雷达感知各自采用独立的硬件和频段,这导致频谱利用率低、设备成本高、体积大。通信感知一体化(ISAC)技术应运而生,它通过统一波形和软硬件平台,使通信与感知功能深度融合,成为6G的关键技术方向之一。
1.2 OFDM波形在ISAC中的优势
正交频分复用(OFDM)因其频谱效率高、抗多径能力强、易于实现MIMO扩展等优点,已广泛应用于4G/5G、WiFi等通信标准。在ISAC场景中,OFDM同样极具吸引力:
-
通信与感知共用:OFDM信号在频域上由多个正交子载波构成,可直接用于数据调制,同时其确定性的频域结构适合作为雷达参考信号。
-
高分辨能力:OFDM信号的模糊函数呈“图钉状”,具有同时实现距离高分辨和多普勒高分辨的潜力。
-
循环前缀(CP):CP的存在不仅消除符号间干扰,还可简化雷达回波中距离模糊的处理。
因此,基于OFDM的ISAC系统成为当前研究的热点。
1.3 本文工作与组织结构
本文基于MATLAB平台,实现了一个端到端的OFDM‑ISAC仿真系统,主要工作如下:
-
设计基于Hadamard码的多用户CDMA通信方案,并评估其在QPSK调制下的误码性能。
-
采用同一OFDM信号作为雷达探测波形,推导并实现匹配滤波、距离‑多普勒成像。
-
引入OS‑CFAR算法实现稳健的目标检测,并与真实目标进行匹配分析。通过仿真实验全面评估系统的通信和感知性能。
2 系统模型与信号处理
2.1 OFDM信号模型

2.2 通信信号模型
2.2.1 多用户CDMA与Hadamard码

2.2.2 发射端通信处理

2.2.3 接收端通信处理

2.3 雷达感知信号模型

2.3.1 目标回波建模

2.3.2 匹配滤波与距离估计

2.3.3 距离‑多普勒处理

2.4 OS‑CFAR目标检测
从距离‑多普勒图中提取目标需要有效的恒虚警率(CFAR)检测。本文采用有序统计CFAR(OS‑CFAR),因其在多目标和杂波边缘环境下更为稳健。


3 仿真实现
3.1 系统参数配置
| 参数 | 符号 | 数值 |
|---|---|---|
| 采样率 | F s F_s Fs | 2 GHz |
| FFT点数 | M M M | 2048 |
| 循环前缀长度 | N C P N_{\rm CP} NCP | 1024 |
| 有效子载波起始索引 | n 0 n_0 n0 | 200 |
| 有效子载波数(Hadamard码维度) | H s i z e H_{\rm size} Hsize | 128 |
| OFDM符号数 | N s y m N_{\rm sym} Nsym | 512 |
| 通信信噪比 | SNR c o m m \text{SNR}_{\rm comm} SNRcomm | 0 dB |
| 雷达信噪比 | SNR r a d a r \text{SNR}_{\rm radar} SNRradar | 10 dB |
| 用户数 | N u N_u Nu | 10 |
| 每用户码片数 | N p e r N_{\rm per} Nper | 10 |
| 载波频率 | f c f_c fc | 5.8 GHz |
| 目标个数 | T T T | 4 |
| 匹配滤波FFT点数 | N f f t _ c o r r N_{\rm fft\_corr} Nfft_corr | 2 ⌈ log 2 ( 2 ( M + N C P ) − 1 ) ⌉ 2^{\lceil \log_2(2(M+N_{\rm CP})-1) \rceil} 2⌈log2(2(M+NCP)−1)⌉ |
| 慢时间FFT点数 | N f f t _ d o p N_{\rm fft\_dop} Nfft_dop | 2 ⌈ log 2 ( 2 N s y m ) ⌉ 2^{\lceil \log_2(2N_{\rm sym}) \rceil} 2⌈log2(2Nsym)⌉ |
| OS‑CFAR训练单元数 | N t r a i n N_{\rm train} Ntrain | 40 |
| OS‑CFAR保护单元数 | N g u a r d N_{\rm guard} Nguard | 10 |
| OS‑CFAR秩因子 | η \eta η | 0.75 |
| OS‑CFAR门限因子 | α \alpha α | 3.5 |
| 幅度门限 | A g a t e A_{\rm gate} Agate | 0.035 |
| 最小检测间隔(距离单元) | N s e p N_{\rm sep} Nsep | 25 |
3.2 仿真流程
发送端流程
接收端流程

3.3 仿真图分析
3.3.1 通信性能

- 图1给出了10个用户之间Hadamard扩频码的相关性矩阵。对角线元素精确为1,非对角线元素绝对值均小于0,验证了Hadamard矩阵的理想正交性。这一特性保证了多用户信号在理想条件下互不干扰。
- 图2展示了接收端恢复的QPSK星座,SNR =0 dB 条件下,接收符号围绕理想星座点呈高斯弥散。
- 结果表明,SNR =0 dB 条件下 用户的通信ser为10^-3之下,该系统仍能实现可接受的通信质量,验证了CDMA‑OFDM方案的可靠性。
3.3.2 雷达感知性能



- 图3给出了沿距离维的匹配滤波输出。在预设的4个目标延迟位置(对应采样点250、430、680、900)处观察到清晰的峰值,表明匹配滤波具有良好的脉冲压缩性能。
- 图4为二维距离‑多普勒图,图中可清晰分辨4个目标。
- OS‑CFAR检测结果显示所有4个真实目标均被正确检测(真阳性率100%),无虚警(假阳性0),无漏检
3.4 部分代码
function [decodedData, rangeMatrix] = runIsac(cfg, txData)
% runIsac - 执行通信和雷达一体化处理
% cfg : 配置结构体
% txData : 发送的 QPSK 符号(cell 数组,每个用户一个矩阵)
% decodedData : 解码后的符号(cell 数组)
% rangeMatrix : 匹配滤波输出的距离-慢时间矩阵
decodedData = cell(cfg.numUsers, 1);
for u = 1:cfg.numUsers
decodedData{u} = zeros(cfg.numSymbols, cfg.NPerUser);
end
rangeMatrix = zeros(cfg.NfftCorr, cfg.numSymbols);
% 目标多普勒参数
targetVelocity = cfg.targets(:,2);
dopplerHz = 2 * targetVelocity * cfg.fc / cfg.c;
phaseStep = 2 * pi * dopplerHz * cfg.Tsym; % 每个符号间的相位增量
for k = 1:cfg.numSymbols
% ---------- 发射端:生成 OFDM 符号 ----------
Xshared = zeros(1, cfg.HSize);
for u = 1:cfg.numUsers
codeBlock = cfg.H(cfg.userRows(u,:), :);
Xshared = Xshared + txData{u}(k,:) * codeBlock;
end
Xfreq = zeros(1, cfg.M);
Xfreq(cfg.n0 + 1 : cfg.n0 + cfg.HSize) = Xshared;
xTx = real(ifft(Xfreq));
xTxCp = [xTx(end-cfg.N_CP+1:end), xTx]; % 添加循环前缀
% ---------- 通信信道 ----------
signalPower = mean(xTxCp.^2);
noisePower = signalPower / 10^(cfg.SNR_dB/10);
xRxCp = xTxCp + sqrt(noisePower) * randn(size(xTxCp));
% 去除 CP,FFT 解调
Y = fft(hilbert(xRxCp(cfg.N_CP+1:end)));
Yshared = Y(cfg.n0 + 1 : cfg.n0 + cfg.HSize);
% 解扩(利用 Hadamard 码正交性)
for u = 1:cfg.numUsers
codeBlock = cfg.H(cfg.userRows(u,:), :);
decodedData{u}(k,:) = Yshared * codeBlock.';
end
% ---------- 雷达回波 ----------
radarReference = xTxCp;
radarPower = mean(abs(radarReference).^2);
radarNoise = radarPower / 10^(cfg.SNR_radar_dB/10);
% 初始化噪声回波
xRadar = sqrt(radarNoise/2) * ...
(randn(size(radarReference)) + 1j*randn(size(radarReference)));
% 叠加各目标回波
for t = 1:size(cfg.targets,1)
delay = cfg.targets(t,1); % 延迟采样数
amp = cfg.targets(t,3); % 幅度
phase = exp(1j*(phaseStep(t)*(k-1) + cfg.phaseNoiseStd*randn()));
delayed = [zeros(1, delay), radarReference(1:end-delay)];
xRadar = xRadar + amp * delayed * phase;
end
% 匹配滤波(频域相关)
RX = fft(xRadar, cfg.NfftCorr);
REF = fft(radarReference, cfg.NfftCorr);
rangeMatrix(:,k) = ifft(RX .* conj(REF));
end
end
% 主脚本:运行 ISAC 系统仿真
clear; clc; close all;
% 获取当前脚本所在路径
root = fileparts(mfilename('fullpath'));
if isempty(root)
root = pwd;
end
% 添加配置和源码目录
addpath(fullfile(root, 'config'));
addpath(genpath(fullfile(root, 'src')));
% 加载配置
cfg = projectConfig();
rng(cfg.seed, 'twister'); % 固定随机种子
% 设置图形默认字体(支持中文)
setupFigures();
% 创建结果文件夹
resultsFolder = fullfile(root, cfg.resultsFolder);
if ~exist(resultsFolder, 'dir')
mkdir(resultsFolder);
end
% 生成发送数据
txData = makeTxData(cfg);
% 运行 ISAC 处理(通信解码 + 雷达距离矩阵)
[decodedData, rangeMatrix] = runIsac(cfg, txData);
% 通信性能指标
comm = communicationMetrics(txData, decodedData, cfg);
% 距离-多普勒处理
radar = rangeDoppler(rangeMatrix, cfg);
% OS-CFAR 目标检测
cfar = osCfar(radar.profile, cfg);
% 估计检测结果并匹配真实目标
detection = estimateDetections(cfar, radar, cfg);
% 打印性能摘要
printSummary(comm, detection, cfg);
% 绘制各图
plotCommunication(comm, cfg, resultsFolder);
plotRangeProcessing(rangeMatrix, radar, cfg, resultsFolder);
plotRangeDoppler(radar, detection, cfg, resultsFolder);
plotCfar(radar, cfar, detection, cfg, resultsFolder);
5 总结
本文基于MATLAB平台设计并实现了一个以OFDM波形为核心的通信感知一体化系统仿真,覆盖了从信号生成、多用户CDMA通信、雷达回波模拟、匹配滤波、距离‑多普勒成像到OS‑CFAR目标检测的完整链路。通过理论分析和仿真实验,得到以下结论:
-
通信功能:基于Hadamard码的CDMA方案可实现多用户正交复用,在0 dB SNR下仍能获得较低的误符号率,星座图清晰可辨,证明其具有良好的抗干扰能力。
-
雷达感知功能:利用同一OFDM信号进行匹配滤波和二维FFT处理,能够精确估计目标的距离和速度,满足一般感知场景需求。
-
目标检测:OS‑CFAR算法在多目标环境下表现出色,所有预设目标均被检测且无虚警,验证了算法对噪声和杂波的稳健性。
本文工作验证了OFDM‑ISAC系统的可行性,为后续研究提供了基础框架。未来可拓展至MIMO‑OFDM架构以提升角度分辨力,研究自适应资源分配(子载波、功率)以平衡通信和感知性能,以及探索复杂环境(多径、非均匀杂波)下的稳健处理算法。
参考文献:
[1] Liu F, Cui Y, Masouros C, et al. Integrated sensing and communications: Toward dual-functional wireless networks for 6G and beyond[J]. IEEE Journal on Selected Areas in Communications, 2022, 40(6): 1728-1767.
[2] Rohling H. OFDM radar systems - A promising approach for future automotive radar[J]. IEEE Transactions on Intelligent Transportation Systems, 2009, 10(4): 512-520.
[3] You D, Song Z, Wang Z. Ordered-statistic CFAR for OFDM radar[J]. IET Radar, Sonar & Navigation, 2020, 14(6): 835-843.
仿真代码可见文末VX公众号(包含往期博客所有代码),所见即所得!
更多推荐

所有评论(0)