基于FPGA的并行分布式IIR滤波器的设计与仿真外文翻译资料

 2022-05-17 22:48:18

Multimedia, Communication and Computing Application – Leung (Ed.)

copy; 2015 Taylor amp; Francis Group, London, ISBN 978-1-138-02775-6

Design and simulation of parallel distributed IIR filter based on FPGA

D.X. Sun amp; X.F. Li

School of Mechatronical Engineering, Beijing Institute of Technology, Beijing, China

ABSTRACT: This paper presents a method of using FPGA to realize IIR digital filter. This method used full parallel distributed algorithm to reduce the hardware circuit scale on the premise of guaranteeing real time and to solve the problem of floating point calculation in FPGA using fixed-point binary number. Taking a sec- ond-order IIR digital filter as an example, this paper used hierarchical method to design the digital filter and its function modules and to verify the hardware circuit through simulation. The results showed that the design of IIR digital filter method has good real-time performance and the hardware circuit size is smaller. The calcula- tion of fixed-point binary number can control the filtering precision effectively, and the lookup table structure changed conveniently, which shows the flexibility of the design.

KEYWORDS: Digital filter, FPGA, Distributed arithmetic, Fixed-point binary number, Simulation

1 INTRODUCTION

In the field of digital signal processing technology, the application of digital filter is very important. The key problem of using FPGA to implement IIR dig- ital filter is the processing of filter coefficients and the realization of the multiplication module. FPGA cannot handle floating point operations, so we need to deal with filter coefficients. In addition, the IIR digital filter has more multiplication. If we use the array multiplier within hardware, it will take up too much of the hardware resources, which is not condu- cive to the design of large-scale integrated circuits. In a study [1], Guo-hua Wei obtained the quantiza- tion coefficients by dealing with filter coefficients six times, and the process was complex. Another study [2] mentioned the quantification of the ideal coefficients; but it may result in the zero pole position deviation of filters, which makes the differences in the frequency respond with the theoretical value. It may make filter poles out of the unit circle when serious, which lead to an unstable system [2]. Xiang-ping Li [3] proposed a serial distributed algorithm based on the read-only memory lookup table to implement the multiplication operation. Though the aim of improving the clock of circuit system through the FPGArsquo;s internal ROM has been achieved, the price to pay for it is the expense of overall data processing time [3]. A modified design of combining direct multiply accumulation and ROM lookup table has been proposed in one study [4]. Although it saves some hardware space, more time is consumed in the process [4].

This paper studies the implementation method of IIR digital filter based on FPGA. It also focuses on research of the efficient implementation of a multiplication operation, parallel distributed algorithms, and infinite precision floating-point fixed-point binary problem in hardware circuit design.

2 IIRDIGITAL FILTER SUMMARY

The standard transfer function of IIR digital filter can be expressed as follows:

(1)

Set the input signal for IIR digital filter as X (z), and the output signal is Y (z). According to the relationship between transfer function and the input-output signals,

we can get

Y(z)=H(z)X(z) (2)

Assume the sample period of the input signal is T and do inverse transformation of z transformation to (2); we get

(3)

Sequencesandare M-order and N-order delay structures of inputs x(n) and y(n),respectively, and each order time delay is added together after being tapped; thus, it can reflect that the IIR digital filter is a feedback network.

Any high-order IIR filter can be expressed as the cascade form of a second-order system, so the second-order IIR digital filter has been taken as an example to study the FPGA implementation of IIR digital filter in this paper.

3 IIR DIGITAL FILTER BASED ON FPGA

The implementation of IIR digital filter based on FPGA means that the difference equ-ation (3) is described using hardware description language. There are three important problems that need to be solved regarding FPGA hardware implementation: the representation and calculation of filter coefficients and floating-point in the input sequence, realization method of multiplications in the difference equation, and realization of the output feedback.

3.1 Coefficient quantization and arithmetic based on the binary number

During the hardware implementation of filters, all coefficients must be stored in the FPGA register in the form of a finite length binary code. While the transfer function coefficients a (k) and b(k) of the ideal digital filter designed by the theory are infinite precision floating-point numbers, the quantization of ideal filter coefficients needs to be done.

Using the method of fixed-point binary number to quantify filter coefficients and converting the multiplication to displacement calculation of the fixed-point binary number solved the problem that FPGA can only deal with integers [5]. It also guaranteed the precision of coefficients and improved the resource usage effectively.

According to the different precision requirements, expand data in appropriate multiples and express it by a fixed number of binary numbers. The original data can be obtained by data displacement. The bigger the expanding ratio, the smaller the truncation error. Thus, the result data is more precise [6]. The additio

全文共28830字,剩余内容已隐藏,支付完成后下载完整资料


多媒体,通信和计算应用 - 梁(编辑)– Leung (编辑.)

copy; 2015 Taylor amp; Francis Group, London, ISBN 978-1-138-02775-6

基于FPGA的并行分布式IIR滤波器的设计与仿真

D.X. Sun amp; X.F. Li

北京理工大学机电工程学院,北京,中国

摘要:本文提出了一种利用FPGA实现IIR数字滤波器的方法。该方法在保证实时性的前提下,采用完全并行分布式算法降低硬件电路规模,解决了FPGA采用定点二进制数浮点计算的问题。以二阶IIR数字滤波器为例,本文采用分层法设计数字滤波器及其功能模块,并通过仿真验证硬件电路。结果表明,IIR数字滤波方法的设计具有良好的实时性,且硬件电路尺寸较小。定点二进制数的计算可以有效地控制滤波精度,查表结构变化方便,显示了设计的灵活性。

关键词:数字滤波器,FPGA,分布式算法,定点二进制数,仿真

1 简介

在数字信号处理技术领域,数字滤波器的应用非常重要。使用FPGA实现IIR数字滤波器的关键问题是滤波器系数的处理和乘法模块的实现。FPGA不能处理浮点运算,所以我们需要处理滤波器系数。另外,IIR数字滤波器具有更多的乘法。如果我们在硬件中使用阵列乘法器,它将占用太多的硬件资源,这对大规模集成电路的设计不利。在一项研究中[1],魏国华通过对滤波器系数进行六次处理得到量化系数,其过程非常复杂。另一项研究[2]提到了理想系数的量化;但可能会导致滤波器的零点位置偏差,从而导致频率差异与理论值相对应。严重时可能会使滤波器极点脱离单位圆,导致系统不稳定[2]。李向平[3]提出了基于只读存储器查找表的串行分布式算法来实现乘法运算。尽管通过FPGA的内部ROM提高了电路系统时钟的目标已经实现,但要付出的代价是整个数据处理时间[3]。一项研究提出了一种结合直接乘法累加和ROM查找表的改进设计[4]。虽然它节省了一些硬件空间,但在这个过程中消耗更多时间[4]。

本文研究了基于FPGA的IIR数字滤波器的实现方法。重点研究了硬件电路设计中乘法运算,并行分布式算法和无限精度浮点定点二进制问题的有效实现。

2 IIR数字滤波器概要

IIR数字滤波器的标准传递函数可表示如下:

(1)

设置IIR数字滤波器的输入信号为X(z),输出信号为Y(z)。 根据传递函数与输入输出信号的关系,我们可以得到

Y(z)=H(z)X(z) (2)

假设输入信号的采样周期为T,并进行z变换到(2)的逆变换;我们得到了

(3)

序列分别是输入和 的M阶和N阶延时结构,并且每个阶次时间延时在被轻扣之后相加在一起;因此它可以反映出IIR滤波器是一个反馈网络。

3 基于FPGA的IIR数字滤波器

基于FPGA的IIR数字滤波器的实现意味着使用硬件描述语言来描述差分方程(3)。 FPGA硬件实现需要解决三个重要问题:输入序列中滤波器系数和浮点的表示和计算,差分方程中乘法的实现方法以及输出反馈的实现。

3.1 基于二进制数的系数量化和算术

在滤波器的硬件实现过程中,所有系数必须以有限长二进制码的形式存储在FPGA寄存器中。由于理论设计的理想数字滤波器的传递函数系数a(k)和b(k)是无限精度浮点数,因此理想滤波器系数的量化需要完成。

采用定点二进制数量化滤波器系数的方法,将乘法转换为定点二进制数的位移计算,解决了FPGA只能处理整数的问题[5]。它还保证了系数的精确性,有效地改善了资源使用。

根据不同的精度要求,以适当的倍数扩展数据并用固定数量的二进制数表示。原始数据可以通过数据位移获得。扩展比越大,截断误差越小。因此,结果数据更精确[6]。二进制数的加减运算相对简单。然而,在乘法中,两个二进制乘法的结果将移动小数点位置,所以乘法后的操作不能正常工作。针对这个问题,二进制数的定点表示是固定的,所以我们可以从低位降低固定的小数位,从高位降低固定的整数。然后,可以使乘法结果与定点二进制形式保持一致。

3.2 分布式算法

公式(3)表明,IIR数字滤波器算法的核心是乘法累加,而大量的卷积操作将占用太多的硬件资源。FPGA芯片查找表结构对于实现分布式算法非常有利,因此它被广泛应用于乘加。为了保证卷积操作不占用太多的硬件资源,提出了FPGA芯片的分布式算法和查找表结构的组合,将卷积操作转换为查找表累加操作。

由于输入序列x(n),方程(3)的输入序列可以使用分布式算法来计算。 建立

(4)

其中x b(k)表示x(k)的b位。输入序列部分可以扩展如下:

(5)

然后,我们可以得到二阶IIR滤波器输入部分的查找表(LUT)以及并行和分布式算法的整体结构,如表1和图1所示。

表1.二阶IIR滤波器的输入LUT

图1.全并行分布式算法的结构

3.3 输出反馈的实现

IIR滤波器和FIR滤波器的区别在于IIR滤波器有一个反馈回路。在实现相同功能的前提下,引入反馈环可以减少滤波器的阶数,从而提高数字信号处理的实时性,但也给FPGA的设计带来了困难。如果根据公式设计IIR滤波器,对FPGA实现的输入和输出反馈的定时协作有更高的要求。我们需要同时对输入序列和输出反馈进行并行分布式计算。与直接乘法算法相比,该算法节省硬件空间,但会产生一定的延迟,导致实时性能较差。对于这种情况,将差分方程(3)分解为输入序列和输出序列并分别计算。以输入序列的结果作为输出序列的输入。输入序列采用并行分布式算法计算,输出序列可通过乘法计算。它简化了设计的复杂性,同时节省了硬件资源。它还提高了操作的实时性。

4 IIR滤波器的FPGA设计与实现

由于任何高阶IIR滤波器都可以由多个二阶滤波器组成,本文以二阶IIR滤波器为例,从IIR滤波器功能模块分区,模块功能规格说明IIR数字滤波器的FPGA实现,全面的RTL视图和模拟验证。

4.1 IIR滤波器的功能模块

对于IIR数字滤波器的整体结构设计,其结构框图如图2所示:分为输入输出延迟反馈回路和包5个功能模块两部分。每个模块的主要功能如下:

1.时间延迟模块:利用阻塞分配来实现输入信号的时间延迟,使用三个寄存器变量分别显示输入信号延迟三次后的结果,并在稍后参与计算。延时模块的结构如图3所示。

2.串行和并行转换模块:对每个延迟信号进行分离,并将对应于并行分布式算法输入的每个对应位(构成查找表中的输入模块)的延迟信号进行限制。串并联模块的结构如图4所示。

3.查找表模块:将表1固化为单个查找表模块,并将差分等式(3)中的输入序列的乘法转换为滤波器系数的组合。

4.乘法和加法模块:让查找表的每个输出做相应的位移,并将输出相加在一起,从而得到差分方程(3)中输入序列的结果。

5.输出反馈模块:由于输出反馈模块的输入随最后一次输出的结果而不断变化,如果仍使用全并行分布算法,则会导致输出结果无序。在这里,我们将输出序列的形式保存在差分方程中,将输入序列的结果作为输出序列的输入,并声明两个变量寄存器来存储用于循环的前两个输出。

图2.总体结构

图3.延迟模块的结构

图4.串并模块的结构。

图5.输出反馈模块的结构。

4.2 IIR数字滤波器的复合RTL视图

根据设计指标,得到IIR数字滤波器系数。

a = [1minus; 0.36952737735124147 0.19581571265583314]

b = [0.206572083826 0.413144167652 0.206572083826]

选择输入位宽为7,其中有四个整数位和三位小数位表示滤波器系数 七位定点二进制数(表示为系数的绝对值)

a = [0001000 0000010 0000001]

b = [0000001 0000011 0000001]

在Quartus中编译和合成后,进行波形仿真并获得IIR数字滤波器RTL视图,如图6所示。

图6.IIR数字滤波器的RTL视图

4.3.1 典型的序列模拟

选择序列x(n)= {1.25 2.25 3.5 4.55.25 6.75 7.75 8.5}来模拟二阶IIR数字滤波器。将FPGA中的IIR滤波器实际结果与MATLAB中的仿真结果进行比较,比较结果如图7所示。

比较结果表明,FPGA和MATLAB仿真结果的趋势基本一致,但仍存在一定的偏差。在处理滤波器系数时,当使用有限数量的定点二进制数而不是无限精度浮点数时会产生某些截断误差,这会导致滤波器频率响应与理论值之间的差异。所以,如果我们想减少偏差,我们可以增加定点二进制数位的位数,以提高滤波系统的计算精度。

现在,将定点二进制数位的位添加到9,包括4个整数和5个小数位。将计算结果与实际值进行比较,如图8所示。

图7.典型的数字模拟比较(1)

图8.典型的数字模拟比较(2)

通过比较结果,可以看出,在改进二进制数字的固定数量的情况下,可以显着提高计算精度。

4.3.2 典型的信号模拟

例如,我们使用正弦波作为输入信号,并将FPGA仿真结果与Matlab仿真结果进行比较;结果如图8所示。根据所观察到的对比,Matlab仿真数据与实际中的数据基本一致,但仍存在一定的时延 虽然在IIR数字滤波器中引入了反馈机制,但在满足相同性能要求和技术指标的情况下,其延迟时间比FIR滤波器要小,但这种延迟无法避免。由于硬件描述语言的赋值语句被阻塞导致每个赋值时钟延迟一个时钟,我们可以正确合并模块以减少延迟时间并提高实时性能。

图9.典型的信号模拟比较

5 总结

本文提出了一种基于FPGA的并行分布式IIR数字滤波器的设计方法。该方法采用全并行分布式算法,减小了硬件电路的体积,保证了实时滤波。使用典型的序列以及典型的信号仿真,表明IIR数字滤波器采用二进制数运算的定点设计可以有效控制滤波精度,可以方便地改变查找表结构,体现设计的灵活性。

所有并行分布式算法的结构在二进制数位定点位较少时很简单;但具有较高的过滤精度,定点二进制数位的位数也会增加,这就需要更多的查找表结构。这导致了硬件资源的浪费。因此,我们需要对滤波器结构进行进一步的改进,将并行分布式算法与串行分布式算法相结合,以适应更广泛的滤波要求。

参考文献

[1] Wei, G.H., 2003, Electronic Products, (3), 20–21.

[2] Qu, X. amp; Tang, N. amp; Yan, S., 2009, Computer Simulation, 26(8), 304–307.

[3] Li, X.P., 2005, Journal of Tianjin University of Technology and Education, 15(3), 46–49.

[4] Ni, X.D., 2009, Application of Integrated Circuit, 16, 30–33.

[5] John, G. amp; Proakis amp; Dimitris, G. amp; Manolakis, 2007, 3rd ed. Pearson Prentice Hall, 466–482.

[6] Zhang, D.W. amp; Jiang, J. amp; Liu, D., 2012, Marine Technology, 32(2), 24–26.

基于FPGA的自编程多用途数字滤波器设计

胡文静*张国云 湖南省科学技术研究院,湖南岳阳414006

华东师范大学李蔚云中国上海200062

摘要:传统的数字滤波器一次只能获得固定的频域特性。为了获得可变特性,应该不断改变数字滤波器的类型、抽头数量和系数,以便获得所需的频域特性。本文提出了一个基于FPGA的自编程可变数字滤波器(VDF)设计方法。以有限脉冲响应(FIR)数字滤波器为例,利用定制嵌入式微处理器,可编程FIR宏模块,系数加载器,时钟管理器和A / D或D / A控制器等模块实现数字滤波系统。自编程VDF可以为实现数字滤波算法提供最佳解决方案,这些算法是具有可变频域特性的低通、高通、带通和带阻滤波器算法。基于Modelsim后路由仿真和在XUPV5-LX110T上的板载运行,提供了具有最小1到最大32抽头FIR滤波器的设计实例,以说明所提出方法的有效性以及可变数字滤波器的在线适应性。

关键词:自编程数字滤波器; 可变数字滤波器; 现场可编程门阵列; 嵌入式微处理器

1 简介

数字滤波器在通信系统,图像处理,声音信号处理等领域有很多应用。由于其良好的特性,如零点、线性相位、稳定性和设计灵活性,FIR滤波器广泛应用于数字信号处理(DSP)。已经做了相当多的工作来设计使用恒定系数的FIR滤波器,其一次只能获得固定的频域特性。与传统的数字滤波器不同,可变数字滤波器(VDF)可以不断改变其滤波器类型、抽头数量和系数,从而获得所需的频域特性。

lt;

全文共9937字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[12212],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。