?? ec.h
字號:
// file: echoc.h//// this file defines an echo canceller class. this is a faithful implementation// of the following application note://// Messerschmitt, David; Hedberg, David; Cole, Christopher;// Haoui, Amine; Winship, Peter; "Digital Voice Echo Canceller// with a TMS32020," in Digital Signal Processing Applications// with the TMS320 Family, pp. 415-437, Texas Instruments, Inc., 1986.//// the code parallels the description of this algorithm quite closely,// including parameter names.// // make sure definitions are only made once//#ifndef __ECHOC#define __ECHOC// local include files//#include "cb.h"// class definition//class Echo_canceller { //--------------------------------------------------------------------------- // // protected data // //---------------------------------------------------------------------------protected: // filter coefficients // double *a_d; // absolute time // int i_d; double start_speech_d; // pre-computed constants // double gamma_d; int N_d; int M_d; double beta1_d; double beta2_d; double tau_d; int flag_d; double sigma_Ly_d; double sigma_Lu_d; double alpha_st_d; double alpha_yt_d; double CUTOFF_d; int HANGT_d; double SUPPR_d; // declare memory for the high-pass filter // double s_i_d; double sdc_d; double sdc_im1_d; // circular buffers // Circular_buffer y_d; Circular_buffer s_d; Circular_buffer u_d; Circular_buffer e_d; Circular_buffer y_tilde_d; // declare accumulators for power computations // double Ly_d; double Lu_d; // declare an accumulator for the near-end signal detector // double s_tilde_d; int HCNTR_d; //--------------------------------------------------------------------------- // // public methods // //---------------------------------------------------------------------------public: // constructors/destructors // Echo_canceller(); ~Echo_canceller(); // initialization // void init_cc(double gamma, int N, int M, double beta1, double sigma_ly, double sigma_lu, double alpha_st, double alpha_yt, double cutoff, int hangt, double suppr, double alpha1); // computation // double process_cc(double y, double u); // miscellaneous methods // int max_cc(int x, int y); double max_cc(double x, double y); short int clip_cc(double value); //--------------------------------------------------------------------------- // // private methods // //---------------------------------------------------------------------------private: // none};//// end of include file#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -