[hpsdr] Proposal for a new Software project.

Larry Gadallah lgadallah at gmail.com
Mon Nov 30 15:37:11 PST 2009


Hi Chris:

Chris Albertson wrote:
> Have you'll seen Frank's "FSM" talk abut how this should be done?
> http://frank.brickle.googlepages.com/FSM-talk.pdf
>
> I think the hardest part is defining interfaces.  What should the API
> for an SDR core look like?
>
> Does it allow for many frequencies to be tunned at the same time, how
> are multiple audio feeds to be routed out of the engine.   What about
> digital modes?  Hopefully we don't have to we don't need to convert to
> audio first?  At what level to Morse code de-coding go?  What if the
> transmitter doing the CW is drifting?  Hundreds of these kinds of
> questions need to be answered
>
> I've been in the software business for 20+ year, many large projects
> and I know one thing -- getting the requirements and interfaces
> "right" or not will determine if the project fails or not.  Most
> failed project fail because of the poor quality of the up-front work
> and lack of documentation of requirements and interfaces.  We call
> this "system engineering" and it is the hardest part of the project
>   
I work in the industry too, and I agree with your comments above 100%. 
It is frightening to see how frequently this is not done, or done badly.
> I think you need to divide the system into more parts than just
> "engine" and "gui".  What if someone want s to run multiple front
> ends?   What if some one wants to use a set of real hardware rotary
> encoders for controls?  How does all this work get distributed over
> multiple CPU cores?   Can the GPU be put to use?
>   
I don't want people to misinterpret my comments. All I was trying to say 
is that the QS1R/SDRMAX software has a better architecture than most, 
based on the current state of the art. It is definitely not the 
ultimate, be-all solution, just a step in the right direction, IMHO.

This is probably a good point to mention that there is a significant 
amount of pragmatism required in amateur/open-source projects. To make 
the system engineering job even more complicated in an open-source 
environment, you have to produce a solution that:

1. Arrives quickly enough for a critical mass of technically 
disinterested users to adopt it
2. Is able to be refactored/rearchitected without significantly 
affecting #1 above
3. Provides enough capability to interest technical users who will help 
to evolve it

If it takes too long to produce a technically perfect solution, the bulk 
of the users will have already moved on to some sub-optimal solution in 
the meantime.

It seems to me that in order to even start on a top-down analysis of the 
architecture of this software, a set of use-cases needs to be derived. 
Based on these, the major components of the architecture could be proposed.
>
>
>
> On Mon, Nov 30, 2009 at 1:05 PM, Larry Gadallah <lgadallah at gmail.com> wrote:
>   
>> .... The GUI is completely isolated from the
>> engine/server that takes care of communicating with the SDR hardware, doing
>> filtering/demodulation/AGC etc. The two components are isolated so well that
>> each one does not have to use the same language, middleware, platform, etc.
>> This provides tremendous flexibility, as has been demonstrated by at least a
>> dozen variants of the SDRMAX software being deployed for Windows. Mac OS X,
>> Linux, and even Pocket PC (I think).
>>     
>
>   


 1259624231.0


More information about the Hpsdr mailing list