10、信道编码【入门软件无线电(SDR)】PySDR:使用 Python 的 SDR 和 DSP 指南

在这一章中,我们将介绍信道编码的基础知识。信道编码是无线通信中的一个巨大领域,并且是“信息论”的一个分支,“信息论”是对信息的量化、存储和通信的研究。

为什么我们需要信道编码

正如我们在噪声和dB一章中所了解的,无线信道是有噪声的,我们的数字符号不会完美地到达接收器。如果您学习过计算机网络,您可能已经了解了循环冗余校验(CRC),它可以检测接收端的错误。信道编码的目的是在接收机处检测和纠正错误。如果我们允许一些误差空间,则我们可以例如在不具有断开的链路的情况下以更高阶的调制方案进行传输。作为视觉示例,考虑以下星座图,其示出了在相同噪声量下的QPSK(左)和16QAM(右)。QPSK提供每符号2比特,而16QAM是数据速率的两倍,每符号4比特。但是注意,在QPSK星座图中,符号如何倾向于不通过符号判决边界或x轴和y轴,这意味着符号将被正确接收。 同时,在16 QAM图中,在簇中存在重叠,并且结果将存在许多不正确接收的符号。
10、信道编码【入门软件无线电(SDR)】PySDR:使用 Python 的 SDR 和 DSP 指南_第1张图片
失败的CRC通常会导致重传,至少在使用TCP等协议时是这样。冗余是减少错误数据包、重传或丢失数据的量的故障保护。
我们讨论了为什么需要信道编码,现在让我们看看它在发送-接收链中的位置:
10、信道编码【入门软件无线电(SDR)】PySDR:使用 Python 的 SDR 和 DSP 指南_第2张图片
注意,在发送-接收链中存在多个编码步骤。信源编码(图中的编码端),我们的第一步,与信道编码不一样;信源编码的目的是尽可能地压缩要传输的数据,就像压缩文件以减少占用的空间一样。也就是说,信源编码的输出应该小于数据输入,但是信道编码的输出将大于其输入,因为增加了冗余。

调制和编码(Modulation and Coding)

在“数字调制”一章中,我们讨论了调制方案中的噪声。在低SNR下,需要低阶调制方案(例如,QPSK)来处理噪声,在高SNR时,可以使用256 QAM等调制来获得更多的每秒比特数。信道编码相同;在低SNR时需要较低的码率,在高SNR时可以使用几乎为1的码率。现代通信系统具有一组组合的调制和编码方案,称为MCS。每个MCS指定要在特定SNR水平处使用的调制方案和编码方案(大白话,不同信噪比使用不同调制方式和编码方式)

现代通信基于无线信道条件实时地自适应地改变MCS。接收机向发射机发送关于信道质量的反馈。反馈必须在无线信道质量改变之前被共享,无线信道质量改变可以是ms的量级。这种自适应过程导致可能的最高吞吐量通信,并被LTE、5G和WiFi等现代技术所使用。下面是在传输期间随着用户到小区的距离改变而改变MCS的小区塔的可视化。
10、信道编码【入门软件无线电(SDR)】PySDR:使用 Python 的 SDR 和 DSP 指南_第3张图片
使用自适应MCS时,如果绘制吞吐量与SNR的关系图,则会得到下图所示的阶梯形曲线。诸如LTE的协议通常具有指示在什么SNR下应当使用哪个MCS的表。
10、信道编码【入门软件无线电(SDR)】PySDR:使用 Python 的 SDR 和 DSP 指南_第4张图片

软解码与硬解码 (Soft vs Hard Decoding)

回想一下,在接收机处,解调发生在解码之前。解调器可以告诉我们它最好的猜测是哪个符号被发送,或者它可以输出“软”值。对于BPSK,无论符号的“软”值是多少,解调器都可以说0.3423或-1.1234,而不是告诉我们1或0。通常,解码被设计为使用硬值或软值。
软判决解码-使用软值(小数等)
硬判决解码-仅使用1和0
软判决解码更健壮,因为您可以使用所有可用的信息,但软判决解码实现起来也要复杂得多。

本教程省略了个人认为不重要(对软件无线电使用不重要,非知识不重要)或者已常见的的知识,例如汉明码、香农定理等,完整请查阅https://pysdr.org/content/channel_coding.html

你可能感兴趣的:(python,开发语言)