PTS,SLM,Filter三种降低PAPR方法的matlab仿真

简介: PTS,SLM,Filter三种降低PAPR方法的matlab仿真

1.算法仿真效果
matlab2022a仿真结果如下:

9e2bbb7c972005641104da04aff3e673_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
18cfcfba0ca9757751fab2411c519aff_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png
aedc8a6da57ab6c805b0b62d248d5ced_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

     正交频分复用(OFDM)是长期演进的4G蜂窝网络标准中采用的调制技术。但是,OFDM具有较强的带外辐射和较高的旁瓣,对频谱的感知精度低下。未来的无线标准需要为下一代移动系统提出具有高传输数据速率和高频谱利用率的新调制技术。带有偏移正交幅度调制(OQAM)的滤波器组多载波调制(FBMC)作为未来第五代移动通信标准中的主要候选,已经引起了人们的关注。

   FBMC-OQAM是一种多载波技术,通过基于快速傅里叶逆变换/快速傅里叶变换的滤波器组和OQAM符号,能够以两倍FBMC/QAM的符号速率将实数符号载入子载波,因此具有较高的频谱效率。利用较小旁瓣的滤波器减小了载波频移,缓解了其对OFDM传输的影响,可以使频谱带外泄露特别低。因为FBMC-OQAM系统中没有插入循环前缀,所以具有高传输数据速率和高频谱利用率。然而,FBMC-OQAM与OFDM都是多载波调制技术,在符号传输过程中,由于多个子信道传输信号的叠加会产生较大的峰值,从而引起较高的峰均比(PAPR)。高PAPR导致非线性功率放大器中FBMC-OQAM性能的严重劣化,所以降低FBMC-OQAM系统的PAPR是下一代通信技术的一个主要问题。一般地,PAPR降低技术可以大致分为两大类——有失真技术和无失真技术。有失真技术包含压扩法技术(星座扩展法)和限幅类技术(消峰法),无失真技术包含编码类技术(分组编码)和概率类技术。概率类的解决方案如选择性映射(SLM)和部分传输序列(PTS)方案,主要是降低信号中高峰值出现的概率,而不是减少最大信号的幅度[4]。它们具有相对较低的复杂度,在边带信息恢复时不会影响误码率,因而更具优势。

2.1pts

   部分传输序列(Partial Transmit Sequence , PTS)由于其不受载波数量限制,并且能够有效的,无失真的降低OFDM信号峰均比,而受到广泛关注。部分传输序列算法(PTS)最初是由S.H.Muller和J.B.Huber于1997年提出。PTS算法的核心思想是将具有N个符号的输入序列按照一定的分割方式分割成V个子数据块,并且保持每个子数据块仍含有N个符号。然后对V个子数据块进行相位加权与合并处理,选择具有最小PAPR的一组符号进行传输,达到降低OFDM信号PAPR的目的。传统的PTS算法理论比较多,现成的资料也比较多,这里就不多做介绍了,通过仿真,对比PTS和没有PTS下。目前OFDM的PAPR主要算法有信号预畸变,信号扰码,编码三个方向来解决。

   在本课题中,我们将在传统PTS算法基础上引入了TR的思路到改进后的PTS算法中,引入的意义为:先预留出若干子载波来加载削峰信号,然后利用优化过的PTS算法对OFDM符号的PAPR进行抑制,之后再利用改进的TR算法对符号的PAPR进行进一步的抑制。整个算法的流程如下所示:

步骤一:加入门限,降低PTS算法的复杂度(但是这样会降低性能)

当满足要求:image.png

算法就停止搜索,这样的话,就降低的算法的复杂度,但是会影响性能。

步骤二:加入限幅的方法

d2275a46973c4e9a7b923e1023eb3275_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

通过这个方法,可以在步骤一的基础上,提高性能,使其在复杂度降低的前提下,保存系统的性能不变。

2.2SLM
  slm算法就是对QAM信号乘以U组相位因子序列,再进行ifft得到 U组ofdm信号,选择papr最小的那一组进行发送。
  因为对于ofdm信号而言,高PAPR出现的概率很小,一般1000个ofdm信号只会有个位数papr过高的值。那SLM方法对同一个QAM信号乘以N组相位后得到U个ofdm信号,从中选择PAPR最小的进行发送,就用概率的方法将高PAPR的ofdm信号滤出在外。

2.3 Filter

for nIter=1:ITERATE_NUM
    % Clipping
    x_tmp = x(Signal_Power>CR*Mean_Power);
    x_tmp = sqrt(CR*Mean_Power)*x_tmp./abs(x_tmp);
    x(Signal_Power>CR*Mean_Power) = x_tmp;
    
    % Filtering
    XX = fft(x,[],2);
    XX(K/2+(1:N-K)) = zeros(1,N-K);
    x = ifft(XX,[],2); 
    
    % PAPR Compute
    Signal_Power = abs(x.^2);
    Peak_Power   = max(Signal_Power,[],2);
    Mean_Power   = mean(Signal_Power,2);
    PAPR_RCF(nIter,nSymbol) = 10*log10(Peak_Power./Mean_Power);
