移动通信网络优化实战精讲 第3篇:数字通信中的编码技术

摘要

本文将带你深入了解数字移动通信中的编码技术,帮助你掌握语音编码、信道编码和交织编码的工作原理与应用。你将学到如何通过编码技术提高通信效率、增强抗干扰能力、以及这些技术在GSM系统中的具体实现。

学习目标

阅读完本文后,你将能够:

  • 理解语音编码原理:掌握波形编码和参量编码的基本概念
  • 认识信道编码技术:理解纠错码的工作原理和应用场景
  • 掌握交织编码技术:学习如何通过时间分散对抗多径衰落
  • 了解Turbo码技术:认识高性能信道编码的设计思路
  • 熟悉GSM编码方案:掌握实际系统的编码实现方案

引言:为什么要对信号进行编码

在数字移动通信中,编码技术是保证通信质量和效率的关键技术之一。想象一下,如果直接传输原始的语音信号,会遇到两个问题:一是数据量大,有限的频谱资源无法支持太多用户;二是抗干扰能力差,无线环境中的各种干扰会导致通信质量严重下降。

51学通信提示:编码技术是通信系统的核心技术之一。一个好的编码方案可以用最小的代价换取最大的性能提升。在移动通信系统中,编码技术直接决定了系统容量、通话质量和数据速率。


一、语音编码技术

1.1 语音编码的基本需求

语音编码的目的是将模拟语音信号转换为数字信号,以便在数字信道中传输。在这个过程中,需要解决三个基本矛盾:

flowchart TD
    subgraph SpeechCoding["语音编码的基本矛盾"]
        direction TB

        Quality["语音质量<br/>需要高保真度<br/>保证可懂度"]

        Bitrate["比特速率<br/>需要尽可能低<br/>节省频谱资源"]

        Delay["编码延迟<br/>需要尽可能低<br/>保证实时性"]

        Triangle["不可能三角<br/>这三个目标<br/>无法同时最优"]

        Quality --> Triangle
        Bitrate --> Triangle
        Delay --> Triangle

        Tradeoff["权衡与妥协<br/>根据应用选择<br/>侧重点不同"]

        Tradeoff --> Voice["语音通话<br/>质量优先<br/>速率适中<br/>延迟低"]
        Tradeoff --> Video["视频会议<br/>质量较好<br/>速率可变<br/>延迟一般"]
        Tradeoff --> Data["数据传输<br/>质量不重要<br/>速率重要<br/>延迟不敏感"]
    end

    style Quality fill:#e8f5e9,stroke:#2e7d33,stroke-width:2px
    style Bitrate fill:#fff9c4,stroke:#f57f17,stroke-width:2px
    style Delay fill:#ffebee,stroke:#c62828,stroke-width:2px
    style Triangle fill:#ffcdd2,stroke:#c62828,stroke-width:3px
    style SpeechCoding fill:#e1f5fe,stroke:#0277bd,stroke-width:3px

图表讲解:这张图展示了语音编码中的”不可能三角”:质量、比特率和延迟三个目标无法同时达到最优。高质量的语音需要较高的比特率来保留更多细节,但高比特率会占用更多频谱资源;低延迟要求复杂的编码算法,可能影响质量或比特率。实际系统需要根据应用场景进行权衡和妥协。对于语音通话,质量是首要目标,速率可以适中,延迟必须尽可能低;对于视频会议,质量要求较高,速率可以根据网络状况调整,延迟要求相对宽松;对于数据传输,质量不重要,速率最重要,延迟几乎不敏感。理解这个权衡关系对于选择合适的编码方案至关重要。

1.2 波形编码

波形编码直接对语音信号的波形进行采样、量化和编码,尽可能保留原始波形特征。

**PCM(脉冲编码调制)**是最基本的波形编码方法:

sequenceDiagram
    autonumber
    participant Analog as 模拟语音
    participant Sample as 采样
    participant Quantize as 量化
    participant Encode as 编码
    participant Transmit as 传输

    Note over Analog,Transmit: PCM编码流程

    Analog->>Sample: 采样 8000次/秒(8kHz)
    Note right of Sample: 奈奎斯特定理 采样率 > 2倍最高频率

    Sample->>Quantize: 量化 将样值近似为 最近的量化电平

    Quantize->>Quantize: 8bit量化 共256个电平

    Quantize->>Encode: 编码 将量化值 转换为8位二进制码

    Encode->>Transmit: 传输 64kbps 数字信道

