#ifndef _ALG_NHS_H__
|
#define _ALG_NHS_H__
|
|
typedef enum {
|
nhs_filter_mode_dyn,
|
//nhs_filter_mode_fixed,
|
nhs_filter_mode_mannul,
|
}nhs_filters_mode;
|
|
/**
|
* descripts.
|
* @param smpRate [in] ²ÉÑùÂÊ
|
* @param smpNum [in] ²ÉÑùµãÊý
|
* @param fb_threshold [in] ·´À¡ãÐÖµ
|
* @param panic_threshold [in] ¿Ö»ÅãÐÖµ
|
* @return NHSËã·¨¾ä±ú
|
* @note
|
*/
|
void* alg_nhs_create(int smpRate,int smpNum,int bandnum, float fb_threshold,float panic_threshold);
|
/**
|
* descripts.
|
* @param pfb [in] ·´À¡ÒÖÖÆ¾ä±ú
|
* @return
|
* @note
|
*/
|
void alg_nhs_destroy(void* pfb);
|
|
/**
|
* descripts.
|
* @param pfb [in] ·´À¡ÒÖÖÆ¾ä±ú
|
* @param data_in [in] ´¦ÀíÊäÈë
|
* @param data_out [out] ´¦ÀíÊä³ö
|
* @return
|
* @note
|
*/
|
int alg_nhs_process(void* pfb, const float *data_in ,float* data_out);
|
|
void alg_nhs_set_bypass(void* handle, int bypass);
|
|
void alg_nhs_set_parameters(void* handle, float stepsize, float max_depth, float oct);
|
|
void alg_nhs_set_threshold(void* handle , float fb_threshold);
|
|
void alg_nhs_set_panic(void* handle , float panic_threshold);
|
|
float alg_nhs_get_unit_gain(void* handle , int index);
|
|
int alg_nhs_get_unit_frequency(void* handle , int index);
|
|
float alg_nhs_get_level(void* handle);
|
|
void alg_nhs_filters_set_unit(void* handle,int index,int mode, short freq,float gain);
|
|
void alg_nhs_filters_clear(void* handle);
|
|
void alg_nhs_init_fft(void);
|
|
#endif
|