使用MATLAB生成任何需要的伪随机码(PN码)
目录
一. 引言
二. 用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码)相关推荐
- 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生成多组多维高斯分布数据
matlab生成多组多维高斯分布数据 之所以写这么一个函数,是因为在练习用matlab实现聚类分析,用matlab生成的高斯分布数据可以作为很好的数据.当然,直接load进鸢尾花数据集也可以拿来练手, ...
- 【 FPGA 】MATLAB 生成 FIR 滤波器的操作步骤(包括生成Verilog HDL代码以及仿真过程)
使用MATLAB生成滤波器有很多学问,这里只是作为初步的探索,和FPGA的更多结合,也正在探索中,相关博文例如:[ FPGA ]FIR滤波器目录,该专题目录正在记录我学习FIR滤波器的过程. MATL ...
- Matlab生成Xilinx Rom IP CORE的初始化内容coe文件
在进行FPGA设计时,经常要对rom模块进行初始化.ISE或Quartus II软件本身具备的初始化功能对于较小的rom是行之有效的,但面对大容量的rom时就显得捉襟见肘了.而matlab作为一神器, ...
- matlab生成wav文件并用python验证
在进行频谱分析时,发现MATLAB和python读取wav文件的波形不一致,导致不能得出正确结果,为了验证MATLAB和python哪部分有问题,于是有了这篇博客. 1.需求分析 用MATL ...
- matlab生成二维服从高斯分布的数据
matlab生成二维服从高斯分布的数据 2015-12-30 21:31 1263人阅读 评论(0) 收藏 举报 分类: matlab(8) 由于实验需要,需要生成两类模式的数据,同时这两类数据要 ...
- 【转】利用matlab生成随机数函数
原文地址:利用matlab生成随机数函数 rand(n):生成0到1之间的n阶随机数方阵 rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) betarnd:贝塔分布的随机数生成器 ...
- 为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开?
为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开? 2014-11-09 20:20147****3349 | 浏览 448 次 操作系统 在同一个电脑里,在mat ...
- Matlab生成动态链接库供C#调用
Matlab生成动态链接库供C#调用 原文 http://www.cnblogs.com/chenyongblog/p/3156716.html 1.首先在Matlab中编写一个或几个.m文件 2.然 ...
最新文章
- linux开启防火墙挂载nfs
- 使用jmeter对ActiveMQ集群性能方案进行评估--转载
- Qt下继承于QObject创建的线程
- css宽高自适应布局,实现Sticky Footer的三种布局方式
- [译]看漫画学Flux
- 转载:SQL入门教程
- 欺骗的艺术from凯文•米特尼克
- 水水的证件-身份证、证件加水印小工具
- 2019深圳入户攻略
- CF1633D Make Them Equal(bfs + 01背包)
- Python 调用WebService接口出错-suds.transport.TransportError: HTTP Error 401: Unauthori
- 根轨迹的基本概念与绘制
- 私有专辑 java,这是什么“专辑歌手”标签iTunes使用?任何方式使用java设置?
- 新手程序员如何快速成长?
- 遗传算法pareto matlab,matlab遗传算法三目标优化,出来的pareto前沿图只是二维图...
- origin图上显示数据标签_教程:Origin绘制XPS组图
- 面试官推荐的刷题神器,适合所有程序猿
- [技巧]用js生成日志文件、获取ip。
- 按照指定起始和截止时间分割视频
- 高通CES 2018发布QCC5100低功耗蓝牙芯片
热门文章
- 论文投稿指南——中文核心期刊推荐(原子能技术)
- linux如何编译tex,linux下编译bib、tex生成pdf文件
- PureMvc 简介
- windows C++多线程(三):线程终止结束ExitThread与TerminateThread
- onenote2007 设置行间距
- 人工智能会超越人类智能吗?(Will Artificial Intelligence Surpass Human Intelligence?)
- 完美世界2017c++游戏开发:笔试题+面试题
- c语言日期天数代码,关于计算两个日期间天数的代码,大家来看看
- 性能监控工具的配置及使用 - 	听云-Server
- 腾讯地图 省市区县 信息展示