新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于FPGA的高效FIR滤波器设计与实现

基于FPGA的高效FIR滤波器设计与实现

作者:时间:2011-03-24来源:网络收藏

摘要: 给出了一种基于的数字滤波器的设计方法。该方法先通过MATLAB设计出一个具有具体指标的滤波器, 再对滤波器系数进行处理, 使之便于在中实现, 然后采用基于分布式算法和CSD编码的滤波器结构进行设计, 从而避免了乘法运算, 节约了硬件资源,其流水线的设计方式也提高了运行速度。Matlab和Modelsim仿真表明, 该设计功能正确, 能实现快速滤波。

本文引用地址:http://www.eepw.com.cn/article/191285.htm

  0 引言

  数字滤波器在语音与图像处理、模式识别、雷达信号处理、频谱分析等应用中都具有重要作用。它能避免模拟滤波器所无法克服的温漂和噪声等问题, 同时比模拟滤波器精度高、稳定性好、体积小、更加灵活, 因而得到广泛应用。在声波测井中, 通常需要对信号进行精确的滤波,并且对滤波器具有严格的实时性要求。本文利用辅助Matlab设计工具, 设计了一种基于且可满足测井需求的高阶快速数字滤波器。

  1 线性相位滤波器结构

  数字滤波器的种类很多, 分类的方法也不尽相同。从数字滤波器的单位冲击响应来看, 数字滤波器分为有限冲激响应数字滤波器() 和无限冲激响应数字滤波器(IIR)。相对于IIR滤波器,FIR滤波器可以进行准确的线性相位设计, 而且其结构具有稳定的量化滤波器系数。针对于声波测井处理具有线性相位要求的声波信号, FIR滤波器是首选。

  在时域中, FIR滤波器的输入输出过程是一个输入信号与单位脉冲响应进行线性卷积的过程, 其差分方程表达式为:



  其中, y (n) 为滤波输出, x (n) 为采样数据, h (n) 为滤波器抽头系数。其结构如图1 (a)所示, 图中, N-1阶FIR滤波器要用N个系数描述, 通常, 需要N个乘法器和N-1个两输入加法器才能实现。不难发现, 乘法器的系数正好是传输函数的系数, 因此, 该结构且称为直接型结构。

  对于系数对称的FIR线性相位滤波器, 可将式(1) 写成如下形式:



  系数对称的改进型FIR滤波器的结构如图1(b) 所示。该结构把系数对称(相同或相反) 的抽头合并之后再作乘法, 这样可使乘法器数量降为原有的一半, 但也增加了额外的加法器。

FIR滤波器结构

图1 FIR滤波器结构

  2 设计方法与指标

  FDATool是Matlab信号处理工具箱里专用的分析工具, 该工具的主要作用是按照设计指标提取滤波器系数。用FDATool设计数字滤波器的关键在于滤波器类型、窗函数、滤波器阶数、截止频率等参数的选择。其中窗函数用于决定阻带衰减和过渡带带宽, 常用的窗函数有矩形窗、汉宁窗、海明窗和布莱克曼窗。矩形窗和汉宁窗阻带衰减较小, 而布莱克曼窗过渡带较大, 相对来说, 海明窗更符合设计要求, 它的最小阻带可以达到54.5dB, 归一化过渡带带宽为3.11π/M (滤波器阶数N=2M+1)。针对声波测井信号, 设计时应进行表1所列的参数设置。

表1 滤波器参数选择

滤波器参数选择

  图2所示是该滤波器的幅频和相频响应曲线,该曲线在通带内保持线性相位, 阻带衰减大于52dB, 过渡带带宽为1.65kHz。抽头系数可以在工具箱中量化为定点整型数据, 以便在FPGA实现阶数为127的滤波器, 该滤波器一共有128个系数。对于阶数较大的滤波器来说, 其量化对阻带衰减和过渡带的影响极小。

滤波器幅频和相频响应特性曲线

图2 滤波器幅频和相频响应特性曲线


上一页 1 2 3 下一页

关键词: FPGA FIR 滤波器设计

评论


相关推荐

技术专区

关闭