关于m序列的构建方法

在我之前的博客中已详细介绍,请点击→\rightarrow→C语言编程实现指定阶“m序列”并通过gnuplot绘图

一、C语言编程实现任意阶m序列

1. 任意阶m序列的程序设计流程图:

2. 任意阶m序列源程序
【Msquence.c】
#include<stdio.h>
#include<stdlib.h>
#include<math.h>int main(int argc, char *argv[])  //命令行参数
{    if(argc<2)  //输出提示信息,提示如何使用{printf("\nProduce data of Msquence 2018 ygaairspace Copyright(C)\n");printf("Usage: Msquence.exe index1(Max index) index2 ... ('index' is index of primitive polynomial)");printf("Example: Msquence.exe 6 1 0");return 0;}int a[100] = {0};  //定义初始化数组aint c[101] = {0};  //定义反馈选择接入数组cint max = atoi(argv[1]); //将字符型的“最大指数”转化为整型数int temp;  //temp用于存放反馈量 int p;  //定于p为周期变量for(int i=1;i<argc;i++)   //根据指数的数值将对应c[i]置1{int count_c = atoi(argv[i]);  //将字符型的“指数”转化为整型数c[count_c] = 1;}a[max-1] = 1;p = pow(2,max)-1;  //计算周期int m[p];for(int j=0;j<p;j++) {m[j] = a[0];int count_a = max-1;temp = a[0];for(int k=1;k<max;k++)  //异或反馈量{if(c[k] == 1){temp = temp^a[count_a];count_a--;}else{count_a--;}}for(int l=0;l<(max-1);l++)  //初始值a[]位移{a[l] = a[l+1];}a[max-1] = temp;}float period = 0.0;  //时间间隔for(int n=0;n<p;n++)  //输出m序列数据{   for(int q=0;q<101;q++){period += 0.01; printf("%f\t%d\n",period,m[n]);}}
}

三、gnuplot绘制图像、验证结果

1. 4阶m序列(本原多项式:f(x)=x4+x1+x0f(x)=x^4+x^1+x^0f(x)=x4+x1+x0)
  • 绘制序列图:
  • 验证序列图:
    matlab生成的4阶m序列图:

    此程序生成的4阶m序列图:

    对比两图,图形一致。
2. 6阶m序列(本原多项式:f(x)=x6+x1+x0f(x)=x^6+x^1+x^0f(x)=x6+x1+x0)
  • 绘制序列图:
  • 验证序列图:
    matlab生成的6阶m序列图:

    此程序生成的6阶m序列图:

    对比两图,图形一致。
4. 11阶m序列(本原多项式:f(x)=x11+x2+x0f(x)=x^{11}+x^2+x^0f(x)=x11+x2+x0)
  • 绘制序列图:
  • 验证序列图:
    matlab生成的11阶m序列图:

    此程序生成的11阶m序列图:

    对比两图,图形一致。

《C》C语言编程实现任意阶数的“m序列”并通过gnuplot绘图——在知道本原多项式的前提下相关推荐

  1. 《C》C语言编程实现任意阶数的“Gold序列”并通过gnuplot绘图——在知道本原多项式的前提下

    关于Gold序列的构建方法 在我之前的博客中已详细介绍,请点击→\rightarrow→C语言编程实现指定阶"Gold序列"并通过gnuplot绘图 一.C语言编程实现任意阶Gol ...

  2. c++ 求四边形面积和周长_C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少?C语言编程题 题目:任意输入4...

    C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少? C语言编程题 题目:任意输入4 www.zhiqu.org     时间: 2020-12-07 我测试过了,四点一线,凹四边形,四边形 ...

  3. c语言离散卷积编程,实验一 离散卷积的C语言编程.ppt

    实验一 离散卷积的C语言编程.ppt 实验一 离散卷积的C语言编程实验 DSP实验室 实验性质 综合设计性实验 实验目的 1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 掌握在计算 ...

  4. 离散卷积的c语言编程实验,数字信号处理实验一离散卷积c语言编程.ppt

    数字信号处理实验一离散卷积c语言编程 实验一 离散卷积的C语言编程实验 DSP实验室 2005 实验性质 综合设计性实验 实验目的 1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 ...

  5. c语言离散卷积编程,数电实验一 离散卷积的C语言编程.ppt

    数电实验一 离散卷积的C语言编程.ppt 实验一 离散卷积的C语言编程实验,DSP实验室,实验性质,综合设计性实验,实验目的,1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 掌握在 ...

  6. 实验linux下的编程,实验四 Linux下的C语言编程;

    <实验四 Linux下的C语言编程;>由会员分享,可在线阅读,更多相关<实验四 Linux下的C语言编程;(5页珍藏版)>请在人人文库网上搜索. 1.实验四Linux 下的 C ...

  7. c语言编程高阶证书有用吗,信誉好:C语言编程高阶证什么报名流程那可以考取

    信誉好:C语言编程高阶证什么报名流程 建设及时输出专业的建设人才.2.2特点这种新式教育模式相对于其他的教育模式而言,主要具有以下几个特征:第一,这种教育方式中的主导者有所变化,在以往老师教.是行为教 ...

  8. c++ 求四边形面积和周长_C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少?...

    C语言编程题:任意输入4个点,求围成四边形的面积是多少.代码如下: #include "stdio.h" #include "math.h" void main ...

  9. C语言编程--根据麦克劳林公式计算任意角的正弦余弦

    C语言编程–根据麦克劳林公式计算任意角的正弦余弦 正弦余弦 麦克劳林公式 问题 输入格式 x ϵ 注:x 为角(单位:弧度),ϵ 为计算精度. 输出格式 y 正弦输入样例 注:y 为 x 的正弦(余弦 ...

最新文章

  1. android:clipToPadding和android:clipChildren
  2. linux sed 空间模式,整理:SED的模式空间与缓冲区及n,N,d,D,p,P,h,H,g,G,x解析...
  3. linux中的开机和关机命令
  4. LeetCode 1684. 统计一致字符串的数目(哈希)
  5. 分布式锁用Redis坚决不用Zookeeper?
  6. oracle 循环块,Oracle语句块PL/SQL循环判断
  7. python表白代码大全简单-python表白代码
  8. tensorflow无法检测到GPU设备--英伟达控制面板显示未连接英伟达GPU的显示器
  9. Qt 字体大小的计算
  10. 窗体 dialog 弹出时动画效果
  11. 网络爬虫爬取时,被封的原因以及防止被封IP策略
  12. navicat12No All Pattern Found!File Already Patched。
  13. Makefile中echo和@echo、和的区别
  14. 推荐21款最佳 HTML5 网页游戏
  15. 计算机技术包括云计算吗,云计算机技术有哪些
  16. 获取android基带版本信息,android手机的基带怎么查看?
  17. string头文件函数
  18. hour:24小时制和12小时制
  19. ASCII编码,unicode编码,utf-8编码,三者的关系与区别(山河变幻到大一统)
  20. Python123.io---星号下三角形

热门文章

  1. 大厂程序员年薪_2020互联网大厂薪资曝光:程序员薪资将会变成白菜价?
  2. 解决高德地图热力图数据导入问题
  3. Flutter 项目 app迭代更新
  4. iOS端实现节日换肤
  5. 图片选中状态 html,一款漂亮的CSS图片选中效果
  6. Python之数据分析(中位数、波动范围、极差、离差、方差、标准差)
  7. 什么是BFC?它的触发条件有哪些?
  8. PHP读取文件的常见方法
  9. python求10000以内的质数_python找出10000以内的质数_【Python学习】打印10000以内的所有素数...
  10. 未使用的运算放大器如何处理?