张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

一文解析Matlab如何实现移位寄存器

2018-04-26 09:28 次阅读

  本文主要介绍Matlab如何实现移位寄存器,首先介绍的是移位寄存器的原理及作用,其次介绍了m序列的生成原理及m序列的matlab 仿真实现,最后介绍了Matlab如何实现移位寄存器的代码。

  移位寄存器的原理及作用

  1、移位寄存器原理

  移位寄存器不仅能寄存数据,而且能在时钟信号的作用下使其中的数据依次左移或右移。

  四位移位寄存器的原理图如图所示。F0、F1、F2、F3是四个边沿触发的D触发器,每个触发器的输出端Q接到右边一个触发器的输入端D。因为从时钟信号CP的上升沿加到触发器上开始到输出端新状态稳定地建立起来有一段延迟时间,所以当时钟信号同时加到四个触发器上时,每个触发器接收的都是左边一个触发器中原来的数据(F0接收的输入数据D1)。寄存器中的数据依次右移一位。

  一文解析Matlab如何实现移位寄存器

  2、移位寄存器作用

  移位寄存器是一种存储器,存在里边的数据可以从低位向高位移动或从高位向低位移动。例如一个8位的移位寄存器,存在其中的数据为11001010,如果向左(高位)移动一次,就变成1001010X,原来的最高位的1移出,最低位的X可以是新移入的数据,也可以是0(不同型号的移位寄存器对此有不同的规定)。

  m序列的定义及原理

  1、m序列的定义

  m序列是由n级线性移位寄存器产生的周期为1的码序列,是最长线性移位寄存器序列的简称。

  关于m序列的基本生成原理网上介绍很多了,其主要步骤就是寄存器的移位和异或运算。即:特定位置寄存器(由反馈系数决定)的值取出来进行异或运算(也就是或者全部相加后模2的运算),寄存器中的值往输出端移位,最后一位输出,第一个寄存器放刚才异或运算中得到的值。

  2、m 序列的产生原理

  产生 m 序列的线性反馈移位寄存器由寄存器加上反馈产生,n 阶线性移位寄存器的产生原理框图如图 1 所示。

  一文解析Matlab如何实现移位寄存器

  图 1 中 a0,a1, … ,an-1 为 n 个移位寄存器某时刻的状态,c0,c1,… ,cn 为移位寄存器的反馈系数,对应位置 ci 等于 1 表示有反馈,等于 0 表示无反馈,加法器采用模 2 相加。

  反馈系数决定了反馈移位寄存器产生的 m 序列码型,对于图 1 中反馈移位寄存器,反馈逻辑为 c0,c1,…,cn,则

  {an}=c1an-1+c2an-2+…+cna0

  只要反馈逻辑 ci 确定,寄存器产生的序列就确定了。n 级移位寄存器产生的伪随机序列,其最长周期为 2n-1。

  生成 m 序列的首要问题是要求得移位寄存器的特征多项式, 特征多项式必须为本原多项式, 本原多项式可以用matlab 软件编程求得,也可以直接查表获得,

  m序列生成函数的MATLAB代码

  一文解析Matlab如何实现移位寄存器

  m 序列的 matlab 仿真实现

  用 matlab 编程求本原多项式

  本仿真中采用四级移位寄存器, 产生周期为 15 的 m 序列。 对应 n=4 的 m 序列的本原多项式求解程序如下:

  n=4;

  x=gfprimfd(n,‘all’);

  for i=1:size(x);

  gfpretty(x(i,:))

  end;

  运行程序,得到 n=4 时的所有本原多项式如下:

  x =

  1 1 0 0 1

  1 0 0 1 1

  1+x+x4,1+x3+x4

  用 simulink 搭建 m 序列产生器

  找到了本原多项式,可以搭建仿真模型。 此处选择 3.1 节获得的第二种本原多项式进行仿真,反馈分别为 1 0 0 1 1搭建的仿真模型如图 2 所示。

  一文解析Matlab如何实现移位寄存器

  图 2 中采用四个长度为 1 的 Queue 充当移位寄存器,构 成 15 位 m 序 列 发 生 器。 它 能 与 matlab 中 得 PN SequeueGenerator 模块产生相同的 PN 码,PN Sequeue Generator 的初始设置为 Generator polynomial [1 0 0 1 1 ],Initial states[0 0 01]。 对应的图 2 中移位寄存器模型的反馈系数为 c0=1,c1=0,c2=0,c3=1,c4=1,寄存器初始状态为 a0=1,a1=a2=a3=0。2.2.2 第一个寄存器 Queue 的 Trigger Type 设为 Either edge,其余为 Rising edge。

  后两个队列输出进行 XOR 运算, 然后反馈给第一个移位寄存器的输入,对应于反馈系数 1 0 0 1 1 中的三个 1。

  一文解析Matlab如何实现移位寄存器

  运行仿真模块,得到的伪随机序列如图 3 所示。 产生的m 序列取其一个完整的周期,长度为 15,码型为 1 0 0 0 1 0011010111 。该 m 序列波形与 PN Sequeue Generator 模块产生的波形一 致,PN Sequeue Generator 模 块 产 生 的 m 序列的相位必须手动设置,而该仿真模型产生的为随机序列的相位可以通过图 2 中来自 In1 的脉冲进行自动调整,具有很大的灵活性。

  m序列产生函数

  function [mseq] = m_sequence (fbconnection);

  n = length (fbconnection);

  N = 2ˆn - 1;

  register =[ones (1,n-1) 1];%定义移位寄存器的初始状态

  mseq(1)= register(n)

  for i = 2:N

  newregister(1)= mod(sum(fbconnection. *register),2);

  for j = 2:n

  newregister(j)= register(j-1)

  end;

  register = newregister;

  mseq(i)= register(n)

  end;

  存储为m_sequence.m

  主函数:

  clc;

  clear all;

  fbconnection = [0 0 1 0 1];

  mseq = m_sequence(fbconnection);

  存储为mxulie.m

  输出结果为:mseq =

  Columns 1 through 21

  1 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0

  Columns 22 through 31

  0 1 0 0 1 0 1 1 0 0

