通过Tone_PCT计算传播相位原理

1. 从绝对 RF 相位开始

设:

  • Initiator 本振相位: ϕ I \phi_I ϕI
  • Reflector 本振相位: ϕ R \phi_R ϕR
  • 单程信道传播相位: θ C H \theta_{\mathrm{CH}} θCH
  • 双方本振相对相位:

Δ θ L O = ϕ I − ϕ R \boxed{ \Delta\theta_{\mathrm{LO}}= \phi_I-\phi_R } ΔθLO=ϕI−ϕR

假设两端距离为 d d d,单程传播时间:

τ = d c \tau=\frac{d}{c} τ=cd

频率为 f f f 时,单程传播相位为:

θ C H ( f ) = − 2 π f τ = − 2 π f d c \boxed{ \theta_{\mathrm{CH}}(f)= -2\pi f\tau= -\frac{2\pi fd}{c} } θCH(f)=−2πfτ=−c2πfd

负号表示信号传播产生相位滞后。

对应单程复信道:

H ( f ) = A C H ( f ) e j θ C H ( f ) H(f)= A_{\mathrm{CH}}(f) e^{j\theta_{\mathrm{CH}}(f)} H(f)=ACH(f)ejθCH(f)


2. Initiator → Reflector 的相位推导

2.1 Initiator 发射

Initiator 发出的 RF 复相量可以表示为:

x I = A I T X e j ϕ I x_I= A_I^{TX}e^{j\phi_I} xI=AITXejϕI

经过无线信道:

y R = H ( f ) x I y_R= H(f)x_I yR=H(f)xI

代入:

y R = A C H e j θ C H A I T X e j ϕ I = A R e j ( ϕ I + θ C H ) \begin{aligned} y_R &= A_{\mathrm{CH}}e^{j\theta_{\mathrm{CH}}} A_I^{TX}e^{j\phi_I}\\ &= A_Re^{j(\phi_I+\theta_{\mathrm{CH}})} \end{aligned} yR=ACHejθCHAITXejϕI=ARej(ϕI+θCH)

所以,到达 Reflector 天线的信号相位是:

ϕ i n c o m i n g , R = ϕ I + θ C H \phi_{\mathrm{incoming},R}= \phi_I+\theta_{\mathrm{CH}} ϕincoming,R=ϕI+θCH

2.2 Reflector 用自己的本振下变频

Reflector 的本振相位为 ϕ R \phi_R ϕR。复数下变频等价于乘:

e − j ϕ R e^{-j\phi_R} e−jϕR

于是基带结果为:

y B B , R = A R e j ( ϕ I + θ C H ) e − j ϕ R = A R e j ( θ C H + ϕ I − ϕ R ) \begin{aligned} y_{BB,R} &= A_Re^{j(\phi_I+\theta_{\mathrm{CH}})} e^{-j\phi_R}\\ &= A_Re^{j(\theta_{\mathrm{CH}}+\phi_I-\phi_R)} \end{aligned} yBB,R=ARej(ϕI+θCH)e−jϕR=ARej(θCH+ϕI−ϕR)

由于:

Δ θ L O = ϕ I − ϕ R \Delta\theta_{\mathrm{LO}}= \phi_I-\phi_R ΔθLO=ϕI−ϕR

所以:

P C T R = A R e j ( θ C H + Δ θ L O ) \boxed{ PCT_R= A_Re^{j(\theta_{\mathrm{CH}}+\Delta\theta_{\mathrm{LO}})} } PCTR=ARej(θCH+ΔθLO)

也就是:

θ R = θ C H + Δ θ L O \boxed{ \theta_R= \theta_{\mathrm{CH}} + \Delta\theta_{\mathrm{LO}} } θR=θCH+ΔθLO


3. Reflector → Initiator 的相位推导

现在交换方向。

3.1 Reflector 发射

Reflector 发射信号:

x R = A R T X e j ϕ R x_R= A_R^{TX}e^{j\phi_R} xR=ARTXejϕR

经过相同的互易无线信道:

