Firmware 20190208 Released - New NCO for testing with 4 receivers

243 views
Skip to first unread message

Steve Haynal

unread,
Feb 8, 2019, 11:14:41 PM2/8/19
to Hermes-Lite
Hi Group,

This release is to test new numerically controlled oscillators as a replacement for the current Cordic. Simulation results show that the NCO output is cleaner than the Cordic. The NCO requires about 1/10th of the LUTs as the Cordic, but does use 2 multipliers and 1/4 of a RAM block per oscillator. Because of the overall savings in resources, there are 4 receivers in this firmware. Eventually, after some work on the other filters, we should be able to have >5 receivers.

I'd appreciate people checking for spurs, anomalies or other shortcomings with these new oscaillators. To help comparison, the main receiver 1 is still the original, receivers 2 and 3 are one variation of the new NCO, and receiver 4 is another slight variation of the new NCO.


This is a testing release. The last testing release, 20180708, has become the new stable release:


Older releases can still be found in the archive:


Please see the wiki and the YouTube video linked there for details on how to update your firmware:


73,

Steve
kf7o

Steve Haynal

unread,
Feb 9, 2019, 12:05:28 AM2/9/19
to Hermes-Lite
Hi All,

I forgot to mention that the noise floor may "appear" slightly higher with the new NCOs. This is because they cover the full range of codes where as the Cordic does not due to its nature of not fitting exactly into a range that is a power of two. This is actually a good characteristic of the new NCOs. Their dynamic range should still be the same or better.

73,

Steve
kf7o

Alan Hopper

unread,
Feb 9, 2019, 2:03:50 AM2/9/19
to Hermes-Lite
Hi Steve,
nice work, I shall try and add a feature to SparkSDR this weekend to disable virtual receivers to make it possible to run multiple decoders on the same band on different (known)firmware receivers, this should give a good real world test.
73 Alan M0NNB

Alan Hopper

unread,
Feb 9, 2019, 8:07:08 AM2/9/19
to Hermes-Lite
Hi Steve,
very initial results, firstly all 4 receivers work for me.  
I see the apparent increase in level.
Receivers 2,3&4 all have a small dc spur (easy to see if you turn the gain down).
On a ft8 race to 1000 spots the scores were  r1 985 r2 1013 r3 1008 r4 1001 . 
I shall investigate why r2&r3 are different, maybe tiny differences in timing of when the ft8 block is saved, my code should remove the level differences before the ft8 code sees it.
No other obvious spurs on a quick scan through the spectrum at min gain.

73 Alan M0NNB

Wolfgang DL9UFB

unread,
Feb 9, 2019, 11:28:27 AM2/9/19
to Hermes-Lite
Hello Steve,

unfortunately works with the new firmware PureSignal
no longer ( OpenHpsdr and HL2b2).
Version 20190203 works correctly, so far without
abnormalities.
Possibly it depends on the number of receivers.


73, Wolfgang DL9UFB

Steve Haynal

unread,
Feb 9, 2019, 11:47:57 AM2/9/19
to Hermes-Lite
Hi Alan,

Thanks for the report. I now see the small DC bias. I suspect there is a bias in my sin tables, and will check there first.

For the ft8 race, I would have expected r4 to be the best if any as it has a bit more angular resolution. I'm actually surprised you saw any difference among all 4 receivers. Do you think the differences are statistically significant? Do you see any signal report differences?

73,

Steve
kf7o

Steve Haynal

unread,
Feb 9, 2019, 11:49:50 AM2/9/19
to Hermes-Lite
Hi Wolfgang,

Sorry, but I forgot to mention I took out the receiver feedback required for PureSignal in this test release. I have to do a little more restructuring before I can put it back in cleanly. It will be restored and we should then test with PureSignal to see if there are any changes there.

73,

Steve
kf7o

Alan Hopper

unread,
Feb 9, 2019, 11:54:49 AM2/9/19
to Hermes-Lite
Hi Steve
I doubt the differences are meaningful, and on a longer test the differences were smaller, I shall add some logging so snr can be properly compared (something that has been on my list for ages).  

73 Alan M0NNB 

Alan Hopper

unread,
Feb 9, 2019, 12:43:59 PM2/9/19
to Hermes-Lite
Hi Group,
there is a preview of SparkSDR 2.0 here http://www.ihopper.org/radio/sparksdr2_0_0_0rc3.zip this has an option on the radio settings page called 'disable virtual receivers' this makes it simpler to test this firmware and play spot racing games. The receivers are used in the order opened and in this mode firmware tuning is always used.

This is almost ready for release but the tx side needs further testing.  The code when released will run on windows7 32 bit  and linux but the version here is windows8.1+ 64 bit only.

