线性移位寄存器序列(m序列)之MATLAB实现

移位寄存器的结构

nnn级线性移位寄存器的结构如下图
在这里插入图片描述
当生成多项式g(x)g(x)g(x)为本原多项式时,产生的序列为m序列。例如
g(x)=x5+x2+1g(x)=x^5+x^2+1g(x)=x5+x2+1的本原多项式,初态为10000的5级m序列,其周期为25−1=312^5-1=31251=31,结构如下图所示。
在这里插入图片描述

代码

m序列的性质在此不多赘述,感兴趣的可查阅相关资料,MATLAB生成m序列的代码

function mCode = mCodeGen(polynomial,reg)% m序列产生器函数% polynomial为本原多项式次数,如对x^5+x^2+1,polynomial = [5 2 0]% reg为置寄存器初始值,也相当于PN码的初始相位,如初态为[1 0 0 0 0]时,寄存器初始状态如上图所示ntap = length(polynomial);grade = polynomial(1); % 延时级数mlen = 2^grade-1; % m序列一个周期的长度mCode = zeros(1,mlen);tap = grade+1-polynomial(1:ntap-1); % 抽头位置% 产生一个周期的PN码% 寄存器为 0 0 0 0 1 右边输出for i = 1:mlenmCode(i)=reg(1);        m = mod(sum(reg(tap)),2);reg(1:grade-1) = reg(2:grade);reg(grade) = m;end
end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/347356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

江南大学物联网工程学院数据库课程实验一作业1实验报告

