
产生。该网络由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序列等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)