有限脉冲响应FIR滤波器详解

FPGA极客空间 发表于 2018-06-25 14:59:25 收藏 已收藏
赞(0) •  评论(0

有限脉冲响应FIR滤波器详解

FPGA极客空间 发表于 2018-06-25 14:59:25

我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。本公众号作者ALIFPGA,多年FPGA开发经验,所有文章皆为多年学习和工作经验之总结。

数字滤波器通常用于修正或者改变时域或频域中信号的特性。最为普通的数字滤波器就是线性时不变LTI滤波器。

有限脉冲响应FIR滤波器是一种LTI滤波器。N阶的FIR滤波器的输出对应于输入时间序列xn的关系形式如下:

hk为滤波器系数。

y0 = h0*x0

y1 = h0*x1 + h1*x0

y2 =h0*x2 + h1*x1 + h2*x0

.................................................

公式展开如上,可使用之前介绍的分布式算法实现FIR滤波器。

FIR滤波器有多种实现形式:

等波纹

最小二乘法

窗函数等

等波纹设计法:

如上图,FIR等波纹低通滤波器滤波器,matlab下的参数设计,通过matlab的fadtool,可以得到滤波器的系数,从而实现最终的FIR滤波器设计。

Response Type:选择FIR滤波器的类型:低通、高通、带通和带阻等。在DDC/DUC模块设计中,抽取和内插需要使用Halfband Lowpass类型,而channel filter需要使用Raised-cosine类型。

Design Method:FIR滤波器设计方法有多种,最常用的是窗函数设计法(Window)、等波纹设计法(Equiripple)和最小二乘法(Least-Squares)等。其中窗函数设计法在学校课堂中是重点讲解的,提到FIR滤波器肯定会想到hamming、kaiser窗,但是实际应用中却很少使用,因为如果采用窗函数设计法,达到所期望的频率响应,与其它方法相比往往阶数会更多;而且窗函数设计法一般只参照通频带wp、抑制频带ws和理想增益来设计滤波器,但是实际应用中通频带和抑制带的波纹也是需要考虑的,那在这种情况下,采用等波纹设计法就非常适用了。

Filter Order:设置滤波器的阶数,这个选项直接影响滤波器的性能,阶数越高,性能越好,但是相应在FPGA实现耗用的资源需要增多。在这个设置中提供2个选项:Specify order和Minimum order,Specify order是工程师自己确定滤波器的阶数,Minimum order是让工具自动确定达到期望的频率相应所需要的最小阶数,因此具体选择哪个选项得视实际情况而定了。

density factor:这个参数控制了频率网的密度。提高这个参数的值可以使设计出的滤波器更加接近理想的频率响应,但这样会增加滤波的计算量。因为滤波器设计要求频率网上每个频点都要满足理想滤波器的指标规格,频率网越密,设计出的滤波器公式越复杂。

Frequency Specification:设置频率响应的参数,包括采样频率Fs、通带频率Fpass和阻带频率Fstop。

magnitude specifications:定义幅值衰减,单位是db,分贝。Apass表示通带衰减,Astop表示阻带衰减。Apass/Astop = 20*log10(输出/输入)。

用等波纹最佳逼近法设计的滤波器,其通带和阻带均为等波纹特性,且通带最大衰减和阻带最小衰减可以分别控制,所以其指标均匀分布,没有资源浪费,所以阶数低得多。

收藏

相关话题
文章来源专栏

评论(0)

加载更多评论

参与评论

分享到

QQ空间 QQ好友 微博
取消