여러분에게 적합한 USRP는 무엇입니까?

개요

무선 어플리케이션을 개발하려고 하고 소프트웨어 정의 라디오 (SDR)를 선택해야 하는 경우, 다음과 같은 몇 가지 질문이 있을 수 있습니다.

  • 어디서부터 시작해야 합니까?
  • 나에게 적합한 USRP (Universal Software Radio Peripheral)는 무엇입니까?
  • 어떤 소프트웨어 개발 도구를 사용해야 합니까?

이 백서는 다양한 USRP 모델 사이의 주요 차이점에 대해 설명하며 적절한 제품 선택을 돕습니다. 

내용

소프트웨어 정의 라디오 소개

소프트웨어 정의 라디오는 무선 연구 프로토타이핑 및 배포 어플리케이션에 일반적으로 사용되는 무선 디바이스입니다. SDR는 일반적으로 통신, 차세대 레이더, EW, OTA (over-the-air) 테스트 및 5G 연구에 사용됩니다. 대부분의 SDR에는 범용 프로세서 (GPP), FPGA, 다양한 성능의 RF 프런트엔드를 포함하는 공통적인 하드웨어 아키텍처가 있습니다.USRP 디바이스의 다이어그램

그림 1: SDR의 일반적인 하드웨어 아키텍처

호스트 어플리케이션 코드 개발에는 다음과 같은 일반적인 도구가 사용됩니다.

  • LabVIEW
  • 오픈 소스 하드웨어 드라이버와 C/C++ 또는 Python
  • Redhawk 또는 GNU Radio와 같은 오픈 소스 SDR 프레임워크
  • MathWorks® MATLAB® 소프트웨어 및 Wireless Testbench™ 소프트웨어

소프트웨어 개발 도구와 OS는 어플리케이션에 적합한 라디오를 결정할 수 있습니다. 

많은 어플리케이션에서는 FPGA 디바이스를 통한 신호 처리 하드웨어 가속화가 필요합니다. 몇몇 USRP가 이러한 기능을 제공하며, 이후에 더 자세히 설명할 것처럼 FPGA 개발에는 여러 가지 옵션이 있습니다. 

그림 2는 USRP에서 활용할 수 있는 소프트웨어와 FPGA 개발에서의 일반적인 도구 흐름을 간략하게 보여줍니다. 

SDR용 소프트웨어 및 FPGA 개발 작업 흐름 다이어그램

그림 2: SDR용 소프트웨어 및 FPGA 옵션

NI 및 Ettus Research 범용 소프트웨어 라디오 주변 장치(USRP) 제품은 광범위한 무선 프로토타이핑 및 배포 요구사항을 충족하도록 설계된 소프트웨어 정의 라디오 제품군입니다. 적절한 제품을 선택하는데 도움이 되는 다양한 하드웨어 및 소프트웨어 고려사항을 살펴봅시다. 

하드웨어 옵션

어플리케이션에 적합한 USRP 디바이스를 선택할 때는 먼저 신호 파라미터, 크기, 무게, 전력, 비용 (SWaP-C), 성능 및 환경 어플리케이션 요구사항과 관련된 몇 가지 질문을 하는 것이 좋습니다. 질문 1: 어떤 중심 주파수와 대역폭이 필요합니까?

이 질문은 대답하기 쉽지만, 다음 질문은 더 복잡합니다. 어떻게 신호 데이터를 디바이스로 송수신할 생각입니까?

이 질문은 데이터 인터페이스의 중요성을 강조합니다. 예를 들어, USRP-290x 모델은 USB를 통해 호스트에 연결되어 있으며 해당 인터페이스의 최대 지속 대역폭에 의해 제한됩니다. 그러나 Ettus USRP X440에는 훨씬 더 많은 데이터를 이동할 수 있는 두 개의 100GbE 인터페이스가 있습니다.

