CN104467740B - 一种基于fpga的多通道数字滤波器 - Google Patents

一种基于fpga的多通道数字滤波器 Download PDF

Info

Publication number
CN104467740B
CN104467740B CN201410820113.6A CN201410820113A CN104467740B CN 104467740 B CN104467740 B CN 104467740B CN 201410820113 A CN201410820113 A CN 201410820113A CN 104467740 B CN104467740 B CN 104467740B
Authority
CN
China
Prior art keywords
jing
digital signal
signal
digital
bit widths
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.)
Active
Application number
CN201410820113.6A
Other languages
English (en)
Other versions
CN104467740A (zh
Inventor
李瑜
尹陆军
严良占
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ANHUI ONESKY ELECTRICAL TECHNOLOGY CO.,LTD.
Original Assignee
Anhui Onesky Power Quality Tech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anhui Onesky Power Quality Tech Co Ltd filed Critical Anhui Onesky Power Quality Tech Co Ltd
Priority to CN201410820113.6A priority Critical patent/CN104467740B/zh
Publication of CN104467740A publication Critical patent/CN104467740A/zh
Application granted granted Critical
Publication of CN104467740B publication Critical patent/CN104467740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于FPGA的多通道数字滤波器,将低通滤波器内核与外部多路数据通道、分频计数器、开关计数器和上升沿检测器封装。该分频计数器将上升沿有效的外部输入提示信号ND到或因计数满1000将输出拉高电平后,将计数值复位至0。开关计数器对分频计数器的输出进行计数,且根据该开关计数器的输出驱动通道的切换。本发明相比现有技术具有以下优点:本发明的一种基于FPGA的多通道数字滤波器,将滤波功能设计为一个固定的核,不同路的信号通过不同时间阀片来轮询使用内核,通过分频计数器、开关技术器实现多路信号对滤波核的共用,并对低通滤波器内核的数据先放大计算后再缩小,以保持计算过程中的精度不丢失。

Description

一种基于FPGA的多通道数字滤波器
技术领域
本发明涉及滤波器,尤其涉及的是一种基于FPGA的多通道数字滤波器。
背景技术
诸如电力、图像处理、雷达、气象领域中很多电子系统需要将多路信号进行滤波处理,这些信号的滤波往往计算量大、速度要求高、延时要小。随着数字滤波系统对宽带、高速、实时信号处理要求越来越高,对滤波器的处理速度、带宽等性能要求也随之提高。以前多用数字处理器DSP芯片编程实现,它们主要的数学运算单元是乘累加器(MAC)。MAC能在一个机器时钟周期内完成一次乘累加运算,同时硬件上配备不同等级的流水结构和哈佛结构,能够实现高速实时的数字信号处理。但由于其一个时钟周期只能进行一个计算,因此所有的计算均是串行处理,对于单路的信号处理尚可以接受,对于多路的信号处理,势必带来很长时间的延时,很容易就超过了系统的采样周期,使系统设计无法实现。所以必须寻找一种新型的技术或器件能够实现并行运算,也就是说在一个芯片中可以实现多个类似DSP芯片的功能单元,而FPGA用作数字信号处理的运算,其中的乘累加运算可以实现大多数数字信号处理算法,而强大的并行处理能力,则能够大大提高乘累加运算的效能。FPGA具有灵活的可编程逻辑,突破了并行处理与水平级数的限制,可以很好的实现信号处理的实时性。同时,开发程序的可移植性好,可以缩短开发周期;由于软件是烧至内部逻辑单元,所以不易破解,保密性强;但即便FPGA可以实现并行计算,一个芯片中可以实现多个相同的功能单元,但如果在多路数据处理时,每一路均单独使用一路处理单元,往往一块芯片仅能实现很有限的几路信号,基于这种情况,必须得使用“时间换空间”的设计策略,使其既能够实现快速处理,又能在同一块芯片上实现多路的计算。
发明内容
本发明的目的在于克服现有技术的不足,提供了一种基于FPGA的多通道数字滤波器,利用FPGA内部资源,实现低通滤波器内核,再通过多通道封装技术将内核打包成具有多通道滤波功能的滤波器。
本发明是通过以下技术方案实现的:一种基于FPGA的多通道数字滤波器,LP_Filter内核与外部多路数据通道、分频计数器、开关计数器和上升沿检测器封装,每个数据通道内设周期为1000的时间阀片,外部的数字输入信号在通道内传输经两级FIFO寄存器处理,经一级FIFO寄存器处理为一步时延输入信号,经两级FIFO寄存器处理为两步时延输入信号,该数字输入信号、一步时延输入信号、两步时延输入信号均通过三态开关接入低通滤波器LP_Filter内核;当分频计数器的复位输入端收到上升沿有效的外部输入提示信号ND或计数满1000的上升沿信号时,将计数值复位至0,从新计数;该开关计数器对分频计数器的输出进行计数,且根据该开关计数器的输出驱动通道的切换;该上升沿检测器接受开关计数器的信号,判断是否产生一个上升沿电平,并通知下级功能模块读取数据。
作为上述方案的进一步优化,低通滤波器LP_Filter内核中集成第一加法器、第二加法器、第三加法器、第四加法器、第五加法器,第一乘法器、第二乘法器、第三乘法器、第一移位寄存器和第二移位寄存器,数字输入信号xn经低通滤波器LP_Filter内核处理后输出数字输出信号yn,其信号处理步骤如下:
1)、数字输入信号xn和两步时延输入信号xn-2经第一加法器合成为33位宽度的数字信号x02
2)、两个一步时延输入信号xn-1经第二加法器合成为33位宽度的数字信号x11
3)、数字信号x02和x11经第三加法器合成为34位宽度的数字信号x012
4)、数字信号x012经第一乘法器与滤波系数CX0合成为69位宽度的数字信号x69
5)数字信号x69经第一移位寄存器截断处理为32位宽度的数字信号x32
6)两步时延输出信号yn-2和滤波系数Cy2经第三乘法器合成为67位宽度的数字信号y21
7)一步时延输出信号yn-1和滤波系数Cy1经第二乘法器合成为67位宽度的数字信号y11
8)数字信号y21和y11经第四加法器合成为68位宽度的数字信号y68
9)数字信号y68经第二移位寄存器截断处理为32位宽度的数字信号y32
10)经截断处理的数字信号y32和x32经第五加法器合成为32位宽度的数字输出信号yn
本发明的一种基于FPGA的多通道数字滤波器,为了实现多个通道的数据共用一个滤波器内核,将多个通道的输入数据与输出结果用多路开关的方式接入至上述的低通滤波内核中,并给出一段固定的延时。延时用计数器实现,延时计数器将时钟CLK信号作为计数源信号,当外部给出新的采样数据时,通过ND信号通知计数器开始计数,当计数值达到1000时就将输出信号给出10us的上升沿信号,以驱动下一级的多路开关驱动信号;多路开关驱动信号也是一个计数器,其计数信号源为上一级计数器的输出,每当输入信号有上升沿跳变时便将输出信号做加1操作,如果输出达到2时就复位至0,其输出去驱动输入输出口线上的多路开关,以使各个信号在多组数据通道间转换。因为数字滤波器的计算过程需要用到过去几个采样点的数据,所以必须将过去几个点的数据进行存储并在下次计算时应用,此处应用了2级的FIFO(先入先出寄存器),每当新的数据打入后,先前的数据就移出,以此来实现旧数据的存储与移动。当所有多组滤波数据均计算完毕后就给出RDY信号,通知外部其它单元数据已经计算完毕,可以读取数据,进行下一步的应用或计算。
本发明相比现有技术具有以下优点:本案中设计的一种基于FPGA的多通道数字滤波器采用这种独特的设计思路,将滤波功能设计为一个固定的核,而不同路的信号通过不同的时间阀片来轮询使用这个核,通过分频计数器、开关技术器实现多路信号对滤波核的共用,在时间与空间均满足要求的情况下实现设计思路。而由于滤波器的系数以及输入量很可能是些比较小的小数值,为了保持计算过程中的精度不丢失,对低通滤波器LP_Filter内核的数据先放大计算后再缩小的处理方式。
附图说明
图1是本发明的一种基于FPGA的多通道数字滤波器的结构原理图。
图2为图1中的低通滤波器LP_Filter内核的数据处理方法原理图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
参见图1和图2,为三路通道的优选实施例的一种基于FPGA的多通道数字滤波器,低通滤波器LP_Filter内核与外部三路数据通道、分频计数器Tcounter、开关计数器Scounter和上升沿检测器LPF_OK封装,每个数据通道内设周期为1000的时间阀片。
外部的数字输入信号X_a、X_b、X_c输入为数字输入信为xa、xb、xc,经两级FIFO寄存器处理,经一级FIFO寄存器处理为一步时延输入信号xa1、xb1、xc1,经两级FIFO寄存器处理为两步时延输入信号xa2、xb2、xc2,该数字输入信号、一步时延输入信号、两步时延输入信号均通过三态开关接入低通滤波器LP_Filter内核。数字输入信号为xa、xb、xc通过三态开关S3接至内核的数字输入信号xn0。一步时延输入信号xa1、xb1、xc1通过三态开关S3接至内核的一步时延数字输入信号xn1;两步时延输入信号xa2、xb2、xc2通过三态开关S3接至内核的两步时延输入信号xn2
分频计数器Tcounter对时钟CLK信号进行计数,其RESET信号由外部输入提示信号ND与自身的输出O相或后产生,当分频计数器Tcounter的复位输入端收到上升沿有效的外部输入提示信号ND或计数满1000的上升沿信号时,将计数值复位至0,从新计数。
该开关计数器Scounter对分频计数器Tcounter的输出进行计数,输出为0、1、或2,且根据该开关计数器的输出驱动通道的切换。当外部输入提示信号ND提示有新的数据接入,开关计数器Scounter输出复位为0,以使滤波数据通道从a通道,然后b通道,然后c通道。即:
当b(0:1)=b00时,则接a通道;
当b(0:1)=b01时,则接b通道;
当b(0:1)=b10时,则接c通道。
通过以上的数据通道及其驱动方式,则将a、b、c三个通道的数据各自通过1000个时钟周期的时间,滤波后经由各自通道输出。
上升沿检测器LPF_OK接受开关计数器的信号,判断是否产生一个上升沿电平,并通知下级功能模块读取数据。当上升沿检测器LPF_OK模块接收来自开关计数器Scounter的b(0:1),当b(0:1)=b10时,输出10uS宽度的上升沿电平,用来通知下级功能模块读取数据。
参见图2,低通滤波器LP_Filter内核中集成第一加法器、第二加法器、第三加法器、第四加法器、第五加法器,第一乘法器、第二乘法器、第三乘法器、第一移位寄存器和第二移位寄存器,低通滤波器LP_Filter内核数据处理的实质为:将多个信号输入值和以前的多个输出值与固定的系数相乘后进行迭加,用FPGA里的乘法单元以及加法单元来实现,而为了保持计算过程中的小数精度不丢失,对数据先放大计算后再缩小。数字输入信号xn经低通滤波器LP_Filter内核处理后输出数字输出信号yn,其信号处理步骤如下:
1)、数字输入信号xn和两步时延输入信号xn-2经第一加法器合成为33位宽度的数字信号x02
2)、两个一步时延输入信号xn-1经第二加法器合成为33位宽度的数字信号x11
3)、数字信号x02和x11经第三加法器合成为34位宽度的数字信号x012
4)、数字信号x012经第一乘法器与滤波系数CX0合成为69位宽度的数字信号x69
5)数字信号x69经第一移位寄存器截断处理为32位宽度的数字信号x32
6)两步时延输出信号yn-2和滤波系数Cy2经第三乘法器合成为67位宽度的数字信号y21
7)一步时延输出信号yn-1和滤波系数Cy1经第二乘法器合成为67位宽度的数字信号y11
8)数字信号y21和y11经第四加法器合成为68位宽度的数字信号y68
9)数字信号y68经第二移位寄存器截断处理为32位宽度的数字信号y32
10)经截断处理的数字信号y32和x32经第五加法器合成为32位宽度的数字输出信号yn。数字输出信号yn通过三态开关S3接至Y_a、Y_b、Y_c。
本案中设计的一种基于FPGA的多通道数字滤波器采用这种独特的设计思路,将滤波功能设计为一个固定的核,而不同路的信号通过不同的时间阀片来轮询使用这个核,通过分频计数器、开关技术器实现多路信号对滤波核的共用,在时间与空间均满足要求的情况下实现设计思路。而由于滤波器的系数以及输入量很可能是些比较小的小数值,为了保持计算过程中的精度不丢失,对低通滤波器LP_Filter内核的数据先放大计算后再缩小的处理方式。利用FPGA内部资源,实现低通滤波器内核,再通过多通道封装技术将内核打包成具有多通道滤波功能的滤波器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种基于FPGA的多通道数字滤波器,其特征包括:将低通滤波器LP_Filter内核与外部多路数据通道、分频计数器、开关计数器和上升沿检测器封装,每个数据通道内设周期为1000的时间阀片,外部的数字输入信号在通道内传输经两级FIFO寄存器处理,经一级FIFO寄存器处理为一步时延输入信号,经两级FIFO寄存器处理为两步时延输入信号,该数字输入信号、一步时延输入信号、两步时延输入信号均通过三态开关接入低通滤波器LP_Filter内核;
当分频计数器的复位输入端收到上升沿有效的外部输入提示信号ND或计数满1000的上升沿信号时,将计数值复位至0,从新计数;该开关计数器对分频计数器的输出进行计数,且根据该开关计数器的输出驱动通道的切换;该上升沿检测器接受开关计数器的信号,判断是否产生一个上升沿电平,并通知下级功能模块读取数据。
2.根据权利要求1所述的一种基于FPGA的多通道数字滤波器,其特征包括:低通滤波器LP_Filter内核中集成第一加法器、第二加法器、第三加法器、第四加法器、第五加法器,第一乘法器、第二乘法器、第三乘法器、第一移位寄存器和第二移位寄存器,数字输入信号xn经低通滤波器LP_Filter内核处理后输出数字输出信号yn,其信号处理步骤如下:
1)、数字输入信号xn和两步时延输入信号xn-2经第一加法器合成为33位宽度的数字信号x02
2)、两个一步时延输入信号xn-1经第二加法器合成为33位宽度的数字信号x11
3)、数字信号x02和x11经第三加法器合成为34位宽度的数字信号x012
4)、数字信号x012经第一乘法器与滤波系数CX0合成为69位宽度的数字信号x69
5)数字信号x69经第一移位寄存器截断处理为32位宽度的数字信号x32
6)两步时延输出信号yn-2和滤波系数Cy2经第三乘法器合成为67位宽度的数字信号y21
7)一步时延输出信号yn-1和滤波系数Cy1经第二乘法器合成为67位宽度的数字信号y11
8)数字信号y21和y11经第四加法器合成为68位宽度的数字信号y68
9)数字信号y68经第二移位寄存器截断处理为32位宽度的数字信号y32
10)经截断处理的数字信号y32和x32经第五加法器合成为32位宽度的数字输出信号yn
CN201410820113.6A 2014-12-24 2014-12-24 一种基于fpga的多通道数字滤波器 Active CN104467740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410820113.6A CN104467740B (zh) 2014-12-24 2014-12-24 一种基于fpga的多通道数字滤波器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410820113.6A CN104467740B (zh) 2014-12-24 2014-12-24 一种基于fpga的多通道数字滤波器

