前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FPGA项目开发:基于FIR滤波器的带限白噪声的设计

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

原创
作者头像
FPGA技术江湖
修改2021-04-16 17:49:10
1.2K0
修改2021-04-16 17:49:10
举报
文章被收录于专栏:FPGA技术江湖FPGA技术江湖

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

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

一、 高斯白噪声

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

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

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

二、 产生方法

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

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

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

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

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

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

四、 FIR滤波器系数重载

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

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

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

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

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

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

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

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

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

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

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

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FPGA项目开发:基于FIR滤波器的带限白噪声的设计
  • 一、 高斯白噪声
  • 二、 产生方法
  • 三、 线性反馈移位寄存器(LFSR)
  • 四、 FIR滤波器系数重载
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档