基于博弈论的频谱分配的matlab程序

2019-04-17 00:22

是认知无线电场景下,基于博弈论的频谱分配的matlab程序-Cognitive radio scenario, based on game theory matlab spectrum allocation process clc

clear all B=15;

BER=10^(-4);

K=1.5/(logm(0.2/BER)); SNR=[8,10]; k=log2(1+K.*SNR); r1=10; r2=12; x=0; y=1; z=1; % b=[0,0];

% c=x+y*(sum(b)); % p=r.*k.*b-b.*c;

a(1)=0.001; fori=1:300 a(2)=0.001; for j=1:300

eigenvalue(1)=1-10/3*(2*a(1)*k(1)-a(1)*k(2)+2*a(2)*k(2)-a(2)*k(1))+10/3*((a(1)*(k(2)-2*k(1))*a(2)*(k(1)-2*k(2))+(2*a(2)*k(2)-a(2)*k(1)-2*a(1)*k(1)+a(1)*k(2))^2)^(0.5));

eigenvalue(2)=1-10/3*(2*a(1)*k(1)-a(1)*k(2)+2*a(2)*k(2)-a(2)*k(1))-10/3*((a(1)*(k(2)-2*k(1))*a(2)*(k(1)-2*k(2))+(2*a(2)*k(2)-a(2)*k(1)-2*a(1)*k(1)+a(1)*k(2))^2)^(0.5)); if

(eigenvalue(1)<1)&&(eigenvalue(1)>-1)&&(eigenvalue(2)<1)&&(eigenvalue(2)>-1) a(2)=a(2)+0.002; end end

if a(2)>0

a(2)=a(2)-0.002; else a(2)=0; end

f2(i)=a(2); f1(i)=a(1);

a(1)=a(1)+0.002; end

figure(1)

plot(f1,f2,'--r') axis([0,0.25,0,0.25]) hold on B=15;

BER=10^(-4);

K=1.5/(logm(0.2/BER)); SNR=[10,10]; k=log2(1+K.*SNR); r1=10; r2=12; x=0; y=1; z=1; % b=[0,0];

% c=x+y*(sum(b)); % p=r.*k.*b-b.*c;

a(1)=0.001; fori=1:300 a(2)=0.001; for j=1:300

eigenvalue(1)=1-10/3*(2*a(1)*k(1)-a(1)*k(2)+2*a(2)*k(2)-a(2)*k(1))+10/3*((a(1)*(k(2)-2*k(1))*a(2)*(k(1)-2*k(2))+(2*a(2)*k(2)-a(2)*k(1)-2*a(1)*k(1)+a(1)*k(2))^2)^(0.5));

eigenvalue(2)=1-10/3*(2*a(1)*k(1)-a(1)*k(2)+2*a(2)*k(2)-a(2)*k(1))-10/3*((a(1)*(k(2)-2*k(1))*a(2)*(k(1)-2*k(2))+(2*a(2)*k(2)-a(2)*k(1)-2*a(1)*k(1)+a(1)*k(2))^2)^(0.5)); if

(eigenvalue(1)<1)&&(eigenvalue(1)>-1)&&(eigenvalue(2)<1)&&(eigenvalue(2)>-1) a(2)=a(2)+0.002; end end

if a(2)>0

a(2)=a(2)-0.002; else a(2)=0; end

f2(i)=a(2); f1(i)=a(1); a(1)=a(1)+0.002; end

figure(1)

plot(f1,f2,'-.*b') axis([0,0.25,0,0.25]) B=15;

BER=10^(-4);

K=1.5/(logm(0.2/BER)); SNR=[10,8]; k=log2(1+K.*SNR); r1=10; r2=12; x=0; y=1; z=1; % b=[0,0];

% c=x+y*(sum(b)); % p=r.*k.*b-b.*c;

a(1)=0.001; fori=1:300 a(2)=0.001; for j=1:300

eigenvalue(1)=1-10/3*(2*a(1)*k(1)-a(1)*k(2)+2*a(2)*k(2)-a(2)*k(1))+10/3*((a(1)*(k(2)-2*k(1))*a(2)*(k(1)-2*k(2))+(2*a(2)*k(2)-a(2)*k(1)-2*a(1)*k(1)+a(1)*k(2))^2)^(0.5));

