目录

一. 引言

二. 用matlab生成伪随机序列


一. 引言

伪随机码(PN码),只包含0和1,是一种人为随机创造的随机序列。应用范围广,通信中经常使用到,比如伪码测距等。为了验证所给的生成函数是否正确,经常需要使用matlab仿真查看所生成的随机序列。

二. 用matlab生成伪随机序列

下面是我使用的生成方法:

clear;
clc;
fbconnection=[0 1 0 1 1 1 1 1]; % fbconnection为m序列的一个生成多项式 f(x)=X8+X6+X4+X3+X2+X1+1;实际要看给的发生器框图
mseq=m_sequence(fbconnection);
disp(mseq);
save('PNdata.dat','mseq'); %保存为.dat文件,可以用BES打开%生成coe文件
n=length(fbconnection);
N=2^n-1; %循环周期
a=randi([0,1],1,1024);
fid=fopen('PNData1.coe','w');
fprintf(fid,'memory_initialization_radix=2;\n'); %memory_initialization_radix=a中a表示进制数,例如二进制即a=2,四进制a=4;
fprintf(fid,'memory_initialization_vector=\n'); %memory_initialization_vector=后接的是数值格式,若randix=a中,a=2,则vector中只能是二进制数
for i=1:255fprintf(fid,'%d,\n',mseq(i));
end
fprintf(fid,'%d,\n',mseq(N));%定义伪码生成函数
function mseq=m_sequence(fbconnection)n=length(fbconnection);N=2^n-1; %循环周期register=[1,1,1,1,1,1,1,1];%初相FFFF  正序:register=[x1,x2,x3,x4,x5,x6,x7,x8]mseq(1)=register(n);                               for i=2:NNewRegister(1)=mod(sum(fbconnection.*register),2); % .* 按位乘 sum(A,2) 是包含每一行总和的列向量。 for j=2:n                                          % sum(a),求a中数据的和。mod(a,2),求a除以2的余数,保证输出0或者1。NewRegister(j)=register(j-1); %确定好register(1)后,其他位循环右移                  endregister=NewRegister;mseq(i)=register(n);end
end

可以生成.dat文件和.coe文件。.dat可以用查看帧的软件查看,比如BES,主要是为了方便使用十六进制。.coe文件可以使用notepad++查看,主要是为了FPGA开发使用,也可以验证生成的对不对。同时我也用了disp函数把伪随机序列打印在控制台,方便对比和查看。

只需要修改生成多项式和初相,就可以生成任何伪随机序列。

使用MATLAB生成任何需要的伪随机码(PN码)相关推荐

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

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

  2. matlab生成多组多维高斯分布数据

    matlab生成多组多维高斯分布数据 之所以写这么一个函数,是因为在练习用matlab实现聚类分析,用matlab生成的高斯分布数据可以作为很好的数据.当然,直接load进鸢尾花数据集也可以拿来练手, ...

  3. 【 FPGA 】MATLAB 生成 FIR 滤波器的操作步骤(包括生成Verilog HDL代码以及仿真过程)

    使用MATLAB生成滤波器有很多学问,这里只是作为初步的探索,和FPGA的更多结合,也正在探索中,相关博文例如:[ FPGA ]FIR滤波器目录,该专题目录正在记录我学习FIR滤波器的过程. MATL ...

  4. Matlab生成Xilinx Rom IP CORE的初始化内容coe文件

    在进行FPGA设计时,经常要对rom模块进行初始化.ISE或Quartus II软件本身具备的初始化功能对于较小的rom是行之有效的,但面对大容量的rom时就显得捉襟见肘了.而matlab作为一神器, ...

  5. matlab生成wav文件并用python验证

      在进行频谱分析时,发现MATLAB和python读取wav文件的波形不一致,导致不能得出正确结果,为了验证MATLAB和python哪部分有问题,于是有了这篇博客. 1.需求分析    用MATL ...

  6. matlab生成二维服从高斯分布的数据

    matlab生成二维服从高斯分布的数据 2015-12-30 21:31 1263人阅读 评论(0) 收藏 举报  分类: matlab(8)  由于实验需要,需要生成两类模式的数据,同时这两类数据要 ...

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

    原文地址:利用matlab生成随机数函数 rand(n):生成0到1之间的n阶随机数方阵 rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) betarnd:贝塔分布的随机数生成器 ...

  8. 为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开?

    为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开? 2014-11-09 20:20147****3349 | 浏览 448 次  操作系统 在同一个电脑里,在mat ...

  9. Matlab生成动态链接库供C#调用

    Matlab生成动态链接库供C#调用 原文 http://www.cnblogs.com/chenyongblog/p/3156716.html 1.首先在Matlab中编写一个或几个.m文件 2.然 ...

最新文章

  1. linux开启防火墙挂载nfs
  2. 使用jmeter对ActiveMQ集群性能方案进行评估--转载
  3. Qt下继承于QObject创建的线程
  4. css宽高自适应布局,实现Sticky Footer的三种布局方式
  5. [译]看漫画学Flux
  6. 转载:SQL入门教程
  7. 欺骗的艺术from凯文•米特尼克
  8. 水水的证件-身份证、证件加水印小工具
  9. 2019深圳入户攻略
  10. CF1633D Make Them Equal(bfs + 01背包)
  11. Python 调用WebService接口出错-suds.transport.TransportError: HTTP Error 401: Unauthori
  12. 根轨迹的基本概念与绘制
  13. 私有专辑 java,这是什么“专辑歌手”标签iTunes使用?任何方式使用java设置?
  14. 新手程序员如何快速成长?
  15. 遗传算法pareto matlab,matlab遗传算法三目标优化,出来的pareto前沿图只是二维图...
  16. origin图上显示数据标签_教程:Origin绘制XPS组图
  17. 面试官推荐的刷题神器,适合所有程序猿
  18. [技巧]用js生成日志文件、获取ip。
  19. 按照指定起始和截止时间分割视频
  20. 高通CES 2018发布QCC5100低功耗蓝牙芯片

热门文章

  1. 论文投稿指南——中文核心期刊推荐(原子能技术)
  2. linux如何编译tex,linux下编译bib、tex生成pdf文件
  3. PureMvc 简介
  4. windows C++多线程(三):线程终止结束ExitThread与TerminateThread
  5. onenote2007 设置行间距
  6. 人工智能会超越人类智能吗?(Will Artificial Intelligence Surpass Human Intelligence?)
  7. 完美世界2017c++游戏开发:笔试题+面试题
  8. c语言日期天数代码,关于计算两个日期间天数的代码,大家来看看
  9. 性能监控工具的配置及使用 - 听云-Server
  10. 腾讯地图 省市区县 信息展示