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


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













ffmpeg using on Windows 10 (2018.08.23)




ffmpeg은 강력한 encoder/decoder이기 때문에 많은 곳에 사용된다. 

하지만 GUI 에서의 사용의 제한으로 인해 command line으로만 사용이 가능하다. (windows key +r  -> cmd)


물론 커맨드에 익숙치 않은 사용자라면 다소 복잡하고 어렵게 느껴질 수 있지만 몇 번 사용하다보면 금방 익숙해질거라 생각한다. 


1. Installation

 1) 아래의 사이트에 들어가서 자신의  Architecture에 맞는 파일을 다운 받는다.

    https://ffmpeg.org/download.html        

   (Linking 옵션은 'static' 디폴트로 설정 되어 있는 걸 선택하면 된다. )


 2)  다운받은 .zip file의 압축을 풀기 위한 폴더를 생성한다.  

   이 때 폴더의 위치는 가급적 C:\Program Files\ffmpeg 에 만드는걸 추천한다.

   ffmpeg 폴더에 다운 받은 파일의 압축을 풀면 새로운 폴더가 생성되고 그 안에 3개의 폴더 
   (bin,doc,presets)와 2개의 텍스트 파일(LICENSE,README)이 있는데 그 폴더의 파일들을 ffmpeg 폴더로 옮긴다.  


 3) bin 폴더에 들어가면 ffmpeg.exe 파일이 있을텐데 더블클릭해서 실행해보자.

  당연하게 아무일도 일어나지 않을것이다. 앞서 말한바와 같이 커맨드라인으로만 실행할 수 있다.

  이제 설치를 마무리 하기 위해 아래의 목록을 순차적으로 진행한다.

   - 바탕화면에 있는 내 컴퓨터 아이콘을 오른쪽 클릭하여 속성으로 들어간다.

   - 왼쪽상단에 있는 고급 시스템 설정을 클릭

   - 상단의 다섯개 탭 중 고급 탭 클릭 후 환경변수를 클릭

   - 환경 변수 창에서 Path 선택 후 편집 클릭

   - 환경 변수 편집 창에서 오른쪽 상단에 있는 새로만들기 클릭

   - ffmpeg.exe 파일이 포함된 폴더의 경로를 작성 후 확인 버튼 

    예) C:\Program Files\ffmpeg\bin

   - 띄워 놓은 모든창은 확인 눌러서 닫기






2. ffmpeg 사용하기


  이제 ffmpeg 설치는 끝났습니다. 사용하는 방법에 대해서 간단히 설명드리도록 하겠습니다. 

 커맨드 창(명령 프롬프트)을 띄워야겠죠? 윈도우키 + r 를 누르면 실행 창이 뜨는데 거기서 cmd라고 적고 엔터를 누르시면 됩니다. 


 명령 프롬프트를 작업할 파일이 있는 곳으로 경로를 바꿔줍니다. 

ex) 문서 폴더에 작업 파일이 있는 경우, C:\Users\user\Documents

파일이 있는 곳으로 경로를 옮기셨으면 아래와 같이 명령 프롬프트에 작성해 봅니다. 


ffmpeg -i video.mp4 -vn -ar 44100 -ac 1 -b:a 32k -f mp3 audio.mp3


그럼 짜잔! 하고 해당 폴더에 audio.mp3 파일이 생성되었을 겁니다. 그럼 이제 명령어의 해당 변수들이 무슨 의민지 설명해 드리겠습니다. 


-i video.mp4 : 인풋 파일의 이름이 video.mp4

-vn : 비디오 스트림 버리기(?) (=Leave out the video stream)

-ar 44100 : 오디오 resolution(해상도)을 44100Hz로 설정

-ac 1 : 오디오 채널을 1로 설정(=모노)

-b:a 32k : 오디오 비트레이트를 32kbps로 설정

-f mp3 : mp3로 변환, 만약에 해당 명령어를 사용하지 않으면 ffmpeg이 출력 파일 확장자를 보고 자동으로 설정함

audio.mp3 : 출력 파일 이름




좀 더 자세한 사용방법은 갓구글에게 물어보고 하나씩 배워 가도록 하자. 


<18.08.24 추가>

-r 30 -vcodec mpeg2video -b:v 18.4M  -f mpegts jFla.ts

-r 30 : fps를 30으로 설정

-vcode mpeg2video : mpeg2video 비디오 코덱 사용

-b:v 18.4M : 비디오 비트레이트를 18.4M로 설정

-f mpegts : 파일 포맷을 mpegts로 설정(mpegts = mpeg형식의 .ts(transport streaming)파일)



+ Recent posts