图表讲解:这个序列图展示了PCM编码的完整流程。模拟语音首先经过采样,按照8000次/秒(8kHz)的采样率进行离散化。根据奈奎斯特定理,采样率需要至少是信号最高频率的两倍,8kHz可以覆盖4kHz的语音带宽。采样后的样值被量化,将连续的样值近似为最近的量化电平。PCM使用8比特量化,共有256个量化电平。量化后的电平被编码为8位二进制码,最后以64kbps的速率在数字信道上传输。PCM的优点是简单直接,缺点是比特率较高,这是为什么早期数字语音系统需要64kbps带宽。

波形编码的特点

  • 优点:实现简单,语音质量好
  • 缺点:比特率高,抗误码性能差

1.3 参量编码

参量编码不直接编码波形,而是提取语音的特征参数进行编码传输。

基本原理

flowchart TD
    subgraph Parametric["参量编码原理"]
        direction TB

        Input["语音信号<br/>时域波形"]

        Analysis["语音分析<br/>提取参数"]

        LPC["线性预测系数<br/>声道滤波器特性"]

        Pitch["基音周期<br/>声带振动频率"]

        Energy["能量<br/>信号强度"]

        Gain["增益<br/>放大量"]

        Analysis --> LPC
        Analysis --> Pitch
        Analysis --> Energy
        Analysis --> Gain

        Trans["参数传输<br/>低速率传输"]

        LPC --> Synth["语音合成<br/>重建语音"]

        Pitch --> Synth
        Energy --> Synth
        Gain --> Synth

        Synth --> Output["重建语音<br/>解码输出"]
    end

    style Input fill:#e8f5e9,stroke:#2e7d33,stroke-width:2px
    style Analysis fill:#fff9c4,stroke:#f57f17,stroke-width:2px
    style Trans fill:#ffebee,stroke:#c62828,stroke-width:2px
    style Synth fill:#e1f5fe,stroke:#0277bd,stroke-width:2px
    style Output fill:#c8e6c9,stroke:#2e7d33,stroke-width:2px
    style Parametric fill:#f3e5f5,stroke:#4a148c,stroke-width:3px

图表讲解:这张图展示了参量编码的工作流程。输入语音信号首先经过分析过程,提取关键的语音参数:线性预测系数(LPC)描述声道滤波器的特性,基音周期反映声带振动频率,能量表示信号强度,增益表示放大量。这些参数以低速率传输到接收端。接收端的语音合成器利用这些参数重建语音。参量编码的关键在于:不是传输波形本身,而是传输产生波形的参数。由于参数的数量远小于原始采样点数量,所以可以大大降低比特率,通常可以降到5-13kbps范围内,同时保持可接受的语音质量。参量编码是实现低速率语音通信的基础技术。


二、信道编码技术

2.1 信道编码的基本概念

信道编码是在信息序列中添加冗余度,使接收端能够检测或纠正传输错误。

基本原理

flowchart LR
    subgraph ChannelCoding["信道编码原理"]
        direction TB

        Original["原始信息<br/>k位信息位"]

        Encode["信道编码<br/>添加冗余<br/>n位编码位<br/>n > k"]

        Transmit["信道传输<br/>可能引入错误"]

        Receive["接收信号<br/>可能包含错误"]

        Decode["信道解码<br/>利用冗余<br/>纠正错误"]

        Recovered["恢复信息<br/>纠正后<br/>k位信息位"]

        Original --> Encode
        Encode --> Transmit
        Transmit --> Receive
        Receive --> Decode
        Decode --> Recovered

        Example["示例: (7,4)汉明码<br/>4位信息<br/>编码为7位<br/>可以纠正1位错误"]
    end

    style Original fill:#e8f5e9,stroke:#2e7d33,stroke-width:2px
    style Encode fill:#fff9c4,stroke:#f57f17,stroke-width:2px
    style Transmit fill:#ffebee,stroke:#c62828,stroke-width:2px
    style Decode fill:#e1f5fe,stroke:#0277bd,stroke-width:2px
    style ChannelCoding fill:#f3e5f5,stroke:#4a148c,stroke-width:3px

图表讲解:这张图展示了信道编码的基本流程。原始的k位信息位经过信道编码,添加n-k位冗余位,变成n位编码位。编码后的信号通过信道传输,可能引入错误。接收端收到可能包含错误的信号,利用信道解码时添加的冗余信息来检测和纠正错误,最终恢复出原始的k位信息位。图中给出了一个具体例子:(7,4)汉明码将4位信息编码为7位,可以纠正1位错误。信道编码以增加传输开销为代价,换取传输可靠性的提升。编码率k/n越小,冗余越多,纠错能力越强,但传输效率越低。在实际系统中,需要根据信道质量选择合适的编码方案。

2.2 分组码与卷积码

分组码

  • 将信息序列分为固定长长的组
  • 每组独立编码
  • 编码只与本组信息有关

卷积码

  • 信息序列连续通过编码器
  • 输出不仅与当前输入有关,还与之前的输入有关
  • 记忆长度:影响编码的复杂度和性能
flowchart TD
    subgraph CodeComparison["分组码 vs 卷积码"]
        direction TB

        Block["分组码<br/>分组独立编码<br/>无记忆<br/>编译码简单"]

        Conv["卷积码<br/>连续编码<br/>有记忆<br/>维特比解码"]

        Block --> B1["优势: 编码简单<br/>缺点: 无记忆利用"]
        Block --> B2["应用: 早期系统<br/>数据存储"]

        Conv --> C1["优势: 记忆利用<br/>缺点: 解码复杂"]
        C2["应用: 移动通信<br/>卷积码"]
    end

    style Block fill:#e8f5e9,stroke:#2e7d33,stroke-width:2px
    style Conv fill:#fff9c4,stroke:#f57f17,stroke-width:2px
    style CodeComparison fill:#e1f5fe,stroke:#0277bd,stroke-width:3px

图表讲解:这张图比较了分组码和卷积码的特点和应用场景。分组码将信息序列分组,每组独立编码,编码无记忆,编解码简单。这种特性使得分组码适合于数据存储等应用。卷积码对信息序列进行连续编码,具有记忆特性,可以利用前后信息的相关性,性能更好。卷积码的解码较复杂,但在移动通信等应用中,其性能优势使得它成为必然选择。在实际系统中,卷积码通常与交织技术结合使用,进一步提升抗衰落能力。

2.3 纠错码类型对比

编码类型特点纠错能力应用
汉明码简单检错/纠错数据传输
BCH码循环多个比特存储
RS码里德-所罗门字节级CD/DVD
卷积码记忆维特比算法移动通信

三、交织编码技术

3.1 交织的必要性

在移动通信环境中,多径衰落会导致突发错误,连续多个比特出错。如果不加处理,信道编码可能无法纠正这么多连续错误。

交织的原理

flowchart TD
    subgraph Interleaving["交织编码原理"]
        direction TB

        Input["输入码字<br/>码字1<br/>码字2<br/>码字3<br/>码字4"]

        Interleave["交织<br/>打乱顺序<br/>时间分散"]

        Burst["突发错误<br/>连续多个错误<br/>集中发生"]

        Deinterleave["解交织<br/>恢复顺序<br/>错误分散"]

        Output["输出码字<br/>码字1' &lt;error&gt;<br/>码字2' &lt;error&gt;<br/>码字3'<br/>码字4'"]

        Input --> Interleave
        Interleave --> Burst
        Burst --> Deinterleave
        Deinterleave --> Output

        Key["关键: 集中错误<br/>分散到多个码字<br/>每个码字错误少<br/>便于纠错"]
    end

    style Input fill:#e8f5e9,stroke:#2e7d33,stroke-width:2px
    style Interleave fill:#fff9c4,stroke:#f57f17,stroke-width:2px
    style Burst fill:#ffebee,stroke:#c62828,stroke-width:2px
        style Deinterleave fill:#e1f5fe,stroke:#0277bd,stroke-width:2px
    style Output fill:#c8e6c9,stroke:#2e7d33,stroke-width:2px
    style Interleaving fill:#f3e5f5,stroke:#4a148c,stroke-width:3px

图表讲解:这张图展示了交织编码如何将集中错误分散为分散错误。输入的码字1、2、3、4经过交织,打乱顺序后在信道中传输。如果信道中出现突发错误,连续多个比特出错,这些错误会集中影响交织后的某几个位置。解交织恢复原始顺序后,原本集中的错误被分散到多个码字中,每个码字只包含少量错误。大多数信道编码可以纠正少量错误,但不能纠正大量错误。通过交织,将突发错误转化为随机错误,使得纠错码能够有效工作。交织的关键思想是时间分散:在时间域上打乱信号顺序,使得在解交织后,连续的错误在时间上被分散。移动通信中的快衰落就是典型的突发错误源,交织是对抗衰落的标准解决方案。

