LDPC码的设计以及在无线传感器网络中的应用
扫描二维码
随时随地手机看文章
摘要:LDPC码是众所周知的优秀信道编码,性能接近香农信道容量的极限。讨论了在无线传感器网络中LDPC码的设计和实际应用,并提供了解决方案,以降低解码复杂度,节省内存占用量,提高了系统的误码率性能。结果表明,短码长的LDPC码可以在无线传感器网络节点上应用并能获得较为理想的性能,具有很好的应用前景。
关键词:无线传感器网络;低密度奇偶校验码;硬解码;误码率
0 引言
无线传感器网络(WSN)属于多学科高度交叉的前沿研究领域,综合了传感器、嵌入式计算、网络及通信、分布式信息处理等技术。由于无线传感器网络节点部署在恶劣的环境中,为了提高通信系统的可靠性,有必要进行信道编码。本文设计和实现的低密度校验(LDPC)码应用于无线传感器网络。选择了采用LDPC码的信道编码方案,方案中使用了Turbo解码器,解码复杂度低,有较出色的表现。
LDPC码是一种奇偶校验矩阵为稀疏矩阵的线性分组码,最初由Gallager发现。1996年,MacKay和Neal发现LDPC码的性能可以接近香农极限,校验矩阵含有“0”的个数远远大于非“0”元素,这是LDPC码性能优越的重要保证。LDPC码是渐进好码,其最小汉明距离随着码长的增加而线性增加。LDPC码的特点是,具有较大灵活性和较低的差错平底特性,描述简单,对严格的理论分析具有可验证性,且可实现完全的并行操作,硬件复杂度低,因而适合硬件实现,吞吐量大,极具高速译码潜力。
在无线传感器网络中,对LDPC码编码器而言,实现并不困难。在实施的LDPC解码算法的无线传感器网络需要考虑的问题是,选择合适的解码算法,采用串行或并行算法,此外还有LDPC码长度的选取。
1 LDPC简介
LDPC码可以由一个稀疏的校验矩阵来描述,如图1所示。
1.1 LDPC的编码
LDPC码可以由一个稀疏的校验矩阵来描述。
一个长度为N,信息位长为K的二进制低密度奇偶校验码表示为(N,K,λ,ρ),它具有一个(N-K)×N的奇偶校验矩阵和一个生成矩阵G。校验矩阵H的平均列码重为λ,平均行码重为ρ。在校验矩阵H中,绝大多数位置上为0,极少数位置上为1,1的位置是随机分布的。相应的Tanner图(见图2)由N个变量节点和N-K个检查节点,以及一定数量的边组成。N个变量节点对应低密度奇偶校验码的码长N,N-K个检查节点对应的N-K个校验限制,一个变量节点和一个检查节点之间当且仅当校验矩阵相应的位置是1的时候,会有一条边存在。如果奇偶校验矩阵每一行包含相同数量的1,每一列包含相同数量的1,则被称为规则低密度奇偶校验码,否则,它就是不规则低密度奇偶校验码。相对于稀疏的校验矩阵H,生成矩阵G是稠密的。因此,低密度奇偶校验码的编码复杂度与代码长度的平方成正比。
一般而言,检验矩阵采用随机的方法构造。通过高斯消元法后,得到:
1.2 LDPC的解码
LDPC码的解码算法可以分为硬判决译码和软判决译码两大类。几乎所有的LDPC码译码算法都是迭代算法。一般而言,实现LDPC码译码器,主要需要考虑以下的三个问题:
(1)码字的纠错性能;
(2)码字实现所需的硬件资源;
(3)系统所要求达到的吞吐率与信息传输速率。
此三个条件相互制约,在实际应用的过程当中,要找到一个比较理想的折中方案。
2 无线传感器网络下设计方案
无线传感器网络节点是低功耗低价格微型嵌入式设备,其能量供应和无线通信带宽十分受限。无线传感器网络由数量庞大的节点以自组织方式构成,节点的体积微小,存储和处理数据的能力低下,且大部分节点由电池供电,能量受到极大的限制。对计算量和存储量的要求很高,由此对运算的种类要求也很高,例如,尽量不使用乘除这类运算,而运算过程中尽量少出现实数,尽量使用整数。结合这些特点,所以采用硬解码,选择合适的判决门限,对硬解码诸算法仿真,当然相应地带来解码效率下降,而且解码迭代次数也不能太多,设定为两次,这也降低了硬解码效率(对次数的仿真),可以有效地降低重传率,减少由多个节点传输带来的累积错误,使系统具有一定的纠错能力和抗干扰能力,可极大地避免码流传送中误码的发生。在无线传感器网络节点,内置芯片CC1000。在NESC环境下,包括应用层、网络层和传输层并为一层,而物理层和数据链路层并为一层,所以把LDPC编解码加入到底层模块中。
在无线传感器环境下实现LDPC编译码,首先需要考虑的是错误校正能力和处理能力的权衡。在无线传感器网络节点中,通常采用基带信号处理的低功耗微控制器单元(MCU)。LDPC解码算法可以分为两类:软解码算法和硬解码算法。软解码算法需要的浮点计算能力通常由功耗很高的MCU支持,而LDPC码的硬解码算法具有较低的纠错能力。这是人所共知的,LDPC码译码算法可以在一个并行方式下执行这样的解码且速度快。然而,实现并行解码算法需要的FPGA器件功率消耗比较高。因此,选择串行解码算法更合适。目前,用于无线传感器网络低功耗微控制器的处理速度比较低。因此,需要尽可能提高解码速度。如果增加码长度,解码时延也会相应增加。此外,解码算法需要校验的信息矩阵也会变得更大更复杂,而且校验矩阵的增加是代码长度呈指数的增加。一般来说,无线传感器网络节点具有相对较小的内存。因此,如何保存校验矩阵是一个问题。另一方面,如果代码长度过小,相对较低的LDPC码纠错能力也是不容忽视的问题。
在编码过程中,只有生成矩阵G需要事先保存在节点内存中。由于无线传感器网络节点的内存大小相对较小,它需要的内存也应该尽可能少。因此,在内存中只存储无线传感器网络节点矩阵P,此外,需要转换成二进制8B字符进行保存。
3 Matlab下的仿真结果
利用Matlab进行仿真,仿真结果如图3所示。
由图3可知,LDPC硬解码方案可以大幅改善信号抗噪声性能,而通过解码迭代次数的对比,发现迭代3次效果已经相当理想,而迭代50次并不能大幅提高解码效果。
4 结语
讨论了在无线传感器网络环境下LDPC编解码的设计问题,并提出了降低解码复杂度和节省内存的方案。证实短码长的LDPC码应用到无线传感器网络节点上可以提高系统的误码率性能。