目录

1.算法描述

2.仿真效果预览

3.MATLAB部分代码预览

4.完整MATLAB程序


1.算法描述

随着当代无线通信事业的迅猛发展,无线频谱资源已显得越来越匮乏,传统固定静态的无线频谱分配模式和策略,很难为未来的无线通信事业的进一步发展提供更多可利用的无线频谱带宽和更高的频谱利用率。认知无线电技术是实现动态频谱机会接入并有效解决无线频谱资源匮乏问题的关键技术之一;正交频分复用技术具有抗多径干扰与抗频率选择性衰落能力强,以及频谱利用率高等优点,使其成为实现认知无线电系统的理想备选方案之一。功率分配不但是传统正交频分复用系统中的关键核心技术,而且还是认知无线电系统中频谱分析与判决的重要手段。在认知无线电系统中,认知用户通信链路信道容量的最大化,同样也需要深化对功率分配的研究。本文针对正交频分复用调制子载波的IEEE802.11a下行链路的认知无线电系统,进行了发射功率分配算法研究。

本课题,我们参考文献《Power Allocation and Subcarrier Pairing Algorithm
for Regenerative OFDM Relay System》对OFDM的功率分配和子载波配对算法的信道容量进行matlab仿真分析研究。

随着无线通信的飞速发展,所需要的无线频谱资源越来越多,当前频谱资源已显得越来越缺乏。认知无线电提供了一种按伺机的方式共享和利用频谱的手段,可以有效地解决这一问题。认知无线电技术通过智能感知通信环境中未使用的频谱,并加以利用来提高频谱的利用效率。OFDM的频谱利用效率高,并且抗频率选择性衰落特性强,已成为4G的主要应用技术。随着人们对通讯业务和质量的要求不断提高,OFDM技术的应用也越来越广泛。OFDM系统为了实现系统容量最大化通常会对系统用户进行合理的功率分配,因此功率分配是OFDM系统的关建技术之一。

在基于OFDM的认知无线电系统中,授权用户会受到认知用户带内子载波带外旁瓣泄漏功率的干扰。这里引入了功率控制参数来调整授权用户的干扰功率约束值,提出了一种认知用户子载波间的最优功率分配算法,通过求解一个凸优化问题来获得最优的功率分配方案。仿真结果表明:与其他算法相比,采用该方法获得的功率分配方案,在满足授权用户干扰功率约束值的条件下,可以使认知用户的信道容量最大化。

为了使N路子信道信号在接收时能够完全分离,需要满足在每个码元持续时间Ts内,任意两个载波相互正交。三角函数系{1,sint,cost,...,sinnt,cosnt,...}满足任意两个不同函数之间相互正交(在[−π,π]内两个不同函数乘积积分为0),利用这一性质,可以得到彼此相互正交的载波。从时域上来看,发送端信号在空间中的叠加可以写作:

从复数形式上可以看出,当对时间t进行离散化,OFDM其实就是对各路子载波上的传输信号(Bi)进行了求傅里叶反变换的操作,OFDM在进行调制时也是利用IFFT模块实现的。

从频域上来看OFDM。调制时,时域上是一个正弦载波和一个码元波形(门函数)的乘积,频域上体现的是对门函数频谱的搬移(门函数的频谱为sinc函数),OFDM为了保证载波的正交性,最小子载频间隔Δf=1Ts。

2.仿真效果预览

matlab2022a仿真结果如下:

3.MATLAB部分代码预览

