📄 prbs.cpp
字号:
//M序列源程序
#include<iostream.h>
#include<math.h>
#include<fstream.h>
void main()
{
int i,n,a,N,k;
int zita[8200],u[8200];
ofstream fop("PRBS.txt"); //输出数据文件PRBS.txt
cout<<"请输入n:"; //对n和幅值a赋初值
cin>>n;
cout<<"请输入幅值a:";
cin>>a;
N=int(pow(2,n)-1);
cout<<"序列周期长度为"<<N<<"\n";
fop<<"序列周期长度为"<<N<<"\n";
if(n==12||n==13)
{
cout<<"序列总长度为"<<N<<"\n";
fop<<"序列总长度为"<<N<<"\n";
}
else
{
cout<<"序列总长度为2041"<<"\n";
fop<<"序列总长度为2041"<<"\n";
}
for(i=1;i<=n;i++) //对zita[k]赋初值
{
zita[i]=1;
fop<<zita[i]<<" ";
}
switch(n)
{
case 2:
for(k=n+1;k<=2041;k++)
{
zita[k]=zita[k-n]^zita[k-1];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 3:
for(k=n+1;k<=2041;k++)
{
zita[k]=zita[k-n]^zita[k-2];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 4:
for(k=n+1;k<=2041;k++)
{
zita[k]=zita[k-n]^zita[k-3];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 5:
for(k=n+1;k<=2041;k++)
{
zita[k]=zita[k-n]^zita[k-3];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 6:
for(k=n+1;k<=2041;k++)
{
zita[k]=zita[k-n]^zita[k-5];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 7:
for(k=n+1;k<=2041;k++)
{
zita[k]=zita[k-n]^zita[k-4];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 9:
for(k=n+1;k<=2041;k++)
{
zita[k]=zita[k-n]^zita[k-5];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 10:
for(k=n+1;k<=2041;k++)
{
zita[k]=zita[k-n]^zita[k-7];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 11:
for(k=n+1;k<=2041;k++)
{
zita[k]=zita[k-n]^zita[k-9];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 8:
for(k=n+1;k<=2047;k++)
{
zita[k]=zita[k-n]^zita[k-7]^zita[k-6]^zita[k-1];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 12:
for(k=n+1;k<=N;k++)
{
zita[k]=zita[k-n]^zita[k-8]^zita[k-5]^zita[k-1];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
case 13:
for(k=n+1;k<=N;k++)
{
zita[k]=zita[k-n]^zita[k-8]^zita[k-6]^zita[k-1];
u[k]=(2*zita[k]-1)*a;
fop<<u[k]<<" ";
}
break;
default:
cout<<"请重新输入2到13之间的数:";
}
cout<<"结果在文件PRBS.txt中.";
fop.close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -