LoRa笔记01 sx1276 sx1278信号强度RSSI研究

本文详细解析了LoRa SX1276模块的RSSI信号强度计算方法,包括不同频率下的公式调整及噪声环境下的信号强度评估,并提供了代码实现示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 前言

RSSI信号强度是无线网络中特别被人关注的一个点,尤其是工程部署中。今天在了解LoRa SX1276的RSSI展示,搜寻了一些资料,做如下笔记留念。(留念。。。真没词用了吗。。。)

本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/

2 官方资料

涉及寄存器

官方英文说明

5.5.5. RSSI and SNR in LoRaTM Mode

The RSSI values reported by the LoRaTM modem differ from those expressed by the FSK/OOK modem. The following
formula shows the method used to interpret the LoRaTM RSSI values:
		RSSI (dBm) = -157 + Rssi, (when using the High Frequency (HF) port)
	or
		RSSI (dBm) = -164 + Rssi, (when using the Low Frequency (LF) port)
		
The same formula can be re-used to evaluate the signal strength of the received packet:
		Packet Strength (dBm) = -157 + Rssi, (when using the High Frequency (HF) port)
	or
		Packet Strength (dBm) = -164 + Rssi, (when using the Low Frequency (LF) port)
		
Due to the nature of the LoRa modulation, it is possible to receive packets below the noise floor. In this situation, the SNR
is used in conjunction of the PacketRssi to compute the signal strength of the received packet:
		Packet Strength (dBm) = -157 + PacketRssi + PacketSnr * 0.25 (when using the HF port and SNR < 0)
	or
		Packet Strength (dBm) = -164 + PacketRssi + PacketSnr * 0.25 (when using the LF port and SNR < 0)

Note:
1. PacketRssi (in RegPktRssiValue), is an averaged version of Rssi (in RegRssiValue). Rssi can be read at any time
(during packet reception or not), and should be averaged to give more precise results.

2. The constants, -157 and -164, may vary with the front-end setup of the SX1276/77/78/79 (LnaBoost =1 or 0,
presence of an external LNA, mismatch at the LNA input…). It is recommended to adjust these values with a single-point
calibration procedure to increase RSSI accuracy.

3. As signal strength increases (RSSI>-100dBm), the linearity of PacketRssi is not guaranteed and results will diverge
from the ideal 1dB/dB ideal curve. When very good RSSI precision is required over the whole dynamic range of the
receiver, two options are proposed:

	- Rssi in RegRssiValue offers better linearity. Rssi can be sampled during the reception of the payload (between
ValidHeader and RxDone IRQ), and used to extract a more high-signal RSSI measurement
	- When SNR>=0, the standard formula can be adjusted to correct the slope:
RSSI = -157+16/15 * PacketRssi (or RSSI = -164+16/15 * PacketRssi)

中文解读

常规情况下,公式是这样:
RSSI (dBm) = -157 + Rssi, (高频口)
RSSI (dBm) = -164 + Rssi, (低频口)
另外在SNR<0的噪声环境下,要按照Packet Strength (dBm) = -157 + PacketRssi + PacketSnr * 0.25 (或者低频时,Packet Strength (dBm) = -164 + PacketRssi + PacketSnr * 0.25)这样的公式。

1.PktRssiValue指单个包的信号强度,是收包这段时间内的RSSI的平均值。RssiValue指当前的信号强度。
2.数值-157以及-164会根据实际射频前端情况有差异(比如 LnaBoost 表示是否有外部LNA 这个数值与实际LNA的输入不匹配)。建议对RSSI数值做单点校准,让RSSI显示更准确。
3.当信号强度超过-100dBm之后,PacketRssi就不能保证线性,结果会偏离 1dB/dB 的曲线。因此需要做一定的校正。当SNR>0时,可以参考如下公式:RSSI = -157+16/15 * PacketRssi (or RSSI = -164+16/15 * PacketRssi)。当然SNR<0时,还要注意同样做噪声干扰的校正,在公式后面 + PacketSnr * 0.25 。

3 代码分析

代码中处理信号强度是这样,判断频段是否大于550MHz,据此来进行高频和低频的不同偏移量的处理。

