基于FPGA的高效可调频率滤波器
李建伟
摘 要: 为了有效地改善滤波器的不可调频率系统性能,降低FPGA滤波器资源的消耗,提出基于FPGA的高效可调频率滤波器。该方法首先对可调频率滤波器进行硬件平台设计,硬件平台由单片机模块、FPGA波形模块、幅度模块、数字模型转换模块、低通滤波转换模块以及輸入键盘模块和液晶显示屏模块构成。核心模块由MCU提供可调频率控制,以DDS技术产生的波形信号为依据,确定滤波器的信号强度,最后采用分布算法完成滤波器软件设计。实验证明,所提方法能够有效提高可调频率滤波器的准确度。
关键词: FPGA; 可调频率; 滤波器; 分布算法
中图分类号: TN713?34 文献标识码: A 文章编号: 1004?373X(2017)23?0093?04
Abstract: In order to effectively improve the system performance of the filter with non?adjustable frequency, and reduce the resource consumption of the filter based on FPGA, an efficient filter with adjustable frequency based on FPGA is proposed. The hardware platform is designed for the filter with adjustable frequency, which is composed of the MCU module, FPGA waveform module, amplitude module, digital model conversion module, low?pass filter conversion module, keyboard input module and LCD module. The MCU controls the adjustable frequency for the core module. On the basis of the waveform signal generated by DDS technology, the signal strength of the filter is determined. The distributed algorithm is used to realize the software design of the filter. The experimental results show that the proposed method can improve the accuracy of the filter with adjustable frequency effectively.
Keywords: FPGA; adjustable frequency; filter; distributed algorithm
0 引 言
随着通信技术的快速发展,数字可调频率滤波器在通信语音、图像处理、模糊式图像识别、通信雷达信号处理以及频谱分析等应用中都起到了重要的作用[1]。可以避免模拟滤波器无法克服温漂以及噪声等一系列问题[2?3],同时数字可调频率滤波器比模拟的滤波器精度更高、稳定性更好、体积更小、速度更加灵活,得到了广泛应用。FPGA的数字滤波器是现代开发技术设计与实现的热点之一[4],能够简化开发过程,缩短开发周期,以及降低开发成本,各类开发工具更是受到青睐。
近年来,提出很多滤波器线性滤波方法,文献[5]提出Wiener线性滤波、文献[6]提出卡尔曼滤波以及自适应的滤波方法。Wiener线性滤波是最早提出的一种滤波方法,当信号混有噪声时,能够在最小的误差条件下估计出最佳信号。但是该方法复杂性高,实际应用比较困难。卡尔曼滤波也是一种线性滤波方法,文献[7]与Wiener线性滤波不同的是,这种线性滤波技术利用递推方式,当滤波器的单位响应时间较长时,采用该方法无法得到滤波器的最佳响应。目前,已取得了相关的研究成果。文献[8]提出利用加权最小二乘法对滤波器进行设计,在滤波器设计过程中,利用最小二乘法,以平方误差最小优化为准则,对设计的滤波器进行减小过度误差,此方法降低了滤波器的误差,但费用较高。文献[9]研究了一种新的MTD滤波器设计方法。采用该方法设计的MTD滤波器频率的响应不仅能在零频的附近有零陷,并且在其他区域可以变为任意形状,具有较好的实现性,但是该方法实现过程较为复杂。文献[10]提出一种对图像LCL滤波器进行设计的方法,该设计方法目的清晰明确,设计过程便捷,能够优化滤波器参数,但该方法耗时较长。
针对上述情况,提出基于FPGA的高效可调频率滤波器。通过该方法可以对FPGA进行高效的可调频率滤波器设计。
1 FPGA高效可调频率滤波器设计
1.1 可调频率滤波器硬件平台设计
系统由单片机模块、FPGA 波形模块、幅度模块、数字模型转换模块、低通滤波转换模块以及键盘输入模块和液晶显示屏模块组成。FPGA模块利用DDS技术,能产生正弦波、方波、三角锯齿波数字信号,经转换、低通滤波模块后输出。波形模块类型及频率的大小由单片机进行控制,输出的信号幅度由单片机经幅度控制模块改变DAC模块的参考电压来实现,如图1所示。
FPGA模块依据MCU提供可调频率控制及波形选择,运用DDS技术产生的波形数字信号,经过数字模型转换器DAC转变为阶梯波,再通过低通滤波器可以得出合成信号波形。该模块主要由相位式累加器、相位式寄存器以及波形查找表组成,原理框图如图2所示。其中,[fc]为输入时钟频率,[fo]为信号输出频率。
图2中相位累加器是该滤波器的核心,由二进制的累加器和时钟控制的滤波器、相位寄存器组成。相位寄存器滤波输出与累加器输入端相连接,MCU传送的频率控制字与累加器的另外一个输入端相加。
每个时钟到达时,相位寄存器滤波将之前的时钟周期值传送到累加器,并与频率控制字进行相加,结果为当前时钟周期输出的序列,该输出序列可以当做波形查找表可调频率的地址。波形查找表实际上是相位幅度转换的ROM电路,ROM内部存储了完整周期波形的相位寄存器幅度值。相位寄存器每对波形查找表进行寻址一次,就会输出与相位寄存器对应的信号相位幅度值,可调频率控制字能够决定相应的相位增量,相位的累加器则会不断地对相位增量进行累加,当相位累加器产生一次超出时,就可以生成周期DDS的合成信号。一般情况下,可调频率相位寄存器可以用来做寻址,此时DDS的合成频率为:
而DDS的输出频率由采样决定,即[fmax=fc2]。现实中DDS的输出频率由输出的杂散水平来决定,取值为[fo≤40% fc]。所以,若要改变DDS的输出频率,仅需改变频率控制字即可完成。
采用FPGA器件在EP1C3T144C8芯片中应用,该模块设计由VHDL实现,采用10位输出。为方便频率调节,依据式(1),式(2),将输出的频率分两档,由FPGA依据频率控制字进行自动选择,两档输出基准时钟由50 MHz晶振经过FPGA内部锁得到([fc≈]16.666 67 MHz),若是相位累加器字约为24位,频率控制字为20位进制数,那么两档输出最高频率分别为:
由此可见,如果在高频率输出时,能够保证周期波形有10个点,有效地保障了输出信号的准确度。
基于介绍硬件平台FPGA芯片,可调频率滤波器利用并联结构时,采用直接结构作为二阶基本节,则不增加输出缓冲条件时,利用时序分析工具估计出可调频率最高速度达50 MHz,采用并联连接方式无法满足设计要求,为了能够提高速度,通常应用的方法有两种:一种是对实现结构进行改进;另一种是采用并行处理的方式。其中,第二种方法能明显增加硬件的代价。在对二阶基本节改进结构后,能够将可调频率滤波器的速度达到最高,因为基本节的输出加了锁存器,基本达到了设计指标,针对这两种结构进行综合、布局以及布线,得到的资源性能如表1所示。
从表1中的数据可以看出,乘法单元数并未有所改变,但改进后的结构资源占用率明显下降,而可调频率得到了提升。若将改进结构在基本节应用中进行处理,则速度最高达到139.65 MHz,这个速度满足指标要求,并有很大容量。
因为增加流水线与处理结构实现方式的不同,因此资源的造价和可调频率也不同,依据提到的流水线与处理技术原理,获得更高速度的可调频率滤波器必须采用流水线技术和处理技术,该理论速度受限于寄存器,但采用流水线并行处理技术实现可调频率滤波器通常会降低硬件成本,在一定程度上有利于提高可调频率滤波器的运行速度。
1.2 滤波器软件模型设计
可见,括号内表示输入变量的数据和滤波器系数,并进行“与”运算求和。指数部分说明了求和的结果,整数乘以[2b]即为左移[b]位,由硬件模块连线来实现,无需占用逻辑数据资源。以建立的滤波器波形查找表实现括号内的运算,滤波器波形查找表用于输入变量进行寻址,这便是滤波器波形查找表的分布式算法。
设计可调频率滤波器时,经常使滤波电感的电压降低,以减少滤波器系统的容量;为了不使滤波器电感电流的波动太大,滤波器电感不能定的太小。设负载电阻为[R,]滤波器电感基波的电压为[1N]。为了减少系统的容量,滤波器电容必须远远大于[Rc。]假如滤波器电容远远大于[Rc,]得出电感值为:
2 实验结果与分析
为了对可调频率滤波器进行仿真,首先设计一个矩形低通滤波器,阻带滤波衰减为30 dB,通带频率为0.2π,阻带频率为0.3π。设计得出滤波器的长度为10的可调低通滤波器。将设计软件导出的文件在硬件平台上进行编译与综合。
单相的逆变器的功率为100 kW,输出的频率电压为113 V,进行线性负载时,规定输出电压中的频率不超过2%,输出的频率电压THD不能超过1.3%。模拟模型参数见表2。
表2中,开关时间为1.2 μs,线性负载为1 Ω电阻,当[Ma]从0.4增加到1时,THD和滤波器电感值的变化如图3所示 ,曲线中的H13表示实验结果。能够看出,THD变化曲线和滤波器电感值与理论计算曲线大致重合,THD变化曲线和滤波器电感值理论计算曲线形状大约相同,但是位置会有偏差,主要是加入可调频率滤波器后,实际的幅值小于设定值,而在画图时采用设定值。另外,对可调频率滤波器幅值和相位会产生影响,可调频率对THD和滤波器也有影响。
当[Ma]从0.45增加到0.95时,THD和可调频率滤波器变化曲线如图4所示,能够看出,THD和可调频率滤波器变化曲线和理论曲线变化大致相同,但是实验值比理论值要大。在一定的条件下,不同结构的稳定性是不同的,通过流水线与并行处理技术可有效提升可调频率速度。
3 结 论
本文提出基于FPGA高效可调频率滤波器的设计方法,在提高滤波器系统运行速度,以及节省硬件资源方面具有较大的优势,以改变可调频率和波形查找表中的系数,将FPGA灵活运用于高通、低通以及带阻滤波器中,移植性能较强,因此,基于FPGA的高效可调频率滤波器设计具有广泛的应用前景。
参考文献
[1] 李锋,邱陈辉,徐祖强.基于改进DLMS算法的自适应FIR滤波器设计[J].计算机工程与设计,2014,35(3):895?899.
[2] 王号,张春光,黄峻峰,等.考虑旋光影响的窄带声光滤波器设计及其性能分析[J].光学学报,2014,34(4):235?239.
[3] 李秀英,王金玉,孙书利.具有一步随机时滞和多丢包的网络系统H∞滤波器设计[J].自动化学报,2014,40(1):155?160.
[4] 李荣强,杜国宏,唐军.过模基片集成波导腔体滤波器设计[J].微波学报,2014,30(3):93?96.
[5] 庄德玉.采煤机用4象限变频器前端LCL滤波器设计[J].电气传动,2014,44(8):55?58.
[6] 姚波,安志娟,王福忠,等.具有椭圆盘极点约束的线性系统滤波器设计[J].计算技术与自动化,2014,33(4):11?15.
[7] 燕丽红,张乐芳,马小青.基于图形可视化Wintool和FDAtool的FIR滤波器设计[J].现代电子技术,2015,38(24):4?6.
[8] 张棟,孔亮,宁圃奇,等.一种基于转移函数的电机驱动系统共模EMI滤波器设计方法[J].电工技术学报,2016,31(1):103?111.
[9] 秦绪嵘,和新阳.一种新型微带双模可调滤波器设计[J].电子设计工程,2016,24(7):101?103.
[10] 李学斌,郭建卓,韩宇南.基于非对称SIR的小型化双频带带通滤波器设计[J].北京邮电大学学报,2015,38(2):104?107.
[11] 刘国稳,朱卫华.高性能CIC滤波器的优化设计[J].计算机仿真,2016,33(2):234?238.
[12] 郭晓伟,陈钟荣,夏利娜.基于FPGA的高速高阶FIR滤波器的频域改进方法[J].现代电子技术,2016,39(11):55?58.
摘 要: 为了有效地改善滤波器的不可调频率系统性能,降低FPGA滤波器资源的消耗,提出基于FPGA的高效可调频率滤波器。该方法首先对可调频率滤波器进行硬件平台设计,硬件平台由单片机模块、FPGA波形模块、幅度模块、数字模型转换模块、低通滤波转换模块以及輸入键盘模块和液晶显示屏模块构成。核心模块由MCU提供可调频率控制,以DDS技术产生的波形信号为依据,确定滤波器的信号强度,最后采用分布算法完成滤波器软件设计。实验证明,所提方法能够有效提高可调频率滤波器的准确度。
关键词: FPGA; 可调频率; 滤波器; 分布算法
中图分类号: TN713?34 文献标识码: A 文章编号: 1004?373X(2017)23?0093?04
Abstract: In order to effectively improve the system performance of the filter with non?adjustable frequency, and reduce the resource consumption of the filter based on FPGA, an efficient filter with adjustable frequency based on FPGA is proposed. The hardware platform is designed for the filter with adjustable frequency, which is composed of the MCU module, FPGA waveform module, amplitude module, digital model conversion module, low?pass filter conversion module, keyboard input module and LCD module. The MCU controls the adjustable frequency for the core module. On the basis of the waveform signal generated by DDS technology, the signal strength of the filter is determined. The distributed algorithm is used to realize the software design of the filter. The experimental results show that the proposed method can improve the accuracy of the filter with adjustable frequency effectively.
Keywords: FPGA; adjustable frequency; filter; distributed algorithm
0 引 言
随着通信技术的快速发展,数字可调频率滤波器在通信语音、图像处理、模糊式图像识别、通信雷达信号处理以及频谱分析等应用中都起到了重要的作用[1]。可以避免模拟滤波器无法克服温漂以及噪声等一系列问题[2?3],同时数字可调频率滤波器比模拟的滤波器精度更高、稳定性更好、体积更小、速度更加灵活,得到了广泛应用。FPGA的数字滤波器是现代开发技术设计与实现的热点之一[4],能够简化开发过程,缩短开发周期,以及降低开发成本,各类开发工具更是受到青睐。
近年来,提出很多滤波器线性滤波方法,文献[5]提出Wiener线性滤波、文献[6]提出卡尔曼滤波以及自适应的滤波方法。Wiener线性滤波是最早提出的一种滤波方法,当信号混有噪声时,能够在最小的误差条件下估计出最佳信号。但是该方法复杂性高,实际应用比较困难。卡尔曼滤波也是一种线性滤波方法,文献[7]与Wiener线性滤波不同的是,这种线性滤波技术利用递推方式,当滤波器的单位响应时间较长时,采用该方法无法得到滤波器的最佳响应。目前,已取得了相关的研究成果。文献[8]提出利用加权最小二乘法对滤波器进行设计,在滤波器设计过程中,利用最小二乘法,以平方误差最小优化为准则,对设计的滤波器进行减小过度误差,此方法降低了滤波器的误差,但费用较高。文献[9]研究了一种新的MTD滤波器设计方法。采用该方法设计的MTD滤波器频率的响应不仅能在零频的附近有零陷,并且在其他区域可以变为任意形状,具有较好的实现性,但是该方法实现过程较为复杂。文献[10]提出一种对图像LCL滤波器进行设计的方法,该设计方法目的清晰明确,设计过程便捷,能够优化滤波器参数,但该方法耗时较长。
针对上述情况,提出基于FPGA的高效可调频率滤波器。通过该方法可以对FPGA进行高效的可调频率滤波器设计。
1 FPGA高效可调频率滤波器设计
1.1 可调频率滤波器硬件平台设计
系统由单片机模块、FPGA 波形模块、幅度模块、数字模型转换模块、低通滤波转换模块以及键盘输入模块和液晶显示屏模块组成。FPGA模块利用DDS技术,能产生正弦波、方波、三角锯齿波数字信号,经转换、低通滤波模块后输出。波形模块类型及频率的大小由单片机进行控制,输出的信号幅度由单片机经幅度控制模块改变DAC模块的参考电压来实现,如图1所示。
FPGA模块依据MCU提供可调频率控制及波形选择,运用DDS技术产生的波形数字信号,经过数字模型转换器DAC转变为阶梯波,再通过低通滤波器可以得出合成信号波形。该模块主要由相位式累加器、相位式寄存器以及波形查找表组成,原理框图如图2所示。其中,[fc]为输入时钟频率,[fo]为信号输出频率。
图2中相位累加器是该滤波器的核心,由二进制的累加器和时钟控制的滤波器、相位寄存器组成。相位寄存器滤波输出与累加器输入端相连接,MCU传送的频率控制字与累加器的另外一个输入端相加。
每个时钟到达时,相位寄存器滤波将之前的时钟周期值传送到累加器,并与频率控制字进行相加,结果为当前时钟周期输出的序列,该输出序列可以当做波形查找表可调频率的地址。波形查找表实际上是相位幅度转换的ROM电路,ROM内部存储了完整周期波形的相位寄存器幅度值。相位寄存器每对波形查找表进行寻址一次,就会输出与相位寄存器对应的信号相位幅度值,可调频率控制字能够决定相应的相位增量,相位的累加器则会不断地对相位增量进行累加,当相位累加器产生一次超出时,就可以生成周期DDS的合成信号。一般情况下,可调频率相位寄存器可以用来做寻址,此时DDS的合成频率为:
而DDS的输出频率由采样决定,即[fmax=fc2]。现实中DDS的输出频率由输出的杂散水平来决定,取值为[fo≤40% fc]。所以,若要改变DDS的输出频率,仅需改变频率控制字即可完成。
采用FPGA器件在EP1C3T144C8芯片中应用,该模块设计由VHDL实现,采用10位输出。为方便频率调节,依据式(1),式(2),将输出的频率分两档,由FPGA依据频率控制字进行自动选择,两档输出基准时钟由50 MHz晶振经过FPGA内部锁得到([fc≈]16.666 67 MHz),若是相位累加器字约为24位,频率控制字为20位进制数,那么两档输出最高频率分别为:
由此可见,如果在高频率输出时,能够保证周期波形有10个点,有效地保障了输出信号的准确度。
基于介绍硬件平台FPGA芯片,可调频率滤波器利用并联结构时,采用直接结构作为二阶基本节,则不增加输出缓冲条件时,利用时序分析工具估计出可调频率最高速度达50 MHz,采用并联连接方式无法满足设计要求,为了能够提高速度,通常应用的方法有两种:一种是对实现结构进行改进;另一种是采用并行处理的方式。其中,第二种方法能明显增加硬件的代价。在对二阶基本节改进结构后,能够将可调频率滤波器的速度达到最高,因为基本节的输出加了锁存器,基本达到了设计指标,针对这两种结构进行综合、布局以及布线,得到的资源性能如表1所示。
从表1中的数据可以看出,乘法单元数并未有所改变,但改进后的结构资源占用率明显下降,而可调频率得到了提升。若将改进结构在基本节应用中进行处理,则速度最高达到139.65 MHz,这个速度满足指标要求,并有很大容量。
因为增加流水线与处理结构实现方式的不同,因此资源的造价和可调频率也不同,依据提到的流水线与处理技术原理,获得更高速度的可调频率滤波器必须采用流水线技术和处理技术,该理论速度受限于寄存器,但采用流水线并行处理技术实现可调频率滤波器通常会降低硬件成本,在一定程度上有利于提高可调频率滤波器的运行速度。
1.2 滤波器软件模型设计
可见,括号内表示输入变量的数据和滤波器系数,并进行“与”运算求和。指数部分说明了求和的结果,整数乘以[2b]即为左移[b]位,由硬件模块连线来实现,无需占用逻辑数据资源。以建立的滤波器波形查找表实现括号内的运算,滤波器波形查找表用于输入变量进行寻址,这便是滤波器波形查找表的分布式算法。
设计可调频率滤波器时,经常使滤波电感的电压降低,以减少滤波器系统的容量;为了不使滤波器电感电流的波动太大,滤波器电感不能定的太小。设负载电阻为[R,]滤波器电感基波的电压为[1N]。为了减少系统的容量,滤波器电容必须远远大于[Rc。]假如滤波器电容远远大于[Rc,]得出电感值为:
2 实验结果与分析
为了对可调频率滤波器进行仿真,首先设计一个矩形低通滤波器,阻带滤波衰减为30 dB,通带频率为0.2π,阻带频率为0.3π。设计得出滤波器的长度为10的可调低通滤波器。将设计软件导出的文件在硬件平台上进行编译与综合。
单相的逆变器的功率为100 kW,输出的频率电压为113 V,进行线性负载时,规定输出电压中的频率不超过2%,输出的频率电压THD不能超过1.3%。模拟模型参数见表2。
表2中,开关时间为1.2 μs,线性负载为1 Ω电阻,当[Ma]从0.4增加到1时,THD和滤波器电感值的变化如图3所示 ,曲线中的H13表示实验结果。能够看出,THD变化曲线和滤波器电感值与理论计算曲线大致重合,THD变化曲线和滤波器电感值理论计算曲线形状大约相同,但是位置会有偏差,主要是加入可调频率滤波器后,实际的幅值小于设定值,而在画图时采用设定值。另外,对可调频率滤波器幅值和相位会产生影响,可调频率对THD和滤波器也有影响。
当[Ma]从0.45增加到0.95时,THD和可调频率滤波器变化曲线如图4所示,能够看出,THD和可调频率滤波器变化曲线和理论曲线变化大致相同,但是实验值比理论值要大。在一定的条件下,不同结构的稳定性是不同的,通过流水线与并行处理技术可有效提升可调频率速度。
3 结 论
本文提出基于FPGA高效可调频率滤波器的设计方法,在提高滤波器系统运行速度,以及节省硬件资源方面具有较大的优势,以改变可调频率和波形查找表中的系数,将FPGA灵活运用于高通、低通以及带阻滤波器中,移植性能较强,因此,基于FPGA的高效可调频率滤波器设计具有广泛的应用前景。
参考文献
[1] 李锋,邱陈辉,徐祖强.基于改进DLMS算法的自适应FIR滤波器设计[J].计算机工程与设计,2014,35(3):895?899.
[2] 王号,张春光,黄峻峰,等.考虑旋光影响的窄带声光滤波器设计及其性能分析[J].光学学报,2014,34(4):235?239.
[3] 李秀英,王金玉,孙书利.具有一步随机时滞和多丢包的网络系统H∞滤波器设计[J].自动化学报,2014,40(1):155?160.
[4] 李荣强,杜国宏,唐军.过模基片集成波导腔体滤波器设计[J].微波学报,2014,30(3):93?96.
[5] 庄德玉.采煤机用4象限变频器前端LCL滤波器设计[J].电气传动,2014,44(8):55?58.
[6] 姚波,安志娟,王福忠,等.具有椭圆盘极点约束的线性系统滤波器设计[J].计算技术与自动化,2014,33(4):11?15.
[7] 燕丽红,张乐芳,马小青.基于图形可视化Wintool和FDAtool的FIR滤波器设计[J].现代电子技术,2015,38(24):4?6.
[8] 张棟,孔亮,宁圃奇,等.一种基于转移函数的电机驱动系统共模EMI滤波器设计方法[J].电工技术学报,2016,31(1):103?111.
[9] 秦绪嵘,和新阳.一种新型微带双模可调滤波器设计[J].电子设计工程,2016,24(7):101?103.
[10] 李学斌,郭建卓,韩宇南.基于非对称SIR的小型化双频带带通滤波器设计[J].北京邮电大学学报,2015,38(2):104?107.
[11] 刘国稳,朱卫华.高性能CIC滤波器的优化设计[J].计算机仿真,2016,33(2):234?238.
[12] 郭晓伟,陈钟荣,夏利娜.基于FPGA的高速高阶FIR滤波器的频域改进方法[J].现代电子技术,2016,39(11):55?58.