5.4 Carrier Frequency Offset - 1

egg_modem·2024년 5월 22일

송신기와 수신기의 Local Oscillator에서 up conversion과 down conversion을 위한 반송파(carrier)를 생성한다.

이 때 Local Oscillator의 정확도를 ppm term으로 정의할 수 있다.

ppm(parts per million)이란 oscillator가 생성하는 주파수가 기준 값으로 부터 얼마나 벗어났는지를 나타내는 지표이다.

만약 2.4 GHz 주파수를 생성하는 송신부와 수신부의 Oscillator가 ±20\pm 20ppm을 갖는다면

송신부와 수신부에서의 각각 생성하는 carrer 주파수의 편차는 아래와 같이 구할 수 있다.

201062.4109=±48kHz\frac{20}{10^6} *2.4*10^9 = \pm48kHz

위 주파수 차이는 송신부와 수신부 각각에서 생성하는 주파수 편차를 나타내기 때문에

최악의 경우 48x2=96kHz의 오차가 송수신부 사이에서 발생할 수 있다.

96kHz의 편차가 송수신부의 carrier frequency에 발생하면 신호의 심각한 왜곡을 초래할 수 있다.

더해서 무선 환경을 거치면서 물체가 움직임으로써 발생하는 도플러 쉬프트의 경우

carrier frequency에 수백 Hz의 오차를 추가로 발생시킨다.

비록 도플러 쉬프트는 Oscillator에서 유발하는 편차에 비해 매우 작지만 도플러 쉬프트만으로도 수신 신호 품질에 심각한 영향을 끼친다.


Carrier Frequency Offset(CFO)는 정도에 따라 구분될 수 있다.

먼저 큰 CFO의 경우이다.

송신부와 수신부에서 생성하는 CFO의 차이를 FΔ,maxF_{\Delta,max}로 나타낸다.

수신부로 들어오는 아날로그 신호는 아날로그 bandpass 필터를 거쳐서 디지털 신호로 바뀐다.

이 때 아날로그 bandpass 필터는 당연하게도 신호의 대역폭 BB만큼을 평탄하게 통과시켜야 하며 추가로 송신부와 수신부의 최대 CFO만큼을 통과시켜야 한다.

아래 아날로그 필터의 bandpass필터 특성을 나타낸다.

Case 1에서는 수신 신호의 CFO크기가 예상되는 최대 CFO 크기보다 매우 큰 경우다.

따라서 송신 신호는 아날로그 bandpass 필터에 의해 필터링 되어 송신 신호가 없어져 신호 품질에 영향을 준다.

Case 1의 유일한 해결책은 아날로그 bandpass 필터의 통과 대역폭을 여유있게 늘리는 방법 뿐이며 만약 아날로그 단계에서 신호가 필터링 되었다면

디지털 신호처리 영역에서 어떠한 방법으로도 복구할 수 없다.

Case 2에서는 수신 신호의 CFO크기가 예상되는 최대 CFO 크기에 근접하게 큰 경우다.

이 경우 아날로그 필터의 passband 영역에 신호가 모두 위치하기 때문에 Case 1과 달리 신호가 송신 신호가 필터링되지 않는다.

그러나 수신 신호는 반드시 Matched Filtering을 통과해야 한다.

수신 신호에 CFO가 존재한다면 수신 신호의 스펙트럼은 baseband에서 벗어나 있게 되고 baseband에 위치한 Matched Filter와 충분히 겹치지 못한다.

이는 곧 잡음 처리 성능이 줄어 SNR에 영향을 주게 된다. 따라서 CFO는 Matched Filtering 이전에 반드시 추적되고 복구되어야 한다.

Case 3에서는 수신 신호의 CFO크기가 예상되는 최대 CFO 크기에 비해 작은 경우다.

이 경우 수신 신호는 심볼 단위에서는 수신 신호에 큰 영향을 끼치지 않는다. 그리고 Matched Filtering도 정상적으로 동작하게 된다.

따라서 Matched Filtering 및 downsampling 단계를 거쳐 심볼 주기 TMT_M에서 샘플을 선택한 다음 CFO를 복구하게 된다.

이제 CFO의 영향을 확인하기 위해 QAM 모뎀을 예로 든다. 아래 그림을 참고하자.

실수부 심볼과 허수부 심볼이 각각 Pulse Shaping을 통과한 신호는 아래와 같이 나타낼 수 있다.

vI(nTS)=iaI[i]p(nTSiTM)v_I(nT_S) = \sum_ia_I[i]p(nT_S-iT_M)
vQ(nTS)=iaQ[i]p(nTSiTM)v_Q(nT_S) = \sum_ia_Q[i]p(nT_S-iT_M)

ai[i]a_i[i]aQ[i]a_Q[i]는 각각 실수부 허수부 심볼이고 p(nTS)p(nT_S)는 SRRC Pulse Shaping Filter이다. TMT_M은 심볼 주기 TST_S는 샘플링 주기 이다.

위 신호는 송신부의 Local Oscillator에서 생성된 각각의 정현파와 곱해져 송신 신호를 만들어 낸다.

노이즈가 없다는 가정에 수신 신호는 아래와 같다.

r(t)=vI(t)2cos(2π(FC+FΔ)t+θΔ)vQ(t)2sin(2π(FC+FΔ)t+θΔ)r(t) = v_I(t)\sqrt2cos(2\pi(F_C+F_\Delta)t+\theta_\Delta)-v_Q(t)\sqrt2sin(2\pi(F_C+F_\Delta)t+\theta_\Delta)

위 식에서 FΔF_\Delta는 수신 신호의 발생한 CFO 이고 θ\theta_\triangle은 CPO(Carrier-Phase-Offset)이다.

Matched Filtering을 거쳐 심볼 주기에서 선택된 신호는 아래와 같다.

zI(mTM)=aI[m]cos(2πF0m+θ)aQ[m]sin(2πF0m+θ)z_I(mT_M) = a_I[m]cos(2\pi F_0m+\theta_\triangle)-a_Q[m]sin(2\pi F_0m+\theta_\triangle)
zQ(mTM)=aQ[m]cos(2πF0m+θ)+aI[m]sin(2πF0m+θ)z_Q(mT_M) = a_Q[m]cos(2\pi F_0m+\theta_\triangle)+a_I[m]sin(2\pi F_0m+\theta_\triangle)

위 경우는 CFO가 작은 경우에 해당한다. 따라서 CFO 보정없이 Matched Filtering을 통과한 경우다.

위 식에서 F0F_0는 Normalized CFO(nCFO) 이다. nCFO는 아래와 같이 구할 수 있다.

F0=FRM=FTMF_0= \frac{F_\triangle}{R_M}=F_\triangle T_M

RMR_M은 Symbol Rate이고 TMT_M은 심볼 주기 이다.

이제 zI(mTM)z_I(mT_M)zQ(mTM)z_Q(mT_M)을 극 형식으로 나타내면 아래와 같다.

z(mTM)=aI2[m]+aQ2[m]|z(mT_M)| = \sqrt{a_I^2[m]+a_Q^2[m]}
z(mTM)=a[m]+2πF0m+θ\angle z(mT_M) = \angle a[m]+2\pi F_0m + \theta_\triangle

위 식을 잘 보면 F0F_0는 신호의 크기는 변화시키지 않지만 위상을 변화 시킨다.

2πF0m2\pi F_0m 항은 mm이 바뀔 때마다 크기가 변하기 때문에 위상이 변하는 것이다. 이 효과를 Constellation point로 확인해보자.

위 그림에서 확인할 수 있듯이 Constellation point가 회전하는 것을 볼 수 있다.

0개의 댓글