FPGA项目开发:基于FIR滤波器的带限白噪声的设计

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

大侠好,最近本媛比较忙,没有时间更新。时间太长,怕大家忘了我,今天我来了,今天由“82年的程序媛”本媛给大侠带来基于FIR滤波器的带限白噪声的设计,后续本媛还会继续更新产品项目开发心得,学习心得等,欢迎大家持续关注,话不多说,上货。

一、 高斯白噪声

高斯噪声:是一种随机噪声,其时域内的信号幅度的统计规律服从高斯分布。

白噪声:信号的功率谱在整个频域内为常数的噪声。

带限白噪声:带宽限制在一定范围内的高斯白噪声。

二、 产生方法

传统的高斯白噪声的产生是将多个m序列通过D/A转换器,然后通过滤波器得到,比较繁琐。本项目将通过线性反馈移位寄存器和FIR滤波器完成。

首先通过matlab中wgn函数生成高斯白噪声,并将生成的噪声数据存入到rom中,然后通过LFSR产生m序列伪随机码作为rom地址对噪声数据进行读取增加其随机性,最后将输出的随机噪声通过FIR滤波器得到带限白噪声。

三、 线性反馈移位寄存器(LFSR)

伪随机码的性能指标直接影响产生白噪声的随机性。本设计采用xilinx提供的LFSR IP核来实现。

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

LFSR可以通过如图方式进行配置,可选择输出的数据类型、位宽、小数位等。

本设计选择数据类型为UFIX_32_4,然后再通过convert对其进行截位,得到UFIX_10_0的数据输出作为ROM地址,再一次提高了随机性。

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

四、 FIR滤波器系数重载

该部分滤波器的设计选择Use Reloadable Coefficients模式,接收系统发送的滤波器系数,产生可变带宽的带限噪声信号。

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

使用可重新加载的滤波器系数时,需将内部系数设置成相同长度的0,然后借助FDATools设计并导出滤波器系数。

本设计中低通FIR滤波器使用等波纹法设计、128阶,250M采样率、通带频率10M、截止频率20M。

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

设计完成后可通过下图操作将系数生成.m文件,然后就可以作为重载系数输入到滤波器中了。

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

滤波器设置成系数重载模式时,需控制的接口如下图;

其中data_tdata_real即为输入的数据,reload_tdata_data为输入的系数。

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

其接口时序图如下图所示:

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

按照时序要求配置FIR滤波器:

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

然后对输出数据的位宽和类型进行调整得到结果。

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

最后得到的带宽为10M的带限白噪声:

FPGA项目开发:基于FIR滤波器的带限白噪声的设计

今天本媛就说到这里,后续继续和大侠一起分享,欢迎关注貌美如花的“82年的程序媛”本媛,江湖偌大,继续闯荡,加油!

【QQ交流群】

群号:173560979,进群暗语:FPGA技术江湖粉丝。

多年的FPGA企业开发经验,各种通俗易懂的学习资料以及学习方法,浓厚的交流学习氛围,QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有。

【微信交流群】

现微信交流群已建立09群,人数已达数千人,欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式。

后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。

江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!

上一篇:题解 P7259 【[COCI2009-2010#3] SORT】


下一篇:【附段错误原因,最后两个测试点】1052 Linked List Sorting (25 分)【链表类题目总结】