paulh002 / SoapyHifiBerry

Raspberry PI SDR Tayloe board and SoapySDR driver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SoapyHifiBerry

The SoapyHifiBerry driver is to use the HifiBerry DAC + ADC (Pro) as a SDR Tranceiver in combination with a Tayloe detector / Mixer. The idea and design of the detector is from the book "Software Defined Radio Tranceiver" T41-EP by AC8GY and W8TEE I adapted the design for use with Raspberry PI 4B. On the PCB there is a Tayloe mixer FST3253 / SN74CBT3252 and a Si5351 oscilator. A SN74HC74 is used to devide the clock by 4 and deliver 90 degree phase shift. The SoapyHifiBerry driver work with my SDR software SDRBERRY https://github.com/paulh002/sdrberry, I did not test it with other SDR software and all is an experiment. (SoapyHifiBerry relies on RtAudio library, which is included staticly. This can give problems with applications using also RtAudio but a different version, in that case remove the RtAudio.cpp from SoapyHifiBerry and use correct RtAudio.h)

ToDo:

  • phase correction (if necessary)
  • level correction

Done:

  • Si5351 I2C interface
  • Gain interface
  • Receive IQ signal
  • Transmit IQ interface
  • CMake compilation

Installation of libraries is necessary:

  • Liquid DSP
  • Alsa audio
  • SoapySDR
  • pthread

Installation

Install libraries

git clone https://github.com/pothosware/SoapySDR.git cd SoapySDR git pull origin master mkdir build cd build cmake .. make -j4 sudo make install sudo ldconfig

cd ~ sudo apt-get install -y fftw3-dev git clone https://github.com/jgaeddert/liquid-dsp git checkout v1.4.0 sudo apt-get install -y automake autoconf cd liquid-dsp ./bootstrap.sh ./configure make -j4 sudo make install sudo ldconfig

Install and compile with VisualStudio and VisualGDB

Download the repository in pi home directory

git clone https://github.com/paulh002/SoapyHifiBerry  
Open project in VisualStudio and compile with VisualGDB

Install and compile with CMake

git clone https://github.com/paulh002/SoapyHifiBerry  
cd SoapyHifiBerry
mkdir build
cd build
cmake ..
make
sudo make install

SoapyHifiBerry will create config file HifiBerry.cfg Si5351 correction can be configured and audio adc/dac alsa device name set

[si5351]
correction = "50000"

[sound]
device = "snd_rpi_hifiberry_dacplusadcpro"

Tayloe

sdrberry

sdrberry

About

Raspberry PI SDR Tayloe board and SoapySDR driver


Languages

Language:C++ 99.8%Language:CMake 0.2%