%%
%不分集OFDM的功率分配不带子载波配对算法下的信道容量;
%PA without pairing without diversity
C1  = 0;
C1s = 0;
for Ss = 1:length(Dist_Tx_Rn)Ss%利用蒙特卡洛算法思想,进行多次的循环,再计算平均for q=1:Simu_Timesfor Ts = 1:Time_SlotCha      = 0.5e-1*random('rayleigh',1,N_hop/Time_Slot,Num_sc);Sub      = zeros(N_hop/Time_Slot,Num_sc);%每跳的子载波分布向量Capacity = zeros(1,N_hop/Time_Slot);     %定义容量向量for i=1:N_hop/Time_Slot%每一跳噪声设定n0        = randn(1,10000)*sqrt(SCB*0.5e-10);      N0        = std(n0,1,2)^2/SCB;%选择其中的min值[a,ind]   = min(Cha(:,Time_Slot));   %将选中的载波的信道因子赋值给该跳的子载波分布向量Sub(i,ind)= a;                      %进行注水功率分配[Capacity1(i),Powers1] = pwrallo(SP,Sub(i,:),SCB,N0,gammar); %载波被某一跳占用,将所有跳上的该载波信道因子设为0Cha(:,ind)             = 0;     endwhile max(Cha(:))> 0               %判断是否有未分配的载波,有的话继续分配[b,indexmin] = min(Capacity1);  %找出速率最小的跳i            = indexmin;[c,indexmax] = max(Cha(i,:)); %给最小的跳分配载波k            = indexmax;Sub(i,k)     = c;[Capacity1(i),Powers1] = pwrallo(SP,Sub(i,:),SCB,N0,gammar);Cha(:,k)     = 0;end     endfor kk = 1:length(Powers1)h1k    = func_h1(Delay,Gain,Num_sc,SB,Dist_Tx_Rn(Ss),Path_loss_factor(2),kk);h2k    = func_h2(Delay,Gain,Num_sc,SB,Dist_Tx_Rn(Ss),Path_loss_factor(3),kk);delta  = (SNR)^2/2;a1k    = (abs(h1k))^2/delta;a2k    = (abs(h2k))^2/delta;Pk     = Powers1(kk)+1/((a1k*a2k)/(a1k+a2k));C1(kk) = log2(1 + (a1k*a2k)/(a1k+a2k)*Pk); endC1s(q) = SB/(2*Num_sc)*sum(C1); endPA_Wo_P(Ss) = mean(C1s)/1e6;
end
%**************************************************************************
%**************************************************************************
%**************************************************************************
%************************************************************************** %%
%不分集OFDM的均匀功率分配带子载波配对算法下的信道容量;
%uniform PA without pairing without diversity
for Ss = 1:length(Dist_Tx_Rn)Ss%利用蒙特卡洛算法思想,进行多次的循环,再计算平均for q=1:Simu_Times%通过注水法得到的每个Powers1,然后进行sub_carrier pairing%通过注水法得到的每个Powers1,然后进行sub_carrier pairingNum_sc1 = randperm(Num_sc);Num_sc2 = randperm(Num_sc);        for kk = 1:length(Num_sc2)h1k(kk)= func_h1(Delay,Gain,Num_sc,SB,Dist_Tx_Rn(Ss),Path_loss_factor(2),Num_sc1(kk));h2k(kk)= func_h2(Delay,Gain,Num_sc,SB,Dist_Tx_Rn(Ss),Path_loss_factor(3),Num_sc2(kk));hk(kk) = h1k(kk)*h2k(kk)/(h1k(kk) + h2k(kk));delta  = (SNR)^2/2;a1k(kk)= (abs(h1k(kk)))^2/delta;a2k(kk)= (abs(h2k(kk)))^2/delta;end%排序A1k = sort(a1k);A2k = sort(a2k);for kk = 1:Num_sc%均匀分配Pk      = SP/Num_sc;tmp1(kk)=(A1k(kk)*A2k(kk))/(A1k(kk)+A2k(kk));C1(kk)  = log2(1 + tmp1(kk)*Pk); endC1s(q) = SB/(2*Num_sc)*sum(C1); enduPA_W_P(Ss) = mean(C1s)/1e6;
end
%**************************************************************************
%**************************************************************************
%**************************************************************************
%**************************************************************************%%
%不分集OFDM的均匀功率分配不带子载波配对算法下的信道容量;
%uniform PA without pairing without diversity
for Ss = 1:length(Dist_Tx_Rn)Ss%利用蒙特卡洛算法思想,进行多次的循环,再计算平均for q=1:Simu_TimesNum_sc1 = randperm(Num_sc);Num_sc2 = randperm(Num_sc);for kk = 1:Num_sch1k(kk)    = func_h1(Delay,Gain,Num_sc,SB,Dist_Tx_Rn(Ss),Path_loss_factor(2),Num_sc1(kk));h2k(kk)    = func_h2(Delay,Gain,Num_sc,SB,Dist_Tx_Rn(Ss),Path_loss_factor(3),Num_sc2(kk));delta      = (SNR)^2/2;a1k(kk)    = (abs(h1k(kk)))^2/delta;a2k(kk)    = (abs(h2k(kk)))^2/delta;%均匀分配Pk         = SP/Num_sc;tmp2(kk)   =(a1k(kk)*a2k(kk))/(a1k(kk)+a2k(kk));C1(kk)     = log2(1 + tmp2(kk)*Pk); endC1s(q) = SB/(2*Num_sc)*sum(C1); enduPA_Wo_P(Ss) = mean(C1s)/1e6;
end
01_064_m

4.完整MATLAB程序

matlab源码说明_我爱C编程的博客-CSDN博客

V

