- Tracker: forget max at each process for all rackers git-svn-id: http://moon:8086/svn/software/trunk/libsrc/radio@1048 b431acfa-c32f-4a4a-93f1-934dc6c82436
42 lines
1.2 KiB
C
Executable File
42 lines
1.2 KiB
C
Executable File
// --------------------------------------------------------------
|
|
#ifndef AGC_H
|
|
#define AGC_H
|
|
|
|
#include <stdint.h>
|
|
#include "radio_types.h"
|
|
#include "statistics.h"
|
|
|
|
// --------------------------------------------------------------
|
|
// Types
|
|
// --------------------------------------------------------------
|
|
typedef struct _agc_t
|
|
{
|
|
radio_float_t w;
|
|
radio_float_t w_max;
|
|
radio_float_t w_min;
|
|
sl_minmax_t slMax;
|
|
} agc_t;
|
|
|
|
// --------------------------------------------------------------
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// --------------------------------------------------------------
|
|
// AGC
|
|
// --------------------------------------------------------------
|
|
// Scalar version
|
|
void AGC_Init(agc_t *pObj, uint32_t windowLength, radio_float_t w_init);
|
|
void AGC_Free(agc_t *pObj);
|
|
void AGC_Train(agc_t *pObj, radio_float_t e, radio_float_t mu);
|
|
void AGC_Process(agc_t *pObj, radio_float_t x, radio_float_t mu, radio_float_t target);
|
|
radio_float_t AGC_GetWeight(agc_t *pObj);
|
|
|
|
// --------------------------------------------------------------
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif // __cplusplus
|
|
|
|
// --------------------------------------------------------------
|
|
#endif // AGC_H
|