Matlab生成M序列的伪随机码

伪随机编码中较常用的是m序列,它是线性反馈移位寄存器序列的一种,其特点是在相同寄存器级数的情况下输出序列周期最长。线性反馈移位寄存器的工作原理是,给定所有寄存器一个初始值,当移位脉冲到来时,将最后一级寄存器的值输出,同时将第 i级的寄存器内容存储到第 i+1 级中,此外将每一级的寄存器输出按照一定的线性运算规则计算出一个值,并将该值存入第一级寄存器中。随着移位脉冲的累加,线性反馈移位寄存器的输出可以组成一个序列,称之为移位寄存器序列[71]。

图3.5 线性反馈移位寄存器

MATLAB生成M序列伪随机码函数如下:

% 在MATLAB命令窗口输入以下: % fbconnection=[0 1 1 0 1 0 0 0 0 0 0 0 0 0 0

% 1];本原多项式系数:[d0,d1,d2...di];其中di为本原多项式前的系数
% mseq=m_sequence(fbconnection); % mseq 
%m_sequence.m功能是生成伪随机序列
%time:2016_1_13
%edit by:柴宁
function[mseq]=m_sequence(fbconnection)
n=length(fbconnection); 
N=2^n-1;
% register=[zeros(1,n-1) 1];
register=[1 1 0 1 0 0 0 0 1 0 1 1 1 1 0 1];%移位寄存器的初始状态 ,[r(i),r(i-1),r(i-2),...r(0)];
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

时间: 2024-08-27 00:38:47

Matlab生成M序列的伪随机码的相关文章

asp.net下调用Matlab生成动态链接库

对于这次论文项目,最后在写一篇关于工程的博客,那就是在asp.net下调用matlab生成的dll动态链接库.至今关于matlab,c/c++(opencv),c#(asp.net)我总共写了4篇配置的博客,配置问题搞了我们差不多2周多的时间,各种编译不通过,各种链接出问题,各种头疼,甚至都有放弃asp.net下建工程,转用matlab的gui来实现前端界面的念头了.但是在队友的强烈要求下,我不得不硬着头皮搞下这配置问题,最终总结出这4篇配置博客.其中艰辛,恐怕连队友都不甚了解. 当然在实验室同

【转】利用matlab生成随机数函数

原文地址:利用matlab生成随机数函数 rand(n):生成0到1之间的n阶随机数方阵  rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) betarnd:贝塔分布的随机数生成器 binornd:二项分布的随机数生成器 chi2rnd:卡方分布的随机数生成器 exprnd:指数分布的随机数生成器 frnd:f分布的随机数生成器 gamrnd:伽玛分布的随机数生成器 geornd:几何分布的随机数生成器 hygernd:超几何分布的随机数生成器 lognrnd:对数正态分布

生成数字序列命令(7)

生成数字序列命令:seq,shuf 7.1.seq 功能:打印数字序列 语法:seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LAST 常用选项: -f  使用printf样式格式 -s  指定分隔符,默认换行符\n -w  等宽,用0填充 示例: 数字序列: 方法1: [[email protected] ~]# seq 10 1 2 3 4 5 6 7 8 9 10 方法2: fo

.net 调用 Matlab生成dll出现的问题(The type initializer for 'MathWorks?.MATLAB.NE?T.Utility.?MWMCR' threw an exception.)

https://cn.mathworks.com/matlabcentral/answers/278399-i-get-an-error-saying-the-type-initializer-for-mathworks-matlab-net-utility-mwmcr-threw-an-except 这篇文章帮忙解决了问题 记录一下备忘: Hi Nug, Ensure that you have the MCR version corresponding to MATLAB 2012b ins

扩增子分析解读4去嵌合体 非细菌序列 生成代表性序列和OTU表

本节课程,需要先完成 扩增子分析解读1质控 实验设计 双端序列合并 2提取barcode 质控及样品拆分 切除扩增引物 3格式转换 去冗余 聚类 先看一下扩增子分析的整体流程,从下向上逐层分析 分析前准备 # 进入工作目录 cd example_PE250 上一节回顾:我们制作了Usearch要求格式的Fasta文件,对所有序列进行去冗余和低丰度过滤,并聚类生成了OTU. 接下来我们对OTU进一步去除嵌合体,并生成代表性序列和OTU表. 什么是chimeras(嵌合体)? 嵌合体序列由来自两条或

matlab生成exe文件

matlab生成exe文件 1 首先要将\MATLAB701\toolbox\compiler\deploy\win32 中MCRinstaller.exe 安装到该计算机上(7.0 以前的版本是mglinstaller.exe),若你的matlab是安装版本的,这个工具可能已经安装过了,就不用安装了:否则需要安装.2 在确定安装好MatlabCompiler后,还需要对Compiler 进行适当的配置,方法是在Matlab 命令窗口输入:Mbuild –setup然后根据提示执行相应的操作,使

matlab 生成图像,直接导出到excel, word(转载)

function ceshi_Excel%设定测试Excel文件名和路径filespec_user=[pwd '\测试.xls'];%判断Excel是否已经打开,若已打开,就在打开的Excel中进行操作,%否则就打开ExceltryExcel=actxGetRunningServer('Excel.Application');catchExcel = actxserver('Excel.Application');end;%设置Excel属性为可见set(Excel, 'Visible', 1)

裁剪Matlab生成的eps文件

1.Matlab生成含有subplot的eps文件总是四周留白,造成过宽过长无法插入文章,尝试了很多方法,终于测试出了能用且比较方便的方法. 2.其实gsview中的"PStoEPS"功能可以做到这件事(Ref1),就是自己点来点去发现right和top点不准,不是所见即所得的,而且在win64下,gsview打开eps文件貌似总有无法缩放的问题,非常不爽:用Aadobe illustrator等工程软件 貌似也有字体丢失的问题,还是算了不折腾这些了. 3.环境:Matlab2013a

matlab生成滤波器系数组

用MATLAB生成的滤波器系数是可以控制增益的,一般归一化的目的是控制增益为1.滤波器的阶数由数据速率,过渡带宽.通带波纹和阴带波纹来决定, 在下图中FS,Apass,Astop固定之后,只要Fpass与Fstop两者差值一定,滤波器的阶数就是一定的. 在ALTERA的FPGA,滤波器ip支持多系数就是一组阶数相同的系数. 原文地址:https://www.cnblogs.com/zhongguo135/p/9149033.html