串行结构的FIR滤波器设计

该博客介绍了在FPGA中设计一个15阶低通线性相位FIR滤波器的过程,采用全串行结构,详细讲解了滤波器的累加运算实现,以及布莱克曼窗函数的设计。内容包括功能描述、平台效果图、实现过程和MATLAB仿真分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本案例节选明德扬FPGA企业内训中的项目训练。

一、功能描述

FIR滤波器,即有限脉冲响应滤波器,顾名思义,是指单位脉冲响应的长度是有限的滤波器。而根据FIR滤波器的结构形式,分为直接型、级联型、频率取样型和快速卷积型。其中直接型又可以采用串行结构、并行结构、分布式结构。本案例实现了具有线性相位的半串行结构的FIR滤波器。


所谓串行结构,即串行实现滤波器的累加运算,将每级延时单元与相应系数的乘积结果进行累加后输出,因此整个滤波器实际上只需要一个乘法器运算单元。串行结构还可以分为全串行和半串行结构,全串行结构是指进行对称系数的加法运算也由一个加法器串行实现,半串行结构则指用多个加法器同时实现对称系数的加法运算。


本案例设计了一个15阶的低通线性相位FIR滤波器,采用布莱克曼窗函数设计,截止频率为500HZ,采样频率为2000HZ;实现全串行结构的滤波器,系数的量化位数为12比特,输入数据位宽为12比特,输出数据位宽为29比特,系统时钟为16kHZ。采用具有白噪声特性的输入信号,以及由200HZ及800HZ单点频信号叠加的输入信号。


滤波器系数:12'd0,-12'd3,12'd15,12'd46,-12'd117,-12'd263,12'd590,12'd2047


二、平台效果图

1.modelsim仿真效果图

1491899426122283.png

1491899355771602.png

1491899506688422.png

2.MATLAB效果图

1491899574615827.png

1491899877130958.png


三、实现过程

首先根据所需要的功能,列出工程顶层的输入输出信号列表。

信号名

I/O

位宽

说明

clk

I

1

系统工作时钟50M

rst_n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值