基于二次规划优化的OFDM系统PAPR抑制算法的matlab仿真

news2024/9/22 6:58:47

目录

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

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

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

相关文章

【Springboot】新增profile环境配置应用启动失败

RT 最近接手了一个新的项目,为了不污染别人的环境,我新增了一个自己的环境配置。结果,在启动的时候总是失败,就算是反复mvn clean install也是无效。 问题现象 卡住无法进行下一步 解决思路 由于之前都是能启动的&#xff0c…

zookeeper+kafka的消息队列

zookeeperKafka 两个都是消息队列的工具 消息队列 出现原因:生产者产生的消息与消费者处理消息的效率相差很大。为了避免出现数据丢失而设立的中间件。 在消息的生产者与消费之间设置一个系统,负责缓存生产者与消费者之间的消息的缓存。将消息排序。 优…

nginx生成自签名SSL证书配置HTTPS

一、安装nginx nginx必须有"--with-http_ssl_module"模块 查看nginx安装的模块: rootecs-7398:/usr/local/nginx# cd /usr/local/nginx/ rootecs-7398:/usr/local/nginx# ./sbin/nginx -V nginx version: nginx/1.20.2 built by gcc 9.4.0 (Ubuntu 9.4.0…

MySQL之触发器

1,创建表 CREATE TABLE Product (Id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,Name VARCHAR(20) NOT NULL,Function VARCHAR(50),Company VARCHAR(20) NOT NULL,Address VARCHAR(20) ); CREATE TABLE Operate (Op_id INT(10) NOT NULL AUTO_INCREMENT PRIMAR…

Leetcode—146. LRU 缓存【中等】(shared_ptr、unordered_map、list)

2024每日刷题(143) Leetcode—146. LRU 缓存 先验知识 list & unordered_map 实现代码 struct Node{int key;int value;Node(int key, int value): key(key), value(value) {} };class LRUCache { public:LRUCache(int capacity): m_capacity(capa…

Spring Boot集成qwen:0.5b实现对话功能

1.什么是qwen:0.5b? 模型介绍: Qwen1.5是阿里云推出的一系列大型语言模型。 Qwen是阿里云推出的一系列基于Transformer的大型语言模型,在大量数据(包括网页文本、书籍、代码等)进行了预训练。 硬件要求:…

SWDIO管脚作为GPIO

下面是使用FRDM-K32L2B3开发板和SDK中的frdmk32l2b_gpio_led_output程序做了一些测试,configure SWDIO pin as GPIO pin的流程。 查看手册,找到SWDIO对应的管脚,可以看到PTA3对应的SWDIO管脚。 2.修改Demo程序,在程序中设置SWDIO…

生物素四聚乙二醇叠氮;Biotin-PEG4-Azide

生物素四聚乙二醇叠氮,也被称为Biotin-PEG4-Azide或Azide-PEG4-Biotin,是一种重要的化学化合物,其CAS号为1309649-57-7。以下是对该化合物的详细介绍: 一、基本信息 中文名:生物素四聚乙二醇叠氮 英文名:Bi…

wps批量删除空白单元格

目录 原始数据1.按ctrlg键2.选择“空值”,点击“定位”3. 右击,删除单元格修改后的数据 原始数据 1.按ctrlg键 2.选择“空值”,点击“定位” 如图所示,空值已被选中 3. 右击,删除单元格 修改后的数据

Rust 使用 panic! 还是不用 panic!

使用 panic! 还是不用 panic! 那么,该如何决定何时应该 panic! 以及何时应该返回 Result 呢?如果代码 panic,就没有恢复的可能。你可以选择对任何错误场景都调用 panic!,不管是否有可能恢复,不过这样就是你代替调用者…

【python】基于随机森林和决策树的鸢尾花分类

目录 引言 决策树(Decision Tree) 随机森林(Random Forest) 数据集 结果 代码实现 引言 随机森林(Random Forest)和决策树(Decision Tree)是两种在机器学习中广泛使用的分类和…

STM32智能农业监测系统教程

目录 引言环境准备智能农业监测系统基础代码实现:实现智能农业监测系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:农业监测与管理问题解决方案与优化收尾与总结 1. 引言 智能农业监测系统通…

Java二十三种设计模式-建造者模式(4/23)

建造者模式:构建复杂对象的专家 引言 建造者模式(Builder Pattern)是一种创建型设计模式,用于创建一个复杂的对象,同时允许用户只通过指定复杂对象的类型和内容就能构建它们,它将对象的构建和表示分离&am…

【计算机毕业设计】002基于weixin小程序家庭记账本

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

【JavaEE进阶】——SpringBoot 统⼀功能处理

目录 🚩拦截器 🎈什么是拦截器? 🎈如何使用拦截器 🎓自定义拦截器 🎓注册拦截器 🎈拦截器详解 🎓拦截路径 🎓拦截器执⾏流程 🔴DispatcherServlet 源码分析(了…

手机怎么看WiFi的IP地址

在如今数字化快速发展的时代,无线网络已成为我们日常生活中不可或缺的一部分。无论是工作、学习还是娱乐,我们可能都离不开WiFi的陪伴。然而,在使用WiFi的过程中,有时我们可能需要查看其IP地址,以便更好地管理我们的网…

大数据hive表和iceberg表格式

iceberg: https://iceberg.apache.org/ iceberg表,是一种面向大型分析数据集的开放表格式,旨在提供可扩展、高效、安全的数据存储和查询解决方案。它支持多种存储后端上的数据操作,并提供 ACID 事务、多版本控制和模式演化等特性&#xff0c…

K8S 中的 CRI、OCI、CRI shim、containerd

哈喽大家好,我是咸鱼。 好久没发文了,最近这段时间都在学 K8S。不知道大家是不是和咸鱼一样,刚开始学 K8S、Docker 的时候,往往被 CRI、OCI、CRI shim、containerd 这些名词搞得晕乎乎的,不清楚它们到底是干什么用的。…

持续集成01--Git版本管理及基础应用实践

前言 本系列文章旨在深入探讨持续集成/持续部署(Continuous Integration/Continuous Deployment, CI/CD)流程中的各个环节,而本篇将聚焦于Git版本管理及其基本应用。通过本文,读者将了解到Git的基本原理、安装配置、基本命令以及如…

当农业遇见智能:机器学习引领农作物管理新时代

机器学习引领农作物管理新时代 1. 引言1.1 农业的重要性和现代农作物管理的挑战1.2 机器学习技术在农业中的潜力和应用前景 2. 机器学习在农作物管理中的基础应用2.1 数据驱动的农业决策数据收集与处理示例代码:传感器数据采集决策支持系统 2.2 传感器技术与数据采集…