Gateware for full set of I/Q samples

213 views
Skip to first unread message

Franco Spinelli

unread,
Sep 18, 2023, 3:15:01 AM9/18/23
to Hermes-Lite
There is a gateware for sending full set of I/Q samples in RX only and for the complete sample rate of 61 MHz, not the actual bandscope?

As shown in this (old) document

Regards

Franco Spinelli
IW2DHW

Clifford Heath

unread,
Sep 18, 2023, 5:08:41 AM9/18/23
to Franco Spinelli, Hermes-Lite
Full bandwidth would require 3gbps Ethernet, not 1gbps.

Do you want the full bandwidth, or just a full-coverage waterfall? Because that would require much less bandwidth

I've been contemplating making a bare-bones gateware (without Metis), but it would still need filters because it could only send 10MSPS. I should write another message about this, because this approach leaves room in the FPGA to do some other interesting things.

Clifford Heath 

--
You received this message because you are subscribed to the Google Groups "Hermes-Lite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/5630698c-2d4c-4d9d-8da5-6ce3e1012518n%40googlegroups.com.

Franco Spinelli

unread,
Sep 18, 2023, 5:14:58 AM9/18/23
to Clifford Heath, Hermes-Lite
Il 18/09/23 11:08, Clifford Heath ha scritto:
> Full bandwidth would require 3gbps Ethernet, not 1gbps.

As wide as Gb Ethernet permit.
Better is covering HF band.

>
> Do you want the full bandwidth, or just a full-coverage waterfall?
> Because that would require much less bandwidth

No. Actual waterfall is sufficient for viewing but not for reception.
The idea is for receiving as much as possible samples and do processing
in PC.
>
> I've been contemplating making a bare-bones gateware (without Metis),
> but it would still need filters because it could only send 10MSPS. I
> should write another message about this, because this approach leaves
> room in the FPGA to do some other interesting things.

Franco Spinelli
IW2DHW

Clifford Heath

unread,
Sep 18, 2023, 5:21:41 AM9/18/23
to Franco Spinelli, Hermes-Lite
Ahh, I see it's half rate (decimated), and raw frames. The ADCs in the ANAN are faster (122.88 MHz) than the HL2 at 76MHz(?), so half-rate would be around 38MSPS, so 12 bit I/Q data would fit in 1gbps.

OK, that does look feasible, full coverage from 0..38MHz.

Averaging rather two samples rather than discarding every 2nd would give slightly better spurious performance too.

Clifford Heath 

On Mon, 18 Sept 2023, 17:15 Franco Spinelli, <frs...@gmail.com> wrote:
--

Clifford Heath

unread,
Sep 18, 2023, 5:26:45 AM9/18/23
to Franco Spinelli, Hermes-Lite
I'm mistaken. The AD9866 doesn't provide I/Q data. So the full data should fit. Still 38MHz after Nyquist.

Clifford Heath 

Franco Spinelli

unread,
Sep 18, 2023, 5:28:43 AM9/18/23
to Clifford Heath, Hermes-Lite
Il 18/09/23 11:21, Clifford Heath ha scritto:
> Ahh, I see it's half rate (decimated), and raw frames. The ADCs in the
> ANAN are faster (122.88 MHz) than the HL2 at 76MHz(?), so half-rate
> would be around 38MSPS, so 12 bit I/Q data would fit in 1gbps.
>
> OK, that does look feasible, full coverage from 0..38MHz.
>
> Averaging rather two samples rather than discarding every 2nd would give
> slightly better spurious performance too.

This can be the correct solution. 38 MHz of band.

And with this we can use HL2 with as many rx as PC calculation power
permit (i.e. full coverage of WSPR or FT8 bands)
Or in ka9q-radio program......

Do you know if this gateware exist or someone is working on it?

Regards

Franco Spinelli
IW2DHW

Clifford Heath

unread,
Sep 18, 2023, 5:35:57 AM9/18/23
to Franco Spinelli, Hermes-Lite
And with this we can use HL2 with as many rx as PC calculation power
permit (i.e. full coverage of WSPR or FT8 bands)
Or in ka9q-radio program......

Yes. See Phil Harman's YouTube presentation on "Direct Fourier Conversion" where they did exactly this. A modern CPU/GPU should be able to run hundreds of receivers, if not thousands.

Do you know if this gateware exist or someone is working on it?

It seems unlikely.

But I purchased my HL2 in order to learn how to do such experiments. If the ANAN gateware is available for me to learn from, or even if not, I have a chance to be able to make this for the HL2.

Clifford Heath 

Franco Spinelli

unread,
Sep 18, 2023, 5:45:59 AM9/18/23
to Clifford Heath, Hermes-Lite
Il 18/09/23 11:35, Clifford Heath ha scritto:
Please keep me informed on your progress!

Franco Spinelli
IW2DHW

Daniel Estévez

unread,
Sep 18, 2023, 1:52:06 PM9/18/23
to herme...@googlegroups.com
Interesting. I had never realized that the full ADC bandwidth fits into
1 GbE:

76.8 Msps * 12 bit/sample = 921.6 Mbps

No need to convert to IQ data. It is possible to send the real ADC
samples over ethernet and then the PC would do the rest.

A simple approach at this would be relatively easy. Just take the ADC
data, put it on a FIFO for clock domain crossing, and make UDP frames
with this data to send over Ethernet. A more complicated solution would
include a nicer protocol for framing, so that the host PC can for
instance detect dropped packets.

I have too many things going on at the moment, but I'll keep this on the
back of my mind and maybe give it a shot at some point.

Best,
Daniel.

On 18/09/2023 11:26, Clifford Heath wrote:
> I'm mistaken. The AD9866 doesn't provide I/Q data. So the full data
> should fit. Still 38MHz after Nyquist.
>
> Clifford Heath
>
> On Mon, 18 Sept 2023, 19:21 Clifford Heath, <cliffor...@gmail.com
> <mailto:cliffor...@gmail.com>> wrote:
>
> Ahh, I see it's half rate (decimated), and raw frames. The ADCs in
> the ANAN are faster (122.88 MHz) than the HL2 at 76MHz(?), so
> half-rate would be around 38MSPS, so 12 bit I/Q data would fit in 1gbps.
>
> OK, that does look feasible, full coverage from 0..38MHz.
>
> Averaging rather two samples rather than discarding every 2nd would
> give slightly better spurious performance too.
>
> Clifford Heath
>
> On Mon, 18 Sept 2023, 17:15 Franco Spinelli, <frs...@gmail.com
> <mailto:frs...@gmail.com>> wrote:
>
> There is a gateware for sending full set of I/Q samples in RX
> only and for the complete sample rate of 61 MHz, not the actual
> bandscope?
>
> As shown in this (old) document
> https://ad0es.net/dfcSDR/dfc/files/Ethernet_protocol_DFC_V1.3.pdf <https://ad0es.net/dfcSDR/dfc/files/Ethernet_protocol_DFC_V1.3.pdf>
>
> Regards
>
> Franco Spinelli
> IW2DHW
>
> --
> You received this message because you are subscribed to the
> Google Groups "Hermes-Lite" group.
> To unsubscribe from this group and stop receiving emails from
> it, send an email to hermes-lite...@googlegroups.com
> <mailto:hermes-lite...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/hermes-lite/5630698c-2d4c-4d9d-8da5-6ce3e1012518n%40googlegroups.com <https://groups.google.com/d/msgid/hermes-lite/5630698c-2d4c-4d9d-8da5-6ce3e1012518n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Hermes-Lite" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to hermes-lite...@googlegroups.com
> <mailto:hermes-lite...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/hermes-lite/CAPnXPY0eWOtMGvPbR9fLHBk26rzNXBWfUQK%3DiyvKy%3DcOJn4n%3Dw%40mail.gmail.com <https://groups.google.com/d/msgid/hermes-lite/CAPnXPY0eWOtMGvPbR9fLHBk26rzNXBWfUQK%3DiyvKy%3DcOJn4n%3Dw%40mail.gmail.com?utm_medium=email&utm_source=footer>.

OpenPGP_signature.asc

Steve Haynal

unread,
Sep 18, 2023, 1:56:42 PM9/18/23
to Hermes-Lite
Hi Group,

Full spectrum RX and TX has always been on the to do list. It is one reason there is a gigabit interface and not a 100Mbs interface like the original Hermes. Here is the issue tracker:

Even though 921.6 Mbs of raw 12-bit samples at 76.8 MHz should "fit" into a 1000Mbs link, it will be challenging. You'll have to switch to jumbo frames:
https://en.wikipedia.org/wiki/Jumbo_frame

