一种对称系数多相抽取滤波器设计方法与流程

文档序号:33402649发布日期:2023-03-08 18:47阅读:140来源:国知局
一种对称系数多相抽取滤波器设计方法与流程

1.本发明属于信号处理技术领域,涉及一种数字多相抽取滤波器设计方法。该方法可用于高速信号采样后下变频滤波处理。该方法采用对称滤波器系数,可有效减少硬件乘法器资源消耗。


背景技术:

2.增加信号带宽,在雷达系统中可以提高目标距离分辨率,在通信系统中可以提高信息传输速率。得益于ad采样芯片和数字信号处理芯片技术的发展,信号处理系统中信号带宽随之提高。目前阶段ad采样速率已超过2ghz,数字信号处理芯片fpga内部乘法器可超过300mhz,但考虑到实际资源使用及布线因素,fpga内部乘法器一般工作频率在200mhz附近。
3.在信号处理系统中,采样后的信号一般需要进行滤波处理,抑制非感兴趣信号,同时完成抽取操作获得有用信号。通常情况下,可以使用ad采样芯片内部滤波器处理模块,也可以采用数字信号处理芯片fpga内部运算处理模块完成滤波处理。相对来说,采用fpga内部运算模块具有使用灵活,便于ad采样芯片之间采样同步等优点。在信号采样频率小于fpga内部运算频率情况下,现有多相抽取滤波器设计方法可以高效的完成下变频处理。然而当采样频率大于fpga内部运算频率时,现有多相抽取滤波器设计方法所需fpga内部运算资源显著提高。


技术实现要素:

4.要解决的技术问题
5.为了避免现有技术的不足之处,本发明提供一种对称系数多相抽取滤波器设计方法。针对采样频率大于fpga内部运算频率情况下,对多相抽取滤波器结构进行了优化设计,利用系数对称性减少高速采样滤波处理所需硬件资源。
6.技术方案
7.一种对称系数多相抽取滤波器设计方法,其特征在于步骤如下:
8.步骤1:配置基本运算单元
9.如图1所示,配置基本乘加运算单元,该模块完成计算公式:
10.y=(a+d)*b+c
11.步骤2:输入信号延迟
12.将一路高速输入信号表示为n个数据序列:d1(k),

,dn(k),其中k为整数,对应高速信号顺序为:
13.d1(k-1),

,dn(k-1),d1(k),

,dn(k),d1(k+1),

,dn(k+1)
14.对前n/2个序列进行延迟得到:
15.d1(k-1),d1(k-3),

,d1(k-2m+1)
16.d2(k-1),d2(k-3),

,d2(k-2m+1)
17.…
18.d
n/2
(k-1),d n/2
(k-3),

,d n/2
(k-2m+1)
19.对后n/2个序列进行延迟得到:
20.d n/2+1
(k-m),
21.d n/2+2
(k-m),
22.…
,
23.dn(k-m),
24.步骤3:排列运算单元矩阵
25.将nm/2个基本运算单元排列成n/2行m列的矩阵;
26.步骤4:连接输入数据
27.第1列运算单元c端口输入数据为0,其他列运算单元c端口输入来自左边前1列输出端口y;
28.将步骤2产生延迟信号连接到运算单元,将前n/2路信号延迟数据dn(k-1),dn(k-3),

,dn(k-2m+1)分别连接到第n行a端口,n≤n/2;
29.将后n/2路信号延迟数据dn(k-m)分别连接到第n+1-n行d端口,n>n/2;
30.步骤5:设置滤波器系数
31.系数设置顺序为,从运算单元矩阵的右上角开始,按顺时针方向旋转,并由外到内覆盖运算单元矩阵内所有处理单元,将滤波器系数的前nm/2个系数,依次连接到运算单元b端口;此时滤波器实际计算系数为:
32.c(1),c(2),c(3),

,c(nm/2),c(nm/2+1),