int16_t SX1276ReadRssi( RadioModems_t modem )
{
	int16_t rssi = 0;

	switch( modem )
	{
	case MODEM_FSK:
		rssi = -( SX1276Read( REG_RSSIVALUE ) >> 1 );
		break;
	case MODEM_LORA:
		if( SX1276.Settings.Channel > RF_MID_BAND_THRESH )
		{
			rssi = RSSI_OFFSET_HF + SX1276Read( REG_LR_RSSIVALUE );
		}
		else
		{
			rssi = RSSI_OFFSET_LF + SX1276Read( REG_LR_RSSIVALUE );
		}
		break;
	default:
		rssi = -1;
		break;
	}
	return rssi;
}

4 范例

假如我们收到这样的信号值:

rssi cur: 61,snr: 35 
pkt rssi:113

因为测试频段是433MHz,且SNR>0,因此使用如下公式:
RSSI = -164+16/15 * PacketRssi = -164 + 16/15 * 113 = -43.467

End


<think>好的,我现在需要处理用户关于SX1278原理图、设计方案和电路图的查询。首先,用户之前已经询问过使用SX1278模块实现ESP8266之间的通讯,现在需要更具体的硬件设计信息。我要确保回答结构清晰,并且符合之前设置的格式要求,比如使用中文、正确的LaTeX格式,以及生成相关问题。 首先,我需要回忆SX1278的基本知识。SX1278是Semtech公司的一款LoRa调制技术的芯片,常用于远距离低功耗通信。它的原理图设计通常包括射频部分、微控制器接口、电源管理等。用户可能需要参考设计文档或应用笔记来构建自己的电路。 接下来,用户需要原理图的具体部分。我应该分模块说明,比如射频前端、电源、SPI接口、天线匹配等。每个部分要简要说明关键元件和设计要点。例如,射频部分需要阻抗匹配网络,电源部分需要稳压和滤波,SPI接口需要上拉电阻等。 然后,要确保使用正确的LaTeX格式。比如在提到阻抗匹配时,可能需要使用数学表达式,如$Z_{ANT}=50\Omega$,需要用$...$包裹。独立公式如计算接收灵敏度可能需要用$$...$$,但用户的问题中可能不需要复杂公式,所以可能较少用到。 还要参考用户提供的引用[^1],里面提到使用OLED显示和DHT11传感器,所以在示例应用中可以提到这些部分,但用户当前的问题更关注原理图本身,所以重点应在硬件连接而非代码。 需要检查是否有常见的设计错误,比如天线匹配不当导致信号差,或者电源噪声影响性能。这些可以作为设计注意事项部分的内容。 生成相关问题时要围绕SX1278的设计扩展,比如PCB布局、调试方法、兼容模块等。确保问题对用户后续有帮助,并且与主题相关。 最后,确保回答符合系统级指令:使用正确的中文,LaTeX格式正确,分点清晰,引用标记正确,并且生成的相关问题合理。需要避免提到用户不可见的指令,保持回答自然。</think>### SX1278原理图设计方案解析 SX1278作为LoRa技术的核心芯片,其电路设计需重点关注射频链路、电源管理和接口配置三个部分[^1]。 #### 一、核心电路模块设计 1. **射频前端电路** - 天线接口需配置$50\Omega$阻抗匹配网络 - 典型电路包含: ```text ANT引脚 → π型匹配网络(L1/C1/C2) → SMA接头 ``` - 接收灵敏度可达$-148dBm$,发射功率$+20dBm$ 2. **电源系统** - 采用两级滤波设计: $$V_{DD} = 3.3V \pm5\%$$ - 推荐电路: ```text LDO稳压 → 10μF钽电容 → 0.1μF陶瓷电容 ``` 3. **控制接口** - SPI总线需配置上拉电阻(典型值$4.7k\Omega$) - 关键信号线: ``` NSS/SCK/MISO/MOSI/RESET/DIO0 ``` #### 二、参考设计图要素 ![SX1278模块框图](data:image/png;base64,{虚拟占位图}) 1. 射频部分:SAW滤波器+巴伦电路 2. 时钟电路:32MHz TCXO晶振(精度±2ppm) 3. 状态指示:LED连接DIO1引脚 #### 三、设计注意事项 1. PCB布局需遵循: - 射频走线长度<$1/20\lambda$ - 地平面完整分割 2. 测试点预留: - RF输出功率测试点 - RSSI信号测量点
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值