ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【频偏】频偏到底是什么?为什么最后会变成 IQ 星座旋转?

【频偏】频偏到底是什么?为什么最后会变成 IQ 星座旋转? 很多人第一次学物理层碰到“频偏”这个词时通常解释到由于发送端和接收端的本振频率不完全一致会产生载波频率偏移也就是 CFOCarrier Frequency Offset。频偏会导致星座旋转并破坏 OFDM 子载波之间的正交性。每个字都认识。连在一起就得使劲反应好长时间。本振载波。。。尤其是其中一句“频偏会导致星座旋转。”更神奇的是接收机最后居然还能通过一串 IQ 数据算出到底偏了多少 Hz。到底是怎么做到的这篇文章我们不从复杂的通信公式开始。先从高中就见过的余弦波开始。一、先从一个最熟悉的余弦波开始一个最普通的余弦波频率越高同样一秒钟里波走的周期越多。所以从时域看频率就是“这个波走得有多快”。二、如果有频偏时域里会看到什么这个现象很好理解。两个人同时起跑一个每秒跑 10 米一个每秒跑 10.1 米。刚开始几乎看不出差别。跑得越久两个人之间的距离越大。频偏也一样。只不过这里逐渐积累的“距离差”是相位差。图上看两个波拉的越来越远。只记一句频率只差一点点时间长了以后波的位置就会越来越错开。三、到了频域频偏就更直观了同一个信号换到频域里看就简单很多。原来它在频率 的位置。发生频偏以后就跑到了所以时域里频偏让波形慢慢对不上。频域里频偏让频率位置挪了一点。到这里都很好理解。但通信里经常还有第三种说法频偏会让 IQ 星座旋转。“旋转”又是从哪里来的四、余弦波怎么变成 IQ 平面上的一个点这一步是理解频偏最重要的一座桥。还是回到刚才那个余弦波。一个正弦信号最重要的两类信息可以先理解成它的强度有多大。波的最高点有多高。于是同一个信号有了两种描述方法幅度 相位或者I Q它们不是两份不同的信息。只是同一根箭头的两种坐标表示。就像地图上的一个位置可以说距离原点 10 公里东北方向 30°。也可以说向东多少公里向北多少公里。描述的是同一个位置只是坐标方式不同。所以 IQ 最重要的直觉就是I、Q 不是两个孤零零的数字。它们一起描述了一根箭头。箭头长度代表幅度。箭头方向代表相位。于是有了 IQ就有了方向有了方向就有了相位。五、让时间走起来IQ 平面上的点就开始转了刚才我们描述的只是某一个瞬间的IQ。现在让时间开始往前走。波的相位会不断推进。假设频率是 1 Hz一秒钟时域里的余弦波走一个周期。同时IQ 平面里的箭头也正好转一整圈。如果频率是 10 Hz一秒钟余弦波走 10 个周期。IQ 箭头也一秒钟转 10 圈。所以时域里的一个周期对应 IQ 平面里的一整圈。时域里的频率就是 IQ 箭头每秒转多少圈。如果你的阅读器支持 GIF可以直接看下面这张到这里“频率”和“旋转”其实已经连上了。它们不是两个不同的现象。只是同一个信号在两种不同画法里的表现。在时域里看见的是上下振荡的余弦波。在 IQ 平面里看见的是绕着原点旋转的箭头。六、欧拉公式其实只是一个“简写”这时候再看通信里常见的复数脑子里不要先想到“复杂复数”。直接把它想成欧拉公式没有创造新的物理意义。它只是把幅度 相位和I Q压缩成了一种更好写的数学形式。七、信号本来就在转为什么还说“频偏导致旋转”现在终于可以回答最开始那个问题。一个 OFDM 子载波本来就有自己的频率。所以它本来就一直在转。这没有问题。关键是接收机也有自己的频率参考就是从本振推导出来的频率。你可以把它理解成两个转盘。发射机在转接受接也在转只不过是反方向转动。一个是收到的信号。一个是接收机自己的参考。如果两边速度完全一致那么接收机把正常应该有的旋转抵消以后什么都不剩。比如信号本来是 15 kHz。接收机也按照 15 kHz 去抵消。最后15 kHz − 15 kHz 0从接收机的参考系看这个 QAM 点就可以稳定下来。八、如果实际转速不是 15 kHz 呢假设实际收到的是15.1 kHz但接收机仍然按照15 kHz去抵消。那么最后还剩100 Hz这 100 Hz 就是频偏在 IQ 平面里的表现。所以“频偏导致旋转”更准确的说法应该是频偏不是让一个本来静止的信号突然开始旋转。而是接收机把正常旋转抵消以后还剩下一点没抵消干净的旋转。这“剩下来的转速差”就是频偏。九、频偏和固定相位偏差不是一回事这里特别容易混。如果只是固定相位偏差现在差 30°过一会还是差 30°。而如果存在频偏两根指针走得不一样快。所以相位差会不断累积。可以用一句话记住相位偏差回答“现在差多少度”频偏回答“这个角度差增长得有多快”类似跑步例子中两个人速度不同最后距离越来越远。对比一下就是频率不同相位越来越远如果想直观看“转速只差一点时间越长角度差越大”可以看这张动图十、接收机手里只有 IQ 数据它怎么知道“差了多少度”前面已经铺好了。一对 IQ 数据就是一根箭头。那么两个不同时间的 IQ 数据就是两根箭头。如果这两个时间点观察的是同一个频率位置上的同一个已知参考信号那么两根箭头之间的夹角就是这段时间里多出来的相位变化。所以所谓“求相位僵尸肖恩【‘’差”从几何上看一点都不神秘就是求两根 IQ 箭头之间差了多少角度。十一、为什么通信里到处都是“共轭相乘”所以共轭相乘最重要的意义就是把两个绝对方向变成它们之间的相对方向。也就是相位差。十二、为什么不能随便拿两个 IQ 点估频偏因为通信数据自己也会变。比如 QPSK。这一时刻的数据可能在一个象限。下一时刻可能突然跳到另一个象限。如果随便比较两个 IQ 点你不知道这个角度变化到底来自数据本身信道还是频偏。所以接收机需要一个重要条件找两个“本来应该一样”或者“关系已知”的参考信号。例如重复训练序列、前导或者系统里已知的参考信号。十三、重复序列为什么特别适合量频偏假设发送端故意发两段相同内容。第一段出现一次。隔了一段时间同样的内容再出现一次。如果没有频偏理想情况下它们的方向关系应该一致。如果有频偏那么第二次出现时整段信号会比第一次多转一点。因为数据内容相同所以数据本身的影响可以被抵消掉。最后留下来的那个角度差就可以用来估频偏。这就是为什么很多 CFO estimator 看起来都在做相同序列之间的相关 / 共轭相乘。十四、为什么先求相位差再得到频偏因为这件事本质上就是“测速”。汽车测速先测走了多远再除以用了多久。频偏估计先测 IQ 指针多转了多少角度再除以用了多久。十五、实际接收机为什么会看很多个点因为现实世界有噪声。只比较一对 IQ 点误差可能比较大。所以实际系统通常会拿很多对“本来应该一致”的样本一起看。有的样本受噪声往左偏一点。有的往右偏一点。但如果它们都受到同一个频偏那么共同的旋转趋势是一致的。把很多点综合起来就能得到更稳定的频偏估计。这里不用急着记复杂公式。只要理解一个点容易被骗一群点一起看更可靠。十六、频偏到底从哪里来最常见有两个来源。1. 收发两端的“钟”不完全一样发送机有自己的振荡器。接收机也有自己的振荡器。两边都说“我是 3.5 GHz。”但现实里由于制造工艺等各种原因频率不可能一模一样。哪怕只差几 kHz对于 OFDM 来说也可能很要命。本质上就是发送端的转盘和接收端的转盘速度没完全对上。2. Doppler如果发送端和接收端在相对运动距离不断变化。传播相位也会跟着变化。从接收机看起来就表现成了额外的频率变化。所以可以粗略记成晶振误差 相对运动是频偏最常见的两个来源。十七、为什么 OFDM 特别怕频偏OFDM 最漂亮的地方是很多子载波虽然挤得很近却还能彼此分开。原因是它们设计得“刚刚好”。在一个 OFDM symbol 时间里相邻子载波之间正好相对转 1 圈再隔一个正好 2 圈再隔一个正好 3 圈。完整转一圈时各个方向的向量会互相抵消。这就是理解“正交”的一个非常直观的方式。十八、频偏把这个“刚刚好”破坏了如果有频偏本来应该刚好转 1 圈的东西可能变成1.05 圈。于是圆没有完整闭合。原本应该互相抵消的东西就会剩下一点残余。这部分残余会漏进别的子载波。这就是ICI载波间干扰。所以 CFO 对 OFDM 至少有两个直观后果第一目标子载波本来应该停住现在停不住。第二其他子载波本来应该互相抵消现在抵消不干净。于是星座开始转。子载波之间开始“串门”。误码率自然就上来了。十九、估出来以后怎么办这一步反而最简单。既然频偏表现成多出来的一点旋转。那补偿方法就是你多转多少我就反方向转多少。接收机根据估出来的频偏给整个 IQ 数据乘上一个反方向的旋转。如果估得足够准多出来的转速就被抵消了。所以频偏处理其实就是两步先估转速。再反方向转回来。二十、最后重新看一眼“频偏”现在再回到文章最开始那句话频偏会导致星座旋转。它其实包含了一整条逻辑链余弦波有幅度和相位↓幅度 相位可以换成 I Q↓时间往前走相位往前走↓IQ 点就在复平面上旋转↓频率就是旋转得有多快↓发送端和接收端转速没完全对上↓正常旋转抵消以后还剩一点残余旋转↓这就是频偏而接收机为什么能够估频偏也不神秘有 IQ就有方向。有方向就有相位。比较两个时间点的方向就有相位差。再除以时间就知道多出来的转速。所以整篇文章最后可以浓缩成三句话时域里频偏让波形逐渐错开。频域里频偏让频率位置发生移动。IQ 平面里频偏让相位持续多转。三张图看起来完全不同。但它们讲的其实是同一件事。
返回列表