射频系统学习2——IQ信号与正交调制

先做总结: s ( t ) = A ( t ) cos ⁡ ( ω c t + ϕ ( t ) ) s(t) = A(t) \cos(\omega_c t + \phi(t)) s(t)=A(t)cos(ωct+ϕ(t)) s ( t ) = [ A ( t ) cos ⁡ ( ϕ ( t ) ) ] ⏟ I ( t ) cos ⁡ ( ω c t ) − [ A ( t ) sin ⁡ ( ϕ ( t ) ) ] ⏟ Q ( t ) sin ⁡ ( ω c t ) s(t) = \underbrace{[A(t)\cos(\phi(t))]}_{I(t)} \cos(\omega_c t) - \underbrace{[A(t)\sin(\phi(t))]}_{Q(t)} \sin(\omega_c t) s(t)=I(t) [A(t)cos(ϕ(t))]cos(ωct)Q(t) [A(t)sin(ϕ(t))]sin(ωct) s ( t ) = I ( t ) cos ⁡ ( ω c t ) − Q ( t ) sin ⁡ ( ω c t ) s(t) = I(t)\cos(\omega_c t) - Q(t)\sin(\omega_c t) s(t)=I(t)cos(ωct)Q(t)sin(ωct) A ( t ) = I ( t ) 2 + Q ( t ) 2 A(t) = \sqrt{I(t)^2 + Q(t)^2} A(t)=I(t)2+Q(t)2 ϕ ( t ) = atan2 ( Q ( t ) , I ( t ) ) \phi(t) = \text{atan2}(Q(t), I(t)) ϕ(t)=atan2(Q(t),I(t))

一、为什么必须使用IQ信号?

  使用IQ信号是必要的,因为它以极其高效的方式解决了三个根本性问题:

1. 问题一:如何同时传输振幅和相位?
  • 解决:现代通信(如QPSK, 16-QAM)不仅仅靠改变振幅(AM)或频率(FM)来传输数据,而是通过同时改变振幅和相位来在同一时刻打包更多的数据。
  • IQ信号在二维平面(I为X轴,Q为Y轴)上的一个点 ( I , Q ) (I, Q) (I,Q),可以完美地用一个向量来表示。这个向量的长度就是信号的瞬时振幅,向量的角度就是信号的瞬时相位
  • 这就是“星座图(Constellation Diagram)”的来源。

16QAM星座图

2. 问题二:如何处理“镜像频率”?
  • 在传统的“超外差”接收机中,当将信号(如2.0MHz)混频到中频(如0.5MHz)时,如果用1.5MHz本振,一个在“镜像”位置(如-1.0MHz,或说1.0MHz的另一个边带)的信号也会被同时混频到0.5MHz,造成干扰。
  • 解决:IQ解调(也称“零中频”或“直接变频”)通过使用两个正交的混频器( cos ⁡ \cos cos sin ⁡ \sin sin),创建了一个复数信号 I ( t ) + j Q ( t ) I(t) + jQ(t) I(t)+jQ(t)
  • 在数学上,复数信号的频谱是单边的(只存在正频率或负频率)。这从根本上消除了镜像频率问题
3. 问题三:如何用“慢”的数字芯片处理“快”的射频信号?
  • 解决:根据奈奎斯特定理,要直接用ADC采样一个2.4GHz的Wi-Fi信号,需要一个至少4.8 Gsps(每秒采样48亿次)的ADC,这非常昂贵且困难。
  • 使用IQ解调,我们将2.4GHz的信号直接混频到基带(0 Hz)。信号的“信息”现在包含在两个慢速的I和Q信号中(例如,带宽仅为20MHz)。
  • 这样只需要两个慢速的ADC(例如,每个40 Msps)来分别采样I和Q信号即可。这使得使用低成本的DSP和FPGA进行处理成为可能,这也是**软件定义无线电(SDR)**的核心原理。

二、 数学推导:IQ正交调制与解调

1. 信号的调制(调制:从IQ到RF)

  从最通用的带通(射频)信号 s ( t ) s(t) s(t) 出发,它围绕载波频率 f c f_c fc(角频率 ω c = 2 π f c \omega_c = 2\pi f_c ωc=2πfc)振荡。其振幅 A ( t ) A(t) A(t) 和相位 ϕ ( t ) \phi(t) ϕ(t) 都可以随时间 t t t 变化:

s ( t ) = A ( t ) cos ⁡ ( ω c t + ϕ ( t ) ) s(t) = A(t) \cos(\omega_c t + \phi(t)) s(t)=A(t)cos(ωct+ϕ(t))