,c(nm),
33.根据对称性要求,c(k)=c(nm+1-k);
34.步骤6:输出结果
35.对运算单元矩阵最后一列输出求和得到滤波器输出
[0036][0037]
本发明进一步的技术方案:步骤1中所述的运算单元调用vidado软件开发工具提供dsp48软件模块。
[0038]
一种计算机系统,其特征在于包括:一个或多个处理器,计算机可读存储介质,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的方法。
[0039]
一种计算机可读存储介质,其特征在于存储有计算机可执行指令,所述指令在被执行时用于实现上述的方法。
[0040]
有益效果
[0041]
本发明提供的一种对称系数多相抽取滤波器设计方法,采用系数对称性减少滤波器乘法操作资源消耗,与现有技术相比较,具有如下特点:
[0042]
1.该方法流程简洁便于操作。
[0043]
2.利用系数对称性可减少一半乘法器资源。
附图说明
[0044]
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
[0045]
图1基本运算单元;
[0046]
图2输入数据延迟;
[0047]
图3运算单元矩阵。
具体实施方式
[0048]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0049]
在数字信号处理芯片fpga内部,完成下变频抽取滤波处理,设定输入信号采样频率为fpga内部乘法器工作频率的n倍,这里对输入信号进行数字滤波,同时完成n抽取处理。由于输入信号采样采样频率高于fpga内部工作频率,于是将输入高速采样信号表示为n路并行数据。通常情况下n取值为2、4、8等。设定滤波器系数系数长度为nm,则需要乘法器至少nm/2个。本发明多相抽取滤波器设计流程如下:
[0050]
1.配置基本运算单元;
[0051]
2.排列运算单元矩阵;
[0052]
3.输入信号延迟;
[0053]
4.连接输入数据;
[0054]
5.设置滤波器系数;
[0055]
6.输出结果。
[0056]
具体操作如下:
[0057]
1.配置基本运算单元
[0058]
如图1所示,配置基本乘加运算单元。运算单元调用vidado软件开发工具提供dsp48软件模块。该模块完成计算公式:
[0059]
y=(a+d)*b+c
[0060]
图中r表示内部寄存器。
[0061]
2.输入信号延迟
[0062]
将一路高速输入信号表示为n个数据序列:d1(k),

,dn(k),其中k为整数,对应高速信号顺序为:
[0063]
d1(k-1),

,dn(k-1),d1(k),

,dn(k),d1(k+1),

,dn(k+1)
[0064]
对前n/2个序列进行延迟得到:
[0065]
d1(k-1),d1(k-3),

,d1(k-2m+1)
[0066]
d2(k-1),d2(k-3),

,d2(k-2m+1)
[0067]

[0068]dn/2
(k-1),d n/2
(k-3),

,d n/2
(k-2m+1)
[0069]
对后n/2个序列进行延迟得到:
[0070]
d n/2+1
(k-m),
[0071]
d n/2+2
(k-m),
[0072]

,
[0073]dn
(k-m),
[0074]
当n=4,m=3时,如图2所示,其中rk表示延迟k个时钟节拍。
[0075]
3.排列运算单元矩阵
[0076]
将nm/2个基本运算单元排列成n/2行m列的矩阵。
[0077]
4.连接输入数据
[0078]
第1列运算单元c端口输入数据为0,其他列运算单元c端口输入来自左边前1列输出端口y。
[0079]
将步骤2产生延迟信号连接到运算单元,将前n/2路信号延迟数据dn(k-1),dn(k-3),

,dn(k-2m+1)分别连接到第n行a端口,n≤n/2,
[0080]
将后n/2路信号延迟数据dn(k-m)分别连接到第n+1-n行d端口,n>n/2。
[0081]
5.设置滤波器系数
[0082]
系数设置顺序为,从运算单元矩阵的右上角开始,按顺时针方向旋转,并由外到内覆盖运算单元矩阵内所有处理单元,将滤波器系数的前nm/2个系数,依次连接到运算单元b端口。此时滤波器实际计算系数为:
[0083]
c(1),c(2),c(3),

,c(nm/2),c(nm/2+1),

,c(nm),
[0084]
根据对称性要求,c(k)=c(nm+1-k)
[0085]
6.输出结果
[0086]
对运算单元矩阵最后一列输出求和得到滤波器输出
[0087][0088]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1