欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > 基于泊松洞过程建模的异构蜂窝网络信干比增益与近似覆盖率分析

基于泊松洞过程建模的异构蜂窝网络信干比增益与近似覆盖率分析

2024/10/27 3:57:30 来源:https://blog.csdn.net/qq_45856698/article/details/143190829  浏览:    关键词:基于泊松洞过程建模的异构蜂窝网络信干比增益与近似覆盖率分析

      大家好,我是带我去滑雪!

      移动通信业务的高速增长使得传统同构蜂窝网络结构不能满足用户对通信质量的要求,而异
构网络架构可以有效解决这种问题。文中对泊松洞过程下异构蜂窝网络的覆盖率进行研究。首
先,利用泊松洞过程( Poisson Hole Process,PHP) 对异构蜂窝网络进行建模; 然后以信干比( Signal to Interference Radio,SIR) 分布为研究目标,利用泊松点过程的近似SIR 分析方法,推导出PHP 模型下网络SIR 增益的具体表达式; 最后,通过缩放泊松网络的信干比门限得到PHP 模型下的近覆盖率。下面开始代码实战。

目录

(1)模型参数设置

(2)生成广义硬核点过程的宏基站

(3)生成泊松点过程的微基站

(4)绘制基站分布图

(5)计算覆盖率与信干比

(6)结果展示


(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 


更多优质内容持续发布中,请移步主页查看。

   点赞+关注,下次不迷路!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com