要使用MISO窃听模型
时间: 2023-12-03 07:03:21 浏览: 80
好的,以下是一个基于MISO窃听模型的无人机通信系统安全传输方案的matlab实现:
```matlab
% 设置参数
N = 4; % 发射天线数
M = 2; % 接收天线数
P_max = 1; % 发射功率上限
SNR = 10; % 信噪比
% 生成信道系数
H = randn(M, N);
hn = randn(1, 1);
% 构建凸优化模型
cvx_begin
variable P(N)
variable Q(N)
maximize(log_det(eye(M) + SNR * (H * P)))
subject to
sum(P) <= P_max
Q >= 0
Q <= P
hn * Q <= sqrt(SNR * hn * hn')
cvx_end
% 计算安全速率
R = log(det(eye(M) + SNR * (H * P))) - log(1 + SNR * hn * hn' / (H * P + Q) / (hn * hn'));
% 输出结果
fprintf('发射功率:\n');
disp(P);
fprintf('人工噪声功率:\n');
disp(Q);
fprintf('安全速率:%.4f\n', R);
```
该代码首先设置了相关参数,包括发射天线数、接收天线数、发射功率上限和信噪比。然后,使用随机数生成信道系数,并使用凸优化算法求解最大化安全速率的发射功率和人工噪声功率。最后,计算安全速率并输出结果。
需要注意的是,该代码使用了MISO窃听模型,同时在凸优化模型中引入了约束条件,保证了人工噪声功率不能超过发射功率,并且保证了非法窃听端的信噪比不超过安全门限。同时,计算安全速率时,除了考虑合法接收端的信道噪声,还考虑了非法窃听端的干扰。
阅读全文