学习自
https://www.gaussianwaves.com/2009/12/hard-and-soft-decision-decoding-2/
以一个简单的奇偶校验编码来描述硬判决和软判决的区别。
表1 码字集合
在上面的表格中,传输的信息比特是Bit1和Bit2,校验比特为Bit1⊕Bit2。
现在假设传输的信息比特是‘01’,那么校验比特是‘1’。由于是数字信号,使用电压0V表示传输的比特‘0’,使用电压1V表示传输的比特‘1’。
采用硬判决的策略,在接收端,使用0.5V作为判决门限,小于门限判决为‘0’,大于门限判决为‘1’。从图1中可以看出,最后的判决结果是‘001’。
图1 硬判决过程
很明显,这个结果不属于表1中的码字集合,传输中有错误发生。但是奇偶校验只能发现传输错误的发生,但是不能实现纠错。
使用汉明距离,即比较其中的比特不相同的个数,接收码字与表1中的码字进行比较结果如下。
表2 汉明距离结果
从表2中的结果可以看到,前3个汉明距离都一样,只能随机选择一个作为最后的输出结果。
从硬判决的结果来看,最后选择的结果正确的概率是1/3。
下面来看下软判决的处理过程。
硬判决比较的是汉明距离,而软判决比较的是欧氏距离。
表3 欧式距离结果
欧氏距离,在这个例子中,可以简单理解成三维空间中,接收到的结果与各个码字的距离。选取欧氏距离最小的作为最后输出,从表3的结果中可以看到,最后的输出结果是‘011’。
在某些情况下,例如接收电平分别是0.2V,0.2V,0.6V时候,此时计算出的欧氏距离,其中‘000’与‘011’的结果是一样的,还是存在误判的可能。
但是总体来说,软判决对于接收机来说,相对于硬判决还是大概有2dB的增益。
在实际使用中,软判决常常结合前向纠错算法,例如卷积码,LDPC,一起使用。