论文部分内容阅读
摘 要:本设计主要采用FPGA来设计有限长单位冲激响应滤波器,使得数字滤波器获得各方面较强的综合性能、以及对硬件要求较低等优点。基于有限长单位冲激响应滤波器、采用分布式优化算法设计思想实现滤波器结构。以从上而下的思想以及分块化理念,实现分块化有限长单位冲激响应滤波器功能,并将VHDL语言应用于模块化设计,实现基于有限长单位冲激响应(FIR)数字滤波器总体系统设计。
关键词:FIR数字滤波器,现场可编程门阵列(FPGA),分布式优化算法
1 FIR数字滤波器基础及实现方法
1.1 FIR数字滤波器基础
1.1.1 FIR数字滤波器的原理
数字滤波器通常应用于修正或改变时域或频域中信号的属性。线性时不变数字滤波器包含两大类:有限长脉冲响应(FIR)和无限长脉冲响应(IIR)。FIR滤波器由有限个采样值组成,只与即时数据相关,因此FIR滤波器是因果的,是物理可实现的系统,而且系统的脉冲响应又是绝对可加的,所以FIR滤波器总是稳定的。
1.1.2 FIR数字滤波器的基本结构
FIR数字滤波器主要有三种构成形式:直接型、级联型、线性相位FIR滤波器。本设计采用的是直接型数字滤波器结构,下面主要介绍直接型结构。
图1-1 直接型滤波器示意图
直接型结构也称横向滤波器结构或者为抽头延迟线结构。从图2-1可以看出,沿着上图箭头方向每一抽头的信号经过适当的系数加权,然后将每个抽头所得的乘积结果进行相加就可以获得输出结果y(n)。如果将图2-1示意图中的结构链路中的全部分支结构进行顺序颠倒,并将输入数据和输出数据:即x(n)和y(n)进行顺序相互互换,就得到了互转置型的FIR数字滤波器。
1.1.3 分布式优化算法的优化
本次所设计滤波器结构主要采用基于串行分布式优化算法的思想,这样不仅能降低对硬件规模的要求,同时提高了其计算速度,而采用多查找表寻址方法,增加了硬件规模。综合以上分析,本设计采用依赖于1BAAT和2LUT的设计思想实现速度与硬件资源的统一。为了进一步减小硬件需求,将采用OBC编码格式将LUT表的寻址位减小一位。
2 FIR滤波的设计与实现
本文基于窗函数思想构建低通FIR滤波器,采取1BAAT实现OBC编码格式和2LUT的DA算法实现对低通FIR滤波器的硬件构建。
2.1 滤波器用MATLAB软件设计
2.1.1 FIR 滤波器的设计指标
类型:低通;
输入数值长度:8位;
采样频率: Fc=5MHz;
截止频率: Fs=1.5MHz;
阶数:16阶;
系数数据宽度:8位
2.1.2 提取参数
Kaiser窗的构建模式详细指标:Fc=1.5MHz,Fs=5MHz,阶数为16位,线性相位,使用MATLAB7.0中的FilterDesignToolbox工具箱FDATool,选择其中的低通滤波器模块。构建出满足构建模式参数的线性相位十六阶的FIR数字低通滤波器,该滤波器的具体特性指标如下:
2.2 FIR数字滤波器的模块设计
FIR低通滤波器主要包括以下几部分数字系统硬件模块,即:数据输入、乘累加、控制及锁存等模块构成。
2.2.1 控制模块
该模块的核心功能是用来生成除该模块之外所需要的控制输入信号,从而完成对系统其他相关模块的操作指令控制,达到实现使各模块的性能效果特性,并依据特定的时序顺序执行,达到实现滤波功能。它完成要素为计数器单元以及控制器单元。
(1)计数器单元
计数器的作用是:从计数器计数开始时刻起,每过九个时钟周期就能输出一个脉冲信号Z送给控制器,以达到控制器能够继续运行。
(a)计数器原理图设计
图2-2 计数器原理图
2.2.2 输入模块
输入数据的过程处理靠由输入模块来完成,该处理目的主要是做为后续电路的需求而言。它一般组成部分单元包括:移位寄存器单元、数据的预相加单元和并串转换单元。
(1).移位寄存单元
移位寄存器模块的核心特征:将系统收到的所有采样值通过移位寄存指令的操作之后,获取同步延迟信号。并/串转换器将输出的数据位串行数值输出给下一个数据处理单元,同时要经过一定的时间延迟,然后作为新的输入传入下一个处理单元,进行数据处理。
(2)预相加单元
预相加单元主要构成是串行加法器(Serial Adder)。在位串行电路中,主要使用串行加法器。串行加法器的主要包括两部分的组成结构:全加器和D触发器。加法器的两个输入数的据时钟是同步的,并且都是采用补码方式,并且全加器输入端cin经过D触发器反馈至全加器cin端都需要经过延时一个时钟周期,可以看作是对后一组进行进位位的加法运算。清零端clear能够将所有的字周期进位实现清零操作,同时实现D触发器的清零操作。
3 展望与总结
在目前的电子领域内,FIR数字滤波器作为DSP的核心部件,具有优秀线性特征,在各个方面得到认可。在完成FIR滤波器的设计过程中,文中主要对以下几个方面进行了研究分析:
一是利用层次化模块化设计思想将FIR滤波器模块化,文中应用了MATLAB和VHDL联合仿真,通过quartusⅡ并采用Alter公司Cyclone EP1C3T144C8器件对各功能模块的进行仿真测试,各模块均达到预想的效果,但对于整体仿真在具体的设计当中要在两方面来具体的考虑:具体设计要求和系统资源。
二是以依据FIR数字滤波器的基本理论思想,采用分布式优化算法作为滤波器的核心,在实现硬件系统的前提下,实现算法,最后对分布式优化算法进行了详细的分析和讨论。并针对分布式优化算法的存在的部分缺陷:即查找表活动范围较大,对其分析,讨论了优化算法的方法,而使用多个模块的方式查找表方法,结合FRI线性滤波器的相关对称性性能结构,实现了对硬件规模较大的裁剪,达到优化硬件与算法的效果。
参考文献
[1] 程佩青.数字信号处理教程[M].北京:清华大学出版社,2007:5-6
[2] 苏涛, 蔺华丽.DSP实用技术[M].西安:西安电子科技大学出版社,2002:2-3
关键词:FIR数字滤波器,现场可编程门阵列(FPGA),分布式优化算法
1 FIR数字滤波器基础及实现方法
1.1 FIR数字滤波器基础
1.1.1 FIR数字滤波器的原理
数字滤波器通常应用于修正或改变时域或频域中信号的属性。线性时不变数字滤波器包含两大类:有限长脉冲响应(FIR)和无限长脉冲响应(IIR)。FIR滤波器由有限个采样值组成,只与即时数据相关,因此FIR滤波器是因果的,是物理可实现的系统,而且系统的脉冲响应又是绝对可加的,所以FIR滤波器总是稳定的。
1.1.2 FIR数字滤波器的基本结构
FIR数字滤波器主要有三种构成形式:直接型、级联型、线性相位FIR滤波器。本设计采用的是直接型数字滤波器结构,下面主要介绍直接型结构。
图1-1 直接型滤波器示意图
直接型结构也称横向滤波器结构或者为抽头延迟线结构。从图2-1可以看出,沿着上图箭头方向每一抽头的信号经过适当的系数加权,然后将每个抽头所得的乘积结果进行相加就可以获得输出结果y(n)。如果将图2-1示意图中的结构链路中的全部分支结构进行顺序颠倒,并将输入数据和输出数据:即x(n)和y(n)进行顺序相互互换,就得到了互转置型的FIR数字滤波器。
1.1.3 分布式优化算法的优化
本次所设计滤波器结构主要采用基于串行分布式优化算法的思想,这样不仅能降低对硬件规模的要求,同时提高了其计算速度,而采用多查找表寻址方法,增加了硬件规模。综合以上分析,本设计采用依赖于1BAAT和2LUT的设计思想实现速度与硬件资源的统一。为了进一步减小硬件需求,将采用OBC编码格式将LUT表的寻址位减小一位。
2 FIR滤波的设计与实现
本文基于窗函数思想构建低通FIR滤波器,采取1BAAT实现OBC编码格式和2LUT的DA算法实现对低通FIR滤波器的硬件构建。
2.1 滤波器用MATLAB软件设计
2.1.1 FIR 滤波器的设计指标
类型:低通;
输入数值长度:8位;
采样频率: Fc=5MHz;
截止频率: Fs=1.5MHz;
阶数:16阶;
系数数据宽度:8位
2.1.2 提取参数
Kaiser窗的构建模式详细指标:Fc=1.5MHz,Fs=5MHz,阶数为16位,线性相位,使用MATLAB7.0中的FilterDesignToolbox工具箱FDATool,选择其中的低通滤波器模块。构建出满足构建模式参数的线性相位十六阶的FIR数字低通滤波器,该滤波器的具体特性指标如下:
2.2 FIR数字滤波器的模块设计
FIR低通滤波器主要包括以下几部分数字系统硬件模块,即:数据输入、乘累加、控制及锁存等模块构成。
2.2.1 控制模块
该模块的核心功能是用来生成除该模块之外所需要的控制输入信号,从而完成对系统其他相关模块的操作指令控制,达到实现使各模块的性能效果特性,并依据特定的时序顺序执行,达到实现滤波功能。它完成要素为计数器单元以及控制器单元。
(1)计数器单元
计数器的作用是:从计数器计数开始时刻起,每过九个时钟周期就能输出一个脉冲信号Z送给控制器,以达到控制器能够继续运行。
(a)计数器原理图设计
图2-2 计数器原理图
2.2.2 输入模块
输入数据的过程处理靠由输入模块来完成,该处理目的主要是做为后续电路的需求而言。它一般组成部分单元包括:移位寄存器单元、数据的预相加单元和并串转换单元。
(1).移位寄存单元
移位寄存器模块的核心特征:将系统收到的所有采样值通过移位寄存指令的操作之后,获取同步延迟信号。并/串转换器将输出的数据位串行数值输出给下一个数据处理单元,同时要经过一定的时间延迟,然后作为新的输入传入下一个处理单元,进行数据处理。
(2)预相加单元
预相加单元主要构成是串行加法器(Serial Adder)。在位串行电路中,主要使用串行加法器。串行加法器的主要包括两部分的组成结构:全加器和D触发器。加法器的两个输入数的据时钟是同步的,并且都是采用补码方式,并且全加器输入端cin经过D触发器反馈至全加器cin端都需要经过延时一个时钟周期,可以看作是对后一组进行进位位的加法运算。清零端clear能够将所有的字周期进位实现清零操作,同时实现D触发器的清零操作。
3 展望与总结
在目前的电子领域内,FIR数字滤波器作为DSP的核心部件,具有优秀线性特征,在各个方面得到认可。在完成FIR滤波器的设计过程中,文中主要对以下几个方面进行了研究分析:
一是利用层次化模块化设计思想将FIR滤波器模块化,文中应用了MATLAB和VHDL联合仿真,通过quartusⅡ并采用Alter公司Cyclone EP1C3T144C8器件对各功能模块的进行仿真测试,各模块均达到预想的效果,但对于整体仿真在具体的设计当中要在两方面来具体的考虑:具体设计要求和系统资源。
二是以依据FIR数字滤波器的基本理论思想,采用分布式优化算法作为滤波器的核心,在实现硬件系统的前提下,实现算法,最后对分布式优化算法进行了详细的分析和讨论。并针对分布式优化算法的存在的部分缺陷:即查找表活动范围较大,对其分析,讨论了优化算法的方法,而使用多个模块的方式查找表方法,结合FRI线性滤波器的相关对称性性能结构,实现了对硬件规模较大的裁剪,达到优化硬件与算法的效果。
参考文献
[1] 程佩青.数字信号处理教程[M].北京:清华大学出版社,2007:5-6
[2] 苏涛, 蔺华丽.DSP实用技术[M].西安:西安电子科技大学出版社,2002:2-3