3.2 交织器类型

块交织

  • 将输入矩阵按列写入
  • 按行读出
  • 交织深度 = 矩阵的行数

卷积交织

  • 使用移位寄存器
  • 连续处理
  • 适合实时通信

四、Turbo码与网格编码调制

4.1 Turbo码原理

Turbo码是接近香农极限的高性能信道编码。

结构组成

flowchart TD
    subgraph TurboCode["Turbo码结构"]
        direction TB

        Input["输入信息"]

        Encoder1["编码器1<br/>系统码<br/>码率1/3"]

        Encoder2["编码器2<br/>系统码<br/>码率1/3"]

        Interleaver["交织器<br/>打乱顺序"]

        Decoder1["解码器1<br/>软输出"]

        Decoder2["解码器2<br/>软输出"]

        Feedback["迭代反馈<br/>多次迭代<br/>提升性能"]

        Input --> Encoder1
        Input --> Encoder2

        Encoder1 --> Interleaver
        Interleaver --> Decoder1

        Decoder2 --> Decoder1
        Decoder1 --> Decoder2

        Decoder1 --> Feedback
        Decoder2 --> Feedback

        Feedback --> Output["输出结果"]
    end

    style Input fill:#e8f5e9,stroke:#2e7d33,stroke-width:2px
    style Feedback fill:#fff9c4,stroke:#f57f17,stroke-width:2px
    style Output fill:#c8e6c9,stroke:#2e7d33,stroke-width:2px
    style TurboCode fill:#e1f5fe,stroke:#0277bd,stroke-width:3px

图表讲解:这张图展示了Turbo码的结构和工作流程。输入信息被送入两个并行的编码器(编码器1和编码器2),每个编码器都是系统码,码率通常为1/3。编码器2的输出经过交织器打乱顺序后,与编码器1的输出一起传输。接收端有两个解码器,分别处理两路信号。解码器之间有迭代反馈机制,解码器1的软输出送给解码器2,解码器2的软输出反馈给解码器1,经过多次迭代后输出结果。这种迭代解码机制是Turbo码性能优异的关键。每次迭代都会改善解码性能,通常经过5-8次迭代即可获得接近最优的结果。Turbo码在3G和4G系统中得到广泛应用,是现代通信系统编码技术的里程碑。

4.2 网格编码调制

网格编码调制将编码和调制结合,在不增加带宽的情况下获得编码增益。

基本思想

  • 在调制之前引入冗余
  • 使用卷积码
  • 通过解码映射选择最佳调制符号

五、GSM系统的编码方案

5.1 GSM语音编码

GSM使用规则脉冲激励线性预测编码(RPE-LTP),比特率为13kbps。

编码过程

  1. 语音信号分为20ms帧
  2. 每帧分为4个子帧
  3. 每个子帧进行LPC分析
  4. 提取LPC参数和激励参数
  5. 量化编码

5.2 GSM信道编码

GSM使用卷积码作为信道编码,并进行交织。

编码方案

  • 语音编码:13kbps
  • 卷积编码:码率1/2,约束长度5
  • 交织:8帧交织
  • 总速率:22.8kbps

核心概念总结

概念定义目的关键技术
语音编码模拟转数字降低比特率PCM、参量编码
信道编码添加冗余纠正错误卷积码、Turbo码
交织编码时间分散对抗突发错误块交织、卷积交织
Turbo码迭代解码接近极限性能并行级联、迭代反馈

常见问题解答

Q1:语音编码的比特率越低越好吗?为什么GSM选择13kbps而不是更低的速率?

:语音编码的比特率并不是越低越好。这需要在语音质量、比特率和复杂度之间进行权衡,找到适合应用场景的最佳平衡点。

首先,比特率直接影响语音质量。高比特率编码可以保留更多语音细节,听起来更自然、更清晰,但占用更多的带宽。低比特率编码节省带宽,但会损失一些细节,可能听起来不自然、有”机器感”。对于语音通话这个主要应用,需要保证基本的通话质量,不能为了节省带宽而牺牲基本可懂度。

