m分集2跳OFDM系统中基于功率分配和子载波配对算法的信道容量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_Times

for Ts = 1:Time_Slot

Cha      = 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);

%载波被某一跳占用,将所有跳上的该载波信道因子设为0

Cha(:,ind)             = 0;     

end

while 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     

end

for 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);

end

C1s(q) = SB/(2*Num_sc)*sum(C1);

end

PA_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 pairing

Num_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);

end

C1s(q) = SB/(2*Num_sc)*sum(C1);

end

uPA_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_Times

Num_sc1 = randperm(Num_sc);

Num_sc2 = randperm(Num_sc);

for kk = 1:Num_sc

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));

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);

end

C1s(q) = SB/(2*Num_sc)*sum(C1);

end

uPA_Wo_P(Ss) = mean(C1s)/1e6;

end

01_064_m

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容