第21卷 第3期计 算 机 仿 真2004年3月 文章编号:1006-9348(2004)03-0149-04

MAT LAB在伪随机码的生成及仿真中的应用

郭海燕,毕红军

(北方交通大学电子信息工程学院,北京100044)

摘要:主要介绍m序列、G old序列、K asami序列和JP L序列的生成原理及其M AT LAB的实现,并介绍如何用M AT LAB中

S imulink对其进行硬件仿真,给出了相应自相关和互相关结果。

关键词:序列;自相关;互相关

中图分类号:T N914.42;T N911.22 文献标识码:A

1 引言

在C DM A数字移动通信和其他扩频通信中,地址码序列几乎都还有扩展频谱的作用,并且要求其有良好的伪随机特性和相关特性。本文中涉及到的m序列、G old序列、K asami 序列和J P L序列理论已经很成熟,而且m序列和G old序列作为地址码序列,已广泛应用于扩频C DM A系统。K asami序列由于自、互相关特性均较好的特点,且序列数量也很可观,正逐步得到应用。J P L测距码,其构造特征非常适合于远距测距,码周期很长但同步很快。本文在简单叙述了伪随机码基本原理上,从硬件实现和仿真的角度,利用M AT LAB的S imulink工具箱对伪随机码进行软件实现及硬件仿真,得出了相应结果。

2 m序列、G old序列、K asami序列的基本原理与线性移位寄存器实现

2.1 m序列[1]发生器使用了n级移位寄存器作为延迟线,移位寄存器的输入是移位寄存器状态的函数,可以用特征多项式来表示,其一般形式为:

F(X)=C0+C1X1+C2X2+…+C n-1X n-1

得到m序列的本原多项式后[1],即可计算移位寄存器的初始化状态(C0,C1,C2,…,C n),并得出其硬件发生电路。2.2 G old序列[1]是由两个m序列优选对[2]逐位模2加得到,当改变其中一个m序列相位(向后或向前移位)时,可得到一新的G old序列。

2.3 K asami序列[3]分为小集合K asami序列和大集合K asami 序列,都是在m序列的基础上生成的。K asami序列的实现,关键在于如何得到取样后产生的序列。

2.3.1 小集合K asami序列的产生原理:选定一周期为2n-1 (n为偶数)的m序列a,因为:2n-1=(2n/2+1)(2n/2-1),对序列a每隔2n/2+1个数进行抽样,得到一长度为2n/2-1的序列,可证明此序列仍为m序列,将此序列重复2n/2+1遍,得到一与a序列同长的序列a′。把a与a′序列逐位模2加就可以得到一个小集合K asami序列,当改变其中一个序列相位(向后或向前移动)时,可得到一新的小集合K asami序列。

K s=(a,b)={a,a b,a Tb,a T2b,…,

a T2n/

2

-2b}

其中T i b表示对b进行i位循环移位后得到的序列, 表示模二加。

2.3.2 大集合K asami序列的产生原理:同小集合一样,要先得到a及a’序列,再对序列a每隔2(n+2)/2+1个数进行抽样,得到一与a序列同长的序列a”。把a,a’及a”三个序列逐位模2加就可以得到一个大集合K asami序列,当改变其中任意一个序列相位(向后或向前移位)时,可得到一新的大集合K asami序列。

3 JP L序列的基本原理与线性移位寄存器实现

3.1 J P L测距码(美国喷气推进实验室Jef Propulsion Laborato2 ry)原理:虽然m序列具有很好的自相关特征(鉴别指数很大,为2n),但不管对于码分多址通信还是测距,在一些情况下要求码捕获快时,还不够理想。对测距常要求码周期很长,减小模糊距离,测距精度又要高,即T c很小,同步又要快,而m序列周期很长时同步时间一般也很长(用一般的远距搜寻方法),不能满足使用要求。为此出现了一种称为J P L 测距码的组合码,其构造特征非常适合远距测距,码周期很长,但是同步很快。

3.2 线性移位寄存器实现:G old码可由相同的m序列模二加产生,如果两个周期长度是互质的,则可产生J P L测距码。假定有三个周期长度分别为2n-1、2m-1、2l-1且互质的m 序列,模二加后则产生周期长度为(2n-1)3(2m-1)3(2l-1)的J P L码,如图1所示。

如用一般的方法,平均码捕获时间为((2n-1)3(2m-1) 3(2l-1))/2=N/2,J P L码捕获时间只有log2N。由于J P L码的码长很长((2n-1)3(2m-1)3(2l-1)),如把很长的J P L 码(其码产生器并不长)用于测距则可以消除距离模糊。

收稿日期:2003-01-09

