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

Reply via email to