[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linrad] Newbie's first impressions

Joe Fitzgerald wrote:

Joe Taylor wrote:

One goal (which does not even require the wideband receiver) is to build a JT65 decoder onto the back end of Linrad.
How tightly integrated would that have to be? I imagine it would be a relatively simple matter for the output of Linrad to be redirected from going to the sound card to some sort of demodulator. I have daydreamed about a similar project, but never pushed it ... mainly because my wide-bandwidth, quadrature mixing, dual polarization front end presently exists only on paper also!
Joe --

Should be pretty straightforward, I believe. I would be strongly inclined to keep the two programs largely independent.

For various reasons -- some of them good reasons, others dictated by my vast ignorance of Windows internals -- WSJT operates in a sort of "batch mode". Its decoders expect to have available the digitized audio for a full RX interval, all at once. (These intervals are typically 30 seconds for FSK441, one minute for JT65.) I would probably have Linrad write its audio output stream to a shared file, perhaps organized as a ring buffer, with appropriate time tags on the data. It would continue to be sent to the speaker as well, of course. The WSJT decoders would read the desired quantity of data from the shared file and proceed pretty much as usual.

Code writing will be made easy by the architecture of the Windows version of WSJT. The program's user interface and "real time" stuff (such as T/R switching, audio input and output, etc.) is done in a front end written in Visual Basic. All of the significant computation (waveform generation, spectral shaping, birdie excision, ping detection, AFC, decoding, etc.) is done in a separate DLL coded mostly in Fortran, plus a smattering of C. The Fortran and C code is developed and tested under Linux, anyway. It should be quite easy to graft it onto the back in of Linrad.
-- 73, Joe, K1JT