当前位置: 首页 >应用方案 >技术应用 >

FEC纠错算法在433MHz无线数传模块上的应用

  在无线通信系统中主要有丢失和错误两种错误,错误的原因是某些比特数据发生变化;丢失的原因是某些数据包没有被收到。底层协议通常需要考虑这两种情况,如链路层的前向纠错算法FEC使用差错校验码对既有丢包又有错误码的情况依然能重建正确的数据。它通常由硬件来实现,采用RS编码,汉明码等。传输差错反映到通讯高层只是数据包的丢失。因此工作在传输层或者应用层的FEC可通过丢失矫正码和已知包数来处理丢失情况。FEC前向纠错是一种数据编码的技术,数据的接收方可以根据编码检查传输过程中的误码。在FEC中,发送者一般在要发送的数据前加上一段冗余的数据,这样接收者就可以根据这些冗余数据和提前设计好的算法发现数据中的误码并且确定具体错误码子的位置,从而纠正错误。当误码被确定后,不需要通知发送端重新发送,而是自动纠正错误。这种机制不同于自动重传(Automatic Repeat-reQuest, ARQ)需要通知发送端重新发送含有错误的数据,但是FEC编解码增加了计算的开销和复杂性。

  简单的说,FEC是一种为数据传输而设计的差错控制技术。发送端在需要传输的数据中加入冗余数据。接收端则根据这些冗余数据检测出整个数据中的误码。当接收端检测出码字中的错误,立即将它们改正。

  FEC利用了香农- 哈特利定理中给出的传输速率(或信息比特速率)Rb 和信道容量Rmax 的区别。在一段足够长的码字中使用FEC,付出了增加传输延迟的代价来降低误码率Pb [Schwartz,1987]。增加的延迟主要来自这几方面:需要组合将要传送的码字,接收到数据后需要花时间来计算从而检测出错误并改正。然而,差错控制的好处往往要比由于处理FEC所带来的延迟重要的多。

什么叫FEC

纠错算法在433MHz无线数传模块上的应用

  上图表示的是利用了FEC的整个通信过程。在最开始阶段,信源将产生一串信息比特。在编数据在编码器中编码,在这个过程中,将会使用FEC算法在原始数据的前面加入(n-k)个冗余比特(也称作校验比特)。n表示整个数据的比特数,k表示原始信息的比特数。冗余比特,也称作纠错码,与原始信息有一种特殊的计算关系,这样接收端就可以根据纠错码来纠正数据中的错误。这里的一个很重要的参数就是冗余度,表示为(n-k)/n。在特定的带宽中,整个传输数据的长度是有限制的。也就是说,冗余度越高,数据中的信息含量就越少。然而,当冗余度到达一定高度时,就可以保证接收端接收信息的准确性。之后,经过调制器(Modulator)的数据就变成了可以发送到信道中的信号。经过信道的传输后,接收端收到信号,解调信号使其从模拟信号还原为数字格式。由于冗余码和原始的信息存在特定的关系,解码器(Decoder)则可以检测其中的错误并得到原始的比特。最后将这些数字信息传给信宿。

  亿佰特无线数传模块产品中也应用了FEC算法来保证数据传输的有效性,既可以通过指令配置,也可以通过上位机进行配置。

  上图是可以通过上位机对我们的模块进行FEC的配置。打开前向纠错后,模块将会启用FEC算法,保证数据在传输过程中不会产生误码。

  上图指的是可以通过指令设置相应位对我们模块进行FEC的开关配置。

  FEC的优势就是接收端可以自行纠正信号中的错误,而不用请求发送端重新发送数据,这样节省了很多时间。目前,基于不同设备的需求,不同形式的FEC码在通信系统中被广泛应用。而且,一些更先进的编码也已经投入使用。他们应用了更先进的算法来提高编码解码的效率使得有限的带宽能够得到充分的利用。可以肯定,FEC在将来肯定会更加高效。编码会更加标准化而且性能会提高。而且成本会降低。

  总之,无论是目前还是将来,FEC对于通信系统的稳定性和高效都扮演了很重要的角色。

今天的分享就到这里啦,亿佰特人每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的官网进行了解,还有客服小姐姐在线答疑哦!

https://www.wjx.cn/jq/84863372.aspx