y I = H ( f ) x R = A C H e j θ C H A R T X e j ϕ R = A I e j ( ϕ R + θ C H ) \begin{aligned} y_I &= H(f)x_R\\ &= A_{\mathrm{CH}}e^{j\theta_{\mathrm{CH}}} A_R^{TX}e^{j\phi_R}\\ &= A_Ie^{j(\phi_R+\theta_{\mathrm{CH}})} \end{aligned} yI=H(f)xR=ACHejθCHARTXejϕR=AIej(ϕR+θCH)

到达 Initiator 天线的信号相位是:

ϕ i n c o m i n g , I = ϕ R + θ C H \phi_{\mathrm{incoming},I}= \phi_R+\theta_{\mathrm{CH}} ϕincoming,I=ϕR+θCH

3.2 Initiator 使用自己的本振下变频

Initiator 下变频时乘:

e − j ϕ I e^{-j\phi_I} e−jϕI

所以:

y B B , I = A I e j ( ϕ R + θ C H ) e − j ϕ I = A I e j ( θ C H + ϕ R − ϕ I ) \begin{aligned} y_{BB,I} &= A_Ie^{j(\phi_R+\theta_{\mathrm{CH}})} e^{-j\phi_I}\\ &= A_Ie^{j(\theta_{\mathrm{CH}}+\phi_R-\phi_I)} \end{aligned} yBB,I=AIej(ϕR+θCH)e−jϕI=AIej(θCH+ϕR−ϕI)

由于:

ϕ R − ϕ I = − Δ θ L O \phi_R-\phi_I= -\Delta\theta_{\mathrm{LO}} ϕR−ϕI=−ΔθLO

所以:

P C T I = A I e j ( θ C H − Δ θ L O ) \boxed{ PCT_I= A_Ie^{j(\theta_{\mathrm{CH}}-\Delta\theta_{\mathrm{LO}})} } PCTI=AIej(θCH−ΔθLO)

即:

θ I = θ C H − Δ θ L O \boxed{ \theta_I= \theta_{\mathrm{CH}}- \Delta\theta_{\mathrm{LO}} } θI=θCH−ΔθLO

这就是"两端 PCT 中本振项符号相反"的来源:

