基于注水法的无线传输能量优化¶
背景¶
当信道质量可以预测时,具有硬截止时间的发射机不应在每个时刻使用相同功率。信道条件较好时,每焦耳能量可以传输更多数据;但无论如何,完整数据量必须在截止时间前送达,而且发射功率受到限制。
本例描述接收机经过接入点的过程:信道质量先改善、达到峰值,然后衰减。最优控制结果会与经典注水功率分配比较;后者由独立的一维求根计算得到。
问题定义¶
令 \(q(t)\) 为剩余数据量,\(P(t)\) 为发射功率。每瓦接收信噪比给定为
采用带宽 \(B=1\) MHz 的 Shannon 速率模型:
剩余数据动力学为
对于数据量 \(D=18\) Mbit 和截止时间 \(T=10\) s,端点条件为
目标与路径约束为
变量、参数与单位¶
| 符号 | 含义 | 数值或单位 |
|---|---|---|
| \(t\) | 时间 | s |
| \(q\) | 截止时间前尚未发送的数据 | Mbit |
| \(P\) | 发射功率 | W |
| \(g\) | 每瓦接收信噪比 | W⁻¹ |
| \(R\) | 信息速率 | Mbit/s |
| \(B\) | 信道带宽 | \(1\) MHz |
| \(D\) | 要求传输的数据量 | \(18\) Mbit |
| \(T\) | 传输截止时间 | \(10\) s |
| \(P_{\max}\) | 功率上限 | \(5\) W |
| \(E\) | 发射能量 | J |
截断注水参考解¶
终端条件等价于积分数据量约束
对能量最小化问题应用 KKT 驻值条件,可得到未触及边界时的正功率关系
其中 \(\nu\) 是常数注水水位。计入上下功率边界后,参考功率为
参考计算用 Brent 方法选择 \(\nu\),使密集网格上的数据量积分等于 18 Mbit。该过程不使用 Pockit 轨迹,因此两者的一致性是独立最优性检查,而不是对配点约束的重复陈述。
建模选择¶
把剩余数据作为状态量,可以把传输截止时间写成明确的终端条件。队列边界还排除了先超量发送、再通过数学上的补偿返回终值的情况。脚本采用 \(100\times2\) Lobatto 网格和分段线性插值,因此节点之间也能保持队列和功率非负。
整个时域上的确定性信道轨迹都是预先已知的。这是离线调度假设,比许多通信系统中只能因果获得的信道状态信息更强。
独立验证¶
脚本在 4,001 个时刻重构 \(q\) 和 \(P\),计算速率,并通过数值积分得到累计传输量。它在整个时域检查队列恒等式
而不仅检查终端值。随后,脚本构造截断注水参考解,比较完整功率历程和能量,并检查全部密集路径边界。
验证结果¶
| 指标 | 验证值 |
|---|---|
| 发射能量 | \(16.97876379\) J |
| 密集积分传输数据量 | \(18.00004347\) Mbit |
| 解析注水水位 \(\nu\) | \(2.60489943\) W |
| 最大注水功率误差 | \(5.779\times10^{-4}\) W |
| 最大累计队列平衡误差 | \(1.978\times10^{-3}\) Mbit |
| 最大密集路径越界量 | \(0\) |
计划在信道质量峰值附近提高功率,在链路较差时降低功率。独立截断注水结果与优化功率在密集网格上的最大差异小于 \(0.6\) mW。

适用边界¶
模型假设信道轨迹确定且完全已知,采用 Shannon 容量速率,功率连续可调,并忽略编码时延。它未包含电路与待机功耗、干扰、分组、重传、单个数据包的时延、离散调制编码、信道估计误差和衰落不确定性。这些因素都可能显著改变可实际部署的无线电策略。
运行示例¶
无界面运行并保存图片:
system, phase = build_problem()
guess = initial_guess(phase)
solution = solve_problem(system, guess)
plot_solution(solution)
源代码¶
完整可运行示例见:
examples/wireless_data_transmission.py。