Publications (2)

Publication Number Publication Date
CN104467740A CN104467740A (zh) 2015-03-25
CN104467740B true CN104467740B (zh) 2017-04-19

Family

ID=52913225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410820113.6A Active CN104467740B (zh) 2014-12-24 2014-12-24 一种基于fpga的多通道数字滤波器

Country Status (1)

Country Link
CN (1) CN104467740B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025350A (zh) * 2009-09-18 2011-04-20 中芯国际集成电路制造(上海)有限公司 脉冲衰减环路及延迟测量装置
CN202663380U (zh) * 2012-07-14 2013-01-09 中科芯集成电路股份有限公司 利用电容延时特性实现有源rc滤波器的自动频率校准电路
CN104135277A (zh) * 2014-07-25 2014-11-05 深圳大学 一种片上基准时钟产生电路及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975148B2 (en) * 2002-12-24 2005-12-13 Fujitsu Limited Spread spectrum clock generation circuit, jitter generation circuit and semiconductor device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025350A (zh) * 2009-09-18 2011-04-20 中芯国际集成电路制造(上海)有限公司 脉冲衰减环路及延迟测量装置
CN202663380U (zh) * 2012-07-14 2013-01-09 中科芯集成电路股份有限公司 利用电容延时特性实现有源rc滤波器的自动频率校准电路
CN104135277A (zh) * 2014-07-25 2014-11-05 深圳大学 一种片上基准时钟产生电路及方法

