REMI Lab강의 노트

Wireless Embedded Systems E05

6장 SDR과 ADALM-Pluto

유연성의 값

코드만 바꿔 무엇이든 보내고 받을 수 있다면, 그 대가로 무엇을 내주었을까?

예전에는 송수신기를 만들 때 주파수나 방식마다 회로를 새로 설계해 시험했다. 개발이 하드웨어에 매여 있었다. SDR은 RF 앞단과 변환기는 그대로 두고, 무엇을 어떻게 보내고 받을지를 소프트웨어가 정한다. 도구는 MATLAB과 Simulink, LabVIEW, GNU Radio, C++·C#, Python 등이고, Windows·Linux·macOS PC와 Raspberry Pi 같은 임베디드 보드에서 돈다. 이 유연성은 성능·비용·소비 전력과 맞바꾼 것이다(강의 자료 WE5 11쪽).

Pluto로 보면 절충의 양쪽이 구체적이다. 이 장의 설정, 곧 LO(325 MHz–3.8 GHz), 표본화율(65.1 kS/s–61.44 MS/s), RF 대역폭(200 kHz–20 MHz), 이득을 모두 코드 한 줄로 바꾼다. 실습 4의 ASK·FSK 변복조도 전부 Python 코드이다.

내준 것도 이 장에 다 나왔다.

  • 범위: 5 GHz Wi-Fi와 FM 방송(88–108 MHz)은 튜닝 범위 밖이고, 20 MHz보다 넓은 채널은 한 번에 받지 못한다. 휴대전화, Wi-Fi, Bluetooth, 레이다 등 여러 신호를 다루려면 그 신호가 RF 하드웨어의 범위 안에 있어야 한다(강의 자료 WE5 8–11쪽).
  • 처리량: 계산을 PC에서 하므로 USB 2.0이 좁은 길목이다. ADI가 표본을 잃지 않는다고 밝힌 연속 전송은 초당 4 MS이고, 그보다 빠르게 받으려면 캡처 사이에 틈을 둔다. 복조까지 칩 안에서 끝내고 비트만 내보내는 전용 송수신 칩이라면 이 길목이 문제 되지 않는다.
  • 보장된 성능: 사양표의 EVM ≤ −40 dB는 전형값이고 모든 장치에서 재지는 않는다. TX–RX 격리와 최대 출력 전력은 사양표에 값이 비어 있다. 그래서 이 과목에서는 필요한 값을 실습에서 직접 잰다.

Pluto 실습 1–6은 이 장의 개념을 차례로 쓴다. 실습 1은 설정과 루프백, 실습 2는 직교 혼합의 불균형, 실습 3은 표본화율·RF 대역폭과 aliasing, 실습 4는 변복조, 실습 5는 여러 LO의 캡처를 이어 붙인 스펙트럼 관측과 시간-주파수 분석, 실습 6은 실제 LTE·BLE 신호에서 주파수 오차 재기이다.