<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Serving the entire bandwidth of I/Q data is simple in concept but I
wonder about the accumulated network bandwidth with numerous clients,
particularly with 192KHz (stereo) sampling. I would be interested to
see if the following approach makes sense to anyone other than myself.<br>
<br>
What about performing the FFT at the server (only once to shared
memory)? Per-client agents at the server perform the desired DDC on the
shared spectral data and transmit the windowed segment to the client,
probably compressed. The client is then responsible for the IFFT and IQ
processing. This is obviously more complex but perhaps makes network
demands more manageable. One niggle with it is that some representation
of the entire sampled spectrum would also need to be sent to each
client for the user to browse. <br>
<br>
I imagine TX would be the reverse. That is, the client FFTs its I/Q
data and sends a spectrum segment to the server, which merges all
client spectra (after DDCs) into a collective spectrum - again in
shared memory. The server IFFTs this to produce I/Q signals for the
transmitter.<br>
<br>
As for the command channel, there are lots of standards to choose from
that avoid the need for proprietary IP socket stuff.<br>
<br>
I hope this isn't too far left of field for the current thread.<br>
<br>
Cheers,<br>
Murray - VK6HL<br>
<blockquote
 cite="mid:fc22d18f0912010649n2c2ee3ax41402cc3e77dc407@mail.gmail.com"
 type="cite"><br>
  <br>
  <div class="gmail_quote">On Tue, Dec 1, 2009 at 7:05 AM, Jeremy
McDermond <span dir="ltr"><<a moz-do-not-send="true"
 href="mailto:mcdermj@xenotropic.com">mcdermj@xenotropic.com</a>></span>
wrote:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div class="im">***** High Performance Software Defined Radio
Discussion List *****<br>
    <br>
    </div>
    <div class="im">On Dec 1, 2009, at 5:26 AM, John Melton wrote:<br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The client server interface is fairly simple.  It uses a TCP connection<br>
for commands but uses UDP for the I/Q samples and any returned audio.<br>
    </blockquote>
    <br>
    </div>
Maybe this is way too complex to implement for what we want, but I've
been thinking about the problem of a "HPSDR Server" a bit, and it seems
to me what we're implementing is a essentially a streaming media server
with I/Q data.  It makes a certain amount of sense to me to use
existing protocols on the wire, so it might make some sense to consider
RTSP/RTP for transporting control and data in this case.  We can come
up with some sort of URL format in the RTSP port to specify receiver
and frequency, and we can use RTSP to set up RTP streams on UDP ports
for the clients to pick up.  A frame format can be defined or stolen in
RTP for the I/Q data we need as well.  We can probably use some of the
work of others in the forms of RTSP/RTP libraries.  The advantages of
this are that RTP is designed to transport time-sensitive media like
this that requires a low amount of jitter.  We're not too different
than streaming video or audio in that regard.  Additionally, RTSP and
RTP are well understood, and will flow past many firewalls without any
problem.<br>
    <br>
Again, a fairly ambitious idea, and maybe not a "1.0 feature" but
something to think about at least.
    <div class="im"><br>
    <br>
    <br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Regards,<br>
      <br>
John g0orx/n6lyt<br>
      <br>
      <br>
      <br>
      <br>
      <br>
_______________________________________________<br>
HPSDR Discussion List<br>
To post msg: <a moz-do-not-send="true"
 href="mailto:hpsdr@openhpsdr.org" target="_blank">hpsdr@openhpsdr.org</a><br>
Subscription help: <a moz-do-not-send="true"
 href="http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org"
 target="_blank">http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org</a><br>
HPSDR web page: <a moz-do-not-send="true" href="http://openhpsdr.org"
 target="_blank">http://openhpsdr.org</a><br>
Archives: <a moz-do-not-send="true"
 href="http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/"
 target="_blank">http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/</a><br>
      <br>
    </blockquote>
    <br>
    </div>
    <font color="#888888">--<br>
Jeremy McDermond (NH6Z)<br>
Xenotropic Systems<br>
    <a moz-do-not-send="true" href="mailto:mcdermj@xenotropic.com"
 target="_blank">mcdermj@xenotropic.com</a></font>
    <div>
    <div class="h5"><br>
    <br>
    <br>
    <br>
_______________________________________________<br>
HPSDR Discussion List<br>
To post msg: <a moz-do-not-send="true"
 href="mailto:hpsdr@openhpsdr.org" target="_blank">hpsdr@openhpsdr.org</a><br>
Subscription help: <a moz-do-not-send="true"
 href="http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org"
 target="_blank">http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org</a><br>
HPSDR web page: <a moz-do-not-send="true" href="http://openhpsdr.org"
 target="_blank">http://openhpsdr.org</a><br>
Archives: <a moz-do-not-send="true"
 href="http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/"
 target="_blank">http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/</a><br>
    </div>
    </div>
  </blockquote>
  </div>
  <br>
  <br clear="all">
  <br>
-- <br>
The dose makes the poison. -- Paracelsus<br>
  <br>
Please note new phone numbers:<br>
mobile: (908) 442-8863<br>
work: (908) 428-4916<br>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
HPSDR Discussion List
To post msg: <a class="moz-txt-link-abbreviated" href="mailto:hpsdr@openhpsdr.org">hpsdr@openhpsdr.org</a>
Subscription help: <a class="moz-txt-link-freetext" href="http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org">http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org</a>
HPSDR web page: <a class="moz-txt-link-freetext" href="http://openhpsdr.org">http://openhpsdr.org</a>
Archives: <a class="moz-txt-link-freetext" href="http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/">http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/</a></pre>
</blockquote>
<br>
</body>
</html>