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

📄 midamble.c

📁 本c程序为TD-SCDMA中帧结构
💻 C
字号:
//midamble


struct fushu 
{
 int shibu;
 int xubu;

};

struct fushu product(struct fushu A,struct fushu B)
{
	struct fushu C; 

	C.shibu=A.shibu*B.shibu-A.xubu*B.xubu;
	C.xubu=A.xubu*B.shibu+A.shibu*B.xubu;
	
	return C;
}




main()
{
   int p=128;                       //基本码长度
   int lm=144;                      //生成长度
   int k=4;                         //一个时隙可用码的最大数目
   int w=p/k;                       //冲激响应的窗口长度
   int l=lm+(k-1)*w;                //周期扩展
   int user=1;                      //用户的号码

   int i,j;
   int n=0;
   int v=0;

/*   int basic[128]={1,-1,1,1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,-1,-1,-1,1,1,1,1, 
	                 -1,1,1,1,1,1,-1,-1,1,-1,-1,-1,1,1,-1,1,1,1,1,-1,1,-1,1,1,1,1,1,1,1,-1,1,-1,  
				    -1,1,1,-1,1,-1,-1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,-1,1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,  
				     1,-1,1,1,1,1,-1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,-1,-1,1,1};
*/    
  struct fushu basic[128]={1,0,-1,0,1,0,1,0,-1,0,-1,0,1,0,-1,0,1,0,-1,0,1,0,-1,0,1,0,1,0,-1,0,-1,0,-1,0,1,0,-1,0,-1,0,-1,0,-1,0,1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,0,1,0,1,0,1,0,-1,0,1,0,1,0,1,0,1,0,1,0,-1,0,-1,0,1,0,-1,0,-1,0,-1,0,1,0,1,0,-1,0,1,0,1,0,1,0,1,0,-1,0,1,0,-1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,-1,0,1,0,-1,0,-1,0,1,0,1,0,-1,0,1,0,-1,0,-1,0,1,0,-1,0,1,0,-1,0,1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,0,-1,0,1,0,1,0,-1,0,-1,0,1,0,1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,0,1,0,-1,0,1,0,1,0,1,0,1,0,-1,0,-1,0,1,0,1,0,-1,0,1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,1,0,-1,0,1,0,-1,0,-1,0,-1,0,1,0,1,0,-1,0,-1,0,-1,0,-1,0,1,0,1,0};

   struct fushu m[240]={0};

   struct fushu fs[4]={1,0,0,1,-1,0,0,-1};
   struct fushu af_fs[128]={0};
   struct fushu fs_basic[128]={0};
   struct fushu mid_amble[128]={0};
   struct fushu GP[16]={1,0,-1,0,1,0,1,0,-1,0,-1,0,1,0,-1,0,1,0,-1,0,1,0,-1,0,1,0,1,0,-1,0,-1,0};
   
  for(i=0;i<128/4;i++)
  {
    for(j=0;j<4;j++)
	{
	        af_fs[n++]=fs[j];
	}
  }
  
   //生成复数midamble码	
  for(i=0;i<128;i++)
	{
	    fs_basic[v++]=product(basic[i],af_fs[i]);                                                  
	}

    for(i=0;i<240;i++)
	{
	  if(i<128)
	    m[i]=fs_basic[i];
	  else
        m[i]=fs_basic[i-128];
	}
    
  
	//生成用户所使用的Midamble码
	for(i=0;i<144;i++)
	{
	   mid_amble[i]=m[i+(k-user)*w];
	}
	
	
	//生成GP
     



	for(i=0;i<128;i++)
	 {
         printf(" %d+%dj ",af_fs[i].shibu,af_fs[i].xubu);
	 }
     printf("\n");
	 printf("\n");


  for(i=0;i<240;i++)
	 {
         printf(" %d+%dj ",m[i].shibu,m[i].xubu);
	 }
     printf("\n");
	 printf("\n");

 
    for(i=0;i<128;i++)
	 {
         printf(" %d+%dj ",mid_amble[i].shibu,mid_amble[i].xubu);
	 }




}

⌨️ 快捷键说明

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