m基于中继协助的认知无线电频谱切换机制的matlab仿真分析

简介: m基于中继协助的认知无线电频谱切换机制的matlab仿真分析

1.算法描述

   认知无线电网络在进行频谱切换的时候,最为重要的问题是如何以最少的频谱切换次数实现频谱切换,同时保证较好的服务质量,这里,服务质量不仅是授权用户的服务质量,同时也要保证次用户的服务质量。所谓频谱切换,主要在在认知无线电网络中,当授权用户出现的时候,为了防止对授权用户服务质量的影响,次用户必须选择其他可选信道,此时,次用户就需要进行切换。

    目前为止,关于这方面的研究总结起来,主要有如下几个方面。

   通过使用能量检测、匹配过滤、循环侦测等技术来提高感知函数的过程增益,从而改善无线频谱感知的性能。

  通过在同一个频段范围内共存两个移动无线系统来提高频谱的使用效率。

    由于认知无线电是机会式地使用授权频谱,就会造成很多次用户在整个通信过程中频繁的进行切换,每进行一次切换就需要诸如频谱感知,切换请求,频谱分配,执行切换等过程,这些势必带来大量的时间开销。

   因此,保证次用户服务质量的一个最有效最直接的方法就是在传输过程中尽量减少切换次数。从服务质量角度考虑为次用户分配频谱空洞时间最长、带宽最宽的频谱无疑是最好的;然而从无线频谱资源的利用角度考虑,如果一个对服务质量要求不高的用户分配一个空洞时间长带宽较宽的频谱势必会造成资源的浪费,从频谱有效管理来说这种方法也是不可取的。  

    我们将主要研究基于切换概率的频谱分配算法,在保证服务质量的同时,减少频谱切换次数。这里,我们介绍了一种基于频谱空洞预留算法的频谱匹配算法。

1.png
2.png
3.png

   第7步:判断参加竞价的次用户数或者参加拍卖的授权频谱是否为零,如果都不为零,算法返回到 Step 2,继续执行下面步骤;如果二者之一为零,那么该算法结束。

2.仿真效果预览
matlab2022a仿真结果如下:
4.png
5.png
6.png
7.png

3.MATLAB部分代码预览

clear;
warning off;
% 
addpath 'My_Function\' %自定义函数路径
addpath 'My_Figure\'   %仿真结果图保存路径
addpath 'My_Result\'   %仿真结果及仿真中间结果数值保存路径
%参数化
lemda   = 0.2;
M       = 50;%用户数量
%信道数目
N       = 10;
lemda   = 1/2000 + (1/200-1/2000)*rand(N,1);%1/2000 ~ 1/200的均匀分布
 
% p:次用户传输功率; 
% N0 :信道的噪声功率;
% hi :用户i的发射机和接收机之间的信道系数。 
p  = 10;
No = 1;
 
 
for nn = 1:M
    nn
    TIME    = 1000;
    NUM     = 0;
    %中继信道lemda
    lemda2  =  1/1000 + (1/100-1/1000)*rand(N,1);%1/1000 ~ 1/100的均匀分布
    hi      = zeros(nn,1);
    for t = 1:TIME
        %Step 1,算法执行的开始,对参加竞价的次用户数等进行初始化。
        hi   = rand(nn,1);
        hicr = rand(nn,1);
        IIs = [];
        for i = 1:nn
            fail = 1;
            %首先判断是否存在中继用户
            %授权用户出现的概率
            P   = rand;
            P2  = rand;
            
            while fail == 1
                if P2 < 0.01%有认知用户
                    %Step 2,计算出次用户 i 对频谱 j 的估价vi
                    for j =1:N
                        Vi1(j) = 1 - lemda(j)/(log2(1+hi(i)*p/No));
                        Vi2(j) = 1 - lemda2(j)/(log2(1+hicr(i)*p/No));
                    end
                    %Step 3,计算出每个次用户最终提交的竞标价格bi
                    for mm1 =1:N
                        bi1(j) = Vi1(j) - randn(1);
                        bi2(j) = Vi2(j) - randn(1);
                    end
                    %Step 4,比较每个次用户的估价价格和自己提交的竞价价格的大小,如果估价
                    %价格小于竞标价格,说明频谱 j 不适合次用户 i,返回到 Step 2,否则
                    %直接执行下一步。
                    for mm1 =1:N
                        Vi_bi1(j) = Vi1(j) - bi1(j);
                        Vi_bi2(j) = Vi2(j) - bi2(j);
                    end
                    Vi_bi = [Vi_bi1,Vi_bi2]; 
                else%无认知用户
                    %Step 2,计算出次用户 i 对频谱 j 的估价vi
                    for j =1:N
                        Vi(j) = 1 - lemda(j)/(log2(1+hi(i)*p/No));
                    end
                    %Step 3,计算出每个次用户最终提交的竞标价格bi
                    for mm1 =1:N
                        bi(j) = Vi(j) - randn(1);
                    end
                    %Step 4,比较每个次用户的估价价格和自己提交的竞价价格的大小,如果估价
                    %价格小于竞标价格,说明频谱 j 不适合次用户 i,返回到 Step 2,否则
                    %直接执行下一步。
                    for mm1 =1:N
                        Vi_bi(j) = Vi(j) - bi(j);
                    end
                end
                %去掉小于0的
                Ind1 = find(Vi_bi>0);
                if isempty(Ind1)==1
                   fail = 1;
                else%没有中断,则选择%Step 5,找出最大的竞标价格及对应的次用户 i。
                   [VV,II] = max(Vi_bi);  
                   fail = 0;
                end 
            end
            IIs=[IIs,II];
        end
        %如果IIs前后不同,则说明成功,进行一次切换
        for iis = 1:length(IIs)-1
            if IIs(iis+1)~=IIs(iis)
               NUM = NUM+1;
            end
        end
    end
    PRO(nn) = NUM/TIME;