USRP 인터페이스 대역폭 고려사항에 대해 자세히 알아보려면 Ettus Research 기술지원 데이터베이스에서 USRP 대역폭 및 샘플링 속도를 참조하십시오.

대부분의 USRP 디바이스의 최대 주파수는 6GHz나 그보다 조금 높은 정도이지만, NI Ettus USRP X410은 7GHz 대역에서 작동할 수 있습니다. 낮은 대역대에서는 일부 제품은 75MHz까지 가기도 하며 사용되는 아날로그 칩셋에 따라 DC까지도 갑니다. 각 모델의 분석은 그림 16을 참조하십시오.

NI SDR x410 - NI 소프트웨어 정의 라디오

그림 3: RFSoC를 기반으로 구축된 Ettus USRP X410은 최대 중심 주파수가 7.2GHz인 고주파수 광대역 SDR입니다.

비용과 성능의 절충

USRP 디바이스를 선택할 때는 특히 비용과 성능의 절충을 고려해야 합니다. 좋은 가격에 무선 장치가 필요하고 첨단 FPGA 또는 넓은 대역폭이 필요 없는 경우, NI USRP 290x 또는 Ettus Research B200mini가 좋은 선택입니다. 최대한 넓은 대역폭과 최대 7.2GHz의 주파수가 필요한 경우, NI Ettus USRP X410이 가장 적합할 수 있습니다. 이 두 예 사이에는 많은 선택이 존재합니다. 아래 그림 15는 모든 모델에 대한 완전한 분석을 보여줍니다.

그림 4: USRP 2901 및 USRP B200mini 낮은 SWaP-C SDR

최대 7.2GHz의 주파수가 필요한 경우 NI Ettus USRP X410이 가장 적합할 수 있습니다. 최대한 넓은 순간 대역폭이 필요한 경우 NI Ettus USRP X440이 요건에 적합할 수 있습니다. 이러한 예시 외에도 다양한 옵션이 있습니다. 그림 16은 모든 모델의 상세 사항을 보여줍니다.

그림 5: Ettus USRP X440은 직접 샘플링 트랜시버 아키텍처를 통해 채널당 최대 1.6GHz 대역폭을 제공합니다.

독립형 또는 호스트 연결된 SDR 옵션

USRP는 소프트웨어를 전자파 스펙트럼에 연결하는 컴퓨터 주변 장치로 설계되었습니다. 최초의 USRP 이후로 어플리케이션은 발전했으며 많은 어플리케이션은 내장 프로세서를 요구합니다. 중앙 집중식 제어 시스템과 함께 SDR이 물리적으로 분산되어 배치된 경우나 그 자체로만 배치된 경우 이러한 독립형 구성이 필요할 수 있습니다. 독립형이 핵심 요구사항인 경우, Xilinx Zynq™ MPSoC(Multiprocessor System on Chip) 또는 RFSoC(RF System on Chip)로 충분한지, 아니면 강력한 Intel X86 프로세서가 필요한지 결정해야 합니다. 테이블 1은 다양한 모델의 내장 프로세서를 설명합니다. 더 자세한 정보는 USRP 스펙 문서를 참조하십시오.

라디오 모델내장 프로세서
USRP N320, USRP N321, USRP N310Xilinx Zynq 7100 MPSOC
USRP E31XXilinx Zynq 7020 MPSOC
USRP E320Xilinx Zynq 7045 MPSOC
NI Ettus USRP X410, USRP X440Xilinx Zynq Ultrascale+ RFSOC ZU28DR
USRP 2974Intel Core i7 6822EQ (2GHz 쿼드 코어) 

 

표 1: 내장 프로세서가 있는 독립형 USRP 모델


그림 6: Intel Core i7이 내장된 USRP 2974 독립형 SDR

내구성 강화 및 거친 환경

