Difference between revisions of "Ghpsdr3-Qt"

From HPSDRwiki
Jump to: navigation, search
(Architecture)
Line 33: Line 33:
 
'''HPSDR''' box represented the hardware and the Mercury/Ozy,Penelope, Mercury/Magister,Penelope, or Mercury/OzyII,Penelope  
 
'''HPSDR''' box represented the hardware and the Mercury/Ozy,Penelope, Mercury/Magister,Penelope, or Mercury/OzyII,Penelope  
  
'''Link between HPSDR and Server''' uses the communication protocol documented in USB Protocol v1.27 at the link on this page or in the SVN in the Documentation directory.
+
'''Link between HPSDR and Server''' uses the communication protocol documented in USB Protocol at the link on this page or in the SVN in the Documentation directory.
  
 
[[ghpsdr3-Qt  QtHPSDRServer|'''QtHPSDRServer''']] box is a software multiplexer.  It takes the multiple receiver communication protocol and divides it in to single receiver channels.   
 
[[ghpsdr3-Qt  QtHPSDRServer|'''QtHPSDRServer''']] box is a software multiplexer.  It takes the multiple receiver communication protocol and divides it in to single receiver channels.   
  
 
'''Link between Server and Receiver clients''' output is the same IQ signal format as the single receiver USB format except the data is sent over UDP link.  The commands are handled as TCP protocol format to allow acknowledgement of the command.
 
'''Link between Server and Receiver clients''' output is the same IQ signal format as the single receiver USB format except the data is sent over UDP link.  The commands are handled as TCP protocol format to allow acknowledgement of the command.

Revision as of 15:17, 18 August 2012

A cross platform HPSDR Radio platform

C++/Qt version of the ghpsdr3

[[Image:|thumb|400px|right|Screenshot of the ghpsdr3-Qt GUI on 20 meters. (Click to enlarge)]]

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

The software is being developed on the Ubuntu version of Linux (specifically version 11.10). I also compiles and runs on Windows 7 and Windows XP, and MacOS

This version of ghpsdr3-Qt allows for the server and client to be on the same machine or separate machines. The server is written in C++/Qt and run on 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 32-bit Windows version on the openHPSDR web page, For other platform you will need to compile the code yourself. 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 http://svn.tapr.org/repos_sdr_hpsdr/trunk/N6LYT/Qt

Libraries

It uses a modifed version of DttSP that is ported from the Windows version. this code is compiledinto the QtDSPServer. The DttSP code is provided with the SVN distribution.

This code was written to minimize external dependencies. The only extern library is

* libfftw3  which is the Fast Fourier Tranform library


Architecture

Architecture of the server/dspserver/client configuration. (Click to enlarge)

The image illustrates the architecture of the ghpsdr3-Qt software chain. The software works with either the single receiver verilog code (Mercury 2.9) or the multiple receiver verilog code or (Mercury 3.x). If Mercury 2.9 is install only one receiver can be accessed.

HPSDR box represented the hardware and the Mercury/Ozy,Penelope, Mercury/Magister,Penelope, or Mercury/OzyII,Penelope

Link between HPSDR and Server uses the communication protocol documented in USB Protocol at the link on this page or in the SVN in the Documentation directory.

QtHPSDRServer box is a software multiplexer. It takes the multiple receiver communication protocol and divides it in to single receiver channels.

Link between Server and Receiver clients output is the same IQ signal format as the single receiver USB format except the data is sent over UDP link. The commands are handled as TCP protocol format to allow acknowledgement of the command.