Hi Group,
This past week I made some experiments to increase the number of receivers in the HL2. Here is a summary:
The native DSP clock runs at 76.8 MHz to match the ADC/DAC clock. The FPGA we are using is capable of higher clock speeds. For example, 122.88 MHz as used by the original Hermes or 125 MHz as used by the QS1R. I doubled the rate at which the final FIR operates to reduce required resources. This allows us to either reduce the number of polyphase banks or send both I and Q samples to the same FIR. I reduced the number of polyphase banks and was almost able to fit in 4 receivers. I think there are a few other places to optimize and then we can fit in four receivers this way. I added an option to disable the TX logic and with TX disabled I could easily fit in 4 receivers. I ran Alan's SparkSDR software with 4 receivers decoding FT8 and WSPR on 80 40 30 and 20M with this experimental firmware. Reducing the number of polyphase banks may not be the final best solution, but at least the experiment shows that we can run pieces of the DSP logic at 153.6 MHz.
The RTL is now parameterized and can use the new openHPSDR receiver from protocol2. Unfortunately, I was only ever able to fit one receiver in the firmware. Maybe with some reduction from 16 to 12 bits and maximum rate lowered to 384 kHz we can fit in two.. The new FIR filter looks interesting as it decimates only by 2 and does save some resources. There appears to be a trade off here as the proceeding CIC filter must have more stages.
The RTL is now parameterized and can use the receiver from the QS1R. The QS1R is able to fit 7 receivers so I was hopeful, but again I found the limit to be 3, maybe 4 once conversion from 16 to 12 bits is done. Although the QS1R uses a similar capacity FPGA, it does not have TX and it does not use ethernet. Both of these use significant additional resources. Also, given our lower sampling rate of 76.8MHz, the FIR filter design in the QS1R only supports up to 96kHz. I would have to double the rate of this FIR filter to achieve the original max of 192kHz. I did like the memory based CIC in the QS1R. If enough decimation has occurred so that you can do the CIC filtering in serial, it makes sense from a resource savings perspective to use a table.
All in all, these experiments gave me many ideas for how to write lean and mean receivers so that we can pack more into the HL2 firmware. I would like to rewrite the entire receive chain, but have so little time and so many other things I want to work on. I still want to send full spectrum data as discussed before, and look at synchronized receivers and transmitters. Since the HL2 is mainly a hobby and leisure activity for me, I often end up just doing what interests me most at the time...
73,
Steve
KF7O