Matlab生成M序列的伪随机码
2016-04-28 23:36
253 查看
伪随机编码中较常用的是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
相关文章推荐
- matlab画图函数plot
- matlab曲线拟合
- 在Matlab中调用ZXing的代码生成QR二维码
- Matlab调用ZXing的详细步骤——二维码生成
- MATLAB7.0在window7下的安装
- Matlab变量及其含义
- Matlab----画彩图
- MATLAB 与python reshape 比较
- 嵌套乘法求函数值(Matlab)
- 二分法求方程的根(Matlab)
- 均匀量化(Matlab)
- KNN算法中常用的距离计算公式
- Mac OS环境下的libsvm在Matlab中安装
- 分治思想 - 二分搜索技术 - MATLAB代码 list是数据集合,x是要查找的数据。
- matlab 可视化(specifier)
- 输出全排列问题,基于递归思想,MATLAB代码。
- matlab——corrcoef函数的使用
- Matlab显示图像时函数imge和imshow的区别
- matlab 实用程序片段
- cmd 命令行方式执行 matlab 脚本