무선 시스템과 SDR
무선 송수신기는 무슨 일을 하고, 그중 어디까지를 소프트웨어가 맡을 수 있을까?
무선 통신 시스템은 송신, 수신, 처리로 나눌 수 있다. 송신기는 음성이나 데이터를 0 Hz 둘레의 기저대역(baseband) 신호로 만들고, 상향 변환기(upconverter)나 변조기(modulator)가 그 신호를 반송파 주파수 둘레로 옮긴다. 전력 증폭기(PA)가 이 신호를 키워 안테나로 내보낸다. 수신기는 순서가 반대이다. 안테나로 받은 약한 신호를 저잡음 증폭기(LNA)가 키우고, 하향 변환기(downconverter)나 복조기(demodulator)가 둘레의 신호를 0 Hz 둘레로 내린 뒤 음성이나 데이터를 되살린다.
스펙트럼으로 보면 송신은 0 Hz 둘레에 있던 스펙트럼을 둘레로 옮기는 일이고, 수신은 그것을 다시 0 Hz 둘레로 내리는 일이다. 회로가 이 일을 어떻게 하는지는 4장 '주파수 변환' 절에서 본다. 그 사이에 신호를 만들고 해석하는 계산이 처리이다.
회로로 만드는 송수신기
기존 방식에서는 이 단계 하나하나가 회로이다. 5G용 28 GHz 위상 배열 송수신 칩을 예로 들면, 안테나 채널마다 LNA, 위상 변위기, 가변 이득 증폭기, PA, 송수신 전환 스위치가 한 칩에 들어 있다. 이런 칩은 단계마다 이득, 잡음 지수(noise figure), 1 dB 압축점을 정해, 안테나까지 전력이 충분히 가면서 신호가 덜 일그러지도록 설계한다. 증폭기가 비선형이면 정현파 하나를 넣어도 출력 스펙트럼에서 입력 주파수의 정수배에 새 선이 선다. 이 성분을 고조파(harmonic)라고 한다. 이런 일그러짐을 줄이는 것이 회로 설계의 몫이다.
시제품도 회로로 만든다. 발진기, 믹서, 필터, 증폭기 모듈을 케이블로 잇고 전원 공급기와 계측기를 붙인다. 믹서(mixer)는 두 신호를 곱하는 회로로, 이 곱셈으로 주파수를 옮기는 원리는 4장 '주파수 변환' 절에서 다룬다. 반송파 주파수나 변조 방식을 바꾸려면 모듈을 바꾸거나 회로를 다시 만들어야 한다. 개발이 하드웨어에 묶여 있다.
소프트웨어가 정하는 송수신기
SDR(software-defined radio)은 어떤 신호를 어떻게 보내고 받을지를 소프트웨어가 정하는 무선 장치이다. 하드웨어에는 넓은 주파수 범위에서 동작하는 RF 앞단과 ADC, DAC만 두고, 반송파 주파수를 정하는 LO(local oscillator, 4장), 표본화율, 대역폭, 이득을 소프트웨어로 설정한다. 변조, 복조, 필터, 동기 같은 처리는 표본을 받은 컴퓨터가 계산한다.
그래서 같은 장치가 설정과 코드만 바꿔 이동통신, Wi-Fi, Bluetooth, 레이다 신호를 다룬다. 장치의 주파수 범위와 대역폭 안에서라는 조건이 붙는다. 이 과목의 Pluto는 325 MHz–3.8 GHz를 다루고, 한 번에 받는 대역폭은 200 kHz–20 MHz이다. 여러 대의 SDR을 묶어 5G massive MIMO 시험대를 만든 예도 있다. 처리 코드는 MATLAB(Simulink), LabVIEW, GNU Radio, C++, Python 등으로 쓰고, Windows, Linux, macOS뿐 아니라 Raspberry Pi 같은 임베디드 보드에서도 돌린다.
유연성의 대가
SDR은 유연성을 얻는 대신 성능, 비용, 소비 전력을 내준다.
- 성능: 넓은 주파수 범위를 두루 다루는 앞단은 한 주파수에 맞춘 회로보다 잡음 지수, 선형성, 필터의 가파름에서 불리하다.
- 비용: 넓은 대역의 RF 칩, 빠른 ADC, FPGA가 들어가므로 한 가지 규격만 처리하는 칩보다 비싸다.
- 소비 전력: 같은 계산을 전용 회로 대신 범용 프로세서나 FPGA가 하면 전력을 더 쓴다. 대량 생산하는 휴대폰이 전용 모뎀 칩을 쓰는 이유이다.
- 전송률: 표본을 USB로 컴퓨터에 옮겨 계산하므로 옮길 수 있는 양이 제한된다. Pluto는 USB 2.0으로 표본을 끊김 없이 초당 약 400만 개(4 MS/s)까지 보낸다.
그래서 SDR은 시제품 개발, 연구, 교육처럼 설정을 자주 바꾸는 곳에 쓰고, 규격이 정해진 대량 생산 제품에는 전용 칩을 쓴다.
강의 노트