目录
1.程序功能描述
2.测试软件版本以及运行结果展示
3.核心程序
4.本算法原理
5.完整程序
1.程序功能描述
基于二次规划优化的OFDM系统PAPR抑制算法的matlab仿真.
2.测试软件版本以及运行结果展示
MATLAB2022A版本运行
(完整程序运行后无水印)
3.核心程序
..............................................................
% 平均化迭代结果
for i=1:Cols+1
Rcell2{i}=Rcell2{i}./MIters;
end
% 对RE中的数据进行排序
for i=1:Cols
Rcell1{i}=sort(Rcell1{i});
end
y = 1-linspace(0,1,MIters);
x1 = sort(PAPR);
x2 = sort(Rcell1{1});
x3 = sort(Rcell1{2});
x4 = sort(Rcell1{3});
% 绘制PAPR的累积分布函数图
figure(1)
semilogy(x1(2:5:end),y(2:5:end),'-bs',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
semilogy(x2(2:5:end),y(2:5:end),'-mo',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.5,0.9,0.0]);
hold on
semilogy(x3(2:5:end),y(2:5:end),'-b^',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.2,0.9,0.5]);
hold on
semilogy(x4(2:5:end),y(2:5:end),'-r>',...
'LineWidth',1,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.9,0.0]);
grid on
xlabel('PAPR(dB)')
ylabel('CCDF')
legend('优化前','k=1','k=2','UC-CMA')
% 绘制迭代次数与PAPR关系图
figure(2)
plot(0:Iters1,Rcell2{1},'-b',...
'LineWidth',2,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.9,0.0,0.0]);
hold on;
plot(0:Iters1,Rcell2{2},'-m',...
'LineWidth',2,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.5,0.9,0.0]);
hold on;
plot(0:Iters1,Rcell2{3},'-r',...
'LineWidth',2,...
'MarkerSize',6,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[0.2,0.9,0.5]);
legend('k=1','k=2','UC-CMA')
xlabel("iterations")
ylabel("PAPR")
69
4.本算法原理
OFDM(Orthogonal Frequency Division Multiplexing,正交频分复用)技术因其高效的数据传输能力和抗多径衰落能力,在现代无线通信系统中被广泛应用。然而,OFDM信号的一个显著缺点是高峰均功率比(Peak-to-Average Power Ratio, PAPR)。高PAPR不仅会导致射频放大器的非线性失真,还会降低电源效率。因此,PAPR的抑制成为了OFDM系统设计中的一个重要课题。基于二次规划(Quadratic Programming, QP)优化的PAPR抑制算法,通过优化信号波形来降低PAPR,是研究者们探索的有效途径之一。
OFDM信号的瞬时功率是子载波信号的叠加,其PAPR定义为信号的最大瞬时功率与平均功率之比。设原始OFDM信号为s=[s0,s1,...,sN−1]T,其中N是子载波数,sn表示第n个子载波的复数值。PAPR定义为:
为了降低PAPR,可以对原始OFDM信号s进行预编码,通过乘以一个复数权重向量w=[w0,w1,...,wN−1]T,得到预编码后的信号x=s∘w,其中∘∘表示元素乘。目标是找到最优的w,使得x的PAPR尽可能小,同时保持数据的完整性。这可以通过最小化PAPR的某种度量来实现,比如最小化最大瞬时功率与平均功率之比的倒数,即最大化:
然而,直接最大化上述比例并不方便,实践中更常见的是最小化最大瞬时功率,或者直接最小化某个PAPR阈值以上的概率。一个常用的策略是通过二次规划来最小化信号的最大功率,同时约束信号的重构误差。设F为OFDM系统的IDFT矩阵,则预编码信号x通过IDFT变换后的时域信号d=Fx。约束信号重构误差接近原信号,即:
由于直接求解最大值在优化问题中不便利,通常转换为等效的最小化问题,且考虑到直接约束∣wn∣=1可能导致优化问题非凸,实际中常采用松弛约束∣wn∣≤1,然后通过投影等后处理保证相位旋转的特性。
5.完整程序
VVV