步骤1:使用三角恒等式展开
  把 s ( t ) s(t) s(t)展开得到:

s ( t ) = A ( t ) [ cos ⁡ ( ω c t ) cos ⁡ ( ϕ ( t ) ) − sin ⁡ ( ω c t ) sin ⁡ ( ϕ ( t ) ) ] s(t) = A(t) \left[ \cos(\omega_c t)\cos(\phi(t)) - \sin(\omega_c t)\sin(\phi(t)) \right] s(t)=A(t)[cos(ωct)cos(ϕ(t))sin(ωct)sin(ϕ(t))]

步骤2:重新组合
  将随时间慢速变化的部分(信息)和高速振荡的载波分开:

s ( t ) = [ A ( t ) cos ⁡ ( ϕ ( t ) ) ] ⏟ I ( t ) cos ⁡ ( ω c t ) − [ A ( t ) sin ⁡ ( ϕ ( t ) ) ] ⏟ Q ( t ) sin ⁡ ( ω c t ) s(t) = \underbrace{[A(t)\cos(\phi(t))]}_{I(t)} \cos(\omega_c t) - \underbrace{[A(t)\sin(\phi(t))]}_{Q(t)} \sin(\omega_c t) s(t)=I(t) [A(t)cos(ϕ(t))]cos(ωct)Q(t) [A(t)sin(ϕ(t))]sin(ωct)

步骤3:定义I和Q
  定义这两个慢速变化的基带信号:

  • I ( t ) = A ( t ) cos ⁡ ( ϕ ( t ) ) I(t) = A(t)\cos(\phi(t)) I(t)=A(t)cos(ϕ(t)) (同相分量)
  • Q ( t ) = A ( t ) sin ⁡ ( ϕ ( t ) ) Q(t) = A(t)\sin(\phi(t)) Q(t)=A(t)sin(ϕ(t)) (正交分量)

最终的调制方程:
  将 I ( t ) I(t) I(t) Q ( t ) Q(t) Q(t) 这两个基带信号“搭载”到正交载波上,然后组合成一个射频信号:

s ( t ) = I ( t ) cos ⁡ ( ω c t ) − Q ( t ) sin ⁡ ( ω c t ) s(t) = I(t)\cos(\omega_c t) - Q(t)\sin(\omega_c t) s(t)=I(t)cos(ωct)Q(t)sin(ωct)

2. 信号的解调(接收:从RF到IQ)

  现在反过来,我们收到了 s ( t ) s(t) s(t),如何从中恢复出 I ( t ) I(t) I(t) Q ( t ) Q(t) Q(t)

目标:恢复 I ( t ) I(t) I(t)
  将收到的信号 s ( t ) s(t) s(t) 乘以同相的本地载波 cos ⁡ ( ω c t ) \cos(\omega_c t) cos(ωct)

v I ( t ) = s ( t ) ⋅ cos ⁡ ( ω c t ) v_I(t) = s(t) \cdot \cos(\omega_c t) vI(t)=s(t)cos(ωct)

v I ( t ) = [ I ( t ) cos ⁡ ( ω c t ) − Q ( t ) sin ⁡ ( ω c t ) ] ⋅ cos ⁡ ( ω c t ) v_I(t) = \left[ I(t)\cos(\omega_c t) - Q(t)\sin(\omega_c t) \right] \cdot \cos(\omega_c t) vI(t)=[I(t)cos(ωct)Q(t)sin(ωct)]cos(ωct)

v I ( t ) = I ( t ) cos ⁡ 2 ( ω c t ) − Q ( t ) sin ⁡ ( ω c t ) cos ⁡ ( ω c t ) v_I(t) = I(t)\cos^2(\omega_c t) - Q(t)\sin(\omega_c t)\cos(\omega_c t) vI(t)=I(t)cos2(ωct)Q(t)sin(ωct)cos(ωct)

使用三角恒等式:

  • 2 cos ⁡ 2 ( A ) = 1 + cos ⁡ ( 2 A ) 2\cos^2(A) = 1 + \cos(2A) 2cos2(A)=1+cos(2A)
  • 2 sin ⁡ ( A ) cos ⁡ ( A ) = sin ⁡ ( 2 A ) 2\sin(A)\cos(A) = \sin(2A) 2sin(A)cos(A)=sin(2A)

v I ( t ) = 1 2 I ( t ) [ 1 + cos ⁡ ( 2 ω c t ) ] − 1 2 Q ( t ) [ sin ⁡ ( 2 ω c t ) ] v_I(t) = \frac{1}{2}I(t) \left[ 1 + \cos(2\omega_c t) \right] - \frac{1}{2}Q(t) \left[ \sin(2\omega_c t) \right] vI(t)=21I(t)[1+cos(2ωct)]21Q(t)[sin(2ωct)]

v I ( t ) = 1 2 I ( t ) ⏟ 基带信号 + 1 2 I ( t ) cos ⁡ ( 2 ω c t ) − 1 2 Q ( t ) sin ⁡ ( 2 ω c t ) ⏟ 高频信号 ( 2 f c ) v_I(t) = \underbrace{\frac{1}{2}I(t)}_{\text{基带信号}} + \underbrace{\frac{1}{2}I(t)\cos(2\omega_c t) - \frac{1}{2}Q(t)\sin(2\omega_c t)}_{\text{高频信号 ($2f_c$)}} vI(t)=基带信号 21I(t)+高频信号 (2fc) 21I(t)cos(2ωct)21Q(t)sin(2ωct)

  最后,通过一个低通滤波器(LPF)。LPF会滤除所有在两倍载波频率( 2 f c 2f_c 2fc)附近的高频分量,只留下基带信号 I ( t ) I(t) I(t)


目标:恢复 Q ( t ) Q(t) Q(t)
  我们将收到的信号 s ( t ) s(t) s(t) 乘以正交的本地载波 − sin ⁡ ( ω c t ) -\sin(\omega_c t) sin(ωct)

v Q ( t ) = s ( t ) ⋅ [ − sin ⁡ ( ω c t ) ] v_Q(t) = s(t) \cdot [-\sin(\omega_c t)] vQ(t)=s(t)[sin(ωct)]

v Q ( t ) = [ I ( t ) cos ⁡ ( ω c t ) − Q ( t ) sin ⁡ ( ω c t ) ] ⋅ [ − sin ⁡ ( ω c t ) ] v_Q(t) = \left[ I(t)\cos(\omega_c t) - Q(t)\sin(\omega_c t) \right] \cdot [-\sin(\omega_c t)] vQ(t)=[I(t)cos(ωct)Q(t)sin(ωct)][sin(ωct)]

v Q ( t ) = − I ( t ) cos ⁡ ( ω c t ) sin ⁡ ( ω c t ) + Q ( t ) sin ⁡ 2 ( ω c t ) v_Q(t) = -I(t)\cos(\omega_c t)\sin(\omega_c t) + Q(t)\sin^2(\omega_c t) vQ(t)=I(t)cos(ωct)sin(ωct)+Q(t)sin2(ωct)

使用三角恒等式:

  • 2 sin ⁡ ( A ) cos ⁡ ( A ) = sin ⁡ ( 2 A ) 2\sin(A)\cos(A) = \sin(2A) 2sin(A)cos(A)=sin(2A)
  • 2 sin ⁡ 2 ( A ) = 1 − cos ⁡ ( 2 A ) 2\sin^2(A) = 1 - \cos(2A) 2sin2(A)=1cos(2A)

v Q ( t ) = − 1 2 I ( t ) [ sin ⁡ ( 2 ω c t ) ] + 1 2 Q ( t ) [ 1 − cos ⁡ ( 2 ω c t ) ] v_Q(t) = -\frac{1}{2}I(t) \left[ \sin(2\omega_c t) \right] + \frac{1}{2}Q(t) \left[ 1 - \cos(2\omega_c t) \right] vQ(t)=21I(t)[sin(2ωct)]+21Q(t)[1cos(2ωct)]

v Q ( t ) = 1 2 Q ( t ) ⏟ 基带信号 − 1 2 I ( t ) sin ⁡ ( 2 ω c t ) − 1 2 Q ( t ) cos ⁡ ( 2 ω c t ) ⏟ 高频信号 ( 2 f c ) v_Q(t) = \underbrace{\frac{1}{2}Q(t)}_{\text{基带信号}} - \underbrace{\frac{1}{2}I(t)\sin(2\omega_c t) - \frac{1}{2}Q(t)\cos(2\omega_c t)}_{\text{高频信号 ($2f_c$)}} vQ(t)=基带信号 21Q(t)高频信号 (2fc) 21I(t)sin(2ωct)21Q(t)cos(2ωct)

同样,通过一个低通滤波器(LPF),我们滤除了所有高频分量,只留下了基带信号 Q ( t ) Q(t) Q(t)

  结论:通过这个过程,将一个高速的RF信号 s ( t ) s(t) s(t),解调为了两个慢速的基带信号 I ( t ) I(t) I(t) Q ( t ) Q(t) Q(t)


三、 IQ信号的复数域理解

  在数学上,IQ信号是描述一个真实射频(RF)信号的**“复包络”(Complex Envelope)**。

1. 欧拉公式

  先回顾一下欧拉公式:
e j θ = cos ⁡ ( θ ) + j sin ⁡ ( θ ) e^{j\theta} = \cos(\theta) + j\sin(\theta) ejθ=cos(θ)+jsin(θ)
这个公式告诉我们,一个复指数信号 e j θ e^{j\theta} ejθ,可以分解为一个同相(In-Phase)的余弦分量和一个正交(Quadrature)的正弦分量。一个高速振荡的复数载波可以写为:
c ( t ) = e j ω c t = cos ⁡ ( ω c t ) + j sin ⁡ ( ω c t ) c(t) = e^{j\omega_c t} = \cos(\omega_c t) + j\sin(\omega_c t) c(t)=ejωct=cos(ωct)+jsin(ωct)

2. 定义复包络(基带信号)

  现在,把 I ( t ) I(t) I(t) Q ( t ) Q(t) Q(t) 这两个慢速变化的基带信号组合成一个复数信号,称为“复包络”或“复基带信号”,我们称之为 b ( t ) b(t) b(t)

b ( t ) = I ( t ) + j Q ( t ) b(t) = I(t) + jQ(t) b(t)=I(t)+jQ(t)

  • I ( t ) I(t) I(t) 是这个复数信号的实部
  • Q ( t ) Q(t) Q(t) 是这个复数信号的虚部
3. 调制:复数乘法

  在复数域中,“调制”这个操作被极大地简化了:它就是复包络信号 b ( t ) b(t) b(t)复数载波 c ( t ) c(t) c(t)乘法

s c o m p l e x ( t ) = b ( t ) ⋅ c ( t ) s_{complex}(t) = b(t) \cdot c(t) scomplex(t)=b(t)c(t)
s c o m p l e x ( t ) = ( I ( t ) + j Q ( t ) ) ⋅ ( cos ⁡ ( ω c t ) + j sin ⁡ ( ω c t ) ) s_{complex}(t) = (I(t) + jQ(t)) \cdot (\cos(\omega_c t) + j\sin(\omega_c t)) scomplex(t)=(I(t)+jQ(t))(cos(ωct)+jsin(ωct))

展开这个乘法:
s c o m p l e x ( t ) = [ I ( t ) cos ⁡ ( ω c t ) − Q ( t ) sin ⁡ ( ω c t ) ] + j [ I ( t ) sin ⁡ ( ω c t ) + Q ( t ) cos ⁡ ( ω c t ) ] s_{complex}(t) = \left[ I(t)\cos(\omega_c t) - Q(t)\sin(\omega_c t) \right] + j\left[ I(t)\sin(\omega_c t) + Q(t)\cos(\omega_c t) \right] scomplex(t)=[I(t)cos(ωct)Q(t)sin(ωct)]+j[I(t)sin(ωct)+Q(t)cos(ωct)]

4. 关键连接:回到真实世界

  在真实世界中,我们无法生成或测量一个“复数”信号,我们所有的信号都是实信号。

  真实世界的射频信号 s ( t ) s(t) s(t),就是这个 s c o m p l e x ( t ) s_{complex}(t) scomplex(t) 的实部

s ( t ) = Re { s c o m p l e x ( t ) } s(t) = \text{Re}\{ s_{complex}(t) \} s(t)=Re{scomplex(t)}
s ( t ) = I ( t ) cos ⁡ ( ω c t ) − Q ( t ) sin ⁡ ( ω c t ) s(t) = I(t)\cos(\omega_c t) - Q(t)\sin(\omega_c t) s(t)=I(t)cos(ωct)Q(t)sin(ωct)

  这就回到了上一轮推导中对真实RF信号的定义。

  总结:在复数域中理解,一个真实RF信号 s ( t ) s(t) s(t),是由一个复数基带信号 b ( t ) = I ( t ) + j Q ( t ) b(t) = I(t) + jQ(t) b(t)=I(t)+jQ(t) 调制到一个复数载波 e j ω c t e^{j\omega_c t} ejωct 上,然后取其“实部”所得到的。 I ( t ) I(t) I(t) Q ( t ) Q(t) Q(t) 就是这个复数基带信号的实部和虚部。


