CN114142830A - 全精度低通iir滤波器的fpga实现方法 - Google Patents
全精度低通iir滤波器的fpga实现方法 Download PDFInfo
- Publication number
- CN114142830A CN114142830A CN202111499149.5A CN202111499149A CN114142830A CN 114142830 A CN114142830 A CN 114142830A CN 202111499149 A CN202111499149 A CN 202111499149A CN 114142830 A CN114142830 A CN 114142830A
- Authority
- CN
- China
- Prior art keywords
- filter
- iir
- full
- order
- fpga
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/04—Recursive filters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H2017/0072—Theoretical filter design
- H03H2017/009—Theoretical filter design of IIR filters
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种全精度低通IIR滤波器的FPGA实现方法,包括如下步骤:(1)IIR滤波器数学模型的建立;(2)直接型IIR数字滤波器基础结构的建立;(3)ΣΔ噪声整形技术消除截位误差。本发明基于FPGA平台,结合ΣΔ噪声整形技术对直接型IIR低通滤波器的截位输出进行调制,进而实现了传统技术所无法达到的全精度低通滤波输出,本发明满足了电子测量、数字通信等领域对高速实时IIR低通滤波器的需求。
Description
技术领域:
本发明涉及电子测量技术领域,尤其涉及一种全精度低通IIR滤波器的FPGA实现方法,直接应用于对高速采样的数字信号进行低通滤波。
背景技术:
在高速数字信号采样及处理过程中,基于FPGA实现的数字滤波器得到了广泛应用,以完成各类对数字信号的运算处理、改变信号频谱。数字滤波器通常分为无限冲击响应滤波器(Infinite Impule Response,IIR)和有限冲击响应滤波器(Finite ImpuleResponse,FIR)。在相同的设计要求下,所要求的IIR滤波器阶数明显低于FIR滤波器,因此IIR滤波器可以用较少的硬件资源获取良好的幅频特性。在不需要严格线性相位特性的情况下,IIR滤波器具有明显的性能优势。
现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)因其高速实时性、良好的并行运算能力以及无与伦比的可重配置型、可扩展性,是高速数字信号处理领域的不可替代的核心应用。
然而,由于FPGA的浮点数运算效率,在绝大多数的应用场合,数字滤波器仍是基于定点数实现的。因此FPGA对于FIR滤波器支持更好,它可以通过增加输出信号的字长来实现全精度的数字滤波;而数字IIR滤波器具有递归结构,受限于有限的寄存器长度,无法通过增加字长来实现全精度运算。累加性的截位误差是定点数IIR滤波器所无法克服的缺陷。这也是当今主流FPGA生产厂商,均推出了丰富的FIR的IP核,却未能推出IIR的IP核的根本原因。
现有的基于FPGA定点数运算所实现IIR低通滤波器,均是采用递归结构且包含截位运算。在实际使用过程中,极易引起振荡现象。因此,如何设计一种既可以基于FPGA定点数实现、对硬件资源消耗较少,又能消除截位误差、实现全精度滤波输出,就成为了一项关键技术。
发明内容:
为了解决上述技术问题,本发明提出一种基于FPGA平台定点数运算可实现的、能够消除截位误差的全精度IIR数字低通滤波器的实现方法。
本发明提供一种全精度低通IIR滤波器的FPGA实现方法,包括
(1)IIR滤波器数学模型的建立
IIR滤波器的单位脉冲响应是无限长的,系统函数符合自回归滑动平均滤波器(Auto Regressive Moving Average,ARMV)的数学形式:
式(1-1)可以替换成以下形式:
式中,p为滤波器的极点个数(分母含有从1到p的各阶求和,共p项);q+1为滤波器的零点个数(分子含有从0到q的各阶求和,共q+1项)。在实际应用中,通常极点个数与零点个数相同,即p=q+1。对(1-1)式做逆z变换,得到系统的时域差分方程:
x[n]、y[n]分别是滤波器的输入、输出信号的时域表达形式;a1,a2,…,ap是各阶极点系数;b0,b1,…,bq是各阶零点系数。
以三阶IIR滤波器为例,(1-2)式可写作:
y[n]=b0x[n]+b1x[n-1]+b2x[n-2]+b3x[n-3]-a1y[n-1]-a2y[n-2]-a3y[n-3]
(1-3)。
(2)直接型IIR数字滤波器基础结构的建立
从(1-3)式中可以看出,等式右边的各项分为两部分:各阶x与各阶零点系数b的乘积、各阶y与各阶极点系数a的乘积,这两部分分别称之为零点项与极点项。
直接型IIR滤波器将零点项和极点项分别求和后再整体相加,该过程为全精度运算,字长依据定点数乘法、加法规则进行扩展。随后对累加之和进行截位,截位输出与滤波器输入保持相同字长。由于截位运算,滤波器输出引入了截位误差,或称量化噪声。
定点数计算方法可由下式进行描述:
Xr[n]=b0·x[n]+b1·x[n-1]+…bq·x[n-q] (2-1)
Yr[n]=a1·y[n-1]+a2·y[n-2]+…ap·y[n-p] (2-2)
Yout=(Xr[n]+Yr[n])>>N (2-3)
(2-3)式中的“>>”是右移操作,即截位运算;
Xr[n]是输入信号x的各阶采样与响应零点系数相乘后的累加值;
Yr[n]是输入信号y的各阶采样与响应极点系数相乘后的累加值;
N代表进行截位运算的位数;
Yout为包含截位误差的滤波器输出。
(3)ΣΔ噪声整形技术消除截位误差
由于在(2-3)式中进行了右移操作,于是产生了截位误差。IIR数字滤波器每进行一次递归,都会累加一次截位误差,这是传统结构所不能克服的根本缺陷,极易引起振荡。本发明的关键思想在于把截位误差看作量化噪声,进而使用“∑Δ噪声整形”的技术将量化噪声调制到高频段。被调制到高频的量化噪声与原信号的输出经反馈结构进行下一次递归时,因为滤波器本身的功能是低通滤波,则高频量化噪声被滤波器自身滤除。于是最终的输出不含量化噪声,即克服了截位误差,实现了全精度滤波输出。调制原理如下:
结合(2-1)、(2-2)、(2-3)式继续推导滤波器输出y[n]如下:
令,
G[n]=Xr[n]+Yr[n] (3-1)
∑[n]=∑[n-1]+Δ[n] (3-2)
y[n]=(G[n]+∑[n])>>N (3-3)
Δ[n]=G[n]-(y[n]<<N) (3-4)
G[n]表示Xr[n]与Yr[n]的求和值,是滤波器的理想全精度输出,没有截位;
Δ[n]表示截位误差,它是理想全精度输出与实际截位输出的偏差;
∑[n]表示对截位误差Δ[n]的累加,即数字积分。
在FPGA编程时,根据(3-1)至(3-4)式按系统时钟周期进行递归运算,即可实现全精度任意阶IIR低通滤波器。
本发明的有益效果是:本发明基于FPGA平台,结合∑Δ噪声整形技术对直接型IIR低通滤波器的截位输出进行调制,进而实现了传统技术所无法达到的全精度低通滤波输出,本发明满足了电子测量、数字通信等领域对高速实时IIR低通滤波器的需求。
附图说明:
图1是本发明的全精度直接型三阶IIR低通滤波器结构示意图;
图2是本发明的全精度直接型三阶IIR低通滤波器Modelsim仿真效果图。
具体实施方式:
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易被本领域人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
本发明提供一种全精度低通IIR滤波器的FPGA实现方法,包括
(1)IIR滤波器数学模型的建立
IIR滤波器的单位脉冲响应是无限长的,系统函数符合自回归滑动平均滤波器(Auto Regressive Moving Average,ARMV)的数学形式:
式中,p为滤波器的极点个数;q+1为滤波器的零点个数。在实际应用中,通常极点个数与零点个数相同,即p=q+1。对(1-1)式做逆z变换,得到系统的时域差分方程:
以三阶IIR滤波器为例,(1-2)式可写作:
y[n]=b0x[n]+b1x[n-1]+b2x[n-2]+b3x[n-3]-a1y[n-1]-a2y[n-2]-a3y[n-3]
(1-3)。
(2)直接型IIR数字滤波器基础结构的建立
直接型IIR滤波器将零点项和极点项分别求和后再整体相加,该过程为全精度运算,字长依据定点数乘法、加法规则进行扩展。随后对累加之和进行截位,截位输出与滤波器输入保持相同字长。由于截位运算,滤波器输出引入了截位误差,或称量化噪声。
定点数计算方法可由下式进行描述:
Xr[n]=b0·x[n]+b1·x[n-1]+…bq·x[n-q] (2-1)
Yr[n]=a1·y[n-1]+a2·y[n-2]+…ap·y[n-p] (2-2)
Yout=(Xr[n]+Yr[n])>>N (2-3)
(2-3)式中的“>>”是右移操作,即截位运算。
(3)∑Δ噪声整形技术消除截位误差
由于在(2-3)式中进行了右移操作,于是产生了截位误差。IIR数字滤波器每进行一次递归,都会累加一次截位误差,这是传统结构所不能克服的根本缺陷,极易引起振荡。本发明的关键思想在于把截位误差看作量化噪声,进而使用“∑Δ噪声整形”的技术将量化噪声调制到高频段。被调制到高频的量化噪声与原信号的输出经反馈结构进行下一次递归时,因为滤波器本身的功能是低通滤波,则高频量化噪声被滤波器自身滤除。于是最终的输出不含量化噪声,即克服了截位误差,实现了全精度滤波输出。
以(1-3)式所描述的三阶IIR滤波器为例,其结构如图1所示。
根据图1的原理,结合(2-1)、(2-2)、(2-3)式继续推导滤波器输出y[n]如下:
令
G[n]=Xr[n]+Yr[n] (3-1)
∑[n]=∑[n-1]+Δ[n] (3-2)
y[n]=(G[n]+∑[n])>>N (3-3)
Δ[n]=G[n]-(y[n]<<N) (3-4)
在FPGA编程时,根据(3-1)至(3-4)式按系统时钟周期进行递归运算,即可实现全精度任意阶IIR低通滤波器。Modelsim代码仿真效果图2所示。其中输入信号din为直流阶跃信号叠加白噪声,可以看到输出信号dout符合理论预期,低通滤波器性能可靠。
下面具体描述图1所示的全精度3阶IIR低通滤波器的FPGA实现的原理框图及时序逻辑:
在FPGA中,根据(2-2)式使用多路并行乘法器分别计算各阶零点项的乘积,即b0·x[n],b1·x[n-1],…,bq·x[n-q],共q+1项;同时根据(2-3)式使用另一组多路并行乘法器分别计算各阶极点项的乘积,即
a1·y[n-1],a2·y[n-2],…,ap·y[n-p],共p项。
在FPGA中,根据(2-2)式使用串行加法器对q+1项零点系数求和,记作xr[n];同时根据(2-3)式使用另一组串行加法器对p项极点系数求和,记作yr[n]。
在FPGA中,根据(3-1)式使用加法器对上一步所得的xr[n]与yr[n]求和,记作G[n]。
在FPGA中,根据(3-2)式使用数字积分器对G[n]与y[n]的偏差Δ[n]求和,记作∑[n]。
在FPGA中,根据(3-3)式使用加法器对G[n]与∑[n]求和,然后右移N位作为滤波器输出,记作y[n]。N等于G[n]的字长减去x[n]的字长。右移操作目的是输出信号与输入信号保持同一字长以便递归运算。
将上一步得到的滤波器输出y[n]反馈回去,在下一个数据周期与G[n+1]相减,然后重复第一步至第五步。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改讲,这些都属于本发明的保护范围。
Claims (1)
1.一种全精度低通IIR滤波器的FPGA实现方法,其特征在于,包括如下步骤:
(1)IIR滤波器数学模型的建立
IIR滤波器的系统函数符合自回归滑动平均滤波器的数学形式:
式中,p为滤波器的极点个数;q+1为滤波器的零点个数;
对(1-1)式做逆z变换,得到系统的时域差分方程:
(1-2)式可写作:
y[n]=b0x[n]+b1x[n-1]+b2x[n-2]+b3x[n-3]-a1y[n-1]-a2y[n-2]-a3y[n-3]
(1-3);
(2)直接型IIR数字滤波器基础结构的建立
从式(1-3)中可以看出,等式右边的各项分为两部分:各阶x与各阶零点系数b的乘积、各阶y与各阶极点系数a的乘积,这两部分分别称之为零点项与极点项,直接型IIR数字滤波器将零点项和极点项分别求和后再整体相加,随后对累加之和进行截位,截位输出与滤波器输入保持相同字长,
定点数计算方法由下式进行描述:
Xr[n]=b0·x[n]+b1·x[n-1]+…bq·x[n-q] (2-1)
Yr[n]=a1·y[n-1]+a2·y[n-2]+…ap·y[n-p] (2-2)
Yout=(Xr[n]+Yr[n])>>N (2-3)
式中,>>为截位运算;
(3)ΣΔ噪声整形技术消除截位误差
结合(2-1)、(2-2)、(2-3)式继续推导滤波器输出y[n]如下:
令
G[n]=Xr[n]+Yr[n] (3-1)
Δ[n]=∑[n-1]+Δ[n] (3-2)
y[n]=(G[n]+∑[n])>>N (3-3)
Δ[n]=G[n]-(y[n]<<N) (3-4)
在FPGA编程时,根据(3-1)至(3-4)式按系统时钟周期进行递归运算,即可实现全精度任意阶IIR低通滤波器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111499149.5A CN114142830A (zh) | 2021-12-09 | 2021-12-09 | 全精度低通iir滤波器的fpga实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111499149.5A CN114142830A (zh) | 2021-12-09 | 2021-12-09 | 全精度低通iir滤波器的fpga实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114142830A true CN114142830A (zh) | 2022-03-04 |
Family
ID=80385173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111499149.5A Pending CN114142830A (zh) | 2021-12-09 | 2021-12-09 | 全精度低通iir滤波器的fpga实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114142830A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115276687A (zh) * | 2022-06-02 | 2022-11-01 | 智己汽车科技有限公司 | 一种信号控制方法及系统 |
CN116470881A (zh) * | 2023-06-16 | 2023-07-21 | 青岛艾诺仪器有限公司 | 多模式多通道异步采样的iir数字滤波器及其控制方法 |
-
2021
- 2021-12-09 CN CN202111499149.5A patent/CN114142830A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115276687A (zh) * | 2022-06-02 | 2022-11-01 | 智己汽车科技有限公司 | 一种信号控制方法及系统 |
CN116470881A (zh) * | 2023-06-16 | 2023-07-21 | 青岛艾诺仪器有限公司 | 多模式多通道异步采样的iir数字滤波器及其控制方法 |
CN116470881B (zh) * | 2023-06-16 | 2023-09-05 | 青岛艾诺仪器有限公司 | 多模式多通道异步采样的iir数字滤波器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114142830A (zh) | 全精度低通iir滤波器的fpga实现方法 | |
Lyons | Understanding cascaded integrator-comb filters | |
JPH08508374A (ja) | デシメーション・フィルター | |
US8028013B2 (en) | Fast filtering means and filtering and decimation methods | |
Parameswaran et al. | A 100 µW Decimator for a 16 bit 24 kHz bandwidth Audio ΔΣ Modulator | |
Shahana et al. | Polyphase implementation of non-recursive comb decimators for sigma-delta A/D converters | |
Abramovitch | The multinotch, part II: Extra precision via Δ coefficients | |
Nerurkar et al. | Low power sigma delta decimation filter | |
CN110957996A (zh) | 一种基于abc算法的无乘法器frm滤波器组优化设计方法 | |
CN116015248A (zh) | 一种cic-hb级联式数字滤波器及其验证方法 | |
Gerosa et al. | A low-power decimation filter for a sigma-delta converter based on a power-optimized sinc filter | |
CN108270416A (zh) | 一种高阶插值滤波器及方法 | |
Meyer-Baese et al. | Infinite impulse response (IIR) digital filters | |
Mankani et al. | Power and area optimization of decimation filter for application in Sigma Delta ADC | |
Teymourzadeh et al. | An Overview of the Decimation process and its VLSI implementation | |
CN116505914B (zh) | 一种用于sigma-delta ADC的数字滤波器 | |
Latha et al. | Design of Digital Filters for Multi-standard Transceivers. | |
CN112187215B (zh) | 一种级联半带插值滤波器结构 | |
Sonika et al. | Design and implementation of sigma–delta digital to analog converter | |
Abed et al. | Design and implementation of a decimation filter for high performance audio applications | |
Thiagarajan et al. | A Novel Recursive Filter Realization of Discrete Time Filters | |
Teymourzadeh | VLSI Design Of Advanced Digital Filters | |
Li et al. | Design of a Low-Power Sigma-Delta ADC Digital Filter | |
Mottaghi-Kashtiban et al. | Efficient decimation filters for ΣΔ ADCs, using new FIR filters involving shift s and only two additions | |
Franks et al. | Data communication applications of incremental signal processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |