《数字滤波器的MATLAB与FPGA实现》学习笔记 第四章 FIR滤波器的FPGA设计与实现

参考文献:《数字滤波器的MATLAB与FPGA实现—Altera Verilog版》[杜勇 编著] 2015年版


一、FIR滤波器的理论

1.FIR滤波器的表达形式

y(n)=\sum _{k=0}^{k=M}b_{n-k}x_{n-k}

h(n)=\sum_{k=0}^{k=M}b(n-k)

2.FIR滤波器的基本特性

  • 当FIR滤波器的系数对称时,通带内满足线性相位。系数奇对称相比于系数偶对称多了90°的相移。这种在所有频率上都产生90°相移的变换称为正交变换,这种网络称为正交变换网络

  • 相比于IIR滤波器(无线性相位特征),在相同的性能指标下,所需要的阶数更多,实现时消耗的硬件资源也越多

  • FIR只在原点处存在极点,FIR滤波器总是稳定且因果

  • FIR滤波器不存在反馈结构,因此在FPGA设计中无需考虑因字长无限增长而需要采取的数据截断,只需要知道计算过程中的最大字长即可

3.FIR滤波器的幅度特性

单位取样响应特征 相位特性 幅度特性 可设计滤波器种类
偶对称,偶整数 线性相位 w=0、Π、2Π偶对称 各种滤波器
偶对称,奇整数 线性相位 w=Π奇对称,w=0、2Π偶对称 低通、带通
奇对称,偶整数 线性相位,附加90°相移 w=0、Π、2Π奇对称 带通
奇对称,奇整数 线性相位,附加90°相移 w=0、2Π奇对称,w=Π偶对称 高通、带通

        注:MATLAB直接设计出的FIR滤波器的系数都是偶对称的。当阶数不满足可设计滤波器的奇偶特征时,MATLAB会自动对阶数进行调整

4.FIR滤波器的结构形式

(1)直接型

结构图

具有线性特征时(即滤波器系数为偶对称,可以先求和再相乘,减少乘法运算) 

(2)级联型

结构图

        级联型需要的乘法单元比直接型多,因此FPGA实现一般不采用此结构 

(3)频率取样型

结构图

(4)快速卷积型

结构图(使用循环卷积实现线性卷积)

二、FIR滤波器的设计方法

1.窗函数设计法

        原理在时域中进行,通过窗函数截取具有群延时特性为(N-1)/2的理想低通滤波器,截取范围为0~N-1,获得一个因果N阶FIR滤波器

        加窗对理想低通滤波器的影响

  • 截止频率的间断点变成了连续曲线(过渡带),其宽度等于窗函数的主瓣宽度
  • 窗函数的旁瓣幅度越大,通带和阻带的波动越大
  • 增加窗函数的长度,只能缩短主瓣宽度,而不能改变旁瓣与主瓣的相对值(这由窗函数的形状决定)

        窗函数选择原则

  • 具有较低的旁瓣幅度,尤其是第一旁瓣幅度
  • 旁瓣幅度下降速率要大,以利于增加阻带衰减
  • 主瓣宽度要窄,以便获得较陡的过渡带

2.频率采样法

3.最优设计方法

三、FIR滤波器的MATLAB设计

1.fir1(无法指定过渡带与频带容限)

b = fir1(n, wn)

b = fir1(n, wn, ftype)

b = fir1(n, wn, ftype, window) 

  • b : FIR滤波器的系数,长度为N + 1
  • n : FIR滤波器的阶数 
  • wn : 截止频率,范围是0~1,其中1为采样频率的一半
    • 如果 Wn 是标量,则 fir1 设计的是截止频率为 Wn 的低通或高通滤波器。截止频率是滤波器的归一化增益为 -6 dB 处的频率

    • 如果 Wn 是二元素向量 [w1 w2],其中 w1 < w2,则 fir1 设计的是截止频率下限为 w1 且截止频率上限为 w2 的带通或带阻滤波器

    • 如果 Wn 是多元素向量 [w1 w2 ... wn],其中 w1 < w2 <…< wn,则 fir1 返回一个 n 阶多频带滤波器,频带为 0 < ω < w1w1 < ω < w2、…、wn < ω < 1

  • ftype : 指定滤波器类型

    • 如果 Wn 是标量,ftype为'high'或'low'

    • 如果 Wn 是二元素向量 [w1 w2],ftype为'bandpass'或'stop'

    • 如果 Wn 是多元素向量 [w1 w2 ... wn],ftype为'DC-0'(Wn 是多元素向量时的默认值)表示第一个频带为阻带,'DC-1'表示第一个频带为通带

  • window : 指定窗函数类型,如果不指定,默认使用hamming窗

2.kaiserord(可指定过渡带与频带容限)

[n, wn, beta, ftype] = kaiserord(f, a, dev)

[n, wn, beta, ftype] = kaiserord(f, a, dev, fs)

  • f指定过渡带的起始点和结束点。当指定采样频率fs时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bahair_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值