Increase max AFSK filter size.

This commit is contained in:
wb2osz 2022-12-18 20:19:37 +00:00
parent 07ea828c28
commit 17d3d0a621
1 changed files with 11 additions and 2 deletions

View File

@ -2,6 +2,8 @@
#ifndef FSK_DEMOD_STATE_H #ifndef FSK_DEMOD_STATE_H
#include <stdint.h> // int64_t
#include "rpack.h" #include "rpack.h"
#include "audio.h" // for enum modem_t #include "audio.h" // for enum modem_t
@ -43,8 +45,9 @@ typedef struct cic_s {
} cic_t; } cic_t;
#define MAX_FILTER_SIZE 404 /* 401 is needed for profile A, 300 baud & 44100. Revisit someday. */ #define MAX_FILTER_SIZE 480 /* 401 is needed for profile A, 300 baud & 44100. Revisit someday. */
// Size comes out to 417 for 1200 bps with 48000 sample rate
// v1.7 - Was 404. Bump up to 480.
struct demodulator_state_s struct demodulator_state_s
{ {
@ -216,6 +219,12 @@ struct demodulator_state_s
signed int prev_d_c_pll; // Previous value of above, before signed int prev_d_c_pll; // Previous value of above, before
// incrementing, to detect overflows. // incrementing, to detect overflows.
int pll_symbol_count; // Number symbols during time nudge_total is accumulated.
int64_t pll_nudge_total; // Sum of DPLL nudge amounts.
// Both of these are cleared at start of frame.
// At end of frame, we can see if incoming
// baud rate is a little off.
int prev_demod_data; // Previous data bit detected. int prev_demod_data; // Previous data bit detected.
// Used to look for transitions. // Used to look for transitions.
float prev_demod_out_f; float prev_demod_out_f;