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

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

      移动通信业务的高速增长使得传统同构蜂窝网络结构不能满足用户对通信质量的要求,而异
构网络架构可以有效解决这种问题。文中对泊松洞过程下异构蜂窝网络的覆盖率进行研究。首
先,利用泊松洞过程( 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 


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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/455261.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

求助帖:ubuntu22.10 auto install user-data配置了为何还需要选择语言键盘(如何全自动)

0-现象&#xff1a;配置好autoinstll的PXE与user-data文件安装过程仍然要人工选语言、键盘等&#xff0c;非全自动&#xff1b;—— 1.硬件环境&#xff1a;x86_64机器 U盘&#xff08;/dev/sda&#xff09;&#xff1b; 2.软件环境&#xff1a;DHCPPXE启动做好grub与pxe的aut…

【AI绘画】Midjourney进阶:留白构图详解

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AI绘画 | Midjourney 文章目录 &#x1f4af;前言&#x1f4af;什么是构图为什么Midjourney要使用构图 &#x1f4af;留白构图特点使用场景提示词书写技巧测试 &#x1f4af;小结 &#x1f4af;前言 【AI绘画】Midjourney进阶&…

Springboot 的手动配置操作讲解

1.创建新项目: 手动创建使用maven 项目 并选择骨架: quickstart 骨架用来搭建spingboot 2.手动输入pom.xml依赖: 要想创建springboot 首先继承springboot 的父类 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo…

算法的学习笔记—两个链表的第一个公共结点(牛客JZ52)

&#x1f600;前言 在链表问题中&#xff0c;寻找两个链表的第一个公共结点是一个经典问题。这个问题的本质是在两个单链表中找到它们的相交点&#xff0c;或者说它们开始共享相同节点的地方。本文将详细讲解这个问题的解题思路&#xff0c;并提供一种高效的解决方法。 &#x…

python 爬虫抓取百度热搜

实现思路&#xff1a; 第1步、在百度热搜页获取热搜元素 元素类名为category-wrap_iQLoo 即我们只需要获取类名category-wrap_为前缀的元素 第2步、编写python脚本实现爬虫 import requests from bs4 import BeautifulSoupurl https://top.baidu.com/board?tabrealtime he…

[手机Linux PostmarketOS]七, Linux使用selenium爬虫

一&#xff0c;selenium安装 # 用pip 安装 selenium pip3 install selenium --break-system-packages 二&#xff0c;安装浏览器Chrome Alpine Linux 环境中没有google Chrome&#xff0c; 使用 Chromium 浏览器作为 Chrome 的替代品&#xff0c;Chromium 是 Chrome 的开源版本…

定时任务使用kafka

定时任务使用kafka 在上述业务场景中使用 Kafka 而不是直接定时执行任务有以下几个重要原因&#xff1a; 一、解耦 任务触发与执行分离&#xff1a; 使用 XXL-JOB 定时触发任务并将任务消息发送到 Kafka&#xff0c;实现了任务触发端&#xff08;通常是调度系统&#xff09;和…

数字后端零基础入门系列 | Innovus零基础LAB学习Day5

###Module 12 RC参数提取和时序分析 数字后端零基础入门系列 | Innovus零基础LAB学习Day4 数字后端零基础入门系列 | Innovus零基础LAB学习Day3 数字后端零基础入门系列 | Innovus零基础LAB学习Day2 数字后端零基础入门系列 | Innovus零基础LAB学习Day1 ###LAB12-1 这个章节…

机器学习与神经网络:科技的星辰大海

前提 近日&#xff0c;2024年诺贝尔物理学奖颁发给了机器学习与神经网络领域的研究者&#xff0c;这是历史上首次出现这样的情况。这项奖项原本只授予对自然现象和物质的物理学研究作出重大贡献的科学家&#xff0c;如今却将全球范围内对机器学习和神经网络的研究和开发作为了一…

kotlin 入门总结

目录 1、构造函数 2、数据类 data class&#xff0c; 3、object 单例类&#xff0c;相当于java线程安全的懒加载 4、companion object 伴生对象&#xff0c;类似于包装静态值的一个区域块 5、解构 6、空安全 7、条件语句 8、集合 9 属性和支持属性 属性 支持属性 10 …

kali的下载与配置

kali.org官网下载 选择VMware的版本下载&#xff0c;并解压&#xff0c;复制解压后的路径 在虚拟机中&#xff0c;点击文件&#xff0c;打开 默认的账户密码均为kali 修改密码 sudo passwd root 切换root用户 su root 查看IP ip addr IP:192.168.184.131 粘贴复制shiftinsert…

从图像识别到聊天机器人:Facebook AI的多领域应用

随着人工智能技术的快速发展&#xff0c;Facebook已在多个领域内广泛应用AI技术&#xff0c;以提升用户体验、提高效率并推动创新。从图像识别到聊天机器人&#xff0c;Facebook的AI应用涵盖了社交媒体的方方面面&#xff0c;下面我们将深入探讨这些应用的具体实现及其对用户生…

ecmp观察

文章目录 简述选路策略实验说明开始验证 简述 ECMP&#xff08;Equal Cost Multi Path&#xff09;等价多路径&#xff0c;又称等价路由。指到达同一个目的IP或者目的网段存在多条COST值相等的不同路由路径。在具有多条到达同一目的地的网络链路的环境中&#xff0c;传统路由技…

2.1 > Shell 是什么、如何更熟练的使用 Bash Shell

Shell 基础知识 Shell是计算机操作系统中的一个命令行解释器&#xff0c;由C语言编写&#xff0c;用于用户与操作系统之间进行交互。用户可以通过Shell输入命令&#xff0c;操作系统接收到这些命令后执行相应的操作。Shell一般还提供了编程语言的基本功能&#xff0c;允许用户…

在 VS Code 中轻松绘图:Draw.io Integration 插件详解

文章目录 在 VS Code 中轻松绘图&#xff1a;Draw.io Integration 插件详解一、什么是 Draw.io Integration 插件&#xff1f;二、插件安装指南1. 安装步骤2. 配置插件 三、如何使用 Draw.io Integration 插件&#xff1f;1. 创建新绘图文件2. 编辑现有图表3. 常用功能与技巧 四…

网安加·百家讲坛 | 徐一丁:金融机构网络安全合规浅析

作者简介&#xff1a;徐一丁&#xff0c;北京小西牛等保软件有限公司解决方案部总监&#xff0c;网络安全高级顾问。2000年开始从事网络安全工作&#xff0c;主要领域为网络安全法规标准研究、金融行业安全咨询与解决方案设计、信息科技风险管理评估等。对国家网络安全法规标准…

【数据结构与算法】《布隆过滤器:高效数据筛选的魔法工具》

标题&#xff1a;《布隆过滤器&#xff1a;高效数据筛选的魔法工具》 摘要&#xff1a;本文将带你深入了解布隆过滤器这一神奇的数据结构。从研究推荐系统中的已读内容排除和重复内容去重问题引入&#xff0c;详细介绍布隆过滤器的产生契机、设计思想、优缺点及用途。通过阅读…

机器视觉运动控制一体机在DELTA并联机械手视觉上下料应用

市场应用背景 DELTA并联机械手是由三个相同的支链所组成&#xff0c;每个支链包含一个转动关节和一个移动关节&#xff0c;具有结构紧凑、占地面积小、高速高灵活性等特点&#xff0c;可在有限的空间内进行高效的作业&#xff0c;广泛应用于柔性上下料、包装、分拣、装配等需要…

MyBatis 基础知识:配置文件、映射器与 SQL 示例详解

本篇博客将深入探讨 MyBatis 的基础知识&#xff0c;包括配置文件的设置、映射器的使用以及实际的 SQL 示例。 文章目录 前言 准备工作 根据主键删除 日志输出 ​编辑 预编译SQL SQL注入 ​编辑 参数占位符 新增员工 主键返回 更新 查询&#xff08;根据ID查询&#x…

世界前沿思想升命学说:鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪

在当今哲学的前沿探索中&#xff0c;山东济南的名人颜廷利教授的《升命学说》一书以其独到的见解和深刻的洞察力&#xff0c;为我们揭示了十二生肖背后的象征意义。这些生肖包括鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗以及猪&#xff0c;每一种动物都承载着独特的文化寓意…