OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度

news2024/11/16 21:45:49

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

4.1、选择映射(SLM)

4.2 相位截断星座图(PTS)

5.算法完整程序工程


1.算法运行效果图预览

(完整程序运行后无水印)

2.算法运行软件版本

matlab2022a

3.部分核心程序

(完整版代码包含详细中文注释和操作步骤视频)

for jj=1:Nbits
    Index(1,:)   = floor(length(MAP_qpsk)*rand(1,Lfft))+1; % 生成第一个符号的随机索引
    Index(2:N,:) = floor(length(Phases)*rand(N-1,Lfft))+1; % 生成其余符号的随机索引
    
    X(1,:)       = MAP_qpsk(Index(1,:)); % 原始频域信号
    Phase_Rot    = Phases(Index(2:N,:)); % 相位旋转
    X(2:N,:)     = repmat(X(1,:),N-1,1).*Phase_Rot; % 相位旋转后的频域信号
    
    x            = ifft(X,[],2); % 时域信号
    Pow1         = abs(x.^2); % 信号功率
    Pow2         = max(Pow1,[],2); % 峰值功率
    Pow3         = mean(Pow1,2);   % 平均功率
    
    PAPR_temp    = 10*log10(Pow2./Pow3); % 计算PAPR
    papr0(jj)    = PAPR_temp(1); % 存储原始PAPR
    papr_slm(1,jj)  = min(PAPR_temp(1:end)); % 存储SLM N=4的情况
end

% 计算累积分布函数
[cdf1, PAPR1] = ecdf(papr0); % 原始PAPR的CDF
[cdf2, PAPR2] = ecdf(papr_slm(1,:)); % SLM N=2的PAPR CDF
174

4.算法理论概述

       在正交频分复用(Orthogonal Frequency Division Multiplexing, OFDM)系统中,高峰均功率比(Peak-to-Average Power Ratio, PAPR)是一个关键问题,因为它会导致功率放大器非线性失真、增加发射机功耗等问题。为了降低PAPR,研究人员提出了多种算法,其中包括选择映射(Selected Mapping, SLM)、相位截断星座图(Partial Transmit Sequences, PTS)等技术。

4.1、选择映射(SLM)

        选择映射(SLM)算法通过生成多个相位旋转的子载波数据,并选择具有最低PAPR的信号进行传输。假设原始信号为x,则生成N个相位旋转的信号xi​,其中 i=1,2,…,N。

4.2 相位截断星座图(PTS)

        PTS方法通过对部分子载波施加相位旋转来降低PAPR。假设将 K 个子载波分为 V 个组,每组内的子载波可以独立地施加相位旋转。

5.算法完整程序工程

OOOOO

OOO

O

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

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

相关文章

极狐GitLab 新一代容器镜像仓库正式上线啦!

从极狐GitLab 17.3 开始,私有化部署实例也可以使用新一代容器镜像仓库啦!新一代容器镜像仓库具有更高效的零宕机垃圾收集功能和其他优势。 从去年开始,极狐GitLab 就启动了重构容器镜像仓库的计划,用以构建具有更强功能的镜像仓库…

就服务器而言,ARM架构与X86架构有什么区别?各自的优势在哪里?

一、服务器架构概述 在数字化时代,服务器架构至关重要。服务器是网络核心节点,存储、处理和提供数据与服务,是企业和组织信息化、数字化的关键基础设施。ARM 和 x86 架构为服务器领域两大主要架构,x86 架构服务器在市场占主导&…

弹框调取阿里云播放器一直报错 TypeError: 没有为播放器指定容器

弹框调取阿里云播放器一直报错 TypeError: 没有为播放器指定容器 <template><el-dialogv-model"dialogpeopleVisible":before-close"handleClose"class"aliyunplayDialog"><!-- :show-close "false" --><div&g…

2024年企业级电脑监控软件推荐,精选的电脑监控软件

随着企业信息化程度的不断提高&#xff0c;如何有效监控和管理企业电脑成为许多企业主和IT管理员的重要任务。企业级电脑监控软件不仅可以帮助企业提高工作效率&#xff0c;保障数据安全&#xff0c;还能够防止内部数据泄露和违规操作。在2024年&#xff0c;有多款优秀的电脑监…

一帧图像绘制过程(详解)

一帧图像的起始 手机流畅使用会带来良好的用户体验&#xff0c;而流畅的手机画面是通过屏幕刷新频率和稳定的帧率相配合实现。过高或过低的帧率会造成资源的浪费&#xff0c;不稳定的帧率造成卡顿等现象&#xff0c;影响用户体验。那么稳定的帧率如何实现&#xff1f;或者说一帧…

【C++第十四课-map和set】set的用法、multiset、map的用法、multimap

目录 setset的用法set功能&#xff1a;排序去重反向迭代器finderasecountlower_bound、upper_bound multiseterasecountfind mapmap的构造findmultimap计算出现的次数[ ]insert 题目 之前学的都只是存储数据 在初阶阶段&#xff0c;我们已经接触过STL中的部分容器&#xff0c;比…

Python机器学习——利用Keras和基础神经网络进行手写数字识别(MNIST数据集)

Python机器学习——利用Keras和基础神经网络进行手写数字识别&#xff08;MNIST数据集&#xff09; 配置环境创建虚拟环境安装功能包并进环境 编程1. 导入功能包2. 加载数据集3. 数据预处理4. 构建神经网络5. 神经网络训练6. 测试模型训练效果 配置环境 首先安装Anaconda&…

