当前位置: 首页 > news >正文

关于 Lora中 Chirp Spread Spectrum(CSS)调制解调、发射接收以及同步估计的分析

本文结合相关论文对CSS信号的数学形式、调制解调、发射接收以及同步估计做了全面分析,希望有助于更好地理解lora信号

long-range (LoRa) modulation, also known as chirp spread spectrum (CSS) modulation, in LoRaWAN to ensure robust transmission over long distances by tolerating interference and noise.

参考:On the LoRa Chirp Spread Spectrum Modulation: Signal Properties and Their Impact on Transmitter and Receiver Architectures

正弦波线性调频信号由短时频率扫描组成,下图为其数学表示形式

a sine-wave chirp signal, concisely denoted as chirp in the following, consists of a short-time frequency sweep mathematically expressed as

使用M个chirp信号进行调制,Δf (s, t)表示调制符号s在t时刻的瞬时频率偏移

LoRa modulation uses M differently shaped chirps, each of which is in one-to-one correspondence with the M symbols of the modulation alphabet S = {0, ··· ,M − 1}. In particular, given a modulation symbol s ∈S, the instantaneous frequency-offset Δf (s, t) of the corresponding modulated chirp linearly increases starting from − B/2+B/M*s. Then, when the maximum frequency-offset B/2 is reached, Δf (s, t) wraps around to −B/2 and keeps on increasing linearly. Assuming t0 =0 as the symbol starting instant, the chirp stops when Δf (s, t = Ts)=Δf (s, 0). Its duration Ts is usually referred to as symbol time. 

chirp调制是一个wrap-around式的操作,频偏到达最大会返回至最低再开始

调制信号的产生

随后是正常的基带信号调制的过程

 基带信号的同相和正交信号的表示:in-phase and quadrature baseband signals

连续时间相位推导离散时间的相位

 此处的采样时间:符号时间/扩频系数,也就是采样频率为符号带宽BW,而无需奈奎斯特带宽

基带信号上采样之后发射

调制信号的接收和解调

h表示信道参数

相干解调

 针对接收信号使用极大似然方法进行符号估计

在信道参数和接收信号的条件下估计symbol属于s的概率,实质上就是找到接收信号在各个传输符号上的投影最大值

 实际的FFT Detector实现

 但是这种方法需要遍历各个符号,并不实用,实际上采用的是将接收信号的各个采样数值和basic up-chirp相关后进行FFT,找出最大值,就是估计出来的符号

实际的结构

解调前需要的同步:需要补偿CFO、STO、SFO

参考:Low Complexity LoRa Frame Synchronization for Ultra-Low Power Software-Defined Radios

 为何会有频偏:Low-cost crystal oscillators have an inherent mismatch with their nominal frequency value and therefore the down-conversion is performed with a different frequency than the up-conversion.

Before being able to demodulate the received symbols and recover the data, a LoRa receiver must also compensate for sampling, carrier frequency and symbol timing offsets that are due to unsynchronized timing references between the transmitter and the receiver.

 直观展示

CFO会使接收到的信号的频率整体搬移,超出频带,再经过采样,使采样后的在频带之内的信号与原信号不一致

CFO will shift the signal out of the receiver’s reception bandwidth, defined by in the interval [−N/2, .., N/2]. Sampling at a normalized minimum rate of 1/N folds the signal back into the receiver’s input bandwidth which, in Figure 3, has the effect of reconstructing complete up-chirps.

 STO影响了接收信号的起始时刻

Next, in the absence of synchronization, after sampling, the receiver has no way of identifying the start of the received sequence, resulting in an STO consisting of an integer number of samples, STOint (with STOint <N) plus a fraction of a sample, STOfrac. In the example of Figure 3, the signal is received with an STO (horizontal time shift) equal to 7.2 samples. Recovering STOint is mandatory for correct alignment to the modulated symbols and compensating for STOfrac is necessary for concentrating the symbol energy within a single FFT bin.

 SFO影响采样频率,导致累计采样误差

序列越长,累计误差的影响越大,导致一个符号里面的各个采样点被混淆,在使用FFT解调的时候被错认为其他的frequency bin

Finally, Figure 4 shows the impact of SFO on an otherwise perfectly synchronized signal. In the figure, we observe the effect of a receiver with a slightly higher sampling frequency to that of the emitter. We observe a cumulative sampling offset which has the effect of slowly moving the samples off of the desired integer frequency bins. If this offset is not corrected, the demodulator will start confusing a symbol (identified by its frequency bin) with its next neighbor. This is an important problem for high order modulations. For example, the highest order modulation in LoRa has N = 4096. Assuming low cost quartz crystals with a ±20 ppm precision are used in both emitter and receiver, a potential worst case offset of 40 ppm can lead to a drift of 0.16 sample after a single symbol. While this effect can sometimes be ignored during preamble acquisition, for example if the preamble is relatively short, this effect must imperatively be corrected during the demodulation phase of frame detection. An estimation of SFO can be extracted from CFO if the source of both offsets, the quartz crystal reference, is identical.

 核心方法:the presence of both up-chirps and down-chirps in a synchronization preamble leads to an elegant solution for extracting the integer part of both values.

