m基于matlab的站点休眠中继CDMA网络动态节能控制算法仿真与性能分析

简介: m基于matlab的站点休眠中继CDMA网络动态节能控制算法仿真与性能分析

1.算法概述

  蜂窝网络不仅需要能够为用户提供高质量的语音服务,而且要能够提供大量的数据传输服务,这就决定了蜂窝网络的发展必须要进一步提高系统容量和高速数据速率覆盖,而传统的蜂窝网络基本无法满足目前的需求。为了满足不断提高系统需求,需要通过通过增加基站密度可以提升系统容量,提高数据传输速率,但是,这会大大增加网络的成本为代价来实现的。仅仅当通信用户数目也以和基站同样级别增加的时候才是可行的[01]。但这在大部分国家,特别是在一些发达国家,蜂窝电话己经高度普及,因此这种方案几乎无法被接受。另一方面,同样数量的用户将要求更高的传输速率,这将成为造成未来无线系统吞吐量拥塞的瓶颈。假设用户不愿意像对语音通话一样对每比特的数据付同样的钱,大量增加基站数目在经济上也是不合算的。针对这种情况,目前应用较为广泛的是中继节点的应用,中继节点RS作为一种比BS更为简单、成本更低的技术可以进一步扩大的整个小区信号的覆盖范围以及增加数据传输速率。中继节点的基本作用是通过缩减基站和用户站之间的传输距离,对信号进行重新处理并向前转发从而提升无线链路质量。

    当中继节点关闭以后,可以大大降低能耗,此时的中继节点失去了发送的能力,被称为休眠节点。而在一个大型的蜂窝网中,由于每个单一的中继节点并不会在每时每刻都处于工作之中,那么会对整个网络产生一定的冗余,在这样一个环境中,中继节点收集到的数据高度相关,完全可以让一部分中继节点休眠,而让另一部分中继节点工作,此外,在中继节点密度较高的区域,此时,在不影响整个小区性能的前提下,通过关闭一部分节点的方法,可以有效降低整个小区的功耗。

   下面讨论在引入节点休眠算法之后,整个小区的功耗,吞吐量以及能效等性能指标。假设在某一时刻,整个小区有k0个中继节点关闭,k-k0个中继节点在正常工作,那么整个小区的总的功耗为:

1.png
2.png

2.仿真效果预览
matlab2022a仿真

从上面的式子可知,通过节点休眠算法后,整个系统的能效显然提高了。下面讨论节点休眠算法的休眠控制机制。

3.png

图1的仿真对比效果可知,采用节点休眠算法后的中继蜂窝网具有最小功耗,其次是中继蜂窝网,而普通蜂窝其功耗最大。

4.png

   改进后的中继蜂窝其吞吐量略大于中继蜂窝网,大于普通蜂窝网,故在吞吐量指标上,基于节点休眠算法的中继蜂窝网具有最佳的性能。此外,从理论上分析可知,采用普通中继算法的吞吐量和采用休眠节点算法的中继模式的系统吞吐量是相同的,但在实际中,考虑各个基站和中继之间的影响及干扰,当采用休眠算法的中继算法的时候,将无关的基站和中继均关闭,这样可以有效降低部分临近区域的基站或中继的干扰,所以采用休眠节点算法的吞吐量会略大于普通中继算法的吞吐量。

5.png

    采用改进算法后的中继蜂窝网,其能效最佳,且在用户较少的时候,其性能更为优越,而当用户数量增加的时候,其性能快速下降,但其整体能效仍然优于普通蜂窝网和中继蜂窝网。

3.MATLAB部分代码预览

load MATLAB_basic_platform\cell.mat
%显示该通信平台
               %系统内总用户数  %总中继数                      %用户设备位置坐标  %基站位置坐标       %中继位置坐标
               %小区半径        %小区个数                      %服务扇区列表     %每个扇区中的用户数  %每个小区的Relay数  %服务小区列表
func_draw_cell(nTotalNumofUser,nNumofCell*nNumofRelayPerCell,dUEPosition      ,dBSPosition        ,dRelayPosition,...
               dCellRadius    ,nNumofCell                   ,ServingSector    ,nNumofUserPerSector,nNumofRelayPerCell,ServingCell_Relay);
           
 
           
Simulation_time = 50;
 
Max_people      = 18;
Step_people     = 1;
Min_people      = 2;
ALL_throughput  = 0;
ALL_Power_comp  = 0;
p               = 0;
%计算吞吐量
%每个小区5个用户
for i = Min_people:Step_people:Max_people
    p = p + 1;
    ALL_throughput  = 0;
    ALL_Power_comp  = 0;
    for k = 1:Simulation_time%利用蒙特卡罗的思想,对一个情况进行多次计算,结果用平均值表示
        i
        [T_user,Power] = func_traffic(i);
        %进行调度
        T_PF_Scheduler = func_PF_Scheduler(T_user,i);
        %计算吞吐量
        ALL_throughput = ALL_throughput + sum(T_PF_Scheduler);
        ALL_Power_comp = ALL_Power_comp + sum(sum(Power));
    end
    ALL_throughput2(p) = ALL_throughput/Simulation_time;
    ALL_Power_comp2(p) = ALL_Power_comp/Simulation_time;
