Ghpsdr3

From HPSDRwiki
Revision as of 10:18, 11 July 2010 by KV0S (Talk | contribs) (Libraries)

Jump to: navigation, search
Screenshot of the ghpsdr3 GUI on 20 meters. (Click to enlarge)
Screenshot of the java in a web browser GUI on 40 meters. (Click to enlarge)
Architecture of the server/dspserver/client configuration. (Click to enlarge)

Server/Client version of ghpsdr

ghpsdr3 is a software defined radio server/client or server/dspserver/client format program written specifically for HPSDR by John Melton, G0ORX/N6LYT.

The software is being developed on the Ubuntu version of Linux (specifically version 9.10).

This version of ghpsdr3 allows for the server and client to be on the same machine or separate machines. The servers are written in C and run on linux machines. John and others are working on a full set of clients to run on multiple machines connecting to the servers through TCP/IP protocals.

To follow the development of this code look at John's Blog http://g0orx.blogspot.com/

SVN

The software is available from SVN and includes a precompiled executable in the bin directory. There are now a compiled version of the 64-bit linux version, 32-bit linux version and the MacOS version. The README explains how to compile the source if you wish to modify the code.

Since this code does not currently run on Windows here is the Linux svn command,

svn co svn://64.245.179.219/svn/repos_sdr_hpsdr/trunk/N6LYT/ghpsdr3

Libraries

It uses a modifed version of DttSP that is ported from the Windows version. DttSP is built as a static library that is linked with the GUI code. The DttSP code is provided with the SVN distribution.

You will need a couple of libraries to run this code, they include:

  • libfftw3 - FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST).
  • libgtk2 - GTK+ is a highly usable, feature rich toolkit for creating graphical user interfaces which boasts cross platform compatibility and an easy to use API.
  • libusb-1.0 - libusb is an open source library that allows you to communicate with USB devices from userspace.

These can be obtain with your package installer.


Links to other pages: