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

📄 interleaver.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 : interleaver.c                                               *//*   Description : WLAN FEC interleaver for Encoder                          *//*                 1st : i=(Ncbps/16)(kmod 16) + floor(k/16)                 *//*                 2nd : j=s*floor(i/s) + (i+Ncbps-floor(16*i/Ncbps))mod s   *//*   author : miffie                                                         *//*   Date   : aug/05/05                                                      *//*   Copyright (c) 2005 miffie   All rights reserved.                          *//*****************************************************************************/struct binaryset interleaver (struct binaryset datain, char Nbpsc ) {int 	ii , pp ;char 	shifter ;char 	tmp1 ;struct 	binaryset bset ;char    *top1, *top2 ;//Ncbps is same as datain.size  //Main     PRINTF("interleaver size=%d\n", datain.size ) ;    if (((top1 = (char *)malloc(datain.size*sizeof(char)) ) == NULL) |        ((top2 = (char *)malloc(datain.size*sizeof(char)) ) == NULL)) {        PRINTF( " malloc failed in interleaver.c\n") ;    } //fail    else { //allocated     //permutation1     for(ii=0;ii<datain.size;ii++) { //p1      pp = (datain.size/16) * (ii % 16) + (ii/16) ;      //printf("permutation1 %d %d\n", ii, pp  ) ;      top1[ pp ] =  datain.data[ ii ] ;      //printf(" top1(%d)=%d \n", pp, top1[pp] ) ;     } //p1     //permutation2     tmp1 = 1 ;     if ((Nbpsc/2)>tmp1)  tmp1 = (Nbpsc/2) ;     for(ii=0;ii<datain.size;ii++) { //p2      pp = tmp1* (ii/tmp1) +             ( ii + datain.size - (16*ii/datain.size)) % tmp1 ;      //printf("permutation2 %d %d\n", ii, pp ) ;      top2[ pp ] =  top1[ ii ] ;      //printf(" top2(%d)=%d \n", pp, top2[pp] ) ;     } //p2     bset.format = 0 ;     bset.size = datain.size ;     bset.data = top2 ;    }//allocated    free( top1 ) ;    free( datain.data ) ;    return ( bset ) ;} //interleaver

⌨️ 快捷键说明

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