收藏 人收藏
分享:

评论

相关推荐

龙格-库塔法的MATLAB代码及含义的详细资料说明

本文档的主要内容详细介绍的是龙格-库塔法的MATLAB代码及含义的详细资料说明。
发表于 07-17 17:02 9次 阅读
龙格-库塔法的MATLAB代码及含义的详细资料说明

信号发生器从MATLAB,Signal View或Signal Studio生成信号的最佳工具是什么?

2013年1月30日*信号发生器基础知识和新应用网络广播*的问题与解答问题:信号发生器从MATLAB,Signal View或Signal Stu...
发表于 07-17 10:37 5次 阅读
信号发生器从MATLAB,Signal View或Signal Studio生成信号的最佳工具是什么?

如何实现VisualC++与MATLAB接口进行混合编程详细方法说明

本文首先论述了VisualC++和Matab混合编程的重要性和优点,介绍了在Visualc++中利用....
发表于 07-16 17:09 14次 阅读
如何实现VisualC++与MATLAB接口进行混合编程详细方法说明

MATLAB的经典代码资料免费下载

本文档的主要内容详细介绍的是MATLAB的经典代码资料免费下载。
发表于 07-16 17:08 13次 阅读
MATLAB的经典代码资料免费下载

matlab学习

我想问问matlab中的simulink怎么仿真机械臂的PLC控制实现 ...
发表于 07-16 10:55 159次 阅读
matlab学习

探索并行领域—并行设计行业的三个实例介绍

摩尔定律的影响已经开始减弱,但人们对性能的需求并没有减弱。为此,整个行业似乎已经踏上了一条开发多核处理器及其更庞大的同类...
发表于 07-16 08:49 5次 阅读
探索并行领域—并行设计行业的三个实例介绍

