[hpsdr] PowerSDR / Thetis / Friedrichhafen

Warren C. Pratt warren at wpratt.com
Mon Mar 28 18:51:02 PDT 2016


Hello Georg,

You probably know that I wrote the WDSP library that we use.  Doug, 
W5WC, and I have worked together to write the new ChannelMaster.dll that 
is in Thetis - this is basically all the rest of the datapath code 
connecting to the network and surrounding the DSP.  So, I suppose that 
makes me as guilty as anyone of not writing more documentation.  I agree 
that we should have more documentation, and, given the time, I would 
actually enjoy writing more.  In fact, I have it on my list to update 
and expand a document about WDSP that I have provided to Hermann, 
DL3HVH, John, G0ORX/N6LYT, and a few others, that has helped them 
integrate the library into their console applications.  I sincerely hope 
to get that done this year; however, at this moment, I am busy with some 
Thetis work.  I have also tried, from time to time, to recruit other 
people to write documentation about how to use our features and console 
applications.  However, I suppose they don't view this as the most 
enjoyable way to spend their time.:-)

The "best practices" of software engineering would suggest that 
developers should plan and document their work from the top level down.  
They should then keep that documentation up-to-date as they discover 
problems and make changes.  This would provide some amount of "standard" 
documentation.

However, for the most part, I, and I suspect some of the other 
developers, don't do that.  I do have a fairly rigorous structure that I 
follow for new modules in WDSP.  So, when I write a new module in that 
same form, a number of things are already defined. Beyond that, some 
algorithms seem straightforward to me and so I just sit down and code 
them.  Some of the others, like our new Spectral Noise Reduction, NR2, 
required reading a lot of technical papers and coding and, sometimes,  
experimenting with several different versions of algorithms.  However, I 
tend to just read several papers, decide what I want to try, and then 
code it in the "WDSP form".   There are some things that I do work 
through on paper before coding.  For example, the new Spectral Noise 
Blanker involves quite a bit of matrix formation and manipulation.  I 
did work through the formation of the matrices on paper before coding 
that. However, the notes never evolved beyond being quite cryptic.  When 
I work this way, I rarely have any issues other than typographical 
errors or minor things that I simply forgot to do.

Probably some of the best algorithm documentation I have done has been 
the presentations I've prepared for Ham Radio Friedrichshafen. In 2014, 
I gave two presentations, both available online, one on WDSP basics and 
the other on PureSignal.  For Ham Radio 2016, I plan to present on 
Advanced Noise Blanking and Noise Reduction. Preparing these 
presentations requires a lot of time; however, I enjoy doing it and I 
look forward to presenting.

Well, that's a long message.  I'm as guilty as anyone of not documenting 
more.  As I can find time, I'll try to do more. However, for me at 
least, to a large extent, it's a tradeoff between developing and 
documenting.  The other developers may choose to express differing views 
on their efforts.

Hope to see you in Friedrichshafen!

73,
Warren  NR0V



More information about the Hpsdr mailing list