matlab在伪随机码,MATLAB在伪随机码的生成及仿真中的应用相关推荐

  1. MATLAB之简谐信号声音的生成及其调制性

    文章目录 MATLAB之简谐信号声音的生成和保存 MATLAB之声音的调制特性 MATLAB之简谐信号声音的生成和保存 clc; clear all; clear out; dFs = 2^14; f ...

  2. matlab热度图确定色标_C++实现类似Matlab的colormap Jet(灰度图生成彩色热度图)

    Matlab使用colormap Jet 可以将灰度图像生成彩色的热度图,灰度值越高,色彩偏向暖色调.相反亦然. // ColorMap.h #ifndef COLORMAP_H #define CO ...

  3. [MATLAB学习]:Matlab生成滑动平均滤波算法文件并移植到STM32单片机上运行——基于CubeMX

    前言 人生如逆旅,我亦是行人. 今天分享一个在 MATLAB 上生成C算法文件,并将其移植到 keil5上,运行至 STM32 单片机,一个很有用的方法. 准备工作: 已安装 MATLAB 的软件(注 ...

  4. matlab 编程波形图,实验一MATLAB编程环境及其常用信号的生成及其波形仿真.doc

    word格式精心整理版 范文范例 学习指导 实验一 MATLAB编程环境及常用信号的生成及波形仿真 一.实验目的 1.学会运用Matlab表示常用连续时间信号的方法 2.观察并熟悉这些信号的波形和特性 ...

  5. matlab如何将代码生成模型,为模型生成 C 代码

    为模型生成 C 代码 要从 Simulink® 模型.Stateflow® 图和 MATLAB® 函数生成 C 或 C++ 代码,请使用 Simulink Coder™ 产品.将生成的代码用于仿真加速 ...

  6. matlab GUI 打包程序(Application Complier生成exe文件和App打包)

    0.写在前面 最近用MATLAB写GUI,用的是Guide,最后需要进行程序的打包,查了一些资料,打包包括exe文件打包和App打包,这里都进行一个学习记录,后面需要可以回来查阅(MATLAB版本:2 ...

  7. matlab length_《Matlab - Robotics System Toolbox》学习笔记(2)

    写作说明: 1. 本文主要记录学习 Matlab - Robotics System Toolbox[1]的过程,就其中的一些重要知识点做相关记录.方便后期供自己与他人进行学习. 2. 由于 Matl ...

  8. matlab 数学库,matlab数学函数库

    (n) 求 n 的阶乘 如何用 matlab 配方 没有发现 matlab 有这一命令,不过我们可以调用 maple 的命令,调用方法如下: 首先加载 maple 中的 student 函数库,加载. ...

  9. matlab错误原因,matlab常见错误分析

    这里是几个Matlab的小提示,基本上是我使用Matlab时碰到并解决了的问题,希望能使别人不要再碰钉子走弯路了.如果有建议或发现其中有错误,请与我联系. 循环变量 由于历史的原因,程序员们总是使用i ...

最新文章

  1. python中语法错误-Python3 错误和异常
  2. 130.ssm项目中添加日志 log4j
  3. 关于Hexo6.0搭建个人博客(github+Google-收录篇)
  4. 【NLP】NLP重铸篇之Fasttext
  5. 网址收藏 plc实现
  6. [ofbiz]less-than (lt;) and greater-than (gt;) symbols
  7. 当世界从移动优先变为AI优先,未来企业竞争将赢在“维度”
  8. js点击页面其他地方如何隐藏div元素菜单
  9. 安全策略篇 ASPF:隐形通道
  10. 吉利嘉际车机安装第三方软件教程(2022年更新)
  11. 计算机会计信息系统中凭证日期应该是,《电算化会计》期中考试试题.doc
  12. navigateTo和navigateBack的使用
  13. RTX客户端插件编程:修改VC插件dll文件的uuid
  14. 一个屌丝程序猿的人生(二十七)
  15. 最新--2018下半年Android面试历程(转载)
  16. 8255控制交通灯实验 c语言 main,交通灯控制实验
  17. R语言logistic回归的细节解读
  18. linux命令 dmesg_如何在Linux上使用dmesg命令
  19. java html模板隐情mini,HTML A标签简单问题
  20. VMware的更新怎么这么恶心

热门文章

  1. cacti配置流量汇总
  2. (一)开机demo测试及测试流程
  3. Xcode打包踩过的那些坑
  4. Ros中Remap(话题重映射)的两种使用方法
  5. Oracle IO问题解析(一)
  6. java中的命令怎么上移_web系统中上下移动功能的实现
  7. java基础知识---IO常用基础操作(二)
  8. 思杰VDI外篇XDDC安装
  9. CentOS yumdownloader命令和rpmbuild命令制作rpm包
  10. Docker部署SpringCloud ELK+RabbitMQ日志