您现在的位置:首页 >> 技术文章 >> 通信信号处理 >> 内容

MATLAB代做|FPGA代做-基于认知无线电的VCG拍卖机制频谱共享算法的MATLAB仿真

时间:2022/3/21 19:16:21 点击:

  核心提示:MATLAB代做|FPGA代做-基于认知无线电的VCG拍卖机制频谱共享算法的MATLAB仿真...
clc;
clear;
close all;
warning off;
 
%参数化
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;
 
P_Arrive= [0.2:0.1:0.5]; 
 
for nn = 1:length(P_Arrive)
    nn
    for mm = 1:M
        mm
        TIME    = 500;
        NUM     = 0;
        %信道lemda
        lemda2  =  1/1000 + (1/100-1/1000)*rand(N,1);%1/1000 ~ 1/100的均匀分布
        hi      = zeros(mm,1);
        for t = 1:TIME
            rng(t);
            %Step 1,算法执行的开始,对参加竞价的次用户数等进行初始化。
            hi   = rand(mm,1);
            hicr = rand(mm,1);
            IIs = [];
            for i = 1:mm
                fail = 1;
                %授权用户出现的概率
                P   = rand;
                P2  = rand;
                P0  = rand;
               DROP1ssss=[];
               if P0 < P_Arrive(nn)
                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,%支付机制Vi_bi
                        for mm1 =1:N
                            Vi_bi(j) = Vi(j) - bi(j);
                        end
                    end
                    %去掉小于0的
                    Ind1 = find(Vi_bi>0);
 
                    if length(Ind1)<1
                       fail = 1;
                       DROP1ssss =[DROP1ssss,1];  
                    else%没有中断,则选择%Step 5,找出最大的竞标价格及对应的次用户 i。
                       [VV,II] = max(Vi_bi);  
                       fail = 0;
                       DROP1ssss =[DROP1ssss,0];  
                    end 
                end
                DROP1sss(i) = mean(DROP1ssss);
               else
                DROP1sss(i) = 0;   
               end
                
            end
            DROP1ss(t) = mean(DROP1sss);
        end
        DROP1s(mm) = mean(DROP1ss);
    end
    DROP4(nn) = mean(DROP1s);   
end
figure;
plot(100*P_Arrive(1:end),100*DROP4(1:end),'b-o','linewidth',2);
 
xlabel('授权用户出现的概率');
ylabel('中断概率');
save result3.mat P_Arrive DROP4

联系:highspeedlogic

QQ :1224848052

微信:HuangL1121

邮箱:1224848052@qq.com

网站:http://www.mat7lab.com/

网站:http://www.hslogic.com/

微信扫一扫:

作者:VCG拍卖机制频谱共享 来源:网络
  • 您是如何找到本站的?
  • 百度搜索
  • Google搜索
  • 查阅资料过程中
  • 论坛发现
  • 百度贴吧发现
  • 朋友介绍
本站最新成功开发工程项目案例
相关文章
  • 没有相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
  • matlab代做|matlab专业代做|matlab淘宝代做|FPGA项目合作(www.hslogic.com) © 2022 版权所有 All Rights Reserved.
  • Email:highspeed_logic@163.com 站长QQ: 1224848052

    专业代做/代写/承接、MATLAB、SIMULINK、FPGA项目、博士/硕士/本科课题、Coursework、Eassy、Assignment