基于OFDM通信系统的PAPR抑制算法matlab仿真,对比IPTS,OPTS,CEPTS三种算法

news2024/12/26 22:39:59

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

4.1、IPTS算法

4.2、OPTS算法

4.3、CEPTS算法

5.算法完整程序工程


1.算法运行效果图预览

2.算法运行软件版本

matlab2022a

3.部分核心程序

for k=1:Nframes
    if mod(k,10) == 0
       k/10
    end
    %产生数据源
    QPSK_Ind     = floor(length(Map_qpsk)*rand(1,Nfft)) + 1;
    %调制,这里为了研究PAPR性能,所以不加入编码模块和交织模块
    Qpsk_mod     = Map_qpsk(QPSK_Ind(1,:));   
    %进行IFFT变换
    Dat_Ifft     = ifft(Qpsk_mod,[],2); 
    %计算功率和PAPR
    Signal_Power = abs(Dat_Ifft.^2);
    Peak_Power   = max(Signal_Power,[],2);
    Mean_Power   = mean(Signal_Power,2);
    PAPRo(k)     = 10*log10(Peak_Power./Mean_Power);
    %随机分块
    QPSK_Ind     = randperm(Nfft);
    A            = zeros(Npts,Nfft);
    for v=1:Npts
        A(v,QPSK_Ind(v:Npts:Nfft)) = Qpsk_mod(QPSK_Ind(v:Npts:Nfft));
    end
    a            = ifft(A,[],2); 
    %限幅
    Tho          = mean2(abs(a));
    [rr,cc] = size(a);
    for i = 1:rr
        for j = 1:cc
            if abs(a(i,j)) > Tho
               a(i,j) = Tho*(real(a(i,j)) + ij*imag(a(i,j)))/abs(a(i,j));
            end
        end
    end
    %PCME算法
    P0   = 0.5*ones(1,Npts);%初始概率为0.5
    Ps   = zeros(Iter,Npts);
    P    = zeros(Iter,Npts);
    for iter = 1:Iter
        %根据随机分布,产生一组序列c
        ....................................................................
        
        for j = 1:J
            Phase_Factor = repmat(1-2*c(j,:)',1,Nfft);  
            aa           = sum(a.*Phase_Factor);
            Signal_Power = abs(aa.^2);
            Peak_Power   = max(Signal_Power,[],2);
            Mean_Power   = mean(Signal_Power,2);
            F(j)         = 10*log10(Peak_Power./Mean_Power);
        end
        
        %对当前迭代产生的J个F进行增序排序
        [F2,IND]      = sort(F);
        %计算rj
        r(iter)   = sum(F2(1:ceil(Po*J)))/ceil(Po*J);
        IND2      = find(F <= r(iter));
        
        if isempty(IND2) == 1
           IND2 = 1;
        else
           IND2 = IND2;  
        end
        
        for pp = 1:Npts
            
            for s1 = 1:J
                I(pp,s1) = c(IND(s1),pp);
                tmp11s(s1) = I(pp,s1)*exp(-1*F2(s1)); 
                tmp12s(s1) = exp(-1*F2(s1)); 
            end
            P(iter,pp) =  sum(tmp11s)/sum(tmp12s);
        end        
        %更新概率P
        ......................................................
    end
    %根据PMCE计算得到的相位因子来计算PAPR值
    aa                = sum(a.*repmat(sign((1-2*Ps(iter,:)))',1,Nfft));
    Signal_Power      = abs(aa.^2);
    Peak_Power_temp   = max(Signal_Power,[],2);
    Mean_Power_temp   = mean(Signal_Power,2);
    PAPR_temp(k)      = 10*log10(Peak_Power_temp./Mean_Power_temp);
end
01_062m

4.算法理论概述

         基于OFDM通信系统的PAPR抑制算法是降低OFDM信号峰均比(Peak-to-Average Power Ratio,PAPR)的技术,以提高通信系统的性能和稳定性。其中,IPTS(选择性映射迭代削峰)、OPTS(优化的PTS)和CEPTS(压缩扩展变换选择性映射)是三种常见的PAPR抑制算法。下面将详细介绍这三种算法的原理和数学公式。

4.1、IPTS算法

        IPTS算法是一种基于选择性映射迭代削峰的方法,通过迭代削峰和选择性映射,降低OFDM信号的PAPR。具体步骤如下:

  1. 对OFDM信号进行IFFT变换,得到时域信号。
  2. 对时域信号进行削峰处理,将峰值超过一定阈值的信号进行削减。
  3. 对削减后的信号进行IFFT变换,得到新的频域信号。
  4. 通过选择性映射,选择PAPR最低的频域信号作为输出信号。

4.2、OPTS算法

       OPTS算法是一种基于优化的PTS方法,通过将OFDM信号分成多个子块,对每个子块进行相位旋转和幅度调整,以降低PAPR。具体步骤如下:

  1. 将OFDM信号分成多个子块。
  2. 对每个子块进行相位旋转和幅度调整,使得子块的PAPR最低。
  3. 将调整后的子块重新组合成完整的OFDM信号。

4.3、CEPTS算法

        CEPTS算法是一种基于压缩扩展变换选择性映射的方法,通过对OFDM信号进行压缩扩展变换和选择性映射,降低PAPR。具体步骤如下:

  1. 对OFDM信号进行压缩扩展变换,得到多个变换后的信号。
  2. 对每个变换后的信号进行PAPR计算,选择PAPR最低的信号作为输出信号。
  3. 将选择的信号进行逆变换,得到最终的OFDM信号。

         综上所述,IPTS、OPTS和CEPTS算法都是通过不同的方式对OFDM信号进行处理,以降低PAPR,提高通信系统的性能和稳定性。具体选择哪种算法需要根据实际应用场景和性能需求来决定。

5.算法完整程序工程

OOOOO

OOO

O

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1098584.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python自动化运维实战——Telnetlib和Netmiko自动化管理网络设备

❤️博客主页&#xff1a; iknow181&#x1f525;系列专栏&#xff1a; Python、JavaSE、JavaWeb、CCNP&#x1f389;欢迎大家点赞&#x1f44d;收藏⭐评论✍ 目录 一、前言 二、准备工作 三、Telnetlib Telnetlib介绍 Telnetlib模块及操作方法介绍 Telnetlib配置设备 T…

Unity SRP 管线【第一讲:自定义渲染管线】

来源&#xff1a; https://edu.uwa4d.com/lesson-detail/282/1308/0?isPreviewfalse 文章目录 来源&#xff1a;自定义渲染管线前置工作渲染管线资产渲染管线实例 正式渲染CommandBuffer清除渲染目标剔除&#xff08;Culling&#xff09;绘制绘制集合体 透明和不透明物体分开…

MySQL学习(二)——MySQL内置函数

文章目录 1. 函数1.1 字符串函数1.2 数值函数1.3 日期函数1.4 流程函数 2. 约束2.1 概述2.2 外键约束2.2.1 外键使用2.2.2 删除/更新行为 1. 函数 和其他编程语言一样&#xff0c;MySQL也有函数的定义。函数 是指一段可以直接被另一段程序调用的程序或代码。 也就意味着&#…

jmeter接口测试实战:接口加密、接口解密、签名sign接口实战详解

在接口测试中&#xff0c;签名&#xff08;sign&#xff09;是一种重要的加密方式&#xff0c;用于保障数据传输的安全性和完整性。在这篇文章中&#xff0c;我们将通过一个具体的案例来学习如何使用 JMeter 进行签名接口的测试&#xff0c;并用 Python 代码进行实战演示。 比…

集成友盟qq互联分享,导出风险问题处理

处理方案&#xff1a;移除 android:exported"true"即可。 注意友盟SDK QQ share 里默认配置是android:exported"true"&#xff0c;所以要覆盖即可。

为什么CDN能创造这么利益

互联网的快速发展带来了更多的在线内容和应用&#xff0c;但同时也引发了对网站性能的高要求。用户对快速加载的期望越来越高&#xff0c;这就需要采用高效的内容分发解决方案。在这方面&#xff0c;CDN&#xff08;内容分发网络&#xff09;扮演了关键角色&#xff0c;通过其分…

uniapp(uncloud) 使用生态开发接口详情2(使用 schema创建数据, schema2code创建页面, iconfont 引入项目)

上一篇介绍如何创建项目,接下来该是如何使用 在项目中pages 目录下,新建界面 项目运行,浏览器中用账号密码登录, 新建一级和二级页面 2.1 系统管理 > 菜单管理 (新增一级界面) 2.2 找到刚刚创建的菜单, 操作行有 子菜单(点击) 用DB Schema创建页面, 3.1 在uniCloud > d…

大规模语言模型人类反馈对齐--RLHF

大规模语言模型在进行监督微调后&#xff0c; 模型具备了遵循指令和多轮对话的能力&#xff0c; 具备了初步与用户进行对话 的能力。然而&#xff0c; 大规模语言模由于庞大的参数量和训练语料&#xff0c; 其复杂性往往难以理解和预测。当这些模型被部署 时&#xff0c; 它们可…

经济不景气时,企业如何通过反向竞价节省成本?

在经济不景气时期&#xff0c;企业往往被迫寻找创新方法来削减成本&#xff0c;争取提高盈利。其中一种越来越受欢迎的方法就是使用反向竞价。 反向竞价是一种采购策略&#xff0c;它颠覆了传统的采购流程&#xff0c;允许供应商竞争买方的业务。这种方法可以节省大量成本&…

退税政策线上VR互动科普展厅为税收工作带来了强大活力

缴税纳税是每个公民应尽的义务和责任&#xff0c;由于很多人缺乏专业的缴税纳税操作专业知识和经验&#xff0c;因此为了提高大家的缴税纳税办事效率和好感度&#xff0c;越来越多地区税务局开始引进VR虚拟现实、web3d开发和多媒体等技术手段&#xff0c;基于线上为广大公民提供…

C# Winform编程(2)常用控件

C# Winform编程&#xff08;2&#xff09;常用控件 常用控件 常用控件 标签&#xff0c;文本&#xff0c;按钮&#xff0c;列表框&#xff0c;组合框等的使用 Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks…

Python-pyecharts和pandas库

目录 pyecharts库 pandas库 示例1 示例2 pyecharts库 pyecharts是一个基于Python的交互式数据可视化库&#xff0c;旨在帮助用户轻松地创建各种类型的图表和可视化效果。该库是在Echarts开源项目的基础上开发的&#xff0c;Echarts是一款由百度开发的优秀的数据可视化工具。…

静力触探数据智能预处理(3)

静力触探数据智能预处理&#xff08;3&#xff09; 前言 将钻探、物探、静力触探三种数据放在一起对比分析&#xff0c;三种方法间存在尚不明确的物性联系。利用某规范进行土的分类&#xff0c;得出了全是砂土的错误结论&#xff0c;非专业编写&#xff0c;仅供参考。 1、对…

Xilinx IP 10G Ethernet PCS/PMA IP Core

Vivado 10G Ethernet PCS/PMA介绍 1介绍 完整的10G以太网接口如下图,分为10G PHY和10G MAC两部分。 这篇文章重点讲 10G Ethernet PCS/PMA。 2 IP的基本介绍 10G以太网物理编码子层/物理介质连接(PCS/PMA)核心在Xilinx 10G以太网介质访问控制器(MAC)核心和具有10Gb/s…

并发数的计算

一 常用平均并发数计算公式 1.1 普通计算方法 计算公式&#xff1a; TPS总请求数/总时间按照需求所示&#xff0c;第32周有4.13万的浏览量&#xff0c;那么总请求数估算为4.13万 总请求数4.13完请求数41300请求数 总时间1天24小时24*3600秒 TPS41300请求数/24*3600秒0.48请求数…

2.1 初探大数据

文章目录 零、学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;什么是大数据&#xff08;二&#xff09;大数据的特征1、Volume - 数据量大2、Variety - 数据多样3、Velocity - 数据增速快4、Value - 数据价值低5、Veracity - 数据真实性 &#xff08;三&#xff0…

Cpolar和极简主义文件管理器:为用户提供高效稳定的个人云存储服务

文章目录 1. 前言2.Tiny File Manager网站搭建2.1.Tiny file manager下载和安装2.2 Tiny file manager网页测试2.2 Tiny file manager网页测试3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试总结 1. 前言 文件共享和查阅是现在网络最常见的应用场景&am…

基于ssm的图书商城

功能如下图所示 摘要 今天&#xff0c;我们生活在一个充满活力的时代&#xff0c;其中网购已经成为一种主要购物方式。传统实体书店的客流量日益减少&#xff0c;而实体书籍的销售量也逐年下滑&#xff0c;这不可避免地导致了在线图书商城的崛起。在线商城具有众多优势。首先&a…

谷歌、AMD、英特尔加入挑战,英伟达AI解决方案还能继续“遥遥领先”吗?

夕小瑶科技说 原创 编译 | 谢年年 要问世界范围内人工智能解决方案谁最“遥遥领先”&#xff1f; 那肯定是英伟达&#xff01; 然鹅这一情况很有可能会发生变动。 谷歌正在构建自己的人工智能基础设施&#xff01; 除了谷歌&#xff0c;在软件方面&#xff0c;Meta的PyTor…

华为云云耀云服务器L实例评测|CentOS系统盘迁移到数据盘教程讲解

华为云云耀云服务器L实例评测&#xff5c;CentOS系统盘迁移到数据盘教程讲解 在华为云网购买华为云云耀云服务器L实例的Centos系统机器&#xff0c;可能会出现没有在挂载数据盘直接安装在系统盘情况,又或者系统初始化自动挂载在其他目录上。建议大家都把数据存放在数据盘下 …