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

📄 main_msc.c

📁 Programs for extracting FIC and MSC data from real broadcasted ensemble recorded as a data file.
💻 C
字号:
#include<stdio.h>
unsigned char extracted_data[9216];
  FILE *fp,*fp1,*fp2,*fp3,*fp4,*fp5,*fp6,*fp7,*fp8,*fp9,*fp10,*fp11,*fp12,*fp13;


int add_num_arry(int a[10],int total_num,int num_to_add);
void main()
{
  int num_read;
  int num_count;
  int msc_count=0;
  int non_msc_count=0;

  int msc_id=0;

  int byte_count=0;
  int write_enable=0,k=0;

  unsigned short buffer[8]; 
  unsigned char extract_bit=0;
  unsigned char extracted_byte=0;
  //fp=fopen("DRN_plus_80_64mb.dat","rb");
  fp=fopen("ddo_log1.dat","rb");
  fp1=fopen("Extracted_1.dat","wb");
  fp2=fopen("Extracted_2.dat","wb");
  fp3=fopen("Extracted_3.dat","wb");
  fp4=fopen("Extracted_4.dat","wb");
  fp5=fopen("Extracted_5.dat","wb");
  fp6=fopen("Extracted_6.dat","wb");
  fp7=fopen("Extracted_7.dat","wb");
  fp8=fopen("Extracted_8.dat","wb");
  fp9=fopen("Extracted_9.dat","wb");
  fp10=fopen("Extracted_10.dat","wb");
  fp11=fopen("Extracted_11.dat","wb");
  fp13=fopen("Extracted_13.dat","wb");
  
   

  if(fp==NULL)
  {
    printf("\nerror");
  }
     extract_bit=0x1;

num_count=0;
write_enable=1;
  while(!feof(fp))
  {
   num_read=fread(&buffer[0],sizeof(unsigned short),1,fp);
   if(buffer[0]&0x2)
   {
     msc_id=(buffer[0]>>2)&0x3f;
    if(buffer[0]&0x1000)
    {
      write_enable=1;
    }
     if(msc_count==0)
     {
       printf("\n subchannel id %d",msc_id);
       num_count=0;
       k=0;
     }
     extracted_byte=((extracted_byte<<1)|buffer[0]&extract_bit);
     num_count++;
    if(num_count>7)
    {
      num_count=0;
      extracted_data[k++]=extracted_byte;
      extracted_byte=0;
    }
     msc_count++;
    non_msc_count=0;

   }
   else
   {
     if((non_msc_count==0)&&(write_enable==1))
     {
     printf("\n subchannel id %d count %d",msc_id,msc_count);

     if (msc_id==1) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp1);
     }
	 else if (msc_id==2) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp2);
     }
	 else if (msc_id==3) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp3);
     }
	 else if (msc_id==4) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp4);
     }
	 else if (msc_id==5) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp5);
     }
	 else if (msc_id==6) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp6);
     }
	 else if (msc_id==7) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp7);
     }
	 else if (msc_id==8) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp8);
     }
	 else if (msc_id==9) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp9);
     }
	 else if (msc_id==10) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp10);
     }
	 else if (msc_id==11) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp11);
     }
	 else if (msc_id==13) 
     {
       fwrite(&extracted_data[0],sizeof(char),k,fp13);
     }
	 
     }
    msc_id=(buffer[0]>>2)&0x3f;
    msc_count=0;
    non_msc_count++;
   }

  }

  fclose(fp);
  fclose(fp1); 
  
  

}




⌨️ 快捷键说明

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