大家好,我是带我去滑雪!
移动通信业务的高速增长使得传统同构蜂窝网络结构不能满足用户对通信质量的要求,而异
构网络架构可以有效解决这种问题。文中对泊松洞过程下异构蜂窝网络的覆盖率进行研究。首
先,利用泊松洞过程( Poisson Hole Process,PHP) 对异构蜂窝网络进行建模; 然后以信干比( Signal to Interference Radio,SIR) 分布为研究目标,利用泊松点过程的近似SIR 分析方法,推导出PHP 模型下网络SIR 增益的具体表达式; 最后,通过缩放泊松网络的信干比门限得到PHP 模型下的近覆盖率。下面开始代码实战。
目录
(1)模型参数设置
clc;
clear;
close all;
lambda_macro = 0.3; % 宏基站的密度 (km^-2)
lambda_micro = 0.8; % 微基站的密度 (km^-2)
area_size = 10; % 区域的总边长设为10,这样可以确保生成的点在 -5 到 5 的范围内
Pt_macro = 1; % 宏基站发射功率
Pt_micro = 0.1;
alpha = 4;
hard_core_radii = [0, 1.5, 2.5];
(2)生成广义硬核点过程的宏基站
num_points = poissrnd(lambda_macro * area_size^2);
x_macro = rand(num_points,1) * area_size - area_size/2; % 调整到 -5 到 5 的范围
y_macro = rand(num_points,1) * area_size - area_size/2;
macro_points = [x_macro, y_macro];
if hard_core_radius > 0
% 硬核删减
dist_matrix = pdist2(macro_points, macro_points);
dist_matrix(logical(eye(size(dist_matrix)))) = inf;
[~, min_idx] = min(dist_matrix, [], 2);
delete_mask = dist_matrix(sub2ind(size(dist_matrix), (1:num_points)', min_idx)) < hard_core_radius;
macro_points(delete_mask, :) = [];
end
(3)生成泊松点过程的微基站
num_micro_points = poissrnd(lambda_micro * area_size^2);
x_micro = rand(num_micro_points,1) * area_size - area_size/2; % 调整到 -5 到 5 的范围
y_micro = rand(num_micro_points,1) * area_size - area_size/2;
micro_points = [x_micro, y_micro];
(4)绘制基站分布图
figure; % 每次生成一个新的图
plot(macro_points(:,1), macro_points(:,2), 'ro', 'MarkerSize', 8, 'DisplayName', '宏基站的分布');
hold on;
plot(micro_points(:,1), micro_points(:,2), 'b+', 'MarkerSize', 5, 'DisplayName', '微基站的分布');
legend show;
title(sprintf('筛选半径 = %.1f km', hard_core_radius));
xlabel('X 坐标 (km)');
ylabel('Y 坐标 (km)');
axis([-5 5 -5 5]); % 设置区域范围为 [-5, 5]
end
(5)计算覆盖率与信干比
num_users = 100;
user_x = rand(num_users, 1) * area_size - area_size/2; % 调整到 -5 到 5 的范围
user_y = rand(num_users, 1) * area_size - area_size/2;
users = [user_x, user_y];
% 计算每个用户与基站的距离
dist_macro = pdist2(users, macro_points);
dist_micro = pdist2(users, micro_points);
% 计算信号强度 (考虑路径损耗)
signal_macro = Pt_macro ./ (dist_macro.^alpha);
signal_micro = Pt_micro ./ (dist_micro.^alpha);
% 信号来自最近的基站
[signal_strength_macro, ~] = max(signal_macro, [], 2);
[signal_strength_micro, ~] = max(signal_micro, [], 2);
% 干扰为来自其他基站的信号
interference_macro = sum(signal_macro, 2) - signal_strength_macro;
interference_micro = sum(signal_micro, 2) - signal_strength_micro;
% 总的信干比 (SIR)
SIR_macro = signal_strength_macro ./ interference_macro;
SIR_micro = signal_strength_micro ./ interference_micro;
% 覆盖率 (假设 SIR 大于一定值的用户被覆盖)
SIR_threshold = 1; % 覆盖的信干比阈值
coverage_macro = mean(SIR_macro > SIR_threshold);
coverage_micro = mean(SIR_micro > SIR_threshold);
fprintf('宏基站覆盖率: %.2f\n', coverage_macro);
fprintf('微基站覆盖率: %.2f\n', coverage_micro);
%% 步骤5:生成路径损耗与平均干扰之比的图
path_loss = logspace(-1, 1, 100); % 路径损耗范围
interference_to_signal_ratio = (1 ./ path_loss) .^ alpha;
figure;
plot(path_loss, interference_to_signal_ratio, 'LineWidth', 2);
xlabel('路径损耗');
ylabel('平均干扰与信号之比');
title('路径损耗与平均干扰与信号之比的关系');
grid on;
(6)结果展示
需要数据集的家人们可以去百度网盘(永久有效)获取:
链接:https://pan.baidu.com/s/16Pp57kAbC3xAqPylyfQziA?pwd=2138
提取码:2138
更多优质内容持续发布中,请移步主页查看。
博主的WeChat:TCB1736732074,可与我联系。
点赞+关注,下次不迷路!