其次,比特率也影响抗误码性能。比特率越低,每个比特携带的信息越重要,任何一个比特的错误都可能造成严重影响。高比特率编码有一定冗余,个别比特错误的影响相对较小。在无线信道质量较差的情况下,低比特率编码可能比高比特率编码更脆弱。

第三,比特率与编码复杂度和延迟相关。高比特率编码可以采用相对简单的算法,而低比特率编码通常需要复杂的算法来提取和压缩信息,这会增加编码延迟和计算复杂度。实时通信对延迟敏感,因此不能为了降低比特率而引入不可接受的延迟。

GSM选择13kbps是一个在质量和效率之间的合理平衡。这个速率可以提供接近 toll质量(长途电话质量)的语音质量,同时占用有限的带宽。如果采用更低速率(如5kbps),虽然可以节省带宽,但语音质量会明显下降,可能无法满足基本通话需求。另外,13kbps的复杂度和延迟对于实时通信是可以接受的。

随着技术进步,现代通信系统可以在更低的比特率下提供更好的语音质量。例如,一些VoIP codec可以在8kbps甚至更低速率下提供高质量的语音。这是因为算法的改进、更先进的参数建模、更好的心理声学模型等。但这些改进通常以更高的计算复杂度为代价,在实际应用中需要综合考虑。

51学通信站长爱卫生认为,语音编码的比特率选择需要应用驱动。对于语音通话等实时通信,质量是首要考虑;对于语音邮件等非实时应用,可以接受较低的比特率以节省存储和传输成本。未来的5G网络将支持更灵活的编码方案,可以根据网络状况动态调整比特率,实现质量和效率的优化平衡。


Q2:卷积码和分组码有什么区别?为什么移动通信主要使用卷积码?

:卷积码和分组码是两大类信道编码,它们在设计原理、性能特点和应用场景上都有显著差异。

分组码将信息序列分成固定长度的组,每组独立编码,编码只与本组信息有关,与其他组无关。这意味着分组码是无记忆的,当前时刻的编码输出只取决于当前输入的码元。分组码的主要优点是编译码相对简单,特别是代数分组码有很好的代数结构,便于分析和设计。分组码的缺点是无法利用信息序列的相关性,性能相对有限。典型的分组码包括汉明码、BCH码、RS码等。

卷积码对信息序列进行连续编码,编码输出不仅与当前输入有关,还与之前的输入有关,具有记忆特性。这种记忆性使得卷积码能够利用信息序列的时间相关性,获得比分组码更好的编码增益。卷积码通常用约束长度K(记忆长度)和码率来描述,约束长度越大,性能越好,但复杂度也越高。

移动通信主要使用卷积码有几个重要原因。首先是性能优势。卷积码的维特比解码算法是最大似然序列检测,在AWGN信道中可以获得接近最优的性能,比相同复杂度的分组码有更好的编码增益。对于移动通信这种带宽受限但质量要求高的应用,卷积码的性能优势至关重要。

其次是实时性。移动通信是实时通信,需要连续处理数据流。卷积码可以连续编码,不需要分组,延迟小,非常适合实时通信。分组码需要等待整组数据到达后才能编码,可能引入额外延迟。

第三是软判决支持。卷积码的维特比解码可以处理软判决信息(模拟接收信号幅度的信息),获得约2dB的软增益。这对于无线信道的质量改善非常重要。分组码通常只支持硬判决,浪费了软判决信息。

第四是与交织的配合。卷积码与交织技术结合使用非常有效,可以很好地抵抗多径衰落引起的突发错误。交织可以将突发错误分散,卷积码可以纠正分散后的随机错误。这种组合已成为移动通信的标准配置。

当然,分组码也有其应用场景。例如,存储系统通常使用RS码或BCH码,因为数据是分块存储的,不需要连续处理。而且分组码对于检错和纠正擦除错误(知道错误位置)有独特优势。

在现代通信系统中,卷积码和分组码经常被组合使用。例如,在4G LTE系统中,使用了Turbo码(级联卷积码)作为内码,用于纠正随机错误,可能还会外加上RS码作为外码用于检错或纠正突发错误。这种级联码可以同时获得两种编码的优势。


Q3:交织深度如何影响抗衰落性能?应该如何选择交织深度?

:交织深度是交织器设计的关键参数,直接影响抗衰落性能。理解交织深度的影响对于网络优化和参数配置非常重要。

交织深度指的是交织器在时间上打乱信号的程度。对于块交织,交织深度通常表示为交织矩阵的行数,例如8行交织表示交织深度为8。交织深度越大,信号被分散到越大的时间范围内,对越长的突发错误越有效。

交织深度对抗衰落性能的影响可以通过以下方式理解。如果衰落持续时间是t_f,交织深度是t_i,当t_i > t_f时,突发错误会被分散到不同的码字中,每个码字只包含少量错误,便于纠错码纠正。当t_i ≤ t_f时,交织可能无法完全分散错误,某些码字可能仍包含较多错误,导致纠错失败。因此,交织深度应该大于典型的衰落持续时间。

衰落持续时间与移动速度、工作频率有关。在900MHz频率下,移动速度为50km/h时,波长尺度的衰落持续时间约为几毫秒到几十毫秒。如果要抵抗较深的衰落,交织深度应该足够大。GSM使用的8帧交织(8×20ms=160ms)可以抵抗较长的衰落,提供良好的抗衰落性能。

但是,交织深度越大,也带来一些负面影响。首先是延迟增加。交织和解交织需要时间,交织深度越大,延迟越长。对于语音通话等实时应用,延迟必须尽可能小,因此交织深度不能太大。其次是存储需求。大交织深度需要更多的存储器来缓存数据,增加设备成本。第三是,对于时变信道,过大的交织深度可能导致”陈旧”数据发送时信道条件已经变化,影响性能。

选择交织深度时需要考虑应用场景和信道特性。对于语音等实时业务,交织深度通常选择在4-8之间,在性能和延迟之间取得平衡。对于数据业务,可以容忍较大延迟,可以使用更大的交织深度(如16、32甚至更大),以获得更好的抗衰落性能。对于高速移动场景(如高铁),衰落变化快,可能需要较小的交织深度,以便快速适应信道变化。

在实际网络中,交织深度通常是固定的,由系统标准规定。例如,GSM使用8帧交织,CDMA2000使用16帧交织,LTE系统中交织深度可以配置。网络优化时,如果发现某个区域的衰落特性特别严重(如很多直射路径),可以考虑调整交织参数,但需要与设备厂商协商,并确保终端支持可配置的交织深度。

51学通信提示,在分析网络质量问题时,如果发现某些位置频繁出现深衰落导致的掉话或质量下降,除了检查天线和覆盖外,也可以考虑交织参数是否合适。但要注意,修改交织参数涉及系统级配置,需要全面评估影响。


Q4:Turbo码为什么能接近香农极限?它的迭代解码是如何工作的?

:Turbo码之所以能接近香农极限,是因为它巧妙地结合了两个关键设计:随机性编码和迭代解码。理解其工作原理对于理解现代通信系统的设计思想非常有帮助。

Turbo码的随机性编码体现在两个方面。首先是编码器2的输出经过交织器打乱顺序,引入了伪随机特性。其次是两个编码器可以并行工作,产生并行的编码流。这种设计使得编码后的输出序列具有近似随机的特性,这是达到香农极限的重要条件。香农证明,对于高斯信道,随机编码可以接近信道容量。Turbo码虽然没有使用真正的随机编码(那需要无限长的码本),但通过精心设计的交织器和并行编码器,实现了”伪随机”的效果。

迭代解码是Turbo码另一个核心创新。传统解码器是单向的,解码后就输出结果,没有机会”反悔”。Turbo码的解码器之间有反馈机制,可以多次迭代逐步改善解码结果。每次迭代中,解码器1和2交换信息,利用对方的软输出信息作为先验信息,重新进行解码。软输出不仅包含判决结果,还包含判决的可靠性信息(如对数似然比),这些软信息使得另一个解码器能够做出更准确的判断。

迭代过程可以这样理解:第一次解码时,两个解码器的信息都不够准确,但提供了一些初步信息。通过交换这些信息,每个解码器都能从对方那里获得额外的提示,从而修正自己的判断。经过几次迭代后,两个解码器的判断逐渐趋于一致,最终收敛到正确的解码结果。这就像两个人合作解决问题,通过反复交流和互相提示,最终得出正确答案。

迭代解码的效果可以用”滚雪球”来形容。初始的几次迭代可能改善明显,但随着迭代次数增加,改善的幅度会逐渐减小。通常经过5-8次迭代后,继续迭代的收益已经很小,可以停止迭代输出最终结果。更多的迭代只会增加延迟和复杂度,但不会显著改善性能。