많은 USRP가 실험실에서 사용되지만, 일부 어플리케이션은 실외 또는 거친 환경에서의 작동을 요구합니다. 어플리케이션에 확장된 작동 온도가 필요하거나 공냉식에 의존할 수 없는 경우, Ettus Research의 임베디드 시리즈를 고려하십시오. 또한 Ettus Research 브랜드에는 낮은 SWaP 동작을 위해 산업용 등급 알루미늄 케이스를 사용하여 USRP B205mini의 온도 범위를 확장한 제품도 있습니다. 또는 극한 환경 요구사항이 있는 경우, 내구성 강화 전문 파트너와 연결해드리겠습니다. 이러한 옵션을 살펴보시려면 저희에게 연락해 주십시오.

그림 7: 임베디드 시리즈, USRP E320

다채널 동기화

많은 어플리케이션에서는 다양한 수준의 동기화를 사용하는 다중 입력 및 다중 출력 (MIMO) 구성이 필요합니다. 일부 MIMO 시스템에서는 단순히 ADC와 DAC에만 공유 클럭이 필요하지만, 다른 시스템에서는 모든 채널을 공통 클럭과 로컬 오실레이터에 고정하여 완전 위상 동기 동작을 보장합니다.

일반적인 MIMO 어플리케이션은 공간 멀티플렉싱을 통한 통신을 위한 것입니다. 여기에는 클럭 동기화만 필요하므로 대부분의 USRP는 외부 10MHz 참조 클럭으로 충분합니다. 이러한 시스템의 예로 브리스톨 대학교와 룬드 대학교에서 구현하여 무선 스펙트럼 효율성 세계 기록을 경신한 SDR 기반 대규모 MIMO 시스템이 있습니다. 이 어플리케이션에서 사용된 시스템은 내장 FPGA가 있는 NI USRP 소프트웨어 정의 라디오 디바이스로 구성됩니다.

그림 8: 내장 LO 분배 인터페이스가 있는 USRP N320 및 N321

완전 위상 동기 동작이 필요한 경우 몇 가지 선택지가 있습니다. 수신 전용의 최대 4개의 채널이 필요한 경우, 두 개의 TwinRx 도터보드가 있는 Ettus Research USRP X310으로 LO를 공유하여 위상 동기 방식으로 작동하도록 구성할 수 있습니다. 4개 이상의 채널이 필요한 경우 Ettus Research USRP N320 및 N321(그림 8 참조) 또는 NI Ettus USRP X440을 고려해 보십시오. USRP X440은 직접 샘플링 중간 주파수(IF) 아키텍처로 구축되었기 때문에, 최대 8개의 송신 채널과 8개의 수신 채널에 걸쳐 샘플 클럭을 공유함으로써 동기화를 달성할 수 있습니다. 이 기능은 외부에서 제공되는 참조 클럭 신호에 대한 다중 디바이스 동기화를 위해 준비되어 있습니다.

USRP N321에는 최대 128 x 128 위상 동기 동작이 가능하도록 내장된 LO 분배 하드웨어가 포함되어 있습니다. 그림 9는 32 x 32 설정의 예를 보여줍니다.

 

Ettus Research USRP N321이 지원하는 위상 동기 동작을 보여주는 다이어그램그림 9: USRP N320 및 N321 다채널 위상 동기 시스템

분산 다중 라디오 동기화

일부 어플리케이션에서는 무선에 동기화가 필요하지만 서로 다른 위치에 설치됩니다. 이러한 경우에는 완전한 위상 동기 동작이 어렵지만, GPS 기반 오실레이터 (GPSDO)를 사용하는 GPS 기반 동기화를 통해 주파수 및 위상 안정성을 얻을 수 있습니다. 많은 USRP 모델에는 제조업체의 GPSDO가 장착되어 있습니다. 자세한 내용은 “NI USRP-293x 소프트웨어 정의 라디오를 사용한 글로벌 동기화 및 클럭 연동”을 참조하십시오.

그림 10: 내장 GPS 구조 오실레이터가 있는 USRP X310

