aboutsummaryrefslogtreecommitdiff
path: root/src/interldpc.c
diff options
context:
space:
mode:
authordrowe67 <[email protected]>2024-05-11 08:13:44 +0930
committerGitHub <[email protected]>2024-05-11 08:13:44 +0930
commit3d69c8d0639059851e60c0ddf882f86bf2fba380 (patch)
tree56372a673925be032aaaa8670b684a678c1ac22a /src/interldpc.c
parent6930e3c26a9d8f4f2baf5f2b8145a7216ab71d02 (diff)
parentf004b51451fe78b8f289c8a553acad06f2768d9e (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.c8
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