[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!
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