前些天发现了十分不错的人工智能学习网站,通俗易懂,风趣幽默,没有广告,分享给大家,大家可以自行看看。(点击跳转人工智能学习资料) 一、开发环境 DBMS:Microsoft SQL Server 2019 (…

BCH码和m序列参数估计(梅西迭代算法求多项式的MATLAB实现)

关注公众号【逆向通信猿】试读更多内容!!! 伯利坎普迭代算法解决了BCH码译码中求错位多项式 σ ( x ) \sigma (x) σ(x)的问题,即用迭代算法求解方程组,极大地加快了译码速度。求最短线性移存器的迭代算法是梅西(J.Massey)于1969年提出的,而且指出了与BCH码迭代译码算…

scala和java像不像_关于Java和Scala同步的五件事你不知道

scala和java像不像实际上,所有服务器应用程序都需要在多个线程之间进行某种同步。 大多数同步工作是在框架级别为我们完成的,例如通过我们的Web服务器,数据库客户端或消息传递框架。 Java和Scala提供了许多组件来编写可靠的多线程应用程序。 …

江南大学物联网工程学院数据库课程实验二作业2实验报告

一、开发环境 DBMS: Microsoft SQL Server 2019 (64- bit) 可视化管理工具: Microsoft SQL Server Management Studio- 18.10 二、代码、注释及测试 第三题 --创建客户表并且添加数据 create table customers( cnum varchar(5) primary key, --将客户编号设置为主键&#x…

BPSK调制下(2,1,6)标准卷积码及打孔生成2/3、3/4、4/5、5/6删余码Viterbi译码误码率曲线图(MATLAB实现)

关注公号【逆向通信猿】更精彩!!! 目录 仿真结果卷积码原理图删余后性能比较常用的删余码仿真代码根据码率生成打孔参数(子函数)将标准(2, 1, 6)编码后的序列进行打孔,生成删余码(子函数)对接收到的序列进行反打孔,将原来打孔删除的比特进行补零(子函数)BPSK调制下(2,1,6…

使用JDK 11在Java字符串上的新方法

Java的String类似乎将在JDK 11中获得一些新方法,该方法将于2018年9月发布。 错误号 错误标题 新的String方法 描述 JDK-8200425 字符串::行 lines() “使用专用的分隔符从源字符串中懒惰地提供行的字符串实例方法。” JDK-8200378 String :: strip&#x…

江南大学物联网工程学院数据库课程实验三作业3vb.net实验报告

一、开发环境 语言环境:Microsoft.NET Framework 4.6 SDK IDE:Microsoft Visual Studio Community 2015 二、代码及配置 1、Form1 Public Class Form1Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.LoadEnd SubPrivate …

[2021.07.25更新]循环冗余校验(CRC)的MATLAB实现

欢迎同步关注公众号【逆向通信猿】 CRC校验(循环冗余校验) 在计算CRC校验的时候,发现一个网站如下 http://www.ip33.com/crc.html 于是,想自己动手实现该网站计算CRC校验的功能,网站提供的在线计算工具是以十六进制来表示输入参数和结果的,为了方便MATLAB实现,本文提供…

江南大学物联网工程学院数据库课程实验四作业4vb.net实验报告

一、开发环境 语言环境:Microsoft.NET Framework 4.6 SDK IDE:Microsoft Visual Studio Community 2015 二、代码 Imports System.Data.SqlClient Public Class Form1 连接本机数据库并获取test_one数据库中的sc表数据 Dim mybind As BindingManagerB…

fftw库在windows下的的编译和配置

目录运行环境FFTW库的下载FFTW库的生成VS2017添加fftw库步骤运行环境 Visual Studio 2017 企业版 FFTW库的下载 首先在官网上下载fftw-3.3.5-dll32或fftw-3.3.5-dll64压缩包,解压。本人已经编译生成好的库下载地址:https://download.csdn.net/downloa…

深度学习在机器视觉应用领域的最新研究综述(物联网技术应用大作业)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,无广告,忍不住分享一下给大家。(点击跳转人工智能学习资料) 摘要:机器视觉是人工智能正在快速发展的一个分支。简单说来&#xff0c…

MATLAB库函数hilbert(希尔伯特变换)的C语言实现(FFT采用FFTW库)

目录希尔伯特变换原理公式MATLAB官方帮助文档中希尔伯特变换算法常量和结构体定义C语言实现(FFTW库的float版,double版类似)希尔伯特变换原理公式 MATLAB官方帮助文档中希尔伯特变换算法 hilbert uses a four-step algorithm: Calculate the FFT of the input sequ…

netbeans7.4_NetBeans 7.4 Beta提示警告无效的异常处理

netbeans7.4有许多例子说明Java异常处理可能比首次出现时要困难得多,Josh Bloch专门将一整章的《 Effective Java》 (两个版本)专门用于异常处理。 Java中的检查异常模型 仍然 “ 有争议” 。 我很高兴看到我最近下载的NetBeans 7.4 beta有一…

在厚度仅十几微米的电池隔膜找缺陷?人工智能说,能行(人工智能应用案例)

原文链接:https://www.paddlepaddle.org.cn/support/news?actiondetail&id2104 “我们的质检要做的是在厚度仅十几微米的电池隔膜上找出所有微小缺陷,如果没有检测出来,就很可能使新能源汽车的电池在使用过程中出现问题,甚至…

MATLAB库函数unwrap(相位解卷绕)的C语言实现

什么是相位解卷绕 Q = unwrap(P) Q = unwrap(P) corrects the radian phase angles in a vector P by adding multiples of 2π when absolute jumps between consecutive elements of P are greater than or equal to the default jump tolerance of π radians. If P is a …

准确率超90%、1秒发出报警,人工智能助国网山东实现无人巡检(人工智能应用案例)

原文链接:https://mp.weixin.qq.com/s/Jh2YLY-4um79ucdHIs5NTg 众所周知,深度学习框架是人工智能的基础技术“底座”,在各大传统产业上也有着巨大的潜力尚待挖掘。5月20日,由深度学习技术及应用国家工程实验室与百度联合主办的“…

混合多云每个人都应避免的3个陷阱(第2部分)

如果您已经完全控制了内部数据中心,但又不能停止利用和支付过多的资源,那么如何期望防止这些成本转嫁到您的云策略中呢? 每天都在肆意宣传云,但每个人都应避免三个陷阱。 从云,混合云到混合多云,您被告知这…

MATLAB库函数upfirdn(分数倍采样率变换)的C语言实现【姊妹篇1基于std::vector】

upfirdn原理 yout = upfirdn(xin,h,p,q) upfirdn的功能在MATLAB官方帮助文档中说得很清楚 通过插零实现 p p p倍上采样对上采样之后的信号用给定的 h h h(通常为低通滤波器)进行滤波对滤波结果进行

基于PaddlePaddle实现高尔夫球场的遥感检测(人工智能应用案例)

原文链接:https://www.paddlepaddle.org.cn/support/news?actiondetail&id2103 1 . 背景及意义 随着高尔夫球运动在我国的兴起,关于高尔夫球场大量占用土地资源、污染环境、耗水量大且公益性差的争议越来越多。国家从2004年开始制定一系列相关政策…

在Jersey测试中模拟SecurityContext

泽西极有可能编写与泽西一起编写的REST-API集成测试。 只需扩展类JerseyTest并继续就可以了。 我遇到一个问题,我不得不模拟SecurityContext ,以便SecurityContext包含一个特殊的UserPrincipal 。 挑战在于Jersey在测试中将SecurityContext包装在自己的…