m分集2跳OFDM系统中基于功率分配和子载波配对算法的信道容量matlab仿真相关推荐

  1. OFDM系统中基于dmrs导频的时间跟踪、频率跟踪算法

    目录 发射端模型假设 接收端模型假设 时延估计(时间跟踪) 频偏估计(频率跟踪) 在OFDM系统中,为了估计出信号传输遇到的时间偏移和频率偏移,可以采用导频进行估计. 发射端模型假设 我们假设如下模型 ...

  2. 【分集/不分集OFDM】分集/不分集多跳OFDM信道容量,分别考虑功率分配带子载波配对,功率分配不带子载波配对等

    1.软件版本 matlab2017b 2.本算法理论知识 [1] Ying W ,  Qu X C ,  Tong W , et al. Power Allocation and Subcarrier ...

  3. linux进程看门狗使用方式,Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法...

    Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法 [技术领域] [0001] 本发明涉及Linux系统的进程监控技术领域,特别是涉及一种Linux系统中基于看 门狗的精细化进程监控方法及 ...

  4. 校内实验六,Windows系统中基于用户名密码的身份认证

    Windows系统中基于用户名密码的身份认证 一.实验目的 二.实验环境及原理 三.实验内容 1 检查和删除不必要的账户 2 禁用guest用户. 3 设置帐户/密码登录身份认证 4 匿名Admini ...

  5. matlab仿真ofdm的ccdf,OFDM系统峰均比降低算法的研究+Matlab仿真(6)

    OFDM系统峰均比降低算法的研究+Matlab仿真(6) 时间:2016-11-28 22:19来源:毕业论文 2.2.5 自适应技术 自适应调制技术在OFDM系统中也占有非常重要的地位,其调制思想是 ...

  6. SVPWM仿真和基于DSP28335的PIL(处理器在环) 仿真模型(将matlab仿真算法生成代码在DSP中在线运行返回数据给Matlab)验证算法可行性和实时性

    SVPWM仿真和基于DSP28335的PIL(处理器在环) 仿真模型(将matlab仿真算法生成代码在DSP中在线运行返回数据给Matlab)验证算法可行性和实时性. 对于数字信号处理很有用. ID: ...

  7. 社会网络中基于标签传播的社区发现新算法

    社会网络中基于标签传播的社区发现新算法 文章发表时间 :2012年3月 1. 本文贡献 提出了基于标签影响值的社区发现发算法,在接近线性的时间复杂度下,选取一个小的顶点集合作为种子集进行传播 综合考虑 ...

  8. WCDMA系统中的功率控制分类

    通信系统关注的两类问题:带宽的有效性和功率的利用率:扩频系统中带宽的有效性不是主要关心的问题:而功率控制的主要目的是使得整个系统达到更好的服务质量: 习惯将WCDMA系统中的功率控制做如下分类: 1. ...

  9. m基于RBF神经网络和BP神经网络的信道估计误码率matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 在无线通信系统中,从发射端发射的信号,经过直射.反射.散射等路径到达接收端.在ofdm系统中,为了获 ...

最新文章

  1. 【QM-04】Inspection Characteristic(检验特征)
  2. 板邓:wordpress自定义登录页面实现用户登录
  3. 22. 括号生成 golang 图解
  4. java全局机制,java实现全局异常机制
  5. 默认帐户生成器帐户来源
  6. 三步法助你快速定位网站性能问题
  7. Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题)
  8. Codeforces Round #275 (Div. 2)
  9. python fsolve说明_python fsolve说明_Python fsolve()抱怨形状.为什么?
  10. python实现一个简单的tftp客户端
  11. 方正台式计算机保护卡密码忘记了,方正电脑E系列忘记还原卡密码处理方法
  12. 计算机id换系统会变吗,小雷问答丨手机恢复出厂设置后会变成最原始的系统吗?...
  13. 外企计算机英语,职场英语:外企生存十大必备英语词汇
  14. 浏览器被hao123劫持首页处理
  15. 云南开放大学《机械制造基础-形考作业1-6(主观题)》
  16. RECON-NG介绍及使用
  17. ​居家?如何获得一个公网IP​
  18. Chinese Segmentation Introduction
  19. iOS | 模拟器调试Web控制台空白问题及解决
  20. 无聊,几行python代码写一个聊天机器人陪你聊天

热门文章

  1. 国密SM9算法C++实现之八:密钥交换算法
  2. SVM支持向量机的推导(非常详细)
  3. 反掩码、掩码、通配符
  4. Windows安装Go语言开发环境+配置
  5. 空间分析:3-2.geoda地图与探索分析
  6. 微软面试程序题100道
  7. 卡在Successfully installed Python 2.7
  8. 交换机的配置、工作原理以及管理MAC地址表
  9. .NET性能系列文章一:.NET7的性能改进
  10. b360m能插HTML,终于可以愉快装第八代平台了,那么首发B360主板都有哪些?