用于非线性多载波卫星信道的多输入多输出符号速率信号数字预失真器DPD(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码、数据、文章
💥1 概述
文献来源:
摘要:
该文提出一种数字预失真(DPD)方案,用于多载波卫星通信信道中的非线性失真抑制。所提出的DPD具有类似于数据DPD方案的多输入多输出架构。然而,它使用多速率处理算法增强了数据DPD的缓解性能,以实现非线性算子的频谱拓宽。与单载波(单输入单输出)信号(波形)DPD方案相比,所提出的DPD具有较低的数字处理速率,降低了预失真器所需的硬件成本。所提出的DPD在总体退化方面优于数据和信号DPD方案。此外,它的性能最接近由具有有限最大输出功率的理想缓解通道描述的通道边界。
对功率/质量效率高的卫星转发器的需求不断增加,推动了使用单个高功率放大器(HPA)联合放大多载波信号。在这种多载波(MC)场景中,多个信号在频率上被多路复用,并共享卫星转发器的板载硬件[1]。但是,放大的信号会被非线性HPA失真。除了单载波中存在的非线性失真外,MC场景还存在相邻信道干扰(ACI)和互调失真(IMD)效应[1],这些效应会进一步使信号失真并降低系统容量。因此,减轻这些失真对于MC卫星系统的有效运行至关重要。
在网关上运行的非线性失真缓解技术称为数字预失真(DPD),它们具有不同的部署架构。首先,数据DPD方案[2,3]是多输入多输出(MIMO)(每个载波产生一个预失真流),并以符号速率运行,因此需要相对较低的数字带宽。其次,信号DPD方案[4]是单输入单输出(SISO)并且以更高的速率工作,因此需要比数据DPD更大的数字带宽。信号DPD充分利用可用的模拟上行链路带宽,而数据DPD只能访问由载波符号速率设置的信道带宽。
该文提出一种基于模型的新型MIMO DPD技术,用于MC卫星信道中的非线性缓解,称为符号速率信号DPD(SRS DPD)。SRS DPD在脉冲整形滤波器之前产生预失真符号,类似于数据DPD方案,但它补偿了由于数字处理带宽有限而无法由数据DPD处理的失真效应(带外)。SRS DPD使用多速率处理算法来计算基函数,增强了数据DPD的非线性缓解功能,同时与信号DPD相比,它降低了数字处理或计算复杂度。因此,SRS DPD提供了一种“融合”架构,以低于信号DPD的复杂度利用比数据DPD更大的带宽。特别是,SRS DPD使用链路频率规划来补偿ACI和IMD。使用载波的频率链路规划,SRS预分配方案在载波频率间隔紧密的高效频谱配置中可能很有用。
在研究[3]中,作者提出了使用符号级应用的多级Volterra过程的卫星系统的MC预处理。级联多个Volterra滤波器增强了数据级计算的缓解能力,尽管计算复杂度更高。与[3]相比,SRS DPD使用单个Volterra滤波器,并通过多速率方案增强了数据电平的缓解。此外,SRS DPD不会像[3]那样执行通道估计,这会产生进一步的复杂性成本。
SRS-DPD方案在符号级别工作,将脉冲整形滤波器包含在要缓解的通道中。这使得SRS DPD在符号电平上是接收器失真最小化的最佳选择。由于对接收到的符号进行解码时获得了误码率(BER)性能,与SISO信号DPD相比,SRS DPD的工作域提高了整体链路性能,其中未缓解的失真通过脉冲整形滤波器传播。此外,对于给定的复杂程度,SRS DPD比SISO信号DPD具有更好的性能,并且SRS DPD的计算复杂度不会随着上行链路带宽的增加而增加,从而将其包含在具有大上行链路带宽的通信系统中。
📚2 运行结果
部分代码:
%% Evaluation
fprintf('\n ----- noiseless DPD Eval --------\n')
% passing the predistorter data for the channel (noiseless)
[rd1 rd2 rd3 OBO] = MC_Core_channel(IBO,inf,ud(:,1),ud(:,2),ud(:,3));
recd = [rd1 rd2 rd3];
fprintf('OBO of the DPD signal: %2.2f \n',OBO)
distor = recd - AT;
for kk=1:3, SD(kk) = db(norm(AT(:,kk),2)/norm(distor(:,kk))); end
fprintf('SIR (dB): \t %1.1f dB \n',SD)
%% plotting the constellation
toc
figure,
subplot(131), plot(recn(:,1),'.b'), hold on, plot(recd(:,1),'.r'),
plot(AT(:,1),'ok','MarkerFaceColor',[0 0 0]), axis([-1.5 1.5 -1.5 1.5])
subplot(132), plot(recn(:,2),'.b'), hold on, plot(recd(:,2),'.r'),
plot(AT(:,2),'ok','MarkerFaceColor',[0 0 0]), axis([-1.5 1.5 -1.5 1.5])
subplot(133), plot(recn(:,3),'.b'), hold on, plot(recd(:,3),'.r'),
plot(AT(:,3),'ok','MarkerFaceColor',[0 0 0]), axis([-1.5 1.5 -1.5 1.5])
legend('No DPD','MIMO DPD')
saveas(gcf, '../results/constellation.png');
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
🌈4 Matlab代码、数据、文章
相关文章:
用于非线性多载波卫星信道的多输入多输出符号速率信号数字预失真器DPD(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【Spark】用udf和withColumn在dafaframe中创建新列
udf使用 import org.apache.spark.sql.functions.udf udf接收一个函数(func)作为参数,返回一个UserDefinedFunction。 UserDefinedFunction接收列(Column)作为参数,并返回Column. func可以接收普通类型参数…...
AIGC 设计能替代真正的设计师设计吗?
AIGC 设计能替代真正的设计师设计吗? 目录 一、写在前面的话 二、AIGC 设计能替代真正的设计师吗? 1.1、传统设计师设计 1.2、AIGC设计 1.3、相关概念 1.4、观点分析 (1)、审美角度 (2)、版权角度 …...
【1++的C++进阶】之emplace详解
👍作者主页:进击的1 🤩 专栏链接:【1的C进阶】 在前面C11系列的文章里,我们漏掉了几个知识点,这篇文章对其中一个知识点进行讲解,关于剩余的知识点的文章在后面会相继出炉。 C11中,针…...
React入门
一、react开始 1、react是什么 用于构建用户界面的JavaScript库 操作DOM呈现页面 (发送请求获取数据和处理数据不由react处理)fessbook开发 2、为什么要学 原生js操作DOM繁琐、效率低 使用原生js直接操作DOM,浏览器会进行大量重绘重排 原…...
第三方登录以及验证
第三方登录是指用户可以通过使用已有的第三方账号进行登录,而无需再次注册新的账号。常见的第三方登录平台包括微信、QQ、微博、GitHub等。 验证是指系统需要验证用户提供的信息是否正确,以确保用户可以登录系统。验证方式包括密码验证、手机号验证、邮…...
MS SQL Server问题汇总
1.报SQL Server Agent连接不上的错误 15:38:57.991 [debezium-sqlserverconnector-sqlserver_transaction_log_source-change-event-source-coordinator] WARN i.d.connector.sqlserver.SqlServerStreamingChangeEventSource - No maximum LSN recorded in the database; pl…...
在线海报图片设计器、图片编辑器源码/仿照稿定设计源码
在线海报设计系统素材设计源码是一个漂亮且功能强大的在线海报图片设计器,仿照稿定设计而成。该系统适用于多种场景,包括海报图片生成、电商分享图、文章长图、视频/公众号封面等。用户无需下载软件,即可轻松实现创意,迅速完成排版…...
KMP算法(C++)
KMP算法与BF算法不一样的在于,当主串与子串不匹配时,主串不回溯,选择了子串回溯,大大提高了运算效率。 借用了next1【】数组,让子串回溯。get_next函数求next1【】数组,get_next函数的实现难点在于下列几行…...
C++的异常类型与多级catch匹配
try-catch 的用法: try{// 可能抛出异常的语句 }catch(exceptionType variable){// 处理异常的语句 } 我们还遗留下一个问题,就是 catch 关键字后边的exceptionType variable,这节就来详细分析一下。exceptionType是异常类型,它指明了当前的 catch 可以处理什么类型的异常…...
查询IP地址可得到哪些信息
通过IP地址定位,可以获取一些基本的信息,包括以下内容: 1. 地理位置:你可以确定IP地址所在的地理位置,包括国家、州或省、城市和地理坐标。这通常是通过将IP地址与地理位置数据库进行匹配来实现的。 2. ISPÿ…...
考研算法47天:01背包
问题描述 算法详细步骤 代码随想录 (programmercarl.com) ac代码 #include <iostream> using namespace std; int bag[1001]; int bagMax[1001]; int bagvalue[1001]; int main(){int n,v;cin>>n>>v;for(int i0;i<n;i){cin>>bag[i]>>bagva…...
Docker实战技巧(一):Kubernetes基础操作实战
Kubernetes定位在Saas层,重点解决了微服务大规模部署时的服务编排问题 1、关闭防火墙并设置开机禁用 systemctl stop firewalld systemctl disable firewalld 2、配置repo cd /etc/yum.repos.d/ 下载Docker repo wget https://mirrors.aliyun.com/docker-…...
android java读写yaml文件
目录 申请读写权限: build.gradle中添加库引用: android java读写yaml文件 java修改yaml文件 YamlFile: 修改yaml文件方法2 Yaml: 删除值: 申请读写权限: <uses-permission android:name"and…...
科学计算器网站Desmos网站
科学计算器网站Desmos网站 有时在学习工作或者生活中,需要用到计算问题,但由于电脑上没有安装相应的专业软件,难以计算有的问题,因而,本文推荐一种免费的在线计算网站Desmos。 一、Desmos网址 Desmos官网的地址为&a…...
结构体-时间的计算
任务描述 本关任务需要你编写函数计算一个时间之前“xx小时xx分xx秒”的时间是多少。 以24小时制的格式记录当前时间,譬如“09:19:52”,表示上午9点19分52秒,则“1小时20分30秒”前的时间应该是“同一天”的“07:59:22”。 提示:…...
pt24django教程
静态文件访问 不能与服务器端做动态交互的文件都是静态文件,如: 图片,css,js,音频,视频,html文件(部分) 静态文件配置 在 settings.py 中配置一下两项内容: STATIC_URL 静态文件的访问路径,通过哪个url地址找静态文件 ,STATIC_URL ‘/s…...
Golang开发-new关键字
在Go语言中,new关键字用于创建一个新的零值对象,并返回指向该对象的指针。它是Go语言中用于分配内存的一种方式。 new关键字的语法如下: ptr : new(Type)其中,Type表示要创建的对象的类型,ptr是指向新对象的指针。 …...
遗传算法与粒子群算法的Python实现
遗传算法本文应用的是 python geatpy module粒子群算法本文应用的是 python pyswarm module 遗传算法 它的不等约束是...<0 import geatpy as ea import numpy as npea.Problem.single def evalVars(Vars): x1 Vars[0]x2 Vars[1]x3 Vars[2]x4 Vars[3]f (x1 2)**2 \…...
无涯教程-JavaScript - ASINH函数
描述 ASINH函数返回数字的反双曲正弦值。反双曲正弦是其双曲正弦为number的值,即ASINH(SINH(number))等于number。 语法 ASINH (number)争论 Argument描述Required/OptionalNumberAny real number.Required Notes 如果指定的数字未被识别为数字值,则ASIN返回#VALUE!错误 …...
ActiveMQ面试题(一)
文章目录 前言一、什么是ActiveMQ二、ActiveMQ 服务器宕机怎么办?三、丢消息怎么办四、持节化消息非常慢五、消息的不均匀消费总结 前言 什么是ActiveMQActiveMQ 服务器宕机怎么办?丢消息怎么办持节化消息非常慢消息的不均匀消费 一、什么是ActiveMQ a…...
node:glob语法以及常用的文件查找库glob、fast-glob
背景 前端开发中,我们经常会看到一种配置语法,一般出现在 gitignore里、webpack 配置里、vscode查找文件的时候,如下: ?.js **/*.js dist/**/*.js这种语法其实叫 glob。 glob 历史 glob 来自于 Linux。 1975 年发行的 unix …...
饲料添加剂 微生物 屎肠球菌
声明 本文是学习GB 7300.503-2023 饲料添加剂 第5部分:微生物 屎肠球菌. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了饲料添加剂屎肠球菌的技术要求、采样、检验规则、标签、包装、运输、贮存和保质 期࿰…...
二叉搜索树经典笔试题【力扣、牛客】
文章目录 1.根据二叉树创建字符串2. 二叉树的层序遍历3.二叉树的层序遍历Ⅱ4.二叉树的最近公共祖先1.法一:定位p、q在左还是右 分类讨论2.法二:利用stack求出p、q路径 求相交值 5.二叉搜索树与双向链表1.法一:递归:递归过程修正指…...
docker系列(1) - docker环境篇
文章目录 1. docker环境1.1 docker安装1.2 阿里云镜像加速器1.2 docker管理工具(portainer)1.3 docker网络1.3.1 网络说明1.3.2 创建指定网关的网络 1. docker环境 1.1 docker安装 #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noar…...
web安全漏洞-SQL注入攻击实验
实验目的 学习sql显注的漏洞判断原理掌握sqlmap工具的使用分析SQL注入漏洞的成因 实验工具 sqlmap是用python写的开源的测试框架,支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,I…...
直接插入排序(C++实现)
文章目录 1. 基础概念🍑 内部排序和外部排序 2. 直接插入排序3. 动图演示4. 代码实现5. 性能分析 无论是日常生活还是很多科学领域当中,排序都是会经常面对的问题,比如按成绩对学校的学生排序,按薪水多少对公司员工排序等。 根据…...
【k8s】Pod 的钩子
Kubernetes(K8s)中的 Pod 可以使用以下几种勾子(钩子)来执行在容器生命周期的不同阶段运行的操作: PostStart(启动后):该勾子在容器启动之后立即运行。它可以用于在容器内执行一些初…...
MCU软核 3. Xilinx Artix7上运行cortex-m3软核
0. 环境 - win10 vivado 2018.3 keil mdk - jlink - XC7A35TV12 1. 下载资料 https://keilpack.azureedge.net/pack/Keil.V2M-MPS2_DSx_BSP.1.1.0.pack https://gitee.com/whik/cortex_m3_on_xc7a100t 2. vivado 2018 Create Project -> Next -> -> Project n…...
基于SpringbootShiro实现的CAS单点登录
概述 单点登录(Single Sign On,SSO)是一种登录管理机制,主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个,无须多次登录。常见的例子就是,…...
网站制作乌鲁木齐/营销软件哪个好
如果您解决了有关Neumann随机生成器的任务,您已经知道并不是所有生成伪随机序列的方法都是好的。 特别是,Neumann的方法除了编程练习外,不适合其他任何方法。 这是另一种更普遍的方法(已在大多数编程语言和库中实现)并…...
教做幼儿菜谱菜的网站/成都搜索优化排名公司
1 三次握手 TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手🤝进行初始化的。三次握手🤝的目的是同步连…...
如何卸wordpress/销售系统
课程网址 项目地址 发布对象 发布对象:使一个对象能够被当前范围之外的代码所使用对象溢出:一种错误的发布,当一个对象还没有构造完成时,就使它被其他线程所见不正确的发布可变对象导致的两种错误: 1.发布线程意外的所…...
口碑营销的策略技巧/seo是搜索引擎营销吗
yum -y install screen screen -S lnmp 记录session会话 ssh客户端中断再连接后 screen -r lnmp 恢复会话转载于:https://blog.51cto.com/kongdq/967746...
做淘宝美工客服兼职的网站/网络优化论文
这次试一试发布一个操作数据库的项目。seam带的例子booking。1、先试一试能不能在jboss自带的hsql数据库上正常运行:2、用以前的办法,用/p20080422/examples/booking/build.xml文件编译项目。浏览地址http://127.0.0.1:8080/seam-booking/home.seam。OK&…...
杀手杰夫链接网站代码/公众号推广引流
众包(Crowdsourcing)是这样一个过程:征求大批社区中的群众去完成一个任务,传统上这种任务由组织从内部选择一拨人来完成,多数是雇员或合同工。众包测试(Crowdsourced testing)利用众包的有效性和…...