首页 > 编程语言 >基于gamebased算法的动态频谱访问matlab仿真

基于gamebased算法的动态频谱访问matlab仿真

时间:2022-11-04 11:02:23浏览次数:71  
标签:频谱 hPE2 log2 gamebased matlab Ppu pj tmp Psu

目录

一、理论基础

二、核心程序

三、测试结果

一、理论基础

随着越来越多的新型无线应用,对频谱资源的需求越来越大。在这种情况下,这是举世公认的认知无线电的出现已经成为一种很有前途的方式解决频谱资源有限的问题。在认知无线电网络(CRN)中,未经授权的用户,在次要用户对主要用户的干扰在可接受水平的情况下,允许动态访问频谱。考虑的场景和系统假设:

 

 

 

我们考虑一个动态频谱接入网,它由一个主用户对和两个辅助用户组成。具体地说,我们将主发射机和接收机分别表示为pu t和pur。两个次要用户(记作A和B)将它们的包传输到认知基站(CBS)。该配置可以扩展到多辅助用户,这不是本文的重点。此外,还有一个窃听者,记作E,试图拦截主传输。假设每个节点都有一个全向天线。

将节点间信道增益建模为独立的复高斯随机变量。更具体地说,链路的瞬时信道系数P U t − P Ur, P U t − E, A − E, B − E, B −P Ur, A − P Ur, B − CBS, A − CBS被独立的表示为hp, hP E, hAE, hBE, hBP , hAP , hB, hA。独立的加性高斯白噪声在P Ur, E, CBS对A和B来说表示为np, ne, nA, nB, 方差为σ2p, σ2e,σ2A, σ2B,我们表示用户的发射功率A (or B) 为Ppu and Psu。在具有相同的优先级情况下,合理的假设次要用户A和B具有相同的传输能力。

针对频谱覆盖系统的物理层安全问题,提出了一种基于游戏的干扰方法。为了全面捕捉主用户服务的特点,采用了连续时间马尔可夫链,从而清晰地构建了信道状态转换。二次系统干扰合作的激励因素是调整一次用户的负载因子。采用基于神经网络的干扰方法,不需要对窃听者的CSI进行检测。此外,还设计了概率干扰机制,为游戏参与者提供了更多的自由度。

二、核心程序

.......................................
hP2 = 0.5;
hPE2_= 0.5;
hA2 = 0.5;
hB2 = 0.5;
hAE2 = 0.5;
hBE2 = 0.5;
hAP = 0.1;
hBP = 0.1;
SNR = [6:2:30];
hPE2_= [0.1:0.1:0.9];
dA = 0.9;
dB = 0.9;
dP = 0.9;
dE = 0.9;
Ppu = 4;
c = 0.2;
p_ = zeros(size(hPE2_));
Prate = zeros(size(hPE2_));
for i = 1:length(hPE2_)
Psu_tmp = 3;
hPE2 = hPE2_(i);
hi = [hA2,hB2];
di = [dA,dB];
R1 = max(log2(1+Ppu*hP2/dP) - log2(1+Ppu*hPE2/(Psu_tmp*hAE2 + Psu_tmp*hBE2 + dE)),0);
R2 = max(log2(1+Ppu*hP2/dP) - log2(1+Ppu*hPE2/(dE)),0);
gamma= max([hi./di]);
%干扰信号由概率pj
tmps = 0;
tmps2= 0;
for jj = 1:5000
pj = 0.8+rand/5;
up_uplp = 0.18;
pi1 = up_uplp;
pi2 = (1-up_uplp)*(1-pj);
pi3 = (1-up_uplp)*pj;
Up = pi2*R2 + pi3*R1;
Rsu = max([1+Psu_tmp*hi./di]);
Us = pi1*Rsu - 2*c*Psu_tmp*pi3;
%根据us反推p,Psu最大的时候,对应的Us的值
Up = Us;
PP = Up/((1-pj)*R2 + pj*(log2(1+Ppu*hP2/dP)-log2(1+Ppu*hPE2/(Psu_tmp*hAE2 + Psu_tmp*hBE2 + dE))));
tmps = abs(PP);
Px(jj) = (1-tmps)/tmps;
Psuss = max(1/(2*log(2)*c*Px(jj)*pj) - 1/gamma,0);
%计算Secondary users’ utility
R = max(log2(1+Ppu*hP2/dP) - log2(1+Ppu*hPE2/(Psuss*hAE2 + Psuss*hBE2 + dE)),0);
Rsu = max(log2(1+Psuss*hi(1)./di(1)),log2(1+Psuss*hi(2)./di(2)));
Us = (pi1*Rsu - 2*c*Psu_tmp*pi3);
tmps2 = tmps2+1+Us;
end
tmps2 = tmps2/5000;
Prate(i) = tmps2;
end
figure;
plot(hPE2_,Prate,'b-o');
hold on
%下面是简化后的power controller
Prate = zeros(size(hPE2_));
for i = 1:length(hPE2_)
Psu_tmp = 3;
hPE2 = hPE2_(i);
hi = [hA2,hB2];
di = [dA,dB];
R1 = max(log2(1+Ppu*hP2/dP) - log2(1+Ppu*hPE2/(Psu_tmp*hAE2 + Psu_tmp*hBE2 + dE)),0);
R2 = max(log2(1+Ppu*hP2/dP) - log2(1+Ppu*hPE2/(dE)),0);
gamma= max([hi./di]);
%干扰信号由概率pj
tmps = 0;
tmps2= 0;
for jj = 1:5000
pj = 0.8+rand/5;
up_uplp = 0.18;
pi1 = up_uplp;
pi2 = (1-up_uplp)*(1-pj);
pi3 = (1-up_uplp)*pj;
Up = pi2*R2 + pi3*R1;
Rsu = max([1+Psu_tmp*hi./di]);
Us = pi1*Rsu - 2*c*Psu_tmp*pi3;
Up = Us;
PP = Up/((1-pj)*R2 + pj*(log2(1+Ppu*hP2/dP)-log2(1+Ppu*hPE2/(Psu_tmp*hAE2 + Psu_tmp*hBE2 + dE))));
tmps = abs(PP);
Px(jj) = (1-tmps)/tmps;
Psuss = max(1/(2*log(2)*c*Px(jj)*pj) - 1/gamma,0);
%计算Secondary users' utility
Rsu = max(log2(1+Psuss*hi(1)./di(1)),log2(1+Psuss*hi(2)./di(2)));
Rsu = max([1+Psuss*hi./di]);
Us = (pi1*Rsu - 2*c*Psu_tmp*pi3);
tmps2 = tmps2+1+Us;
end
tmps2 = tmps2/5000;
Prate(i) = tmps2;
end
...


