我是靠谱客的博主 玩命宝贝,这篇文章主要介绍利用N级移位寄存器产生M序列,现在分享给大家,希望可以做个参考。

1.1问题描述

编程产生一组伪随机信号(M序列),它的幅值和长度可随意调整,将产生的M序列信号存入数据文件。

2.2 方法思路

伪随机信号PRBS亦称M序列可利用下图3-3-9所示的n级移位寄存器来产生。
在这里插入图片描述
本次采用的是7级移位寄存器,根据下表3-3-3可知N1取4,设采样时间为1,M序列的周期为2^7-1=127。
在这里插入图片描述
根据以下图3-3-10所示的流程图,即可产生M序列。
在这里插入图片描述

3.3 实验结果

在这里插入图片描述
在这里插入图片描述

2.4 实验代码(Matlab)

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
%%%采用伪随机信号发生器生成M序列 %%%状态递推公式为:Y(k)=Y(k-n)模二和Y(k-N1) %%%本次选取7级移位寄存器即n=7,由课本上表3-3-3可知此时N1取4时,可以产生周期为2^7-1=127的M序列(采样时刻为1) y=[1 1 0 1 1 0 1];%%%初始化7级移位寄存器,保证其初值不全为0 n=length(y);%%%获得移位寄存器的级数 T=2^n-1;%%%M序列的周期 %%%%%采用递推公式生成M序列 for i = 1:1:T Y(i)=y(7);%%%第n级的输出即是M序列的两种状态 M(i)=mod(y(7)+y(4),2);%第n级与第N1级模二加结果,此时分别为74 %%%%移位寄存器工作原理%%% y(7)=y(6); y(6)=y(5); y(5)=y(4); y(4)=y(3); y(3)=y(2); y(2)=y(1); y(1)= M(i) end figure stairs(Y,'r'); %画出周期为127的M序列 title('周期为127的M序列'); ylim([-0.2 1.2]) %%%%%%利用M序列生成可以用于实际对象的伪随机信号X%%%%%% a=1;%随机信号的幅值 for i=1:1:T if Y(i)==1 X(i)=a; else X(i)=-a; end end figure stairs(X,'b'); %画出伪随机信号 title('幅值为1的伪随机信号'); ylim([-1.2 1.2]) xlswrite('D:桌面M序列.xlsx',X','sheet1');

最后

以上就是玩命宝贝最近收集整理的关于利用N级移位寄存器产生M序列的全部内容,更多相关利用N级移位寄存器产生M序列内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(97)

评论列表共有 0 条评论

立即
投稿
返回
顶部