问题描述
g1 = x2 + 1
g2 = x2 + x + 1
g3 = x2 + x + 1
我正在尝试使用 Python scikit-dsp-comm 库解码序列“110101011100011”:
import sk_dsp_comm.fec_conv as fec
import numpy as np
cc1 = fec.fec_conv(('101','111','111'),1)
y = np.array([1,1,1])
z = cc1.viterbi_decoder(y.astype(int),'hard')
print(z.astype(int))
输出是:[0,0],而我期望的是:[1,0]
然后我尝试通过编码然后解码来检查解决方案:
x = np.array([1,0])
y,state = cc1.conv_encoder(x,'000')
print(y.astype(int))
z = cc1.viterbi_decoder(y.astype(int),'hard')
print(x,z.astype(int))
编码序列y有期望值:[1 1 1 1 0 0 0 1 1 1 0 0 1 1 1]
但是解码器的输出再次出乎意料:[0,0]
我做错了什么?
fec_conv 实例里面好像有一些状态,但是我没能抓住原理,也找不到正确的参数或函数调用的顺序。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)