end

3.MATLAB核心程序

N = 4;                                                                      
QPSK_Set  = [1 -1 j -j];
Phase_Set = [1 -1];
MAX_SYMBOLS  = 1e5;
PAPR_Orignal = zeros(1,MAX_SYMBOLS);
PAPR_SLM     = zeros(1,MAX_SYMBOLS);
X     = zeros(N,K);
Index = zeros(N,K);
for nSymbol=1:MAX_SYMBOLS
    Index(1,:)   = floor(length(QPSK_Set)*rand(1,K))+1;
    Index(2:N,:) = floor(length(Phase_Set)*rand(N-1,K))+1;
    
    X(1,:) = QPSK_Set(Index(1,:));                                                                    
......................................................
    x = ifft(X,[],2);                                                       
    Signal_Power = abs(x.^2);
    Peak_Power   = max(Signal_Power,[],2);
    Mean_Power   = mean(Signal_Power,2);
    
    PAPR_temp = 10*log10(Peak_Power./Mean_Power);
    PAPR_Orignal(nSymbol) = PAPR_temp(1);
    PAPR_SLM(nSymbol)     = min(PAPR_temp);
end
[cdf1, PAPR1] = ecdf(PAPR_Orignal);
[cdf2, PAPR2] = ecdf(PAPR_SLM);
 
 
figure;
semilogy(PAPR1,1-cdf1,'-k','LineWidth',1)
hold on
semilogy(PAPR2,1-cdf2,'-b','LineWidth',2)
legend('Orignal','SLM')
xlabel('PAPR0 [dB]');
ylabel('CCDF (Pr[PAPR>PAPR0])');
grid on
相关文章
|
3天前
|
机器学习/深度学习 算法 机器人
基于QLearning强化学习的较大规模栅格地图机器人路径规划matlab仿真
本项目基于MATLAB 2022a,通过强化学习算法实现机器人在栅格地图中的路径规划。仿真结果显示了机器人从初始位置到目标位置的行驶动作序列(如“下下下下右右...”),并生成了详细的路径图。智能体通过Q-Learning算法与环境交互,根据奖励信号优化行为策略,最终学会最优路径。核心程序实现了效用值排序、状态转换及动作选择,并输出机器人行驶的动作序列和路径可视化图。
126 85
|
2天前
|
算法 数据安全/隐私保护
室内障碍物射线追踪算法matlab模拟仿真
### 简介 本项目展示了室内障碍物射线追踪算法在无线通信中的应用。通过Matlab 2022a实现,包含完整程序运行效果(无水印),支持增加发射点和室内墙壁设置。核心代码配有详细中文注释及操作视频。该算法基于几何光学原理,模拟信号在复杂室内环境中的传播路径与强度,涵盖场景建模、射线发射、传播及接收点场强计算等步骤,为无线网络规划提供重要依据。
|
2天前
|
算法 Serverless
基于魏格纳函数和焦散线方法的自加速光束matlab模拟与仿真
本项目基于魏格纳函数和焦散线方法,使用MATLAB 2022A模拟自加速光束。通过魏格纳函数法生成多种自加速光束,并设计相应方法,展示仿真结果。核心程序包括相位和幅度的计算、光场分布及拟合分析,实现对光束传播特性的精确控制。应用领域涵盖光学成像、光操控和光束聚焦等。 关键步骤: 1. 利用魏格纳函数计算光场分布。 2. 模拟并展示自加速光束的相位和幅度图像。 3. 通过拟合分析,验证光束加速特性。 该算法原理基于魏格纳函数描述光场分布,结合数值模拟技术,实现对光束形状和传播特性的精确控制。通过调整光束相位分布,可改变其传播特性,如聚焦或加速。
|
1天前
|
移动开发 算法 计算机视觉
基于分块贝叶斯非局部均值优化(OBNLM)的图像去噪算法matlab仿真
本项目基于分块贝叶斯非局部均值优化(OBNLM)算法实现图像去噪,使用MATLAB2022A进行仿真。通过调整块大小和窗口大小等参数,研究其对去噪效果的影响。OBNLM结合了经典NLM算法与贝叶斯统计理论,利用块匹配和概率模型优化相似块的加权融合,提高去噪效率和保真度。实验展示了不同参数设置下的去噪结果,验证了算法的有效性。
|
5月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
248 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
5月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
148 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
5月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
119 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
8月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
8月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)

热门文章

最新文章

下一篇
开通oss服务