基于QuartusⅡ的伪随机m序列发生器的设计

基于QuartusⅡ的伪随机m序列发生器的设计
基于QuartusⅡ的伪随机m序列发生器的设计

基于QuartusⅡ的伪随机m序列发生器的设计

————————————————————————————————作者: ————————————————————————————————日期:

?

通信系统

课程设计报告

设计题目:伪随机m序列发生器的设计班级: 13物联网1

姓名:李亚军

学号:2013313136 指导教师:程钦、任艳玲

课程地点: 60-507

江苏理工学院

电气信息工程学院

2106 年9 月8日

目录

序言………………………………………………………………………………………………1第1章QuartusⅡ软件介

绍 (2)

1.1 QuartusⅡ简

介 (2)

第2章基于QuartusⅡ的伪随机m序列发生器的设

计 (3)

2.1伪随机m序列发生器的设计要

求 (3)

2.2伪随机m序列发生器的设

计 (3)

2.3伪随机m序列发生器的实

现 (5)

2.3.1原理图输入法实现与仿真结果分

析 (5)

2.3.2 VHDL语言实现与仿真结果分

析……………………………………………………7

2.4 设计分析与总

结 (9)

2.4.1故障分

析…………………………………………………………………………………9

2.4.2功能分

析 (9)

参考文

献………………………………………………………………………………………10

体会与建议 (11)

附录………………………………………………………………………………………………12

序言

随机噪声降低了通信系统的可靠性,限制信道容量但又可以用于测试通信系统性能和提高保密通信,所以就有伪随机序列的产生。因为其具有类似于随机噪声的某些统计特性又避免了随机噪声不能重复产生和处理的缺点。

m序列是最长线性移位寄存器序列的简称,是一种伪随机序列、伪噪声(PN)码或伪随机码。可以预先确定并且可以重复实现的序列称为确定序列;既不能预先确定又不能重复实现的序列称随机序列;不能预先确定但可以重复产生的序列称伪随机序列。

m序列是目前广泛应用的一种伪随机序列,其在通信领域有着广泛的应用,如扩频通信,卫星通信的码分多址,数字数据中的加密、加扰、同步、误码率测量等领域。

在所有的伪随机序列中,m序列是最重要、最基本的一种伪随机序列。它容易产生,规律性强,有很好的自相关性和较好的互相关特性。

采用原理图输入和VHDL语言产生周期为127,码元速率为50HZ的m序列

第一章QuartusⅡ软件介绍

1.1QuartusⅡ简介

Quartus II是Altera公司的综合性PLD/FPGA开发软件,原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持DescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具

良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Altera Qua rtus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。

Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;芯片(电路)平面布局连线编辑;LogicLock增量设计方法,用户可建立并优化系统,然后添加对原始系统的性能影响较小或无影响的后续模块;功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具;定时/时序分析与关键路径延时分析;可使用SignalTap II逻辑分析工具进行嵌入式的逻辑分析;支持软件源文件的添加和创建,并将它们链接起来生成编程文件;使用组合编译方式可一次完成整体设计流程;自动定位编译错误;高效的期间编程与验证工具;可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。

第二章 基于Q uartus Ⅱ的伪随机m序列发生器的设计

2.1伪随机m 序列发生器的设计要求

采用原理图输入法,完成后可进一步选做采用VHDL 语言输入法实现。 根据m 序列产生原理,确定m序列发生器具体设计方案。 设计m序列产生电路原理图、调试及仿真时时序波形。 序列周期要求为127,码元速率为50Hz 。

2.2伪随机m 序列发生器的设计

a

a

a

a

a

a

a

c0c3=

c7输

图1 所设计的m 序列线性反馈移位寄存器原理图

m 序列:线性反馈移位寄存器产生的周期最长序列,12p -≤n 。因题目要求序列周期为P=127,即可列出不等式为: 12127n -≤。由不等式求得n 最小值为7。 由n =7查询图2本原多项式表得本原多项式:1)(37++=x x x f 。又因为本原多项式

037x x x 、、的系数为1所以可得1037===c c c 。由图3线性反馈移位寄存器原理图可画

出图4的m 序列线性反馈移位寄存器原理图。

图2 本原多项式表

图 3 线性反馈移位寄存器原理图

由图4的m 序列线性反馈移位寄存器原理图可得序列周期要求为127的伪随机m 序列产生过程如下:

将a 6原有值给a5,将a5原有值给a4,将a4原有值给a3,将a 3原有值给a2,将a2原有值给a 1,将a1原有值给a0,将a0与a 4原有值异或后给a 6。如此循环,a0输出数据即为序列周期要求为127的伪随机m 序列。

按此方法可算出序列周期要求为127伪的随机m 序列一个周期内数据如图5所示,a6至a 0下方对应的数据即初始值为1000000按上述循环的结果,n 下数据是前面数据循环到第几次时出现的。从图中可看出0-126无重复数据,从127开始与0-126内数据重复出现可知其周期即为127。a0一列即序列周期要求为127的伪随机m 序列。

a

a

a

a

a

a

a

c0c3=

c7输

图4 所设计的m 序列线性反馈移位寄存器原理图

2.3

伪随机m

序列发生器的实现

2.3.1原理图输入法实现与仿真结果分析

图5 所计算数据图(周期为127。0-126无重复数据,从127数据开始重复)

按照图4原理图,选用7个D触发器和1个异或门按照原理图相连接。D触发器为上升沿有效,PRN 引脚低电平时Q 引脚输出为高电平,C LR N引脚低电平时Q 引脚输出为低电平。如图6的第一个D触发器PR N引脚开始输入一个低电则Q 引脚输出为高电平可以防止Q引脚开始为低电平则整个电路都在低电平循环无法验证结果是否正确。c0输出为m 序列,c1-c6是为了易于分析结果。

由图6电路原理图可知时钟周期为输出的m 序列周期2倍。又因为码元速率要求为50Hz,所以时钟频率应设置为0.01秒(1/50*2=0.01s)。又因为序列周期要

图7 Quartus

Ⅱ实现m 序列电路原理图的仿真结果图

图6 Quartus Ⅱ实现m 序列电路原理图

a

b

c

求为127则m序列周期为2.54s(1/50*127=2.54s)。即仿真结果应该在2.54s后数据开始重复出现。

如图7仿真结果c0-c6与算出的数据a0-a6一一对应,仿真图高电平为1,低电平为0。仿真图纵向结果与数据横向结果对应,将仿真图与图5数据对比可知能产生符合要求的序列。b为时钟信号一个上升沿产生一组数据。大图为整体图,左右两张图分别为大图开始与2.54s处图的放大效果。经对比2.54s后图像与开始一样即仿真数据与开始数据重复。故该电路可以产生序列周期要求为127的伪随机m序列。c0输出数据即序列周期要求为127的伪随机m序列。

2.3.2 VHDL语言实现与仿真结果分析

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY lyj IS

PORT(CLK:IN STD_LOGIC;--时钟信号

EN:IN STD_LOGIC;--使能信号,高电平将D0值给Y

D0:IN STD_LOGIC_VECTOR(6 DOWNTO 0);--输入初始值

Y:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));--输出信号m序列