{ θ R = θ C H + Δ θ L O θ I = θ C H − Δ θ L O \begin{cases} \theta_R= \theta_{\mathrm{CH}} + \Delta\theta_{\mathrm{LO}}\\4pt \theta_I= \theta_{\mathrm{CH}}- \Delta\theta_{\mathrm{LO}} \end{cases} {θR=θCH+ΔθLOθI=θCH−ΔθLO

Bluetooth Core 6.2 正是采用这个数学定义。Core 6.2 PCT 数学模型


4. 为什么普通复数相乘刚好正确

将两个 PCT 相乘:

Z = P C T R P C T I Z= PCT_RPCT_I Z=PCTRPCTI

代入:

Z = A R e j ( θ C H + Δ θ L O ) A I e j ( θ C H − Δ θ L O ) Z= A_Re^{j(\theta_{\mathrm{CH}}+\Delta\theta_{\mathrm{LO}})} A_Ie^{j(\theta_{\mathrm{CH}}-\Delta\theta_{\mathrm{LO}})} Z=ARej(θCH+ΔθLO)AIej(θCH−ΔθLO)

利用指数相乘相位相加:

e j α e j β = e j ( α + β ) e^{j\alpha}e^{j\beta}= e^{j(\alpha+\beta)} ejαejβ=ej(α+β)

得到:

Z = A R A I e j θ C H + Δ θ L O + θ C H − Δ θ L O = A R A I e j 2 θ C H \begin{aligned} Z &= A_RA_I e^{j \\theta_{\\mathrm{CH}} +\\Delta\\theta_{\\mathrm{LO}} +\\theta_{\\mathrm{CH}} -\\Delta\\theta_{\\mathrm{LO}} }\\ &= A_RA_Ie^{j2\theta_{\mathrm{CH}}} \end{aligned} Z=ARAIejθCH+ΔθLO+θCH−ΔθLO=ARAIej2θCH

因此:

P C T R P C T I = A R A I e j 2 θ C H \boxed{ PCT_RPCT_I= A_RA_Ie^{j2\theta_{\mathrm{CH}}} } PCTRPCTI=ARAIej2θCH

本振项抵消:

  • Δ θ L O − Δ θ L O = 0 +\Delta\theta_{\mathrm{LO}} -\Delta\theta_{\mathrm{LO}} =0 +ΔθLO−ΔθLO=0

传播相位相加:

θ C H + θ C H = 2 θ C H \theta_{\mathrm{CH}} +\theta_{\mathrm{CH}}= 2\theta_{\mathrm{CH}} θCH+θCH=2θCH

因为:

θ C H = − 2 π f d c \theta_{\mathrm{CH}}= -\frac{2\pi fd}{c} θCH=−c2πfd

所以:

Z ( f ) = A R A I e − j 4 π f d / c \boxed{ Z(f)= A_RA_I e^{-j4\pi fd/c} } Z(f)=ARAIe−j4πfd/c

这相当于无线信号经历了 2 d 2d 2d 的往返传播距离。


5. 如果使用共轭相乘会发生什么

假设错误地使用:

Z c o n j = P C T R P C T I ∗ Z_{\mathrm{conj}}= PCT_RPCT_I^* Zconj=PCTRPCTI∗

首先:

P C T I ∗ = A I e − j ( θ C H − Δ θ L O ) PCT_I^*= A_Ie^{-j(\theta_{\mathrm{CH}}-\Delta\theta_{\mathrm{LO}})} PCTI∗=AIe−j(θCH−ΔθLO)

因此:

Z c o n j = A R e j ( θ C H + Δ θ L O ) A I e − j ( θ C H − Δ θ L O ) = A R A I e j θ C H + Δ θ L O − θ C H + Δ θ L O = A R A I e j 2 Δ θ L O \begin{aligned} Z_{\mathrm{conj}} &= A_Re^{j(\theta_{\mathrm{CH}}+\Delta\theta_{\mathrm{LO}})} A_Ie^{-j(\theta_{\mathrm{CH}}-\Delta\theta_{\mathrm{LO}})}\\ &= A_RA_I e^{j \\theta_{\\mathrm{CH}} +\\Delta\\theta_{\\mathrm{LO}} -\\theta_{\\mathrm{CH}} +\\Delta\\theta_{\\mathrm{LO}} }\\ &= A_RA_Ie^{j2\Delta\theta_{\mathrm{LO}}} \end{aligned} Zconj=ARej(θCH+ΔθLO)AIe−j(θCH−ΔθLO)=ARAIejθCH+ΔθLO−θCH+ΔθLO=ARAIej2ΔθLO

结果变成:

P C T R P C T I ∗ = A R A I e j 2 Δ θ L O \boxed{ PCT_RPCT_I^*= A_RA_Ie^{j2\Delta\theta_{\mathrm{LO}}} } PCTRPCTI∗=ARAIej2ΔθLO

可以看到:

  • 传播相位被消掉:

θ C H − θ C H = 0 \theta_{\mathrm{CH}}-\theta_{\mathrm{CH}}=0 θCH−θCH=0

  • 本振相位反而加倍:

Δ θ L O + Δ θ L O = 2 Δ θ L O \Delta\theta_{\mathrm{LO}} + \Delta\theta_{\mathrm{LO}}= 2\Delta\theta_{\mathrm{LO}} ΔθLO+ΔθLO=2ΔθLO

因此共轭相乘得到的是本振相对相位,而不是距离。

另外一种共轭顺序:

P C T R ∗ P C T I PCT_R^*PCT_I PCTR∗PCTI

则得到:

P C T R ∗ P C T I = A R A I e − j 2 Δ θ L O \boxed{ PCT_R^*PCT_I= A_RA_Ie^{-j2\Delta\theta_{\mathrm{LO}}} } PCTR∗PCTI=ARAIe−j2ΔθLO

仍然没有距离信息,只是符号相反。


6. 普通乘法与共轭乘法的本质区别

对于两个复数:

z 1 = A 1 e j θ 1 z_1=A_1e^{j\theta_1} z1=A1ejθ1

z 2 = A 2 e j θ 2 z_2=A_2e^{j\theta_2} z2=A2ejθ2

普通相乘:

z 1 z 2 = A 1 A 2 e j ( θ 1 + θ 2 ) \boxed{ z_1z_2= A_1A_2e^{j(\theta_1+\theta_2)} } z1z2=A1A2ej(θ1+θ2)

它计算的是相位和。

共轭相乘:

z 1 z 2 ∗ = A 1 A 2 e j ( θ 1 − θ 2 ) \boxed{ z_1z_2^*= A_1A_2e^{j(\theta_1-\theta_2)} } z1z2∗=A1A2ej(θ1−θ2)

它计算的是相位差。

Bluetooth PBR 需要:

θ R + θ I \theta_R+\theta_I θR+θI

因为:

θ R + θ I = ( θ C H + Δ θ L O ) + ( θ C H − Δ θ L O ) = 2 θ C H \begin{aligned} \theta_R+\theta_I &= (\theta_{\mathrm{CH}}+\Delta\theta_{\mathrm{LO}}) + (\theta_{\mathrm{CH}}-\Delta\theta_{\mathrm{LO}})\\ &= 2\theta_{\mathrm{CH}} \end{aligned} θR+θI=(θCH+ΔθLO)+(θCH−ΔθLO)=2θCH

所以必须使用普通复数相乘。

如果计算:

θ R − θ I \theta_R-\theta_I θR−θI

则:

θ R − θ I = ( θ C H + Δ θ L O ) − ( θ C H − Δ θ L O ) = 2 Δ θ L O \begin{aligned} \theta_R-\theta_I &= (\theta_{\mathrm{CH}}+\Delta\theta_{\mathrm{LO}})- (\theta_{\mathrm{CH}}-\Delta\theta_{\mathrm{LO}})\\ &= 2\Delta\theta_{\mathrm{LO}} \end{aligned} θR−θI=(θCH+ΔθLO)−(θCH−ΔθLO)=2ΔθLO

这就是共轭相乘的结果。


7. 一个直观数值例子

假设单程信道传播相位:

θ C H = − 30 ∘ \theta_{\mathrm{CH}}=-30^\circ θCH=−30∘

双方本振相对相位:

Δ θ L O = 70 ∘ \Delta\theta_{\mathrm{LO}}=70^\circ ΔθLO=70∘

那么 Reflector 测得:

θ R = − 30 ∘ + 70 ∘ = 40 ∘ \theta_R= -30^\circ+70^\circ= 40^\circ θR=−30∘+70∘=40∘

Initiator 测得:

θ I = − 30 ∘ − 70 ∘ = − 100 ∘ \theta_I= -30^\circ-70^\circ= -100^\circ θI=−30∘−70∘=−100∘

普通相乘

相位相加:

40 ∘ + ( − 100 ∘ ) = − 60 ∘ 40^\circ+(-100^\circ)= -60^\circ 40∘+(−100∘)=−60∘

而:

2 θ C H = 2 ( − 30 ∘ ) = − 60 ∘ 2\theta_{\mathrm{CH}}= 2(-30^\circ)= -60^\circ 2θCH=2(−30∘)=−60∘

刚好得到双程传播相位。

共轭相乘

相位相减:

40 ∘ − ( − 100 ∘ ) = 140 ∘ 40^\circ-(-100^\circ)= 140^\circ 40∘−(−100∘)=140∘

而:

2 Δ θ L O = 2 ( 70 ∘ ) = 140 ∘ 2\Delta\theta_{\mathrm{LO}}= 2(70^\circ)= 140^\circ 2ΔθLO=2(70∘)=140∘

可以非常直观地看到:

  • 普通相乘得到传播相位;
  • 共轭相乘得到本振相位差。

8. 用 I/Q 分量展开

假设:

P C T R = I R + j Q R PCT_R=I_R+jQ_R PCTR=IR+jQR

P C T I = I I + j Q I PCT_I=I_I+jQ_I PCTI=II+jQI

普通复数相乘:

Z = ( I R + j Q R ) ( I I + j Q I ) = ( I R I I − Q R Q I ) + j ( I R Q I + Q R I I ) \begin{aligned} Z &= (I_R+jQ_R)(I_I+jQ_I)\\ &= (I_RI_I-Q_RQ_I) +j(I_RQ_I+Q_RI_I) \end{aligned} Z=(IR+jQR)(II+jQI)=(IRII−QRQI)+j(IRQI+QRII)

所以:

Z r e a l = I R I I − Q R Q I \boxed{ Z_{\mathrm{real}}= I_RI_I-Q_RQ_I } Zreal=IRII−QRQI

Z i m a g = I R Q I + Q R I I \boxed{ Z_{\mathrm{imag}}= I_RQ_I+Q_RI_I } Zimag=IRQI+QRII

双程相位:

ψ = atan2 ⁡ ( I R Q I + Q R I I , I R I I − Q R Q I ) \boxed{ \psi= \operatorname{atan2} \left( I_RQ_I+Q_RI_I,\ I_RI_I-Q_RQ_I \right) } ψ=atan2(IRQI+QRII, IRII−QRQI)

这就是实际 MCU/DSP 中应实现的复乘形式。

如果使用共轭:

P C T R P C T I ∗ = ( I R + j Q R ) ( I I − j Q I ) PCT_RPCT_I^*= (I_R+jQ_R)(I_I-jQ_I) PCTRPCTI∗=(IR+jQR)(II−jQI)

展开:

P C T R P C T I ∗ = ( I R I I + Q R Q I ) + j ( Q R I I − I R Q I ) PCT_RPCT_I^*= (I_RI_I+Q_RQ_I) +j(Q_RI_I-I_RQ_I) PCTRPCTI∗=(IRII+QRQI)+j(QRII−IRQI)

相位变成:

atan2 ⁡ ( Q R I I − I R Q I , I R I I + Q R Q I ) \operatorname{atan2} \left( Q_RI_I-I_RQ_I,\ I_RI_I+Q_RQ_I \right) atan2(QRII−IRQI, IRII+QRQI)

它计算的是:

θ R − θ I = 2 Δ θ L O \theta_R-\theta_I= 2\Delta\theta_{\mathrm{LO}} θR−θI=2ΔθLO

而不是距离。


9. PCT 为什么定义成这种符号

Bluetooth 对 PCT 的定义可以理解为:

应该给本机本振相位增加多少角度,才能让它与接收到的信号相位一致。

因此:

θ P C T = ϕ i n c o m i n g − ϕ l o c a l   L O \boxed{ \theta_{\mathrm{PCT}}= \phi_{\mathrm{incoming}}- \phi_{\mathrm{local\,LO}} } θPCT=ϕincoming−ϕlocalLO

在 Reflector:

θ P C T , R = ( ϕ I + θ C H ) − ϕ R = θ C H + ( ϕ I − ϕ R ) \begin{aligned} \theta_{\mathrm{PCT},R} &= (\phi_I+\theta_{\mathrm{CH}})-\phi_R\\ &= \theta_{\mathrm{CH}} +(\phi_I-\phi_R) \end{aligned} θPCT,R=(ϕI+θCH)−ϕR=θCH+(ϕI−ϕR)

在 Initiator:

θ P C T , I = ( ϕ R + θ C H ) − ϕ I = θ C H − ( ϕ I − ϕ R ) \begin{aligned} \theta_{\mathrm{PCT},I} &= (\phi_R+\theta_{\mathrm{CH}})-\phi_I\\ &= \theta_{\mathrm{CH}} -(\phi_I-\phi_R) \end{aligned} θPCT,I=(ϕR+θCH)−ϕI=θCH−(ϕI−ϕR)

方向一换,"远端本振减本地本振"的顺序自然反转,所以 LO 相位项自动变号。

而传播方向虽然反转,传播距离仍然是 (d),传播相位仍然是:

− 2 π f d c -\frac{2\pi fd}{c} −c2πfd

所以信道相位项不变。这就是整个设计最漂亮的地方。


10. 为什么其他无线算法经常使用共轭相乘

在常见的相位差算法中,经常看到:

z 1 z 2 ∗ z_1z_2^* z1z2∗

例如:

  • 两根接收天线做 AoA;
  • 相邻时间采样估计 CFO;
  • 两个接收通道测相位差;
  • OFDM 导频之间计算相位变化。

因为这些场景通常希望获得:

θ 1 − θ 2 \theta_1-\theta_2 θ1−θ2

例如 CFO 估计中:

r n r ∗ n − 1 rnr^*n-1 rnr∗n−1

是为了减掉公共初始相位,保留相邻采样的相位差。

但 Bluetooth 双向 PBR 不同。它不是在比较"同一个方向上的两个测量",而是在组合"两个相反方向的传播测量"。

这里希望得到的是:

正向传播相位 + 反向传播相位 \text{正向传播相位} + \text{反向传播相位} 正向传播相位+反向传播相位

所以必须进行相位相加,也就是普通复乘。


11. 更严格的时间相关模型

上面的简化推导假设两次测量时,双方本振相对相位可表示为同一个:

Δ θ L O \Delta\theta_{\mathrm{LO}} ΔθLO

实际上正向与反向 Tone 并不是同一时刻发送。

正向测量可写为:

θ R = θ C H , I R + ϕ I ( t 1 ) − ϕ R ( t 2 ) \theta_R= \theta_{\mathrm{CH},IR} + \phi_I(t_1)- \phi_R(t_2) θR=θCH,IR+ϕI(t1)−ϕR(t2)

反向测量:

θ I = θ C H , R I + ϕ R ( t 3 ) − ϕ I ( t 4 ) \theta_I= \theta_{\mathrm{CH},RI} + \phi_R(t_3)- \phi_I(t_4) θI=θCH,RI+ϕR(t3)−ϕI(t4)

相加:

θ R + θ I = θ C H , I R + θ C H , R I + ϕ I ( t 1 ) − ϕ I ( t 4 ) + ϕ R ( t 3 ) − ϕ R ( t 2 ) \begin{aligned} \theta_R+\theta_I ={}& \theta_{\mathrm{CH},IR} + \theta_{\mathrm{CH},RI}\\ &+ \\phi_I(t_1)-\\phi_I(t_4)\\ &+ \\phi_R(t_3)-\\phi_R(t_2) \end{aligned} θR+θI=θCH,IR+θCH,RI+ϕI(t1)−ϕI(t4)+ϕR(t3)−ϕR(t2)

只有当本振相位在规定参考时刻保持连续,或者其相位演进已经被 Controller 修正时,后两项才会抵消。

实际系统需要处理:

  • Mode 0 测得的 FFO;
  • 正反向 Tone 之间的已知时间间隔;
  • PLL 相位演进;
  • 天线切换相位;
  • TX/RX 射频链路固定偏差;
  • Frequency Actuation Error;
  • 本振重新锁定造成的相位不连续。

例如相对 CFO 为 Δ f \Delta f Δf,正反测量间隔为 Δ T \Delta T ΔT,则可能产生残余相位:

Δ ϕ C F O = 2 π Δ f Δ T \Delta\phi_{\mathrm{CFO}}= 2\pi\Delta f\Delta T ΔϕCFO=2πΔfΔT

需要在 PCT 合成前或 Controller 内部校正。

所以"普通复乘能够消除 LO"隐含了一个重要条件:

两个 PCT 必须已经对齐到兼容的本振相位参考时刻 \boxed{ \text{两个 PCT 必须已经对齐到兼容的本振相位参考时刻} } 两个 PCT 必须已经对齐到兼容的本振相位参考时刻


12. 加入硬件相位偏差后的公式

实际测量通常为:

θ R = θ C H + Δ θ L O + β R ( f , p ) \theta_R= \theta_{\mathrm{CH}} + \Delta\theta_{\mathrm{LO}} + \beta_R(f,p) θR=θCH+ΔθLO+βR(f,p)

θ I = θ C H − Δ θ L O + β I ( f , p ) \theta_I= \theta_{\mathrm{CH}}- \Delta\theta_{\mathrm{LO}} + \beta_I(f,p) θI=θCH−ΔθLO+βI(f,p)

其中:

  • f f f:信道频率;
  • p p p:天线路径;
  • β R , β I \beta_R,\beta_I βR,βI:TX/RX、PCB、天线和 IQ 链路相位偏差。

普通相乘后:

arg ⁡ ( P C T R P C T I ) = 2 θ C H + β R ( f , p ) + β I ( f , p ) \arg(PCT_RPCT_I)= 2\theta_{\mathrm{CH}} + \beta_R(f,p) + \beta_I(f,p) arg(PCTRPCTI)=2θCH+βR(f,p)+βI(f,p)

LO 项仍然抵消,但硬件偏差不会自动消失,必须标定:

ψ c o r r e c t e d = arg ⁡ ( P C T R P C T I ) − β R ( f , p ) − β I ( f , p ) \psi_{\mathrm{corrected}}= \arg(PCT_RPCT_I)- \beta_R(f,p)- \beta_I(f,p) ψcorrected=arg(PCTRPCTI)−βR(f,p)−βI(f,p)

然后:

ψ c o r r e c t e d = − 4 π f d c \psi_{\mathrm{corrected}}= -\frac{4\pi fd}{c} ψcorrected=−c4πfd


13. 最后如何由相位得到距离

对于第 k k k 个频点:

Z k = P C T R ( f k ) P C T I ( f k ) Z_k= PCT_R(f_k)PCT_I(f_k) Zk=PCTR(fk)PCTI(fk)

归一化后:

Z ~ k = Z k ∣ Z k ∣ = e − j 4 π f k d / c \widetilde Z_k= \frac{Z_k}{|Z_k|}= e^{-j4\pi f_kd/c} Z k=∣Zk∣Zk=e−j4πfkd/c

相位:

ψ k = arg ⁡ ( Z ~ k ) \psi_k= \arg(\widetilde Z_k) ψk=arg(Z k)

展开相位后:

ψ ( f ) = − 4 π d c f + ψ 0 \psi(f)= -\frac{4\pi d}{c}f+\psi_0 ψ(f)=−c4πdf+ψ0

斜率:

m = d ψ d f = − 4 π d c m= \frac{d\psi}{df}= -\frac{4\pi d}{c} m=dfdψ=−c4πd

所以:

d = − c 4 π m \boxed{ d= -\frac{c}{4\pi}m } d=−4πcm

完整逻辑就是:

P C T R = A R e j ( θ C H + Δ θ L O ) P C T I = A I e j ( θ C H − Δ θ L O ) P C T R P C T I = A R A I e j 2 θ C H = A R A I e − j 4 π f d / c \boxed{ \begin{aligned} PCT_R &= A_Re^{j(\theta_{\mathrm{CH}}+\Delta\theta_{\mathrm{LO}})}\\ PCT_I &= A_Ie^{j(\theta_{\mathrm{CH}}-\Delta\theta_{\mathrm{LO}})}\\ PCT_RPCT_I &= A_RA_Ie^{j2\theta_{\mathrm{CH}}}\\ &= A_RA_Ie^{-j4\pi fd/c} \end{aligned} } PCTRPCTIPCTRPCTI=ARej(θCH+ΔθLO)=AIej(θCH−ΔθLO)=ARAIej2θCH=ARAIe−j4πfd/c

而共轭相乘则是:

P C T R P C T I ∗ = A R A I e j 2 Δ θ L O \boxed{ PCT_RPCT_I^*= A_RA_Ie^{j2\Delta\theta_{\mathrm{LO}}} } PCTRPCTI∗=ARAIej2ΔθLO

一句话概括:

普通乘法把双向传播相位相加、把反号的本振相位抵消;共轭乘法会把相同的传播相位相减掉、把本振误差留下来。

最后有个工程上的小坑:如果某芯片输出的不是标准意义上的 PCT,而是采用了相反 IQ 极性、LO − incoming 相位定义,或者已经在 Controller 内部做过一次共轭,那么外部组合公式可能看起来不同。判断标准不是机械地坚持"乘还是共轭",而是验证组合后是否满足:

传播相位相加,本振相位抵消 \text{传播相位相加,本振相位抵消} 传播相位相加,本振相位抵消

对于 Bluetooth Core 6.2 所定义的标准 PCT,上述组合就是普通复数相乘。