首页> 中国专利> 基于FPGA的插值滤波器优化的方法及装置

基于FPGA的插值滤波器优化的方法及装置

摘要

本发明提供了一种基于FPGA的插值滤波器优化的方法,该方法包括:将插值滤波器的系数分为若干组,对各组的不对称的系数进行变换,获得各相对称的系数;根据所述各相对称的系数,对所述插值滤波器的公式进行变换;根据变换后的插值滤波器公式,得到优化后的插值滤波器。本发明还提供了一种基于FPGA的插值滤波器优化的装置,该装置包括修改模块、变换模块及优化模块。本发明通过对插值滤波器各相不对称的系数进行修改,使得各相系数对称,从而修改后的插值滤波器采用预加的方法,节省了乘法器资源。

著录项

  • 公开/公告号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)为各相系数,则插值滤波器的计算公式为:

Y(n)=Σi=02M-1X_t(n-i)×coef(i)

而对于插值滤波器,设滤波器阶数为2M,实现N倍插值,设差之 前的数据为X(n),把滤波器公式变为矩阵形式,其中插值的N个数据 计算如下:

Y(n-N+1)=(0,...,0,0,X(n-2MN+1),0,...,0,0,X(n))*(coef(2M-1),...,coef(0))H

Y(n-N+2)=(0,...,0,X(n-2MN+1),0,...,0,0,X(n),0)*(coef(2M-1),...,coef(0))H

Y(n)=(X(n-2MN+1),0,...,0,0,X(n),0,...,0,0)*(coef(2M-1),...,coef(0))H

其中,M、N均为正整数。去掉0的计算,插值公式修改为:

Y(n)=Σi=02MN-1X(n-i)×coef0(i)

Y(n-1)=Σi=02MN-1X(n-i)×coef1(i)

Y(n-N+1)=Σi=02MN-1X(n-i)×coefN-1(i)

其中:

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相 进行预减计算,得到变换后的插值滤波器的公式为:

Z0(n)=Σi=0MN-1(X(n-i)+X(n-(2MN-1+i)))×z_coef0(i)

Z1(n)=Σi=0MN-1(X(n-i)+X(n-(2MN-1+i)))×z_coef1(i)

ZN-1(n)=Σi=0MN-1(X(n-i)-X(n-(2MN-1+i)))×z_coefN-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相 进行预减计算,得到变换后的插值滤波器的公式为:

Z0(n)=Σi=0MN-1(X(n-i)+X(n-(2MN-1+i)))×z_coef0(i)

Z1(n)=Σi=0MN-1(X(n-i)+X(n-(2MN-1+i)))×z_coef1(i)

ZN-1(n)=Σi=0MN-1(X(n-i)-X(n-(2MN-1+i)))×z_coefN-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相的系数之和是对称的,系数之差 是反对称的。

则修改插值滤波器的公式,如下:

Z0(n)=Σi=02MN-1X(n-i)×z_coef0(i)

Z1(n)=Σi=02MN-1X(n-i)×z_coef1(i)

ZN-1(n)=Σi=02MN-1X(n-i)×z_coefN-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相,第i相的系数为这两相的系数之和, 第N-1-i相的系数为这两项的系数之差。这样,修改后第i相的系数是 对称的,而第N-1-i相的系数是反对称的,因此可以采用对称滤波器进 行设计。其中,i为大于等于0的整数

如此,滤波器的公式修改为:

Z0(n)=Σi=0MN-1(X(n-i)+X(n-(2MN-1+i)))×z_coef0(i)

Z1(n)=Σi=0MN-1(X(n-i)+X(n-(2MN-1+i)))×z_coef1(i)

ZN-1(n)=Σi=0MN-1(X(n-i)-X(n-(2MN-1+i)))×z_coefN-1(i)

其中,插值滤波器的阶数为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相 进行预减计算,得到变换后的插值滤波器的公式为:

Z0(n)=Σi=0MN-1(X(n-i)+X(n-(2MN-1+i)))×z_coef0(i)

Z1(n)=Σi=0MN-1(X(n-i)+X(n-(2MN-1+i)))×z_coef1(i)

ZN-1(n)=Σi=0MN-1(X(n-i)-X(n-(2MN-1+i)))×z_coefN-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相保持不变。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管 参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员 应当理解;其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不 使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号