Also Published As

Publication number Publication date
CN104467740A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN101916177B (zh) 一种可配置多精度定点乘加装置
CN109271133B (zh) 一种数据处理方法及系统
US10489116B1 (en) Programmable integrated circuits with multiplexer and register pipelining circuitry
CN102360281B (zh) 用于微处理器的多功能定点乘加单元mac运算装置
CN110362293B (zh) 乘法器、数据处理方法、芯片及电子设备
Gandhi et al. Comparative analysis for hardware circuit architecture of Wallace tree multiplier
US8543634B1 (en) Specialized processing block for programmable integrated circuit device
CN103956991A (zh) 一种基于cpu/gpu异构平台的fir滤波并行实现方法
CN104504205B (zh) 一种对称fir算法的并行化二维分割方法及其硬件结构
CN106775579B (zh) 基于可配置技术的浮点运算加速单元
CN104579240A (zh) 一种基于fpga的可配置系数的滤波器、电子设备及滤波方法
CN106849904A (zh) 数字滤波设备
CN104467740B (zh) 一种基于fpga的多通道数字滤波器
CN103345379A (zh) 一种复数乘法器及其实现方法
Guo et al. Truncated MCM using pattern modification for FIR filter implementation
Soares et al. Exploring power-performance-quality tradeoff of approximate adders for energy efficient sobel filtering
CN104348446A (zh) 一种实现fir滤波的方法和滤波装置
CN208607648U (zh) 行波进位加法器及应用其的数据运算单元、芯片、算力板和计算设备
CN203299808U (zh) 位串行加法器
CN101840322A (zh) 滤波器运算单元复用的方法和滤波器的运算系统
CN108255463A (zh) 一种数字逻辑运算方法、电路和fpga芯片
CN110515586B (zh) 乘法器、数据处理方法、芯片及电子设备
CN105391423A (zh) 一种fir滤波器
Lau et al. A self-timed wavefront array multiplier
EP3067820B1 (en) Double-layer compound register system and method for resisting energy analysis attacks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 230088 Yonghe Road, Hefei high tech Development Zone, Anhui, China, 97-1

Applicant after: ANHUI ONESKY POWER QUALITY TECH. CO., LTD.

Address before: 230088 No. 99 Yonghe Road, hi tech Zone, Anhui, Hefei

Applicant before: Anhui TipWorld Electrical Technology Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: ANHUI TIPWORLD ELECTRIC TECH. CO., LTD. TO: ANHUI ONESKY POWDER QUALITY TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220307

Address after: No.99, Yonghe Road, high tech Zone, Hefei City, Anhui Province, 230088

Patentee after: ANHUI ONESKY ELECTRICAL TECHNOLOGY CO.,LTD.

Address before: No. 97-1, Yonghe Road, high tech Development Zone, Hefei, Anhui 230088

Patentee before: ANHUI ONESKY POWER QUALITY TECH. Co.,Ltd.

TR01 Transfer of patent right