diff options
| author | drowe67 <[email protected]> | 2024-05-11 08:13:44 +0930 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-05-11 08:13:44 +0930 |
| commit | 3d69c8d0639059851e60c0ddf882f86bf2fba380 (patch) | |
| tree | 56372a673925be032aaaa8670b684a678c1ac22a /src/interldpc.c | |
| parent | 6930e3c26a9d8f4f2baf5f2b8145a7216ab71d02 (diff) | |
| parent | f004b51451fe78b8f289c8a553acad06f2768d9e (diff) | |
Merge pull request #46 from drowe67/dr-freedata-001
FreeDATA Feature Request 001 - FreeDV API support for custom OFDM raw data modes
Diffstat (limited to 'src/interldpc.c')
| -rw-r--r-- | src/interldpc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/interldpc.c b/src/interldpc.c index 8cec647..b94f711 100644 --- a/src/interldpc.c +++ b/src/interldpc.c @@ -76,9 +76,11 @@ void ldpc_mode_specific_setup(struct OFDM *ofdm, struct LDPC *ldpc) { set_data_bits_per_frame(ldpc, 156); ldpc->protection_mode = LDPC_PROT_2020B; } - if (!strcmp(ofdm->mode, "datac4")) set_data_bits_per_frame(ldpc, 448); - if (!strcmp(ofdm->mode, "datac13")) set_data_bits_per_frame(ldpc, 128); - if (!strcmp(ofdm->mode, "datac14")) set_data_bits_per_frame(ldpc, 40); + + /* compute the number of data bits used in the codeword */ + int data_bits_per_frame = ofdm->bitsperpacket - ofdm->nuwbits - + ofdm->ntxtbits - ldpc->NumberParityBits; + set_data_bits_per_frame(ldpc, data_bits_per_frame); } /* LDPC encode frame - generate parity bits and a codeword, applying the |