eigenvalue(2)=1-10/3*(2*a(1)*k(1)-a(1)*k(2)+2*a(2)*k(2)-a(2)*k(1))-10/3*((a(1)*(k(2)-2*k(1))*a(2)*(k(1)-2*k(2))+(2*a(2)*k(2)-a(2)*k(1)-2*a(1)*k(1)+a(1)*k(2))^2)^(0.5)); if

(eigenvalue(1)<1)&&(eigenvalue(1)>-1)&&(eigenvalue(2)<1)&&(eigenvalue(2)>-1) a(2)=a(2)+0.002; end end

if a(2)>0

a(2)=a(2)-0.002; else a(2)=0;

end

f2(i)=a(2); f1(i)=a(1); a(1)=a(1)+0.002; end

figure(1)

plot(f1,f2,'-g') axis([0,0.25,0,0.25]) B=15;

BER=10^(-4);

K=1.5/(logm(0.2/BER)); SNR=[7,7];

k=log2(1+K.*SNR); r1=10; r2=12; x=0; y=1; z=1; % b=[0,0];

% c=x+y*(sum(b)); % p=r.*k.*b-b.*c;

a(1)=0.001; fori=1:300 a(2)=0.001; for j=1:300

eigenvalue(1)=1-10/3*(2*a(1)*k(1)-a(1)*k(2)+2*a(2)*k(2)-a(2)*k(1))+10/3*((a(1)*(k(2)-2*k(1))*a(2)*(k(1)-2*k(2))+(2*a(2)*k(2)-a(2)*k(1)-2*a(1)*k(1)+a(1)*k(2))^2)^(0.5));

eigenvalue(2)=1-10/3*(2*a(1)*k(1)-a(1)*k(2)+2*a(2)*k(2)-a(2)*k(1))-10/3*((a(1)*(k(2)-2*k(1))*a(2)*(k(1)-2*k(2))+(2*a(2)*k(2)-a(2)*k(1)-2*a(1)*k(1)+a(1)*k(2))^2)^(0.5)); if

(eigenvalue(1)<1)&&(eigenvalue(1)>-1)&&(eigenvalue(2)<1)&&(eigenvalue(2)>-1) a(2)=a(2)+0.002; end end

if a(2)>0

a(2)=a(2)-0.002;

else a(2)=0; end

f2(i)=a(2); f1(i)=a(1); a(1)=a(1)+0.002; end

figure(1)

plot(f1,f2,'-.y') axis([0,0.25,0,0.25]) B=15;

BER=10^(-4);

K=1.5/(logm(0.2/BER)); SNR=[8,8];

k=log2(1+K.*SNR); r1=10; r2=12; x=0; y=1; z=1; % b=[0,0];

% c=x+y*(sum(b)); % p=r.*k.*b-b.*c;

a(1)=0.001; fori=1:300 a(2)=0.001; for j=1:300

eigenvalue(1)=1-10/3*(2*a(1)*k(1)-a(1)*k(2)+2*a(2)*k(2)-a(2)*k(1))+10/3*((a(1)*(k(2)-2*k(1))*a(2)*(k(1)-2*k(2))+(2*a(2)*k(2)-a(2)*k(1)-2*a(1)*k(1)+a(1)*k(2))^2)^(0.5));

eigenvalue(2)=1-10/3*(2*a(1)*k(1)-a(1)*k(2)+2*a(2)*k(2)-a(2)*k(1))-10/3*((a(1)*(k(2)-2*k(1))*a(2)*(k(1)-2*k(2))+(2*a(2)*k(2)-a(2)*k(1)-2*a(1)*k(1)+a(1)*k(2))^2)^(0.5)); if

(eigenvalue(1)<1)&&(eigenvalue(1)>-1)&&(eigenvalue(2)<1)&&(eigenvalue(2)>-1) a(2)=a(2)+0.002; end end

if a(2)>0

a(2)=a(2)-0.002; else a(2)=0; end

f2(i)=a(2); f1(i)=a(1); a(1)=a(1)+0.002; end

figure(1)

plot(f1,f2,'om') axis([0,0.25,0,0.25])

legend('r1=8dB,r2=10dB','r1=10dB,r2=10dB','r1=10dB,r2=8dB','r1=7dB,r2=7dB','r1=8dB,r2=8dB') xlabel('a1') ylabel('a2')

0.25r1=8dB,r2=10dBr1=10dB,r2=10dBr1=10dB,r2=8dBr1=7dB,r2=7dBr1=8dB,r2=8dB 0.20.15a20.10.050 00.050.1a10.150.20.25


基于博弈论的频谱分配的matlab程序.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:张明楷:论三角诈骗

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: