首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
用 FPGA 产生高斯白噪声序列的一种快速方法
来源:本站整理  作者:佚名  2009-03-24 15:31:48



在 ISE8.1i 开发环境中得到的系统功能仿真图如图 6 所示。实验中,系统的输入时钟为 60MHz 。图 6 中的 regl_value 表示线性反馈的移位寄存器在时钟 clk1 上升沿触发的状态值。 reg2_value 表示在同步时钟 clk2 上升沿采样 reg_value1 的值, clk2 是 clk1 的 8 倍分频。仿真证明,本系统可以实现线性反馈移位寄存器每转 8 次取出一个状态值,并可减小不同时刻随机变量之间的相关性 ( 非相关化处理 ) 。根据 reg2_value 并通过比较选择器输出对应直线段的 slope( 斜率 ) 、 point( 起点的横坐标 ) 、 point_value( 起点的纵坐标 ) 可见, reg2_value_delay 比 reg2_value 可延时半个 clk2 ,因而可保证输入算术计算模块的数据的同步。这样,再经算式: gauss_output=(reg2_value_delay-point)*slope+point_value ,就可得到高斯白噪声序列。为了确保采得稳定的信号值,操作时应在信号持续时间的中间位置进行采样。由于高斯白噪声序列 gauss_output 是 reg2_value_delay ,、 point 、 slope 、 point_value 之间的加、减、乘运算所得到的,所以, gauss_output 有相应延时。

 

本设计用 Xilinx 的 xc3s1200e-4fg320 为目标器件来对代码进行综合,所用的 FPGA 资源如下:

           

可见,该方案占用硬件资源较少。

 

为了验证硬件实现的正确性,还可将其下载到开发板,并采用 ChipScope Pro 8.1i 将硬件产生的高斯白噪声序列通过并口回传,同时将数据导入到 Matlab 。由于 ChipScope 要利用 FPGA 的片内存储空间暂存采样值,所以,一次采集的信号数目有限且与 FPGA 型号有关。笔者将一次采集到的 16384 个样值导入 Maflab 后,再将数据小数化 ( 因为 FPGA 中处理的是定点数 ) ,然后调用 Matlab 中的 psd 函数估计出了其功率谱图。实际结果证明,本系统产生的高斯白噪声与理论值非常接近,也就是说,该方案可行。

 

由于本系统采用 VHDL 语言编写,故其可移植性较强。当在通信工程中需要带限高斯白噪声时,就可在高斯白噪声后接一个带通滤波器 ( 在 FPGA 中应用自带 IP 核可轻松实现 ) 。由于滤波后的噪声能量会有损失,所以要做相应的能量补偿。之后,再将产生的带限高斯白噪声序列 ( 约 50000 点 ) 导入 Matlab 中,然后调用 hist 函数就可得到图 7 所示的序列直方图,而调用 psd 函数即可得到图 8 所示的序列功率谱图。从直方图可见带限高斯白噪声的概率密度函数是高斯型的,而从功率谱可见,在通带内,功率谱密度近似为常数,这些都与理论一致。

                  

4 结束语  

本文提出了一种在 FPGA 中快速产生高斯白噪声序列的实现方案。同时基于均匀分布和高斯分布之间的映射关系曲线,提出并应用了适合在 FPGA 中实现的折线逼近法。本文采用了 15 条首尾连接的直线段去逼近映射关系曲线 ( 按不同的工程精度要求,可选择个数不同的直线段去逼近 ) 。显然,所用的折线拐角越多 ( 直线段个数越多 ) ,精度越高,但所消耗的 FPGA 资源也越多。该方案具有简单易行,运算量小等优点。而且实现速度快,可源源不断的产生高斯白噪声序列,同时占用的硬件资源较少。由于软件采用 VHDL 语言编写,可移植性强,故可灵活用于 Watterson 信道模拟器或嵌入调制解调器等其它系统。
 

上一页  [1] [2] [3] [4]  下一页

关键词:

·上一文章:阶高密度双极性信号编译码的建模与仿真
·下一文章:基于Web和硬件可重构技术的远程抄表设计
[] [返回上一页] [打 印]

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:232,601.60000 毫秒