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
相关文章
|
14天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。
|
15天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。
|
13天前
|
算法
基于HASM模型的高精度建模matlab仿真
本课题使用HASM进行高精度建模,介绍HASM模型及其简化实现方法。HASM模型基于层次化与自适应统计思想,通过多层结构捕捉不同尺度特征,自适应调整参数,适用于大规模、高维度数据的分析与预测。MATLAB2022A版本运行测试,展示运行结果。
|
14天前
|
运维 算法
基于Lipschitz李式指数的随机信号特征识别和故障检测matlab仿真
本程序基于Lipschitz李式指数进行随机信号特征识别和故障检测。使用MATLAB2013B版本运行,核心功能包括计算Lipschitz指数、绘制指数曲线、检测故障信号并标记异常区域。Lipschitz指数能够反映信号的局部动态行为,适用于机械振动分析等领域的故障诊断。
|
15天前
|
机器学习/深度学习 算法 芯片
基于GSP工具箱的NILM算法matlab仿真
基于GSP工具箱的NILM算法Matlab仿真,利用图信号处理技术解析家庭或建筑内各电器的独立功耗。GSPBox通过图的节点、边和权重矩阵表示电气系统,实现对未知数据的有效分类。系统使用MATLAB2022a版本,通过滤波或分解技术从全局能耗信号中提取子设备的功耗信息。
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
202 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
129 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
90 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章