END ENTITY lyj;

ARCHITECTURE BHVOF lyj IS

BEGIN

PROCESS(CLK,EN)

VARIABLE D1:STD_LOGIC_VECTOR(6 DOWNTO 0);--D1与D2为变量用于实现逻辑功能

VARIABLE D2:STD_LOGIC_VECTOR(6 DOWNTO 0);--D0与D2高低位与原理图a6-0对应

BEGIN

IFEN='1'THEN

D1:=D0; --EN=1时 D0值给D1

ELSIF CLK'EVENT AND CLK ='1'THEN --上升沿有效

D2(6):=(D1(4) XOR D1(0)); --由原理图得D1(4)与D1(0)异或值给D2(6) D2(5):=D1(6); --D1(6)值给D2(5)

D2(4):=D1(5);

D2(3):=D1(4);

D2(2):=D1(3);

D2(1):=D1(2);

D2(0):=D1(1);

D1(6):=D2(6);--D2(6)值给D1(6)

D1(5):=D2(5);

D1(4):=D2(4);

D1(3):=D2(3);

D1(2):=D2(2);

D1(1):=D2(1);

D1(0):=D2(0);

END IF;

Y<=D1; --D1值给Y

END PROCESS;

END BHV;

由程序可知一个时钟周期输出一个m序列码元。又因为码元速率要求为50Hz,所以时钟频率应设置为0.01秒(1/50*2=0.01s)。又因为序列周期要求为127则m序列周期为2.54s(1/50*127=2.54s)。即仿真结果应该在2.54s后数据开始重复出现。

由程序可知CLK为时钟源上升沿有效,EN为高电平将D0数据给D1。Y为输出引脚,Y[0]引脚为产生m序列数据,如图8所示第一个上升沿开始产生m序列。

下面两张图分别为大图开始与2.54s处图的放大效果。经对比2.54s后图像与开始一样即仿真数据与开始数据重复。将Y输出数据与图5对比可知能产生题目要求的序列。故该电路可以产生序列周期要求为127的伪随机m序列。Y[0]数据即序列周期要求为127的伪随机m序列。

2.4 设计分析与总结

2.4.1 故障分析

现象:m 序列输出始终为低电平

原因:初始值为0,则电路一直为0循环。 2.4.2 功能分析

可以产生周期为127,码元速率为50Hz 的m 序列。VHDL 语言可以自定义初始数据。

图8 Quartus

Ⅱ实现

m 序列VHDL 语言的仿真结果图

参考文献

[1]樊昌信.通信原理[M].北京:国防工业出版社,2015年1月.P379-P390[2]电信学院通信原理课程组.通信系统实验与设计指导书[M].常州,2013年9月.P4-P7

体会与建议

通过本次实验,对伪随机m序列有了进一步的学习。本次实验只是用软件产生m

序列,并将产生的序列与计算的理论值进行对比,以判断数据是否正确。并没有对m序列进行实际应用。

m序列是一组随机而又重复的数据,可以对其进行相关编码这样就可以将m序列与其他知识相结合。如对其进行简单的2ASK,2DPSK编码。这样m序列就可以应用于通信系统。伪随机序列具有随机噪声的特点,所以m序列也可以运用检测通信系统的性能。由于序列的随机性也可以用于信息加密等。

若实验时间充裕可以将m序列与其它实验进行结合形成一个整体的通信系统,而不是一个个相对独立的个体。

附录

所用软件:Quartus Ⅱ9.0

硬件:7个D触发器、1个异或门

图2、图3截取于樊昌信的《通信原理》

图2 本原多项式表

图 3 线性反馈移位寄存器原理图