Turbo码的性能优势来自于这两个设计的协同作用。随机性编码提供了良好的距离特性,迭代解码充分利用了编码的结构信息。这两个设计使得Turbo码在相同的复杂度下,性能远优于传统的卷积码,能够更接近理论上的信道容量。

需要注意的是,Turbo码的优势主要体现在低信噪比(SNR)区域。在高SNR区域,传统卷积码的性能差距不大。这是因为Turbo码的迭代解码在高SNR下收益有限,而传统卷积码的性能本身已经很好。因此,Turbo码特别适合带宽受限、信道质量较差的场景,这正是移动通信的典型环境。

随着技术进步,Turbo码的设计也在不断演进。例如,LTE和5G使用的Turbo码使用了不同的设计,可能在码率、约束长度、交织深度等方面有所不同,以适应不同的应用场景和信道条件。


Q5:GSM的编码方案是如何设计的?各个阶段的作用是什么?

:GSM的编码方案是多个编码技术的综合应用,每个阶段都有特定的作用。理解这个方案对于理解移动通信系统的设计思想很有帮助。

GSM的编码方案包括四个主要阶段:语音编码、信道编码、交织和突发脉冲形成,每个阶段解决不同的问题。

语音编码阶段将模拟语音信号转换为数字信号,同时大幅降低比特率。GSM使用的RPE-LTP(规则脉冲激励线性预测编码)将语音从64kbps PCM压缩到13kbps,压缩比约为5:1。这个阶段的主要目的是节省带宽,使得有限的频谱资源能够支持更多用户。13kbps的速率可以在保证可懂度的同时,平衡编码复杂度和语音质量。这个阶段的输出包含LPC参数和激励参数,都是对语音信号的特征描述。

信道编码阶段在语音编码的基础上添加冗余,用于检测和纠正传输错误。GSM使用约束长度为5、码率为1/2的卷积码。这意味着每输入1比特,输出2比特,编码后有4倍的冗余。卷积码的选择是基于性能和复杂度的平衡,约束长度5提供足够的编码增益,解码复杂度也适中。信道编码的作用是提高传输可靠性,使系统能够纠正无线信道中的随机错误。

交织阶段在时间上打乱信道编码后的比特流,将可能出现的连续分散到不同的时间位置。GSM使用8帧交织,交织深度为160ms(8×20ms)。这意味着一次深度衰落可能影响的连续比特会被分散到160ms的时间范围内,大大减少了单个码字中的错误数量。交织的作用是使信道编码能够有效对抗无线信道中的突发错误。

突发脉冲形成阶段将编码和交织后的比特流组织成适合无线传输的格式。GSM的帧结构中,每个时隙可以承载特定类型的信息(如全速率业务信道、半速率业务信道、控制信道等)。突发脉冲形成还包括加扰(加密)、训练序列插入、功率控制信息插入等操作。这个阶段的作用是确保信号能够适应无线信道的特性,实现可靠传输。

这个多阶段编码方案体现了通信系统设计的分层思想。每个阶段处理不同的问题,使用不同的技术:语音编码解决带宽效率问题,信道编码解决传输可靠性问题,交织解决衰落特性问题,突发脉冲形成解决信道适配问题。各个阶段相互配合,共同实现了在恶劣无线信道中可靠传输高质量语音的目标。

在实际网络中,这些编码参数是标准规定的,不支持动态调整。因此,网络优化需要在既定的编码框架下,通过调整无线参数(如功率控制、切换门限等)来优化性能。如果发现某些区域频繁出现质量问题,可能需要调整物理层配置(如调整天线、增加基站等),而不是尝试修改编码参数。


总结

本文介绍了数字通信中的编码技术,包括语音编码、信道编码和交织编码的原理与应用。我们学习了如何通过编码技术提高通信效率、增强抗干扰能力,以及GSM系统的实际编码方案。这些技术是数字移动通信的核心技术,直接决定了系统的性能和容量。


下篇预告

下一篇我们将深入探讨GSM/GPRS/EDGE网络优化实战,带你了解2G网络的系统架构、优化方法、典型问题和解决方案。


本文由”51学通信”(公众号:51学通信,站长:爱卫生)原创分享。如需深入交流或获取更多通信技术资料,欢迎添加微信:gprshome201101。