基于fpga的插值滤波器优化的方法及装置的制造方法

文档序号:9827891阅读:350来源:国知局
基于fpga的插值滤波器优化的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及无线通信技术领域,具体涉及基于FPGA的插值滤波器优化的方法及 装置。
【背景技术】
[0002] 在无线通信系统中,时常需要将某采样速率的信号变换成另一具有不同采用频率 的信号,被称为多速率信号处理,而提高信号速率的过程称为插值,插值滤波器的输入和输 出数据速率具有线性的倍数关系,是实现数字通信系统中接收机数字上变频(Digital Up Converter,简称DUC)的重要技术。
[0003] 在数字插值时,为了防止数据混叠,需要在插值后加入滤波器,插值滤波器是基于 有限脉冲响应(Finite Impulse Responce,简称FIR)滤波器实现的,设滤波器的输入为X_ t(n),滤波器的输出为Y(n),滤波器的阶数为2M,c〇ef(i)为各相系数,则插值滤波器的计 算公式为:
[0004]
[0005] 而对于插值滤波器,设滤波器阶数为2M,实现N倍插值,设差之前的数据为X (η), 把滤波器公式变为矩阵形式,其中插值的N个数据计算如下:
[0006]
[0007]

[0008] …
[0009]
[0010] 其中,Μ、Ν均为正整数。去掉0的计算,插值公式修改为:
[0011]
[0012]
[0013]
[0014]
[0015] 其中:
[0016] coef0 (i) = {coef (N-I), coef (2N-1) ,···, coef (2M-1)}
[0017] Coef1(I) = {coef (N-2), coef (2N-2) ,···, coef (2M-2)}
[0018] ...
[0019] coefN1(i) = {coef (0), coef (0+N), ···, coef (2M-N)}
[0020] 由于滤波器的系数是对称的,即
[0021] coef (0) = coef (2M-1)
[0022] coef(l) = coef (2M~2)
[0023] …
[0024] coef (M-I) = coef (M)
[0025] 这样可以看出插值滤波器中每一相的计算系数并不是对称的,不能预加后乘法的 计算,这种方法乘法器应用是预加后乘法器应用的2倍。

【发明内容】

