dvb - 为什么在 DVB-T 中同时使用 Viterbi 和 Reed-Solomon?

标签 dvb viterbi reed-solomon

据我了解,DVB-T数据包经过两个FEC系统,分别是Viterbi,数据丢失率高达50%,RS,数据丢失率高达10%。这些被称为外部和内部编码。

我无法理解第二个 RS 编码的必要性(在这种情况下,188 字节长的 MPEG-TS 数据包被添加了额外的 20 字节)。

更具体地说,损坏的数据包(例如 55%)会发生什么?维特比解码器修复了 50% 的错误,而 RS 修复了其余 5% 的错误吗?

对不起我的愚蠢。

最佳答案

Viterbi/RS 的能力和目标有很大不同:Viterbi 编码是在基带/模拟级别旁边完成的,其中每个位都有很高的损坏概率。这与一个方案相抗衡,其中不是所有的组合,例如'00000' 到 '11111' 是可能的,但其中每隔一个或 1/3 或 2/3 位是根据某些 N 之前传输的位的历史计算得出的校正位。

这会导致数据的相对较高的扩展,并且通常可以纠正单个位错误的一半。必须注意,校正位也可能发生位错误......

这种误码校正可以减轻主要在 AWGN 信道上的错误,也可以在一定程度上减轻瑞利衰落(由于具有多路径传播的移动车辆引起的信号衰落的模拟模型,即来自多个路径的相同信号)。

因为维特比编码器的“窗口”很小,并且当整个窗口(例如 7 位)上出现突发错误时,编码器无法纠正任何错误。因此需要二级编码器:Reed Solomon(在 DVB 或 CD 中)编码器使用 8 位大小的码字,即当码字中的单个位损坏时,需要修复完整的码字。

因此,这个想法是,外部编码器可以将偶发的单个比特错误减少到可管理的水平,而基本上将突发错误(长时间未接收到的信号)留给内部编码。

关于dvb - 为什么在 DVB-T 中同时使用 Viterbi 和 Reed-Solomon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30703516/

相关文章:

python - 如何通过ffmpeg-python获取service_name和程序列表

encoding - MPEG-TS 编码

algorithm - 线性时间的维特比算法

math - 你能解释一下 Reed Solomon 编码部分的单位矩阵吗?

math - 伽罗瓦域中的加法和乘法

xml - 设置 .xml 以在 AutoCAD 启动时加载 .dvb 插件

ffmpeg - GStreamer 与 MPEG-TS Video4Linux ATSC/DVB 录制

algorithm - 了解维特比算法

python - 如何为隐马尔可夫模型找到最可能的隐藏状态序列

error-correction - 单字节纠错