CN117526901A - 一种基于FPGA的Farrow结构滤波器实现方法及系统 - Google Patents
一种基于FPGA的Farrow结构滤波器实现方法及系统 Download PDFInfo
- Publication number
- CN117526901A CN117526901A CN202311611760.1A CN202311611760A CN117526901A CN 117526901 A CN117526901 A CN 117526901A CN 202311611760 A CN202311611760 A CN 202311611760A CN 117526901 A CN117526901 A CN 117526901A
- Authority
- CN
- China
- Prior art keywords
- fpga
- interpolation
- farrow structure
- filter
- structure filter
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000005070 sampling Methods 0.000 claims description 23
- 230000003111 delayed effect Effects 0.000 claims description 5
- 238000013139 quantization Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/0223—Computation saving measures; Accelerating measures
- H03H17/0225—Measures concerning the multipliers
-
- 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/06—Non-recursive filters
- H03H17/0621—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
- H03H17/0635—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
- H03H17/065—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer
- H03H17/0657—Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer where the output-delivery frequency is higher than the input sampling frequency, i.e. interpolation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及数字信号处理技术领域,具体涉及一种基于FPGA的Farrow结构滤波器实现方法及系统,包括如下步骤:将Farrow结构滤波器的分数间隔uk划分为若干个小数倍插值位置u,分别计算每个u所对应的滤波器系数,并将滤波器系数量化后提前存储在ROM表中;通过计算uk时所得到的u读取ROM表地址,得到相应的滤波器系数,将输入信号与对应的滤波器系数做乘法运算;对做乘法运算后的结果做加法运算。本发明只需要4个乘法器和1个加法器即能够实现任意数倍的分数倍插值处理,有效节省了实现过程中的乘法器和加法器资源。
Description
技术领域
本发明涉及数字信号处理技术领域,具体而言,涉及一种基于FPGA的Farrow结构滤波器实现方法及系统。
背景技术
随着现代技术的发展,人们对信号处理的要求越来越高,也越来越精确。前端要求尽可能的大带宽传输,终端则希望尽可能以接近带宽的最小采样率进行处理。这就要求针对不同带宽的信号能够灵活的进行采样率调整。仪器仪表为适应不同输入带宽的待测信号,或对输出信号的不同要求,需要支持多种带宽多种采样率的输入输出信号处理。在信号处理链路中就需要用到大量的插值和抽取处理。当输入信号采样率与输出信号采样率不成整数倍关系时,需引入分数倍插值或抽取处理。
目前常用的分数倍插值处理主要分为两种:一种是频域插值,先将输入信号插值到输入输出采样率的最小公倍数,然后经过相应的滤波器滤除由于插值带来的镜像分量,最后抽取输出采样率。频域插值处理的优点在于设计简单稳定,便于仿真调试和性能控制;缺点则是对于不同的分数倍插值,插值和抽取的倍数不一样,对滤波器的通阻带要求也不一致,不同的分数倍插值,需要生成不同的滤波器起系数;设计通用性低。另一种是时域插值处理,通过数学多项式插值计算的方式,实时计算分数倍插值时,需要输出采样点的值。常用的方法包括线性插值,拉格朗日插值以及抛物线插值等,且为了简化插值的实现方法,Farrow.C提出了基于Farrow结构的多项式插值方法,大大简化了时域插值的实现方式。该方式优点是设计灵活,不同的分数倍插值倍数,只需要实时修改相应系数即可,设计十分灵活,相同的结构可匹配不同的插值系数。如今已经逐渐成为多采样率环境下的主流分数倍插值方式。
另外,FPGA作为目前常用高速信号处理器件,能够在保证运行速率的情况下实现多路信号的并行处理。常规的抽取插值算法也多在FPGA中设计实现。
目前常用的Farrow结构滤波器在进行FPGA设计实现时,如3阶拉格朗日函数,每一次插值运算过程,先和常数系数相乘需要4*4个乘法器和3*4个加法器,然后和分数间隔uk相乘需要3个乘法器和3个加法器,总计需要19个乘法器和15个加法器;当使用Farrow结构的分数倍插值滤波器需要多路并行实现或更高阶的插值函数时,乘法器和加法器资源的消耗将成倍增加,这也将限制FPGA的最大处理速度。
发明内容
本发明的目的在于提供一种基于FPGA的Farrow结构滤波器实现方法及系统,将Farrow结构滤波器的分数间隔uk划分为若干个小数倍插值位置u,分别计算每个u所对应的滤波器系数,并将所述滤波器系数量化后提前存储在ROM表中,在三阶拉格朗日插值算法的Farrow结构滤波器每一次插值运算过程中,只需要4个乘法器和1个加法器即可实现任意数倍的分数倍插值处理,以解决常用Farrow结构滤波器在进行FPGA设计实现时乘法器和加法器资源消耗大的问题。
本发明的实施例通过以下技术方案实现:一种基于FPGA的Farrow结构滤波器实现方法,包括如下步骤:
将Farrow结构滤波器的分数间隔uk划分为若干个小数倍插值位置u,分别计算每个u所对应的滤波器系数,并将所述滤波器系数量化后提前存储在ROM表中;
通过计算uk时所得到的u读取ROM表地址,得到相应的滤波器系数,将输入信号与对应的滤波器系数做乘法运算;
对做所述乘法运算后的结果做加法运算。
根据一种优选实施方式,所述Farrow结构滤波器的分数间隔uk基于ROM的深度进行划分。
根据一种优选实施方式,基于ROM的深度对Farrow结构滤波器的分数间隔uk进行等间隔划分。
根据一种优选实施方式,所述小数倍插值位置u采用如下方式获取:
插值控制器NCO单元每个时钟周期累加一次uk,当累加器中的值小于uk量化的最大值uk,max时,则保持累加器中的值不变,否则将累加器中的值减去uk,max后的值作为新的累加器值,将每个时钟周期累加器的值作为u。
根据一种优选实施方式,所述插值控制器NCO单元工作在目标采样率fs下。
根据一种优选实施方式,所述输入信号为经过整数倍内插后的输出数据经过延时后得到。
根据一种优选实施方式,所述输入信号以整数倍等效采样周期进行延时。
根据一种优选实施方式,还包括:将做乘法运算后的结果进行截位处理,将截位处理后的数据作为最终的做乘法运算的结果。
根据一种优选实施方式,将做乘法运算后的结果进行四舍五入截位处理。
本发明还提供一种基于FPGA的Farrow结构滤波器实现系统,采用了如上述所述的基于FPGA的Farrow结构滤波器实现方法。
本发明实施例一种基于FPGA的Farrow结构滤波器实现方法及系统的技术方案至少具有如下优点和有益效果:本发明将Farrow结构滤波器的分数间隔uk划分为若干个小数倍插值位置u,并提前计算出不同小数倍插值位置u对应的滤波器系数存储在ROM表中;从现有技术的需要实现三阶拉格朗日函数和常数系数相乘需要4*4个乘法器和3*4个加法器,然后和分数间隔uk相乘需要3个乘法器和3个加法器,换成本发明仅仅需要利用4个乘法器和1个加法器,即能够实现任意数倍的分数倍插值处理,有效节省了实现过程中的乘法器和加法器资源。
附图说明
图1为本发明实施例1提供的基于FPGA的Farrow结构滤波器实现方法的流程示意图;
图2为本发明实施例1提供的Farrow结构滤波器以三阶拉格朗日插值算法为例的实现结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
实施例1
如图1所示,本实施例提供一种基于FPGA的Farrow结构滤波器实现方法,包括以下步骤:
步骤S1、基于ROM的深度将Farrow结构滤波器的分数间隔uk等间隔划分为若干个小数倍插值位置u,分别计算每个u所对应的滤波器系数,并将所述滤波器系数提前存储在ROM表中;
步骤S2、通过计算uk时所得到的u读取ROM表地址,得到相应的滤波器系数;
步骤S3、将经过整数倍内插后的输出数据经过延时后得到的各时刻的输入信号值分别与对应的滤波器系数做乘法运算;
步骤S4、对做所述乘法运算后的结果做加法运算。
在本实施例所述步骤S1中,优选的,将ROM表的深度设为64,以充分利用FPGA中的寄存器资源;进一步地,基于ROM的深度对Farrow结构滤波器的分数间隔uk进行划分,同时使用划分的若干个小数倍插值位置u代入插值多项式,计算出相应的滤波器系数;例如采用拉格朗日插值算法:
使用拉格朗日差值算法的滤波器输出y(t)可以表示为:
上式中,Ci表示拉格朗日多项式:
拉格朗日多项式所需的采样点数用N=N1+N2+1表示,由于存在线性相位特性,所以采样点数N一般选2或4这样的偶数,当N为4时,多项式的最高幂次为3,所以又被叫做立方插值算法,它的滤波器系数可以表示为:
考虑到从性能、硬件设计复杂程度及资源利用方面,本实施例选用立方插值的方法实现分数倍的插值处理。
进一步地,考虑到在FPGA实现过程中,主要以定点类型的数据进行运算,因此需要将正常的浮点型数据量化为整形数据,此处需要对计算出的滤波器系数进行一定的量化处理,然后将量化后的滤波器系数作为ROM的输出数据存入ROM_C-2、ROM_C-1、ROM_C0和ROM_C1四个ROM中。
参见图2所示,在本实施例所述步骤S2中,插值控制器NCO单元工作在目标采样率fs下,每个时钟周期累加一次uk,在每个时钟沿来之后判断累加器中的值是否大于uk量化的最大值uk,max,如果累加器中的值小于uk量化的最大值uk,max,则保持累加器中的值不变,否则将累加器中的值减去uk,max后的值作为新的累加器值,将每个时钟周期累加器的值作为u。需要说明的是,所述插值控制器NCO单元用于通过分数间隔uk来进行插值控制器NCO运算。
进一步地,通过所得到的u读取ROM表地址,得到相应的滤波器系数,然后再进行插值运算。
需要说明的是,按符号率输入的信号序列首先经过固定倍数的插值成型,然后送入整数倍内插单元实现2的整数次幂的插值处理,整数倍内插后的采样率与目标采样率的插值倍数不超过2倍。然后经过分数倍内插,实现1~2倍的插值,使得分数倍内插的输出采样率即为目标采样率。
在本实施例所述步骤S3中,接收整数倍内插后的输出数据并进行1~2倍的分数倍插值,使分数倍插值滤波器的输出采样率与目标采样率一致。进一步地,输入信号此时的等效采样时钟为整数倍内插后的采样时钟,因而所述输入信号以整数倍等效采样周期进行延时,进一步地,整数倍内插滤波器的输出信号din_ts经过3次延时后分别得出4个时刻输入信号的值D_int。
进一步地,本发明实施例采用并行化设计,将D_int分别与对应的滤波器系数做乘法运算;且为了不改变乘法运算后信号的大小,此处将做乘法运算后的结果进行四舍五入截位处理,将截位处理后的数据作为最终的做乘法运算的结果。
在本实施例所述步骤S4中,对做所述乘法运算后的结果做加法运算。
综上所述,本发明基于ROM的深度将Farrow结构滤波器的分数间隔uk划分为若干个小数倍插值位置u,并提前计算出不同小数倍插值位置u对应的滤波器系数存储在ROM表中;从现有技术的需要实现三阶拉格朗日函数和常数系数相乘需要4*4个乘法器和3*4个加法器,然后和分数间隔uk相乘需要3个乘法器和3个加法器,换成本发明仅仅需要利用4个乘法器和1个加法器,即能够实现任意数倍的分数倍插值处理,有效节省了实现过程中的乘法器和加法器资源。
实施例2
本实施例提供一种基于FPGA的Farrow结构滤波器实现系统,采用了如实施例1所述的基于FPGA的Farrow结构滤波器实现方法。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于FPGA的Farrow结构滤波器实现方法,其特征在于,包括如下步骤:
将Farrow结构滤波器的分数间隔uk划分为若干个小数倍插值位置u,分别计算每个u所对应的滤波器系数,并将所述滤波器系数量化后提前存储在ROM表中;
通过计算uk时所得到的u读取ROM表地址,得到相应的滤波器系数,将输入信号与对应的滤波器系数做乘法运算;
对做所述乘法运算后的结果做加法运算。
2.如权利要求1所述的基于FPGA的Farrow结构滤波器实现方法,其特征在于,所述Farrow结构滤波器的分数间隔uk基于ROM的深度进行划分。
3.如权利要求1所述的基于FPGA的Farrow结构滤波器实现方法,其特征在于,基于ROM的深度对Farrow结构滤波器的分数间隔uk进行等间隔划分。
4.如权利要求1至3任一项所述的基于FPGA的Farrow结构滤波器实现方法,其特征在于,所述小数倍插值位置u采用如下方式获取:
插值控制器NCO单元每个时钟周期累加一次uk,当累加器中的值小于uk量化的最大值uk,max时,则保持累加器中的值不变,否则将累加器中的值减去uk,max后的值作为新的累加器值,将每个时钟周期累加器的值作为u。
5.如权利要求4所述的基于FPGA的Farrow结构滤波器实现方法,其特征在于,所述插值控制器NCO单元工作在目标采样率fs下。
6.如权利要求5所述的基于FPGA的Farrow结构滤波器实现方法,其特征在于,所述输入信号为经过整数倍内插后的输出数据经过延时后得到。
7.如权利要求6所述的基于FPGA的Farrow结构滤波器实现方法,其特征在于,所述输入信号以整数倍等效采样周期进行延时。
8.如权利要求7所述的基于FPGA的Farrow结构滤波器实现方法,其特征在于,还包括:将做乘法运算后的结果进行截位处理,将截位处理后的数据作为最终的做乘法运算的结果。
9.如权利要求8所述的基于FPGA的Farrow结构滤波器实现方法,其特征在于,将做乘法运算后的结果进行四舍五入截位处理。
10.一种基于FPGA的Farrow结构滤波器实现系统,其特征在于,采用了如权利要求1至9任一项所述的基于FPGA的Farrow结构滤波器实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311611760.1A CN117526901A (zh) | 2023-11-28 | 2023-11-28 | 一种基于FPGA的Farrow结构滤波器实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311611760.1A CN117526901A (zh) | 2023-11-28 | 2023-11-28 | 一种基于FPGA的Farrow结构滤波器实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117526901A true CN117526901A (zh) | 2024-02-06 |
Family
ID=89758586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311611760.1A Pending CN117526901A (zh) | 2023-11-28 | 2023-11-28 | 一种基于FPGA的Farrow结构滤波器实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117526901A (zh) |
-
2023
- 2023-11-28 CN CN202311611760.1A patent/CN117526901A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107636965B (zh) | 稀疏级联积分梳滤波器 | |
CN103269212B (zh) | 低成本低功耗可编程多级fir滤波器实现方法 | |
CN100574098C (zh) | 基于可编程逻辑器件的插值cic滤波器及实现方法 | |
JP2762080B2 (ja) | 平方根の概算装置 | |
Liu et al. | Design and FPGA implementation of a reconfigurable digital down converter for wideband applications | |
CN102025377B (zh) | 一种改进型级联积分梳妆插值滤波器 | |
JPH07245593A (ja) | Fifo付きデータ変換器 | |
CN110208755B (zh) | 一种基于fpga的动态雷达回波数字下变频系统及方法 | |
CN109976660B (zh) | 基于线性插值的任意信号采样率重构方法和数据采样系统 | |
CN114142830A (zh) | 全精度低通iir滤波器的fpga实现方法 | |
CN110957996B (zh) | 一种基于abc算法的无乘法器frm滤波器组优化设计方法 | |
CN117526901A (zh) | 一种基于FPGA的Farrow结构滤波器实现方法及系统 | |
CN108270416B (zh) | 一种高阶插值滤波器及方法 | |
JP2010130185A (ja) | サンプリングレート変換回路 | |
KR101584917B1 (ko) | 멀티 스테이지 필터 장치 및 그것을 이용한 필터링 방법 | |
JP5126366B2 (ja) | フィルタ装置 | |
Datta et al. | Implementation of fractional sample rate digital down converter for radio receiver applications | |
CN113872566B (zh) | 带宽连续可调的调制滤波装置和方法 | |
EP1458097A1 (en) | Arbitrary sampling rate conversion | |
Zhuo et al. | Implementation of high-performance multi-structure digital down converter based on FPGA | |
CN115794027B (zh) | 信号处理方法、装置、电子设备及存储介质 | |
Chodoker et al. | Multiple Constant Multiplication Technique for Configurable Finite Impulse Response Filter Design | |
CN116132866B (zh) | 一种pdm数字麦克风解码装置和芯片 | |
Madheswaran et al. | Implementation And Comparison Of Different CIC Filter Structure For Decimation | |
CN114362722A (zh) | 一种对离散信号进行高倍内插的升采样方法及装置 |
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 |