《C》C语言编程实现任意阶数的“m序列”并通过gnuplot绘图——在知道本原多项式的前提下
关于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绘图——在知道本原多项式的前提下相关推荐
- 《C》C语言编程实现任意阶数的“Gold序列”并通过gnuplot绘图——在知道本原多项式的前提下
关于Gold序列的构建方法 在我之前的博客中已详细介绍,请点击→\rightarrow→C语言编程实现指定阶"Gold序列"并通过gnuplot绘图 一.C语言编程实现任意阶Gol ...
- c++ 求四边形面积和周长_C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少?C语言编程题 题目:任意输入4...
C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少? C语言编程题 题目:任意输入4 www.zhiqu.org 时间: 2020-12-07 我测试过了,四点一线,凹四边形,四边形 ...
- c语言离散卷积编程,实验一 离散卷积的C语言编程.ppt
实验一 离散卷积的C语言编程.ppt 实验一 离散卷积的C语言编程实验 DSP实验室 实验性质 综合设计性实验 实验目的 1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 掌握在计算 ...
- 离散卷积的c语言编程实验,数字信号处理实验一离散卷积c语言编程.ppt
数字信号处理实验一离散卷积c语言编程 实验一 离散卷积的C语言编程实验 DSP实验室 2005 实验性质 综合设计性实验 实验目的 1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 ...
- c语言离散卷积编程,数电实验一 离散卷积的C语言编程.ppt
数电实验一 离散卷积的C语言编程.ppt 实验一 离散卷积的C语言编程实验,DSP实验室,实验性质,综合设计性实验,实验目的,1 了解和认识常用的各种信号: 2 掌握卷积的定义和计算方法: 3 掌握在 ...
- 实验linux下的编程,实验四 Linux下的C语言编程;
<实验四 Linux下的C语言编程;>由会员分享,可在线阅读,更多相关<实验四 Linux下的C语言编程;(5页珍藏版)>请在人人文库网上搜索. 1.实验四Linux 下的 C ...
- c语言编程高阶证书有用吗,信誉好:C语言编程高阶证什么报名流程那可以考取
信誉好:C语言编程高阶证什么报名流程 建设及时输出专业的建设人才.2.2特点这种新式教育模式相对于其他的教育模式而言,主要具有以下几个特征:第一,这种教育方式中的主导者有所变化,在以往老师教.是行为教 ...
- c++ 求四边形面积和周长_C语言编程题 题目:任意输入4个点,求围成四边形的面积是多少?...
C语言编程题:任意输入4个点,求围成四边形的面积是多少.代码如下: #include "stdio.h" #include "math.h" void main ...
- C语言编程--根据麦克劳林公式计算任意角的正弦余弦
C语言编程–根据麦克劳林公式计算任意角的正弦余弦 正弦余弦 麦克劳林公式 问题 输入格式 x ϵ 注:x 为角(单位:弧度),ϵ 为计算精度. 输出格式 y 正弦输入样例 注:y 为 x 的正弦(余弦 ...
最新文章
- android:clipToPadding和android:clipChildren
- linux sed 空间模式,整理:SED的模式空间与缓冲区及n,N,d,D,p,P,h,H,g,G,x解析...
- linux中的开机和关机命令
- LeetCode 1684. 统计一致字符串的数目(哈希)
- 分布式锁用Redis坚决不用Zookeeper?
- oracle 循环块,Oracle语句块PL/SQL循环判断
- python表白代码大全简单-python表白代码
- tensorflow无法检测到GPU设备--英伟达控制面板显示未连接英伟达GPU的显示器
- Qt 字体大小的计算
- 窗体 dialog 弹出时动画效果
- 网络爬虫爬取时,被封的原因以及防止被封IP策略
- navicat12No All Pattern Found!File Already Patched。
- Makefile中echo和@echo、和的区别
- 推荐21款最佳 HTML5 网页游戏
- 计算机技术包括云计算吗,云计算机技术有哪些
- 获取android基带版本信息,android手机的基带怎么查看?
- string头文件函数
- hour:24小时制和12小时制
- ASCII编码,unicode编码,utf-8编码,三者的关系与区别(山河变幻到大一统)
- Python123.io---星号下三角形
热门文章
- 大厂程序员年薪_2020互联网大厂薪资曝光:程序员薪资将会变成白菜价?
- 解决高德地图热力图数据导入问题
- Flutter 项目 app迭代更新
- iOS端实现节日换肤
- 图片选中状态 html,一款漂亮的CSS图片选中效果
- Python之数据分析(中位数、波动范围、极差、离差、方差、标准差)
- 什么是BFC?它的触发条件有哪些?
- PHP读取文件的常见方法
- python求10000以内的质数_python找出10000以内的质数_【Python学习】打印10000以内的所有素数...
- 未使用的运算放大器如何处理?