You may want to reduce the ADC sampling rate via the i2c interface to the clock chip. You may need a dedicated link between HL2 and computer. You may even need to work at a lower level of the ethernet protocol.

There is a proof of concept which predates any discussion of DFC by the openhpsdr group:

This demonstrates that it is possible with a 1000Mbs link. My limited understanding is that the creator had to customize the protocol between radio and host, and unfortunately this was never made open source.

I don't think the openhpsdr people ever pursued DFC over ethernet seriously because most of what they do samples at ~122MHz and 16 bits and has no hope of fitting.

There are already SDRs available which receive and send to host the entire HF spectrum. Check out this group:

and this blog:

It would be very interesting in my opinion to have full spectrum RX/TX gateware for the HL2. It would be quite challenging to do, but seems feasible.

73,

Steve
kf7o

Franco Spinelli

unread,
Sep 18, 2023, 2:37:49 PM9/18/23
to herme...@googlegroups.com
Il 18/09/23 19:56, Steve Haynal ha scritto:
> Hi Group,
>
> Full spectrum RX and TX has always been on the to do list. It is one
> reason there is a gigabit interface and not a 100Mbs interface like the
> original Hermes. Here is the issue tracker:
> https://github.com/softerhardware/Hermes-Lite2/issues/100
>
> Even though 921.6 Mbs of raw 12-bit samples at 76.8 MHz should "fit"
> into a 1000Mbs link, it will be challenging. You'll have to switch to
> jumbo frames:
> https://en.wikipedia.org/wiki/Jumbo_frame
>
> You may want to reduce the ADC sampling rate via the i2c interface to
> the clock chip. You may need a dedicated link between HL2 and computer.
> You may even need to work at a lower level of the ethernet protocol.

For covering HF band a sample rate of 64 Mhz cover from 0 to 30 Mhz and
use 768 Mbs for raw 12 bit samples. An amount of samples that "fit" into
a Gb link.

If HL2 permit a reduction of sample rate to 64 Mhz this is a more simple
solution

Franco Spinelli
IW2DHW

Clifford Heath

unread,
Sep 18, 2023, 5:46:03 PM9/18/23
to Steve Haynal, Hermes-Lite
Back-to-back UDP full frames with a minimal header should allow 957Mbps without going to jumbo frames.

Are you sure there would be a need to go to jumbo frames?

Clifford Heath

To unsubscribe from this group and stop receiving emails from it, send an email to hermes-lite...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hermes-lite/95e4a688-e1fb-45aa-a360-2a592854b448n%40googlegroups.com.

Steve Haynal

unread,
Sep 18, 2023, 11:38:38 PM9/18/23
to Hermes-Lite

Hi Clifford,

How did you come up with 957Mbps? This seems like high utilization, especially if you want to target more generic hardware and setups. iperf3 on my home network between a medium class pc and raspberry pi shows:

shaynal@sonata:~$ iperf3 --udp --client 192.168.33.200 -b 0
Connecting to host 192.168.33.200, port 5201
[  5] local 192.168.33.235 port 58251 connected to 192.168.33.200 port 5201
[ ID] Interval           Transfer     Bitrate         Total Datagrams
[  5]   0.00-1.00   sec   113 MBytes   948 Mbits/sec  81830  
[  5]   1.00-2.00   sec   113 MBytes   950 Mbits/sec  82010  
[  5]   2.00-3.00   sec   113 MBytes   950 Mbits/sec  82010  
[  5]   3.00-4.00   sec   113 MBytes   949 Mbits/sec  81930  
[  5]   4.00-5.00   sec   113 MBytes   951 Mbits/sec  82080  
[  5]   5.00-6.00   sec   113 MBytes   950 Mbits/sec  82010  
[  5]   6.00-7.00   sec   113 MBytes   950 Mbits/sec  82010  
[  5]   7.00-8.00   sec   113 MBytes   944 Mbits/sec  81510  
[  5]   8.00-9.00   sec  89.0 MBytes   747 Mbits/sec  64470  
[  5]   9.00-10.00  sec  96.2 MBytes   807 Mbits/sec  69680  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  1.06 GBytes   915 Mbits/sec  0.000 ms  0/789540 (0%)  sender
[  5]   0.00-10.00  sec  1.01 GBytes   867 Mbits/sec  0.022 ms  41419/789526 (5.2%)  receiver
 

