子载波均衡和导频校正
这是频域中的第一个模块。有两个主要任务:子载波增益均衡和使用导频子载波校正剩余相位偏移。
子载波结构
802.11a/g/n中的基本信道宽度为20 MHz,进一步分为64个子载波(每个子载波0.3125 MHz
图13显示了20 MHz频带的子载波结构。64个子载波中的52个被使用,52个(-7、-21、7、21)子载波中的4个被用作导频子载波,其余48个子载波携带数据。正如我们稍后将看到的,导频子载波可用于校正剩余频率偏移。
导频的作用
导频,比如我们可以在发射时指定一个子载波上的信号固定为档位255,另外一个子载波上信号固定为档位128,因为OFDM中不同子载波同时发射,传播路径(信道特征)也相同,所以不同子载波其电场衰减程度可以认为完全一致,因此我们不需要考虑当前接收的绝对电场强度大小,只要知道它和导频的相对大小就可以用了。因此导频就起到地图上比例尺的作用。
每个子载波携带I/Q调制信息,对应于sync_long.v模块的64点FFT输出。
子载波均衡
图 14完美和两个实际LTS的FFT
图14显示了样本中完美LTS和两个实际LTS的FFT。我们可以看到,每个子载波显示不同的幅度增益。事实上,它们也有不同的相位漂移。在图15所示的I/Q平面中可以清楚地看到幅度增益和相位漂移(称为通道增益)的组合效应。
图15实际LTS I/Q平面上的FFT
为了将FFT点映射到星座点,我们需要补偿信道增益。这可以通过使用LTS归一化数据OFDM符号来实现。特别是,两个LTS的平均值用作信道增益(H):
其中L[i]是LTS序列的符号(极性):
其中中间的0为DC,直流子载波,不传输任何信息
子载波i处的FFT输出归一化为(做除法):
where X[i] is the FFT output at sub-carrier i
图16未归一化的FFT
图17归一化FFT
图16和图17显示了使用通道增益归一化前后的FFT。
剩余频率偏移校正
从图17可以看出,FFT输出略微倾斜。这是由于在粗CFO校正步骤中未补偿的残余频率偏移造成的。
该剩余CFO可以通过精细CFO校正或/和导频进行校正。理想情况下,我们希望两者都做,但由于良好的CFO通常超出了阶段查找表的分辨率,所以我们在sync_long.v中跳过它模块和仅依赖于导频子载波。
无论数据子载波调制如何,四个导频子载波(-21、-7、7、21)始终包含BPSK调制的伪随机二进制序列。
导频子载波的极性随符号而异。对于802.11a/g,导频模式为:
p0,…,126={1,1,1,1,−1,−1,−1,1,−1,−1,−1,−1,1,1,−1,1,−1,−1,1,1,−1,1,1,−1,1,1,1,1,1,1,−1,1,1,1,−1,1,1,−1,−1,1,1,1,−1,1,−1,−1,−1,1,−1,1,−1,−1,1,−1,−1,1,1,1,1,1,−1,−1,1,1,−1,−1,1,−1,1,−1,1,1,−1,−1,−1,1,1,−1,−1,−1,−1,1,−1,−1,1,−1,1,1,1,1,−1,1,−1,1,−1,1,−1,−1,−1,−1,−1,1,−1,1,1,−1,1,−1,1,1,1,−1,−1,1,−1,−1,−1,1,1,1,−1,−1,−1,−1,−1,−1,−1}
然后,OFDM符号n处的导频子载波(从长前导码后的第一个符号的0开始)为:
对于具有单个空间流的20MHz带宽的802.11n,第n个导频子载波为:
换句话说,前几个符号的导频子载波是:
然后,符号n处的剩余相位偏移可以估计为:
将此相位偏移和前一通道增益校正组合在一起,符号n的调整为:
图18使用导频子载波的剩余CFO修正
图18显示了使用导频子载波校正剩余CFO的效果。然后,可以轻松地将每个子载波映射到星座点。
在OpenOFDM中,上述任务由equalizer.v模块实现。它首先存储第一个LTS,然后计算两个LTS的平均值,并将其存储为信道增益。
对于每个进入的OFDM符号,它首先获得当前符号中导频子载波的极性,然后使用导频子载频计算剩余CFO,并执行信道增益校正。
equalizer.v
子载波增益均衡、使用导频子载波校正剩余相位偏移。
直流子载波,即DC subcarrier。在802.11或者其他的OFDM传输机制中,该子载波实际上是没有使用的