인라인 신호 처리 및 FPGA 고려사항

일부 어플리케이션에서는 내장 FPGA에 가장 적합한 처리 요구사항이 있습니다. 이러한 어플리케이션은 신호 대역폭이 넓거나, 타이밍 결정성이 있거나 낮은 지연 시간을 요구하는 경우가 많습니다. 이러한 경우, FPGA를 프로그래밍할 수 있는 무선 제품을 선택하는 것이 중요합니다. USRP B200mini 또는 N210과 같은 많은 USB 및 보급형 USRP 모델은 작은 FPGA 디바이스로 구축되어 있기 때문에 사용자 코드를 추가할 공간이 없습니다. 많은 상위 모델 제품은 Kintex 7 클래스 디바이스를 갖추고 있으며 최신 Ettus USRP X410 및 X440에는 Xilinx Zynq UltraScale+ RFSoC까지 탑재됩니다. Xilinx Zynq를 기반으로 구축된 디바이스에는 내장 SD-FEC(Soft-Decision Forward Error Correction), 다중 Arm 프로세서, 내장 ADC 및 DAC와 같은 추가 코어가 포함되어 있습니다.

USRP 모델내장 FPGA
USRP N320, USRP N321, USRP N310Xilinx Zynq 7100 MPSOC
USRP E31XXilinx Zynq 7020 MPSOC
USRP E320Xilinx Zynq 7045 MPSOC
Ettus USRP X410, USRP X440Xilinx Zynq Ultrascale+ RFSOC ZU28DR
USRP 2974, USRP X310Xilinx Kintex 7 410T

 

테이블 2: FPGA 지원 USRP 비교

그림 11: NI FPGA 제품 간 FPGA 리소스 비교

 

소프트웨어 옵션

​프로그래밍 가능성은 무선 주변 장치를 첨단 무선 시스템으로 변환할 수 있도록 하는 SDR의 주요 기능입니다. USRP는 시장에서 가장 개방적인 다용도 SDR로, 호스트와 FPGA에서 다양한 소프트웨어 개발 도구를 사용하여 시스템을 구축할 수 있도록 지원합니다.

호스트 프로그래밍 고려사항

위 그림 2에서 보이는 것처럼, SDR 기반 시스템의 호스트를 프로그래밍하는데는 다양한 옵션이 있습니다.

NI-USRP 드라이버를 사용하여 LabVIEW에서 프로그래밍

LabVIEW는 통신 알고리즘을 설계하고 구현하는데 적합한 그래픽 데이터 흐름 프로그래밍 환경입니다. 가장 기본적인 레벨에서 LabVIEW는 NI-USRP 드라이버를 사용하여 USRP 하드웨어 설정을 지정하고 호스트측 신호 처리를 위해 올바르게 포맷된 기저대역 I/Q 데이터를 보내고 수신합니다.

​LabVIEW를 개발 환경으로 선호한다면 Linux 기반 OS도 어느 정도는 지원하지만, 기본적으로 Microsoft Windows 기반 도구라는 점을 잊지 마십시오. 또한 일부 Ettus Research 브랜드 USRP 모델 및 설정이 지원되지 않을 수도 있습니다. 그림 16을 참조하십시오.

NI-USRP 드라이버 API를 사용하여 LabVIEW로 Ettus Research USRP 프로그래밍

그림 12: NI-USRP 드라이버 API가 있는 LabVIEW 블록다이어그램

오픈 소스 작업 흐름을 사용한 프로그래밍: USRP 하드웨어 드라이버 (UHD) 및 GNU Radio

대부분의 SDR 사용자는 C/C++ 및 Python에 기반한 텍스트 기반 오픈 소스 도구 흐름으로 USRP 하드웨어를 프로그래밍하기를 선호합니다. 모든 NI 및 Ettus Research USRP 모델은 USRP 하드웨어 드라이버 (UHD)를 지원하므로 GNU Radio와 같은 오픈 소스 커뮤니티에서 개발한 도구와 쉽게 통합할 수 있습니다.

