Skip to content

Dantali0n/SoapyWebSDR

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SoapyWebSDR

Multi-User web SDR for exposing SoapySDR's

Prerequisites:

apt-get update
apt-get install libasound2-dev libfftw3-dev libgd3 libgd-dev \\
apache2 sndfile-tools libsndfile1-dev php librtlsdr-dev

Make the software:

make

Run the software:

  1. copy the files from html folder in your webserver html directory
  2. start the software ./playSDReshail2
  3. open a browser and open the webpage "playSDRweb.html" on your webserver

ATTENTION: before you can run this website, the WebSocket IP address must be modified in the file playSDRweb.html Search for the line: var sockurl = .... and enter the IP address of the PC running this software.

to access the website from outside (from the internet)

in your internet router you need to open two TCP ports for external access:

  1. the port to your webserver (usually 80)
  2. the port to the websocket: 8090 (can be changed in playSDReshail2.h)

​this is a short technical description:

The SDRplay runs with a sample rate of 2.4Ms/s and is decimated by 4 by its driver. An RTLsdr runs with 1.2MS/s and is decimated by 2 in the software. The resulting stream has 600 kS/s and is first processed by an FFT every 100ms which gives a resolution of 0-300kHz with 10 Hz/pixel.

There are 30.000 pixels available which are converted into two waterfall diagrams. The first with a range of 300kHz to show the complete NB transponder. The second with a range of 20 kHz to show the signals around the actual listening frequency.

The the 600 kS/s stream is fed into a software down-mixer. The LO (reference frequency) is generated by a NCO software which works very similar to the well knows DDS. The mixing itself is done by a simple multiplication followed by an anti-aliasing filter. This mixer shifts the listening frequency into the base band (0 Hz) so it can be directly used to generate the sample for the sound card (after an additional low pass filter).

The waterfall lines as well as the audio samples are sent via a WebSocket (port 8090) to the web browser. The web page uses javascript to build the waterfall picture and send the audio samples to the local soundcard.

Releases

No releases published

Packages

No packages published

Languages

  • C 60.5%
  • HTML 17.9%
  • JavaScript 14.9%
  • CMake 5.6%
  • Other 1.1%