REMI Lab강의 노트

Wireless Embedded Systems E05

6장 SDR과 ADALM-Pluto

표본화율과 RF 대역폭

표본에 담기는 주파수 폭은 무엇이 정하고, 그 폭 밖의 신호는 어디로 갈까?

표본화율이 정하는 폭

표본화율 fsf_s는 칩이 1초에 내보내는 복소 표본의 수이다. 복소 표본은 −fs/2-f_s/2부터 fs/2f_s/2까지를 구별한다. 실수 표본으로는 00부터 fs/2f_s/2까지만 구별할 수 있었던 것과 다르다(2장). 표본 하나가 I와 Q 두 수라서, 초당 숫자 2fs2f_s개로 폭 fsf_s를 담는 셈이다. 그래서 fs=10f_s=10 MS/s로 받으면 LO 둘레 10 MHz, 곧 fLO±5f_{\mathrm{LO}}\pm5 MHz가 표본에 담긴다.

LO는 중심 주파수를 정하고, ADC의 표본화율은 표본에 담기는 주파수 폭을 정한다(강의 자료 WE5 16쪽). 대역폭 쪽은 설정 두 개가 나눠 맡는다. 표본화율 sample_rate는 표본에 담기는 폭을 정하고, RF 대역폭 rf_bandwidth는 ADC 앞의 아날로그 필터를 정한다.

칩 안에서 표본화율을 낮추는 방법

AD9363의 ADC는 fsf_s보다 빠르게 돈다. 그 뒤의 디지털 필터가 표본화율을 몇 단계에 걸쳐 낮춘다. ADI 드라이버 문서의 한 예에서는 fs=30.72f_s=30.72 MS/s일 때 ADC가 245.76 MHz로 돌고, 반대역(half-band) 필터 세 개가 표본화율을 차례로 절반씩 줄인다. 마지막 128탭 FIR 단은 이 예에서 표본화율을 바꾸지 않는다. 표본을 솎기 전에는 새 표본화율의 ±fs/2\pm f_s/2 밖을 걸러 내야 한다. 그러지 않으면 그 밖의 성분이 안쪽으로 접혀 들어온다(2장의 aliasing). 칩의 디지털 필터가 이 일을 맡는다.

RF 대역폭이 정하는 필터

rf_bandwidth는 ADC 앞의 아날로그 저역통과 필터 두 개를 맞춘다. 하나는 단극(single-pole) 필터이고 다른 하나는 3차 Butterworth 필터이다. RF 대역폭 BRFB_{\mathrm{RF}}는 LO 양쪽을 합친 폭이라, 드라이버는 그 절반 BRF/2B_{\mathrm{RF}}/2를 기저대역 필터의 대역폭으로 넘긴다. 드라이버 소스에 따르면 3차 Butterworth 필터의 3 dB 모서리는 그 1.4배인 1.4×BRF/21.4\times B_{\mathrm{RF}}/2에 맞춰진다. 그래서 ∣f∣|f|가 BRF/2B_{\mathrm{RF}}/2를 조금 넘는 신호는 지워지지 않고 조금 줄어든 채 들어온다. 3차 Butterworth 필터 하나만 보면 모서리의 두 배 떨어진 주파수에서 약 18 dB 줄어든다. 이 필터들은 믹서가 만든 불필요한 성분과 받는 폭 밖의 신호를 ADC 앞에서 줄인다.

이 장의 그림은 이 필터를 ∣f∣≤BRF/2|f|\le B_{\mathrm{RF}}/2만 통과시키고 나머지는 모두 지우는 이상적인 모양으로 그린다.

정리하면 fsf_s를 바꾸면 표본에 담기는 폭이 바뀌고, BRFB_{\mathrm{RF}}를 바꾸면 폭은 그대로인 채 들어오는 신호가 바뀐다.

두 설정을 따로 바꿔 보기

아날로그 필터를 지난 톤은 모두 출력에 남을까? ▶로 한 단계씩 넘기며 먼저 ③의 필터 띠를 보고, 그다음 ④의 ±fₛ/2 창과 출력을 본다. 이 그림은 LO를 2441 MHz, BRFB_{\mathrm{RF}}를 18 MHz로 두고 디지털 필터를 끈 상태에서 시작한다. ③에서 A는 0 Hz에서 10 MHz 떨어져 9 MHz 띠 밖이므로 걸러진다. D는 8 MHz라 ③은 지나지만 ±fₛ/2 창 밖이어서, ④에서 aliasing으로 −2 MHz에 나타난다. 칩 안 디지털 필터를 '이상적'으로 바꾸면 D도 출력에서 사라진다.

앞 그림과 같은 합성 톤이다. 필터는 모두 이상적인 모양으로 그렸고, 그림 안에도 그렇게 적었다. 실제 3차 Butterworth 필터는 3 dB 모서리가 1.4 × BRF/2이고 경사가 완만해, BRF/2 밖의 신호도 줄어든 채 남는다. '없음(솎기만)'은 필터 없이 M개마다 하나씩 표본을 남기는 경우이고, 칩은 이렇게 동작하지 않는다. 칩의 디지털 필터가 ±fₛ/2 밖의 톤을 얼마나 줄이는지는 실습 3에서 잰다.

해 보기

  1. RF 대역폭을 20 MHz로 넓힌다.
    관찰

    A(−9 MHz)와 D(+9 MHz)가 아날로그 필터를 지나지만 ±5 MHz 밖이라 디지털 필터가 지운다. ④에는 B와 C만 남는다.

  2. 이어서 칩 안 디지털 필터를 '없음'으로 바꾼다.
    관찰

    A가 −9 + 10 = +1 MHz에, D가 9 − 10 = −1 MHz에 나타난다. 원래 없던 자리에 톤이 생기고, ④만 보아서는 진짜 톤과 구별할 수 없다.

  3. fsf_s를 20 MS/s로 올리고 RF 대역폭을 8 MHz로 줄인다.
    관찰

    ④의 폭은 ±10 MHz로 넓어졌다. 필터가 이상적이라면 ±4 MHz 밖이 걸러져 B와 C만 보인다. 실제로는 A와 D가 줄어든 채 남을 수 있다. 모서리가 1.4 × 4 = 5.6 MHz인 3차 Butterworth 필터 하나로는 ±9 MHz에서 약 12.6 dB만 줄어든다. 폭은 fsf_s가 정하고, 그 폭 안에 들어오는 신호의 세기는 RF 대역폭이 정한다.

필터 없이 솎으면 ±fs/2\pm f_s/2 밖의 톤은 LO와의 거리 f−fLOf-f_{\mathrm{LO}}에서 fsf_s의 정수배를 뺀 자리, 곧

falias=(f−fLO)−kfsf_{\text{alias}}=(f-f_{\mathrm{LO}})-k f_s

에 나타난다. kk는 −fs/2≤falias<fs/2-f_s/2\le f_{\text{alias}}<f_s/2가 되게 하는 정수이다. 실습 3에서는 높은 fsf_s로 받은 기록을 Python에서 필터 없이 솎아(x[::M]) 이 모습을 직접 만들고, 칩이 솎은 기록과 비교한다.