CN106452388A - 一种基于并行运算的cic滤波器设计方法 - Google Patents
一种基于并行运算的cic滤波器设计方法 Download PDFInfo
- Publication number
- CN106452388A CN106452388A CN201610860962.3A CN201610860962A CN106452388A CN 106452388 A CN106452388 A CN 106452388A CN 201610860962 A CN201610860962 A CN 201610860962A CN 106452388 A CN106452388 A CN 106452388A
- Authority
- CN
- China
- Prior art keywords
- data
- cic
- wave filter
- signal
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
-
- 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/0081—Theoretical filter design of FIR filters
Landscapes
- Complex Calculations (AREA)
Abstract
本发明属于高速信号处理领域,主要涉及基于并行运算的CIC滤波器的设计,提高信号处理速度,保证运行稳定性。本发明的目的在于提供一种基于并行运算的CIC滤波器设计方法,并对其进行硬件实现。本发明将待处理的信号数据流Si,0≤i≤N(其中N为数据长度,可以取无限长)按段划分,每段有M个数据。同时运行重排后的M路数据,即可在K1个时间里运行完这一组数据。整个系统是流水线工作,可以连续不断,在每个时钟内输出一组M个数据。最后对输出数据做D倍抽取,即可得到后续想要的抽取后处理速率。此处的并行CIC滤波器是工作在fcic这个速度上,提高了整个系统处理速度。
Description
技术领域
本发明属于高速信号处理领域,主要涉及基于并行运算的CIC滤波器的设计,提高信号处理速度,保证运行稳定性。
背景技术
在数字信号处理的应用中,随着采样速率的提高,采样后的数据流速率也相应的变得很高。这导致了后续信号处理的速度跟不上,即便是FPGA这样的高速数字信号处理器件也很吃力。而我们处理的单个信号,相对于采样率来说往往是一个窄带信号。这时,我们可以将信号速率降低再处理。这样降低数据采样率可通过一个CIC滤波器后抽取实现。在软件无线电中,CIC滤波器作为数字上下变频后的抽取或插值滤波功能得到了广泛的应用。
CIC滤波器,其中文全名为积分梳状滤波器,是一种特殊的FIR滤波器,其冲击响应为:
其转移函数为:
令H1(z)=1/(1-z-1),H2(z)=1-z-D,则其相应的频率响应为:
H2(ejω)=1-e-jωD=e-jωD/2(ejωD/2-e-jωD/2)=2e-jωD/2sin(ωD/2)
H1(ejω)是一个IIR的积分梳状滤波器,H2(ejω)是一个FIR的梳状滤波器,两者级联后得到这个线性相位的FIR滤波器,所以称为积分梳状滤波器(CIC滤波器),其频率响应为:
幅频响应为:
在实际应用中,通常采用多级CIC级联的方式,可以有效的降低主副瓣电平比,增加阻带抑制效果。例如N级CIC级联后,主副瓣电平比可达到:
信号通过滤波器的数学表达式为:
y(n)=h(n)*x(n)
其中y(n)为输出信号,x(n)为输入信号。
根据上述h(n)表达式,我们可推知:
y(n)=x(n)+x(n-1)+…+x(n-D+1)
传统CIC滤波器通过上述公式实现,抽取后即可降低数据速率。
在数字接收机中,传统的CIC滤波器都是通过以上原理,采用的串行结构实现的。接收机通过串行结构的CIC滤波器抽取后降低数据率,降低处理速度。所以,CIC滤波器其本身的运行速度即为系统的最高运行速度。现有的常用AD芯片采样率一般可达到500MHz-1GHz,而现有的FPGA芯片,较为先进的如Xilinx的V7_690T,一般可在处理时钟250MHz情况下稳定工作。可见传统串行结构的CIC滤波器运行的最大速度也已跟不上现有的AD转化器后的高数据采样率。这是传统CIC滤波器处理速度的限制,也是它最大的缺陷。
发明内容
本发明的目的在于提供一种基于并行运算的CIC滤波器设计方法,并对其进行硬件实现。传统的CIC滤波器在一个时钟内只能处理一个数据,而基于并行结构的CIC滤波器在一个时钟内可以处理M个数据。M取决于设计所需要的并行数。M的取值范围为2≤M≤D,D为CIC滤波器的抽取倍数。这样可提高信号处理的速度。
本发明的思路是:将待处理的信号数据流Si,0≤i≤N(其中N为数据长度,可以取无限长)。按段划分,每段有M个数据。即将信号数据流变为:
{(S0,S1,…,SM-1),(SM,SM+1,…,S2M-1),…}
采样数据速度设置为fs,CIC的处理速度定义为fcic,那么fs=M·fcic。每一个CIC运行时钟,可得一组数据:
{(Si·M,Si·M+1,…,S(i+1)·M-1)},0≤i≤N/M
在K1个时钟内,得到2组这样的数据:
{(Si·D,Si·D+1,…,S(i+1)·D-1),(S(i+1)·D,S(i+1)·D+1,…,S(i+1)·D-1)},0≤i≤N/D
K1=2D/M,2D/M向上取整。
将这两组数据重排成D组数据:
{(Si·D,Si·D+1,…,S(i+1)·D-1),(Si·D+1,…,S(i+1)·D),…,(S(i+1)·D-1,S(i+1)·D+1,…,S(i+2)·D-2)},0≤i≤N/D
同时运行重排后的M路数据,即可在K1个时间里运行完这一组数据。整个系统是流水线工作,可以连续不断,在每个时钟内输出一组M个数据。最后对输出数据做D倍抽取,即可得到后续想要的抽取后处理速率。此处的并行CIC滤波器是工作在fcic这个速度上,提高了整个系统处理速度。
一种基于并行运算的CIC滤波器设计方法,具体步骤如下:
S1、采样率为fs的待处理信号流Si,0≤i≤N(其中N为数据长度,可以取无限长),设计滤波器工作频率fcic和并行数M。满足关系fs=M·fcic。同时,确定需要的抽取数D。
S2、将其按照每M个数据一组划分,将信号流Si,0≤i≤N变成如下式子:
{(S0,S1,…,SM-1),(SM,SM+1,…,S2M-1),…}
每一个时钟得到一组M个数据:
{(Si·M,Si·M+1,…,S(i+1)·M-1)},0≤i≤N/M
S3、对信号采取流水线处理,将信号变成重排变为M组数据,用矩阵表达式表示为:
S4、将重排后的矩阵与滤波器做卷积得到输出:
每一个处理时钟将输出M个数据。
S5、步骤S1~S4实现了单级并行CIC滤波器,重复Q次步骤S2~S4,实现Q个单级CIC滤波器,然后对其进行级联,即可形成Q阶并行CIC滤波器。
S6、对最终输出的数据进行D倍抽取,得到降采样后的数据。
本发明的有益效果是:
通过将输入信号重排分组,每一组进行单独同时的并行运算。让本需要fs速度处理的信号,可以降低到用fcic的速度处理。由fs=M·fcic可知处理速度可降低M倍。将原本不能处理的高采样信号,通过新颖的并行CIC滤波器变得可以处理。可以处理更高采样信号的同时,也保证了系统运行的稳定。
附图说明
图1是本发明方法的流程图。
图2是在实施例1参数下,单级并行CIC滤波器运行结果与传统单级串行CIC滤波器运行结果对比图。
图3是在实施例2参数下,5阶并行CIC滤波器运行结果与传统5阶串行CIC滤波器运行结果对比图。
具体实施方式
下面结合实施例和附图,详细说明本发明的技术方案。
如图1所示:
S1、采样率为fs的待处理信号流Si,0≤i≤N(其中N为数据长度,可以取无限长),设计滤波器工作频率fcic和并行数M。满足关系fs=M·fcic。同时,确定需要的抽取数D。
S2、将其按照每M个数据一组划分,将信号流Si,0≤i≤N变成如下式子:
{(S0,S1,…,SM-1),(SM,SM+1,…,S2M-1),…}
每一个时钟得到一组M个数据:
{(Si·M,Si·M+1,…,S(i+1)·M-1)},0≤i≤N/M
S3、对信号采取流水线处理,将信号变成重排变为M组数据,用矩阵表达式表示为:
S4、将重排后的矩阵与滤波器做卷积得到输出:
每一个处理时钟将输出M个数据。
S5、步骤S1~S4实现了单级并行CIC滤波器,重复Q次步骤S2~S4,实现Q个单级CIC滤波器,然后对其进行级联,即可形成Q阶并行CIC滤波器。
S6、对最终输出的数据进行D倍抽取,得到降采样后的数据。
下面结合附图和实施例对本发明进一步说明。这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读本发明记载的内容之后,本领域技术人员可以对本发明做各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
实施例1
实施例1,由单级并行CIC滤波器与传统单级串行CIC滤波器运行结果相对比。
设输入信号采样频率为fs=1GHz。传统单级串行CIC的工作频率需要在fs=1GHz上。本发明的并行CIC设计M=4,D=8,单级CIC滤波器相当于Q=1。并行滤波器工作在fcic=fs/M=250MHz。
实施例1中的单级并行CIC滤波器设计包括以下步骤:
①对于采样率为fs=1GHz的输入信号Si,0≤i≤N(其中N为固定数据长度)。我们设计滤波器工作频率为fcic=250MHz,并行数为M=4。确定抽样数D=8;
②将其按照每4个数据一组划分,将信号流Si,0≤i≤N变成如下式子:
{(S0,S1,…,S3),(S4,S5,…,S7),…}
每一个时钟得到一组M个数据:
{(S4i,S4i,…,S4(i+1)·)},0≤i≤N/4;
③对信号采取流水线处理,将信号变成重排变为4组数据,用矩阵表达式表示为:
④将重排后的矩阵与滤波器做卷积得到输出:
每一个处理时钟将输出M个数据。
⑤由于Q=1,所以不用循环。步骤S1~S4即实现了单级并行CIC滤波器。
⑥对最终输出的数据进行8倍抽取,得到降采样后的数据。
如图2所示,为此实施例中单级串行CIC滤波器和M=4,D=8的并行CIC滤波器的处理数据对比图。图中第一行为串行CIC滤波器的处理时钟,第四行为并行CIC滤波器的处理时钟。可以很明显的看出,串行CIC滤波器的处理时钟是并行CIC滤波器的处理时钟4倍。第二行为串行CIC滤波器的数据输出,第三行为输出数据有效使能。第五行为并行CIC滤波器的数据输出,第六行为输出数据有效使能。通过比较两个结构的滤波器输出数据,我们可以知道结果完全一致。在处理速度上,并行CIC滤波器确实降低了信号处理的速度,达到了所需的效果。
实施例2
实施例2,由多级并行CIC滤波器与传统多级串行CIC滤波器运行结果相对比。
设输入信号采样频率为fs=1GHz。传统单级串行CIC的工作频率需要在fs=1GHz上。本发明的并行CIC设计M=4,D=8,单级CIC滤波器相当于Q=1。并行滤波器工作在fcic=fs/M=250MHz。
实施例2中的多级并行CIC滤波器设计包括以下步骤:
①对于采样率为fs=1GHz的输入信号Si,0≤i≤N(其中N为固定数据长度)。我们设计滤波器工作频率为fcic=250MHz,并行数为M=4。确定抽样数D=8;
②将其按照每4个数据一组划分,将信号流Si,0≤i≤N变成如下式子:
{(S0,S1,…,S3),(S4,S5,…,S7),…}
每一个时钟得到一组M个数据:
{(S4i,S4i,…,S4(i+1)·)},0≤i≤N/4;
③对信号采取流水线处理,将信号变成重排变为4组数据,用矩阵表达式表示为:
④将重排后的矩阵与滤波器做卷积得到输出:
每一个处理时钟将输出M个数据。
⑤由于Q=5,所以不用循环。步骤S1~S4一共执行5次。即可实现了多级并行CIC滤波器。
⑥对最终输出的数据进行8倍抽取,得到降采样后的数据。
如图3所示,为此实施例中多级(Q=5)串行CIC滤波器和M=4,D=8的并行CIC滤波器的处理数据对比图。图中六排信号所表达的含义与图2含义相同,不在赘述。从第二排的串行CIC滤波器数据和第五排的并行CIC滤波器数据对比可知道,输出数据结果完全一致。同时从第一排串行CIC滤波器的处理时钟和第四排的并行CIC滤波器的处理时钟可以看出,并行CIC滤波器的处理速度确实降低了4倍。
Claims (1)
1.一种基于并行运算的CIC滤波器设计方法,其特征在于,具体步骤如下:
S1、采样率为fs的待处理信号流Si,0≤i≤N,设计滤波器工作频率fcic和并行数M,满足关系fs=M·fcic,确定需要的抽取数D,其中,N为数据长度,可以取无限长;
S2、将其按照每M个数据一组划分,将信号流Si,0≤i≤N变成如下式子:
{(S0,S1,…,SM-1),(SM,SM+1,…,S2M-1),…}
每一个时钟得到一组M个数据:
{(Si·M,Si·M+1,…,S(i+1)·M-1)},0≤i≤N/M;
S3、对信号采取流水线处理,将信号变成重排变为M组数据,用矩阵表达式表示为:
S4、将重排后的矩阵与滤波器做卷积得到输出:
每一个处理时钟将输出M个数据;
S5、步骤S1~S4实现了单级并行CIC滤波器,重复Q次步骤S2~S4,实现Q个单级CIC滤波器,然后对其进行级联,即可形成Q阶并行CIC滤波器;
S6、对最终输出的数据进行D倍抽取,得到降采样后的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610860962.3A CN106452388A (zh) | 2016-09-29 | 2016-09-29 | 一种基于并行运算的cic滤波器设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610860962.3A CN106452388A (zh) | 2016-09-29 | 2016-09-29 | 一种基于并行运算的cic滤波器设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106452388A true CN106452388A (zh) | 2017-02-22 |
Family
ID=58170005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610860962.3A Pending CN106452388A (zh) | 2016-09-29 | 2016-09-29 | 一种基于并行运算的cic滤波器设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106452388A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107764900A (zh) * | 2017-09-05 | 2018-03-06 | 天津大学 | 基于cic内插滤波器的超声相控阵延时实现方法 |
CN108011615A (zh) * | 2017-12-25 | 2018-05-08 | 北京怡和嘉业医疗科技股份有限公司 | 一种信号处理的方法和装置 |
CN108832908A (zh) * | 2018-05-23 | 2018-11-16 | 成都玖锦科技有限公司 | 基于fpga的多路高速滤波器实现方法 |
CN109921764A (zh) * | 2019-03-11 | 2019-06-21 | 西安电子工程研究所 | 4倍内插积分梳状cic滤波器高速并行算法 |
CN114584109A (zh) * | 2022-03-15 | 2022-06-03 | 苏州赛迈测控技术有限公司 | 一种对高速串行接口传输的并行信号进行实时滤波的方法 |
CN115021768A (zh) * | 2022-05-26 | 2022-09-06 | 中国电子科技集团公司第十研究所 | 基于多相滤波的四路并行抽样方法、装置、设备及介质 |
CN116910456A (zh) * | 2023-09-13 | 2023-10-20 | 北京坤驰科技有限公司 | 一种滤波方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003037641A (ja) * | 2001-07-25 | 2003-02-07 | Mitsubishi Materials Corp | フィルタ・デシメーション装置及びデジタル直交復調器 |
EP2043264A1 (de) * | 2007-09-26 | 2009-04-01 | Micronas GmbH | CIC-Filter mit fraktionaler Integration |
CN101458329A (zh) * | 2009-01-06 | 2009-06-17 | 清华大学 | 时域并行采样率变换方法 |
CN102403986A (zh) * | 2011-11-25 | 2012-04-04 | 京信通信系统(中国)有限公司 | 多通道的cic抽取滤波器及其实现方法 |
CN105281708A (zh) * | 2015-11-05 | 2016-01-27 | 中国船舶重工集团公司第七二四研究所 | 一种基于分段并行处理的高速fir滤波实现方法 |
-
2016
- 2016-09-29 CN CN201610860962.3A patent/CN106452388A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003037641A (ja) * | 2001-07-25 | 2003-02-07 | Mitsubishi Materials Corp | フィルタ・デシメーション装置及びデジタル直交復調器 |
EP2043264A1 (de) * | 2007-09-26 | 2009-04-01 | Micronas GmbH | CIC-Filter mit fraktionaler Integration |
CN101458329A (zh) * | 2009-01-06 | 2009-06-17 | 清华大学 | 时域并行采样率变换方法 |
CN102403986A (zh) * | 2011-11-25 | 2012-04-04 | 京信通信系统(中国)有限公司 | 多通道的cic抽取滤波器及其实现方法 |
CN105281708A (zh) * | 2015-11-05 | 2016-01-27 | 中国船舶重工集团公司第七二四研究所 | 一种基于分段并行处理的高速fir滤波实现方法 |
Non-Patent Citations (2)
Title |
---|
刘立 等: "高性能CIC抽取滤波器研究与设计", 《电视技术》 * |
季福坤 等: "《计算机组织与系统结构》", 31 May 2006, 中国水利水电出版社 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107764900A (zh) * | 2017-09-05 | 2018-03-06 | 天津大学 | 基于cic内插滤波器的超声相控阵延时实现方法 |
CN108011615A (zh) * | 2017-12-25 | 2018-05-08 | 北京怡和嘉业医疗科技股份有限公司 | 一种信号处理的方法和装置 |
CN108011615B (zh) * | 2017-12-25 | 2020-06-02 | 北京怡和嘉业医疗科技股份有限公司 | 一种信号处理的方法和装置 |
CN108832908A (zh) * | 2018-05-23 | 2018-11-16 | 成都玖锦科技有限公司 | 基于fpga的多路高速滤波器实现方法 |
CN109921764A (zh) * | 2019-03-11 | 2019-06-21 | 西安电子工程研究所 | 4倍内插积分梳状cic滤波器高速并行算法 |
CN114584109A (zh) * | 2022-03-15 | 2022-06-03 | 苏州赛迈测控技术有限公司 | 一种对高速串行接口传输的并行信号进行实时滤波的方法 |
CN115021768A (zh) * | 2022-05-26 | 2022-09-06 | 中国电子科技集团公司第十研究所 | 基于多相滤波的四路并行抽样方法、装置、设备及介质 |
CN116910456A (zh) * | 2023-09-13 | 2023-10-20 | 北京坤驰科技有限公司 | 一种滤波方法、装置、电子设备及计算机可读存储介质 |
CN116910456B (zh) * | 2023-09-13 | 2023-12-01 | 北京坤驰科技有限公司 | 一种滤波方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106452388A (zh) | 一种基于并行运算的cic滤波器设计方法 | |
Shahein et al. | A novel hybrid monotonic local search algorithm for FIR filter coefficients optimization | |
CN210142997U (zh) | 级联积分梳状抽取滤波器 | |
CN105281708B (zh) | 一种基于分段并行处理的高速fir滤波实现方法 | |
CN106059530A (zh) | 一种频率响应与系数量化位数弱相关的半带滤波器结构 | |
CN105066990A (zh) | 一种适用于捷联惯性导航的高精度数字滤波器 | |
CN110768646A (zh) | 一种基于分布式算法的数字滤波器 | |
CN106921367A (zh) | 一种sigma delta ADC的数字抽取滤波器 | |
CN115882820A (zh) | 滤波器电路和模数转换器 | |
CN109951173B (zh) | 一种多路并行输入并行处理的fir滤波方法及滤波器 | |
CN110086452B (zh) | 一种低复杂度的稀疏fir陷波滤波器的设计方法 | |
Cao et al. | The design and implementation of sigma delta ADC digital decimation filter | |
Stošić et al. | Using cascaded non-identical CIC sections to improve insertion loss | |
CN109921764A (zh) | 4倍内插积分梳状cic滤波器高速并行算法 | |
CN115987249A (zh) | 一种应用于数字抽取滤波器的fir滤波器 | |
CN203406840U (zh) | 多相数字降采样滤波器 | |
CN108832908A (zh) | 基于fpga的多路高速滤波器实现方法 | |
CN103475335A (zh) | 一种多相数字降采样滤波器 | |
Subathradevi et al. | Delay optimized novel architecture of FIR filter using clustered-retimed MAC unit Cell for DSP applications | |
Ketha et al. | Design & FPGA implementation of reconfigurable fir filter architecture for DSP applications | |
CN112436822B (zh) | 一种cic结构数字抽取滤波器的实现方法 | |
Kumari et al. | Comparative Analysis of Parallel and Cascaded Architectures for the Realization of High-Speed FIR Filters with FPGA | |
CN116910456B (zh) | 一种滤波方法、装置、电子设备及计算机可读存储介质 | |
Brückmann et al. | Optimization of continuous time filters by delay line adjustment | |
Srivastava et al. | Design of An Optimized CIC Compensation Filter Using a FIR Filter Based on CSD Grouping |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |