From eb65717dbacac3fee92c765c434bfaa0d1eb61d7 Mon Sep 17 00:00:00 2001 From: ymherklotz Date: Thu, 8 Mar 2018 12:41:10 +0000 Subject: Fixed small issue with resetting --- Project/RTDSP/enhance.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Project/RTDSP/enhance.c') diff --git a/Project/RTDSP/enhance.c b/Project/RTDSP/enhance.c index 3aae46a..7094773 100644 --- a/Project/RTDSP/enhance.c +++ b/Project/RTDSP/enhance.c @@ -105,6 +105,7 @@ double avg = 0; MVal M[NUM_M]; float K; float time_constant = 50E-6; /* Time constant in ms */ +int started = 0; /******************************* Function prototypes *******************************/ void init_hardware(void); /* Initialize codec */ void init_HWI(void); /* Initialize hardware interrupts */ @@ -149,7 +150,7 @@ void main() for(i = 0; i < FFTLEN; ++i) { M[k].mag_spec[i] = MAX_FLOAT; } - M[k].sum = 0; + M[k].sum = MAX_FLOAT; } // initializing the value to estimate the low pass filter @@ -203,7 +204,7 @@ void write_spectrum(void) { M[m_ptr].sum = 0; for(k = 0; k < FFTLEN; ++k) { x_val = cabs(fft_out[k]); - if(M[m_ptr].mag_spec[k] > x_val) { + if(x_val < M[m_ptr].mag_spec[k] && x_val != 0) { M[m_ptr].mag_spec[k] = x_val; M[m_ptr].sum += x_val; } else { @@ -217,7 +218,7 @@ void get_noise(void) { int min_index = 0, k; for(k = 1; k < NUM_M; ++k) { - if (M[k].sum != 0 && M[k].sum < min_sum) { + if (M[k].sum < min_sum) { min_sum = M[k].sum; min_index = k; } @@ -332,6 +333,7 @@ void ISR_AIC(void) if (++io_ptr >= CIRCBUF) io_ptr=0; frame_ctr++; + started = 1; } /************************************************************************************/ -- cgit