公开/公告号CN105591630A
专利类型发明专利
公开/公告日2016-05-18
原文格式PDF
申请/专利权人 普天信息技术有限公司;
申请/专利号CN201410559715.0
申请日2014-10-20
分类号H03H17/02;
代理机构北京路浩知识产权代理有限公司;
代理人李相雨
地址 100080 北京市海淀区海淀北二街6号普天大厦
入库时间 2023-12-18 15:25:11
法律状态公告日
法律状态信息
法律状态
2022-09-30
未缴年费专利权终止 IPC(主分类):H03H17/02 专利号:ZL2014105597150 申请日:20141020 授权公告日:20180629
专利权的终止
2018-06-29
授权
授权
2016-06-15
实质审查的生效 IPC(主分类):H03H17/02 申请日:20141020
实质审查的生效
2016-05-18
公开
公开
技术领域
本发明涉及无线通信技术领域,具体涉及基于FPGA的插值滤波器 优化的方法及装置。
背景技术
在无线通信系统中,时常需要将某采样速率的信号变换成另一具 有不同采用频率的信号,被称为多速率信号处理,而提高信号速率的 过程称为插值,插值滤波器的输入和输出数据速率具有线性的倍数关 系,是实现数字通信系统中接收机数字上变频(DigitalUpConverter, 简称DUC)的重要技术。
在数字插值时,为了防止数据混叠,需要在插值后加入滤波器, 插值滤波器是基于有限脉冲响应(FiniteImpulseResponce,简称FIR) 滤波器实现的,设滤波器的输入为X_t(n),滤波器的输出为Y(n),滤 波器的阶数为2M,coef(i)为各相系数,则插值滤波器的计算公式为:
而对于插值滤波器,设滤波器阶数为2M,实现N倍插值,设差之 前的数据为X(n),把滤波器公式变为矩阵形式,其中插值的N个数据 计算如下:
…
其中,M、N均为正整数。去掉0的计算,插值公式修改为:
…
其中:
coef0(i)={coef(N-1),coef(2N-1),…,coef(2M-1)}
coef1(i)={coef(N-2),coef(2N-2),…,coef(2M-2)}
…
coefN-1(i)={coef(0),coef(0+N),…,coef(2M-N)}
由于滤波器的系数是对称的,即
coef(0)=coef(2M-1)
coef(1)=coef(2M-2)
…
coef(M-1)=coef(M)
这样可以看出插值滤波器中每一相的计算系数并不是对称的,不 能预加后乘法的计算,这种方法乘法器应用是预加后乘法器应用的2 倍。
发明内容
针对现有技术的缺陷,本发明提供一种基于FPGA的插值滤波器 优化的方法及装置,通过对插值滤波器各相不对称的系数进行修改, 使得各相系数对称,从而修改后的插值滤波器采用预加的方法,节省 了乘法器资源。
第一方面,本发明提供了一种基于FPGA的插值滤波器优化的方 法,所述方法包括:
将插值滤波器的系数分为若干组,对各组的不对称的系数进行变 换,获得各相对称的系数;
根据所述各相对称的系数,对所述插值滤波器的公式进行变换;
根据变换后的插值滤波器公式,得到优化后的插值滤波器。
优选地,所述将插值滤波器的系数分为若干组,对各组的不对称 的系数进行变换,获得各相对称的系数,包括:
将N倍插值滤波器的系数依次分为N组,找出系数对称的相第i 相和第N-1-i相,并将对称相的系数相加作为修改后第i相的系数,将 对称相的系数相减作为修改后第N-1-i相的系数,各相系数为:
z_coef0(i)={(coef(0)+coef(N-1)),(coef(0+N)+coef(2N-1)),…,(coef(2M-N)+coef(2M-1))}
z_coef1(i)={(coef(1)+coef(N-2)),(coef(1+N)+coef(2N-2)),…,(coef(2M-N-1)+coef(2M-2))}
…
z_coefN-1(i)={(coef(0)-coef(N-1)),(coef(0+N)-coef(2N-1)),…,(coef(2M-N)-coef(2M-1))}
其中,z_coefN-1(i)表示第N相的系数,coef(N-1)表示滤波器的系数。
优选地,所述根据所述各相对称的系数,对所述插值滤波器的公 式进行变换,包括:
根据修改后的对称的系数,对第i相进行预加计算,对第N-1-i相 进行预减计算,得到变换后的插值滤波器的公式为:
…
其中,插值滤波器的阶数为2M,实现N倍插值,ZN-1(n)表示插值 滤波器第N相的输出,表示插值滤波器的输入, z_coefN-1(i)表示第N相的系数。
优选地,所述对各组的不对称的系数进行变换,获得各相对称的 系数,包括:
对各组的不对称的系数进行变换,获得修改后第i相的系数是对称 的,获得修改后第N-1-i相的系数是反对称的。
优选地,所述根据修改后的对称的系数,对第i相进行预加计算, 对第N-1-i相进行预减计算,包括:
当N为偶数时,对第i相进行预加计算,对第N-1-i相进行预减计 算;
当N为奇数时,对第i相进行预加计算,对第N-1-i相进行预减计 算,第(N-1)/2相保持不变。
第二方面,本发明提供了一种基于FPGA的插值滤波器优化的装 置,所述装置包括:
修改模块,用于将插值滤波器的系数分为若干组,对各组的不对 称的系数进行变换,得到各相修改后的系数;
变换模块,用于根据所述各相修改后的系数,对所述插值滤波器 的公式进行变换;
优化模块,用于根据变换后的插值滤波器公式,得到优化后的插 值滤波器。
优选地,所述修改模块,具体用于:
将N倍插值滤波器的系数依次分为N组,找出系数对称的相第i 相和第N-1-i相,并将对称相的系数相加作为修改后第i相的系数,将 对称相的系数相减作为修改后第N-1-i相的系数,各相系数为:
z_coef0(i)={(coef(0)+coef(N-1)),(coef(0+N)+coef(2N-1)),…,(coef(2M-N)+coef(2M-1))}
z_coef1(i)={(coef(1)+coef(N-2)),(coef(1+N)+coef(2N-2)),…,(coef(2M-N-1)+coef(2M-2))}
…
z_coefN-1(i)={(coef(0)-coef(N-1)),(coef(0+N)-coef(2N-1)),…,(coef(2M-N)-coef(2M-1))}
其中,z_coefN-1(i)表示第N相的系数,coef(N-1)表示滤波器的系数。
优选地,所述变换模块,具体用于:
根据修改后的对称的系数,对第i相进行预加计算,对第N-1-i相 进行预减计算,得到变换后的插值滤波器的公式为:
…
其中,插值滤波器的阶数为2M,实现N倍插值,ZN-1(n)表示插值 滤波器第N相的输出,表示插值滤波器的输入, z_coefN-1(i)表示第N相的系数。
优选地,所述修改模块,用于:
对各组的不对称的系数进行变换,获得修改后第i相的系数是对称 的,获得修改后第N-1-i相的系数是反对称的。
优选地,所述变换模块,还用于:
当N为偶数时,对第i相进行预加计算,对第N-1-i相进行预减计 算;
当N为奇数时,对第i相进行预加计算,对第N-1-i相进行预减计 算,第(N-1)/2相保持不变。
由上述技术方案可知,本发明提供一种基于FPGA的插值滤波器 优化的方法及装置,通过对插值滤波器各相不对称的系数进行修改, 使得各相系数对称,从而修改后的插值滤波器采用预加的方法,节省 了乘法器资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面 将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而 易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域 普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些 图获得其他的附图。
图1是本发明一实施例提供的基于FPGA的插值滤波器优化的方 法的流程图;
图2是本发明一实施例提供的FPGA的插值滤波器优化的装置的 结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方 案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部 分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普 通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
如图1所示,图1示出了本发明一实施例提供的基于FPGA的插 值滤波器优化的方法,该方法包括如下步骤:
101、将插值滤波器的系数分为若干组,对各组的不对称的系数进 行变换,获得各相对称的系数。
102、根据所述各相对称的系数,对所述插值滤波器的公式进行变 换。
103、根据变换后的插值滤波器公式,得到优化后的插值滤波器。
具体来说,对于插值滤波器,设滤波器阶数为2M,实现N倍插值, 即在数据中间插入N-1个0,设插值前的数据为X(n)。N倍插值计算 的过程中,每一相的计算系数并不相同,设多相滤波器的对称相位第 m相和第N-1-m相,其系数具体如下:
coefm={coef(N-1-m),coef(2N-1-m),…,coef(2M-1-m)}
coefN-1-m={coef(m),coef(m+N),…,coef(m+2M-N)}
其中M、N为正整数,m为大于等于0的整数。
根据FIR滤波器的系数对称性质,可知:
coef(N-1-m)=coef(m+2M-N)
…
coef(2M-1-m)=coef(m)
可以看出,第m相和第N-1-m相的系数之和是对称的,系数之差 是反对称的。
则修改插值滤波器的公式,如下:
…
其中:
z_coef0(i)={(coef(0)+coef(N-1)),(coef(0+N)+coef(2N-1)),…,(coef(2M-N)+coef(2M-1))}
z_coef1(i)={(coef(1)+coef(N-2)),(coef(1+N)+coef(2N-2)),…,(coef(2M-N-1)+coef(2M-2))}
…
z_coefN-1(i)={(coef(0)-coef(N-1)),(coef(0+N)-coef(2N-1)),…,(coef(2M-N)-coef(2M-1))}
其中,z_coefN-1(i)表示第N相的系数,coef(N-1)表示滤波器的系 数。
即对称相第i相和第N-1-i相,第i相的系数为这两相的系数之和, 第N-1-i相的系数为这两项的系数之差。这样,修改后第i相的系数是 对称的,而第N-1-i相的系数是反对称的,因此可以采用对称滤波器进 行设计。其中,i为大于等于0的整数
如此,滤波器的公式修改为:
…
其中,插值滤波器的阶数为2M,实现N倍插值,ZN-1(n)表示插值 滤波器第N相的输出,表示插值滤波器的输入, z_coefN-1(i)表示第N相的系数。
其中,当N为偶数时,对第i相进行预加计算,对第N-1-i相进行 预减计算;当N为奇数时,对第i相进行预加计算,对第N-1-i相进行 预减计算,第(N-1)/2相保持不变。且:
Y0(n)=(Z0(n)+ZN-1(n))/2
Y1(n)=(Z1(n)+ZN-2(n))/2
…
YN-1(n)=(Z0(n)-ZN-1(n))/2
其中,YN-1(n)表示修改前的插值滤波器第N相的输出。
本实施例提供基于FPGA的插值滤波器优化的方法,通过对插值 滤波器各相不对称的系数进行修改,使得各相系数对称,从而修改后 的插值滤波器采用预加的方法,节省了乘法器资源。
下面,通过一较为具体的实施例来说明基于FPGA的插值滤波器 优化的方法。
设滤波器的阶数为6阶,进行3倍插值,采用3相滤波,将悉数 分为3组:
coef0,coef3
coef1,coef4
coef2,coef5
其中,coef0和coef5对称,coef1和coef4对称,coef2和coef3对称,在第 一相和第三相滤波器中无法利用系数对称的特性,因此需要对第一相 个第三相的系数进行变换。
设输入的数据依次为X(0)和X(1),将输入数据同时进入每一相滤 波器。第一相的计算结果为:
X(0)×coef3+X(1)×coef0
第三相的计算结果为:
X(0)×coef5+X(1)×coef2
对第一相的计算结果进行变换,乘以2倍,加上第三相的结果再 减去第三相的结果,最后除以2,得:
(X(0)×coef3+X(1)×coef0+X(0)×coef3+X(1)×coef0+X(0)×coef5+ X(1)×coef2-X(0)×coef5-X(1)×coef2)/2
因为coef0和coef5相等,coef2和coef3相等,对算式进行变换得:
X(0)×(coef0+coef3)+X(1)×(coef0+coef3)-X(0)×(coef0-coef3)+ X(1)×(coef0-coef3)
同理,对第三相的计算结果进行变换得到:
X(0)×(coef0+coef3)+X(1)×(coef0+coef3)+X(0)×(coef0-coef3)- X(1)×(coef0-coef3)
则原来的3相滤波器系数变换为:
coef0+coef3
coef1,coef4
coef0-coef3
第一相和第三相滤波器的系数由2个变为1个,原3相滤波器第 第一相的结果为新的3相滤波器的第一相和第三相之和,原3相滤波 器的第三相为新的3相滤波器的第一相和第三相之差。
如图2所示,图2为本发明一实施例提供的基于FPGA的插值滤 波器优化的装置的结构示意图,所述装置包括:修改模块201、变换模 块202及优化模块203。
其中,修改模块201,用于将插值滤波器的系数分为若干组,对各 组的不对称的系数进行变换,得到各相修改后的系数。
变换模块202,用于根据所述各相修改后的系数,对所述插值滤波 器的公式进行变换。
优化模块203,用于根据变换后的插值滤波器公式,得到优化后的 插值滤波器。
具体来说,所述修改模块201,具体用于:
将N倍插值滤波器的系数依次分为N组,找出系数对称的相第i 相和第N-1-i相,并将对称相的系数相加作为修改后第i相的系数,将 对称相的系数相减作为修改后第N-1-i相的系数,各相系数为:
z_coef0(i)={(coef(0)+coef(N-1)),(coef(0+N)+coef(2N-1)),…,(coef(2M-N)+coef(2M-1))}
z_coef1(i)={(coef(1)+coef(N-2)),(coef(1+N)+coef(2N-2)),…,(coef(2M-N-1)+coef(2M-2))}
…
z_coefN-1(i)={(coef(0)-coef(N-1)),(coef(0+N)-coef(2N-1)),…,(coef(2M-N)-coef(2M-1))}
其中,z_coefN-1(i)表示第N相的系数,coef(N-1)表示滤波器的系数。
所述变换模块202,具体用于:
根据修改后的对称的系数,对第i相进行预加计算,对第N-1-i相 进行预减计算,得到变换后的插值滤波器的公式为:
…
其中,插值滤波器的阶数为2M,实现N倍插值,ZN-1(n)表示插值 滤波器第N相的输出,表示插值滤波器的输入, z_coefN-1(i)表示第N相的系数。
其中,修改模块201,用于:
对各组的不对称的系数进行变换,获得修改后第i相的系数是对称 的,获得修改后第N-1-i相的系数是反对称的。
其中,变换模块202,还用于:
当N为偶数时,对第i相进行预加计算,对第N-1-i相进行预减计 算;当N为奇数时,对第i相进行预加计算,对第N-1-i相进行预减计 算,第(N-1)/2相保持不变。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管 参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员 应当理解;其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不 使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
机译: 基于图像编码系统中的电流块的插值滤波器的插值预测方法和装置
机译: 用于使用基于运动速度的插值滤波器实现相同的图像编码和装置的方法
机译: 基于多方向加权插值和导引滤波器的Bayer图案图像去马赛克方法和装置