資源簡介
此算法和程序是用來求解認知無線電協作感知的協作模型的。這種協作模型是通過聯盟博弈得到的。上傳的程序則通過matlab編程和仿真,實現了通過聯盟博弈求解協作模型的融合算法。
代碼片段和文件信息
clc
clear?all
%生成16個SU節點,橫坐標在行向量x中,縱坐標在行向量y中。生成1個PU節點,橫坐標為x0,縱坐標為y0。
x=3*rand(116)-1.5;
y=3*rand(116)-1.5;
x0=0;
y0=0;
plot(xy‘rx‘x0y0‘bo‘)
grid?on;
A={‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘‘10‘‘11‘‘12‘‘13‘‘14‘‘15‘‘16‘};
text(xyA);
%設置各種參數
lambda=13;
m=5;
P0=0.1;
for?i=1:1:length(x)
????P(i)=0.01;
end
sigma=10^(-6);
mu=3;
K=1;
alpha=0.1;
%求各節點的Pm(i)和Pf(i)
for?i=1:1:length(x)
????Pf0=gammainc(mlambda/2)/gamma(m);
????Pf(i)=Pf0;
????sum0=0;
????sum1=0;
????d(i)=sqrt((x(i)-x0)^2+(y(i)-y0)^2)*1000;
????h(i)=K/d(i)^mu;
????snr(i)=P0*h(i)/sigma^2;
????for?n=0:1:m-2
????????sum0=sum0+1/factorial(n)*(lambda/2)^n;
????end
????for?n=0:1:m-2
????????sum1=sum1+1/factorial(n)*(lambda*(snr(i)/2/(1+snr(i))))^n;
????end
????Pm(i)=1-exp(-lambda/2)*sum0-(1+1/snr(i))^(m-1)*(exp(-lambda/2/(snr(i)+1))-exp(-lambda/2)*sum1);
end
%初始化循環判斷參數
S={[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16]};?????%初始化時,每個節點為一個聯盟
B=cell(116);???????????????????????????????????????????????????????????????????%另外賦予一個變量,用來作為融合結束的標志
M_max=log10(1-alpha)/log10(1-Pf0);??????????????????????????????????????????????%每個聯盟最多的節點數
for?i=1:1:length(x)
????for?j=1:1:length(x)
????????d(ij)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2)*1000;
????????h(ij)=K/d(ij)^mu;
????????snr(ij)=P(i)*h(ij)/sigma^2;
????????Pe(ij)=1/2*(1-sqrt(snr(ij)/(1+snr(ij))));
????end
end
for?i=1:1:length(x)
????Pe(ii)=0;
end
%進行聯盟融合
while?isequal(BS)==0
????B=S;
????B
for?i=1:1:size(S2)-1
????%求出Si這個聯盟的檢測概率、虛警概率以及效用函數
????if?i>size(S2)-1
????????break;
????end
????[s]=deal(S{i});????????????????????????????????%把S這個單元數組的第i個,即Si這個聯盟的元素賦給s這個向量
????[Pm_max_icoo_i]=max(Pm(s(:)));????????????????%coo_i的值是s這個向量中的坐標,必須要轉換成其值才可以
????certer_i=s(coo_i);
????Qm_i=1;
????Qf_i=1;
????for?k=1:1:length(s)?
????????Qm_i=Qm_i*(Pm(s(k))*(1-Pe(s(k)certer_i))+(1-Pm(s(k)))*Pe(s(k)certer_i));
????????Qf_i=Qf_i*((1-Pf0)*(1-Pe(s(k)certer_i))+Pf0*Pe(s(k)certer_i));
????end
????Qf_i=1-Qf_i;
????if?Qf_i ????????CQf_i=-alpha^2*log10(1-(Qf_i/alpha)^2);
????else
????????CQf_i=Inf;
????end
????V_i=1-Qm_i-C
- 上一篇:雷達信號處理流程
- 下一篇:過程控制及其MATLAB實現(第2版)】源代碼
評論
共有 條評論