我目前正在为符合 802.11 的 ofdm packet-crafter 开发 python 实现。现在我正在努力实现比特加扰器,因为它产生的输出与 IEEE 标准中显示的不同。
框图和生成多项式显示在图像中:来自 IEEE 802.11 标准的框图
加扰种子,即初始加扰器状态,在标准示例中以 [1, 0, 1, 1, 1, 0, 1] 给出。我检查了三次,我的加扰器输入位数组与示例中的相同。但是,我的输出仅在加扰数组的开头和结尾是相似的。
到目前为止我的实现(使用numpy):
def scrambler(inBits, seed):
state = np.array(seed, dtype=np.uint8)
outBits = np.zeros(len(inBits), dtype=np.uint8)
for idx in range(len(inBits)):
feedback = state[0] ^ state[3]
outBits[idx] = feedback ^ inBits[idx]
state[0:6] = state[1:]
state[-1] = feedback
return outBits
我的实施有缺陷吗?感谢您的每一个提示和您的时间!
干杯卢克