GNU Radio는 SDR 개발자 전용으로 제작된 오픈 소스 도구입니다. USRP는 GNU Radio에서 지원되는 유일한 무선 장치는 아니지만, 가장 널리 사용되고 테스트되는 장치입니다. GNU Radio에 대한 더 자세한 정보는 gnuradio.org를 방문하십시오. GNU Radio의 기존 커뮤니티 공유 IP를 모두 확인하려면 cgran.org를 방문하십시오.

SDR 개발자를 위한 오픈 소스 소프트웨어 스크린샷

그림 13: GNU Radio 동반 흐름 그래프

MATLAB으로 프로그램하기

MATLAB 프로그래밍을 선호한다면, 여러 USRP 모델이 MathWorks Communications Toolbox™에서 지원됩니다. 지원되는 모델에는 B200, B200mini, X300, N200 및 N300 시리즈가 포함됩니다. 또한 MATLAB 스크립트 노드를 사용하면 MATLAB 코드를 LabVIEW에 바로 포함할 수도 있습니다.

MathWorks는 또한 USRP 소프트웨어 정의 라디오 디바이스의 FPGA를 활용하여 지능형 신호 수집 및 하드웨어 기반 리샘플링 등의 기능을 제공하는 도구인 Wireless Testbench를 제공합니다. 또한 사용자는 웨이브폼별 특성을 지정하여 신호 수집을 트리거하고 관심 데이터를 분석할 수 있습니다. 

FPGA 프로그래밍 고려사항

많은 USRP에는 어플리케이션에 맞는 인라인 신호 처리를 포함할 수 있을 정도로 충분한 처리 기능을 갖춘 대형 FPGA가 포함되어 있습니다. 하드웨어 섹션에서 설명한 것처럼, 일부 USRP에는 Xilinx Zynq SoC 디바이스가 탑재되며 일부에는 Kintex 7과 같은 기존 FPGA가 탑재됩니다. USRP에서 FPGA에 접근하려면 두 가지 방법이 있습니다. LabVIEW FPGA와 RFNoC (RF Network on Chip) 프레임워크입니다.

많은 FPGA 개발 보드 또는 COTS FPGA 보드와는 달리 USRP는 일반적인 FPGA 프레임워크를 기반으로 구축되며 상위 레벨의 추상화를 제공합니다. 이렇게 하면 FPGA 보드 지원 패키지로 FPGA 기반 시스템을 구축할 때 발생하는 일부 복잡성이 제거됩니다.

LabVIEW FPGA

LabVIEW FPGA는 NI USRP RIO 디바이스에서 FPGA의 그래픽 프로그래밍을 지원하는 LabVIEW용 애드온입니다. 고정 소수점 수학과 클럭 로직 같은 FPGA 개념에 익숙해야 하지만, LabVIEW는 하드웨어와 데이터 인터페이스를 추상화하고 레지스터 설정과 데이터 이동을 단순화합니다. LabVIEW FPGA의 장점은 통합된 개발 도구로 호스트와 FPGA를 모두 프로그래밍할 수 있다는 것입니다.

활용하고 싶은 레거시 IP가 있습니까? LabVIEW FPGA는 CLIP (Component Level IP) 노드를 통해 외부 VHDL 또는 Verilog를 가져올 수 있습니다. LabVIEW가 아닌 IP를 활용할 수 있는 것입니다. 또한 LabVIEW를 사용하면 Vivado 도구 내에서 직접 작업하는 전문가가 Xilinx Vivado 프로젝트를 반출할 수도 있습니다.

