关于Gold序列的构建方法
在我之前的博客中已详细介绍,请点击 → \rightarrow →C语言编程实现指定阶“Gold序列”并通过gnuplot绘图
一、C语言编程实现任意阶Gold序列
1. 任意阶Gold序列的程序设计流程图:
2. 任意阶Gold序列源程序
【Gsquence.c】
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int main(int argc, char *argv[]) //命令行参数
{
if(argc<2) //输出提示信息,提示如何使用
{
printf("\nProduce data of Gsquence 2018 ygaairspace Copyright(C)");
printf("\n\nUsage: Gsquence index11 index12 and index21 index22...\n('index11' is index of primitive polynomial(1)\n('index21' is index of primitive polynomial(2)");
printf("\n\nExample: Gsquence 6 1 0 and 6 5 2 1 0\n");
return 0;
}
int temp1,temp2;
int mark;
int count_c1,count_c2;
int p; //定于p为周期变量
int max = atoi(argv[1]); //将字符型的“最大指数”转化为整型数
//定义初始化数组a1,a2
//定义反馈选择接入数组c1,c2
int a1[100] = {
0};
int c1[101] = {
0};
int a2[100] = {
0};
int c2[100] = {
0};
for(int i=1;i<argc;i++) //根据指数的数值将对应c[i]置1
{
if(strcmp(argv[i],"and")==0) //检测到"and"时将此时的i付给mark,并跳出循环,不再接收"and"后的数值
{
mark = i+1;
break;
}
count_c1 = atoi(argv[i]); //将字符型的“指数”转化为整型数
c1[count_c1] = 1;
}
a1[max-1