Video Streaming based on GNURadio OFDM system with USRP-2920(B200)

 

 

 

 이번 포스팅에서는 비디오 스트리밍을 위해 GNURadio를 이용해 OFDM transmitter와 receiver를 구현하고 USRP-2920과 연결하여 실제 비디오 스트리밍을 확인해봅시다 : )

 

 

그림 1. OFDM transmitter for Video streaming

 

 그림 1은 GNURadio를 이용해 구현한 OFDM transmitter의 블록다이어그램 입니다.
해당 grc 파일은 GNURadio에서 기본으로 제공하는 OFDM 예제를 바탕으로 필요한 부분에 대해 제한적으로 수정 및 추가하여 사용하였습니다. 

 

 

그림 2. OFDM receiver for Video streaming

그림 2는 GNURadio를 이용해 구현한 OFDM receiver의 블록다이어그램 입니다. 요청하신 분들이 많아 수정 추가하였습니다 (22.02.03). 

 

영상 1. OFDM Transmitter

 

 

GNU Radio Installation on Windows10



  이번 포스팅은 SDR(Software Defined Radios) 시스템을 구현하는데 많이 사용되는 GNU Radio를 윈도우에 설치하는 방법을 소개하려고 합니다. 


 기본적으로 GNU Radio는 추가적인 RF H/W가 없어도 그 자체만으로 내부에서 다양한 통신(유무선) 환경을 구축하여 다양한 기능을 시뮬레이션 할 수 있습니다. 더욱이 추가적인 RF 장비를 함께 이용할경우 실제 유무선환경에서 자신이 구축한 시스템의 성능 평가 및 분석이 가능합니다. 


 이밖에 GNU Radio와 비슷한 기능을 하는 다양한 S/W가 있지만 이 쪽 분야에선 GNU Radio가 선두(?)주자로 시작하였으며 더욱이 free & open-source S/W다 보니 그 사용자 수도 많고 관련 커뮤니티의 활동 및 자료가 많은 것 같습니다.


 하지만 기본적으로 Linux 기반의 소프트웨어여서 그런지 접할 기회가 없었던 분들도 많고 실제로 많은 유저들이 윈도우 OS에 익숙해서 리눅스 기반의 소프트웨어를 새로 배우고 익히는데 조금은 걱정되는 면도 존재하는 것 같습니다. 물론 저 또한 연구 목적으로  GNU Radio를 사용하기 위해 불가피하게 리눅스를 접하고 사용하였지만 그 과정이 역시나 순탄치 않았던것 같습니다. 


 이러한 점을 보완하기 위해서 릴리즈 된건지는 모르겠지만 어쨌든 다행히 GNU Radio를 윈도우에도 설치할 수 있으며 리눅스에서 제공되는 다양한 기능들을 사용할 수 있게끔 지속적으로 업데이트 및 배포 하고 있습니다. 



1. GNU Radio 설치


https://wiki.gnuradio.org/index.php/InstallingGR

※위 링크를 따라가시면 사용자의 OS에 맞게 GNU Radio를 설치할 수 있도록 상세한 설명이 되어있습니다.


1. https://wiki.gnuradio.org/index.php/WindowsInstall

2. http://www.gcndevelopment.com/gnuradio/downloads.htm

 1번 링크는 영문으로 설명된 윈도우 설치 안내 페이지 입니다. 

 2번 링크는 윈도우 기반의 바이너리 설치파일을 다운받을 수 있으며 현재(18.08.24) 3.7.12 버전까지 배포되었습니다. 해당 링크를 통해 들어가 자신의 OS 버전과 CPU에 맞춰서 다운로드를 하면 됩니다. 

또한 해당 페이지에서는 기타 추가적인 GNU Radio dependencies binary 파일들도 다운받을 수 있습니다. 


설치하는 과정에서는 특별히 설정해야할 부분은 없으니 편하게 설치하시면 됩니다. 


기본 설치경로는 다음과 같습니다. C:\Program Files\GNURadio-3.7



2. GNURadio Companion & Command Prompt


그림 1


 설치가 끝나면 그림 1과 같이 두개의 아이콘을 확인할 수 있는데, 왼쪽 아이콘은 .grc 파일을 열고 편집할 수 있는 실행파일이며, 오른쪽 아이콘은 커맨드라인을 이용해 사용할 수 있는 프롬프트 입니다.

아무래도 리눅스 기반의 소프트웨어여서 커맨드가 많기 때문에 윈도우에서도 커맨드를 사용해야 할 상황이 많습니다. 


 커맨드 프롬프트를 실행시키면 윈도우 커맨드 창이 뜨는데 이때 디폴트 경로는 다음과 같이 설정되어 있습니다. 

"C:\Program Files\GNURadio-3.7\bin\"  해당 경로에서 GNU Radio의 다양한 커맨드 작업을 수행하실 수 있습니다. 다만 기존의 리눅스에서 사용하던 커맨드와 조금 다른것들이 몇가지 있는데 저같은 경우에는 USRP와 연결시켜 많이 사용하기 때문에 uhd 커맨드를 종종 사용합니다. 

 그 중 USRP 디바이스 연결 상태 확인 및 IP를 확인하기 위해 리눅스 환경에서 uhd_find_device 라는 커맨드를 종종 사용하는데 윈도우 프롬프트에서는 뒤에 .exe가 더 붙습니다. 

하지만 대부분의 커맨드는 리눅스와 비슷하기 때문에 동일하게 Tab키를 통해 자동완성 기능으로 사용하시면 편할 것 같습니다. 


3. GNURadio example


"C:\Program Files\GNURadio-3.7\share\gnuradio\examples" 


 GNU Radio는 친절하게도 다양한 예제를 함께 제공하고 있습니다. 물론 각 예제의 디테일이나 완성도는 사용자의 니즈에 꼭 맞지는 않을 수 있습니다. 하지만 여러 예제의 수정 및 조합으로 자신이 구현하고자 하는 시스템의 베이스는 구현할 수 있으니 잘 찾아보시길 바랍니다. 



 GNU Radio를 사용하면서 가장 아쉬운 점은 다른 프로그램에 비해 국내 자료가 매우 부족한 점이었습니다. 물론 갓구글님과 양덕 형님들이 항상 도와주시지만 여전히 한글자료에 대한 갈증은 어쩔 수 없는 것 같습니다 ㅠㅠ


앞으로 보다 많은 국내 사용자들이 활발한 정보공유 및 활동을 통해 많은 사용자들이 도움 받을 수 있었으면 좋겠습니다. 













+ Recent posts