end
%计算能效
figure(6);
%计算能效 = 用户吞吐量/功耗
plot(MM,ALL_throughput2./ALL_Power_comp2,'b-*','LineWidth',2);title('能效 = 用户吞吐量/功耗');grid on;
xlabel('用户数量');
ylabel('能效');
01-40m
相关文章
|
2天前
|
算法
基于小波变换和峰值搜索的光谱检测matlab仿真,带GUI界面
本程序基于小波变换和峰值搜索技术,实现光谱检测的MATLAB仿真,带有GUI界面。它能够对CO2、SO2、CO和CH4四种成分的比例进行分析和提取。程序在MATLAB 2022A版本下运行,通过小波分解、特征提取和峰值检测等步骤,有效识别光谱中的关键特征点。核心代码展示了光谱数据的处理流程,包括绘制原始光谱、导数光谱及标注峰值位置,并保存结果。该方法结合了小波变换的时频分析能力和峰值检测的敏锐性,适用于复杂信号的非平稳特性分析。
|
1天前
|
传感器 算法
基于GA遗传算法的多机无源定位系统GDOP优化matlab仿真
本项目基于遗传算法(GA)优化多机无源定位系统的GDOP,使用MATLAB2022A进行仿真。通过遗传算法的选择、交叉和变异操作,迭代优化传感器配置,最小化GDOP值,提高定位精度。仿真输出包括GDOP优化结果、遗传算法收敛曲线及三维空间坐标点分布图。核心程序实现了染色体编码、适应度评估、遗传操作等关键步骤,最终展示优化后的传感器布局及其性能。
|
3天前
|
算法 数据可视化 数据安全/隐私保护
一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法
本课题基于MATLAB对一级倒立摆控制系统进行升级仿真,增加了PI、PD控制器,并对比了极点配置、线性二次型、PID、PI及PD五种算法的控制效果。通过GUI界面显示倒立摆动画和控制输出曲线,展示了不同控制器在偏转角和小车位移变化上的性能差异。理论部分介绍了倒立摆系统的力学模型,包括小车和杆的动力学方程。核心程序实现了不同控制算法的选择与仿真结果的可视化。
31 15
|
1天前
|
监控 算法 数据安全/隐私保护
基于扩频解扩+turbo译码的QPSK图传通信系统matlab误码率仿真,扩频参数可设置
本项目基于MATLAB 2022a实现图像传输通信系统的仿真,涵盖QPSK调制解调、扩频技术和Turbo译码。系统适用于无人机图像传输等高要求场景,确保图像质量和传输稳定性。通过仿真,验证了系统在不同信噪比下的性能,展示了图像的接收与恢复效果。核心代码实现了二进制数据到RGB图像的转换与显示,并保存不同条件下的结果。
16 6
|
2天前
|
机器学习/深度学习 算法 安全
基于深度学习的路面裂缝检测算法matlab仿真
本项目基于YOLOv2算法实现高效的路面裂缝检测,使用Matlab 2022a开发。完整程序运行效果无水印,核心代码配有详细中文注释及操作视频。通过深度学习技术,将目标检测转化为回归问题,直接预测裂缝位置和类别,大幅提升检测效率与准确性。适用于实时检测任务,确保道路安全维护。 简介涵盖了算法理论、数据集准备、网络训练及检测过程,采用Darknet-19卷积神经网络结构,结合随机梯度下降算法进行训练。
|
3月前
|
缓存 监控 Linux
Linux性能分析利器:全面掌握perf工具
【10月更文挑战第18天】 在Linux系统中,性能分析是确保软件运行效率的关键步骤。`perf`工具,作为Linux内核自带的性能分析工具,为开发者提供了强大的性能监控和分析能力。本文将全面介绍`perf`工具的使用,帮助你成为性能优化的高手。
273 1
|
3月前
|
缓存 监控 Linux
掌握Linux性能分析:深入探索perf工具
【10月更文挑战第26天】
166 1
|
5月前
|
SQL 缓存 关系型数据库
MySQL高级篇——性能分析工具
MySQL的慢查询日志,用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long-query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为 10,意思是运行10秒以上(不含10秒)的语句,认为是超出了我们的最大忍耐时间值。它的主要作用是,帮助我们发现那些执行时间特别长的 SOL 查询,并且有针对性地进行优化,从而提高系统的整体效率。当我们的数据库服务器发生阻塞、运行变慢的时候,检查一下慢查询日志,找到那些慢查询,对解决问题很有帮助。
MySQL高级篇——性能分析工具
|
4月前
|
Web App开发 监控 JavaScript
一些常用的 Vue 性能分析工具
【10月更文挑战第2天】
273 1
|
9月前
|
监控 Java 开发者
Java一分钟之-Java性能分析与调优:JProfiler, VisualVM等工具
【5月更文挑战第21天】本文介绍了Java性能优化的两个利器——JProfiler和VisualVM。JProfiler通过CPU Profiler、内存分析器和线程视图帮助解决过度CPU使用、内存泄漏和线程阻塞问题;VisualVM则聚焦于GC行为调整和类加载优化,以减少内存压力和提高应用性能。使用这些工具进行定期性能检查,是提升Java应用效率的关键。
251 0