Hi Joe,

Re the sfrsd program. Please regard this as merely a framework for future 
development. Nothing in the current code is optimized and I am almost certain 
that I can do better. I think that it is premature to do any quantitative 
performance comparisons with KV.  I will say that it was very encouraging to 
see how easy it is to come up with something that provides useful gains via 
very simple use of soft-symbol information.

Regarding the prospects for improving on KV - long story short - I am convinced 
that the class of algorithms that I am playing with can be tuned to be 
competitive with KV if we are willing to wait long enough for the algorithm to 
run to completion. What I don’t know yet is if it will be possible to come up 
with something that runs fast enough to be useful. 

My next step will be to pick apart the existing KA9Q Berlekamp Massey code so 
that we can eliminate some redundant calculations. In particular, I recently 
realized that the syndromes only have to be calculated once for each received 
symbol vector, whereas I am now re-calculating them thousands of times in the 
main loop.  I plan to implement the current sfrsd algorithm with this 
improvement and then move on to improving algorithm. I’ll let you know when 
I’ve got it to a point where I think that it’s worth comparing to KV. 

By the way, one thing that I’ve already noticed is that some files produce lots 
of identical un-decodable received symbol vectors. Since I have to try a whole 
bunch of virtual received signal vectors before I can decide that these are 
un-decodable, my decoder bogs down on these whereas KV seems to be able to blow 
right past them. I’m guessing that these events result from interference, or 
birdies - I can’t think of anything else that would produce a slew of identical 
vectors. It may eventually be necessary to figure out a way to identify these 
events before they are sent to the decoder. 

Re JTMSK - I am very interested in it, but I haven’t had time to look at what 
you are doing there. If you have carefully read the relevant sections of 
Proakis, then you certainly know more about CPFSK techniques than I do. I am 
aware of the fact that it should be possible, in principle, to do some form of 
block demodulation, perhaps using the Viterbi algorithm, as opposed to 
symbol-by-symbol demodulation. While this could produce significant gains - it 
would seem that this approach will require the channel to be reasonably well 
behaved (i.e. no significant frequency offset or random phase walks), no?  
Off-list I’ll send you a manuscript that does some comparisons of different 
demodulation schemes. I haven’t yet had time to distill it down to any simple 
wisdom - maybe you’ll get something useful out of it.

73, Steve k9an 


 
On Sep 11, 2015, at 8:54 AM, Joe Taylor <j...@princeton.edu> wrote:
> 
> Hi Steve,
> 
> I finally found time for a quick look at "sfrsd", your drop-in 
> replacement for kvasd that uses the stochastic Chase algorith.
> 
> I compiled and ran it on a few test cases this morning, and (as will be 
> no surprise to you) found that it works, and it succeeds in some cases 
> where the hard-decision Berlekamp-Massey algorithm fails.  Just like 
> kvasd... and no patents, non-disclosure agreements, or non-open source 
> code to worry about!  Very impressive!!
> 
> I have not yet done any thorough tests of sensitivity relative to the 
> Koetter-Vardy algorithm.  Have you?  Are there any theoretical reasons 
> to expect that it should be (or not be) as good as K-V?
> 
> I will do further tests, as time permits.
> 
> 
> On another matter, somewhat along the same lines:
> 
> Have you looked at all at the way I am presently decoding the MSK 
> signals in JTMSK?  Especially since about r5848, I think the decoder is 
> pretty good; but since the demodulation process does not yet take full 
> advantage of signal coherency or the inherent symbol-to-symbol "memory"
> in MSK modulation, I think a still better decoder is possible.
> 
> From reading Proakis I'm aware that (quite apart from the Viterbi 
> algorithm used to decode the K=13, r=1/2 convolutional code of JTMSK) a 
> Viterbi algorithm could also be used as an optimum receiver for these 
> continuous-phase signals.  I also understand that using modulation index 
> h=0.715 (rather than the h=0.5 of MSK) might have advantages while still 
> requiring bandwith no more than 2 kHz.
> 
> Do you have any opinions here?  Any interest in looking into these 
> questions further?
> 
>       -- 73, Joe, K1JT
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> wsjt-devel mailing list
> wsjt-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wsjt-devel


------------------------------------------------------------------------------
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to