UWB技术中的两种调制方式:PPM与PAM
一、UWB技术概述
UWB调制的基本原则
二、脉冲位置调制(PPM)
1. PPM的工作原理
- 数据“0”可以对应脉冲在基准时间 t0 处发出;
- 数据“1”可以通过将脉冲偏移时间 Δt 来表示。
- 例如,如果系统采用 1 纳秒的时间偏移(Δt=1 ns),则“0”对应的脉冲在时间 t0 处发出,“1”则在 t0+Δt 处发出。
- 对于多进制的PPM,每个数据符号可以对应不同的脉冲时间位置。例如,4-PPM可以用4个不同的时间位置来表示2位数据(如00、01、10、11)。
2. PPM的优缺点
优点:
- 高精度定位:由于UWB脉冲的极短持续时间和高精度的时域控制,PPM能够实现非常高精度的定位和测距。
- 低功耗:PPM调制仅通过短脉冲进行数据传输,因此功耗非常低,适合长时间运行的低功耗设备。
缺点:
- 时钟同步要求高:PPM要求发送端和接收端的时钟同步非常精确。时钟偏差会影响到时间位置的精度,从而影响测距和定位的准确性。
- 多径干扰:在复杂的室内环境中,UWB信号可能会遭遇反射和折射,导致信号到达接收器的时间存在多种路径,这可能影响定位精度。
三、脉冲幅度调制(PAM)
1. PAM的工作原理
- 数据“0”可以对应一个较小幅度的脉冲;
- 数据“1”可以对应一个较大幅度的脉冲。
- 00:对应最低幅度的脉冲。
- 01:对应较低幅度的脉冲。
- 10:对应较高幅度的脉冲。
- 11:对应最高幅度的脉冲。
2. PAM的优缺点
优点:
- 实现简单:PAM不依赖精确的时间同步,接收端只需检测脉冲的幅度,从而降低了对硬件和系统的要求。
- 支持多进制:PAM可以通过增加幅度的数量来实现多进制调制。例如,4-PAM可以表示两个二进制位。
缺点:
- 对噪声敏感:由于数据是通过脉冲的幅度变化来表示的,因此PAM对噪声和干扰的敏感度较高,尤其是在信号强度较低的环境中。
- 功耗较高:与PPM相比,PAM需要发送不同强度的脉冲,这可能导致更高的功耗,尤其是在高数据传输速率的情况下。
四、PPM与PAM的对比
| 调制方式 | 编码方法 | 优点 | 缺点 | 应用场景 |
| PPM | 通过脉冲位置编码 | 高精度定位、低功耗 | 时钟同步要求高、多径干扰影响大 | 高精度定位、测距 |
| PAM | 通过脉冲幅度编码 | 实现简单、支持多进制扩展 | 对噪声敏感、功耗较高 | 稳定环境下的数据传输 |
五、UWB精准测距的基本原理:
1. 脉冲位置测量(TOA, Time of Arrival)
- 时间到达测量(TOA)是UWB最常用的测距方法之一。它依赖于设备之间的UWB信号的传播时间。
- 在这种方法中,UWB设备通过发射极短的脉冲信号,接收设备根据接收到信号的到达时间来计算发送设备和接收设备之间的距离。
- 由于UWB信号的脉冲宽度非常短(通常在纳秒级别),它能精确地计算信号的传播时间,从而获得高精度的距离测量。通过已知的传播速度(通常是光速),可以精确计算出两设备间的距离:D=c×Δt,其中,D 是距离,c 是光速(约 3 × 10^8 m/s),Δt 是信号传播的时间延迟。
2. 双向测距(TWR, Two-Way Ranging)
- 双向测距(TWR)是通过发送信号并等待其返回来测量传播时间。与单向测距不同,TWR方法首先通过发送一个UWB脉冲信号,接收设备返回一个响应信号,发射设备根据往返信号的传播时间来计算距离。
- 这种方法有助于减少由设备时钟偏差引起的误差。通过计算信号从发射到接收和返回的时间,可以计算设备间的准确距离。
3. 时间差定位(TDOA, Time Difference of Arrival)
- TDOA 是另一种常用于UWB精准定位的测距方法。它通过测量信号到达多个接收器的时间差来计算距离。多个接收器位于已知位置,接收从同一个发射器发射的UWB脉冲信号。通过计算各接收器之间的时间差,系统能够精确定位发射设备的位置。
- 这种方法通常用于 定位系统,例如在室内定位中,多个已知位置的接收器(例如基站)会捕获从一个移动设备发出的信号,通过计算时间差来确定该设备的精确位置。
4. 多径效应的处理
- 由于UWB信号的宽带特性,它可以同时接收多个不同路径的反射信号(即多径信号)。尽管多径效应会导致信号传播时间的不同,但UWB技术能够通过对脉冲的精确时域处理来区分不同的反射路径,从而消除多径对距离测量的影响。
- 使用脉冲的精确时域特性,UWB能够通过 匹配滤波 技术从多个信号路径中提取最强的信号,并计算出最精确的传播时间。
5. 精确时钟同步
- UWB设备依赖于非常精确的时钟同步,以便精确地测量信号的传播时间。由于信号传播时间极短(通常为纳秒级别),时钟同步的误差会直接影响到测量精度。
- 在实际应用中,为了减少时钟偏差的影响,常常采用两种方法:
- 硬件同步:通过专门的同步电路确保发射和接收设备之间的时钟同步。
- 基于协议的同步:例如,Fine Time Measurement (FTM) 协议通过软件协作在设备间进行时钟同步,进一步提高定位和测距精度。
六、UWB的应用
- PPM:主要用于需要高精度定位的场景,如室内定位、资产跟踪、无人机定位等。在这些场景中,低功耗和高精度是最重要的需求。
- PAM:则更适用于数据传输较为稳定的环境,如短距离无线通信、多设备之间的快速配对等。
七、结语
相关文章:
UWB技术中的两种调制方式:PPM与PAM
Ultra-Wideband (UWB) 技术以其低功耗、宽频谱和高精度定位的特点,广泛应用于物联网(IoT)、智能家居、资产追踪和无线通信等领域。在UWB中,信号的调制方式对于数据传输的效率和精度起着至关重要的作用。本文将深入探讨UWB中常用的…...
达梦:用户和模式
目录标题 数据库管理系统与用户权限管理**四权分立****用户管理与权限划分****用户管理界面与权限控制****用户创建与管理****实操**1. **默认创建用户与模式**:2. **用户权限和角色分配**:3. **命令行管理用户与角色**:4. 模式也可以创建 **…...
23. AI-大语言模型-DeepSeek
文章目录 前言一、DeepSeek是什么1. 简介2. 产品版本3. 特征4. 地址链接5. 三种访问方式1. 网页端和APP2. DeepSeek API 二、DeepSeek可以做什么1. 应用场景2. 文本生成1. 文本创作2. 摘要与改写3. 结构化生成 3. 自然语言理解与分析1. 语义分析2. 文本分类3. 知识推理 4. 编程…...
Spring-GPT智谱清言AI项目(附源码)
一、项目介绍 本项目是Spring AI第三方调用整合智谱请言(官网是:https://open.bigmodel.cn)的案例,回答响应流式输出显示,这里使用的是免费模型,需要其他模型可以去 https://www.bigmodel.cn/pricing 切换…...
计算机网络(涵盖OSI,TCP/IP,交换机,路由器,局域网)
一、网络通信基础 (一)网络通信的概念 网络通信是指终端设备之间通过计算机网络进行的信息传递与交流。它类似于现实生活中的物品传递过程:数据(物品)被封装成报文(包裹),通过网络…...
云计算架构学习之Ansible-playbook实战、Ansible-流程控制、Ansible-字典循环-roles角色
一、Ansible-playbook实战 1.Ansible-playbook安装软件 bash #编写yml [rootansible ansible]# cat wget.yml - hosts: backup tasks: - name: Install wget yum: name: wget state: present #检查playbook的语法 [rootansible ansible]…...
《运维工程师如何利用DeepSeek实现智能运维:分级实战指南》
目录 智能运维革命:DeepSeek带来的范式转变DeepSeek核心运维能力全景解析分级实战场景与解决方案 3.1 初级工程师:自动化运维入门3.2 中级工程师:复杂系统诊断与优化3.3 高级工程师:架构级智能运维典型项目案例深度剖析 4.1 金融系统全链路监控体系构建4.2 电商大促资源弹性…...
windows事件倒计时器与提醒组件
widgets 这是桌面组件前端开源组件,作者称:项目还在持续完善中,目前包含键盘演示、抖音热榜、喝水提醒、生日列表、待办事项、倒计时、灵动通知、打工进度等多个组件 有vue编程能力的可以自己做组件 百度网盘 夸克网盘 桌面组件 | Ca…...
Mac OS JAVA_HOME设置
个人博客地址:Mac OS JAVA_HOME设置 | 一张假钞的真实世界 在MacOS上使用DMG文件安装了Jdk8 之后,在默认路径下找不到JDK的HOME路径: $ which java /usr/bin/java $ ls -l /usr/bin/java lrwxr-xr-x 1 root wheel 74 12 6 2015 /usr/b…...
6.3 DBMS的功能和特征
文章目录 DBMS的6大功能DBMS的3个特征DBMS的分类 DBMS的6大功能 DBMS包含数据定义,数据库操作(检索、插入、修改、删除),数据库运行管理(保证多用户环境下正常运行),数据组织、存储、管理&…...
C# ConcurrentQueue 使用详解
总目录 前言 在C#多线程编程中,数据共享如同走钢丝——稍有不慎就会引发竞态条件(Race Condition)或死锁。传统Queue<T>在并发场景下需要手动加锁,而ConcurrentQueue<T>作为.NET Framework 4.0 引入的线程安全集合&a…...
python脚本文件设置进程优先级(在.py文件中实现)
在 Python 代码中可以直接通过 psutil 模块或 系统调用 来设置进程优先级,无需依赖终端命令。以下是具体方法和示例: 1. 使用 psutil 模块(跨平台推荐) psutil 是一个跨平台库,支持 Windows、Linux 和 macOS。通过其 …...
基于Django快递物流管理可视化分析系统(完整系统源码+数据库+详细开发文档+万字详细论文+答辩PPT+详细部署教程等资料)
文章目录 基于Django快递物流管理可视化分析系统(完整系统源码数据库详细开发文档万字详细论文答辩PPT详细部署教程等资料)一、项目概述二、项目说明三、研究意义四、系统设计技术架构 五、功能实现六、完整系统源码数据库详细开发文档万字详细论文答辩P…...
el-table树状表格,默认展开第一个节点的每一层
效果如图 <template><el-table:data"tableData"style"width: 100%":tree-props"{ children: children, hasChildren: hasChildren }":expand-row-keys"expandRowKeys"row-key"id"expand-change"handleExpan…...
【雅思博客05】New Guy in Town
Daily Life ‐ New Guy in Town 原文: A: Oh, I don’t know if you heard, but someone moved into that old house down the road. B: Yeah, I know. I met the owner of the house yesterday as he was moving in. His name is Armand. A: Really? What’s h…...
【Spring详解三】默认标签的解析
三、默认标签的解析 Spring的标签中有 默认标签和 自定义标签,两者的解析有着很大的不同,这次重点说默认标签的解析过程。 DefaultBeanDefinitionDocumentReader.class 默认标签的解析是在 DefaultBeanDefinitionDocumentReader.parseDefaultElement()函…...
Windows 图形显示驱动开发-IoMmu 模型
输入输出内存管理单元 (IOMMU) 是一个硬件组件,它将支持具有 DMA 功能的 I/O 总线连接到系统内存。 它将设备可见的虚拟地址映射到物理地址,使其在虚拟化中很有用。 在 WDDM 2.0 IoMmu 模型中,每个进程都有一个虚拟地址空间,即&a…...
简单易懂,解析Go语言中的Channel管道
Channel 管道 1 初始化 可用var声明nil管道;用make初始化管道; len(): 缓冲区中元素个数, cap(): 缓冲区大小 //变量声明 var a chan int //使用make初始化 b : make(chan int) //不带缓冲区 c : make(chan stri…...
STM32 USB 设备的描述信息作用
在使用 STM32 USB 功能时 usbd_desc.c 文件中定义了一段宏,以下解每段宏的用途。 #define USBD_VID 1155 #define USBD_LANGID_STRING 1033 #define USBD_MANUFACTURER_STRING "STMicroelectronics" #define US…...
Redis字符串常见命令(String)
字符串常见命令(String) Redis 中的字符串类型是一种非常基础且常用的数据类型,它不仅可以存储任何形式的字符串(包括文本数据),还可以对数字字符串进行自增、自减等操作。以下是对 Redis 字符串类型常见命…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
