版权声明:本文为CSDN博主「laomai」的原创文章

原文链接:https://blog.csdn.net/laomai/article/details/24342493

找了好多代码,这个步骤详细可以傻瓜操作,存着备用~

实验环境为matlab2013b

1、首先编写一个mseq.m文件,内容为:

function[mseq]=m_sequence(fbconnection)

n=length(fbconnection);

N=2^n-1;

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

mseq(1)=register(n); %m序列的第一个输出码元

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

2、在matlab中打开这个文件

3、在matlab的命令行窗口中运行

primpoly(7,‘all’)

这个命令的目的是得到7阶M序列的所有本原多项式,如果想得到其他阶的m序列,自行修改数字7即可。

4、得到的结果为

Primitive polynomial(s) =

D7+D1+1

D7+D3+1

D7+D3+D2+D1+1

D7+D4+1

D7+D4+D3+D2+1

D7+D5+D2+D1+1

D7+D5+D3+D1+1

D7+D5+D4+D3+1

D7+D5+D4+D3+D2+D1+1

D7+D6+1

D7+D6+D3+D1+1

D7+D6+D4+D1+1

D7+D6+D4+D2+1

D7+D6+D5+D2+1

D7+D6+D5+D3+D2+D1+1

D7+D6+D5+D4+1

D7+D6+D5+D4+D2+D1+1

D7+D6+D5+D4+D3+D2+1

ans =

131

137

143

145

157

167

171

185

191

193

203

211

213

229

239

241

247

253

5、输入mseq([1 0 0 0 0 0 1])

6、便可得到一个127位的m序列,整理之后为

1000000111111101010

1001100111011101001

0110001101111011010

1101100100100011100

0010111110010101110

0110100010011110001

0100001100000

说明,

1 0 0 0 0 0 1这个输入参数的物理意义为各寄存器的初始状态,其数学意义是所选用的本原多项式D7+D1+1中D1到D7的各个系数。读者可以试试自行选用其他本原多项式,得到不同的m序列。

例如如果选用D7+D3+1,则只需调用

mseq([0 0 1 0 0 0 1]),得到的m序列为

1000000100100110100

1111011100001111111

0001110110001010010

1111101010100001011

0111100111001010110

0110000011011010111

0100011001000

mseq matlab,Matlab生成M序列相关推荐

  1. 在matlab中生成m序列

    实验环境为matlab2013b 1.首先编写一个mseq.m文件,内容为: function[mseq]=m_sequence(fbconnection)  n=length(fbconnectio ...

  2. matlab生成m序列的函数(本原多项式产生所有m序列)

    后期更新:matlab中产生m序列最简单的方法是调用idinput()函数,关于idinput()的具体用法可以在matlab中查看说明,这里举两个简单的例子: src = idinput(8191, ...

  3. 不同周期m序列(伪随机序列)的matlab详细生成方法

    不同周期m序列的matlab详细生成方法 m序列是由线性反馈移存器产生的伪随机序列,而线性反馈移存器产生m序列的充要条件为:其特征多项式为本原多项式.只要找到本原多项式,就能由它构成m序列.但本原多项 ...

  4. matlab伪随机码,Matlab生成M序列的伪随机码

    图3.5 线性反馈移位寄存器 MATLAB生成M序列伪随机码函数如下: % 在MATLAB命令窗口输入以下: % fbconnection=[0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 ...

  5. matlab生成m序列的方法

    引言 m序列属于伪随机序列的一种.在通信领域应用较为广泛.由于其具有很好的伪噪声特性,因此在保密通信中,可以将其应用在高可靠性的保密通道中.另外,雷达领域也有广泛应用,伪随机相位编码脉冲/连续波雷达中 ...

  6. 关于matlab生成M序列的代码

    #关于matlab生成M序列的代码 参考了相关书籍和网上matlab生产m序列的代码,我发现和书上的定义有些不一样(系统辨识原理及其运用-李彦俊)于是我就自己学了一个m文件来供大家参考.使用起来简单方 ...

  7. 多径衰落信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列、Gold序列和正交Gold序列)

    接上一节 单径Rayleigh信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列.Gold序列和正交Gold序列) 下面再来看一下m序列与正交Gold序列在多径衰落信道下的性能. ...

  8. 单径Rayleigh信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列、Gold序列和正交Gold序列)

    接上一节 高斯信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列.Gold序列和正交Gold序列) 下面再来看一下m序列与正交Gold序列在单径Rayleigh衰落信道下的性能. ...

  9. matlab单位冲击序列代码,matlab产生单位冲击序列 matlab单位冲激函数代码

    如何用matlab生成单位阶跃序列信号u(k 5)及单位冲击序列信号δ(k 5)? matlab里不是有专门的函数生成单位阶跃信号的吗,然后将信号进行移动. MATLAB中如何定义单位脉冲函数? 单位 ...

最新文章

  1. Tomcat原理详解和各种集群的实现
  2. neo4j 机器学习_neo4j(图数据库)是什么?
  3. 那些常见的C++、Qt基础面试题
  4. 每日一题(15)—— static有什么用途
  5. 免费流量监控软件,最大可同时监控1000台电脑
  6. [导入]XI 常用的URL
  7. 由查找算法工程的类图分析组合模式
  8. 马哥学习笔记十八——MySQL进阶之日志管理
  9. Atitit.木马病毒 webftp 的原理跟个设计
  10. 东大成贤c语言试卷,香气四溢的东大成贤
  11. ARP报文的存入条件和回复条件
  12. zabbix与nagios对比
  13. vue3 setup中获取地址栏参数
  14. Tony.SerialPorts.RS232串口模块(二)
  15. SpringCloud - LCN分布式事务框架
  16. 13.清洗网址中的垃圾字符
  17. 操作系统:内存管理(概念)
  18. 油门刹车标定表的制作
  19. 教你如何在Linux系统安装软件
  20. 建国以来的全套人民币图片

热门文章

  1. boa服务器实现温湿度显示,SMT车间温湿度分布式远程监控系统的设计
  2. html网页距离顶部50像素,HTML5 教程之CSS Padding(填充)
  3. mysql kingshard 扩容_如何用Go打造一个高性能mysql proxy
  4. 苹果地图副总裁_Amazon A9副总裁Benoit Dupin加入苹果,负责改善苹果地图搜索服务...
  5. sql如何遍历几百万的表_SQL Server遍历表中记录的2种方法(使用表变量和游标)
  6. microsoft office 卸载不了
  7. oracle中exp/imp讲解
  8. MULTI BIN的wince 5.0,smdk2440下的实现
  9. 【转】DICOM:DICOM Print服务中PresentationContext协商之 MetaSOPClass与SOPClass对比分析!!!!!!!!
  10. 【转】2:C#TPL探秘