mseq matlab,Matlab生成M序列
版权声明:本文为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序列相关推荐
- 在matlab中生成m序列
实验环境为matlab2013b 1.首先编写一个mseq.m文件,内容为: function[mseq]=m_sequence(fbconnection) n=length(fbconnectio ...
- matlab生成m序列的函数(本原多项式产生所有m序列)
后期更新:matlab中产生m序列最简单的方法是调用idinput()函数,关于idinput()的具体用法可以在matlab中查看说明,这里举两个简单的例子: src = idinput(8191, ...
- 不同周期m序列(伪随机序列)的matlab详细生成方法
不同周期m序列的matlab详细生成方法 m序列是由线性反馈移存器产生的伪随机序列,而线性反馈移存器产生m序列的充要条件为:其特征多项式为本原多项式.只要找到本原多项式,就能由它构成m序列.但本原多项 ...
- matlab伪随机码,Matlab生成M序列的伪随机码
图3.5 线性反馈移位寄存器 MATLAB生成M序列伪随机码函数如下: % 在MATLAB命令窗口输入以下: % fbconnection=[0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 ...
- matlab生成m序列的方法
引言 m序列属于伪随机序列的一种.在通信领域应用较为广泛.由于其具有很好的伪噪声特性,因此在保密通信中,可以将其应用在高可靠性的保密通道中.另外,雷达领域也有广泛应用,伪随机相位编码脉冲/连续波雷达中 ...
- 关于matlab生成M序列的代码
#关于matlab生成M序列的代码 参考了相关书籍和网上matlab生产m序列的代码,我发现和书上的定义有些不一样(系统辨识原理及其运用-李彦俊)于是我就自己学了一个m文件来供大家参考.使用起来简单方 ...
- 多径衰落信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列、Gold序列和正交Gold序列)
接上一节 单径Rayleigh信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列.Gold序列和正交Gold序列) 下面再来看一下m序列与正交Gold序列在多径衰落信道下的性能. ...
- 单径Rayleigh信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列、Gold序列和正交Gold序列)
接上一节 高斯信道下基带模型的多用户BPSK直接序列扩频系统MATLAB仿真(m序列.Gold序列和正交Gold序列) 下面再来看一下m序列与正交Gold序列在单径Rayleigh衰落信道下的性能. ...
- matlab单位冲击序列代码,matlab产生单位冲击序列 matlab单位冲激函数代码
如何用matlab生成单位阶跃序列信号u(k 5)及单位冲击序列信号δ(k 5)? matlab里不是有专门的函数生成单位阶跃信号的吗,然后将信号进行移动. MATLAB中如何定义单位脉冲函数? 单位 ...
最新文章
- Tomcat原理详解和各种集群的实现
- neo4j 机器学习_neo4j(图数据库)是什么?
- 那些常见的C++、Qt基础面试题
- 每日一题(15)—— static有什么用途
- 免费流量监控软件,最大可同时监控1000台电脑
- [导入]XI 常用的URL
- 由查找算法工程的类图分析组合模式
- 马哥学习笔记十八——MySQL进阶之日志管理
- Atitit.木马病毒 webftp 的原理跟个设计
- 东大成贤c语言试卷,香气四溢的东大成贤
- ARP报文的存入条件和回复条件
- zabbix与nagios对比
- vue3 setup中获取地址栏参数
- Tony.SerialPorts.RS232串口模块(二)
- SpringCloud - LCN分布式事务框架
- 13.清洗网址中的垃圾字符
- 操作系统:内存管理(概念)
- 油门刹车标定表的制作
- 教你如何在Linux系统安装软件
- 建国以来的全套人民币图片
热门文章
- boa服务器实现温湿度显示,SMT车间温湿度分布式远程监控系统的设计
- html网页距离顶部50像素,HTML5 教程之CSS Padding(填充)
- mysql kingshard 扩容_如何用Go打造一个高性能mysql proxy
- 苹果地图副总裁_Amazon A9副总裁Benoit Dupin加入苹果,负责改善苹果地图搜索服务...
- sql如何遍历几百万的表_SQL Server遍历表中记录的2种方法(使用表变量和游标)
- microsoft office 卸载不了
- oracle中exp/imp讲解
- MULTI BIN的wince 5.0,smdk2440下的实现
- 【转】DICOM:DICOM Print服务中PresentationContext协商之 MetaSOPClass与SOPClass对比分析!!!!!!!!
- 【转】2:C#TPL探秘