LabVIEW开发最小化5G系统测试平台
LabVIEW开发最小化5G系统测试平台
由于具有大量存储能力和数据的应用程序的智能手机的激增,当前一代产品被迫提高其吞吐效率。正交频分复用由于其卓越的品质,如单抽头均衡和具有成本效益的实施,现在被广泛用作物理层技术。这些好处是以严格的同步、正交性和高功耗为代价的。除了高数据速率外,不需要人工干预的应用,如机器类通信、物联网(IoT)和车对车通信(V2V),正在为未来的一代系统设计提供解决方案。这些应用需要低功耗、减少延迟和异步数据传输。
这刺激了对新型物理层波形的探索,从而提出了许多替代波形。广义频分复用(GFDM)是一种灵活的多载波传输策略,将适合上述特征,可以被认为是实施5G网络的可行竞争者。GFDM系统基于不同时频块的调制,每个时频块在频率上包含多个子载波,在时间上包含子符号。每个子符号上的子载波都使用特定于应用的原型滤波器进行滤波,该滤波器在时间和频率上循环移动。与其他多载波方案一样,GFDM由于时域中存在大量符号而存在高峰均功率比(PAPR)问题。

在基于GFDM的系统中,PAPR还原技术主要有三类。初始和最基本的类别是信号失真技术,它主要通过削波时域GFDM信号来降低信号PAPR。这些策略在GFDM系统中的PAPR减少方面表现得不够好,因为它们具有失真特性和高误差传播率。信号加扰是PAPR减少技术的另一种,包括选择性映射(SLM)和部分传输序列(PTS)[12]。为了产生大量的GFDM替代信号,GFDM信号与SLM频域中的随机相位旋转矢量相乘。在逆快速傅里叶变换(IFFT)之后,选择具有最低PAPR的替代GFDM信号进行传输。候选信号的侧信息(SI)随后被传送,从而实现有效的接收器恢复。在PTS技术中,通过将信号分成不连续的子块,将每个子块乘以适当的相序向量,然后重构子块以产生具有降低的PAPR的信号来降低PAPR[14]。PTS和SLM方法的计算要求很高,需要一种合适的相序向量的搜索策略。此外,它们需要向接收器提供所需的相序矢量和额外的侧面信息,这会降低系统的频谱效率。然而,上述所有PAPR缓解解决方案中的大多数在降低PAPR方面表现不佳,需要一种额外的机制来为每个比特流构建替代候选信号。PAPR约简策略的最后一类包括预编码技术,包括离散哈特利矩阵变换(DHMT),离散正弦矩阵变换(DSMT)和离散余弦矩阵变换(DCMT)。这些技术导致PAPR降低,因为它们在IFFT计算之前减少了调制数据信号之间的非周期自相关量。预编码技术是降低GFDM系统中PAPR的有效策略之一。然而,与信号加扰技术相比,它们的PAPR降低较差。
我们提出了一种基于预编码技术的高效PAPR约简方法,以及一种基于奇异值分解(SVD)的最优正交预编码矩阵,与其他现有的预编码策略相比,它具有最小的潜在平均功率和相当好的PAPR最小化,而不会影响PAPR约简。我们降低了平均功率以及峰均功率比,以提高PAPR缓解效率。利用NI的硬件,称为通用软件无线电外围设备(USRP),开发了GFDM系统的实时原型,以验证减少PAPR的想法。从USRP接收到的光谱响应通过与仿真表现出良好的一致性来验证所提出的方法。
基于预编码的技术具有很大的潜力,因为它们是简单的线性过程,无需任何额外的侧面信息即可使用。预编码既不会显著增加复杂性,也不会破坏子载波的正交性,而是增强了PAPR降低性能。在本文中,将最优预编码作为降低GFDM传输信号PAPR的方法。在GFDM调制和传输之前,GFDM系统中的预编码需要将每个GFDM模块的调制数据乘以预编码矩阵。GFDM系统使用预先确定的预编码矩阵,因此发射器和接收器之间不需要握手。如果所有GFDM帧的预编码矩阵都相同,那么也没有必要进行基于块的优化技术所需的所有处理。
用于实现叠加SI传输概念的测试台采用LabVIEW软件,可与NI硬件轻松合并,称为通用软件无线电外设RIO。LabVIEW的主要吸引力在于其简单的可重配置,无需使用额外的硬件。USRP内部由用于射频转换的低频子板、用于开发USRP内部数字信号处理(DSP)芯片的模数转换器(ADC)/数模转换器(DAC)组成。USRP能够在1.2-6GHz的宽频率范围内运行,涵盖所有移动通信场景。数字上/下变频和插值/抽取等主要通信操作在USRP的FPGA板上实现,该板由LabVIEW软件控制,用于执行调制/解调等基带操作。因此,USRP中的实际FPGA实现由软件控制。这个想法提供了一个测试算法的机会,因为软件的变化是通过硬件上的实现来复制的。
两个工作站,它们使用NIPXIe-PCIe8371Express卡与USRP连接。此接口具有832MB/s,这对于展示实时通信方案非常有用。连接USRP后,应为发射器和接收器USRP分配一个唯一的ID。在LabVIEW中,矩形网格QAM调制数据按照框图中指定的顺序在成分的有源子载波上进行GFDM调制。在对GFDM符号执行所有基带操作后,在每个数据包的开头和结尾添加前导码和长度为8的零序列。前导码用于执行同步和通道估计,而零填充可用于及时区分接收信号。USRP中传输的数据包不仅包含工资单数据,还包含控制信息。控制信息包括USRPIP、带前导码的数据位置和纠错码。RxUSRP从可用空间接收叠加信号作为数据流。RxUSRP丢弃数据样本,直到使用检测算法观察到大量能量。
所采用的方法提高了数据效率和PAPR,使GFDM系统成为5G通信的诱人替代方案。解决了设计具有最低PAPR的预编码矩阵的优化挑战。仿真结果表明,预编码策略可以显著降低GFDM系统中的PAPR。实验和仿真结果的鲁棒性为GFDM系统中的PAPR约简技术提供了可信度。
这是LabVIEW的一个应用,更多的开发案例,欢迎登录北京瀚文网星官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。
相关文章:
LabVIEW开发最小化5G系统测试平台
LabVIEW开发最小化5G系统测试平台 由于具有大量存储能力和数据的应用程序的智能手机的激增,当前一代产品被迫提高其吞吐效率。正交频分复用由于其卓越的品质,如单抽头均衡和具有成本效益的实施,现在被广泛用作物理层技术。这些好处是以严格的…...
如何用输入函数为数组赋值
在编写程序时我们经常使用数组,而数组的大小可能是很大的但是我们并不需要为每个元素都自己赋值,我们可能会自定义输入数组元素个数,我们应该如何实现通过输入函数为数组赋值呢? 目录 第一种: 第二种: 第一…...
【Python COM】Word 自动纵向合并相同内容单元格
使用场景 docxtempl 库不支持动态纵向合并单元格,所以写了这段代码用来曲线救国。 使用方法 需要纵向合并的单元格加上在文本末尾加上“【纵向合并】”,然后调用此函数,就会自动纵向合并相同内容的单元格。 代码 需要安装 pywin32 库。 …...
maven 环境变量的配置
1、安装好maven /home/sunyuhua/dev/apache-maven-3.9.32、编辑环境变量 vi /etc/profile.d/maven.shexport MAVEN_HOME/home/sunyuhua/dev/apache-maven-3.9.3 export PATH$PATH:$MAVEN_HOME/bin3、执行source source /etc/profile4、检验 mvn -version5、附注:…...
flutter-设置开屏页 解决开屏白屏问题
flutter_native_splash 当您的应用程序打开时,本机应用程序会短暂加载 Flutter。默认情况下,在此期间,本机应用程序会显示白色启动屏幕。该包自动生成 iOS、Android 和 Web 本机代码,用于自定义本机启动画面背景颜色和启动图像。支…...
简单理解Linux中的一切皆文件
一款操作系统要管理各种各样不同的硬件,因为硬件的不同所以它们使用的文件系统也不同。但是按道理来说,文件系统的不同对于用户来说可不是一件好事,操作不同的硬件就要使用不同的方法。 但是Linux有一切皆文件。 简单来说,Linux…...
Kubernetes的endpoint
简介 Kubernetes的endpoint(终结点)是用于将服务绑定到集群中其他组件的网络地址。Endpoint为服务提供了一个稳定的虚拟IP地址,它会负责将流量从Service路由到后端Pod。 下面是使用Kubernetes的endpoint的详细步骤: 创建一个Se…...
第四章,向量组,2-矩阵等价与向量组等价的关系
第四章,向量组,2-矩阵等价与向量组等价的关系 矩阵乘法与线性表示矩阵等价与向量组等价 玩转线性代数(23)线性组合与线性表示的应用的笔记,相关证明以及例子见原文 矩阵乘法与线性表示 设有 A m ∗ n B n ∗ l C m ∗ l A_{m*n}B_{n*l}C_{m…...
Flink源码之StreamTask启动流程
每个ExecutionVertex分配Slot后,JobMaster就会向Slot所在的TaskExecutor提交RPC请求执行Task,接口为TaskExecutorGateway::submitTask CompletableFuture<Acknowledge> submitTask(TaskDeploymentDescriptor tdd, JobMasterId jobMasterId, RpcTi…...
【BASH】回顾与知识点梳理(三十)
【BASH】回顾与知识点梳理 三十 三十. 进程的观察30.1 ps :将某个时间点的进程运作情况撷取下来仅观察自己的 bash 相关进程: ps -l观察系统所有进程: ps aux 30.2 top:动态观察进程的变化30.3 pstree 该系列目录 --> 【BASH】…...
亿赛通电子文档安全管理系统任意文件上传漏洞复现
0x01 产品简介 亿赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产&…...
java:数据库连接池
概念 举个例子来说吧,假设我们开了一家餐馆,客人来了,我们就请一个服务员,使用完后再把他开除了,下个客人再来了,我们再请一个,使用完再开除。 这是不是我们现在使用 JDBC 连接数据库的场景&a…...
可视化绘图技巧100篇基础篇(三)-条形图(一)
目录 前言 适用场景 图例 条形图分类 多系列条形图 单系列条形图...
如何使用Redis实现附近商家查询
导读 在日常生活中,我们经常能看见查询附近商家的功能。 常见的场景有,比如你在点外卖的时候,就可能需要按照距离查询附近几百米或者几公里的商家。 本文将介绍如何使用Redis实现按照距离查询附近商户的功能,并以SpringBoot项目…...
于vue3+vite+element pro + pnpm开源项目
河码桌面是一个基于vue3viteelement pro pnpm 创建的monorepo项目,项目采用的是类操作系统的web界面,操作起来简单又方便,符合用户习惯,又没有操作系统的复杂! 有两个两个分支,一个是web版本,…...
18-组件化开发 根组件
组件化开发 & 根组件: 1. 组件化:一个页面可以拆分成一个个组件,每个组件有着自己独立的结构、样式、行为. 好处:便于维护,利于复用->提升开发效率 组件分类: 普通组件 , 根组件 2. 根组件:整个应用最上层的组件,包裹所有普通小组件…...
springboot集成ES
1.引入pom依赖2.application 配置3.JavaBean配置以及ES相关注解 3.1 Student实体类3.2 Teacher实体类3.3 Headmaster 实体类4. 启动类配置5.elasticsearchRestTemplate 新增 5.1 createIndex && putMapping 创建索引及映射 5.1.1 Controller层5.1.2 service层5.1.3 ser…...
Maven 生成编译时间和版本Java类
本文使用Maven插件来自动生成一个 Version.java 类,可以在Java代码中使用里面对应的常量,获取当前版本号和构建时间。 Maven编译后自动生成的 Version.java 文件内容如下所示: package com.shanhy.demo;public final class Version {public…...
关于uniapp微信小程序scroll-view组件使用show-scrollbar隐藏不了滚动条
这里关于使用 scroll-view组件 时候有滚动条 想要隐藏滚动条但是使用show-scrollbar没有效果 这时候又使用类名隐藏滚动条 使用id隐藏滚动条都不行 解决方法:在使用 scroll-view组件 的页面或者app 页面加上以下代码就可以了 ::-webkit-scrollbar {displa…...
CSS:filter滤镜 详解(用法 + 代码 + 例子 + 效果)
文章目录 filter 滤镜blur() 模糊度例子 渐变光晕 brightness() 元素亮度contrast() 对比度grayscale() 元素灰度hue-rorate() 色相opacity() 透明度invert() 反转颜色saturate() 饱和度 backdrop-filter 蒙版,滤镜例子 卷轴展开 filter 滤镜 动图为效果添加前后对…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
