目錄
1.軟體版本
2.本算法理論知識點
3.算法具體理論
4.部分核心代碼
5.仿真示範
6.本算法寫論文思路
7.參考文獻
8.相關算法課題及應用
1.軟體版本
matlab2021a
2.本算法理論知識點
VCG拍賣機制、頻譜共享
3.算法具體理論
4.部分核心代碼
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
5.仿真示範
6.本算法寫論文思路
認知無線電的曆史和相關頻譜共享算法,
拍賣理論和在頻譜共享算法中的應用,
一種基于VCG拍賣機制的新型頻譜共享算法,
仿真實作基于VCG拍賣機制的新型頻譜共享算法。