首页 / 资讯中心 / 文章详情

无人机集群通信技术选型与仿真:分簇、NOMA、RIS与协同波束形成

无人机集群通信技术选型与仿真:分簇、NOMA、RIS与协同波束形成 ★ FEATURED ARTICLE
简介一份聚焦无人机集群通信前沿的中文学术文献为《无线电工程》2023年网络首发论文作者李苗等来自成都理工大学计算机与网络安全学院研究获国家自然科学基金及四川省科技计划项目支持面向电子通信、无人机系统方向的研究生、科研人员与工程技术开发者用于快速把握该领域研究脉络与待解通信难题。全文从无人机集群的概念与优势切入系统梳理当前研究现状结合信号增强、移动边缘计算、联邦学习、物理层安全等典型应用场景剖析其中亟需突破的关键技术问题并对未来发展趋势作出前瞻判断兼具综述梳理与选题参考价值。资源包共1个文件为PDF格式论文全文体积约924KB轻量便携便于检索与精读批注。目前已有113人学习下载可作为课题入门、文献综述写作与技术方案论证的参考材料。1. 一架飞得顺十架就丢包无人机集群通信的底稿该怎么读单机飞一趟很顺加到十架二十架地面站就开始丢包中继链路一断整片空域的协同就乱了。这是做无人机集群通信绕不开的分水岭链路不再是点对点而是节点在动、拓扑在变、回程资源还在抢。这份中文期刊网络首发的研究综述把无人机集群通信从簇头分簇、信号增强、移动边缘计算、联邦学习、物理层安全一路捋到 NOMA、RIS、协同波束形成和航迹规划四项关键技术属于先立框架再动手的那类底稿。它不附带代码包给的是一张能对齐仿真口径的坐标纸——哪类场景配哪种技术、哪些指标互相打架、哪个假设一旦放宽结论就失效。做方案选型、写开题材料或者要给仿真器定参数的人读它比读十篇散装论文省事。2. 分簇、簇头与四类场景无人机集群通信的分工账怎么算2.1 为什么集群不是编队分簇与簇头的真实作用把多架无人机摆成一个队形这件事本身不叫集群。综述对集群的定义卡得很死多架无人机在共同任务或目标下协同行动靠必要的控制策略产生协同效应才具备执行复杂、危险任务的能力。编队只解决几何位置集群要解决的是任务分配、信息汇聚和决策闭环这三件事最后都会压到通信链路上。链路为什么扛不住综述给了两条很实在的理由。第一条是高度机动性带来的链路频繁变化节点间信道增益在秒级尺度跳变任何基于静态拓扑设计的路由和调度都会迅速失效。第二条是回程链路资源有限如果集群里每架无人机都同时向地面站或卫星回传链路预算和频谱会被瞬间打穿。簇cluster这个概念因此被引入——把大规模集群划成若干簇簇头无人机汇总自己成员的信息再向上转发回程并发数从“节点数”降到“簇数”这是整个集群通信能规模化的前提。落到工程上分簇一般按“状态广播 → 打分 → 迟滞确认 → 轮换”四步走。打分项通常包括剩余电量、邻居数度、链路质量、相对位置中心度和速度加权后选最高分节点当簇头。迟滞门限是为了防止两个节点分数咬得太紧时反复切换切换一次的代价往往比多飞几十秒的代价大得多。打分项数据来源权重建议设计理由剩余电量电池管理单元0.35电量低的节点当簇头会提前掉线重启选举成本高邻居数邻居表维护0.25度大的节点做汇聚簇内跳数少链路质量RSSI / 误包率0.25直接决定成员机能不能稳定回传位置中心度相对坐标0.10几何居中簇内平均距离短移动速度IMU 定位差分0.05高速节点做簇头簇结构抖动大广播周期建议压在 1 s 以内簇头轮换周期设成 3060 s 量级最小簇规模设 3 架低于这个数就直接并入相邻簇。这几个参数没有绝对最优值但它们必须写进同一份配置文件不能散落在代码各处——后面排查“为什么簇头一直在切”时你会感谢自己。2.2 信号增强与 MEC两个最容易被直接拿去落地的场景信号增强是这份综述里最好落地的场景。模型很直白多架成员无人机分布在不同空间位置采集信号汇聚到簇头无人机簇头再把聚合结果发给远端基站或地面节点等效于把“一个弱发射机”换成了“一组分布式接收机 一个高增益上行”。优化变量只有两个轨迹和簇头选举综述里提到的做法是把轨迹优化和聚类约束放在一起解目标是最大化簇头的汇聚率。围绕这个框架还有两条增强路线协同波束形成让多机组成虚拟天线阵列把能量聚到某个方向RIS 通过调整反射单元的相位改变等效信道。MEC 场景的结构是“用户设备—无人机—地面基站”三层。用户因为遮挡等原因没法把计算任务直接卸载给地面服务器时可以先卸到无人机或者经无人机中继再转到地面。这条链路的卖点是把计算资源推到网络边缘降低处理时延。但综述没有回避代价在无人机上装边缘服务器等于给一个本来能量就紧张的平台再加负载和能耗而计算相关能耗通常比通信能耗更大续航会明显缩水。所以节能的 MEC 系统设计里通信资源分配和飞行轨迹必须联合优化单做其中一项能耗账都算不平。维度信号增强移动边缘计算核心目标覆盖范围、接收信号质量任务时延、卸载成功率主要约束回程带宽、簇头汇聚能力机载算力、电池能量、任务截止时间常用手段轨迹优化、簇头选举、CB、RIS卸载决策、细粒度切分、资源联合分配典型失效信号簇头吞吐打满、成员机排队无人机频繁返航、任务超时率上升判断是否该用用户侧 SNR 长期低于解调门限地面侧计算排队时延超过业务容忍值判断顺序建议是先测用户侧 SNR如果长期低于解调门限走信号增强如果 SNR 够但端到端时延压不下来才考虑 MEC。反过来做的项目我见过不止一个最后都变成在算力上堆资源链路却还是瓶颈。2.3 联邦学习与物理层安全通信在这里是被约束的一方联邦学习场景里无人机集群扮演的是中继和训练节点的混合角色。云端 FL 服务器发出训练任务具备数据处理能力的无人机可以就地训练也可以把信息转发给地面设备由地面设备用本地数据集训练再把模型参数经无人机回传云端聚合出全局模型然后进入下一轮。综述点出的关键痛点是 FL 本身依赖频繁的参数交换链路一断、节点一缺训练精度就掉无人机集群的快速部署能力恰好能补这个洞。代价是资源有限与模型精度之间的权衡以及本地训练的计算能耗这两笔账在部署前必须算清楚。物理层安全场景的典型结构是协作友好干扰一部分无人机当中继把地面基站的消息转给合法用户另一部分无人机当友好干扰机向地面窃听者持续发送人工噪声同时靠轨迹优化维持合法链路的稳定性甚至跟踪移动的窃听者。协同波束形成在这里也能用通过设计阵元位置和激励权值把主瓣指向目的地、把零陷对准窃听方向。但综述明确写了三条限制读的时候别跳过多数研究停留在非动态场景假设窃听者位置已知用的是确定状态的信道模型。这三条只要放宽一条结论的可信度就要重新评估。做这块的验证时我一般会把窃听者位置改成随机变量跑最坏情形而不是只跑论文里那组“已知位置”的理想曲线。3. 四项关键技术的选型NOMA、RIS、协同波束与航迹规划各管哪一段3.1 NOMA 与 SIC频谱吃紧、并发节点多时的接入层解法NOMA 的核心就两件事发射端做叠加编码接收端做连续干扰消除。功率域 NOMA 上下行都能用。下行时基站在同一个正交资源块上把多个用户信号叠加发射弱用户把共道干扰当噪声直接解自己的强用户先解弱用户的信号、减掉、再解自己的。上行时多个用户在同一资源块上发基站侧做 SIC 逐个分离。它换来的是频谱效率和多用户并发数代价是接收机复杂度和对信道增益差异的依赖。这个“依赖”是选型的关键。综述写得很清楚NOMA 的性能增益从根本上受信号传播环境限制尤其是信道增益差异较小的用户之间增益会趋近于零。所以在无人机集群里用 NOMA第一步不是配功率而是先看成员机到簇头的信道增益比够不够大。差异不够SIC 解不出来剩下的功率全变成干扰。一个可执行的配置流程是这样的采集每架成员机到簇头的宽带信道估计算出线性功率增益排成降序。按增益从低到高分配功率增益最低的给最高功率占比这是功率域 NOMA 的惯例。确定 SIC 解码顺序接收端从功率占比最高的那个信号开始解逐级消除。校验每一级解码前的 SINR 是否高于所用调制编码的门限任何一级不过就把该用户踢回正交资源。只在通过校验的用户集合上启用 NOMA其余走 OMA 兜底。参数建议取值说明强弱用户功率比2:1 到 4:1比值越大弱用户越稳但强用户速率掉得快SIC 解码门限按 MCS 查表留 2 dB 余量门限卡太紧误块率会飙用户配对数每资源块 2 个起步3 个以上 SIC 误差传播明显信道增益比门限建议不低于 810 dB低于此值先别上 NOMA还有一条组合拳值得记住NOMA 和 RIS 一起用靠 RIS 调整相位主动拉开用户间的等效信道差异等于人为制造 NOMA 需要的那个“增益差”。这条思路在综述里被点名实际做起来就是先调 RIS 相移矩阵再跑功率分配。3.2 RIS 与空中反射面NLoS 场景下的一条窄缝RIS 是由低成本元表面构成的设备靠调整无源反射单元的幅度和相位来优化反射路径。部署方式有两种挂在建筑物上做地面 RIS实现视距通信装在无人机上做空中 RIS借助无人机的机动性做三维信号反射。相比地面方案空中 RIS 的部署灵活性更高空对地链路更可靠反射角度覆盖更全。但这里有个很现实的物理约束单架无人机的有效载荷、电池容量和飞行灵活性都有限能挂的反射单元数量上不去大孔径增益就保证不了。这正是综述主张 RIS 与无人机集群结合的理由——把反射面拆到多架无人机上既保留集群的部署优势又拿到 RIS 的辅助通信能力。集群化的 RIS 还能和功率分配联合优化一起提升能效。配相移的实操流程大致如下先做信道估计拿到发射端到 RIS、RIS 到接收端两段信道的等效矩阵。按“两段信道相位相加后对齐到目标方向”的准则逐单元算理想相移。按硬件的量化位数离散化常见是 23 bit量化损失要单独评估。在链路预算里把 RIS 的插损和量化损失一起扣掉别只算理想增益。巡检阶段周期性重估信道无人机位置一动相移矩阵就得跟着更新。选型上有个直观判断如果集群内通信长期处于非视距加发射功率的边际收益已经很小RIS 才是那条窄缝如果链路本来就是视距主导先优化天线朝向和高度收益比上 RIS 快得多。3.3 协同波束形成与虚拟天线阵列把航迹当孔径用协同波束形成的基本思想是让地理上分散的多个发射单元协同工作共享同一份数据、同时发射从而在远场合成一个虚拟天线阵列。因为相位在空间上对齐主瓣方向的信号强度显著提升旁瓣被压低干扰和旁瓣泄漏一并减少。综述里提到已经有工作做出了完整的无人机协同波束形成框架证明这条路在真实网络里走得通。这套东西在无人机集群上的独特之处是孔径由航迹决定。想拿到窄波束就得把无人机拉开想拿到低旁瓣就得让阵元间距尽量均匀避免出现栅瓣。空对地链路以视距为主天然适合波束形成但也意味着更容易被旁瓣方向的接收者捡到信号所以低旁瓣不只是性能指标也是安全指标。估算孔径和波束宽度可以先用均匀线阵的近似3 dB 波束宽度约等于 0.886 倍波长除以总孔径长度。16 个阵元、半波长间距孔径是 8 倍波长2.4 GHz 下约 1 m对应波束宽度约 6.3 度。想压到 3 度孔径就得翻倍也就是阵元数或间距翻倍这在集群规模上是硬约束。阵元数间距孔径λ3 dB 波束宽度近似80.5λ3.5约 14.5°160.5λ7.5约 6.8°320.5λ15.5约 3.3°161.0λ15.0约 3.4°但出现栅瓣风险综述里点出的最大威胁是位置漂移无人机遇到风或者意外机动偏离指定位置阵元相位关系被破坏波束直接散掉。两条补救路径一条是重新规划轨迹把位置拉回来另一条是位置短时间回不来时调整激励电流权值去抵消相位误差。工程上通常是两条一起上先靠权值兜底再靠轨迹回正。3.4 航迹规划三代算法各自的适用尺度综述把航迹规划算法粗分成三类最短路径算法、智能算法、混合智能算法。Dijkstra 和 A* 这类在单机路径规划上表现已经很成熟但面对大规模、高维度、非线性的集群路径规划适用性会明显下降——状态空间一炸搜索时间不可接受。第二代是基于数学模型的集中式优化用遗传算法、粒子群这类智能算法去搜全局或近似全局最优。它们能同时吃下多种约束和优化目标代价是大规模场景下计算复杂度高而且集中式求解对通信拓扑的稳定性有隐含要求链路一抖求解结果就可能过期。第三代是把智能算法和 AI/ML 结合用强化学习、深度学习提升规划的性能和适应性。这条路适合环境动态、任务频繁变化的场景但训练成本和样本效率是新的门槛。选型上不要迷信“越新越好”集群规模 10 架以内、环境静态A* 加冲突消解就够几十架、任务动态才轮到混合智能方法上场。4. 从综述参数到可跑仿真链路预算、SIC 与波束图的三段复算4.1 参数表怎么定一份能对齐的空地信道与网络口径综述本身不给参数表但所有结论都建立在某组参数之上。自己复现时第一件事是把口径固定下来否则跑出来的曲线和论文对不上也说不清是哪边的问题。下面这份表是我按这类集群通信研究里最常见的取值整理的只作为起点具体项目要按实际硬件改。参数符号建议初值备注载频f2.4 GHz / 5.8 GHzISM 频段链路预算差异明显发射功率P_t2023 dBm按实际模块能力取机载天线增益G_t23 dBi全向机身遮挡要单独算损耗地面站天线增益G_r612 dBi定向天线取高值额外损耗L_ex36 dB机身遮挡、极化失配飞行高度h50200 m高度影响视距概率带宽B10 / 20 MHz与噪声带宽一致噪声系数NF57 dB接收机前端集群规模N1050超过 50 必须分簇簇数K38与回程并发数直接挂钩阵元间距d0.5λ大于 0.5λ 要评估栅瓣提示表里的每个值都要落到一份 config 文件里不要散在脚本中。参数一多改一处忘一处最后图对不上排查成本极高。4.2 链路预算与两用户 NOMA 的 SINR 脚本功率域 NOMA 到底有没有增益跑一遍数就知道了。下面这段脚本做两件事按自由空间模型算两架成员机到簇头的接收功率再按功率域 NOMA 的下行规则算三个 SINR——远端用户直接解码、近端用户解远端信号SIC 第一步、近端用户解自己。import math def fspl_db(d_m: float, f_hz: float) - float: 自由空间路径损耗d_m 为斜距f_hz 为载频。 c 3.0e8 return 20.0 * math.log10(4.0 * math.pi * d_m * f_hz / c) def rx_power_dbm(p_tx_dbm, g_tx_dbi, g_rx_dbi, d_m, f_hz, extra_loss_db0.0): 接收功率 发射功率 两端增益 - 路损 - 额外损耗。 return p_tx_dbm g_tx_dbi g_rx_dbi - fspl_db(d_m, f_hz) - extra_loss_db def dbm2mw(x): return 10 ** (x / 10.0) def noma_downlink(p_total_mw, alpha_far, h_near, h_far, noise_mw): h_near / h_far 为线性功率增益归一化路损单位 mW/mW。 alpha_far 为分给远端弱用户的功率占比功率域 NOMA 惯例取 0.5。 p_far p_total_mw * alpha_far p_near p_total_mw * (1 - alpha_far) # 远端用户把近端信号当噪声直接解自己的 sinr_far (p_far * h_far) / (p_near * h_far noise_mw) # 近端用户SIC 第一步先把远端信号解出来 sinr_far_at_near (p_far * h_near) / (p_near * h_near noise_mw) # 近端用户消除远端信号后解自己的 sinr_near (p_near * h_near) / noise_mw return sinr_far, sinr_far_at_near, sinr_near def rate_mbps(sinr, bw_hz): return bw_hz * math.log2(1 sinr) / 1e6 if __name__ __main__: f_hz 2.4e9 bw 20e6 noise_dbm -174 10 * math.log10(bw) 7 # 热噪声底 7 dB 噪声系数 n0 dbm2mw(noise_dbm) # 两架成员机到簇头的距离远端和近端拉开差距 for d_near, d_far in ((200.0, 800.0), (300.0, 1200.0), (400.0, 500.0)): p_near rx_power_dbm(23, 3, 2, d_near, f_hz, extra_loss_db3) p_far rx_power_dbm(23, 3, 2, d_far, f_hz, extra_loss_db3) h_near dbm2mw(p_near) / dbm2mw(23) # 归一化为线性路损增益 h_far dbm2mw(p_far) / dbm2mw(23) for alpha in (0.6, 0.7, 0.8): s_far, s_far_near, s_near noma_downlink(200.0, alpha, h_near, h_far, n0) print(fd{d_near:.0f}/{d_far:.0f} m, alpha_far{alpha:.1f} | fSINR_far{10*math.log10(s_far):6.2f} dB, fSINR_farnear{10*math.log10(s_far_near):6.2f} dB, fSINR_near{10*math.log10(s_near):6.2f} dB, fR_sum{rate_mbps(s_far, bw)rate_mbps(s_near, bw):7.2f} Mbps)逻辑说明rx_power_dbm算的是绝对接收功率再除以发射功率的线性值得到归一化路损增益这样代入 NOMA 公式时功率量纲就统一了。noma_downlink严格按综述描述的下行规则写——远端把共道干扰当噪声近端要做 SIC。最值得盯的是SINR_farnear这一项它必须高于远端所用 MCS 的门限否则近端根本解不出远端信号SIC 就是空谈这一项不过NOMA 的全部收益都不成立。参数说明alpha_far是唯一需要扫的变量0.6 到 0.8 是常见区间再高近端速率掉得厉害。noise_dbm里的 7 是噪声系数改接收机就改这个。三个距离组合分别对应“远近适中”“远端较远”“两用户距离接近”三种情形——第三种就是综述说的信道增益差异小、NOMA 增益趋零的典型跑出来会看到SINR_farnear明显偏低这就是不该上 NOMA 的信号。4.3 阵列方向图与位置漂移的复算协同波束形成的仿真最大的坑是把阵元当成钉在理想位置上的。加一段位置抖动进去主瓣增益掉多少、旁瓣抬多少一眼就能看出来。import numpy as np def pattern_db(pos_wl, theta_deg, theta0_deg): pos_wl: 各阵元沿阵列轴的位置单位是波长。 theta_deg: 观察角度数组theta0_deg: 期望主瓣指向。 theta np.deg2rad(np.asarray(theta_deg, dtypefloat)) theta0 np.deg2rad(theta0_deg) # 面向 theta0 的共轭相位权值 w np.exp(-1j * 2 * np.pi * pos_wl * np.sin(theta0)) # 阵列流形(角度数, 阵元数) a np.exp(1j * 2 * np.pi * np.outer(np.sin(theta), pos_wl)) af np.abs(a w) / len(pos_wl) return 20 * np.log10(af 1e-12) if __name__ __main__: n, d_wl, theta0 16, 0.5, 30.0 pos_ideal np.arange(n) * d_wl rng np.random.default_rng(7) # 位置漂移沿阵列轴标准差 0.05 波长相当于 2.4 GHz 下约 6 mm pos_drift pos_ideal rng.normal(0, 0.05, n) grid np.arange(-90, 90.5, 0.5) g_ideal pattern_db(pos_ideal, grid, theta0) g_drift pattern_db(pos_drift, grid, theta0) idx np.argmin(np.abs(grid - theta0)) print(f理想主瓣增益 {g_ideal[idx]:.2f} dBi(归一化), 漂移后 {g_drift[idx]:.2f} dBi) print(f理想峰值旁瓣 {g_ideal.max():.2f}, 漂移后峰值旁瓣 {g_drift.max():.2f})逻辑说明w是按理想位置算出来的相位权值漂移后的阵元位置只进阵列流形a不参与权值计算——这正好对应实际系统里“按规划位置配相、飞行中位置却偏了”的情形。跑出来的差值就是纯位置误差造成的损失不掺其他因素。参数说明d_wl取 0.5 波长是避免栅瓣的常规选择n决定孔径也决定波束宽度漂移标准差 0.05 波长大约相当于 2.4 GHz 下的 6 mm实际风扰下可能更大可以根据机型和风场条件调。如果算出来的主瓣损失超过 3 dB说明要么权值需要在线重本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站