伪随机序列的产生及应用设计-通信原理课程设计

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目:伪随机序列的产生及应用设计 初始条件: 具备通信课程的理论知识;具备模拟与数字电路基本电路的设计能力;掌握通信电路的设计知识,掌握通信电路的基本调试方法;自选相关电子器件;可以使用实验室仪器调试。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、设计伪随机码电路:产生八位伪随机序列(如M序列、Gold 序列等); 2、了解D/A的工作原理及使用方法,将伪随机序列输入D/A中(如 DAC0808),观察其模拟信号的特性; 3、分析信号源的特点,使用EWB软件进行仿真; 4、进行系统仿真,调试并完成符合要求的课程设计说明书。 时间安排: 二十二周一周,其中3天硬件设计,2天硬件调试 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要................................................................................................................................ I 1理论基础知识 (1) 1.1伪随机序列 (1) 1.1.1伪随机序列定义及应用 (1) 1.1.2 m序列产生器 (2) 1.2芯片介绍 (4) 1.2.1移位寄存器74LS194. (4) 1.2.2移位寄存器74LS164 (5) 1.2.3 D/A转换器DAC0808 (6) 2 EWB软件介绍 (8) 3设计方案 (9) 4 EWB仿真 (11) 5电路的安装焊接与调试 (13) 6课程设计心得体会 (14) 参考文献 (15) 附录1 (16)

伪随机码生成器

M序列发生器 M序列是最常用的一种伪随机序列,是一种线性反馈移位寄存器序列的简称。带线性反馈逻辑的移位寄存器设定各级寄存器的初试状态后,在时钟的触发下,每次移位后各级寄存器状态都会发生变化。其中一级寄存器(通常为末级)的输出,随着移位寄存器时钟节拍的推移会产生下一个序列,称为移位寄存器序列。他是一种周期序列,周期与移位寄存器的级数和反馈逻辑有关。 以4级移位寄存器为例,线性反馈结构如下图: 4级以为寄存器反馈图 其中a4=a1+a0

