Thanks, I now seem to have a decent soft decission demod and it works pretty well over the air. Error correction happens and works really well for the expected 'obvious case': A pretty decent channel with the occasional bits being dropped.
On a terrible channel the end result is still junk as expected, and on a good channel the parity bits are just there for the ride ;) Regards, Jeroen On 06/16/2020 01:52 AM, Bill Cowley wrote: > > Hi Jeroen, > > Good work on generating a code for your application! In theory the > LLRs can have any value but since it's a log ratio, they are normally > small. You have probably seen David's use of the standard (BPSK) > formula for getting LLRs from SDs which scales in proportion to the > SNR. Zero indicates the bit is equally likely to be 1 or 0 and larger > values indicated increasing certainly. LLRs are often clipped to some > magnitude (eg not allowed to be > 10 for "1" or <-10 for "0") as large > values almost always cause numerical problems. > > Cheers, Bill > > > On 16/6/20 8:48 am, Jeroen Vreeken wrote: >> Thanks Bill, I'll definitly dive into that. >> >> After figuring out what the current octave code is and isn't doing I >> generated a 2/3 rate code (696 code bits, 434 data, 232 parity) and >> got the mode 6000 unittests working with it. >> I actually used a LDPC code generator I wrote a few years back when I >> was looking into them the first time. (But never got around to >> actually finishing it). It probably is not the best code, but at >> least I can start testing on air again and if needed replace the code >> later. >> >> As for making the modem softdecission what exactly is the range >> run_ldpc_decoder() expects. >> I see that the 'fixed' bits use -10.0. Is the value of the bits >> important or is it completly relative? >> >> Regards, >> Jeroen >> >> On 06/13/2020 07:31 AM, Bill Cowley wrote: >>> Hi Jeroen, >>> >>> Further to David's reply, you might like to look at the AFF3CT >>> sitehttps://aff3ct.github.io/ which provides comprehensive info on >>> channel coding. David's codes have been Repeat Accumulate (RA) LDPC >>> codes - we used them initially as encoding is very easy (eg well >>> suited to a microController). Of course you probably don't need >>> this - so you might get slightly better performance with other >>> options. I haven't played with the AFF3CT software much, but it >>> does cover RA. >>> >>> Cheers, Bill >>> >>> >>> Cc: >>> Bcc: >>> Date: Thu, 11 Jun 2020 23:30:58 +0200 >>> Subject: [Freetel-codec2] Generating LDPC code for 6000 mode >>> Hi, >>> >>> The experiments with mode 6000 are going pretty well. >>> Another local HAM (PE1ITR) even managed to work our repeater >>> with just a >>> HackRF. >>> Compared to analog FM it seems to perform pretty well. >>> >>> But I would like to take it a bit further and try to introduce >>> some FEC. >>> Since the currently used codec2 mode only needs 3200bps there is >>> still >>> plenty of room. >>> I was thinking about a rate 2/3 code (687 code bits for 458 data >>> bits), >>> but I am a bit puzzled with the ldpc octave code. >>> How exactly do I generate the needed matrix (and ofcourse the C and >>> header files)? >>> >>> Regards, >>> Jeroen >>> >>> >>> >>> >>> >>> >>> ---------- Forwarded message ---------- >>> From: David Rowe <[email protected] <mailto:[email protected]>> >>> To: [email protected] >>> <mailto:[email protected]> >>> Cc: >>> Bcc: >>> Date: Fri, 12 Jun 2020 07:29:34 +0930 >>> Subject: Re: [Freetel-codec2] Generating LDPC code for 6000 mode >>> Hi Jeroen, >>> >>> Hey that's great work with working the new mode on a HackRF, is that >>> about 50mW max? >>> >>> Yes, FEC is a fine idea. >>> >>> A friend has been kind enough to generate the codes for me, >>> however it's >>> not a process that is automated or straight forward. Couple of >>> options: >>> >>> 1/ Use an existing code. >>> 2/ Use a code with more data bits than you require, and fill >>> them with >>> known bits at the encoder and decoder that you don't transmit. This >>> effectively lowers the code rate a little. I do that for FreeDV >>> 2020. >>> 3/ Peruse the CML library codes and see if they have one that >>> fits your >>> use case, e.g. ldpcut.m >>> >>> There is an Octave utility to generate .[ch] files and run the >>> codes in C. >>> >>> Cheers, >>> David >>> >>> On 12/6/20 7:00 am, Jeroen Vreeken wrote: >>> > Hi, >>> > >>> > The experiments with mode 6000 are going pretty well. >>> > Another local HAM (PE1ITR) even managed to work our repeater >>> with just a >>> > HackRF. >>> > Compared to analog FM it seems to perform pretty well. >>> > >>> > But I would like to take it a bit further and try to introduce >>> some FEC. >>> > Since the currently used codec2 mode only needs 3200bps there >>> is still >>> > plenty of room. >>> > I was thinking about a rate 2/3 code (687 code bits for 458 >>> data bits), >>> > but I am a bit puzzled with the ldpc octave code. >>> > How exactly do I generate the needed matrix (and ofcourse the >>> C and >>> > header files)? >>> > >>> > Regards, >>> > Jeroen >>> > >>> > >>> > >>> > _______________________________________________ >>> > Freetel-codec2 mailing list >>> > [email protected] >>> <mailto:[email protected]> >>> > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 >>> > >>> >>> >>> _______________________________________________ >>> Freetel-codec2 mailing list >>> [email protected] >>> <mailto:[email protected]> >>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2 >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Freetel-codec2 mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2 >> >> >> >> _______________________________________________ >> Freetel-codec2 mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/freetel-codec2 > > > > > _______________________________________________ > Freetel-codec2 mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/freetel-codec2
_______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
