首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只使用BSC信道的LDPC编码包

只使用BSC信道的LDPC编码包
EN

Stack Overflow用户
提问于 2022-07-15 17:00:36
回答 1查看 59关注 0票数 0

因此,我在这个包中使用基于python的ldpc包https://hichamjanati.github.io/pyldpc/,对于我的项目中的一些约束,我不能使用信噪比值。我只能将具有一定概率的位翻转应用于整个编码消息。但是有了这个包,似乎信噪比值是必须的。

代码语言:javascript
运行
复制
from pyldpc import make_ldpc, encode, decode, get_message
n = 15
d_v = 4
d_c = 5
snr = 20
H, G = make_ldpc(n, d_v, d_c, systematic=True, sparse=True)
k = G.shape[1]
print('K:', k)

v = np.random.randint(2, size=k)
print('V:', v)

y = encode(G, v, snr)
print('Encode:', y)

if y[1] == 1:
    y[1] = 0
else:
    y[1] = 1
print('Corrupted:', y)

d = decode(H, y, snr)
print('Decode:', y)

x = get_message(G, d)
print('Get message:', x) 

(忽略我以某种方式关闭的snr变量)。

当我继续强行关闭信噪比参数并自行应用位翻转错误时,解码器无法纠正它,给出了一条消息。

代码语言:javascript
运行
复制
UserWarning: Decoding stopped before convergence. You may want to increase maxiter
  warnings.warn("Decoding stopped before convergence.")

在这个包中是否有适当的方法来实现简单的位翻转?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-07-22 09:41:15

之后,位翻转几乎等于软数据符号的逆。

代码语言:javascript
运行
复制
encode(G, v, snr)

我认为你犯了太多错误,而解码器无法破译。

附注:请注意,这个包使用SP-解码,它对信噪比估计的正确性非常敏感(并且构造的方法只适用于高斯噪声,而不是带有擦除或倒置模拟输入数据的信道)。最好尝试使用对snr估计不敏感的MS译码器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72997436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档