官方淘宝店 易迪拓培训 旧站入口
首页 > 无线通信 > 通信技术学习讨论 > 请教一个编码纠错的问题

请教一个编码纠错的问题

12-16
我不是学通信的,但是现在遇到一个问题,应该和通信有关,不知道有没有什么好的办法。
一个数据包假设1024bit,现在通过一个信道传输,接收端得到的数据包假设可能有20%的误码率,有没有什么编码算法,能通过冗余等机制,让这1024bit中包含的一部分有效数据(如一半512bit),能够在接收端通过纠错还原,100%正确的收到呢?
谢谢

80%误码率的话,置反就有20%误码率了。

理论上不可能100%,只能尽可能降低误码率。。。
你可以通过信道编码降低误码率到一个可以接受的范围,
然后在上层通过类似CRC校验再决定重发与否的机制来实现更高的要求。。。

理论上可以
只要R<C

错了,错了,说说80%的正确率,:)
用C bit的包来传输 R bit有效数据,C > R。如假设C=1024,R=512
传输过程中,会有r的错误率,如假设r=20%
有没有办法编码后,能在接收端从Cbit的接受包中,正确复原出R bit的有效数据?
C,R,r之间有什么理论关系么?
谢谢大家

关键是不能重发。。。所以不能只判断有错没错,是希望能够尽量从接受到的数据中完全复原出来。接受的数据量可以大于有效数据量。

可以看看出错比特有没有快效应 考虑上交织器

1/2turbo咋样?另外,你说无线还是有线?

只要有误码,纠错码再好也只能趋近于0,
仙农公式太NB,现有编码理论达不到他的理想。。。

只能说,现有科技发展水平还达不到您的要求。。。

非常感谢!我再考虑下。

我也顺便献丑一下:
首先假设你的信道为一个BSC,出错概率为p = 0.2。则信道容量为:
C = 1 - H(p) = 0.2781 bits/channel use
因此如果要保证无误传输,你的码率必须 R<=C,也就是,你最多只能在1024比特中无误恢复278bits,达不到512bits。
假设你的信道为一个BEC(在接收端你知道哪些比特不能用,这些比特不能判断到底是0还是1),那么C = 0.8 bits/channel use
这时候你完全能恢复出1024*0.8 bits数据。只要你提供足够的码长也不管复杂度。。。

谢谢你。
按你说的,我的需求应该属于BSC。如果1024的包在0.2的误码率下能无误传输200多个bit,我觉得也挺能接受的。麻烦能推荐一种能达到或接近达到这种效果的编码方式么?谢谢

顺便问一下,我查到一种叫海明纠错编码的东西,请问它能实现我的需求吗?如果不能,那它能达到什么效果呢?谢谢。(不是我不自己百度,实在是没学过,理解起来怕有偏差)

1024bits中可以纠错200,意思是信息码+监督码的码串为1024位,
通过冗余监督码可以提供200位纠错的能力,但是冗余监督码本身
可能就超过200位,很大的可能是你纠的几乎都是监督码的错。
你得到无误传输的可能全是监督码。。。当然也有概率全是信息码。

不能。比如(7,4) Hamming code, 4位信息码,3位监督码,提供1位纠错。
这一位纠错既可能发生在信息码上,也可能发生在监督码上。
通过这一位纠错码,可以显著降低原本0.2的误码率。。。

说得很对,
BSC的容量是0.2781,BEC的容量才是0.8。

我说的是信息论给出的上届,实际要达到这个效果是很难的,如果你的码长可以很长的话我个人觉得LDPC或者TPC更合适一些。

我不这么认为,我觉得码长应该要很长才能纠这么多错,而不是1024bit。

Top