CFO和STO的处理

 理想的信号

 收到CFO/STO影响下的接收信号

小数部分的提取:使用到两个完全相同的连续符号进行估计

SFO的估计 

The mismatch between the transmitter and receiver oscillators also results in different sampling frequencies, and therefore, the sampled LoRa signal at the receiver experiences a sampling frequency offset.

参考:LORA DIGITAL RECEIVER ANALYSIS AND IMPLEMENTATION

第d个symbol的第n个采样时刻的表示形式

然后对实际采样信号和实际参考信号进行同样的dechirp处理

 然后计算FFT,得到在SFO下的实际采样的计算值

 offset逐符号累计,会导致持续性解调错误

 Lora的前导preamble用于同步

 接收机检查输入信号功率并进行FFT,如果至少一个频率分档的幅度超过给定阈值,则将幅度最大的分档的指数标记为 ˆ Spre,并继续该过程。

重复识别到frequency bin之后,跳过一定的采样点,进入header部分

相关文章:

关于 Lora中 Chirp Spread Spectrum(CSS)调制解调、发射接收以及同步估计的分析

本文结合相关论文对CSS信号的数学形式、调制解调、发射接收以及同步估计做了全面分析&#xff0c;希望有助于更好地理解lora信号 long-range (LoRa) modulation, also known as chirp spread spectrum (CSS) modulation, in LoRaWAN to ensure robust transmission over long d…...

Java - API

API全称"Application Programming Interface"&#xff0c;指应用程序编程接口 API&#xff08;JDK17.0&#xff09;链接如下 : Overview (Java SE 17 & JDK 17) (oracle.com)https://docs.oracle.com/en/java/javase/17/docs/api/中文版&#xff1a; Java17中…...

力扣 3152. 特殊数字Ⅱ

题目描述 queries二维数组是nums数组待判断的索引区间&#xff08;左闭右闭&#xff09;。需要判断每个索引区间中的nums相邻元素奇偶性是否不同&#xff0c;如果都不同则该索引区间的搜索结果为True&#xff0c;否则为False。 暴力推演&#xff1a;也是我最开始的思路 遍历q…...

识别和缓解软件安全威胁的最佳工具

软件安全威胁会给企业带来重大损失&#xff0c;从经济损失到声誉受损。 企业必须主动识别和缓解这些威胁&#xff0c;防止它们造成危害。 幸运的是&#xff0c;有许多工具可以帮助企业识别和缓解软件安全威胁。 在本博客中&#xff0c;我们将探讨识别和缓解软件安全威胁的顶…...

Linux下的压缩与解压:掌握核心命令行工具

目录 一.前言 二.压缩文件概述 三.tar&#xff1a;Linux 的通用归档工具 常用 tar 命令 四.gzip&#xff1a;强大的压缩程序 常用 gzip 命令 五.zip 和 unzip&#xff1a;处理 ZIP 压缩文件 常用 zip 和 unzip 命令 实用技巧和最佳实践 六.结语 一.前言 在 Linux …...

BGP选路实验

要求&#xff1a; 1.如图连接网络&#xff0c;合理规格IP地址&#xff0c;AS200内IGP协议为OSPF&#xff1b; 2.R1属于AS 100&#xff1b;R2-R3-R4小AS234、R5-R6-R7小AS567&#xff0c;同时声明大AS 200&#xff0c;R8属于AS300&#xff1b; 3.R2-R5、R4-R7之间为联邦EBGP邻居…...

白骑士的C#教学高级篇 3.3 网络编程

网络编程是现代应用程序开发中至关重要的一部分。C# 提供了一套丰富的 API 来处理基本网络通信、Web请求与响应。在本节中&#xff0c;我们将深入探讨这些内容&#xff0c;帮助您掌握如何在 C# 中进行网络编程。 基本网络通信 基本网络通信通常涉及套接字&#xff08;Socket&a…...

AI大模型赋能游戏:更智能、更个性化的NPC

参考论文&#xff1a;https://arxiv.org/abs/2403.10249 在传统游戏中&#xff0c;NPC&#xff08;非玩家角色&#xff09;的行为往往是预先设定好的&#xff0c;缺乏灵活性和变化性。然而&#xff0c;基于大模型的NPC可以利用其强大的推理和学习能力&#xff0c;实时生成对话…...

pymysql的上下文管理器:简化数据库操作