Note that there is packet loss, and the raspberry pi might be on the slow side. I think 850-900 Mbits/sec is in the practically achievable range.  

This is sending packets of ~1460 bytes. There is information on MTU and Jumbo packets here:

Alan Hooper of SparkSDR fame is a proponent of jumbo frames. His day job involves a lot of network programming. The basic idea is that larger packets achieve better utilization of bandwidth and minimize problems with jitter or one end not being quite ready. We already see packet loss and network sensitivity on some systems when running 10 receivers at 192kHz with SparkSDR (2MHz bandwidth).

Ask AD0ES for his thoughts on full spectrum over ethernet. He changed the payload size from 1500 to 8192 and lowered the sampling frequency of an Angelina, ~983Mbs. I remember him commenting somewhere that he thought full spectrum over ethernet was impossible. Maybe 12-bits at <= 64MHz or 768Mbs is workable. 

The Angelina gateware is quite different from the HL2 now. It would be easier to modify the HL2 gateware than trying to port AD0ES' effort.

73,

Steve
kf7o

Clifford Heath

unread,
Sep 19, 2023, 12:04:43 AM9/19/23
to Steve Haynal, Hermes-Lite
On Tue, 19 Sept 2023, 13:38 Steve Haynal, <softerh...@gmail.com> wrote:
How did you come up with 957Mbps? This seems like high utilization,

I probably made a mistake. I looked for the framing overhead, IP and UDP header sizes and tried to calculate from there using 1500 byte frames. Various optional things like VLAN tagging add extra bytes to headers, so I tried to choose minima. But was only browsing on my phone without making notes so might well have made a slip. 


especially if you want to target more generic hardware and setups. iperf3 on my home network between a medium class pc and raspberry pi shows:

When I last tested high bandwidth on a Pi I found the "gigabit" Ethernet was limited to 320Mbps because it was integrated through the USB subsystem. That has probably changed now though.

Clifford Heath 

Clifford Heath

unread,
Sep 19, 2023, 8:40:43 PM9/19/23
to Hermes-Lite, Steve Haynal
Here, I had another go at this. Please cross-check, if you wish.

Ethernet frame (not jumbo):
7 bytes: Preamble (LSB-first = 0b10101010 = decimal 85)
1 byte: Start of Frame Delimiter (0b10101011 = decimal 213)
6 bytes: Destination MAC
6 bytes: Source MAC
[4 bytes optional]: VLAN Tagging
2 bytes: Length (max 1500) or EtherType (e.g. 0x806 = ARP)
N bytes: Payload (46..1500)
4 bytes: CRC
12 bytes: Interpacket gap

Smallest total overhead (without VLAN) is 38 bytes, for utilisation of 97.53%, or 975292587 bytes/second of IP frames.
Put another way, GbE can carry 81274.382 1500 byte IP packets per second.

IP Frame format:
1 byte: Version (= 4 for IPv4), IHL (header length, number of 32-bit words, minimum 5)
1 byte: TOS, which is now DSCP (6 bits), Explicit Congestion Notification (2 bits)
2 bytes: Total length (minimum 20, including the header. 576 bytes guaranteed fragment reassembly)
2 bytes: Identification (used for fragment reassembly)
2 bytes: flags (3 bits: Reserved, Don’t Fragment, More Fragments) and fragment offset (13 bits, units of 8 bytes)
1 byte: TTL; decrements by one on each hop, packet discarded when zero
1 byte: Protocol (1=ICMP, 2=IGMP, 6=TCP, 17=UDP, etc)
2 bytes: Header checksum
4 bytes: Source IP
4 bytes: Destination IP
0-40 bytes: Options
0..65515 bytes: Payload

Smallest total overhead is 20 bytes (max payload in 1500 byte Ethernet is 1480 bytes)

UDP Frame header format:
2 bytes: source port
2 bytes: destination port
2 bytes: length (set to zero in a jumbo gram >65535 bytes)
2 bytes: checksum of header&data (optional in IPv4, set to zero)

Total overhead is 8 bytes. Max UDP payload in Ethernet is 1472 bytes.

Payload bits/second over GbE is therefore 957087126, which is more than 76.8*12 bits = 921Mbps.

It’s theoretically possible.

Clifford Heath
Reply all
Reply to author
Forward
0 new messages