信号a4:a0禁止出现全0,否则将会出现全0,序列不变化。实验仿真 Code: library IEEE; use IEEE.STD_LOGIC_1164.ALL; -- Uncomment the following library declaration if using -- arithmetic functions with Signed or Unsigned values --use IEEE.NUMERIC_STD.ALL; -- Uncomment the following library declaration if instantiating -- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity random_4 is Port ( clk : in STD_LOGIC; reset : in STD_LOGIC;

din : in STD_LOGIC_VECTOR (3 downto 0); dout : out STD_LOGIC_VECTOR (3 downto 0); load : in STD_LOGIC); end random_4; architecture Behavioral of random_4 is signal rfsr :std_logic_vector(3 downto 0); --signal temp:std_logic; begin process(clk,reset,load,din) begin if (reset ='1') then rfsr <=(others =>'0'); elsif (clk' event and clk='1') then if(load ='1') then ----load =1 rfsr<= din; else rfsr(3) <= rfsr(0) xor rfsr(1); rfsr(2 downto 0) <= rfsr(3 downto 1); end if; end if; end process; ------signal rename----

伪随机码发生器设计

伪随机码发生器设计 1 引言 随着科学技术的进步,现代战争样式向信息战形式发展。现代战争胜负对于信息获取的依赖程度前所未有的提高。在现代战争中,若己方的通讯交流方式早敌军破获,则地方将获取己方部队动向或实施信息干扰。将会使部队陷入极其危险地境地中。因此,信息战对通讯加密手段的要求极高。 伪随机序列(Pseudonoise Sequence)又称伪噪声或伪随机码,具有类似随机信号的一些统计特性,但又是有规律的,容易产生和复制的。最大长度线性移位寄存器序列(m序列)是保密通信中非常重要的一种伪随机序列,它具有随机性、规律性及较好的自相关和互相关性,而且密钥量很大。利用m序列加密数字信号,使加密后的信号在携带原始信息的同时具有伪噪声的特点,以达到在信号传输的过程中隐藏信息的目的;在信号接收端,再次利用m序列加以解密,恢复出原始信号。这样,通过对m序列的应用,将大大的提高通讯的保密程度和防窃取能力。这样的通讯手段被称为扩展频谱通信 扩展频谱通信(Spread Spectrum Communication)是将待传送的信息数据被伪随机编码也就是扩频序列调制,实现频谱扩展以后再在信道中传输,接收端则采用与发送端完全相同的编码进行解调和相关处理,从而恢复出原始的信息数据。在这其中,伪随机码发生器是十分重要的一环,是对信息加密的核心器件。m序列伪随机码发生器即使通过m序列的方式对信息数据编码。 本系统所设计的伪随机码发生器,产生m序列伪随机码。系统采用AT89S51单片机作为控制芯片,控制使用LCD12864显示处理器产生的m序列伪随机码,并且可通过按键对参数修改,设置初始码及m 序列长度。单片机根据设定的初始码及m序列长度,按照约定的逻辑运算关系,循环往复的产生0或者1。 2 发生器系统设计 2.1总体设计 系统分为信息处理、实时显示和按键修改共五大模块。 系统总体结构框图如图1所示:

(完整版)伪随机序列的毕业设计

摘要 本毕业设计主要介绍了两种常用的反馈移位寄存器序列(m序列和Gold序列)的特性,并对其进行仿真研究。 伪随机序列良好的随机性和接近于白噪声的相关函数,使其易于从信号或干扰中分离出来。伪随机序列的可确定性和可重复性,使其易于实现相关接收或匹配接收,因此有良好的抗干扰性能。伪随机序列的这些特性使得它在伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、数据加扰、信号同步、误码测试、线性系统、各种噪声源等方面得到了广泛的应用,特别是作为扩频码在CDMA系统中的应用已成为其中的关键问题。 在本论文中首先简要阐述了伪随机序列的研究现状及其相关意义,接着介绍了伪随机序列的发展历史,研究方法和研究工具。然后分别对m序列和Gold序列这两种常用的伪随机序列的生成过程、随机特性以及相关特性进行了详细的研究,并分析它们的优点以及存在的问题。最后在理论证明的基础上应用MATLAB仿真验证它们的随机特性,并用仿真做出m 序列和Gold序列相关特性图形并加以比较。 关键词:伪随机序列;m序列;Gold序列;相关;

ABSTRACT Matlab software used extensively in many engineering fields due to its strong operation fanction. To expanding or compressing the signal spectrum in spread spectrum system,the signal is generally multipled by a spread Spectrum sequence. The character of spread spectrum sequence significantly affects the communication quality. In all PN sequences, m-sequence and Gold-sequence are often used asspread spectrum sequence. In this paper, the brief introduction of the theory, property and constructing means of the two sequences are given first, and the generation and analysis of them by programming with M language in MATLAB are given later. The simulation results show the correctness and feasibility of this method.The simple and intuitive method is convenient for the engineering personnel. KEYWORDS:PN sequence; Sequence; Spread spectrum sequence 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除

基于MATLAB的m序列产生

第一章设计内容及要求 基于MATLAB产生m序列 要求: 1.通过matlab编程产生m序列的产生原理及其产生方法。 2.对特定长度的m序列,分析其性质,及其用来构造其它序列的方法。

第二章m序列设计方案的选择 2.1 方案一 MATLAB编程非常简单,无需进行变量声明,可以很方便的实现m序列。 2.2 方案二 图2.1 Simulink实现m序列 Simulink是MATLAB最重要的组件之一,它提供了一个动态系统建模,仿真和综合分析的集成环境。在此环境中无需大量书写程序,而只需通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应性广,结构及流程清晰及仿真精细等优点,基于以上优点,Simulink已被广泛的运用到控制理论和数字信号处理的复杂仿真和设计。 通过比较方案一和方案二,发现方案一的有点具有通用性而方案二利用MATLAB的Simulink直接搭建模块,在移位寄存器较少的情况下利用此方法比较简单,可是当移位寄存器的个数增多时,要搭建那么多的模块就显的很繁琐了,缺乏通用性,因此本次实验选择方案一。

第三章m序列的产生及性质 3.1 m序列的产生原理、结构及产生 m序列是最长线性反馈移位寄存器序列的简称,m序列是由带线性反馈的移位寄存器产生的。 由n级串联的移位寄存器和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。 带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化,其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。 n级线性移位寄存器的如图3.1所示: ◇A 图3.1 n级线性移位寄存器 图中C i表示反馈线的两种可能连接方式,C i=1表示连线接通,第n-i 级输出加入反馈中;C i=0表示连线断开,第n-i级输出未参加反馈。 因此,一般形式的线性反馈逻辑表达式为 ------表达式3.1将等式左边的a n移至右边,并将a n=C0a n(C0=1)带入上式,则上式可以 写成 -------表达式3.2 定义一个与上式相对应的多项式 --------表达式3.3 其中x的幂次表示元素的相应位置。该式为线性反馈移位寄存器的特征

伪随机序列发生器本科毕业论文

毕业论文声明 本人郑重声明: 1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。本人完全意识到本声明的法律结果由本人承担。 2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。 3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。 4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。 学位论文作者(签名): 年月

关于毕业论文使用授权的声明 本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。本人完全了解大学有关保存,使用毕业论文的规定。同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据 库和收录到《中国学位论文全文数据库》进行信息服务。在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。 论文作者签名:日期: 指导教师签名:日期:

伪随机序列m和M的生成算法实现

m-M 文档 1 相关概念 随机序列:可以预先确定又不能重复实现的序列 伪随机序列:具有随机特性,貌似随机序列的确定序列。 n 级线性移位寄存器,能产生的最大可能周期是21n p =-的序列,这样的序列称为m 序列。 n 级非线性移位寄存器,能产生的最大周期是2n 的序列,这样的序列称为M 序列。 图1线性移位寄存器 线性移位寄存器递推公式 11221101 n n n n n n i n i i a c a c a c a c a c a ----==++++= ∑ 线性移位寄存器的特征方程式 010 ()n n i n i i f x c c x c x c x ==+++= ∑ ,ci 取值为0或1 定义 若一个n 次多项式f (x )满足下列条件: (1) f (x )为既约多项式(即不能分解因式的多项式); (2) f (x )可整除(x p +1), p =2n -1; (3) f (x )除不尽(x q +1), q

由抽象代数理论可以证明,若α是n 次本原多项式()f x 的根,则集合2 2 {0,1,}n F α-= 可 构成一个有限的扩域(2)n G F 。F 中的任一元素都可表示为1110n n a a a αα--+++ ,这样n 个分量的有序序列110(,,,)n a a a - 就可表示F 中的任一元素。 若既约多项式()f x 的根能够形成扩域(2)n G F ,则该多项式是本原多项式,否则不是本原多项式。 2.2 二元域(2)GF 上的本原多项式算法实现 (2)GF 上n 次多项式的通式为 1 2 1210()...n n n n n f x x a x a x a x a ----=++++,系数是二元域上的元素(0,1) 既约多项式既不能整除,1x x +,0和1不可能是()f x 的根,即0a =1, ()f x 的项数一定为奇数。 另外,一个既约多项式是否能形成(2)n G F ,从而判断它是否为本原多项式。N 次多项式的扩域,其中,120,1,,,n ααα 一定在扩域中,需要判断的是12 2 ,n n αα+- 是否也在扩域 中,从而形成全部扩域(2)n G F ,若在,则该n 次既约多项式是本原多项式,否则不是。 (1)给定二元多项式 1 2 1210()...n n n n n f x x a x a x a x a ----=++++,01a = 设α是f(x)扩域中的一个元素,且f(α)=0则有: n n-1 n-11=a ++a +1αα α (1) (2)从n α开始,计算α的连续幂。在计算过程中,当遇到α的幂次为n 时,将(1)代入,一直计算到n 2 -2 α (形成GF (2n )),再计算n 2 -1 α 。若n 2-1 α =1,则证明()f x 能被n 21 x 1-+整 除,而不能整除1q x +(21n q <-),判定为本原多项式。在计算α的连续幂过程中,若 q x =1(21n q <-),则证明()f x 能被1q x +整除,判定为非本原多项式,停止计算。 在计算机实现时,n 个分量的有序序列110(,,)n a αα- 与α的任一连续幂有着一一对应的 关系,可以用有序序列110(,,)n a αα- 来表示α的任一连续幂。q α用110(,,)q q q n a αα- 来

(完整版)本科毕业设计-m序列发生器的仿真实现

编号: 审定成绩: 重庆邮电大学移通学院 毕业设计(论文) 设计(论文)题目:m序列发生器的仿真实现 单位(系别):电子信息工程系 学生姓名: 专业: 班级: 学号:

指导教师: 答辩组负责人: 填表时间:2012 年 5 月 重庆邮电大学移通学院教务处制

重庆邮电大学移通学院毕业设计(论文)任务书 设计(论文)题目 m序列发生器的仿真实现 学生姓名系别专业班级 指导教师职称联系电话 教师单位重庆邮电大学下任务日期__ 2012__年_03_月_ _日 主 要研究内容、方法和要求 1、掌握扩频通信的基本概念,了解m序列在扩频通信中的作用 2、了解m序列的性质和特点 3、掌握m序列发生器的结构,能够实现不同PN序列周期的m序列 4、掌握matlab仿真软件的应用 5、利用matlab仿真工具来实现不同周期的m序列 进度计划第3-5周:查阅资料,了解m序列在扩频通信中的作用第6-8周:了解m序列的随机性质以及m序列产生原理第9-11周:用matlab仿真工具实现不同周期的m序列第12-13周:撰写论文初稿,给出论文目录 第14-15周:撰写并修改论文

第16周:准备毕业答辩 主要参考文献1、啜钢,移动通信原理与系统,北京邮电大学出版社,2005.9. 2、田日才,扩频通信,清华大学出版社,2007.4. 3、王立宁,matlab与通信仿真,人民邮电出版社,2000.1. 4、吴海红,CDMA扩频通信中m序列与Gold序列的比较及应用, 喀什师范学院学报,2010.3. 指导教师签字:年月日 教研室主任签字:年月日 备注:此任务书由指导教师填写,并于毕业设计(论文)开始前下达给学生。

实验一 伪随机码发生器实验

实验一伪随机码发生器实验 电科1103 杨帆 3110104337 一、实验目的 1、掌握伪随机码的特性。 2、掌握不同周期伪随机码设计。 3、用基本元件库和74LS系列元件库设计伪随机码。 4、了解ALTERA公司大规模可编程逻辑器件EPM7128SLC84内部结构和应用。 5、学习FPGA开发软件MAXPLUSⅡ,学习开发系统软件中的各种元件库应用。 6、熟悉通信原理实验板的结构。 二、实验仪器 1、计算机一台 2、通信基础实验箱一台 3、100MHz示波器一台 三、实验原理 伪随机码是数字通信中重要信码之一,常作为数字通信中的基带信号源; 扰码;误码测试;扩频通信;保密通信等领域。伪随机码的特性包括四个方 面: 1、由n级移位寄存器产生的伪随机序列,其周期为-1; 2、信码中“0”、“1”出现次数大致相等,“1”码只比“0”码多一个; 3、在周期内共有-1游程,长度为i 的游程出现次数比长度为i+1的游程出现 次数多一倍; 例如:四级伪码产生的本原多项式为X 4 +X 3+1。 利用这个本原多项式构成的4级伪随机序列发生器产生的序列为: 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 四、实验内容及步骤 1、在MAXPLUSⅡ设计平台下进行电路设计 1.1 四级伪随机码发生器电路设计 电路原理图如图1-2所示。

在MAXPLUS II 环境下输入上述电路,其中:dff ------ 单D触发器 xor ------ 二输入异或门 nor4 ------ 四输入或非门 not ------ 反相器 clk ------ 时钟输入引脚(16M时钟输入) 8M ------ 二分频输出测试点引脚 nrz ------ 伪随机码输出引脚

4级m序列发生器设计参考

3级m序列发生器设计方案 图2.2 七位反馈移位移存器 方案一: 根据图2.2的结构模型,对于级数为n=3的m序列,可设置四个寄存器,将寄存器0和寄存器1进行异或运算,把结果赋给寄存器3。然后将寄存器2,1,0右移一位。再将寄存器3赋给寄存器2。这样就不会产生数据覆盖。最后把寄存器0输出。同理可得15位m序列,级数n=4的verilog建模思路。 方案二: 由于7位m序列1110010可用三位二进制7种状态表示,因此可用Moore有限状态机的行为进行建模方法。Moore有限状态机,其输出值只取决于当前状态,与输入值无关。可以通过在always语句块内使用case语句来实现,在每个case分支都应当有输出值及状态转换。设状态A=3'b111,B=3'b011,C=3'b001,D=3'b100,E=3'b010,F=3'b101,G=3'b110;它们的转换关系图如图2.3: 图 2.3 m序列发生器的状态转移图 方案一的程序比方案二简洁,方案二的思路比方案一更明白。二者的各有千秋。

4级m序列及其Manchester编码 module manchester_encodingnew(enc_data,m_test,clk); parameter BYTE_WIDTH=8; input clk; output enc_data; output m_test; reg phase; reg busy; wire clkr; wire enc_data; reg [2:0] bit_count; reg reg_data; reg Data_CLKT,Buff; reg [3:0]m_Buff; assign clkr=clk; initial begin Data_CLKT=0; busy=0; phase=0; bit_count=0; end always@(posedge clkr) begin Data_CLKT=~Data_CLKT; end always@ (posedge clkr) begin phase=~phase; end always@ (posedge clkr) begin if((bit_count==BYTE_WIDTH-1)&&phase) busy=0;

基于MATLAB的伪随机序列发生器的设计

通信工程专业 计算机课程设计 题目基于MATLAB的伪随机序列发生器的设计 学生姓名学号 所在院(系) 专业班级 指导教师 完成地点 2013年 11 月 12 日

计算机课程设计任务书 院(系) 专业班级学生姓名 一、课程设计题目基于matlab的伪随机序列发生器的设计 二、课程设计工作自 2013 年 10 月 27 日起至 2013 年 11 月 22 日止 三、课程设计进行地点: 四、课程设计的内容要求: 1、要求完成七级m 序列发生器的设计(本原多项式自定); 2、要求完成五级gold 序列发生器的设计(本原多项式自定); 3、采用matlab实现,并对其进行调试运行; 4、要求能清楚观察到稳定的序列。 指导教师系(教研室) 通信工程系 接受任务开始执行日期 2013年10月27日学生签名 基于matlab的伪随机序列发生器的设计

[摘要]伪随机序列码越来越受到人们的重视,被广泛用于导弹、卫星、飞船轨道测量和跟踪、雷达、导航、移动通信、保密通信和通信系统性能的测量以及数字信息处理系统中。本文主是对基于matlab的伪随机序列发生器的设计,及其利用matlab软件对其进行仿真和利用simulink对其仿真性能的研究,主要阐述了扩频系统中m序列和gold序列的产生。在第一部分中介绍了课题研究的背景,第二部分中介绍了扩频系统的相关知识,第三部分介绍了m序列和Gold序列产生的原理和方法,第四部分利用matlab和simulink对其进行仿真。 [关键词]伪随机序列 m序列移位寄存器 Design of the pseudo-random sequence generator based on matlab

基于Matlab的m序列发生器的

目录 第一章绪论..................................................................................................................1 1.1背景及意义 ....................................................................................................1 1.2设计内容及要求...............................................................................................1 1.2.1 设计内容................................................................................................1 1.2.2 设计要求................................................................................................2 1.3系统框图..........................................................................................................2第二章 m序列的分析.......................................................................................................3 2.1 m序列的原理...........................................................................................................3 2.2 m序列的相关特性 ...................................................................................................4 2.2.1均衡特性(平衡性) ...............................................................................4 2.2.2游程分布(游程分布的随机性) ...............................................................4 2.2.3移位相加特性(线性叠加性) ..................................................................4 2.2.4自相关特性.............................................................................................5第三章 m序列的设计............................................................................................................. 6 3.1特征多项式确定..............................................................................................6 3.2本原多项式的确定...........................................................................................7 3.3 m序列的发生..............................................................................................8第四章程序调试及结果分析..................................................................................10结论............................................................................................................................12参考文献....................................................................................................................13附录一:程序代码....................................................................................................14

专业实验类:伪随机信号发生器

H a r b i n I n s t i t u t e o f T e c h n o l o g y EDA技术高级应用 实验报告 姓名:禾小鬼 同组人: 学号:16S 班级:信息2班 指导教师:xxx 院系:电信学院

实验二伪随机信号发生器 一、实验原理 实验要求设计一个伪随机信号发生器,什么是伪随机信号发生器?如果一个序列,一方面它是可以预先确定的,并且是可以重复地生产和复制的;一方面它又具有某种随机序列的随机特性(即统计特性),我们便称这种序列为伪随机序列。因此可以说,伪随机序列是具有某种随机特性的确定的序列。它们是由移位寄存器产生确定序列,然而他们却具有某种随机序列的随机特性。因为同样具有随机特性,无法从一个已经产生的序列的特性中判断是真随机序列还是伪随机序列,只能根据序列的产生办法来判断。伪随机序列系列具有良好的随机性和接近于白噪声的相关函数,并且有预先的可确定性和可重复性。这些特性使得伪随机序列得到了广泛的应用,特别是在CDMA系统中作为扩频码已成为CDMA技术中的关键问题。特性为序列中两种元素出现的个数大致相等;如果把n个元素连续出现叫做一个长度为n的元素游程,则序列中长度为n的元素游程比长度为n+1的元素游程多一倍;序列有类似白噪声的自相关函数。 实验指导书上已经给出一个4位伪随机信号发生器的原理图,如图1所示,一个4位的移位寄存器,第1级和第4级的输出信号通过一个异或门反馈到第1级的输入。随着连续的时钟周期信号,可以生成15个不同的测试向量。 图1 伪随机二进制序列产生器 在开始之前,首先要明确设计目的,我们的想要用电路图方法实现设计一个“伪随机信号发生器”。首先设计一个4位伪随机信号发生器,按照图1所示连接电路即可。然后,扩展到多位。

伪随机序列发生器

伪随机序列发生器 一、实验目的: 理解伪随机序列发生器的工作原理以及实现方法,掌握MATLAB\DSP BUILDER设计的基本步骤和方法。 二、实验条件: 1. 安装WindowsXP系统的PC机; 2. 安装QuartusII6.0 EDA软件; 的序列发生器,并通 ⒈ ⒉ ⒊⒋⒌⒍⒎⒏ ⒐ ⒑ ⒒⒓⒔⒕⒖⒗ 四、实验原理: 对于数字信号传输系统,传送的数字基带信号(一般是一个数字序列),由于载有信息,在时间上往往是不平均的(比如数字化的语音信号),对应的数字序列编码的特性,不利于数字信号的传输。对此,可以通过对数字基带信号预先进行“随机化”(加扰)处理,使得信号频谱在通带内平均化,改善数字信号的传输;然后在接受端进行解扰操作,恢复到原来的信号。伪随机序列广泛应用与这类加扰与解扰操作中。我们下面用DSP BUILDER来构建一中伪随机序列发生器——m序列发生器,这是一种很常见的伪随机序列发生器,可以由线性反馈器件来产生,如下图:

其特征多项式为: ()∑==n i i i x C x F 0 注:其中的乘法和加法运算都是模二运算,即逻辑与和逻辑或。 可以证明,对于一个n 次多项式,与其对应的随机序列的周期为。 12?n 接下来我们以为例,利用DSP BUILDER 构建这样一个伪随机序列发生器。 125++x x 开Simulink 浏览器。 Simulink 我们可以看到在Simulink 工作库中所安装的Altera DSP Builder 库。 2. 点击Simulink 的菜单File\New\Model 菜单项,新建一个空的模型文件。

伪随机序列matlab仿真

MATLAB实验报告 姓名:李金玮 学号:14061114 班级:14184111

实验七伪随机序列的产生与相关特性分析 一、实验目的 1、了解伪随机序列的相关知识。 2、了解m 序列的相关知识,了解其相关性质。 3、学会用matlab 实现方框图描述的系统,并由此产生m 序列。 二、相关理论知识 (1)伪随机序列 伪随机序列, 又称伪随机码, 是一种可以预先确定并可以重复地产生和复制, 又具有随机统计特性的二进制码序列。在现代工程实践中, 伪随机信号在移动通信、导航、雷达和保密通信、通信系统性能的测量等领域中有着广泛的应用。例如,在连续波雷达中可用作测距信号, 在遥控系统中可用作遥控信号, 在多址通信中可用作地址信号, 在数字通信中可用作群同步信号, 还可用作噪声源以及在保密通信中的加密作用等。伪随机发生器在测距、通信等领域的应用日益受到人们重视。 伪随机信号与随机信号的区别在于: 随机信号是不可预测的, 它在将来时刻的取值只能从统计意义上去描述;伪随机序列实质上不是随机的, 而是收发双方都知道的确定性周期信号。之所以称其为伪随机序列, 是因为它表现出白噪声采样序列的统计特性, 在不知其生成方法的侦听者看来像真的随机序列一样。m 序列作为一种基本的PN 序列,具有很强的系统性、规律性和相关性。 (2)m 序列的产生 ①线性反馈移位寄存器 m 序列发生器的系统框图如图。其中加法器为“模2 相加”运算,寄存器与反馈的每一位只有1、0 两种状态。

由于带有反馈,因此在移位脉冲作用下,移位寄存器各级的状态将不断变化,通常移位寄存器的最后一级做输出,输出序列为 输出序列是一个周期序列。其特性由移位寄存器的级数、初始状态、反馈逻辑以及时钟速率(决定着输出码元的宽度)所决定。当移位寄存器的级数及时钟一定时,输出序列就由移位寄存器的初始状态及反馈逻辑完全确定。当初始状态为全零状态时,移位寄存器输出全0序列。为了避免这种情况,需设置全0 排除电路。 三、实验任务 编写程序利用5级移位寄存器产生m序列,初始状态全1,抽头系数[1 0 0 1 1 1]。 四.我自己的实验代码 clear all close all solve=0; zk=0 a=[1,1,1,1,1]%an c=[1,1,1,0,1,1] lena=length(a) lenb=length(c) newc=fliplr(c) shuchu=zeros(1,lena) for zk=1:2^(lena+1) for k=1:lena zhong(k)=a(k)*newc(k); lenz=length(zhong) %solve=0; end%%%%得到每个被加数 for t=1:lenz solve=solve+zhong(lenz-t+1) if solve>=2 solve=0

m序列发生器设计实现

河南师范大学设计性实验报告 学期:2014-2015学年第 1 学期 m序列发生器设计实现_实验 实验小组成员: 班级:2013级网络工程班 学院:计算机与信息工程学院 填表日期: 2014年 11月 29 日

实验项目简介: 1 问题描述 通常产生伪随机序列的数字电路为一反馈移位寄存器。根据其构成结构,它又分为线性反馈移位寄存器和非线性反馈移位寄存器两类,由线性反馈移位寄存器产生的周期最长的二进制数字序列称为最大长度线性反馈移位寄存器序列,简称m序列。 2.实验原理: 此实验是用4位移位寄存器实现可控乘/除法2到8步长为2n电路通过分析不难看出本次实验的乘除法运算中一个只出现三个数字2、4、8写成二进制为0010、0100、1000可以发现每一次乘法都只是将1向左移一个位每一次除法则是向右移一位,那么就可以使用74194双向移位寄存器。首先要了解4位移位寄存器。工作原理:74194是一个4位双向移位寄存器。它具有左移、右移、并行输入数据、保持以及清除等五种功能: 当~R=1MA MB=00 MA MB=01 MA MB=10 MA MB=11 3.一个完整的系统应具有以下功能: 1)控制信号的移动方向,通过改变S1S0的编码状态,使移位器左移、右移、保持等。 2)可以得到m序列的周期,通过观察示波器中CLK与Sl或者Sr的波形,可以得出m序列的周期。 4.实验目的: 1、掌握M序列信号产生的基本方法 2、利用EWB产生M序列信号,设计电路做成M序列信号发 5.实验条件:学院提供公共机房,1台/学生微型计算机。

