![Journal of Broadcast Engineering](/images/basic/pubreader_back.gif)
소프트웨어 정의 라디오: 실시간 동영상 데이터 송수신기 구현에 대한 접근
![](/_common/images/orcid.gif)
![](/_common/images/orcid.gif)
Copyright © 2023, The Korean Institute of Broadcast and Media Engineers
This is an Open-Access article distributed under the terms of the Creative Commons BY-NC-ND (http://creativecommons.org/licenses/by-nc-nd/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited and not altered.
초록
본 논문에서는 소프트웨어 정의 라디오 (SDR: Software-defined Radio)를 활용하여 실시간 동영상 송수신기를 구현하기 위한 접근 방법을 제시한다. 이를 통해 최근 주목받고 있는 개방형 무선 접속망(O-RAN: Open Radio Access Network)을 연구하고 이를 SDR 장치와 개방형 소프트웨어를 통해 구현하고자 하는 연구자들의 접근 문턱을 낮추고 새로운 시각과 통찰력을 제공할 수 있을 것으로 기대한다.
Abstract
In this paper, I present an approach to implement a real-time video transceiver using software-defined radio (SDR). Through this, it is expected that it will be able to lower the access threshold and provide new perspectives and insights to researchers who want to study the recently spotlighted Open Radio Access Network (O-RAN) and implement it through SDR devices and open software.
Keywords:
Software-defined Radio, Open Radio Access Network, Real-time Video Transceiver, Implementation, GNU RadioⅠ. 서 론
지난 2022년 5월에 발표된 한미 정상회담 공동성명에 따르면 양국은 국내외에서 개방형 무선 접속망(O-RAN: Open Radio Access Network) 접근법을 사용해 개방적이고 투명하며 안전한 5G/6G 네트워크 장비와 구조를 발전시켜 나가기 위해 협력할 것을 약속했다[1]. O-RAN은 특정한 통신장비 제조사가 정한 장비 규격에 의존하지 않고 소프트웨어를 중심으로 망을 구축하여 망 유지 보수뿐만 아니라 서비스 요구사항에 따라 증설이 간편하다는 장점이 있다.
소프트웨어 정의 라디오(SDR: Software-defined Radio)는 소프트웨어로 정의가 가능한 RF 아키텍처를 제공하여 사용자가 직접 소프트웨어를 통해 신호를 정의하여 무선 시스템 설계를 가능하게 한다. 따라서 SDR은 소프트웨어 중심 접속망인 O-RAN에 적용 가능한 방송 및 이동통신 시스템 프로토타입을 구현하고 테스트하기에 매우 적합한 플랫폼이다[2]. 그러나 많은 물리계층 연구자들이 SDR 장치의 선택 및 구동 소프트웨어의 활용과 같은 진입장벽으로 인해 어려움을 겪고 있다. 따라서 본 논문에서는 이와 같은 문제를 해소하고자 상용화된 SDR을 활용하여 OFDM- QPSK기반 실시간 동영상 송수신기를 구현하기 위한 접근 방법을 다룬다.
Ⅱ. 시스템 환경 구성
그림 1은 SDR 장치를 활용하여 실시간 동영상 데이터 송수신을 하기 위한 시스템 환경을 보여준다. 여기서 활용된 SDR 장치는 Ettus Research의 USRP N210이며 WBX USRP Daughterboard(50MHz-2.2GHz)를 장착하였고 안테나는 VERT900 듀얼밴드 안테나 (824-960 MHz, 1710-1990 MHz)를 사용하였다. 여기서 Ettus Research는 NI(national instruments)의 자회사이며, 완제품으로 출시되는 NI USRP와는 달리 다양한 키트를 선택할 수 있는 모듈형으로 출시된다.
또한 그림 1과 같이 무선 송신과 수신을 위한 각각의 SDR 장치는 기가 비트 이더넷 케이블을 통해 이더넷 스위치에 연결하였다. 여기서 주의해야 될 점은 반드시 기가 비트를 지원하는 이더넷 스위치와 케이블을 사용해야 한다. 마지막으로 무선 신호의 송수신을 위한 SDR 장치들을 소프트웨어로 정의하기 위해서 컴퓨터에 장착된 기가 비트 LAN 카드와 이더넷 스위치를 이더넷 케이블로 연결하여 정보를 주고받을 수 있게 구성하였다.
그림 1과 같이 하드웨어 구성이 완료되었다면 이를 정의하고 구동시키기 위한 소프트웨어 즉, Linux OS(예: Ubuntu), GNU Radio, UHD(USRP Hardware Driver), FFmpeg를 컴퓨터에 필수적으로 설치해야 한다.
Ⅲ. GNU Radio 코드 및 실행 방법
GNU Radio는 소프트웨어에 기반한 무선 통신 시스템을 연구하고, 제작하기 위한 오픈 툴킷이다. 따라서 USRP를 포함한 대부분의 SDR 장치는 GNU Radio를 통해 정의 및 구동이 가능하다. 참고로 NI USRP는 추가적인 작업을 해줘야 GNU Radio를 사용할 수 있다. 그리고 Ettus Research의 USRP같은 경우는 방송 및 이동통신 알고리즘 연구자들이 주로 사용하는 MATLAB Communication Toolbox를 활용하여 USRP를 구동시킬 수도 있다[3].
그림 2와 그림 3은 각각 본 논문에서 제시하는 실시간 동영상 데이터 통신을 위한 GNU Radio 송신기와 수신기 블록도를 나타낸다. 각각의 블록도의 주요한 부분을 살펴보면 다음과 같다.
![그림 2. 그림 2.](/xml/37447/kibme-28-149-f002.jpg)
SDR을 활용하여 실시간 동영상 데이터 통신을 위한 GNU Radio 송신기 블록도Fig. 2. GNU Radio transceiver block diagram for real-time video communications using SDR
![그림 3. 그림 3.](/xml/37447/kibme-28-149-f003.jpg)
SDR을 활용하여 실시간 동영상 데이터 통신을 위한 GNU Radio 수신기 블록도Fig. 3. GNU Radio receiver block diagram for real-time video communications using SDR
우선 그림 2의 송신기 블록도는 크게 ① 파라미터 정의, ② 패킷화 및 CRC(Cyclical Redundancy Check) 삽입, ③ QPSK 변조 및 MUX, ④ OFDM 변조, ⑤ Tx SDR 장치와 연결, 이렇게 5가지 그룹으로 나누어 볼 수 있다. 각각의 그룹 간의 연결은 Virtual Sink와 Virtual Source로 연결하였다. 이와 같이 그림 3의 수신기 블록도도 크게 ① 파라미터 정의, ② Rx SDR 장치와의 연결 및 DEMUX, ③ 채널 추정 및 동기화, ④ OFDM 복조, ⑤ QPSK 복조, 이렇게 5가지로 구분해서 볼 수 있다.
각각의 블록들은 GNU Radio를 통해 이미 공개가 되어 있어 쉽게 검색이 가능하며 블록의 파라미터 값은 그림 2와 그림 3에서 나타낸 값들을 입력하면 된다. 그러나 제시된 블록들 중에서 특별하게 고려해야 되는 블록은 Tx를 위한 UHD: USRP Sink 블록과 Rx를 위한 UHD: USRP Source 블록이다. 이는 사용하는 SDR 장치에 따라서 블록을 변경해줘야 된다. 예를 들어 입문용으로 활용이 가능한 수신전용 RTL-SDR을 사용하면 RTL-SDR Source 블록을, 교육용으로 쉽게 접근이 가능한 Analog Devices 사의 ADALM-PLUTO를 사용하면 PlutoSDR Sink(Tx)와 Source(Rx) 블록을 사용해야 된다. 그리고 각각의 SDR 장치 및 안테나가 지원가능한 주파수 대역이 상이함으로 해당사항들을 고려하여 입력하면 된다. 그리고 Ettus USRP 같은 경우는 각각의 USRP 장치에 고유한 IP 주소가 할당되어 있다. 참고로 Ettus USRP의 IP 주소는 192.168.10.2이 기본값이다. 따라서 Sink(Tx)와 Source(Rx) 블록에 해당 IP주소를 입력해줘야 동작하며, Tx와 Rx USRP에 동일한 IP주소가 할당되어 있다면 충돌이 발생하기 때문에 다음과 같은 방법으로 새로운 IP주소를 할당해줘야 된다.
마지막으로 그림 1과 같이 구성된 시스템 환경에서 그림 2와 그림 3에 제시된 실시간 동영상 데이터 통신을 위한 GNU Radio 송수신기 동작방법을 설명하면 다음과 같다.
1) 그림 2의 송신기 블록도와 그림 3의 수신기 블록도를 임의의 파일명 사용하여 저장한다. 예를 들어 각각 ofdm_tx.grc와 ofdm_rx.grc로 저장한다.
2) 실시간 영상 데이터의 스트리밍을 고려하므로 송신할 영상파일을 TS(Transport Stream) 포맷으로 트랜스코딩 한 후 파일명을 ofdm_tx.grc의 UHD: USRP Sink 블록에 입력한다. FFmpeg통한 기본적인 트랜스코딩 방법은 다음과 같다.
3) 수신기를 위한 FIFO(First-In-First-Out) special file을 생성(예: mkfifo output.ts)한 후 파일명을 ofdm_rx.grc의 UHD: USRP Source 블록에 입력한다.
4) UHD:USPR Sink 블록과 UHD:USPR Source 블록의 중심 주파수를 동일하게 설정한다. 참고로 중심 주파수는 SDR 장치와 안테나가 지원하는 범위 내에서 설정해야 한다.
5) ofdm_rx_grc를 실행한 뒤 터미널 콘솔 창에서 ffplay–f mpegts output.ts를 입력한다. 그러면 Rx SDR장치는 실시간 영상 데이터를 수신하기 위해 준비가 된 상태가 된다.
6) 마지막으로 ofdm_tx.grc를 실행하여 TS 포맷의 영상을 실시간으로 송출한다.
상기 6가지 단계로 실행하게 되면 그림 4와 같이 실시간으로 수신된 영상을 확인할 수 있다. 그뿐만 아니라 실시간으로 RF gain과 RX gain을 조정하여 상기 gain 변화에 따른 수신 영상의 품질 변화도 확인할 수 있다. 또한 추가적으로 gr-fosphor[4]를 설치하여 실시간 스펙트럼의 변화도 확인이 가능하다.
마지막으로 본 논문에서 제시한 GNU Radio 블록은 실시간 동영상 데이터에 국한되지 않고 다양한 멀티미디어 포맷의 데이터도 지원이 가능하다.
Ⅳ. 결 론
본 논문은 다양한 SDR 장치 중 Ettus USRP N210을 활용하여 실시간 영상 데이터 송수신기 구현을 위한 시스템 구성, 구현을 위한 GNU Radio 블록(코드), 구동을 위한 실행 단계들을 자세하게 제시하였다. 특별히 본 논문에서 제시된 시스템 환경과 블록은 다양한 SDR 장치, 소스코딩, 채널코딩, 변조 기법들을 활용하여 추가/확장이 가능하다는 장점이 있다. 따라서 SDR를 통해 O-RAN을 구현하고자 하는 연구자들에게 새로운 시각과 통찰력을 제공했을 것으로 기대한다.
Notes
References
- United States-Republic of Korea Leaders' Joint Statement, https://www.korea.kr/news/policyNewsView.do?newsId=148901846, accessed Jan 1, 2023.
-
Bonati, L., et. al. , Intelligence and Learning in O-RAN for Data-Driven NextG Cellular Networks, IEEE Communications Magazine, (2021, Oct.), 59(10).
[https://doi.org/10.1109/MCOM.101.2001120]
- Communications Toolbox Support Package for USRP Radio, https://www.mathworks.com/help/supportpkg/usrpradio, accessed Jan 1, 2023.
- OSMOCOM SDR Projects, https://projects.osmocom.org/projects/sdr/wiki/Fosphor, accessed Jan 1, 2023.