OFDM时延 - darkking1112/styleguide GitHub Wiki

在正交频分复用(OFDM)系统中,字节数由子载波数、调制方式和编码率决定,公式为:

$$ \text{字节数} = \frac{\text{子载波数} \times \text{每子载波比特数} \times \text{编码率}}{8} $$

并且数据速率计算为:

$$ \text{数据速率} = \text{每符号字节数} \times \text{符号发送频率} $$


一、数据速率与子载波带宽的关系

1. 子载波带宽的定义

  • 子载波带宽:在OFDM系统中,子载波带宽通常指子载波间隔(Δf),即相邻子载波的频率间隔(如5G NR中的15kHz、30kHz等)。然而,更广义的“子载波带宽”可能指系统分配给某个用户的总带宽(子载波数 × 子载波间隔)。
  • 系统总带宽

$$ \text{总带宽} \approx \text{子载波数} \times \Delta f $$

(实际带宽略小,因有保护带。)

2. 数据速率与子载波带宽的关系

数据速率与子载波带宽直接相关,主要体现在以下两个方面:

(1)子载波数量(影响总带宽)

  • 数据速率公式:

$$ \text{数据速率 (字节/s)} = \left( \frac{\text{子载波数} \times \text{每子载波比特数} \times \text{编码率}}{8} \right) \times \text{符号发送频率} $$

  • 子载波数:更多子载波意味着更大带宽(如20MHz带宽约1200个子载波,15kHz间隔),每个符号传输更多比特,从而提高数据速率。

  • 例:假设QPSK(2比特/子载波),编码率1,符号发送频率为 $1/T_{\text{total}} )(总符号时长 ( T_{\text{total}} = 1/\Delta f + T_{CP}$ )。

    • 100子载波:100 × 2 ÷ 8 = 25字节/符号。
    • 1000子载波:1000 × 2 ÷ 8 = 250字节/符号。
    • 若 $\Delta f = 15kHz ),( T_{\text{total}} \approx 71.37\mu s$,符号频率 ≈ 14000符号/s,则:
      • 100子载波:25 × 14000 ≈ 0.35 MB/s。
      • 1000子载波:250 × 14000 ≈ 3.5 MB/s。
  • 结论:子载波数增加(即总带宽增加)直接提高数据速率。

(2)子载波间隔(Δf)

  • 符号发送频率

$$ \text{符号发送频率} = \frac{1}{T_s + T_{CP}} \approx \frac{1}{1/\Delta f + T_{CP}} $$

子载波间隔( $\Delta f$ )越大,符号时长( $T_s = 1/\Delta f$ )越短,符号发送频率越高,数据速率增加。

  • 例:假设1000子载波,QPSK,编码率1,比较不同子载波间隔:

    • $\Delta f = 15kHz$ , $T_s \approx 66.67\mu s $,CP ≈ 4.7μs,符号频率 ≈ 14000符号/s,数据速率 ≈ 3.5 MB/s。
    • $\Delta f = 30kHz$, $T_s \approx 33.33\mu s $,CP ≈ 2.35μs,符号频率 ≈ 27778符号/s,数据速率 ≈ 6.94 MB/s。
  • 结论:更大的子载波间隔(更高子载波带宽)缩短符号时长,提高符号发送频率,从而提升数据速率。

(3)多用户场景

  • 在OFDMA中,用户分配部分子载波(资源块,RB)。每个用户的数据速率取决于分配的子载波数(带宽)和调制方式。
  • 例:总带宽20MHz(1200子载波),用户A分配600子载波,用户B分配400子载波,数据速率按比例分配:
    • 用户A:600 × 2 ÷ 8 × 14000 ≈ 1.75 MB/s(QPSK)。
    • 用户B:400 × 2 ÷ 8 × 14000 ≈ 1.17 MB/s。

二、数据速率与时延的关系

1. 时延的定义

  • 时延:指数据从发送到接收的延迟,包括传输时延、处理时延、排队时延等。在OFDM中,关键时延包括:
    • 传输时延:数据通过物理信道传输所需时间,与符号时长和帧结构相关。
    • 调度时延:多用户场景下,调度器分配资源可能引入额外等待时间。
    • 处理时延:发送端和接收端的信号处理(如IFFT/FFT、编码/解码)时间。

2. 数据速率对时延的影响

  • 高数据速率降低传输时延

    • 数据速率高意味着单位时间内传输更多字节,传输相同数据量所需时间(传输时延)更短。
    • 例:传输1000字节数据:
      • 数据速率3.5 MB/s(1000子载波,QPSK,15kHz):1000 ÷ 3.5 × 10^6 ≈ 286μs(约4个符号,71.37μs/符号)。
      • 数据速率6.94 MB/s(1000子载波,QPSK,30kHz):1000 ÷ 6.94 × 10^6 ≈ 144μs(约4个符号,35.68μs)。
  • 子载波间隔对时延的影响

    • 更大的子载波间隔(( \Delta f ))缩短符号时长(( T_s = 1/\Delta f )),从而减少每个符号的传输时延。
    • 例:5G NR中,URLLC(超低时延高可靠通信)使用60kHz或120kHz间隔,符号时长分别为16.67μs或8.33μs,显著降低传输时延,适合低时延场景。
  • 多用户场景

    • 用户分配的子载波数(带宽)影响其数据速率,进而影响传输时延。更多子载波(更高速率)缩短传输时延。
    • 调度时延:OFDMA中,用户可能需等待分配的时隙,5G NR的短时隙(Mini-slot,2/4/7符号)可减少调度时延。
    • 例:用户A(600子载波,3.5 MB/s)传输1000字节需286μs,用户B(200子载波,1.17 MB/s)需857μs。

3. 权衡

  • 高数据速率 vs. 时延
    • 增加子载波数或使用高阶调制(如64QAM)提高数据速率,降低传输时延,但高阶调制对信道质量要求高,可能增加误码率和重传时延。
    • 更大子载波间隔(如60kHz)缩短符号时长,降低传输时延,适合URLLC,但可能减少子载波数(固定带宽下),降低总数据速率。
  • 多用户场景
    • 分配更多子载波给某用户可降低其传输时延,但可能减少其他用户可用资源,增加他们的调度时延。

三、示例计算

假设系统参数:20MHz带宽(1200子载波,1000个用于数据),QPSK(2比特/子载波),编码率3/4,比较子载波间隔15kHz和30kHz:

  • 15kHz间隔
    • 符号时长:66.67μs + 4.7μs ≈ 71.37μs。
    • 符号频率:1 ÷ 71.37μs ≈ 14000符号/s。
    • 字节数/符号:1000 × 2 × 3/4 ÷ 8 = 187.5字节。
    • 数据速率:187.5 × 14000 ≈ 2.625 MB/s。
    • 传输1000字节时延:1000 ÷ 2.625 × 10^6 ≈ 381μs(约5.3符号)。
  • 30kHz间隔
    • 符号时长:33.33μs + 2.35μs ≈ 35.68μs。
    • 符号频率:1 ÷ 35.68μs ≈ 28000符号/s。
    • 字节数/符号:1000 × 2 × 3/4 ÷ 8 = 187.5字节。
    • 数据速率:187.5 × 28000 ≈ 5.25 MB/s。
    • 传输1000字节时延:1000 ÷ 5.25 × 10^6 ≈ 190μs(约5.3符号)。

结论:30kHz间隔下,数据速率翻倍,传输时延减半。

  1. 数据速率与子载波带宽

    • 数据速率与子载波数(总带宽)正相关,更多子载波增加每符号字节数。
    • 数据速率与**子载波间隔(Δf)**正相关,更大间隔缩短符号时长,提高符号频率。
    • 例:20MHz带宽,30kHz间隔比15kHz间隔数据速率高一倍(5.25 MB/s vs. 2.625 MB/s)。
  2. 数据速率与时延

    • 高数据速率(更多子载波或更大间隔)减少传输时延。
    • 例:1000字节传输,30kHz间隔(190μs)比15kHz间隔(381μs)时延减半。
    • 多用户场景下,分配更多子载波或优先调度(如Mini-slot)进一步降低时延。

四、公司测试时延的方法和代码解析