vue3_对接腾讯_实时音视频

项目需要对接腾讯的实时音视频产品&#xff0c;我这里选择的是多人会议&#xff0c;选择其他实时音视频产品对接流程也一样&#xff0c;如何对接腾讯实时音视频的多人会议产品&#xff0c;从开通服务到对接完成&#xff0c;一 一讲解。 一、开通腾讯实时音视频 1.腾讯实时音视…

适用于计算机视觉的机器学习

使用筛选器将效果应用于图像的功能在图像处理任务中非常有用&#xff0c;例如可能使用图像编辑软件执行的任务。 但是&#xff0c;计算机视觉的目标通常是从图像中提取含义或至少是可操作的见解&#xff0c;这需要创建经过训练以基于大量现有图像识别特征的机器学习模型。 卷积…

Unet改进30:添加CAA(2024最新改进方法)|上下文锚定注意模块来捕获远程上下文信息。

本文内容:在不同位置添加CAA注意力机制 目录 论文简介 1.步骤一 2.步骤二 3.步骤三 4.步骤四 论文简介 遥感图像中的目标检测经常面临一些日益严峻的挑战,包括目标尺度的巨大变化和不同的测距环境。先前的方法试图通过大核卷积或扩展卷积来扩展主干的空间感受野来解决这…

cfs三层靶机——内网渗透

目录 1、环境地址 2、安装教程 3、配置虚拟机网卡 4、网络拓扑 5、安装宝塔 6、渗透测试 7、CentOS7 8、ubuntu 1、生成木马并上传 2、在kali上开启监听 3、回到蚁剑&#xff0c;运行木马 4、制作跳板 1、添加路由 2、查看路由 3、配置代理 4、配置kali的代理&…

第九届“创客中国”生成式人工智能(AIGC)中小企业创新创业大赛圆满落幕

9月5日,第九届“创客中国”生成式人工智能(AIGC)中小企业创新创业大赛在南昌降下了帷幕。工业和信息化部网络安全产业发展中心(工业和信息化部信息中心)主任付京波;江西省工业和信息化厅党组成员、副厅长郭启东;南昌市委常委、市委秘书长、办公室主任赵捷;市中小企业局党组书记…

MFC工控项目实例之十二板卡测试信号输出界面

承接专栏《MFC工控项目实例之十一板卡测试信号输入界面》 1、在BoardTest.h文件中添加代码 CButtonST m_btnStart[16],m_btnStart_O[16];2、在BoardTest.cpp文件中添加代码 UINT No_IDC_CHECK_O[16] {IDC_CHECK16,IDC_CHECK17,IDC_CHECK18,IDC_CHECK19,IDC_CHECK20,IDC_CH…

Idea 创建 Maven项目的时候卡死

文章目录 一、Archetype 和 Catalog1.1 Archetype&#xff08;原型&#xff09;1.2 Catalog&#xff08;目录&#xff09; 二、可能遇到的问题2.1 问题描述2.2 原因分析2.3 解决方案 参考资料 一、Archetype 和 Catalog 1.1 Archetype&#xff08;原型&#xff09; Archetype…

vue3+ant design vue实现文件上传(阿里云oss)~

1、效果图 2、自定义上传 <a-upload v-model:file-list"fileList" name"导入员工" action"" :customRequest"upDown" :beforeUpload"beforeUpload" :onChange"handleChange" remove"removeFile" ac…

【自然语言处理】实验一:基于NLP工具的中文分词

目录 前言 1. 导入jieba分词器 2. 用精确模式进行中文分词 3. 用全模式进行中文分词 4. 用搜索引擎进行中文分词 5. 利用 lcut返回结果列表(list) 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &a…

Typora调整图片大小的两种方式:zoom或width/height

目录 01 zoom方式02 width/height方式2.1 width方式 2.2 height方式 01 zoom方式 语法: <img src"your-image-url" style"zoom:your-zoom-integer"/> 示例&#xff1a;将图片(./image/market.jpg)调整为原图减少50%大小的命令为&#xff1a; …

解决 Ubuntu 20.04 上 Fail2Ban 启动失败问题:指定 systemd 后端

问题描述 服务器Ubuntu 20.04开启fail2ban失败&#xff0c;通过journactltl -f查看日志发现错误ERROR Failed during configuration: Have not found any log file for sshd jail。大致的原因就是fail2ban找不到sshd的日志文件。 Sep 09 09:52:17 test systemd[1]: Starting …

时间控制器

前言&#xff1a; 在web自动化测试中未免会遇到时间控制器&#xff0c;下面介绍三种实现方式&#xff1b;亲测成功&#xff1b; 时间控件&#xff1a; 第一种&#xff1a;通过点击和if语句联合使用 self.base_click(start_date_out) time.sleep(2) self.base_click(start_da…

【Java 输入流详解:局部与全局定义及资源管理】

Java 输入流详解&#xff1a;局部与全局定义及资源管理 在Java编程中&#xff0c;输入流&#xff08;如Scanner类&#xff09;是读取用户输入的常用方式。通过Scanner&#xff0c;可以方便地读取不同类型的数据&#xff0c;比如整数、字符串等。作为基于输入流的工具&#xff0…