实验总结: 1.在实验的过程中,小组成员积极准备。通过实验加深了对74194芯片性能的 了解,提高了各个成员的动手能力。 2.但是由于知识掌握不够全面准确的原因,实验过程中多次出现问题,小组成 员积极思考,最终解决了问题。 3.在观察m序列周期的过程中,出现了周期同预期不符合的情况,最终发现 是输入脉冲时出现了问题。

基于FPGA的伪随机序列发生器设计

摘要:讨论了应用移位寄存器在Ahera的FPGA芯片中实现线性和非线性伪随机序列的方法,该算法基于m序列本原多项式来获得线性m序列和非线性m子序列移位寄存器的反馈逻辑式。文中给出了以Altera的QuartusⅡ为开发平台,并用VHDL语言实现的m序列的仿真波形。 关键词:伪随机序列;m序列;m子序列;移位寄存器;VHDL语言编程 0 引言 伪随机序列现已广泛应用于密码学、扩频通讯、导航、集成电路的可测性设计、现代战争中的电子对抗技术等许多重要领域。伪随机序列的伪随机性表现在预先的可确定性、可重复产生与处理。伪随机序列虽然不是真正的随机序列,但是当伪随机序列周期足够长时,它便具有随机序列的良好统计特性。在已有的序列中,m序列的应用最为成熟和广泛,为此,本文给出线性m序列和基于m序列的非线性m子序列的FPGA实现方法。由于FPGA的内部逻辑功能是通过向内部静态存储器单元加载配置数据来实现的,其配置文件决定了逻辑单元的逻辑功能以及模块间或与I/O间的连接,故可最终决定FPGA实现的功能。FPGA的这种结构允许多次编程,并享有快速有效地对新设计进行优化的灵活性,为此,本文选用了altera的cyclone系列FPGA芯片。EPlCl2-240PQFP,该芯片内部有12060个逻辑单元、239616 bit RAM、两个锁相环(PLL)。本文应用移位寄存器理论来产生序列,其算法的关键是找到线性m序列和非线性m子序列移位寄存器的反馈逻辑式。 1 m序列的实现 1.1 基于FPGA的m序列实现 利用反馈移位寄存器产生0、1序列时,其n位反馈移位寄存器的逻辑功能如图1所示。 图中,xi表示寄存器所处的状态,通常用0和1来代表两个可能的状态,并且把0和1看成是有限域GF(2)的两个元素。f(x0,x1,…,xn-1)刻划了移位寄存器反馈逻辑的功能,它可以看成一个定义在GF(2)上并且在GF(2)中取值的n元函数,当f(x0,x1,…,xn-1)可以表 示成一线性齐次函数时,即GF(2),相应的反馈移位寄存器是线性的,而由线性移位寄存器产生的序列就称为线性移位寄存器序列。m 序列就是线性移位寄存器序列。 对于一个n级m序列移位寄存器来说,它在每一时刻的内部状态都可以看做有限域GF(2)上的一个n维向量,而反馈函数就是刻划了从每一时刻的状态到下一时刻状态的转移规律,或者说反馈函数定义了n维向量空间上的一个线性变换。 通常可以用Vn(F)代表域GF(2)上全体n元数组构成的n维向量空间,

