
把LoRa模块的射频口用同轴线接上频谱仪Span拉到20MHz按下Max Hold旁边的节点开始每隔3秒丢一包数据。第一次干这活的人多半会盯着屏幕发懵——底噪稀稀拉拉的什么都看不见得等上十几包信号屏幕上才慢慢浮起一个细长的脉冲尖。这个脉冲就是LoRa信号。先说个容易栽的地方。现在搜“Lora”跳出来的结果十个里有八个是AI圈的LoRA模型微调秋叶训练器、safetensors这些词满天飞剩下两个才可能是物联网里的LoRa无线通信。这俩英文缩写只差一个字母的大小写含义完全不在一个宇宙。LoRa是低功耗广域网里常用的线性调频扩频调制工作在免授权ISM频段专门解决低功耗远距离传输LoRA则是大模型高效微调的一种低秩分解方法。本文处理的是前者用频谱分析仪去观察LoRa射频信号。这篇文章记录我怎么用一台频谱仪把LoRa节点的发射链路测了个遍信号长什么样、中心频点准不准、带宽够不够、谐波和杂散什么水平。适合正在调试LoRa模块的硬件工程师、做物联网网关部署的朋友以及刚接触射频测量想少走弯路的新手。1. 频谱仪看LoRa到底能看到什么1.1 同名的两个Lora别搞混先把这个概念问题掰扯清楚因为后台私信里已经有人问我“是不是要讲AI画图模型训练”了。LoRa是Semtech公司的专利调制技术全称Long Range核心是Chirp Spread Spectrum线性调频扩频。它在433MHz、470MHz、868MHz、915MHz这些ISM频段上工作带宽常见125kHz、250kHz、500kHz扩频因子从SF7到SF12可调。LoRa的招牌特性是灵敏度高、抗干扰能力强用很低的发射功率能传几公里所以成了物联网抄表、农业传感器、物流追踪这些场景的老熟人。而AI圈的LoRA是Low-Rank Adaptation指的是在冻结原模型参数的情况下往模型里插入低秩矩阵做微调出来的产物是safetensors或ckpt格式的小文件。搜索热词里混着“lora微调实战教程”、“秋叶 lora 训练器”这类内容就是因为这个缩写太像了。如果你是为了给Stable Diffusion或者Qwen做微调搜到这篇文章可以右转去模型训练教程了留在这一篇的我们聊的是射频测量。1.2 LoRa信号在频域里长什么样很多刚接触射频的兄弟会有个误区觉得在频谱仪上看LoRa信号会像看WiFi或蓝牙一样看到一个边界清晰的鼓包。实际上完全不是这么回事。LoRa每个符号的瞬时频率随时间线性变化一个符号从频带低端扫到高端或者反过来扫这叫做Chirp。结果就是在频谱仪的屏幕上LoRa信号更像一根在窄频段里快速来回扫过的细尖脉冲而不是一个稳定的功率谱密度凸包。打个比方。WiFi的频谱像一盏一直亮着的日光灯看多久都是那个均匀的形状LoRa更像一根荧光棒在黑暗里快速挥舞单看一帧你可能什么都抓不到只有用Max Hold这种“长曝光”方式累计观察才能看见它扫过的轨迹。这带来一个直接影响普通功率计只能告诉你“有没有功率、总功率多大”但无法告诉你这个信号在哪个频率上、占多大带宽、有没有跑偏、有没有不该出现的谐波。这些信息全靠频谱分析仪。我调试LoRa节点时最常用的测量项就四个中心频率是否准、发射功率多大、占用带宽是否在预期值、谐波和杂散有没有超标。1.3 为什么推荐至少一台频谱仪有人觉得LoRa模块是数字器件串口能读到RSSI和SNR就够了频谱仪可有可无。这个想法我踩过坑才明白有多天真。串口报出来的RSSI是接收端对信号强度的估算它无法告诉你发射端天线匹配是否良好、滤波器是否把带外辐射压住、晶振频偏有没有把信号推离中心频点。这些物理层问题在通信距离上体现为“功率挺高但就是传不远”而频谱仪一眼就能定位。所以如果你要做LoRa产品的硬件调试或者量产抽检一台靠谱的频谱仪是省时间的投资不是锦上添花。2. 测LoRa前的设备准备与参数设置2.1 频谱仪、天线、衰减器怎么搭先说频谱仪选型。测LoRa用不着实验室级的高档货但要满足几个硬条件频率范围至少要覆盖被测频段的3次谐波比如测433MHz频段最好能到1.3GHz以上底噪不能太差否则125kHz窄带信号会被淹掉如果有OBW和信道功率测量功能会更方便。常见的选择是台式频谱仪比如是德、罗德与施瓦茨、普源、鼎阳这些品牌的对应对级产品或者入门级的USB频谱仪。如果预算有限二手的老型号台式频谱仪也能干这个活关键是操作习惯要熟悉。搭建测试链路时我强烈建议优先测传导输出也就是直接用同轴线把模块的射频口和频谱仪连接起来中间串一个衰减器。这样测出来的是模块本身的真实输出不受周围环境影响。辐射测量也不难但问题在于普通办公室环境下周边电磁干扰会叠加在信号上测出来的功率和频谱都会有偏差只能做相对对比不适合当判断依据。衰减器是容易被忽略的配件但它非常重要。LoRa模块发射功率常在20dBm以上直接把这么大功率灌进频谱仪前端轻则产生非线性失真重则烧坏混频器。我自己的习惯是预估功率有20dBm就串30dB衰减预估有14dBm左右串20dB衰减。选衰减器时注意功率容量至少要能承受2倍于实际功率别用那种几块钱的小功率衰减器顶着用。线缆方面损耗要提前测好或者查表低端SMA线缆在433MHz损耗通常零点几个dB影响不大但到了2.4GHz以上就不可忽视了。2.2 黄金参数组合中心频率、Span、RBW、检波器频谱仪参数设置是门手艺活设错了再贵的仪器也白搭。我测LoRa时最常用的设置组合如下这些数值看起来随意实际每个都是有针对性的。参数建议设置为什么这么设中心频率LoRa预期频点如433.125MHz对准信号所在位置Span2MHz看单信号/ 20MHz扫描找信号太窄看不到邻道和谐波太宽看不清包络细节RBW10kHz~30kHz匹配125kHz窄带信号兼顾底噪和扫描速度VBW与RBW相同或自动平滑噪声不影响幅度测量检波器Peak Max Hold捕获猝发信号的峰值轨迹参考电平20dBm~25dBm防止强信号削顶衰减20dB~30dB外加保护频谱仪前端RBW的选择值得多说两句。RBW越小底噪越低因为落入分辨率带宽内的噪声功率变小了RBW减小10倍噪声大约降10dB。但RBW越小扫描时间越长对于LoRa这种几百毫秒才发一包的猝发信号扫太慢意味着经常漏掉信号。我用30kHz RBW测125kHz带宽的LoRa底噪大约在-100dBm上下足够看清信号形状扫描时间也还能接受。Span的选择也讲究。第一次扫未知信号我先把Span拉到20MHz甚至50MHz确认信号大概在哪个位置然后用Marker标出峰值再把中心频率对准它Span收窄到2MHz看细节。如果你一上来就用200kHz的窄Span等信号幻影一样消失了才反应过来就晚了。记住一个原则先宽后窄先找再细看。3. 实操记录让433MHz LoRa信号现形3.1 让模块连续发LoRa包频谱仪准备好了接下来得让LoRa模块“说话”。最省事的办法是用现成的LoRa评估板或者带AT指令的模块连上串口工具发AT指令让它循环发包。不同厂家的指令集有差异但思路上差不多下面是一个典型的配置过程具体以模块手册为准。ATCH433125000 # 设置中心频率433.125MHz ATBW125000 # 设置带宽125kHz ATSF9 # 扩频因子9 ATPOWER22 # 发射功率22dBm ATPRT3000 # 每隔3秒自动发一包发包间隔别设太长3到5秒一包比较合适因为需要配合频谱仪的扫描周期积累信号。也别设成连续不停发那样反而不好观察单个包的包络特征和时序分布。如果你用的是SX1276或者SX1262的裸模块也可以烧一个简单的beacon固件循环调用发送函数即可。这里有个细节最好先把模块放到一个远离金属桌面、远离其他天线的位置然后用尽量短的同轴线连接。射频测量最怕测试环境本身引入变量线缆太长会有损耗和驻波金属桌面会改变天线负载让发射功率读数虚高或虚低。3.2 宽带扫描找信号窄带分析看细节第一次连接完成后我习惯先做一次粗扫。把中心频率设为433MHzSpan拉到20MHzRBW设成30kHz检波方式选Peak打开Max Hold然后让模块发包。前面说了LoRa信号是猝发的单次扫描大概率抓不到所以要有耐心让Max Hold累计十几二十个包。屏幕上会逐渐浮现出信号轮廓这个过程很像长曝光摄影每一次扫描都在同一位置叠加亮度。找到信号后用Marker标出峰值点记下实际中心频率。然后我把中心频率手动调到Marker所在位置Span收窄到2MHz重新用Max Hold累计。这时候能看清信号包络的细节一个典型的125kHz LoRa信号在频谱上表现为一个基座加一个略高于基座的峰值包络整体宽度大约130kHz到160kHz边缘不是陡然截止的而是带着斜坡。如果你看到的是一个宽度远超预期的鼓包或者基座特别宽那可能是有邻道干扰或者是模块的射频前端自激了。窄带状态下顺便可以确认一件事信号的峰值是否稳定。正常LoRa模块每次发包频谱形状应该几乎一样。如果每次扫出来的峰值频率都不一样跳来跳去多半是模块晶振不稳定或者供电纹波太大导致锁相环频率抖动这种问题在通信上会表现为误码率忽高忽低。3.3 读出发射功率、频偏和OBW测量功率时有个新手常犯的错误直接拿Marker读峰值当发射功率。对单载波信号这么读问题不大但对展宽信号就不对了。LoRa的功率散布在125kHz或更宽的频带内Marker读到的只是分辨率带宽内那一小段的功率明显偏低。正确的做法是用频谱仪的信道功率功能设置信道宽度为LoRa的带宽让频谱仪自动积分整个信道内的功率或者用OBW功能先测占用带宽再配合信道功率做判断。我实测一个标称22dBm的SX1262模块用信道功率功能测出来是21.4dBm左右和标称值差零点几个dB是正常的毕竟线缆和衰减器有损耗。用Marker读就可能只有14到15dBm差了六七dB第一次测时我还以为模块坏了后来才反应过来是测量方法不对。频偏测量相对简单。看Marker标出的峰值中心频率和配置的预期频率差多少。LoRa接收端对频偏有一定容忍度但一般超过几kHz就会开始掉灵敏度。我记得有次测一个模块配置的是433.125MHz实际峰值跑到433.128MHz差了3kHz通信距离明显下降。后来确认是模块晶振的初始误差偏大在代码里做了频偏补偿才解决。OBW测量可以直接用频谱仪的占用带宽功能。对于125kHz带宽配置99%功率带宽的实测值通常在135kHz到165kHz之间具体取决于扩频因子和滤波器滚降。如果你测出来超过200kHz那模块的外部匹配电路可能有问题发射频谱变宽会干扰邻近信道。反过来如果测出来不到100kHz带宽配置可能被写错了实际链路性能会受影响。3.4 顺带查谐波和杂散测完主信号我习惯顺手把谐波也看了。方法很简单保持模块发包把中心频率设到主频点两倍的位置比如主频433.125MHz二次谐波就在866.25MHz附近设中心频率866MHz、Span 20MHz再看Max Hold有没有信号尖峰。三次谐波在1.299GHz附近也照此办理。谐波是PA非线性产生的正常产物关键是幅度要足够低。好的模块设计会把二次谐波压到比主信号低30dB以上。如果谐波幅度偏高说明输出匹配网络对谐波的抑制不够。我之前测过一个便宜的433MHz模块二次谐波只比主信号低18dB这个水平在某些场景下会干扰同区域的其他设备后续加了简单的低通滤波和阻抗匹配才压下去。杂散测量跟谐波类似但要把Span拉到很宽从几十kHz一直看到主频的好几倍频看有没有跟谐波无关的奇怪尖峰。这些尖峰可能是锁相环的参考频率泄漏、数字电路噪声耦合到射频前端、或者电源开关频率的辐射。杂散问题不好查但只要在频谱仪上看到了至少知道问题存在再顺着电路排查就有方向。4. 测LoRa常踩的坑与排查办法4.1 频谱仪上啥都看不到是怎么回事这是被问得最多的问题。现象是模块明明在发包串口也显示发送成功频谱仪上却一片平静。排查思路要按顺序走。第一确认频谱仪的Span和中心频率是否真的覆盖了信号位置有时候中心频率设错了一个频段信号在你屏幕之外自然什么都看不到。第二确认触发模式LoRa是猝发信号用Free Run模式配合Max Hold需要多等几个包如果Span太大扫描太慢每次都没赶上信号窗口可以试试Zero Span也就是把Span设为0直接把频谱仪当成时域示波器用能看到信号包络随时间出现的节奏。第三也是最容易忽略的检查发射路径。有些模块带射频开关天线口需要使能控制脚拉高才输出。如果模块的天线口接的是自己家的天线而不是直连频谱仪而天线又没接好频谱仪也收不到。直接测传导输出时确保模块射频口就是PA的输出口而不是接收链路的前端。如果以上都没问题那就要怀疑模块是否真的在发射。用示波器看模块的DIO1引脚LoRa发送期间DIO1会拉高如果示波器上没有任何脉冲说明模块压根没进发送状态赶紧回头查固件逻辑和AT指令配置。4.2 RBW和Span设错导致“见鬼了”有一次我用一台德仪器的老机器测LoRaRBW默认在1MHz忘了改结果125kHz带宽的信号显示成窄窄一条幅度还比真实功率低了很多因为大部分信号能量没落在这个RBW窗口里。RBW大于信号带宽时分辨率带宽内只能捕获信号的一部分能量幅度读数是偏低的。所以测窄带信号一定要把RBW降下来但又不能降太低使得扫描时间拉长到跟信号时序冲突。10kHz到30kHz是我在125kHz带宽LoRa上的经验区间。Span的问题则走向另一个极端。有兄弟测谐波时只用了1MHz Span结果三次谐波在1.3GHz外死活找不到后来把Span拉到100MHz才发现信号就在远处。测谐波和杂散时Span绝对不能抠门至少覆盖到主频的三倍频否则就是在自欺欺人。4.3 同频干扰和邻道信号怎么区分ISM频段是公共频段433MHz附近不仅有LoRa还有各种无线模块、遥控器、无线话筒、汽车钥匙它们都可能出现在你的频谱图上。区分的方法有讲究。看带宽LoRa 125kHz带宽在频谱上有比较明确的基座宽度而窄带FSK模块通常是二三十kHz的窄尖峰一眼就能分清。看时序LoRa周期性发包包与包之间间隔规律用Max Hold看到的是一个不断重现的稳定信号而干扰往往是随机出现、忽强忽弱的。看包络形状LoRa的Chirp特性让频谱包络有一个明显的扫频展宽而单载波调制信号就是一根尖刺。遇到干扰信号压在LoRa频点上不要急着怪模块。先记录干扰信号的中心频率和带宽看它是否落在你配置的LoRa信道上如果只是临道那问题不大接收端的滤波器能压住如果同频就需要换信道或者调整频点避开。LoRa本身有抗干扰能力但同频强干扰依旧会拉低灵敏度这在频谱仪上看得明明白白。4.4 功率读数不准误差从哪来频谱仪读到的功率值从来不是“真值”它受一堆因素影响。线缆损耗、衰减器精度、频谱仪本身的幅度校准误差每一项都有份。我测22dBm模块时链路里30dB衰减器实际可能只有29.5dB的衰减量线缆再吃掉0.3dB频谱仪本身的误差按规格书可能在±0.5dB左右加起来的总不确定度奔着1dB去了。做研发对比没问题但要想拿这个数当出厂依据就需要更仔细的校准。最简单的校准方法是用频谱仪自带的参考信号一般频谱仪前面板都有50MHz的校准输出口幅度精确已知。把线缆和衰减器串在校准源和频谱仪输入之间测一下仪器读数与标称值的差这个差就能当作补偿值用到后续测量里。更专业一点可以用独立的校准信号源但对大多数场景没必要。测辐射功率时还要注意近场效应会让读数剧烈波动天线稍微动一下功率就差好几dB所以辐射测量只能作为参考绝对数值还得看传导测量。5. 一张顺手可抄的现场测试清单最后分享一张我打印出来贴在工位上的测试清单每次调试LoRa模块就照着走一遍效率高很多。注意用的时候要根据你的频段和带宽配置调整参数。测试项目频谱仪设置判定参考初步找信号中心频率预期频点Span20MHzRBW30kMax Hold能看到稳定重复的尖峰精确频偏中心频率实际峰值Span2MHzMarker频偏小于±3kHz发射功率信道功率功能信道宽度LoRa带宽与标称功率偏差小于1.5dB占用带宽OBW功能Span2MHz与配置带宽偏差不超过±30%二次谐波中心频率2倍频点Span20MHz比主信号低25dB以上三次谐波中心频率3倍频点Span20MHz比主信号低30dB以上杂散扫描中心频率主频Span到3倍频无明显异常尖峰这份清单看起来简单但每一条背后都有讲究。比如测功率为什么要单独用信道功率而不是Marker读取前面已经解释过谐波判定标准为什么是低25dB而不是更高因为不同调制下系统对谐波的要求不一样25dB对于ISM频段短距离通信通常够用具体到产品认证还会有更高的门槛但作为研发自检这个参考值能在成本和性能之间取得平衡。我在实际使用中还有一个习惯每次换一台频谱仪或者换一条新线缆先拿频谱仪自带的校准信号跑一遍把链路损耗补偿值重新标定一次。这个动作花不了两分钟但能避免之后所有读数都带着一个莫名其妙又查不出来的系统误差。最后再分享一个小技巧。测LoRa模块时如果发现信号正常、功率也正常但通信距离就是上不去把你模块的供电电压和纹波拉出来看看。有一次我调一个节点频谱上一切正常却在同一楼层都传不稳后来用示波器发现射频PA的供电纹波接近100mV芯片的锁相环跟着抖直接把频率牵引偏了。频谱仪测的是最终结果但它告诉不了你原因还得靠波形和链路逐级排查。射频调试从来不是一台仪器的事可频谱仪确实能让你少走很多弯路。