基于Matlab的m序列发生器的设计1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

引言

伪随机噪声具有类似于随机噪声的某些统计特性,同时又能够重复产生。由于它具有随机噪声的优点,又避免了随机噪声的缺点,因此获得了日益广泛的实际实用。这种周期性数字序列称为随机序列,有时又称为随机信号和伪随机码。m序列是伪随机序列中最重要的序列中的一种,它不但具有易于产生的特点,还具有良好的自相关特性,在扩频通信中得到了广泛的应用。

1. m序列设计方案选择

1.1 方案一

编程实现m 序列:MA TLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。

1.2方案二

图1.1 Simulink 实现m 序列

Simulink 实现m 序列(如图1.1所示) 。

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。

通过比较方案一和方案二,发现方案一的优点具有通用性,其中mserises.m相当于一个通项,根据具体的本原多项式调用它即可,而方案二利用MATLAB的simulink直接搭建模块,在移位寄存器较少时利用此方法极为简单,可是当移位寄存器的数量增多时,要搭建那么多的模块就显得很繁琐,缺乏通用性。

2.Simulink工具介绍

2.1 Simulink简介

Simulink是MATLAB软件最重要的组件之一,它提供一个动态系统建模、仿真和综合分析

的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可以构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用与控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。

2.2 Simulink的功能和特点

Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理等系统,Simulink提供了交互式图形化环境和可定制模块库对其进行设计、仿真、执行和测试。

构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB 紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。

Simulink的特点:

丰富的可扩充的预定义模块库。

交互式的图形编辑器来组合和管理直观的模块图。

以设计功能的层次性来分割模型,实现对复杂设计的管理。

通过Model Explorer 导航、创建、配置、搜索模型中的任意信号、参数、属性,生成模型代码。

提供API用于与其他仿真程序的连接或与手写代码集成。

使用Embedded MATLAB 模块在Simulink和嵌入式系统执行中调用MATLAB算法。

使用定步长或变步长运行仿真,根据仿真模式(Normal,Accelerator,Rapid Accelerator)来决定以解释性的方式运行或以编译C代码的形式来运行模型。

图形化的调试器和剖析器来检查仿真结果,诊断设计的性能和异常行为。

可访问MA TLAB从而对结果进行分析与可视化,定制建模环境,定义信号参数和测试数据。

3. m序列产生和性质

3.1 m 序列的原理、结构及产生

m 序列是最长线性反馈移位寄存器序列的简称,m 序列是由带线性反馈的移位寄存器产生的.由n级串联的移位寄存器和和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化。其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。

n级线性移位寄存器的如图3.1所示:

图3.1 n 级线性移位寄存器

图中i C 表示反馈线的两种可能连接方式,i C =1表示连线接通,第n-i 级输出加入反馈中;i C =0表示连接线断开,第n-i 级输出未参加反馈。

因此,一般形式的线性反馈逻辑表达式为112201

(mod 2)n

n n n n i n i i a C a C a C a C a ---==⊕⊕

⊕=∑

将等式左面的n a 移至右面,并将00(1)n n a C a C ==代入上式,则上式可改写为1

0n

i n i C a -==∑

定义一个与上式相对应的多项式0

()n i i i F x C x ==∑

,其中x 的幂次表示元素的相应位置。

式称为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切关系.当F(x)满足下列三个条件时,就一定能产生m 序列:

(1) F(x)是不可约的,即不能再分解多项式;

(2) F(x)可整除1p

x +,这里21n p =-;

(3) F(x)不能整除1q

x +,这里q

满足上述条件的多项式称为本原多项式.这样产生m 序列的充要条件就变成了如何寻找本原多项式.

3.2 m 序列的基本性质

1) 均衡性. 在m 序列中一个周期内“1”的数目比“0”的数目多l 位,这表明,序列平均值很小. 2) m 序列和其移位后的序列逐位模2 相加,所得的序列还是m 序列,只是相移不同而已. 例如1110100与向右移3 位后的序列1001110逐位模2相加后的序列为0111010 ,相当于原序列向右移1位后的序列,仍是m 序列.

3) m 序列发生器中移位寄存器的各种状态,除全0 状态外,其他状态只在m 序列中出现1 次.如7 位m 序列中顺序出现的状态为111 ,110 ,101 ,010 ,100 ,001 和011 ,然后再回到初始状态111.

4) m 序列发生器中,并不是任何抽头组合都能产生m 序列. 理论分析指出,产生的m 序列数由下式决定:

Φ(2 n - 1) / n

其中Φ( X) 为欧拉数(即包括1 在内的小于X 并与它互质的正整数的个数) . 例如5 级移位寄存器产生的31 位m 序列只有6 个.

5) m 序列具有良好的自相关特性,其自相关系数:

从m 序列的自相关系数可以看出,m 序列是一个狭义伪随机码.

10

()10j j j N ρ=⎧⎪=⎨-≠⎪⎩

相关文档
最新文档