end
 
figure;
plot(1:M,PRO,'b','Linewidth',2);
xlabel('次用户个数');
ylabel('切换次数');
legend('基于竞价机制的中继协作频谱切换');
01_084_m
相关文章
|
1天前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目基于MATLAB2022a实现时间序列预测,采用CNN-GRU-SAM网络结构。卷积层提取局部特征,GRU层处理长期依赖,自注意力机制捕捉全局特征。完整代码含中文注释和操作视频,运行效果无水印展示。算法通过数据归一化、种群初始化、适应度计算、个体更新等步骤优化网络参数,最终输出预测结果。适用于金融市场、气象预报等领域。
基于GA遗传优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
|
1天前
|
机器学习/深度学习 算法 机器人
基于QLearning强化学习的较大规模栅格地图机器人路径规划matlab仿真
本项目基于MATLAB 2022a,通过强化学习算法实现机器人在栅格地图中的路径规划。仿真结果显示了机器人从初始位置到目标位置的行驶动作序列(如“下下下下右右...”),并生成了详细的路径图。智能体通过Q-Learning算法与环境交互,根据奖励信号优化行为策略,最终学会最优路径。核心程序实现了效用值排序、状态转换及动作选择,并输出机器人行驶的动作序列和路径可视化图。
110 85
|
1天前
|
算法
基于龙格库塔算法的锅炉单相受热管建模与matlab数值仿真
本设计基于龙格库塔算法对锅炉单相受热管进行建模与MATLAB数值仿真,简化为喷水减温器和末级过热器组合,考虑均匀传热及静态烟气处理。使用MATLAB2022A版本运行,展示自编与内置四阶龙格库塔法的精度对比及误差分析。模型涉及热传递和流体动力学原理,适用于优化锅炉效率。
|
3天前
|
传感器 算法
基于GA遗传优化的WSN网络最优节点部署算法matlab仿真
本项目基于遗传算法(GA)优化无线传感器网络(WSN)的节点部署,旨在通过最少的节点数量实现最大覆盖。使用MATLAB2022A进行仿真,展示了不同初始节点数量(15、25、40)下的优化结果。核心程序实现了最佳解获取、节点部署绘制及适应度变化曲线展示。遗传算法通过初始化、选择、交叉和变异步骤,逐步优化节点位置配置,最终达到最优覆盖率。
|
3天前
|
算法
基于RRT优化算法的机械臂路径规划和避障matlab仿真
本课题基于RRT优化算法实现机械臂路径规划与避障。通过MATLAB2022a进行仿真,先利用RRT算法计算避障路径,再将路径平滑处理,并转换为机械臂的关节角度序列,确保机械臂在复杂环境中无碰撞移动。系统原理包括随机生成树结构探索空间、直线扩展与障碍物检测等步骤,最终实现高效路径规划。
|
5月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
247 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
5月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
147 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
5月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
117 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
8月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章