[0026] 针对现有技术的缺陷,本发明提供一种基于FPGA的插值滤波器优化的方法及装 置,通过对插值滤波器各相不对称的系数进行修改,使得各相系数对称,从而修改后的插值 滤波器采用预加的方法,节省了乘法器资源。
[0027] 第一方面,本发明提供了一种基于FPGA的插值滤波器优化的方法,所述方法包 括:
[0028] 将插值滤波器的系数分为若干组,对各组的不对称的系数进行变换,获得各相对 称的系数;
[0029] 根据所述各相对称的系数,对所述插值滤波器的公式进行变换;
[0030] 根据变换后的插值滤波器公式,得到优化后的插值滤波器。
[0031] 优选地,所述将插值滤波器的系数分为若干组,对各组的不对称的系数进行变换, 获得各相对称的系数,包括:
[0032] 将N倍插值滤波器的系数依次分为N组,找出系数对称的相第i相和第N-1-i 相,并将对称相的系数相加作为修改后第i相的系数,将对称相的系数相减作为修改后第 N-1-i相的系数,各相系数为:
[0033] z_coef〇(i) = { (coef (0)+coef (N-I) ) , (coef (0+N)+coef (2N-1)), ··· ,(coef(2M-N)+coef(2M-1))}
[0034] Z-Coef1 (i) = { (coef (I)+coef (N_2) ), (coef (1+N)+coef (2N-2)),… ,(coef(2M-N-1)+coef(2M-2))}
[0035] …
[0036] z_coefN ! (i) = {(coef (0)-coef (N-1) ),(coef (0+N)-coef (2N-1)),… ,(coef(2M-N)-coef(2M-1))}
[0037] 其中,z_C〇efN di)表示第N相的系数,coef (N-I)表示滤波器的系数。
[0038] 优选地,所述根据所述各相对称的系数,对所述插值滤波器的公式进行变换,包 括:
[0039] 根据修改后的对称的系数,对第i相进行预加计算,对第N-1-i相进行预减计算, 得到变换后的插值滤波器的公式为:
[0040]
[0041]
[0042]
[0043]
[0044] 其中,插值滤波器的阶数为2M,实现N倍插值,Zn Jn)表示插值滤波器第N相的输 2M 出,i):+__X(:n-(i^-_l+z:)_)_表不插值滤波器的输入,z_c〇ef N Ji)表不第N相的系数。
[Si'
[0045] 优选地,所述对各组的不对称的系数进行变换,获得各相对称的系数,包括:
[0046] 对各组的不对称的系数进行变换,获得修改后第i相的系数是对称的,获得修改 后第N-1-i相的系数是反对称的。
[0047] 优选地,所述根据修改后的对称的系数,对第i相进行预加计算,对第N-1-i相进 行预减计算,包括:
[0048] 当N为偶数时,对第i相进行预加计算,对第N-1-i相进行预减计算;
[0049] 当N为奇数时,对第i相进行预加计算,对第N-1-i相进行预减计算,第(N-I)/2 相保持不变。
[0050] 第二方面,本发明提供了一种基于FPGA的插值滤波器优化的装置,所述装置包 括:
[0051] 修改模块,用于将插值滤波器的系数分为若干组,对各组的不对称的系数进行变 换,得到各相修改后的系数;
[0052] 变换模块,用于根据所述各相修改后的系数,对所述插值滤波器的公式进行变 换;
[0053] 优化模块,用于根据变换后的插值滤波器公式,得到优化后的插值滤波器。
[0054] 优选地,所述修改模块,具体用于:
[0055] 将N倍插值滤波器的系数依次分为N组,找出系数对称的相第i相和第N-1-i 相,并将对称相的系数相加作为修改后第i相的系数,将对称相的系数相减作为修改后第 N-1-i相的系数,各相系数为:
[0056] z_coef〇(i) = { (coef (O)+coef (N-I) ) , (coef (0+N)+coef (2N-1)) , ··· ,(coef (2M-N)+coef (2M-1))}
[0057] Z-Coef1 (i) = { (coef (I)+coef (N_2) ) , (coef (1+N)+coef (2N-2)),… ,(coef(2M-N-1)+coef(2M-2))}
[0058] …
[0059] z_coefN ! (i) = { (coef (0)-coef (N_l)),(coef (0+N)-coef (2N-1)),… ,(coef(2M-N)-coef(2M-1))}
[0060] 其中,z_coefN i(i)表示第N相的系数,coef (N-I)表示滤波器的系数。
[0061] 优选地,所述变换模块,具体用于:
[0062] 根据修改后的对称的系数,对第i相进行预加计算,对第N-1-i相进行预减计算, 得到变换后的插值滤波器的公式为:
[0063]
[0067] 其中,插值滤波器的阶数为2M,实现N倍插值,Zn Jn)表示插值滤波器第N相的输
[0064]
[0065]
[0066] 出
表不插值滤波器的输入,z_coefN i (i)表不第N相的系数。
[0068] 优选地,所述修改模块,用于:
[0069] 对各组的不对称的系数进行变换,获得修改后第i相的系数是对称的,获得修改 后第N-1-i相的系数是反对称的。
[0070] 优选地,所述变换模块,还用于:
[0071] 当N为偶数时,对第i相进行预加计算,对第N-1-i相进行预减计算;
[0072] 当N为奇数时,对第i相进行预加计算,对第N-1-i相进行预减计算,第(N-I)/2 相保持不变。
[0073] 由上述技术方案可知,本发明提供一种基于FPGA的插值滤波器优化的方法及装 置,通过对插值滤波器各相不对称的系数进行修改,使得各相系数对称,从而修改后的插值 滤波器采用预加的方法,节省了乘法器资源。
【附图说明】
[0074] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些图获得其他的附图。
[0075] 图1是本发明一实施例提供的基于FPGA的插值滤波器优化的方法的流程图;
[0076] 图2是本发明一实施例提供的FPGA的插值滤波器优化的装置的结构示意图。
【具体实施方式】
[0077] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0078] 如图1所示,图1示出了本发明一实施例提供的基于FPGA的插值滤波器优化的方 法,该方法包括如下步骤:
[0079] 101、将插值滤波器的系数分为若干组,对各组的不对称的系数进行变换,获得各 相对称的系数。
[0080] 102、根据所述各相对称的系数,对所述插值滤波器的公式进行变换。
[0081] 103、根据变换后的插值滤波器公式,得到优化后的插值滤波器。
[0082] 具体来说,对于插值滤波器,设滤波器阶数为2M,实现N倍插值,即在数据中间插 入N-I个0,设插值前的数据为X (η)。N倍插值计算的过程中,每一相的计算系数并不相同, 设多相滤波器的对称相位第m相和第N-1-m相,其系数具体如下:
[0083] Coefm = {coef (N-1-m),coef (2N-l_m),…,coef (2M-l_m)}
[0084] coefN ! m = {coef (m), coef (m+N), ···, coef (m+2M-N)}
[0085] 其中M、N为正整数,m为大于等于0的整数。
[0086] 根据FIR滤波器的系数对称性质,可知:
[0087] coef(N-1-m) = coef(m+2M-N)
[0088] …
[0089] coef (2M-1-m) = coef (m)
[0090] 可以看出,第m相和第N-1-m相的系数之和是对称的,系数之差是反对称的。
[0091] 则修改插值滤波器的公式,如下:
[0092]
[0093]
[0094]
[0095]
[0096] 其中:
[0097] z_coef〇(i) = { (coef (0)+coef (N-I) ) , (coef (0+N)+coef (2N-1)), ··· ,(coef(2M-N)+coef(2M-1))}
[0098] Z-Coef1 (i) = { (coef (I)+coef (N_2) ), (coef (1+N)+coef (2N-2)),… ,(coef(2M-N-1)+coef(2M-2))}
[0099] …
[0100] z_coefN 丄(i) = { (coef (0)-coef (N-1)), (coef (0+N)-coef (2N-1)),… ,(coef(2M-N)-coef(2M-1))}
[0101] 其中,z_coefN Ji)表示第N相的系数,coef (N-I)表示滤波器的系数。
[0102] 即对称相第i相和第N_l_i相,第i相的系数为这两相的系数之和,第N_l_i相的 系数为这两项的系数之差。这样,修改后第i相的系数是对称的,而第N-1-i相的系数是反 对称的,因此可以采用对称滤波器进行设计。其中,i为
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1