Pluto SDR(Software Defined Radio)을 샀다.
Pluto sdr을 사용하기 위해서 필요한 프로그램 2가지가 있다.
- GNU Radio : Pluto sdr 같은 SDR에서 전파신호처리를 할 수 있는 프로그램임
- gr-iio : Pluto SDR 제작사인 Analog Device사에서 제공하는 pluto sdr 관련 모듈(gr-iio)임.
위 두개의 프로그램을 윈도우 os에 깔아보려 했으나, gr-iio가 윈도우os에서 지원이 되지 않았음. 그래서 VM ware를 깔고 리눅스os를 설치하였음. 그리고 그 곳에 GNU Radio와 gr-iio를 설치하였음. 설치과정은 다음과 같음.
1. GNU Radio 설치
https://wiki.gnuradio.org/index.php/InstallingGR
# apt install gnuradio
2. gr-iio 설치
다음 사이트에서 알려주는대로 gr-iio를 설치하였음. 아날로그 디바이스사가 제공하는 사이트
https://wiki.analog.com/resources/tools-software/linux-software/gnuradio#native
gr-iio requires a few main dependencies:
-
GNU Radio and its development packages
Download and build libiio
Libiio requires the following packages:
-
libxml2
-
libxml2-dev
-
bison
-
flex
-
cmake
-
git
-
libaio-dev
Install with apt:
(sudo) apt install libxml2 libxml2-dev bison flex cmake git libaio-dev libboost-all-dev
If you want the documentation for the C API you will require doxygen:
(sudo) apt install doxygen
If you want the USB backend add libusb support:
(sudo) apt install libusb-1.0-0-dev
If you want zeroconf add avahi support:
(sudo) apt install libavahi-common-dev libavahi-client-dev
Build and install libiio from source:
git clone https://github.com/analogdevicesinc/libiio.git
cd libiio
cmake .
make
sudo make install
cd ..
Download and build libad9361-iio
Build and install libiio from source:
git clone https://github.com/analogdevicesinc/libad9361-iio.git
cd libad9361-iio
cmake .
make
sudo make install
cd ..
GNU Radio 3.8
Since GNU Radio 3.8 is not fully mainstream across package managers 3.8+ support requires a non-master branch, specifically upgrade-3.8. To get GNU Radio 3.8+ consult the GNU Radio wiki.
gr-iio in 3.8+ requires liborc-dev
(sudo) apt install liborc-dev
Build and install gr-iio from source:
git clone -b upgrade-3.8 https://github.com/analogdevicesinc/gr-iio.git
cd gr-iio
cmake .
make
sudo make install
cd ..
sudo ldconfig
For 3.8, make sure the gr-iio swig interface is on your PYTHONPATH. Otherwise, you will get import errors in python. The common command would be (depending on OS and install location):
export PYTHONPATH=$PYTHONPATH:/usr/lib/python{PYTHON VERSION}/{site or dist}-packages
The added path is the location of the newly installed iio folder.
위 환경변수를 잘 지정해야 한다.
iio 폴더가 설치된 곳을 찾아야 한다.
내 경우, 리눅스 최상위 폴더에서 usr/local/lib/python3/dist-package 에 있었다.
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3/dist-packages
나의 컴퓨터에서 iio 모듈이 설치된 곳의 경로를 다음과 같이 환경변수로 입력하였다.
# export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3/dist-packages
리눅스 terminal 창에
# gnuradio-companion
라고 쳐서 gnuradio를 실행
* 매번 GNU radio에서 Pluto sdr 관련 예제를 돌리기 위해서는 환경 변수를 설정하고 #gnuradio-companion 으로 gnu radio를 실행해야 예제가 문제없이 돌아간다.
* 왜 우분투 리눅스 환경에서 gnu radio 아이콘으로 실행하면 예제가 돌아가질 않고, 꼭 환경변수 설정과, 터미널에 #gnuradio-companion를 써야 예제가 돌아간다. 그 이유는 아직 잘모르겠음.
* 환경변수를 지정하지 않으면
gnuradio 에서 no module 'iio...~~ 란 에러메시가 떴음. iio 모듈의 위치를 알려주지 않았기 때문임.
'Gnuradio' 카테고리의 다른 글
carrier phase synchronization (0) | 2023.01.04 |
---|---|
신호의 디지털 변조, pulse shaping, Symbol rate, 신호의 bandwidth (0) | 2022.05.22 |
gnuradio, plutosdr -[2] FFT 개수에 따른 Gain, ADC 성능 (0) | 2021.11.23 |
gnuradio [1-2] 장비의 연결 확인 (0) | 2021.11.23 |
gnuradio [1-1] - 에러 ModuleNotFoundError: No module named 'iio.iio_swig' error (2) | 2021.11.18 |