pymysql的上下文管理器&#xff1a;简化数据库操作 当我们使用 pymysql 操作数据库时&#xff0c;管理数据库连接和游标的生命周期是一项重要的任务。Python 的上下文管理器提供了一种优雅的方式来处理资源的获取和释放。在本文中&#xff0c;我们将探索如何创建一个简单的 py…...

AI秘境-墨小黑奇遇记 - 修炼成神经(二)

在解开了感知机和门电路的谜题后&#xff0c;墨小黑对人工智能的世界渐渐产生了浓厚的兴趣。他开始意识到&#xff0c;自己不仅是在学习一门复杂的技术&#xff0c;更是在探索一个充满未知与挑战的神秘领域。 入夜&#xff0c;墨小黑一脸无奈地盯着电脑屏幕&#xff0c;思考着自…...

计算机网络之分组交换时延的计算

一.类型 分组交换的时延包括一下几种&#xff1a; 1.1发送时延 发送时延&#xff0c;也叫传输时延&#xff0c;结点将分组的所有比特推向链路所需要的时间&#xff0c;即从发送分组的第一个比特算起&#xff0c;到该分组的最后一个比特发送完为止。 发送时延 分组长度 / 发…...

虚幻5|入门AI行为树,建立敌人

本章分成两块部分一块是第一点的制作一个简单的AI&#xff0c;后面第二点之后是第二部分建立ai行为树。这两个部分是一个衔接&#xff0c;最好不要跳看 一&#xff0c;制作一个简单的AI 1.首先&#xff0c;我们创建一个敌人的角色蓝图&#xff0c;添加一个场景组件widget用于…...

ARM处理架构中的PMU(Performance Monitoring Unit)和 AMU(Activity Monitors Unit)简介

在 ARM 架构中,PMU(Performance Monitoring Unit)和 AMU(Activity Monitors Unit)是用于性能分析和监控的硬件单元,但它们的功能和应用场景有所不同。以下是它们的主要区别: 1. PMU (Performance Monitoring Unit) 功能:PMU 是一种用于监控处理器性能的硬件单元。它可…...

Service服务在Android中的使用

目录 一&#xff0c;Service简介 二&#xff0c;Service的两种启动方式 1&#xff0c;非绑定式启动Service 2&#xff0c;绑定式启动Service 三&#xff0c;Service的生命周期 1&#xff0c;非绑定式Service的生命周期 2&#xff0c;绑定式Service的生命周期 四&#xf…...

浅谈C语言位段

1、位段的定义 百度百科中是这样解释位段的: 位段&#xff0c;C语言允许在一个结构体中以位为单位来指定其成员所占内存长度&#xff0c;这种以位为单位的成员称为“位段”或称“位域”( bit field) 。利用位段能够用较少的位数存储数据。 以下&#xff0c;我们均在VS2022的…...

arcgisserver登陆信息不正确

密码明明对&#xff0c;但是登录提示登录信息不正确 Arcgis server 9.3.1 无法登录ArcGIS Manager 提示Incorrect Login Information 操作系统windows 2008 x64server 解决办法&#xff1a; 关闭window防火墙解决。 如果防火墙已经关闭&#xff1a; 通过修改用户口令后就可以重…...

KOLA: CAREFULLY BENCHMARKING WORLD KNOWLEDGE OF LARGE LANGUAGE MODELS

文章目录 题目摘要简介KOLA 基准实验评估结论和未来工作道德声明 题目 KOLA&#xff1a;仔细对大型语言模型的世界知识进行基准测试 论文地址:https://arxiv.org/abs/2306.09296 项目地址:https://github.com/ranahaani/GNews 摘要 大型语言模型 (LLM) 的卓越性能要求评估方法…...

Robot Operating System——机器人关节的角度、速度和力矩

大纲 应用场景定义字段解释 案例 sensor_msgs::msg::JointState 是 ROS (Robot Operating System) 中的一个消息类型&#xff0c;用于表示机器人关节的状态信息。它通常用于传输和处理机器人关节的角度、速度和力矩等信息。 应用场景 机器人控制 关节控制&#xff1a;在机器人…...

一分钟掌握java9新特性

try-with-resources语句 /** * 在处理必须关闭的资源时&#xff0c;使用try-with-resources语句替代try-finally语句。 生成的代码更简洁&#xff0c;更清晰&#xff0c;并且生成的异常更有用 * java9 之前写法 */ public static String readFile1(String fileName){ tr…...

89. UE5 RPG 实现伤害 冷却 消耗技能描述

在上一篇文章里&#xff0c;我们能够通过富文本显示多种格式的文字&#xff0c;并显示技能描述。在这一篇文章里&#xff0c;我们继续优化技能描述&#xff0c;将技能说需要显示的内容显示出来。 实现火球术的基础描述 首先&#xff0c;我们现实现火球术的基础描述&#xff0…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...