四、 如何从IQ信号中读取幅度和相位

  这部分在复数域中变得极其简单直观。我们的信息都包含在复包络 b ( t ) = I ( t ) + j Q ( t ) b(t) = I(t) + jQ(t) b(t)=I(t)+jQ(t) 中。在任何一个时间点 t t t,这个 b ( t ) b(t) b(t) 都是一个复数,我们可以在复平面(IQ平面)上将其表示为一个从原点 ( 0 , 0 ) (0,0) (0,0) 指向坐标点 ( I ( t ) , Q ( t ) ) (I(t), Q(t)) (I(t),Q(t)) 的向量。

IQ向量图

我们所需要的瞬时振幅 A ( t ) A(t) A(t)瞬时相位 ϕ ( t ) \phi(t) ϕ(t),就是这个向量的极坐标表示。

1. 读取瞬时振幅 A ( t ) A(t) A(t)

  瞬时振幅 A ( t ) A(t) A(t) 就是这个向量的长度(模)。根据勾股定理:

A ( t ) = ∣ b ( t ) ∣ = I ( t ) 2 + Q ( t ) 2 A(t) = |b(t)| = \sqrt{I(t)^2 + Q(t)^2} A(t)=b(t)=I(t)2+Q(t)2

验证
  根据之前的定义: I ( t ) = A ( t ) cos ⁡ ( ϕ ( t ) ) I(t) = A(t)\cos(\phi(t)) I(t)=A(t)cos(ϕ(t)) Q ( t ) = A ( t ) sin ⁡ ( ϕ ( t ) ) Q(t) = A(t)\sin(\phi(t)) Q(t)=A(t)sin(ϕ(t))
那么
I ( t ) 2 + Q ( t ) 2 = A ( t ) 2 ( cos ⁡ 2 ( ϕ ( t ) ) + sin ⁡ 2 ( ϕ ( t ) ) ) I(t)^2 + Q(t)^2 = A(t)^2 \left( \cos^2(\phi(t)) + \sin^2(\phi(t)) \right) I(t)2+Q(t)2=A(t)2(cos2(ϕ(t))+sin2(ϕ(t)))
= A ( t ) 2 = A(t)^2 =A(t)2
  因此 A ( t ) = I ( t ) 2 + Q ( t ) 2 A(t) = \sqrt{I(t)^2 + Q(t)^2} A(t)=I(t)2+Q(t)2

2. 读取瞬时相位 ϕ ( t ) \phi(t) ϕ(t)

  瞬时相位 ϕ ( t ) \phi(t) ϕ(t) 就是这个向量与I轴(实轴)的夹角(辐角)

ϕ ( t ) = arg ⁡ { b ( t ) } = atan2 ( Q ( t ) , I ( t ) ) \phi(t) = \arg\{b(t)\} = \text{atan2}(Q(t), I(t)) ϕ(t)=arg{b(t)}=atan2(Q(t),I(t))

  为什么使用 atan2 ( Y , X ) \text{atan2}(Y, X) atan2(Y,X) 而不是 arctan ⁡ ( Y / X ) \arctan(Y/X) arctan(Y/X)

  • arctan ⁡ ( Q / I ) \arctan(Q/I) arctan(Q/I) 只能返回 ( − π / 2 , + π / 2 ) (-\pi/2, +\pi/2) (π/2,+π/2)(即-90°到+90°)之间的角度,它无法区分第一象限和第三象限,也无法区分第二象限和第四象限。
  • atan2 ( Q , I ) \text{atan2}(Q, I) atan2(Q,I) 是一个在编程和数学中更强大的函数,它通过同时考虑 Q ( t ) Q(t) Q(t) I ( t ) I(t) I(t) 的符号,可以正确地返回 ( − π , + π ] (-\pi, +\pi] (π,+π](即-180°到+180°)全四象限的角度,这对于相位解调至关重要。

总结:在FPGA或DSP中,在任何一个采样时刻 n n n,只需要从ADC(或其他模块)中获取当前的 I [ n ] I[n] I[n] Q [ n ] Q[n] Q[n] 值,然后:

  • 计算幅度 A [ n ] = I [ n ] 2 + Q [ n ] 2 A[n] = \sqrt{I[n]^2 + Q[n]^2} A[n]=I[n]2+Q[n]2 (在FPGA中通常使用CORDIC算法实现)
  • 计算相位 ϕ [ n ] = atan2 ( Q [ n ] , I [ n ] ) \phi[n] = \text{atan2}(Q[n], I[n]) ϕ[n]=atan2(Q[n],I[n]) (同样使用CORDIC算法实现)

  这样,就可以从两个基带信号中完美地重建出原始射频信号的全部信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值