#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