毕业论文

打赏
当前位置: 毕业论文 > 电子通信 >

基于FPGA的高斯白噪声发生器设计与实现仿真+源码(6)

时间:2016-12-13 20:00来源:毕业论文
5. 高斯白噪声发生器的仿真结果分析 在本设计中,把Altera公司的QuartusⅡ作为FPGA的开发环境,其具有强大的功能,友好的界面,并且使用起来便捷。该系列


5. 高斯白噪声发生器的仿真结果分析
在本设计中,把Altera公司的QuartusⅡ作为FPGA的开发环境,其具有强大的功能,友好的界面,并且使用起来便捷。该系列具有最多200K逻辑单元、8Mb存储器,而静态功耗不到0.25W。在Cyclone和Stratix等系列的FPGA中存在着QuartusⅡ中的PLL宏模块,因此就可根据需要在Mega Wizar Plug-In Manager工具中设置分频或倍频系数、相移、占空比。下面就是它的开发流程,把QuartusⅡ软件打开,单击Tools中的Mega Wizar Plug-In Manager,在I/O菜单下点击ALTPLL,将inclock0设置为45MHz,倍频系数设置为6,取消pllena、areset和locked这三项,其余均用默认值,确定完成后就可以生成PLL图元,在编辑原理图文件中可直接调用[8]。仿真过程中,本设计需要把MATLAB生成的仿真图转换为mif文件,以便于完成ROM的定制,为QuartusⅡ的仿真做准备[9]。
顶层设计,调用文件准备好后,利用QuartusⅡ软件对所设计的高斯白噪声信号发生器进行功能仿真,结果如图8所示。然后借助MATLAB软件工具可以得到更为直观的仿真图如图9所示。
 
图8  高斯白噪声发生器仿真图
图9  高斯白噪声MATLAB仿真图形
改变高斯白噪声的发生频率,通过QuartusⅡ仿真软件我们又可以得到其仿真图如图10所示。
 
图10  调节频率后高斯白噪声仿真图
调节频率后的MATLAB仿真图如图11所示。
 
      图11  调节频率后高斯白噪声MATLAB仿真图
在FPGA平台上,本设计完成了高斯白噪声发生器的设计,里面有m序列产生单元,FIR数字滤波模块,DDS算法,我们需要FPGA逻辑单元资源的86%,RAM资源的1%,50MHz的时钟,50ppm的稳定度的有源晶振,把EP2C70内部的PLL作为系统全局时钟,采用ADI公司的AD9744进行D/A转换,高采样速率,对模拟信号进行滤波放大,我们就可以得到性能良好的高斯白噪声[10]。
本设计中采用了DDS模块,通过查阅资料知道它的产生原理是改变查找表中的内容就可以得到不同波形,由此知道本设计不仅可以得到理想的高斯白噪声,仿真时还可以得到正弦波、三角波、方波、锯齿波,波形分别如图12、图13、图14、图15所示[11]。另外,再加上适当的输出控制,就可以实现不同波形之间的切换,以达到设计所需要求。本设计通过改变它的幅度和频率还可以得到其他复杂的波形。
 
图12  正弦波波形
 
图13  三角波波形
 
图14  方波波形
    
图15  锯齿波波形
通过以上可知,在FPGA内部本设计可以产生五种波形,分别是高斯白噪声、正弦波、三角波、锯齿波、方波,但是在输出端只允许输出一种,由此设计时需要外加外围控制电路,对波形进行选择[12]。波形选择模块设计VHDL语言如下。
always @(se_word)
Begin
      Se_word_r<=se_word;
      if(se_word_r==3’b000)
         Dataout_q<=datain_sin;
      if(se_word_r==3’b001)
         Dataout_q<=datain_triangle;
      if(se_word_r==3’b010)
         Dataout_q<=datain_rectangle;
      if(se_word_r==3’b011)
         dataout_q<=datain_jc;
      if(se_word_r==3’b100)
         dataout_q<=datain_noise;
end
se_word为3位波段控制开关,0代表关,1代表开。控制开关的逻辑功能如表1所示。 基于FPGA的高斯白噪声发生器设计与实现仿真+源码(6):http://www.youerw.com/tongxin/lunwen_910.html
------分隔线----------------------------
推荐内容