FIR滤波器设计总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、直接型FIR滤波器的优缺点如下:

优点:简单直观,乘法运算量较少;

缺点:调整零点较困难

2、FIR滤波器设计的总体结构:

(1)移位寄存器

移位寄存器的功能是将输入序列缸,z)通过移位寄存器改为并行输入,这个模块的功

能对于所要讨论的三种FIR滤波器的实现结构是完全一致的。

(2)优化模块

优化模块的功能是根据FIR滤波器h(,1)的对称特性将滤波器降阶,完成输入求和

缸幼+x(m-1.幼,对于本例中的128抽头的滤波器,即完成颤O)+缸127),双1)+缸126),⋯8943 .,缸63)+x(64),这个模块的功能对于所要讨论的三种FIR滤波器的实现结构是完全一致

的。

(3)乘法器模块

对于使用乘法器结构的FIR滤波器,乘法器的实现对于系统的性能有很大的影响,

在第5章将着重介绍乘法器的实现及优化问题。基于DA算法的乘法器是通过查找表的

方法实现的。

(4)加法器

将前面乘法器模块得到的结果相加,最后得到输出结果Y(玎),有关加法器的设计及

优化将在第5章重点介绍。

2.1基于乘累加FIR滤波器结构

上图中,FIR滤波器的系数存储器用来存入所有的FIR滤波器系数,存储器的容

量根据FIR滤波器的阶数和系数的位数来确定。采样数据存储器用来暂存外部输入的采

样数据。读取控制模块用来控制采样数据与相对应的FIR滤波器系数输出以及滤波器输

出。

采样数据与滤波器系数在控制电路的作用下,分别对应相乘并与前一个乘积累加,

经过滤波器的阶数次的反复乘加最后输出滤波结果。

乘累加结构FIR滤波器性能分析:

优点:这种滤波器结构简单,硬件资源占用少,只要一个加法器和一个乘法器,成

本低。

缺点:这种结构FIR滤波器每次都需在多个时钟周期下才有输出,时钟周期的个数

受滤波器阶数的影响,因此这种乘累加结构的FIR滤波器处理速度慢,只能用于对处理

速度要求不高的系统。

滤波器系数转为定点后的误差分析

一、系统概述

在滤波器系数由浮点转位定点后系统会有误差出现。我们要求系统误差在80db以上。通过分析要得出最后量化过程中,中间值的位数,即中间的乘法运算结果和乘法后加法的运算结果的所取的位数。当然位数越小,所用到的系统资源越小。

由于系统要在FPGA中进行实现,所以内插滤波器,包括半带滤波器、FIR滤波器、CIC滤波

器均采用定点计算。其中半带滤波器和FIR滤波器输入和输出精度均为16比特,中间乘法结果和累加结果为20比特精度。CIC的输入数据精度为16比特,输出数据的精度为21比特。

输入DSP信号为312.5kHz的基带信号,需要通过内插后提升128倍的过采样速率。奈奎斯特

采样频率为625kHz。即最后达到80MHz的采样频率。

内插滤波器的总体结构如下图所示:

数字基带输入

过采样

输出图1 内插滤波器总体结构图

二、半带滤波器的误差分析

2.1、半带滤波器浮点系数的参数特性

半带滤波器的频率响应如下图2所示:

2.1.1 基本参数:

输入DSP信号为312.5kHz的基带信号,需要通过内插后提升2倍的过采样速率。奈奎斯特采样频率为625kHz。经过内插后速率提升为2倍的奈奎斯特采样频率,后经过半带滤波器滤除中间

的镜像频谱。以下是其他的系统参数。

滤波器的系数矩阵:

a=[1.1555011750488237e-003,0.0000000000000000e+000,

-2.7482166351233102e-003,0.0000000000000000e+000,

5.7681982289523072e-003,0.0000000000000000e+000,

-1.0736374060960912e-002,0.0000000000000000e+000,

1.8592020073668478e-002,0.0000000000000000e+000,

-3.1093723586671229e-002,0.0000000000000000e+000,

5.2603914610235683e-002,0.0000000000000000e+000,

-9.9130756073130377e-002,0.0000000000000000e+000,

3.1592697826202448e-001,5.0000000000000000e-001,

3.1592697826202448e-001,0.0000000000000000e+000,

-9.9130756073130377e-002,0.0000000000000000e+000,

5.2603914610235683e-002,0.0000000000000000e+000,

-3.1093723586671229e-002,0.0000000000000000e+000,

1.8592020073668478e-002,0.0000000000000000e+000,

-1.0736374060960912e-002,0.0000000000000000e+000,

5.7681982289523072e-003,0.0000000000000000e+000,

-2.7482166351233102e-003,0.0000000000000000e+000,

1.1555011750488237e-003]

2.1.2 浮点滤波设计过程

Matlab程序设计:

相关文档
最新文档