三、测试结果

 

 

 

 A01-176

标签:频谱,hPE2,log2,gamebased,matlab,Ppu,pj,tmp,Psu
From: https://www.cnblogs.com/matlabfpga/p/16856996.html

相关文章

  • matlab画三维图像
    当我们学习surface命令时,已经看到了三维作图的一些端倪。在matlab中我么可以调用mesh(x,y,z)函数来产生三维图像。首先,我们用z=cos(x)sin(y)在-2pi≤x,y≤2pi内的图像来......
  • Matlab学习——求解微分方程(组)
    介绍:1.在Matlab中,用大写字母D表示导数,Dy表示y关于自变量的一阶导数,D2y表示y关于自变量的二阶导数,依此类推.函数dsolve用来解决常微分方程(组)的求解问题,调用格......
  • 将Matlab中的矩阵写入txt文件的方法
    将Matlab中的矩阵写入txt文件的方法文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作......
  • matlab 分数阶混沌系统的完全同步控制
    1、内容简介625-可以交流、咨询、答疑2、内容说明分数阶微积分这一重要的数学分支,其诞生在1695年,几乎和经典微积分同时出现。那一年,德国数学家和法国数学家L'Hopital通信,......
  • 【WTMM】基于WTMM的图像多重分形谱matlab仿真
    1.软件版本matlab2013b2.系统程序提出一种新的多重分形图象去噪算法,讨论了基于小波极大模的多重分形谱估计算法.在此基础上推导了图像取噪声的谱移位算子.该方法没有......
  • 自适应噪声抑制算法LMSmatlab源码
    %filterparametersM=20;%numberoftapsmu=0.05;%step-sizeparametere_max=200;%maximum#ofepochs%constantspi=3.14;Fs=0.02;%signalfrequencyF......
  • 用MATLAB实现OFDM仿真分析
         para=128;fftlen=128;noc=128;nd=6;ml=2;sr=2500;br=sr.*ml;gilen=18;ebn0=3;%**************************主循环部分********************......
  • 基于RBF网络的信任值预测算法matlab仿真实现
    目录一、理论基础二、核心程序三、测试结果一、理论基础测试的数据集有三种趋势型(trend),周期型(seasonal)还有混乱型的(noisydata)。三种类型要做训练集增加的测试(increas......
  • Matlab中plot函数参数解析
    功能二维曲线绘图 语法1234567plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName',PropertyValue,...)plot(axes_hand......
  • Matlab Simulink仿真工具的应用
     招募大量matlab技术人员,有大量matlab需求订单,均为个人短期可以完成,有时间的朋友可以加我微信:nn505203,有需求也可以联系此微信。加好友备注博客园matlab技术即可。S......