custom version of rtlsdr

master
David 2020-07-10 08:22:38 +09:30
parent 3e5594e304
commit 415726e3c5
3 changed files with 25 additions and 31 deletions

View File

@ -12,43 +12,36 @@ The software currently sends test frames from a Pi to a x86 laptop with a RTLSDR
| --- | --- |
| M1 | Proof of Concept Physical Layer |
| M2 | Git repo for project, integrated tx and rx applications, first OTA tests |
| M3 | Pi running Tx and Rx, add LDPC FEC to waveform |
| M4 | Bidirectional half duplex Tx/Rx on single Pi |
| M5 | TAP/TUN integration and demo IP link |
| M6 | Diagostics that can be used to tune and debug link (e.g. simple GUI/ASCII) |
| M7 | Document how to build simple wire antennas |
| M3 | Pi running Tx and Rx |
| M4 | Add LDPC FEC to waveform |
| M5 | Bidirectional half duplex Tx/Rx on single Pi |
| M6 | TAP/TUN integration and demo IP link |
| M7 | Diagostics that can be used to tune and debug link (e.g. simple GUI/ASCII) |
| M8 | Document how to build simple wire antennas |
# Building
This procedure builds everything locally, so won't interfere with any installed versions of the same software.
## Codec 2
Build on both x86 receiver laptop/PC and Pi:
```
git clone https://github.com/drowe67/codec2.git
cd codec2 & mkdir build_linux && cd build_linux
cmake ../ && make
```
## RpiTx Transmitter
ssh into your Pi, then build the RpiTx library and ```fsk_rpitx``` FSK modulator application:
ssh into your Pi, then:
```
$ git clone https://github.com:drowe67/pirip.git
$ cd pirip
$ ./build_codec2.sh
$ ./build_rpitx.sh
$ cd tx && make
```
## RTLSDR Receiver
Builds/runs on x86 laptop/PC at this stage of project:
On your laptop/PC:
```
$ sudo apt update
$ sudo apt install libusb-1.0-0-dev git cmake
$ ./build_codec2.sh
$ ./build_rtlsdr.sh
```
# Testing
@ -59,11 +52,11 @@ $ ./build_rtlsdr.sh
```
1. Transmit test frames from Pi for 60 seconds:
```
pi@raspberrypi:~/pirip/tx $ ~/codec2/build_linux/src/fsk_get_test_bits - 600000 | sudo ./fsk_rpitx -
pi@raspberrypi:~/pirip/tx $ ../codec2/build_linux/src/fsk_get_test_bits - 600000 | sudo ./fsk_rpitx -
```
1. Receive test frames on x86 laptop for 5 seconds:
```
~/pirip$ Fs=240000; tsecs=5; rtl-sdr-blog/build_rtlsdr/src/rtl_sdr -g 1 -s $Fs -f 144500000 - -n $(($Fs*$tsecs)) | ~/codec2/build_linux/src/fsk_demod -d -p 24 2 240000 10000 - - | ~/codec2/build_linux/src/fsk_put_test_bits -
~/pirip$ Fs=240000; tsecs=5; rtl-sdr-blog/build_rtlsdr/src/rtl_sdr -g 1 -s $Fs -f 144500000 - -n $(($Fs*$tsecs)) | codec2/build_linux/src/fsk_demod -d -p 24 2 240000 10000 - - | codec2/build_linux/src/fsk_put_test_bits -
```
1. Sample received signal and inspect using Octave:
```

5
build_codec2.sh 100755
View File

@ -0,0 +1,5 @@
#!/bin/bash -x
# automate local build of codec2
git clone https://github.com/drowe67/codec2.git
cd codec2 && mkdir -p build_linux && cd build_linux
cmake ../ && make

View File

@ -1,13 +1,9 @@
<<<<<<< HEAD
# automate building of rtlsdr lib
=======
#!/bin/bash -x
# automate building of rtlsdr library and applications
sudo apt update
sudo apt install libusb-1.0-0-dev git cmake
>>>>>>> b610864fdfdd03b6f9699434f1ba37cd5fd122b5
git clone git://github.com/rtlsdrblog/rtl-sdr-blog.git
cd rtl-sdr-blog/
mkdir build_rtlsdr
PIRIP_DIR=$(pwd)
git clone https://github.com/drowe67/rtl-sdr-blog.git
cd rtl-sdr-blog
mkdir -p build_rtlsdr
cd build_rtlsdr
cmake ../ -DINSTALL_UDEV_RULES=ON
make
cmake ../ -DINSTALL_UDEV_RULES=ON -DCODEC2_BUILD_DIR=${PIRIP_DIR}/codec2/build_linux
make rtl_fsk