01实验一 伪随机码发生器实验

实验一 伪随机码发生器实验 一、实验目的 1、 掌握伪随机码的特性。 2、 掌握不同周期伪随机码设计。 3、 用基本元件库和74LS系列元件库设计伪随机码。 4、 了解ALTERA公司大规模可编程逻辑器件EPM7128SLC84内部结构和应用。 5、 学习FPGA开发软件MAXPLUSⅡ,学习开发系统软件中的各种元件库应用。 6、 熟悉通信原理实验板的结构。 二、实验仪器 1、 计算机 一台 2、 通信基础实验箱 一台 3、 100MHz 示波器 一台 三、实验原理 伪随机码是数字通信中重要信码之一,常作为数字通信中的基带信号源;扰码;误码测试;扩频通信;保密通信等领域。伪随机码的特性包括四个方面: 1、 由n 级移位寄存器产生的伪随机序列,其周期为-1; n 2 2、 信码中“0”、“1” 出现次数大致相等,“1”码只比“0”码多一个; 3、 在周期内共有-1游程,长度为 i 的游程出现次数比长度为 i+1的 游程出现 次数多一倍; n 24、 具有类似白噪声的自相关函数,其自相关函数为: ()() ?? ? ?≤≤=??=2 210 12/11n n τττρ 其中n 是伪随机序列的寄存器级数。 例如:四级伪码产生的本原多项式为X 4+X 3+1。 利用这个本原多项式构成的4级伪随机序列发生器产生的序列为: 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 相应的波形图如图1-1所示:

图1-1 四级伪随机序列波形图 用4个D 触发器和一个异或门构成的伪码发生器具有以下特性: 1、 周期为24-1=15; 2、 在周期内“0”出现24 -1-1=7次,“1”出现24 -1=8次; 3、 周期内共有24 -1 =8个游程; 4、 具有双值自相关特性,其自相关系数为: ????≤≤??==2 21)12(10 14 4τ / τ ρ(τ) 四、实验内容及步骤 1、在MAXPLUSⅡ设计平台下进行电路设计 1.1 四级伪随机码发生器电路设计 电路原理图如图1-2所示。 图1-2 四级伪随机码电路原理图 在MAXPLUS II 环境下输入上述电路,其中: dff ------ 单D触发器 xor ------ 二输入异或门 nor4 ------ 四输入或非门 not ------ 反相器 clk ------ 时钟输入引脚(16M时钟输入) 8M ------ 二分频输出测试点引脚 nrz ------ 伪随机码输出引脚 1.2 实验电路编译及FPGA 引脚定义 完成原理图输入后按以下步骤进行编译: (1) 在Assign Device 菜单选择器件MAX7128SLC84。

相关文档
最新文档