亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? iir-lib.c

?? Reference Implementation of G.711 standard and other voice codecs
?? C
?? 第 1 頁 / 共 3 頁
字號:
	T[n][0] = T[n][1];	T[n][1] = Ttmp;      }    }    (*k0)++;  }  *k0 %= idown;			  /* avoid overflow by (*k0)++ */  return ky;}/* .............. End of scd_parallel_form_iir_down_kernel() .............. *//*  ============================================================================        long scd_parallel_form_iir_up_kernel(long lenx, float *x,        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ float *y, long *k0,                                               long idown, long nblocks,                                               double direct_cof,                                               double gain, float (*b)[3],                                               float (*c)[2], float (*T)[2]);        Description:        ~~~~~~~~~~~~        Function for filtering a sequence of input samples by a        parallel-form IIR-filter with up-sampling.        Parameters:        ~~~~~~~~~~~        lenx: ........ (In) length of input array x[]        x: ........... (In) array with input samples        y: ........... (Out) array with output samples        iup: ......... (In) up-sampling factor        nblocks: ..... (In) number of coeff. sets        direct_cof: .. (In) direct path coefficient        gain: ........ (In) gain factor        b: ........... (In) numerator coefficients        c: ........... (In) denominator coefficients        T: ........... (In/Out) state variables        Return value:        ~~~~~~~~~~~~~        Returns the number of samples filtered.        Author: <hf@pkinbg.uucp>        ~~~~~~~        History:        ~~~~~~~~        28.Feb.92 v1.0 Release of 1st version <hf@pkinbg.uucp> ============================================================================*/static long     scd_parallel_form_iir_up_kernel(lenx, x, y, iup, nblocks,				                  direct_cof, gain, b, c, T)  long            lenx;  float          *x, *y;  long            iup, nblocks;  double          direct_cof, gain;  float           (*b)[3], (*c)[2], (*T)[2];{  long            kx, ky, n;  float           Ttmp;  kx = 0;			  /* starting index in input array (x) */  for (ky = 0; ky < iup * lenx; ky++)	/* loop over all input samples */  {    if (ky % iup == 0)		  /* compute output only every "iup" */    {				  /* samples by taking one input sample */      y[ky] = direct_cof * x[kx]; /* direct path */      for (n = 0; n < nblocks; n++)	/* loop over all second order filter */      {	Ttmp = 2. * (x[kx] - c[n][0] * T[n][0] - c[n][1] * T[n][1]);	y[ky] += b[n][2] * Ttmp + b[n][1] * T[n][1] + b[n][0] * T[n][0];	T[n][0] = T[n][1];	T[n][1] = Ttmp;      }      y[ky] *= gain;      kx++;    }    else    {      y[ky] = 0.0;		  /* at other instants feed zero-valued				   * samples */      for (n = 0; n < nblocks; n++)      {	Ttmp = 2. * (0.0 - c[n][0] * T[n][0] - c[n][1] * T[n][1]);	y[ky] += b[n][2] * Ttmp + b[n][1] * T[n][1] + b[n][0] * T[n][0];	T[n][0] = T[n][1];	T[n][1] = Ttmp;      }      y[ky] *= gain;    }  }  return ky;}/* ............... End of scd_parallel_form_iir_up_kernel() ............... *//* *************************************************************************   ******** THE ROUTINES TO FOLLOW HAVE BEEN ADDED AFTER THE STL92 ********* * ************************************************************************* *//*  ============================================================================  void cascade_iir_reset (CASCADE_IIR *iir_ptr);  ~~~~~~~~~~~~~~~~~~~~~~    Description:  ~~~~~~~~~~~~  Clear state variables in CASCADE_IIR structure, what has been  initialized by a previous call to one of the init functions.  Parameters:  ~~~~~~~~~~~  CASCADE_IIR *iir_ptr: ... pointer to struct CASCADE_IIR previously                             initialized by a call to one of the initialization                             routines.  Return value:  ~~~~~~~~~~~~~  Nothing.  Author: <simao@ctd.comsat.com>  ~~~~~~~  History:  ~~~~~~~~  30.Oct.94 v1.0 Release of 1st version <simao@ctd.comsat.com> ============================================================================*/void            cascade_iir_reset(iir_ptr)  CASCADE_IIR        *iir_ptr;{  long            n;  float           (*T_ptr)[4];  T_ptr = iir_ptr->T;  for (n = 0; n < iir_ptr->nblocks; n++)  {    T_ptr[n][0] = 0.0;    T_ptr[n][1] = 0.0;    T_ptr[n][2] = 0.0;    T_ptr[n][3] = 0.0;  }  iir_ptr->k0 = iir_ptr->idown;	  /* modulo counter for down-sampling */}/* .................... End of cascade_iir_reset() ...................... *//*  ============================================================================  long cascade_iir_kernel (long lseg, float *x_ptr, CASCADE_IIR *iir_ptr,  ~~~~~~~~~~~~~~~~~~~~~~~  float *y_ptr);  Description:  ~~~~~~~~~~~~  Basic cascade-form IIR filtering routine, for both up- and   down-sampling.  Parameters:  ~~~~~~~~~~~  lseg: ...... number of input samples  x_ptr: ..... array with input samples  iir_ptr: ... pointer to IIR-struct (CASCADE_IIR *)  y_ptr: ..... output samples  Return value:  ~~~~~~~~~~~~~  Returns the number of output samples.    Author: <simao@ctd.comsat.com>  ~~~~~~~    History:  ~~~~~~~~  30.Oct.94 v1.0 Release of 1st version <simao@ctd.comsat.com> ============================================================================*/long            cascade_iir_kernel(lseg, x_ptr, iir_ptr, y_ptr)  long            lseg;  float          *x_ptr;  CASCADE_IIR    *iir_ptr;  float          *y_ptr;{  if (iir_ptr->hswitch == 'U')    return      cascade_form_iir_up_kernel( /* returns number of output samples */				  lseg,	          /* In : input signal leng. */				  x_ptr,	  /* In : input sample array */				  y_ptr,	  /* Out: outp. sample array */				  iir_ptr->idown, /* In : dwnsmpl.factor */				  iir_ptr->nblocks, /*In: no.IIR-coeffs */				  iir_ptr->gain,  /* In : gain factor*/				  iir_ptr->a,	  /* In : num.coeffs */				  iir_ptr->b,	  /* In : denom.coeffs */				  iir_ptr->T	  /* I/O: state vars */      );  else    return      cascade_form_iir_down_kernel(/* returns number of output samples */				   lseg,	  /* In : input signal leng. */				   x_ptr,	  /* In : input sample array */				   y_ptr,	  /* Out: outp. sample array */				   &(iir_ptr->k0), /*I/O: start idx,x-array */				   iir_ptr->idown, /*In : dwnsmpl.factor */				   iir_ptr->nblocks, /*In:no.of IIR-coeffs */				   iir_ptr->gain, /* In : gain factor */				   iir_ptr->a,	  /* In : numerator coeffs */				   iir_ptr->b,	  /* In : denom.coeffs */				   iir_ptr->T	  /* I/O: state vars */      );}/* .................... End of cascade_iir_kernel() ....................... *//*  ============================================================================  long cascade_form_iir_down_kernel(long lenx, float *x,  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ float *y, long *k0,                                    long idown, long nblocks,                                    double gain, float (*a)[2],                                    float (*b)[2], float (*T)[4]);    Description:  ~~~~~~~~~~~~  Function for filtering a sequence of input samples by a  cascade-form IIR-filter with down-sampling.    Parameters:  ~~~~~~~~~~~  lenx: ........ (In) length of input array x[]  x: ........... (In) array with input samples  y: ........... (Out) array with output samples  k0: .......... (In/Out) pointer to modulo counter  idown: ....... (In) down-sampling factor  nblocks: ..... (In) number of coeff. sets  gain: ........ (In) gain factor  b: ........... (In) numerator coefficients  c: ........... (In) denominator coefficients  T: ........... (In/Out) state variables    Return value:  ~~~~~~~~~~~~~  Returns the number of samples filtered.    Author: <simao@ctd.comsat.com>  ~~~~~~~    History:  ~~~~~~~~  30.Oct.94 v1.0 Release of 1st version <simao@ctd.comsat.com> ============================================================================*/static long     cascade_form_iir_down_kernel(lenx, x, y, k0, idown,                                              nblocks, gain, a, b, T)  long            lenx;  float          *x, *y;  long           *k0, idown, nblocks;  double          gain;  float           (*a)[2], (*b)[2], (*T)[4];{  long            kx, ky, n;  double   xj,yj;  ky = 0;			  /* starting index in output array (y) */  for (kx = 0; kx < lenx; kx++)	  /* loop over all input samples */  {    xj = x[kx]; /* direct path */    for (n = 0; n < nblocks; n++)	/* loop over all second order filter */    {      yj =  xj + a[n][0] * T[n][0] + a[n][1] * T[n][1];      yj -= (b[n][0] * T[n][2] + b[n][1] * T[n][3]);      /* Save samples in memory */      T[n][1] = T[n][0];      T[n][0] = xj;      T[n][3] = T[n][2];      T[n][2] = yj;      /* The yj of this stage is the xj of the next */      xj = yj;    }    if (*k0 % idown == 0)	  /* compute output only every "idown"				   * samples */    {      /* Apply gain and update y-samples' counter */      y[ky] = yj * gain;      ky++;    }    (*k0)++;  }  *k0 %= idown;			  /* avoid overflow by (*k0)++ */  return ky;}/* .............. End of cascade_form_iir_down_kernel() .............. *//*  ============================================================================  long cascade_form_iir_up_kernel(long lenx, float *x,  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ float *y, long *k0,                                  long idown, long nblocks,                                  double gain, float (*a)[2],                                  float (*b)[2], float (*T)[4]);  Description:  ~~~~~~~~~~~~  Function for filtering a sequence of input samples by a  cascade-form IIR-filter with up-sampling.  Parameters:  ~~~~~~~~~~~  lenx: ........ (In) length of input array x[]  x: ........... (In) array with input samples  y: ........... (Out) array with output samples  iup: ......... (In) up-sampling factor  nblocks: ..... (In) number of coeff. sets  gain: ........ (In) gain factor  b: ........... (In) numerator coefficients  c: ........... (In) denominator coefficients  T: ........... (In/Out) state variables    Return value:  ~~~~~~~~~~~~~  Returns the number of samples filtered.    Author: <simao@ctd.comsat.com>  ~~~~~~~    History:  ~~~~~~~~  30.Oct.94 v1.0 Release of 1st version <simao@ctd.comsat.com> ============================================================================*/static long     cascade_form_iir_up_kernel(lenx, x, y, iup, nblocks,					   gain, a, b, T)  long            lenx;  float          *x, *y;  long            iup, nblocks;  double          gain;  float           (*a)[2], (*b)[2], (*T)[4];{  long            kx, ky, n;  double xj, yj;  kx = 0;			  /* starting index in input array (x) */  for (ky = 0; ky < iup * lenx; ky++)	/* loop over all input samples */  {    /* Compute output only every "iup" compute output only every "iup"      * samples by taking one input sample direct path OR by using a      * zero-valued sample */    if (ky % iup == 0)		        xj = x[kx];                    else                                xj = 0.;    /* Filter samples through all cascade stages */    for (n = 0; n < nblocks; n++)        {      yj =  xj + a[n][0] * T[n][0] + a[n][1] * T[n][1];      yj -= (b[n][0] * T[n][2] + b[n][1] * T[n][3]);      /* Save samples in memory */      T[n][1] = T[n][0];      T[n][0] = xj;      T[n][3] = T[n][2];      T[n][2] = yj;      /* The yj of this stage is the xj of the next */      xj = yj;    }     /* Apply the gain and update x counter if needed */    y[ky] = yj * gain;    if (ky % iup == 0) kx++;  }  return ky;}/* ............... End of cascade_form_iir_up_kernel() ............... *//*  ============================================================================  CASCADE_IIR *cascade_iir_init (long nblocks, float (*a)[2],  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  float (*b)[2], double gain, 	                         long idwnup, char hswitch);  Description:  ~~~~~~~~~~~~  Allocate & initialize struct for down/up-sampling procedures.  Parameters:  ~~~~~~~~~~~  long nblocks: ....... number of 2'nd order blocks  float (*a)[2]: ...... pointer to numerator coeffic.  float (*b)[2]: ...... pointer to denominator coeffic.  double gain: ........ gain factor for filter  long idown: ......... Down-sampling factor  char hswitch: ....... to up-/downsampling routine  Return value:  ~~~~~~~~~~~~~  Returns a pointer to struct CASCADE_IIR;  Author: <simao@ctd.comsat.com>  ~~~~~~~    History:  ~~~~~~~~  30.Oct.94 v1.0 Release of 1st version <simao@ctd.comsat.com> ============================================================================*/CASCADE_IIR *cascade_iir_init(nblocks, a, b, gain, idown, hswitch)  long            nblocks;  float           (*a)[2], (*b)[2];  double          gain;  long            idown;  char            hswitch;{  static CASCADE_IIR *ptrIIR;	  /* pointer to the new struct */  float           fak;  float           (*T_ptr)[4];  long            n;  /* Allocate memory for a new struct */  ptrIIR = (CASCADE_IIR *) malloc((long) sizeof(CASCADE_IIR));  if (ptrIIR == (CASCADE_IIR *) 0L)  {    return 0;  }  /* Allocate memory for state variables */  if ((ptrIIR->T = (float (*)[4]) malloc((nblocks * 4) * sizeof(fak)))      == (float (*)[4]) 0)  {    free(ptrIIR);    return 0;  }  /* fill coefficient sets */  ptrIIR->nblocks = nblocks;	  /* store number of 2'nd order blocks */  ptrIIR->a = a;  ptrIIR->b = b;  /* store down-sampling factor/gain/direct-path coefficient */  ptrIIR->idown = idown;  ptrIIR->gain = gain;  /* Store switch to IIR-kernel procedure */  ptrIIR->hswitch = hswitch;  /* Clear state variables */  T_ptr = ptrIIR->T;  for (n = 0; n < nblocks; n++)  {    T_ptr[n][0] = 0.0;    T_ptr[n][1] = 0.0;    T_ptr[n][2] = 0.0;    T_ptr[n][3] = 0.0;  }  ptrIIR->k0 = idown;		  /* modulo counter for down-sampling */  /* Exit returning pointer to struct */  return (ptrIIR);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品久久久久久久久老牛影院| 欧美日韩一区二区三区免费看| 亚洲国产成人tv| 亚洲三级免费观看| 一区二区三区丝袜| 亚洲自拍都市欧美小说| 一区二区三区日韩精品| 亚洲国产精品一区二区久久 | 国产91精品一区二区麻豆亚洲| 久久成人免费日本黄色| 国产一区视频在线看| 风间由美一区二区av101| www.视频一区| 欧美日韩精品免费| 精品久久久久一区二区国产| 国产亚洲美州欧州综合国| 久久久久久久综合日本| 《视频一区视频二区| 亚洲午夜精品久久久久久久久| 婷婷丁香激情综合| 久久99国产精品久久99 | 椎名由奈av一区二区三区| 亚洲日本成人在线观看| 日韩影院在线观看| 国产在线播精品第三| 国产精品综合av一区二区国产馆| 97久久超碰国产精品| 91国内精品野花午夜精品| 91精品国产入口| 中文字幕欧美激情一区| 亚洲国产日韩av| 国产精品一区二区三区四区| 91女人视频在线观看| 在线观看91精品国产麻豆| 精品日韩一区二区三区| 最新不卡av在线| 日韩精品电影在线| 99re热视频这里只精品| 欧美一区二区网站| 日韩一区中文字幕| 韩国中文字幕2020精品| 欧美伊人久久久久久久久影院 | 狠狠色丁香婷婷综合| 色综合久久九月婷婷色综合| 日韩三级免费观看| 亚洲精品乱码久久久久久久久| 激情欧美日韩一区二区| 欧美视频在线观看一区二区| 国产精品每日更新| 国产最新精品精品你懂的| 欧美日韩亚洲综合在线| 中文字幕一区二| 国产一区二区看久久| 欧美日韩dvd在线观看| 成人免费视频在线观看| 国产成人av电影| 久久天天做天天爱综合色| 三级欧美在线一区| 欧美性生活大片视频| 亚洲日本在线天堂| 色久综合一二码| 自拍偷拍国产亚洲| 91社区在线播放| 自拍偷在线精品自拍偷无码专区| 成人国产电影网| 中文字幕精品综合| 国产凹凸在线观看一区二区| 久久日韩精品一区二区五区| 琪琪久久久久日韩精品| 欧美精品在线一区二区| 日韩精品高清不卡| 欧美一区二区在线观看| 日本中文一区二区三区| 欧美一区二视频| 久久99国产精品麻豆| 久久久久久亚洲综合| 国产a级毛片一区| 欧美韩日一区二区三区| 99国产精品国产精品久久| 亚洲欧洲一区二区三区| 91免费观看视频在线| 亚洲欧美日韩国产一区二区三区| 99精品久久只有精品| 1024精品合集| 欧美区在线观看| 精品一区二区在线播放| 国产调教视频一区| 99国产精品99久久久久久| 亚洲综合一二三区| 欧美一区二区在线不卡| 国产精品影视天天线| √…a在线天堂一区| 欧美日韩美少妇| 国精产品一区一区三区mba视频| 国产无一区二区| 欧美亚洲国产一区二区三区va| 丝袜国产日韩另类美女| 中文字幕在线不卡视频| 色吧成人激情小说| 日本午夜精品一区二区三区电影| 久久无码av三级| 欧美性大战久久| 国产一区二区三区精品视频| 国产精品久久影院| 欧美美女bb生活片| 国产福利一区二区三区视频在线 | 日本中文字幕一区| 国产欧美一区二区精品性| 欧美在线播放高清精品| 麻豆一区二区三| 亚洲视频一区二区免费在线观看| 欧美群妇大交群中文字幕| 国产剧情av麻豆香蕉精品| 亚洲午夜电影在线观看| 欧美国产精品中文字幕| 欧美精品xxxxbbbb| 99久久免费国产| 国产一区二区三区视频在线播放| 伊人一区二区三区| 国产人成一区二区三区影院| 欧美性猛交xxxx乱大交退制版| 韩日av一区二区| 五月天丁香久久| 一区在线观看视频| 国产区在线观看成人精品| 欧美高清视频在线高清观看mv色露露十八| 国产成人a级片| 蓝色福利精品导航| 日韩精品一区第一页| 亚洲人成7777| 欧美激情资源网| www国产精品av| 日韩午夜精品视频| 欧美丝袜第三区| 在线影视一区二区三区| 99久久久国产精品免费蜜臀| 国产麻豆精品在线| 狠狠色丁香婷婷综合久久片| 丝瓜av网站精品一区二区| 国产一区二区调教| 美腿丝袜亚洲综合| 奇米一区二区三区av| 日韩不卡一区二区| 午夜日韩在线电影| 午夜伦欧美伦电影理论片| 亚洲综合在线免费观看| 亚洲蜜桃精久久久久久久| 国产精品美女久久久久aⅴ国产馆| 久久久久久久综合色一本| 久久久精品一品道一区| 久久久久久免费网| 欧美高清在线一区| 1000精品久久久久久久久| 一区在线播放视频| 亚洲一区二区三区精品在线| 亚洲午夜一二三区视频| 亚洲一区二区综合| 午夜国产不卡在线观看视频| 亚洲成a人v欧美综合天堂| 午夜精品久久久久久| 日韩av一区二区在线影视| 美腿丝袜亚洲三区| 国产高清在线精品| 白白色亚洲国产精品| 色综合久久天天| 欧美高清视频www夜色资源网| 欧美久久婷婷综合色| 精品乱人伦小说| 国产日产欧美一区| 一区二区三区日韩精品视频| 日韩成人免费电影| 国产成人精品一区二| 99久久精品国产一区| 欧美中文字幕一二三区视频| 88在线观看91蜜桃国自产| 久久综合999| 亚洲免费成人av| 另类小说欧美激情| www.激情成人| 56国语精品自产拍在线观看| 久久先锋影音av鲁色资源| 亚洲黄色尤物视频| 日韩黄色小视频| 成人妖精视频yjsp地址| 色8久久精品久久久久久蜜| 日韩免费福利电影在线观看| 国产精品女主播在线观看| 视频一区二区三区中文字幕| 风间由美一区二区三区在线观看| 欧美视频一区二| 国产欧美日韩另类一区| 午夜在线成人av| 国产福利一区在线观看| 91精品国产综合久久精品麻豆 | 精品一区中文字幕| 色综合久久久久综合99| 久久久久久综合| 麻豆91精品91久久久的内涵| 97久久超碰国产精品| 国产欧美一区二区精品性|