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

📄 msequence.cpp

📁 利用Visual C++编写M序列的生成以及利用给定的M序列采用采样技术生成其他的不同的序列
💻 CPP
📖 第 1 页 / 共 3 页
字号:
 mPrimitive[2][48][22]=2;   mPrimitive[2][48][23]=2;   mPrimitive[2][48][24]=2;   mPrimitive[2][48][41]=3;   mPrimitive[2][48][42]=2;   mPrimitive[2][48][43]=3;   mPrimitive[2][48][44]=3;   mPrimitive[2][48][46]=3;   mPrimitive[2][48][47]=1;   
 mPrimitive[2][49][22]=2;   mPrimitive[2][49][43]=1;    mPrimitive[2][49][44]=1;    mPrimitive[2][49][45]=1;    mPrimitive[2][49][46]=2;    mPrimitive[2][49][47]=2;   
 mPrimitive[2][50][23]=2;   mPrimitive[2][50][24]=2;   mPrimitive[2][50][25]=2;   mPrimitive[2][50][46]=1;   mPrimitive[2][50][47]=1;   mPrimitive[2][50][48]=3;   mPrimitive[2][50][49]=2;   
 mPrimitive[2][51][24]=2;   mPrimitive[2][51][25]=2;    mPrimitive[2][51][45]=1;    mPrimitive[2][51][48]=1;    mPrimitive[2][51][49]=2;    mPrimitive[2][51][50]=3;   
 mPrimitive[2][52][26]=2;   mPrimitive[2][52][49]=3;   
 mPrimitive[2][53][26]=2;   mPrimitive[2][53][47]=1;   mPrimitive[2][53][49]=2;   mPrimitive[2][53][50]=2;   mPrimitive[2][53][51]=1;   mPrimitive[2][53][52]=1;   
 mPrimitive[2][54][24]=2;   mPrimitive[2][54][25]=2;   mPrimitive[2][54][26]=2;   mPrimitive[2][54][27]=2;    mPrimitive[2][54][48]=1;    mPrimitive[2][54][49]=1;    mPrimitive[2][54][50]=1;    mPrimitive[2][54][51]=3;    mPrimitive[2][54][52]=3;    mPrimitive[2][54][53]=2;   
 mPrimitive[2][55][27]=2;   mPrimitive[2][55][49]=1;   mPrimitive[2][55][51]=2;   mPrimitive[2][55][52]=2;   mPrimitive[2][55][53]=1;   mPrimitive[2][55][54]=1;   
 mPrimitive[2][56][26]=2;   mPrimitive[2][56][27]=2;   mPrimitive[2][56][28]=2;   mPrimitive[2][56][49]=3;   mPrimitive[2][56][52]=1;   mPrimitive[2][56][53]=2;   mPrimitive[2][56][54]=3;   mPrimitive[2][56][55]=2;
 mPrimitive[2][57][26]=2;   mPrimitive[2][57][27]=2;   mPrimitive[2][57][52]=3;   mPrimitive[2][57][53]=2;   mPrimitive[2][57][54]=3;   mPrimitive[2][57][55]=1;   mPrimitive[2][57][56]=2;
 mPrimitive[2][58][26]=2;   mPrimitive[2][58][29]=2;   mPrimitive[2][58][52]=1;   mPrimitive[2][58][53]=3;   mPrimitive[2][58][57]=3;
 mPrimitive[2][59][27]=2;   mPrimitive[2][59][28]=2;   mPrimitive[2][59][29]=2;   mPrimitive[2][59][53]=1;   mPrimitive[2][59][54]=1;   mPrimitive[2][59][55]=3;   mPrimitive[2][59][56]=3;   mPrimitive[2][59][58]=3;
 mPrimitive[2][60][30]=2;   mPrimitive[2][60][59]=3;
 mPrimitive[2][61][28]=2;   mPrimitive[2][61][30]=2;   mPrimitive[2][61][56]=3;   mPrimitive[2][61][58]=2;   mPrimitive[2][61][59]=1;   mPrimitive[2][61][60]=1;
 mPrimitive[2][62][28]=2;   mPrimitive[2][62][31]=2;   mPrimitive[2][62][56]=1;   mPrimitive[2][62][57]=3;   mPrimitive[2][62][58]=2;   mPrimitive[2][62][59]=1;
 mPrimitive[2][63][31]=2;   mPrimitive[2][63][62]=3;
 mPrimitive[2][64][30]=2;   mPrimitive[2][64][32]=2;   mPrimitive[2][64][60]=1;   mPrimitive[2][64][61]=3;   mPrimitive[2][64][63]=3;
 mPrimitive[2][65][31]=2;   mPrimitive[2][65][32]=2;   mPrimitive[2][65][61]=1;   mPrimitive[2][65][62]=3;   mPrimitive[2][65][64]=3;
 mPrimitive[2][66][29]=2;   mPrimitive[2][66][30]=2;   mPrimitive[2][66][32]=2;   mPrimitive[2][66][33]=2;   mPrimitive[2][66][58]=1;   mPrimitive[2][66][59]=2;   mPrimitive[2][66][60]=1;   mPrimitive[2][66][61]=1;   mPrimitive[2][66][62]=2;   mPrimitive[2][66][63]=1;   mPrimitive[2][66][64]=1;   mPrimitive[2][66][65]=2;   
 mPrimitive[2][67][31]=2;   mPrimitive[2][67][33]=2;   mPrimitive[2][67][62]=3;   mPrimitive[2][67][64]=2;   mPrimitive[2][67][65]=1;   mPrimitive[2][67][66]=1;
 mPrimitive[2][68][34]=2;   mPrimitive[2][68][61]=3;   mPrimitive[2][68][62]=2;   mPrimitive[2][68][63]=3;   mPrimitive[2][68][64]=2;   mPrimitive[2][68][65]=2;   mPrimitive[2][68][67]=3;
 mPrimitive[2][69][32]=2;   mPrimitive[2][69][63]=1;   mPrimitive[2][69][64]=3;   mPrimitive[2][69][65]=2;   mPrimitive[2][69][66]=2;   mPrimitive[2][69][67]=1;   mPrimitive[2][69][68]=2;
 mPrimitive[2][70][35]=2;   mPrimitive[2][70][65]=3;   mPrimitive[2][70][66]=2;   mPrimitive[2][70][67]=1;   mPrimitive[2][70][68]=2;   mPrimitive[2][70][69]=3;
 mPrimitive[2][71][33]=2;   mPrimitive[2][71][34]=2;   mPrimitive[2][71][35]=2;   mPrimitive[2][71][66]=3;   mPrimitive[2][71][67]=2;   mPrimitive[2][71][68]=1;   mPrimitive[2][71][69]=2;   mPrimitive[2][71][70]=3;
 mPrimitive[2][72][33]=2;   mPrimitive[2][72][34]=2;   mPrimitive[2][72][35]=2;   mPrimitive[2][72][36]=2;   mPrimitive[2][72][66]=1;   mPrimitive[2][72][67]=2;   mPrimitive[2][72][68]=3;   mPrimitive[2][72][69]=3;   mPrimitive[2][72][70]=1;   mPrimitive[2][72][71]=1;
 mPrimitive[2][73][35]=2;   mPrimitive[2][73][69]=1;   mPrimitive[2][73][70]=1;   mPrimitive[2][73][71]=3;   mPrimitive[2][73][72]=2;
 mPrimitive[2][74][35]=2;   mPrimitive[2][74][37]=2;   mPrimitive[2][74][67]=3;   mPrimitive[2][74][69]=2;   mPrimitive[2][74][70]=1;   mPrimitive[2][74][71]=3;   mPrimitive[2][74][72]=2;
 mPrimitive[2][75][36]=2;   mPrimitive[2][75][37]=2;   mPrimitive[2][75][69]=1;   mPrimitive[2][75][72]=1;   mPrimitive[2][75][73]=2;   mPrimitive[2][75][74]=3;
 mPrimitive[2][76][36]=2;   mPrimitive[2][76][37]=2;   mPrimitive[2][76][38]=2;   mPrimitive[2][76][71]=3;   mPrimitive[2][76][72]=1;   mPrimitive[2][76][73]=2;   mPrimitive[2][76][74]=3;   mPrimitive[2][76][75]=2;
 mPrimitive[2][77][36]=2;   mPrimitive[2][77][71]=1;   mPrimitive[2][77][72]=3;   mPrimitive[2][77][73]=2;   mPrimitive[2][77][74]=2;   mPrimitive[2][77][75]=1;   mPrimitive[2][77][76]=2;
 mPrimitive[2][78][38]=2;   mPrimitive[2][78][39]=2;   mPrimitive[2][78][71]=3;   mPrimitive[2][78][74]=2;   mPrimitive[2][78][76]=1;   mPrimitive[2][78][77]=1;
 mPrimitive[2][79][38]=2;   mPrimitive[2][79][75]=1;   mPrimitive[2][79][76]=1;   mPrimitive[2][79][77]=3;   mPrimitive[2][79][78]=2;
 mPrimitive[2][80][39]=2;   mPrimitive[2][80][40]=2;   mPrimitive[2][80][73]=3;   mPrimitive[2][80][74]=2;   mPrimitive[2][80][75]=1;   mPrimitive[2][80][77]=1;   mPrimitive[2][80][78]=3;   mPrimitive[2][80][79]=1;
 mPrimitive[2][81][77]=1;   mPrimitive[2][81][79]=2;
 mPrimitive[2][82][37]=2;   mPrimitive[2][82][38]=2;   mPrimitive[2][82][39]=2;   mPrimitive[2][82][41]=2;   mPrimitive[2][82][74]=1;   mPrimitive[2][82][75]=1;   mPrimitive[2][82][76]=3;   mPrimitive[2][82][77]=2;   mPrimitive[2][82][78]=1;   mPrimitive[2][82][79]=2;   mPrimitive[2][82][80]=2;   mPrimitive[2][82][81]=3;
 mPrimitive[2][83][38]=2;   mPrimitive[2][83][76]=3;   mPrimitive[2][83][79]=1;   mPrimitive[2][83][80]=2;   mPrimitive[2][83][81]=3;   mPrimitive[2][83][82]=2;
 mPrimitive[2][84][38]=2;   mPrimitive[2][84][42]=2;   mPrimitive[2][84][76]=1;   mPrimitive[2][84][77]=3;   mPrimitive[2][84][78]=2;   mPrimitive[2][84][79]=1;   mPrimitive[2][84][80]=2;   mPrimitive[2][84][81]=1;   mPrimitive[2][84][82]=2;   mPrimitive[2][84][83]=3;
 mPrimitive[2][85][42]=2;   mPrimitive[2][85][77]=1;   mPrimitive[2][85][80]=2;   mPrimitive[2][85][81]=2;   mPrimitive[2][85][83]=1;   mPrimitive[2][85][84]=1;
 mPrimitive[2][86][40]=2;   mPrimitive[2][86][42]=2;   mPrimitive[2][86][43]=2;   mPrimitive[2][86][80]=1;   mPrimitive[2][86][81]=3;   mPrimitive[2][86][82]=2;   mPrimitive[2][86][83]=2;   mPrimitive[2][86][84]=1;   mPrimitive[2][86][85]=2;
 mPrimitive[2][87][40]=2;   mPrimitive[2][87][41]=2;   mPrimitive[2][87][43]=2;   mPrimitive[2][87][80]=3;   mPrimitive[2][87][81]=2;   mPrimitive[2][87][82]=3;   mPrimitive[2][87][83]=2;   mPrimitive[2][87][84]=2;   mPrimitive[2][87][86]=3;
 mPrimitive[2][88][40]=2;   mPrimitive[2][88][42]=2;   mPrimitive[2][88][44]=2;   mPrimitive[2][88][80]=1;   mPrimitive[2][88][82]=2;   mPrimitive[2][88][82]=3;   mPrimitive[2][88][84]=2;   mPrimitive[2][88][85]=2;   mPrimitive[2][88][87]=3;
 mPrimitive[2][89][42]=2;   mPrimitive[2][89][43]=2;   mPrimitive[2][89][83]=1;   mPrimitive[2][89][84]=3;   mPrimitive[2][89][85]=2;   mPrimitive[2][89][86]=1;
 mPrimitive[2][90][44]=2;   mPrimitive[2][90][45]=2;   mPrimitive[2][90][85]=3;   mPrimitive[2][90][86]=2;   mPrimitive[2][90][87]=3;   mPrimitive[2][90][88]=1;   mPrimitive[2][90][89]=2;
 mPrimitive[2][91][42]=2;   mPrimitive[2][91][43]=2;   mPrimitive[2][91][44]=2;   mPrimitive[2][91][84]=3;   mPrimitive[2][91][85]=3;   mPrimitive[2][91][86]=1;   mPrimitive[2][91][88]=1;   mPrimitive[2][91][89]=1;   mPrimitive[2][91][90]=2;
 mPrimitive[2][92][43]=2;   mPrimitive[2][92][45]=2;   mPrimitive[2][92][46]=2;   mPrimitive[2][92][86]=1;   mPrimitive[2][92][87]=3;   mPrimitive[2][92][88]=2;   mPrimitive[2][92][89]=2;   mPrimitive[2][92][90]=1;   mPrimitive[2][92][91]=2;
 mPrimitive[2][93][91]=1;   mPrimitive[2][93][92]=2;
 mPrimitive[2][94][44]=2;   mPrimitive[2][94][47]=2;   mPrimitive[2][94][88]=1;   mPrimitive[2][94][89]=3;   mPrimitive[2][94][93]=3;
 mPrimitive[2][95][45]=2;   mPrimitive[2][95][47]=2;   mPrimitive[2][95][89]=1;   mPrimitive[2][95][90]=1;   mPrimitive[2][95][91]=3;   mPrimitive[2][95][92]=2;   mPrimitive[2][95][93]=3;   mPrimitive[2][95][94]=1;
 mPrimitive[2][96][45]=2;   mPrimitive[2][96][46]=2;   mPrimitive[2][96][47]=2;   mPrimitive[2][96][48]=2;   mPrimitive[2][96][89]=3;   mPrimitive[2][96][90]=1;   mPrimitive[2][96][92]=3;   mPrimitive[2][96][93]=3;   mPrimitive[2][96][94]=3;   mPrimitive[2][96][95]=2;
 mPrimitive[2][97][91]=1;   mPrimitive[2][97][94]=2;
 mPrimitive[2][98][47]=2;   mPrimitive[2][98][48]=2;   mPrimitive[2][98][49]=2;   mPrimitive[2][98][91]=3;   mPrimitive[2][98][93]=2;   mPrimitive[2][98][94]=3;   mPrimitive[2][98][95]=1;   mPrimitive[2][98][96]=1;   mPrimitive[2][98][97]=1;
 mPrimitive[2][99][46]=2;   mPrimitive[2][99][47]=2;   mPrimitive[2][99][92]=3;   mPrimitive[2][99][93]=2;   mPrimitive[2][99][94]=3;   mPrimitive[2][99][95]=1;   mPrimitive[2][99][97]=2;
 mPrimitive[2][100][46]=2;   mPrimitive[2][100][49]=2;   mPrimitive[2][100][50]=2;   mPrimitive[2][100][92]=1;   mPrimitive[2][100][93]=2;   mPrimitive[2][100][95]=2;   mPrimitive[2][100][96]=2;   mPrimitive[2][100][98]=1;   mPrimitive[2][100][99]=2;


 //Initialization-the coefficients of primitive polynomials(5-31):
 for (i=0;i<9;i++)
     for (j=0;j<9;j++)
         for (k=0;k<9;k++)
             mPrimitive1[i][j][k]=0;

 //the coefficents of nonbinary primirive polynomials of degree m<=7 : 5
 mPrimitive1[0][1][0]=2;    mPrimitive1[0][1][1]=1;   
 mPrimitive1[0][2][0]=2;   mPrimitive1[0][2][1]=1;   mPrimitive1[0][2][2]=1;   
 mPrimitive1[0][3][0]=2;   mPrimitive1[0][3][1]=3;   mPrimitive1[0][3][3]=1;   
 mPrimitive1[0][4][0]=2;   mPrimitive1[0][4][1]=2;   mPrimitive1[0][4][2]=1;   mPrimitive1[0][4][4]=1;   
 mPrimitive1[0][5][0]=2;   mPrimitive1[0][5][1]=4;   mPrimitive1[0][5][5]=1;   

 //the coefficents of nonbinary primirive polynomials of degree m<=7 : 7
 mPrimitive1[1][1][0]=2;    mPrimitive1[1][1][1]=1;   
 mPrimitive1[1][2][0]=3;    mPrimitive1[1][2][1]=1;    mPrimitive1[1][2][2]=1;   
 mPrimitive1[1][3][0]=2;    mPrimitive1[1][3][1]=3;    mPrimitive1[1][3][3]=1;   
 mPrimitive1[1][4][0]=5;    mPrimitive1[1][4][1]=3;    mPrimitive1[1][4][2]=1;    mPrimitive1[1][4][4]=1;   

 //the coefficents of nonbinary primirive polynomials of degree m<=7 : 11
 mPrimitive1[2][2][0]=2;    mPrimitive1[2][2][1]=4;    mPrimitive1[2][2][2]=1;   
 mPrimitive1[2][3][0]=4;    mPrimitive1[2][3][1]=1;    mPrimitive1[2][3][3]=1;   

 //the coefficents of nonbinary primirive polynomials of degree m<=7 : 13
 mPrimitive1[3][2][0]=2;    mPrimitive1[3][2][1]=1;    mPrimitive1[3][2][2]=1;   
 mPrimitive1[3][3][0]=6;    mPrimitive1[3][3][1]=1;    mPrimitive1[3][3][3]=1;   

 //the coefficents of nonbinary primirive polynomials of degree m<=7 : 17
 mPrimitive1[4][2][0]=3;    mPrimitive1[4][2][1]=1;    mPrimitive1[4][2][2]=1;   
 mPrimitive1[4][3][0]=3;    mPrimitive1[4][3][1]=1;    mPrimitive1[4][3][3]=1;   

 //the coefficents of nonbinary primirive polynomials of degree m<=7 : 19
 mPrimitive1[5][2][0]=2;    mPrimitive1[5][2][1]=1;    mPrimitive1[5][2][2]=1;   
 mPrimitive1[5][3][0]=4;    mPrimitive1[5][3][1]=1;    mPrimitive1[5][3][3]=1;   

 //the coefficents of nonbinary primirive polynomials of degree m<=7 : 23
 mPrimitive1[6][2][0]=5;    mPrimitive1[6][2][1]=2;    mPrimitive1[6][2][2]=1;   
 mPrimitive1[6][3][0]=3;    mPrimitive1[6][3][1]=1;    mPrimitive1[6][3][3]=1;   

 //the coefficents of nonbinary primirive polynomials of degree m<=7 : 29
 mPrimitive1[7][2][0]=2;    mPrimitive1[7][2][1]=5;    mPrimitive1[7][2][2]=1;   
 mPrimitive1[7][3][0]=11;    mPrimitive1[7][3][1]=1;    mPrimitive1[7][3][3]=1;   

 //the coefficents of nonbinary primirive polynomials of degree m<=7 : 31
 mPrimitive1[8][2][0]=3;    mPrimitive1[8][2][1]=2;    mPrimitive1[8][2][2]=1;   
 mPrimitive1[8][3][0]=14;    mPrimitive1[8][3][1]=1;    mPrimitive1[8][3][3]=1;   

 

 //to make the pseudo-random sequence:
 mSeqLength=(int)pow(p,m)-1;
 
 for (i=0;i<m-1;i++)
 {
	 sequence[i]=0;
 }
 sequence[m-1]=1;

 
 switch (p)
 {
     case 2:
	 case 3:
		 {
			 for (i=0;i<m;i++)
                 mPrimitive[p-2][m][i]=(p-mPrimitive[p-2][m][i])%p;
             for (i=0;i<mSeqLength-m;i++)
	         {
			    sequence[i+m]=0;
                for (j=0;j<m;j++)
                    sequence[i+m]=sequence[i+m]+mPrimitive[p-2][m][j]*sequence[i+j];
                sequence[i+m]=sequence[i+m]%p;
                
	         }
		 }
		 break;
	 case 4:
		 {
			 for (i=0;i<m-1;i++)
                 ComplexSequence[i]=complex<double> (0.0,0.0);
             ComplexSequence[m-1]=complex<double> (1.0,0.0);

			 for (i=0;i<m;i++)
				 ComplexPrimitive[i]=map(mPrimitive[p-2][m][i]);
             for (i=0;i<mSeqLength-m;i++)
			 {
				 ComplexSequence[i+m]=complex<double> (0.0,0.0);
                 for (j=0;j<m;j++)
				 {
					 ComplexSequence[i+m]=ComplexSequence[i+m]+ComplexPrimitive[j]*ComplexSequence[i+j];
                     ComplexSequence[i+m]=plastic(ComplexSequence[i+m]);
				 }

				 sequence[i+m]=InverseMap(ComplexSequence[i+m]);
                				
			 } 
		 }
		 break;
	 default:
		 {
			 for (i=0;i<m;i++)
                 mPrimitive1[convert(p)][m][i]=(p-mPrimitive1[convert(p)][m][i])%p;
	         for (i=0;i<mSeqLength-m;i++)
			 {
			     sequence[i+m]=0;
				 for (j=0;j<m;j++)                  
                     sequence[i+m]=sequence[i+m]+mPrimitive1[convert(p)][m][j]*sequence[i+j];
				 sequence[i+m]=sequence[i+m]%p;
                 
				 
			 }
		 }
 }
 


}


⌨️ 快捷键说明

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