8位串入、并出移位寄存器

时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0, Q0 是两个数据输入端(DSA 和 D....
发表于 07-15 10:23 66次 阅读
8位串入、并出移位寄存器

移位寄存器串入并出与并入串出

并入串出形式的移位寄存器接法,通过下图所示D1-D4并行输入段接收4位外部并行数据,而Q为串行输出的....
发表于 07-15 10:10 58次 阅读
移位寄存器串入并出与并入串出

如何在项目中使用移位寄存器

 第一个时钟周期将其加载到锁存器A.然后,锁存器的输出具有加载到寄存器中的值。下一个时钟周期设置第二....
发表于 07-15 10:02 43次 阅读
如何在项目中使用移位寄存器

移位寄存器的种类与作用

移位寄存器是由相同的寄存单元所组成。一般说来,寄存单元的个数就是移位寄存器的位数。为了完成不同的移位....
发表于 07-15 09:52 50次 阅读
移位寄存器的种类与作用

移位寄存器的原理

移位寄存器按照不同的分类方法可以分为不同的类型。 如果按照移位寄存器的移位方向来进行分类, 可以分为....
发表于 07-15 09:38 54次 阅读
移位寄存器的原理

vLUT表:写 读地址输入、数据输出 入这里面包括

最近的项目逻辑资源不够,因为应用需求,要一组256个四输入的模块,后来改吧改吧,改成了一组165个6....
的头像 FPGA之家 发表于 07-13 09:24 137次 阅读
vLUT表:写 读地址输入、数据输出 入这里面包括

如何使用MATLAB进行水准网经典平差系统的开发和应用

一般情况下间接平差模型在平差前都给出参数的近似值, 由于水准网观测值总能够由参数近似表示,在平差前可....
发表于 07-11 17:37 33次 阅读
如何使用MATLAB进行水准网经典平差系统的开发和应用

MATLAB教程之经典MATLAB矩阵及其运算的详细资料说明

本文档的主要内容详细介绍的是MATLAB教程之经典MATLAB矩阵及其运算的详细资料说明包括了:1 ....
发表于 07-11 16:14 23次 阅读
MATLAB教程之经典MATLAB矩阵及其运算的详细资料说明

MATLAB教程之经典MATLAB文件操作的详细资料说明

本文档的有内容详细介绍的是MATLAB教程之经典的MATLAB文件操作详细资料说明包括了:1 文件的....
发表于 07-11 16:14 27次 阅读
MATLAB教程之经典MATLAB文件操作的详细资料说明

基于TMS320DM642Matlab的实时图像处理系统设计

发表于 07-11 10:43 180次 阅读
基于TMS320DM642Matlab的实时图像处理系统设计

DSP芯片与MATLAB通信的方法

DSP芯片与MATLAB通信的方法
发表于 07-10 11:51 315次 阅读
DSP芯片与MATLAB通信的方法

MATLAB电机仿真精华50例

发表于 07-09 22:04 248次 阅读
MATLAB电机仿真精华50例

labview的matlab节点能否调用互相调用的matlab程序

labview的matlab节点能否调用互相调用的matlab程序...
发表于 07-09 19:54 64次 阅读
labview的matlab节点能否调用互相调用的matlab程序

双闭环调速系统调节器设计与Matlab仿真验证的设计资料说明

由课程设计任务书的内容可知,本次课程设计要求采用双闭环调速系统,对不可逆生产设备进行控制,以实现稳态....
发表于 07-09 17:18 35次 阅读
双闭环调速系统调节器设计与Matlab仿真验证的设计资料说明

锐化图像的MATLAB实现

发表于 07-08 18:09 425次 阅读
锐化图像的MATLAB实现

车辆操纵动力学PDF版电子书免费下载

该书基于车辆动力学理论,为读者建立了完整的动力学方程 为车辆关键部件的设计提供了详细的理解。在MAT....
发表于 07-08 08:00 34次 阅读
车辆操纵动力学PDF版电子书免费下载

有关MATLAB编程插值的学习教程免费下载

本文档的主要内容详细介绍的是有关MATLAB编程插值的学习教程免费下载。实验目的1、了解插值的基本内....
发表于 07-08 08:00 39次 阅读
有关MATLAB编程插值的学习教程免费下载

如何提高Labview调用Matlab script的运行速度?

我用labview调用在matlab已经训练好的神经网络模型,但是在while循环下,每一次循环都要花费30-40ms,这个循环速度达不到我的需求...
发表于 07-07 21:05 269次 阅读
如何提高Labview调用Matlab script的运行速度?

请问谁有MATLAB脚本进行数字过滤吗?

美好的一天,我有MSO7054示波器,我需要用于PC的软件,我可以在我的信号实时/或暂停模式下应用数字滤波器。 也许有人有MA...
发表于 07-05 07:39 403次 阅读
请问谁有MATLAB脚本进行数字过滤吗?

如何相机全向移动足球机器人的鲁棒方差控制详细方法说明

针对存在参数不确定性及不确定性扰动的全向移动足球机器人模型, 提出具有方差约束和闭环极点约束的鲁棒控....
发表于 07-04 16:58 44次 阅读
如何相机全向移动足球机器人的鲁棒方差控制详细方法说明

工程师/科学家喜欢使用MATLAB开发产品的7大理由

工程师和科学家信任 MATLAB,无论是将宇宙飞船发送到冥王星,还是匹配接受器官移植的患者与器官捐献....
的头像 电子发烧友网 发表于 07-04 09:51 1722次 阅读
工程师/科学家喜欢使用MATLAB开发产品的7大理由

如何使用MATLAB构建风险评价数学模型

通过对金属切削机床在每种危险状态下可能对人产生伤害的严重度、人们暴露于危险区的频率和危险出现的概率等....
发表于 07-02 17:41 34次 阅读
如何使用MATLAB构建风险评价数学模型

Matlab与系统控制simulink仿真的PPT课件合集免费下载

本文档的主要内容详细介绍的是Matlab与系统控制simulink仿真的PPT课件合集免费下载包括了....
发表于 07-02 08:00 51次 阅读
Matlab与系统控制simulink仿真的PPT课件合集免费下载

matlab机器人避障的程序免费下载

本文档的主要内容详细介绍的是matlab机器人避障的程序免费下载。
发表于 07-02 08:00 37次 阅读
matlab机器人避障的程序免费下载

使用Matlab仿真环境开发融合MPPT功能的光伏阵列通用仿真模型

基于光伏模块直流物理模型,在 matlab 仿真环境下,开发了光伏阵列通用仿真模型。利用该模型,可以....
发表于 07-01 08:00 59次 阅读
使用Matlab仿真环境开发融合MPPT功能的光伏阵列通用仿真模型

有哪些场合会用到8PSK?如何仿真8PSK?

8PSK调制方式是常用的高阶调制方式,在卫星通信中经常使用。不过考虑到实际使用中会存在相位模糊度,因....
的头像 算法工匠 发表于 06-30 11:48 246次 阅读
有哪些场合会用到8PSK?如何仿真8PSK?

MATLAB的三十二个图形应用实例程序免费下载

本文档的主要内容详细介绍的是MATLAB的三十二个图形应用实例程序免费下载包括了:实例1:三角函数曲....
发表于 06-28 15:37 52次 阅读
MATLAB的三十二个图形应用实例程序免费下载

MATLAB的图形处理多个实用程序实例免费下载

本文档的主要内容详细介绍的是MATLAB的图形处理多个实用程序实例免费下载。
发表于 06-28 15:37 43次 阅读
MATLAB的图形处理多个实用程序实例免费下载

如何使用Matlab进行DSP程序的快速设计

在 Matlab/Simulink 环境下,用图形化的方式设计 DSP 程序,可简化程序的设计。利用....
发表于 06-27 08:00 66次 阅读
如何使用Matlab进行DSP程序的快速设计

使用MATLAB对蛇形棋桌游进行仿真的程序和资料免费下载

本文档的主要内容详细介绍的是使用MATLAB对蛇形棋桌游进行仿真的程序和资料免费下载。
发表于 06-27 08:00 76次 阅读
使用MATLAB对蛇形棋桌游进行仿真的程序和资料免费下载

MATLAB的三个仿真实验练习题资料免费下载

本文档的主要内容详细介绍的是MATLAB的三个仿真实验练习题资料免费下载包括了:实验一: MATLA....
发表于 06-27 08:00 68次 阅读
MATLAB的三个仿真实验练习题资料免费下载

数字锁相放大器原理及其Matlab仿真的资料说明

微弱信号检测技术是一门新兴的科学技术,广泛地应用于声学、光学、生物学等领域 , 用 以 检测 这 些....
发表于 06-26 08:00 64次 阅读
数字锁相放大器原理及其Matlab仿真的资料说明

自抗扰控制ADRC算法的MATLAB仿真程序资料免费下载

本文档的主要内容详细介绍的是自抗扰控制ADRC算法的MATLAB仿真程序资料免费下载。
发表于 06-25 08:00 66次 阅读
自抗扰控制ADRC算法的MATLAB仿真程序资料免费下载

CVI与MATLAB接口技术的详细资料研究

详细阐述了当今最为流行的面向对象的可视化编程工具Visual C++ 、虚拟仪器设计平台LabVIE....
发表于 06-20 17:16 52次 阅读
CVI与MATLAB接口技术的详细资料研究

七个自动控制的实验指导书资料免费下载

本文档的主要内容详细介绍的是七个自动控制的实验指导书资料免费下载包括了:实验一 典型系统的时域响应和....
发表于 06-20 08:00 52次 阅读
七个自动控制的实验指导书资料免费下载

数字语音处理及MATLAB仿真PDF电子书免费下载

全书共12章,第1章至第7章是基本理论部分,包括语音信号的数字模型、语音信号的短时时域分析和频域分析....
发表于 06-18 16:17 48次 阅读
数字语音处理及MATLAB仿真PDF电子书免费下载

如何使用Matlab进行船舶静水力性能数值计算的资料说明

本文提出一种基于Matlab的船舶静水力性能数值计算方法, 该方法完全独立于传统的表格算法, 方便快....
发表于 06-14 16:39 55次 阅读
如何使用Matlab进行船舶静水力性能数值计算的资料说明

如何使用MATLAB进行水力裂缝扩展数值模拟技术的详细资料说明

水力裂缝扩展数值模拟是水力压裂设计的重要内容,可以用来评价压裂效果,降低施工风险,为节省计算时间目前....
发表于 06-14 16:39 71次 阅读
如何使用MATLAB进行水力裂缝扩展数值模拟技术的详细资料说明

Matlab的简介和使用及Matlab与数值分析相关内容说明

Matlab软件是一个功能非常强大的数学软件。 包括:科学计算、符号计算、图形处理等功能。 Mat....
发表于 06-13 16:24 42次 阅读
Matlab的简介和使用及Matlab与数值分析相关内容说明

用MATLAB程序实现基于势场法的路径规划资料免费下载

本文档的主要内容详细介绍的是用MATLAB程序实现基于势场法的路径规划资料免费下载。
发表于 06-13 08:00 38次 阅读
用MATLAB程序实现基于势场法的路径规划资料免费下载

如何使用Matlab进行IIR数字滤波器的设计与仿真资料说明

数字滤波器在数字信号处理中起着非常重要的作用,用于信号的过滤、检测与参数的估计等方面,是使用最为广泛....
发表于 06-10 17:07 104次 阅读
如何使用Matlab进行IIR数字滤波器的设计与仿真资料说明

如何使用MATLAB和Simulink开发STM32嵌入式应用的详细资料说明

本文档的主要内容详细介绍的是如何使用MATLAB和Simulink开发STM32嵌入式应用的详细资料....
发表于 06-10 08:00 61次 阅读
如何使用MATLAB和Simulink开发STM32嵌入式应用的详细资料说明

使用MATLAB实现分枝定界法求解整数规划的详细资料说明

分支定界法是一种求解离散最优化问题的计算分析方法。它是由Land Doig和Dakin等人在20世纪....
发表于 06-03 08:00 106次 阅读
使用MATLAB实现分枝定界法求解整数规划的详细资料说明

如何使用小波变换进行数字水印的嵌入与提取MATLAB代码免费下载

本文档的主要内容详细介绍的是如何使用小波变换进行数字水印的嵌入与提取MATLAB代码免费下载。
发表于 05-31 08:00 57次 阅读
如何使用小波变换进行数字水印的嵌入与提取MATLAB代码免费下载

MATLAB的图形功能详细资料说明

本文档的主要内容详细介绍的是MATLAB的图形功能详细资料说明。 MATLAB的应用 MATLA....
发表于 05-29 16:51 73次 阅读
MATLAB的图形功能详细资料说明

永磁同步电动机变频调速系统及其控制PDF电子书免费下载

本书内容分为基础篇、控制篇、应用篇和进阶篇。从数学模型、仿真建模和应用实例三个层面,从简单实用的角度....
发表于 05-27 08:00 179次 阅读
永磁同步电动机变频调速系统及其控制PDF电子书免费下载

当前流行的各种虚拟仪器开发环境的特点有什么区别

本文对当前流行的各种虚拟仪器开发环境的特点进行了分析比较,得出对于虚拟仪器的开发而言,往往需要根据开....
发表于 05-24 17:07 95次 阅读
当前流行的各种虚拟仪器开发环境的特点有什么区别

MATLAB的可视化仿真工具Simulink入门指南资料免费下载

Simulink是一个用于多领域仿真和基于模型设计的框图环境。它支持系统级设计、仿真、自动代码生成以....
发表于 05-24 08:00 189次 阅读
MATLAB的可视化仿真工具Simulink入门指南资料免费下载

背面夹缝曝光的光学模拟及其实验的详细资料说明

背面夹缝曝光是利用光学衍射效应来制备三维微结构的新方法.采用 Matlab对曝光时间和夹缝对三维SU....
发表于 05-24 08:00 70次 阅读
背面夹缝曝光的光学模拟及其实验的详细资料说明

如何使用MATLAB进行高压变频器的建模与仿真

详细阐述了单元串联多电平高压变频器的工作原理、系统结构以及脉冲控制的策略 。通过对典型的多电平 PW....
发表于 05-23 08:00 117次 阅读
如何使用MATLAB进行高压变频器的建模与仿真

Matlab 张量工具箱源代码资料合集免费下载

本文档的主要内容详细介绍的是Matlab 张量工具箱源代码资料合集免费下载。
发表于 05-21 08:00 63次 阅读
Matlab 张量工具箱源代码资料合集免费下载

MATLAB 64位C语言和C++编译器应用程序免费下载

本文档的主要内容详细介绍的是MATLAB 64位C语言和C++编译器应用程序免费下载。
发表于 05-21 08:00 71次 阅读
MATLAB 64位C语言和C++编译器应用程序免费下载

Matlab揭秘PDF电子书免费下载

《MATLAB 揭秘》为学习这种功能强大的数学计算工具提供了高效的、启发性的方法。 本书使用简单易行....
发表于 05-17 17:36 83次 阅读
Matlab揭秘PDF电子书免费下载

二维Logistic分数阶微分方程的离散化过程的详细资料说明

针对二维Logistic 分数阶微分方程的求解问题,引进了一种离散化方法对其进行离散求解。首先,将二....
发表于 05-17 16:38 67次 阅读
二维Logistic分数阶微分方程的离散化过程的详细资料说明