⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 doubler.c

📁 This model is just testing an idea of MIMO, which IEEE802.11n will have. But I havo not seen the s
💻 C
字号:
/*****************************************************************************//*   FIle Name : doubler.c                                                   *//*   Description : WLAN Encoder's interpolation                              *//*   author : miffie                                                         *//*   Date   : aug/12/05                                                      *//*   Copyright (c) 2005 miffie   All rights reserved.                        *//*****************************************************************************/double  cubic_spline (double y0, double y1, double y2, double y3,                 double xx) { //biquaddouble yxx ;double aa, bb, cc, dd ;//Y(xx)= aa*xx^3 + bb*xx^2 + cc*xx +dd//Y(0) = y1//Y(1) = y2//Y'(0) = (y2-y0)/2//Y''(1) = (y3-y1)/2       aa = ( y3 - 3*y2 + 3*y1 - y0 )/2 ;       bb = (- y3 + 4*y2 - 5*y1 + 2*y0)/2 ;       cc =           (y2       -   y0)/2 ;       dd =                  y1 ;       yxx = ( aa * xx * xx * xx ) +             ( bb * xx * xx ) +             ( cc * xx ) +             ( dd ) ;       return( yxx ) ;} //cubic_splinestruct complexset doubler (struct complexset datain ) {int 	ii ;struct 	complex  *top ;int     tx_floor , tx_ceil ;struct  complexset  ctop ;double  y0, y1, y2, y3 ;   if ((top = (struct complex *)malloc(datain.size*2*sizeof(struct complex)) ) == NULL) {        PRINTF( " malloc failed in doubler.c\n") ;   } //fail   else { //allocated     PRINTF("doubler size=\n", datain.size ) ;     for( ii=0;ii<datain.size;ii++) {//for          if(ii==0) y0 = datain.data[ 0 ].realp  ;        else y0 = datain.data[ii-1].realp ;        y1 = datain.data[ii].realp ;        if ((ii+1)>=datain.size) y2 = datain.data[ii].realp ;        else y2 = datain.data[ii+1].realp ;        if ((ii+2)>=datain.size) y3 = datain.data[ii].realp ;        else y3 = datain.data[ii+2].realp ;        top[2*ii].realp = y1 ;        top[2*ii+1].realp = cubic_spline(y0, y1, y2, y3, 0.5) ;         if(ii==0) y0 = datain.data[ 0 ].image  ;        else y0 = datain.data[ii-1].image ;        y1 = datain.data[ii].image ;        if ((ii+1)>=datain.size) y2 = datain.data[ii].image ;        else y2 = datain.data[ii+1].image ;        if ((ii+2)>=datain.size) y3 = datain.data[ii].image ;        else y3 = datain.data[ii+2].image ;        top[2*ii].image = y1 ;        top[2*ii+1].image = cubic_spline(y0, y1, y2, y3, 0.5) ;     } //for   } //allocated      ctop.data = top ;   ctop.size = datain.size * 2 ;   free( datain.data ) ;   return( ctop ) ;}//doubler 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -