IEEE 802.11 PHY BCC编码
1. BCC编码率R = 1 / 2
这是基本BCC编码方法。其中生成表达式
g0?1011011(二进制)?133(八进制)g1?1111001(二进制)?171(八进制)每次输入Input Data 1比特之后,就相应输出Output Data A 1比特、Output Data B 1比特,总计输出2比特。因此编码率R = 1 / 2,如图所示。
在t=0时刻,输入DIN0,同时输出A0以及B0; 在t=1时刻,输入DIN1,同时输出A1以及B1;
如表所示。
思考:为何编码1 bit成为2 bit,只有50%效率?因为现实数据传输信道(有线网、无线网)容易受到干扰。数据发送一方必须对原始数据进行冗余编码,接收一方通过适当的解码算法,消除信道传输受到的干扰。
比如,发送一方原始数据10 01 10,编码之后实际发送1010 1100 1101,由于信道受到干扰,接收一方实际获得1010 1000 1101,通过解码算法恢复数据仍然还是10 01 10
此处BCC R = 1 / 2就是简单有效的一种编码方法。
对应Verilog HDL代码,如图所示。
如果信道比较可靠,那么编码率R = 1 / 2显得没有必要,反而加重通信双方的计算负载。 由此需要BCC编码率R = 2 / 3 、3 / 4 、5 / 6算法。
2. BCC编码率R = 2 / 3
每次输入Input Data 6比特之后,就相应输出Output Data A 6比特、Output Data B 3比特,总计输出9比特。因此编码率R = 6 / 9 = 2 / 3
3. BCC编码率R = 3 / 4
每次输入Input Data 9比特之后,就相应输出Output Data A 6比特、Output Data B 6比特,总计输出12比特。因此编码率R = 9 / 12 = 3 / 4
4. BCC编码率R = 5 / 6
每次输入Input Data 5比特之后,就相应输出Output Data A 3比特、Output Data B 3比特,总计输出6比特。因此编码率R = 5 / 6