​LabVIEW FPGA를 호스트 프로그래밍 도구로 선택한다면, 이는 Windows 기반 OS로 제한된다는 점에 유의하십시오. USRP N300 및 USRP E300 시리즈와 같은 많은 Ettus Research 디바이스는 LabVIEW 또는 LabVIEW FPGA에서 지원되지 않습니다. 전체 목록은 그림 16을 참조하십시오.

FPGA 블록다이어그램의 LabVIEW 스크린샷

그림 14: 간단한 LabVIEW FPGA 블록다이어그램

RFNoC (RF Network on Chip) 프레임워크

오픈 소스 USRP 사용자의 경우, FPGA를 프로그래밍하는 가장 좋은 방법은 RFNoC 프레임워크를 사용하는 것입니다. RFNoC는 LabVIEW FPGA와 마찬가지로 데이터 인터페이스 및 명령 추상화 프레임워크로, 전체 FPGA 보드 지원 패키지를 처음부터 다시 빌드하지 않고도 IP를 USRP에 추가할 수 있게 합니다. 이름이 나타내는 것처럼, 데이터는 압축된 헤더 네트워크 패키지 형태로 무선 장치에서 FPGA를 통해 흐릅니다. RFNoC 프레임워크의 핵심은 크로스바 인터페이스로, 사용자는 단순히 새 IP를 크로스바에 연결하여 데이터를 다른 IP 블록 또는 호스트 머신으로 보낼 수 있습니다. 이러한 네트워크 크로스바 설계는 호스트와의 데이터 및 명령 송수신을 단순화합니다.

Vivado에서 작업하고 RFNoC를 사용하여 USRP의 FPGA를 프로그래밍하는 것을 선호한다면, USRP X300 시리즈, USRP E300 시리즈, USRP N300 및 Ettus USRP X410 또는 X440을 고려하십시오. RFNoC, UHD 및 USRP N300 디바이스를 사용하여 다채널 무선 통신 시스템의 프로토타입을 만드는 방법에 대해 자세히 알아보십시오. 

RFNoC 작업 흐름을 보여주는 다이어그램

그림 15: GNU Radio와 통합된 RFNoC 개념 블록다이어그램

 

그림 16: NI 및 Ettus Research USRP 모델 매트릭스

결론

SDR은 무선 연구, 설계, 프로토타이핑 및 배포를 위한 강력한 도구입니다. 여러 가지 제품이 있으며, 어플리케이션에 적합한 제품을 선택하려면 많은 것을 고려해야 합니다. 그러나 이 백서에서 설명한 다양한 소프트웨어 및 하드웨어 요소를 신중하게 평가하면, 시장에서 가장 널리 사용되는 개방형 SDR를 선택하게 될 것입니다.

다음 단계

유형NI USRP 모델NI Ettus USRP 모델#Tx#Rx주파수 범위BWLabVIEWLabVIEW FPGAOSS-UHDOSS-FPGA
독립형, FPGA 지원 고성능USRP X4408830MHz-4GHz1.6GHz   
USRP X410441MHz-7.2Ggz400MHz    
해당 없음USRP N320, USRP N321223MHz-6GHz200MHz   
해당 없음USRP N3104410MHz-6GHz100MHz   
USRP-2974해당 없음2210MHz-6GHz160MHz    
호스트 연결형, FPGA 지원, 고성능USRP-2944USRP X310 + UBX2230MHz-6GHz160MHz    
USRP-2945USRP X310 + TwinRX0410MHz-6GHz80MHz    
USRP-2954USRP X310 + UBX + GPSDO2230MHz-6GHz160MHz    
USRP-2955USRP X310 + TwinRX +GPSDO0410MHz-6GHz80MHz    
로우 SWAP 독립형 임베디드해당 없음USRP E3202270MHz-6GHz56MHz  
낮은 SWAP, 보급형, USB 연결형해당 없음USRP B200mini/B205mini1170MHz-6GHz56MHz  
USRP-2900USRP B2001170MHz-6GHz56MHz  
USRP-2901USRP B2102270MHz-6GHz56MHz