本帖最后由 RF002 于 2019-1-18 18:56 编辑
1.问题描述 20对无线通信设备使用20个不同的信道频点,在同一房间内同时通信时干扰丢包及串扰现象较为严重,测试时使用的是Semtech公司sx1212平台,具体射频参数配置如下: 发射功率:7dBm 调制方式:2-FSK 通信速率:128kbps Fdev:200KHz 发送间隔:80ms 2.问题分析及解决思路 ① 在分析问题最初阶段,判断方向是三阶互调干扰导致的丢包问题,首先对三阶互调干扰的相关知识做如下简单介绍。 三阶互调是指当两个信号在一个线性系统中,由于非线性因素存在使一个信号的二次谐波与另一个信号的基波产生差拍(混频)后所产生的寄生信号。比如F1的二次谐波是2F1,它与F2产生了寄生信号2F1-F2。由于一个信号是二次谐波(二阶信号),一个信号是基波信号(一阶信号),他们俩合成为三阶信号, 其中2F1-F2被称为三阶互调信号,它是在调制过程中产生的。产生这个信号的过程称为三阶互调失真。由于F2,F1信号一般比较接近,也造成2F1-F2,2F2-F1会干扰到原来的基带信号F1,F2,这就是三阶互调干扰。下图表示的是两个等输入时的三阶互调。 基于以上对于三阶互调干扰产生过程的理解,在选择20个信道频点的时候,刻意避开三阶交调点的频点范围。可是,这时候用选定的频点参测试通信丢包依然严重,这样不得不开始怀疑,最初的判断方向有误,因为使用频谱仪测量出来的有用信号大于三阶互调干扰20dB以上; ②此时,考虑到了一个新的问题方向:在多个信道信号同时通信时,如果信道频率间隔较小,则会在较大程度上抬高环境中的噪声电平。从这点出发,在RF模块可用的频带范围内尽可能的加大信道间隔,选定了20个信道频率如下表:
这个信道区分的原则是:尽可能增大信道间隔为主导,辅以尽量避开三阶互调频点。通过这个方案,测试情况是20个信道通信,大多数时候有某几个信道丢包率较高,丢包信道随机不固定,且随着信道的减少出现丢包率高的概率也减少,即使减少到5个信道,也有小概率会出现某个模块成功率低。针对这个情况又提出了重发分时的机制。
③接收端设备默认状态下持续处于RX状态,当接收到当前信道数据时,判断接收到的数据如果正确,则将接收数据包再返回发射出来; 发射端代码相对代码相对麻烦一点,虽然各信道间隔较大,但同时通讯时依然会存在干扰丢包,便加入了重发分时机制,简单来说就是再上一包失败的时候进行延迟重发,延迟时间需要避开其他模块的收发,所以最好延迟一个任务周期。 以我们实际测试方案为例,一次来回通信大约花费30ms,如果一包数据丢掉,那延迟大约35ms后进行重发,这时候别的模块都是在空闲状态,这样可以显著提高通信成功率。具体见下方流程图。 实验环境及结果 将20对通信设备(采用无线模组+弹簧天线方式)按照以下图示摆放,其中发射、接收设备按以上信道顺序从1~10、11~20(设备之间横向/纵向的距离间隔约20cm)依次放置。
每次发包100包,记录丢包数≤5包为通讯成功,结果:共测试了100次,通讯成功98次、通讯失败2次(且丢包数均在10包以内); 分别随机打乱发射端设备、接收端设备放置顺序,统计通讯方式同上,结果:共测试了100次,通讯成功97次、通讯失败3次(且丢包数均在10包以内); 注:发包间隔80ms、包长度60字节、通信速率128kbps。 结论 对于这种多信道通信发生的丢包问题,三阶互调干扰并不是“罪魁祸首”,主要还是由于环境底噪抬高导致的有用信号不能正确的被解调,虽然通过加大信道之间的频率间隔可以有效的改善问题,但不能完全的避免。通过对通信失败的信道,增加分时重发机制,会让这种改善更进一步优化。
|