Settings from previous versions are not carried across. log files have a suffix of 2.

73 Alan M0NNB

Alan Hopper

unread,
Feb 11, 2019, 5:28:12 AM2/11/19
to Hermes-Lite
Hi Group,
another version here http://www.ihopper.org/radio/sparksdr2_0_0_0rc4.zip that fixes some possible timezone issues that may have prevented some spots being reported to pskreporter.

I did a crude test of simply averaging the ft8 snr reported for each receiver over 2000 spots and they were indistinguishable, the test was not perfect as I did not only do it for shared spots (but there were very few differences).  I intend to add some logging to make it easier to do properly. Has anyone any preferences for output csv, ADIF, database, network feed? Is there anything already existing to do analysis on shared spots?

Steve, I really like the idea of being able to test different receivers on the same radio like this, I want to do some more work on the adc linearization stuff and this would be a neat way to test it.

73 Alan M0NNB

Steve Haynal

unread,
Feb 23, 2019, 12:38:39 AM2/23/19
to Hermes-Lite
Hi Alan,

You were correct that this truncation instead of rounding was causing the spur in real use. I didn't see any difference in simulation which is why I originally went with truncation. Maybe my simulation FFT needs to be longer...

Thanks and 73,

Steve
kf7o

Steve Haynal

unread,
Feb 23, 2019, 12:45:08 AM2/23/19
to Hermes-Lite
Hi Wolfgang and Group,

I am adding back the support for PureSignal but have some questions. For 3 or fewer receivers, we use receiver 1 (numbered 0,1,2) for feedback of the TX signal. In the RTL code, there is a generate condition to use receiver 3 (again starting with 0) when there are 4 or more receivers. This was added long ago only to the Hermes-Lite code base when people first started using PureSignal and we were also building for the 32 receivers on the CVA9. I am not a PureSignal user and didn't add this. Is this correct and what PureSignal-software expects?

73,

Steve
kf7o


On Saturday, February 9, 2019 at 8:28:27 AM UTC-8, Wolfgang DL9UFB wrote:

Alan Hopper

unread,
Feb 23, 2019, 2:15:54 AM2/23/19
to Hermes-Lite
Steve,
I believe receiver 3 is used by hermes and most of the anan radios, receiver 1 is used by the small anan10, so you have to select the appropriate radio type in PowerSDR. I'd go for receiver 3.
73 Alan M0NNB

Wolfgang DL9UFB

unread,
Feb 23, 2019, 4:15:31 AM2/23/19
to Hermes-Lite
Hello, Steve,

I use in the setup of OpenHPSDR in the tab
Hardware the model Anan 10E.
As far as I know the Anan 10E enables
only 2 receivers. So it worked
always without problems.
So it would be receiver 1 (0.1,...).
In a few hours I will test the new firmware.
Thank you Steve for your efforts.

73, Wolfgang DL9UFB
Message has been deleted

Alan Hopper

unread,
Feb 25, 2019, 4:06:34 PM2/25/19
to Hermes-Lite
Steve,
got to No1 on psk reporter on reports on 40m today using this firmware! So I don't thing there is much wrong with the HL2's receiving ability!
73 Alan M0NNB

Steve Haynal

unread,
Feb 25, 2019, 4:31:37 PM2/25/19
to Hermes-Lite
Hi Alan,

Congratulations! I see you at the top on the statistics page for 40M:
https://pskreporter.info/cgi-bin/pskstats.pl

I've been running SparkSDR2 for the past few days too and pskreporter says I have 8054 reports over the last 24 hours on 40M. I'd expect to be number 9 or 10 on the list with that many spots, but I am not there. How exactly are the stats generated? Every night? What am I missing?

73,

Steve
kf7o

Alan Hopper

unread,
Feb 25, 2019, 4:54:42 PM2/25/19
to Hermes-Lite
Steve,
Spark only uploads a proportion of the spots it detects according to the psk reporter guidelines. The number in the spark title bar is the actual number reported, I've been doing some testing with Sven and put that there as a sanity check. I discovered I was being over cautious with what I uploaded and have been testing with a tweaked version to get those stats, the next release should give you better results. I'm not sure that 8054 figure is filtered by the band, sometimes it seems to be and other times I'm not sure, I took to downloading the adif log to check stuff.
73 Alan M0NNB 

Steve Haynal

unread,
Feb 27, 2019, 11:32:16 PM2/27/19
to Hermes-Lite
Hi Alan,

I made the list! Number 50 for top reporters on all bands. 

73,

Steve
kf70
Reply all
Reply to author
Forward
0 new messages