怎么用线性移位寄存器生成m序列

怎么用线性移位寄存器生成m序列,第1张

伪随机序列可由线性移位寄存器

产生。该网络由r级串联的双态器件,移位脉冲产生器和模2加法器组成,下面以4级移位寄存器为例,说明伪随机序列的产生。规定移位寄存器的状态是各级从右至左的顺序排列而成的序列,这样的状态叫正状态或简称状态。反之,称移位寄存器状态是各级从左至右的次序排列而成的序列叫反状态。例如,初始状态是0001,那么an-4=0,an-3=0,an-2=0,an-1=1。如果反馈逻辑为an= an-3⊕an-4,对于初始状态为0001,经过一个时钟节拍后,各级状态自左向右移到下一级,未级输出一位数,与此同时模2加法器输出值加到移位寄存器第一级,从而形成移位寄存器的新状态,下一个时钟节拍到来又继续上述过程。未级输出序列就是伪随机序列。其产生的伪随机序列为an=100110101111000100110101111000…,这是一个周期为15的周期序列。改变反馈逻辑的位置及数量还可以得到更多不同的序列输出。

从上述例子可以得到下列结论:

1、线性移位寄存器的输出序列是一个周期序列。

2、当初始状态是0状态时,线性移位寄存器的输出全0序列。

3、级数相同的线性移位寄存器的输

当然可以,M序列产生方法较为简单,可以自己编写程序,按照生成表达式进行移位\异或 *** 作;也可以使用MatLab自带的函数或者Simulink中的模型,seqgen/commsrc等;如果要送到硬件中去的话,普通的PC只有音频输出口可用,而且是模拟的;根据你的需求选用合适的硬件,比如数字IO卡、FPGA开发板等;

方法如下:

1、 选5个移位寄存器 其实我也不知道这名字正不正确,反正就是Z分之1那个 按顺序排列好,其中第二个初始条件(initial conditions)设置为0,其他的默认为1

2、 先把这5个移位寄存器链接起来 第一个输出连第二个输入,以此类推到第五个接OUT,out这里再接一个scope以便观察信号波形

3 、选一个logical operator,并从设置中调成XOR,4输入端

4、 继续连线,XOR的输出端接第一个移位寄存器的输入端;然后把XOR输入端引到第二个移位寄存器和第三个移位寄存器的连线上,此时XOR还有3个输入端,分别像刚刚那样分别引到第三和第四,第四和第五,第五和out的线上

5 、点击运行 scope中显示的便是m序列,看吧 周期是31,1的个数比0多一个,而且没有重复波形!

以上就是关于怎么用线性移位寄存器生成m序列全部的内容,包括:怎么用线性移位寄存器生成m序列、matlab能够产生二进制伪随机序列吗(m序列)、如何在Matlab中利用已产生的m序列产生gold序列等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10123305.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存