当前位置:文档之家› 专业实验类:伪随机信号发生器

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

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所示连接电路即可。

然后,扩展到多位。

二实验过程和结果
1.第一步:建立一个新的工程
新建工程的过程中,最重要的是设置器件,不同的器件的,设计之间并不兼容。

会有一个综合的信息框,注明了我所做的设置,看看没问题就可以了。

然后新建一个原理图文件schematic,作为顶层文件,将顶层文件命名为psr(pseudo_random_signal),在上面进行画图。

2.第二步:画电路图
本次实验采用软件自带的器件库的器件即可,然后按照图1画出电路图。

我画的电路图,如图2所示。

其原理为:连续的四个D触发器起到依次平移的作用,即每来一个时钟依次将输出向低位移动,低位x0和高位x3进行异或作为输入。

图2 电路图设计方案
3.行为仿真验证和结果分析
在电路图链接无误后,开始行为仿真,新建仿真文件,由于我使用的是quartus ii 9.1,软件自带仿真功能,不用利用第三方软件仿真。

首先将引脚引入,然后设置各个输入引脚的输入状态,包括clk和pre,最后设置仿真长度。

我设置时钟1M,仿真长度100us。

仿真结果如图3所示。

图3 功能仿真结果
4.修改并实现一个8位伪随机序列发生器
由于画电路图实在麻烦,我采用的是语言的形式实现的8位M序列发生器。

设计的程序如图4所示,然后,进行仿真验证,结果如图5所示。

图4 8位伪随机序列发生器verilog设计方案
图5 8位伪随机序列发生器仿真验证结果
三讨论与分析
由于第二部分已经对实验结果进行了详细的分析,下面讲总结在实验过程中遇到的困难,总结如下:
1.Verilog语言的形式可以更简洁的表达功能,而电路图的形式更容易让
人理解电路的功能。

2.设置实验仿真的时候,要清晰处理好所有输入控制之间的关系,使得在
仿真结果中可以清晰的看出输入控制是否发挥作用。

附录
实验程序:
module PSR(nrst,clk,M_out);
input nrst,clk;
output M_out;
reg M_out;
reg [8:0] A;
reg [8:0]counter;
always @(posedge clk or negedge nrst)
begin
if(! nrst)
A<=9'b1_0000_0000;
else
begin
A<=A>>1;
A[8]<=(A[0]^A[4]^A[5]^A[6]^A[8]);
M_out<=A[0];
end
end
endmodule
指导教师签字:。

相关主题