CN101834582B - 一种优化fir滤波器的方法及装置 - Google Patents

一种优化fir滤波器的方法及装置 Download PDF

Info

Publication number
CN101834582B
CN101834582B CN 201010187433 CN201010187433A CN101834582B CN 101834582 B CN101834582 B CN 101834582B CN 201010187433 CN201010187433 CN 201010187433 CN 201010187433 A CN201010187433 A CN 201010187433A CN 101834582 B CN101834582 B CN 101834582B
Authority
CN
China
Prior art keywords
input
input sample
value
fir filter
sample
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.)
Active
Application number
CN 201010187433
Other languages
English (en)
Other versions
CN101834582A (zh
Inventor
顾培培
王志斌
王小璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 201010187433 priority Critical patent/CN101834582B/zh
Publication of CN101834582A publication Critical patent/CN101834582A/zh
Application granted granted Critical
Publication of CN101834582B publication Critical patent/CN101834582B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Filters That Use Time-Delay Elements (AREA)

Abstract

本发明实施例公开了一种优化FIR滤波器的方法及装置,属于计算机领域。所述方法包括:当判断出样点序列中的值非常为零的样点段和值常为零的样点段的排列规律周期性地变化以及任意值非常为零的样点段包括的输入样点的个数小于FIR滤波器的抽头数目时,根据落在输入窗中的值非常为零的输入样点个数,确定所述FIR滤波器的乘法器个数和加法器个数;将不同变化周期中的位置相同的输入样点的编号映射成同一个新编号,根据一个变化周期中的输入样点的时域表达式和输入样点的值,建立所述新编号与抽头系数的对应关系。所述装置包括:判断模块、确定模块和第二创建模块。本发明实施例能够减少FIR滤波器的面积、功耗和成本。

Description

一种优化FIR滤波器的方法及装置
技术领域
本发明涉及计算机领域,特别涉及一种优化FIR滤波器的方法及装置。
背景技术
FIR(Finite Impulse Response,有限冲激响应)滤波器已广泛地应用于各种电子设备中,组成FIR滤波器的基本单元为乘法器和加法器。FIR滤波器的时域表达式为:
Figure GSB00000905287800011
其中,n为样点的编号,h(k)为FIR滤波器的第k个抽头的抽头系数,x(n-k)为第n-k个输入样点,y(n)为第n个输出样点,i的值为FIR滤波器的抽头数目减1。一般i值小于n值,所以上述FIR滤波器的时域表达式又可简化为:
Figure GSB00000905287800012
根据简化的时域表达式可知,FIR滤波器需要抽头数目个乘法器,抽头数目减1个加法器即i个加法器。
例如,假设某个FIR滤波器具有6个抽头,则i值为5,该FIR滤波器的时域表达式为
Figure GSB00000905287800013
且该FIR滤波器的时域表达式的展开式为:
y(0)=h(0)x(0);
y(1)=h(0)x(1)+h(1)x(0);
y(2)=h(0)x(2)+h(1)x(1)+h(2)x(0);
……
y(5)=h(0)x(5)+h(1)x(4)+……+h(4)x(1)+h(5)x(0);
y(6)=h(0)x(6)+h(1)x(5)+……+h(4)x(2)+h(5)x(1);
……
y(n)=h(0)x(n)+h(1)x(n-1)+……+h(4)x(n-4)+h(5)x(n-5)。
根据上述时域表达式的展开式,设计出的该FIR滤波器中包括6个乘法器和5个加法器,如图1所示。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
FIR滤波器中包括的加法器和乘法器与其包括抽头的数目成正比,当FIR滤波器中包括大量的抽头时,其内包含大量的乘法器和加法器,如此使得FIR滤波器的面积变的很大,功耗和成本也较高。
发明内容
为了能够减少FIR滤波器的面积、功耗和成本,本发明提供了一种优化FIR滤波器的方法及装置。所述技术方案如下:
一种优化FIR滤波器的方法,所述方法包括:
当判断出样点序列中的值非常为零的样点段和值常为零的样点段的排列规律周期性地变化以及任意值非常为零的样点段包括的输入样点的个数小于FIR滤波器的抽头数目时,根据落在输入窗中的值非常为零的输入样点个数,确定所述FIR滤波器的乘法器个数和加法器个数,所述输入窗的窗长为所述FIR滤波器的抽头数目;
将不同变化周期中的位置相同的输入样点的编号映射成同一个新编号,根据一个变化周期中的输入样点的时域表达式和输入样点的值,建立所述新编号与抽头系数的对应关系;
其中,根据落在输入窗中的值非常为零的输入样点个数,确定所述FIR滤波器的乘法器个数和加法器个数,具体包括:
将所述样点序列中的输入样点依次输入到所述输入窗中,且统计每次落在所述输入窗中的值非常为零的输入样点个数;
从所述统计的个数中选择值最大的个数,确定所述FIR滤波器包括所述值最大的个数数量的乘法器和所述值最大的个数数量减一的加法器;
其中,根据一个变化周期中的输入样点的时域表达式和输入样点的值,建立所述新编号与抽头系数的对应关系,具体包括:
根据所述FIR滤波器的时域表达式,对所述输入样点进行展开得到所述输入样点的时域表达式;
在所述输入样点的时域表达式中,消除所述时域表达式中的包括值常为零的输入样点的数据项;
在所述消除后的时域表达式中,将表达式中的输出样点的编号替换为所述输入样点的新编号;
根据所述替换后的时域表达式,建立所述新编号与所述抽头系数的对应关系。
一种优化FIR滤波器的装置,所述装置包括:
判断模块,用于判断出样点序列中的值非常为零的样点段和值常为零的样点段的排列规律周期性地变化以及任意值非常为零的样点段包括的输入样点的个数小于FIR滤波器的抽头数目;
确定模块,用于根据落在输入窗中的值非常为零的输入样点个数,确定所述FIR滤波器的乘法器个数和加法器个数,所述输入窗的窗长为所述FIR滤波器的抽头数目;
第一创建模块,用于将不同变化周期中的位置相同的输入样点的编号映射成同一个新编号,根据一个变化周期中的输入样点的时域表达式和输入样点的值,建立所述新编号与抽头系数的对应关系;
其中,所述确定模块包括:
输入单元,用于将所述样点序列中的输入样点依次输入到所述输入窗中,且统计每次落在所述输入窗中的值非常为零的输入样点个数;所述输入窗的窗长为所述FIR滤波器的抽头数目;
确定单元,用于从所述统计的个数中选择值最大的个数,确定所述FIR滤波器包括所述值最大的个数数量的乘法器和所述值最大的个数数量减一的加法器;
其中,所述第一创建模块包括:
映射单元,用于将不同变化周期中的位置相同的输入样点的编号映射成同一个新编号;
展开单元,用于根据所述FIR滤波器的时域表达式,对所述输入样点进行展开得到所述输入样点的时域表达式;
消除单元,用于在所述输入样点的时域表达式中,消除所述时域表达式中的包括值常为零的输入样点的数据项;
替换单元,用于在所述消除后的时域表达式中,将表达式中的输出样点的编号替换为所述输入样点的新编号;
创建单元,用于根据所述替换后的时域表达式,建立所述新编号与所述抽头系数的对应关系。。
在本发明实施方式与现有技术相比,主要区别及其效果在于:
提供了一种优化FIR滤波器的方法,根据落在输入窗中的值非常为零的输入样点个数,确定FIR滤波器的乘法器的个数和加法器的个数,其中,输入窗的窗长为FIR滤波器的抽头数目,如此,落在输入窗中的值非常为零的输入样点的个数小于FIR滤波器的抽头数目,使得FIR滤波器包括的乘法器的个数小于FIR滤波器的抽头数目,加法器的个数小于FIR滤波器的抽头数目减1,如此,减少了FIR滤波器的面积,降低FIR滤波器的功耗和成本。
附图说明
图1是现有技术提供的FIR滤波器示意图;
图2是本发明实施例1提供的一种优化FIR滤波器的方法流程图;
图3是本发明实施例2提供的一种优化FIR滤波器的方法流程图;
图4是本发明实施例2提供的第一种输入框示意图;
图5是本发明实施例2提供的第二种输入框示意图;
图6是本发明实施例2提供的一种优化后的FIR滤波器示意图;
图7是本发明实施例3提供的一种优化FIR滤波器的方法流程图;
图8是本发明实施例3提供的一种优化后的FIR滤波器的示意图;
图9是本发明实施例4提供的一种优化FIR滤器的装置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
如图2所示,本发明实施例提供了一种优化FIR滤波器的方法,包括:
步骤101:判断出样点序列中的值非常为零的样点段和值常为零的样点段的排列规律周期性地变化以及任意值非常为零的样点段包括的输入样点的个数小于FIR滤波器的抽头数目;
步骤102:根据落在输入窗中的值非常为零的输入样点个数,确定该FIR滤波器的乘法器个数和加法器个数;
其中,该输入窗的窗长为所述FIR滤波器的抽头数目;
步骤103:将不同变化周期中的位置相同的输入样点的编号映射成同一个新编号,根据一个变化周期中的输入样点的时域表达式和输入样点的值,建立新编号与抽头系数的对应关系。
在本发明实施例中,根据落在输入窗中的值非常为零的输入样点个数,确定FIR滤波器的乘法器的个数和加法器的个数,其中,输入窗的窗长为FIR滤波器的抽头数目,如此,落在输入窗中的值非常为零的输入样点的个数小于FIR滤波器的抽头数目,使得FIR滤波器包括的乘法器的个数小于FIR滤波器的抽头数目,加法器的个数小于FIR滤波器的抽头数目减1,如此,减少了FIR滤波器的面积,降低FIR滤波器的功耗和成本。
实施例2
如图3所示,本发明实施例提供了一种优化FIR滤波器的方法,在本实施例中,使用一个抽头数目为6的FIR滤波器,向该FIR滤波器输入的样点序列为x(0),x(1),x(2),x(3),......,x(n),......,其中,x(n)为输入样点,n为输入样点的编号,该样点序列中的每个输入样点的样点值分别为a0,0,0,0,a1,0,0,0,a2,0,0,0,a3,0,0,0,a4,0,0,0,......,其中,样点值a0、a1、a2、a3、a4......的值都非常为0。该方法包括:
步骤201:观察该样点序列x(0),x(1),x(2),x(3),......,x(n),......中的值非常为零的样点段和值常为零的样点的排列规律以及每个值非常为零的样点段包括输入样点个数;
其中,该样点序列x(0),x(1),x(2),x(3),......,x(n),......由值常为零的样点段和值非常为零的样点段组成。
其中,值常为零的样点段由值常为零的输入样点组成,而值常为零的输入样点的样点值为零;值非常为零的样点段由值非常为零的输入样点组成,而值非常为零的样点的样点值为任意值。
步骤202:当观察完该样点序列后,判断出该样点序列中的值非常为零的样点段和值常为零的样点的排列规律周期性地变化,且任意一个值非常为零的样点段包括的输入样点数目都小于该FIR滤波器抽头数目6时,执行步骤203;
其中,在该样点序列中,每个变化同期包括一个值非常为零的样点段和一个值常为零的样点段,值非常为零的样点段都由一个输入样点组成,值常为零的样点段都由三个输入样点组成,因此,每个变化周期内包括四个输入样点;例如,在第一个变化周期中包括x(0),x(1),x(2),x(3)四个输入样点,输入样点x(0)组成值非常为零的样点段,输入样点x(1),x(2),x(3)组成值常为零的样点段;在第二个变化周期中包括x(4),x(5),x(6),x(7)四个输入样点,输入样点x(4)组成值非常为零的样点段,输入样点x(5),x(6),x(7)组成值常为零的样点段。
其中,如果在该样点序列中判断出值非常为零的样点段和值常为零的样点段的排列规律不是周期性地变化或/和存在值非常为零的样点段包括的输入样点的数目大于或等于该FIR滤波器的抽头数目6,则结束操作。
步骤203:创建一个窗长为该FIR滤波器的抽头数目6的输入窗,根据创建的输入窗确定该FIR滤波器包括2个乘法器和1个加法器;
具体地,创建一个输入窗,且设置该输入窗的窗长为该FIR滤波器的抽头数目6,将该样点序列包括的输入样点依次输入到该输入窗中,并且每向输入窗输入一个输入样点时,统计当前输入框中的值非常为零的输入样点的个数,从统计的个数中选择值最大的个数,其中,对于该样点序列选择的最大个数的值为2,根据个数值2确定优化后的该FIR滤波器包括2个乘法器和1个加法器。
其中,输入窗的窗长为6,如果输入窗已满,则落在输入窗中的输入样点个数为6个,如果还向输入窗中输入输入样点,则最先输入到输入窗的输入样点将退出输入窗。例如,如图4所示,依次将输入样点x(0),x(1),x(2),x(3),x(4),x(5)输入到输入窗中,如果再向输入窗中输入下一个输入样点x(6),则最先输入到输入窗的输入样点x(0)退出输入窗,如图5所示。
其中,如图6所示,确定优化后的该FIR滤波器包括2个乘法器和1个加法器。
步骤204:将每个变化周期内包括的四个输入样点x(n)、x(n+1)、x(n+2)、x(n+3)的编号分别映射成新编号s0、s1、s2、s3;
具体地,将第一个变化周期内包括的四个输入样点x(0)、x(1)、x(2)、x(3)的编号,分别映射为新编号s0、s1、s2、s3,将第二个变化周期内包括的四个输入样点x(4)、x(5)、x(6)、x(7)的编号,分别映射成新编号s0、s1、s2、s3,......,将其他每个变化周期内包括的四个输入样点x(n)、x(n+1)、x(n+2)、x(n+3)的编号,分别映射成新编号s0、s1、s2、s3,如此使得在该样点序列中,不同变化周期内的位置相同的输入样点的对应相同的一个新编号,如表1所示。
表1
  x(0)   x(1)   x(2)   x(3)   x(4)   x(5)   x(6)   x(7) ……
  S0   S1   S2   S3   S0   S1   S2   S3 ……
  x(n-4)   x(n-3)   x(n-2)   x(n-1)   x(n)   x(n+1)   x(n+2)   x(n+3) ……
  S0   S1   S2   S3   S0   S1   S2   S3 ……
步骤205:对于该样点序列中的任意一个变化周期内包括的输入样点x(n)、x(n+1)、x(n+2)和x(n+3),通过该FIR滤波器的时域表达式,对该变化同期内的每个输入样点进行展开,得到每个输入样点的时域表达式,如(1)式所示;
其中,在本实施例中,该FIR滤波器的时域表达式为
Figure GSB00000905287800071
对于该变化周期内的输入样点x(n)、x(n+1)、x(n+2)和x(n+3)的时域表达式分别为: ( 1 ) , y ( n ) = h ( 0 ) x ( n ) + h ( 1 ) x ( n - 1 ) + h ( 2 ) x ( n - 2 ) + h ( 3 ) x ( n - 3 ) + h ( 4 ) x ( n - 4 ) + h ( 5 ) x ( n - 5 ) ; y ( n + 1 ) = h ( 0 ) x ( n + 1 ) + h ( 1 ) x ( n ) + h ( 2 ) x ( n - 1 ) + h ( 3 ) x ( n - 2 ) + h ( 4 ) x ( n - 3 ) + h ( 5 ) x ( n - 4 ) ; y ( n + 2 ) = h ( 0 ) x ( n + 2 ) + h ( 1 ) x ( n + 1 ) + h ( 2 ) x ( n ) + h ( 3 ) x ( n - 1 ) + h ( 4 ) x ( n - 2 ) + h ( 5 ) x ( n - 3 ) ; y ( n + 3 ) = h ( 0 ) x ( n + 3 ) + h ( 1 ) x ( n + 2 ) + h ( 2 ) x ( n + 1 ) + h ( 3 ) x ( n ) + h ( 4 ) x ( n - 1 ) + h ( 5 ) x ( n - 2 ) .
其中,对于输入样点x(n)对应的时域表达式y(n)=h(0)x(n)+h(1)x(n-1)+h(2)x(n-2)+h(3)x(n-3)+h(4)x(n-4)+h(5)x(n-5),等号左边的y(n)为输入样点x(n)对应的输出样点,等号右边的每个数据项都为输入样点与抽头系数的乘积表达式,如果某个数据项中包括值常为零的输入样点,则该数据项的值常为零。其他的每个输入样点的时域表达式的含义类似,不再赘述。
其中,假设,输入样点x(n)是值非常为零的输入样点,则输入样点x(n-4)是值非常为零的输入样点,输入样点x(n-5)、x(n-3)、x(n-2)、x(n-1)、x(n+1)、x(n+2)、x(n+3)都是值常为零的输入样点。
步骤206:对该变化周期内包括的每个输入样点的时域表达式进行简化,得到简化后的每个输入样点的时域表达式,如(2)式所示;
具体地,在该变化周期中包括每个输入样点的时域表达式中,消除包括值常为零的输入样点的数据项,得到简化后的每个输入样点的时域表达式,如(2)式所示。
( 2 ) , y ( n ) = h ( 0 ) x ( n ) + h ( 4 ) x ( n - 4 ) ; y ( n + 1 ) = h ( 1 ) x ( n ) + h ( 5 ) x ( n - 4 ) ; y ( n + 2 ) = h ( 2 ) x ( n ) ; y ( n + 3 ) = h ( 3 ) x ( n ) ;
其中,假设,第n个输入样点对应的新编号为s0,则第n+1个输入样点对应的新编号为s1,第n+2个输入样点对应的新编号为s2,第n+3个输入样点对应的新编号为s3。
步骤207:对于(2)式所示的简化后的每个输入样点的时域表达式,在每个输入样点的时域表达式中将输出样点的编号替换成对应的输入样点的新编号;
其中,即将(2)式中的每个输出样点y(n)、y(n+1)、y(n+2)、y(n+3)中的编号分别替换成新编号s0、s1、s2、s3,得到如(3)式所示的时域表达式;
( 3 ) , y ( s 0 ) = h ( 0 ) x ( n ) + h ( 4 ) x ( n - 4 ) ; y ( s 1 ) = h ( 1 ) x ( n ) + h ( 5 ) x ( n - 4 ) ; y ( s 2 ) = h ( 2 ) x ( n ) ; y ( s 3 ) = h ( 3 ) x ( n ) ;
步骤208:根据如(3)式所示的每个输入样点的时域表达式,建立该变化周期内的每个输入样点的新编号与抽头系数的对应关系,如表2所示;
表2
Figure GSB00000905287800083
步骤209:对于该样点序列x(0),x(1),x(2),x(3),......,x(n),......,将该样点序列中的每个输入样点依次输入到输入窗中,根据当前输入到输入窗中的样点对应的新编号,获取对应的抽头系数,将获取的抽头系数分别输入到该FIR滤波器的乘法器中;
具体地,对该样点序列x(0),x(1),x(2),x(3),......,x(n),......,将该样点序列中的每个输入样点依次输入到输入窗中,获取当前输入到输入窗中的输入样点对应的新编号,根据该新编号从如表2所示的新编号与抽头系数的对应关系中查找对应的两个抽头系数,将查找的两个抽头系数分别输入到该FIR滤波器的两个乘法器中。
例如,如图4所示,已输入到输入窗的输入样点分别为x(0),x(1),x(2),x(3),x(4),x(5),再向输入窗输入下一个输入样点x(6),如图5所示,输入样点x(6)为当前输入到输入窗的输入样点,获取输入样点x(6)对应的新编号为s2,根据s2从表2中查找对应的两个抽头系数分别为h(2)和0,将查找的两个抽头系数h(2)和0分别输入到如图6所示的FIR滤波器的两个乘法器中。
步骤210:从输入窗中获取值非常为零的输入样点,将获取的每个值非常为零的输入样点输入到该FIR滤波器的乘法器中。
其中,该FIR滤波器根据输入的值非常为零的输入样点和抽头系数计算出当前输入到输入窗中的输入样点对应的输出样点。
例如,从如图5所示的输入窗中,获取落在该输入窗中的值非常为零的输入样点x(4),将输入样点x(4)输入到如图6所示的FIR滤波器的乘法器中,然后该FIR滤波器输出输入样点x(6)对应的输出样点y(6)=h(2)x(4)。其中,由于该输入窗中只有一个值非常为零的输入样点,而对于图6中的另一个乘法器,可以向该乘法器输入一个事先设置的值data,其中,可以事先设置data的值为任意值,例如可以事先设置data的值为0;另外,也可以不向该乘法器输入任何值,即该乘法器不参与计算输出样点。
其中,如果再向输入窗中输入下一个输入样点,则返回步骤209开始执行。例如,再向输入窗输入下一个输入样点x(7),则此时落在输入窗中的输入样点分别包括x(2),x(3),x(4),x(5),x(6),x(7),根据输入样点x(7)对应的新编号s3查找对应的两个抽头系数分别为h(3)和0,并分别输入到该FIR滤波器的两个乘法器中,从输入窗中获取值非常为零的输入样点x(4),并将其输入到该FIR滤波器的乘法器中,由该FIR滤波器输出输入样点x(7)对应的输出样点y(7)=h(3)x(4)。
再如,再向输入窗输入下一个输入样点x(8),则此时落在输入窗中的输入样点分别为x(3),x(4),x(5),x(6),x(7),x(8),根据输入样点x(8)对应的新编号S4查找对应的两个抽头系数为h(0)和h(4),并分别输入到该FIR滤波器的两个乘法器中,从输入窗中获取值非常为零的输入样点x(8)和x(4),并分别将输入样点x(8)和x(4)输入到该FIR滤波器的两个乘法器中,然后,再通过该FIR滤波器输出输入样点x(8)对应的输出样点y(8)=h(0)x(8)+h(4)x(4)。
在本实施例中,由于该FIR滤波器的抽头数目为6,在未优化之前该FIR滤波器需要6个乘法器和5个加法器,对该FIR滤波器进行优化后,该FIR滤波器需要2个乘法器和1个加法器。所以优化后的FIR滤波器减少了乘法器和加法器的个数,从而减小了FIR滤波器的面积,降低功耗和成本。
其中,假设,利用P个FIR滤波器组成一个行数为P的并行结构的滤波器时,由于该FIR滤波器的抽头数目为6,如果采用未优化的FIR滤波器组成行数为P的并行结构的滤波器时,则需要6P个乘法器和6(P-1)个加法器;如果采用优化后的FIR滤波器组成行数为P的并行结构的滤波器时,则需要2P个乘法器和P个加法器,如此,大量减少乘法器个数和加法器个数。
在本发明实施例中,根据最多落在输入窗中的值非常为零的输入样点个数,确定FIR滤波器的乘法器的个数和加法器的个数;再向FIR滤波器中输入输入样点时,获取抽头系数以及从输入窗中获取值非常为零的输入样点,再将获取的抽头系数和值非常为零的输入样点输入到FIR滤波器的乘法器中;其中,输入窗的窗长为FIR滤波器的抽头数目,如此,最多落在输入窗中的值非常为零的输入样点的个数小于FIR滤波器的抽头数目,使得FIR滤波器包括的乘法器的个数小于FIR滤波器的抽头数目,加法器的个数小于FIR滤波器的抽头数目减1,如此,减少了FIR滤波器的面积变的很大,功耗和成本也较高。
实施例3
如图7所示,本发明实施例提供了一种优化FIR滤波器的方法,在本实施例中,使用一个抽头数目为4的FIR滤波器,向该FIR滤波器输入的样点序列为x(0),x(1),x(2),x(3),......,x(n),......,其中,x(n)为输入样点,n为输入样点的编号,该样点序列中的每个输入样点的样点值分别为a0,0,0,a1,0,a2,0,0,a3,0,a4,0,0,a5,0......,其中,样点值a0、a1、a2、a3、a4......的值都非常为0。该方法包括:
步骤301:观察该样点序列x(0),x(1),x(2),x(3),......,x(n),......中的值非常为零的样点段和值常为零的样点的排列规律以及每个值非常为零的样点段包括输入样点个数;
步骤302:判断出该样点序列中的值非常为零的样点段和值常为零的样点段周期性地变化且任意一个值非常为零的样点段包括的输入样点的数目小于该FIR滤波器的抽头数目4;
其中,对于该样点序列x(0),x(1),x(2),x(3),......,x(n),......,每个变化周期内包括两个值非常为零的样点段和两个值常为零的样点段,且每个变化周期内包括5个输入样点。例如,对于第一个变化周期内的输入样点包括x(0),x(1),x(2),x(3),x(4),第一个变化周期内包括的两个值非常为零的样点段分别为x(0)和x(3)以及两个值常为零的样点段分别为x(1)x(2)和x(4)。
步骤303:创建一个窗长为该FIR滤波器的抽头数目4的输入窗,根据创建的输入窗确定该FIR滤波器包括2个乘法器和1个加法器;
具体地,创建一个输入窗,且设置该输入窗的窗长为该FIR滤波器的抽头数目4,将该样点序列包括的输入样点依次输入到该输入窗中,并且每次向输入窗中输入一个输入样点时,统计每次落在输入框中的值非常为零的输入样点的个数,选择值最大的个数,其中,对于该样点序列最大的个数为2,根据个数2确定优化后的该FIR滤波器包括2个乘法器和1个加法器。
例如,如图8所示,设计优化后的该FIR滤波器包括两个乘法器和一个加法器。
步骤304:将每个变化周期内包括的五个输入样点x(n)、x(n+1)、x(n+2)、x(n+3)、x(n+4)的编号分别映射成新编号s0、s1、s2、s3、s4;
具体地,将第一个变化周期内包括的五个输入样点x(0)、x(1)、x(2)、x(3)、x(4)的编号,分别映射为新编号s0、s1、s2、s3、s4;将第二个变化周期内包括的五个输入样点x(5)、x(6)、x(7)、x(8)、x(9)的编号,分别映射为新编号s0、s1、s2、s3、s4、s5,......将其他每个变化周期内包括的五个输入样点x(n)、x(n+1)、x(n+2)、x(n+3)、x(n+4)的编号,分别映射成新编号s0、s1、s2、s3、s4......,如此使得在该样点序列中,不同变化周期内的位置相同的输入样点对应同一个新编号,如表3所示。
表3
  x(0)   x(1)   x(2)   x(3)   x(4)   x(5)   x(6)   x(7)   x(8) ……
  S0   S1   S2   S3   S4   S0   S1   S2   S3 ……
  x(n-4)   x(n-3)   x(n-2)   x(n-1)   x(n)   x(n+1)   x(n+2)   x(n+3)   x(n+4) ……
  S1   S2   S3   S4   S0   S1   S2   S3   S4 ……
步骤305:对于该样点序列中的任意一个变化周期内包括的输入样点分别为x(n)、x(n+1)、x(n+2)、x(n+3)和x(n+4),通过该FIR滤波器的时域表达式,对该变化同期内的每个输入样点进行展开,得到每个输入样点的时域表达式,如(4)式所示;
其中,在本实施例中,该FIR滤器的时域表达式为
Figure GSB00000905287800121
该变化周期内的输入样点x(n)、x(n+1)、x(n+2)和x(n+3)的时域表达式分别为: ( 4 ) , y ( n ) = h ( 0 ) x ( n ) + h ( 1 ) x ( n - 1 ) + h ( 2 ) x ( n - 2 ) + h ( 3 ) x ( n - 3 ) ; y ( n + 1 ) = h ( 0 ) x ( n + 1 ) + h ( 1 ) x ( n ) + h ( 2 ) x ( n - 1 ) + h ( 3 ) x ( n - 2 ) ; y ( n + 2 ) = h ( 0 ) x ( n + 2 ) + h ( 1 ) x ( n + 1 ) + h ( 2 ) x ( n ) + h ( 3 ) x ( n - 1 ) ; y ( n + 3 ) = h ( 0 ) x ( n + 3 ) + h ( 1 ) x ( n + 2 ) + h ( 2 ) x ( n + 1 ) + h ( 3 ) x ( n ) ; y ( n + 4 ) = h ( 0 ) x ( n + 4 ) + h ( 1 ) x ( n + 3 ) + h ( 2 ) x ( n + 2 ) + h ( 3 ) x ( n + 1 ) .
其中,假设,输入样点x(n)和x(n+3)是值非常为零的输入样点,则输入样点x(n-2)是值非常为零的输入样点,输入样点x(n-3)、x(n-1)、x(n+1)、x(n+2)、x(n+4)都是值常为零的输入样点。
步骤306:对该变化周期内包括的每个输入样点的时域表达式进行简化,得到简化后的每个输入样点的时域表达式,如(5)式所示;
具体地,在如(4)式所示的该变化周期内的每个输入样点的表达式中,消除包括值常为零的输入样点的数据项,得到简化后的每个输入样点的时域表达式,如(5)式所示;
( 5 ) , y ( n ) = h ( 0 ) x ( n ) + h ( 2 ) x ( n - 2 ) ; y ( n + 1 ) = h ( 1 ) x ( n ) + h ( 3 ) x ( n - 2 ) ; y ( n + 2 ) = h ( 2 ) x ( n ) ;
y(n+3)=h(0)x(n+3)+h(3)x(n);
y(n+4)=h(1)x(n+3)
其中,假设,第n个输入样点对应的新编号为s0,则第n+1、n+2、n+3、n+4个输入样点对应的新编号分别为s0、s1、s2、s3、s4。
步骤307:对于(5)式所示的简化后的每个输入样点的时域表达式,在每个输入样点的时域表达式中将输出样点的编号替换成对应的输入样点的新编号;
其中,即将每个输出样点y(n)、y(n+1)、y(n+2)、y(n+3)、y(n+4)中的编号分别替换成新编号s0、s1、s2、s3、s4,得到如(6)式所示的时域表达式;
( 6 ) , y ( s 0 ) = h ( 0 ) x ( n ) + h ( 2 ) x ( n - 2 ) ; y ( s 1 ) = h ( 1 ) x ( n ) + h ( 3 ) x ( n - 2 ) ; y ( s 2 ) = h ( 2 ) x ( n ) ; y ( s 3 ) = h ( 0 ) x ( n + 3 ) + h ( 3 ) x ( n ) ; y ( s 4 ) = h ( 1 ) x ( n + 3 )
步骤308:根据如(6)式所示的每个输入样点的时域表达式,建立该变化周期内的每个输入样点的新编号与抽头系数的对应关系,如表4所示;
表4
Figure GSB00000905287800132
步骤309:对于该样点序列x(0),x(1),x(2),x(3),......,x(n),......,将该样点序列中的输入样点依次输入到输入窗中,根据当前输入到输入窗中的输入样点对应的新编号,获取对应的抽头系数,将获取的抽头系数分别输入到该FIR滤波器的乘法器中;
具体地,对该样点序列x(0),x(1),x(2),x(3),......,x(n),......,将该样点序列中的每个输入样点依次输入到输入窗中,获取当前输入到输入窗中的输入样点对应的新编号,根据该新编号从如表4所示的新编号与抽头系数的对应关系中查找对应的两个抽头系数,将查找的两个抽头系数分别输入到该FIR滤波器的两个乘法器中。
例如,假设输入框中已存在输入样点x(0),x(1),x(2),再向该输入框中输入下一个输入样点x(3),根据输入样点x(3)对应的新编号s3,从表4中查找对应的抽头系数分别为h(0)和h(3),将查找的两个抽头系数分别输入到如图8所示的FIR滤波器的两个乘法器中。
步骤310:在落在输入窗中的每个输入样点中获取值非常为零的输入样点,将获取的每个值非常为零的输入样点输入到该FIR滤波器的两个乘法器。
其中,该FIR滤波器根据输入的抽头系数和值非常为零的输入样点,计算出当前输入到输入窗中的输入样点对应的输出样点。
例如,落在在输入窗中的输入样点包括x(0),x(1),x(2),x(3),从输入框中获取值非常为0的输入样点x(0)和x(3),将获取的两个输入样点x(0)和x(3)分别输入到如图8所示的FIR滤波器中的两个乘法器中,再由该FIR滤波器输出输入样点x(3)对应的输出样点y(3)=h(0)x(3)+h(3)x(0)。其中,如果再向输入框中输入下一个输入样点,则返回步骤309开始执行。
在本实施例中,由于该FIR滤波器的抽头数目为4,在未优化之前该FIR滤波器需要4个乘法器和3个加法器,对该FIR滤波器进行优化后,该FIR滤波器需要2个乘法器和1个加法器。所以优化后的FIR滤波器减少了乘法器和加法器的个数,从而减小了FIR滤波器的面积,降低功耗和成本。
在本发明实施例中,根据最多落在输入窗中的值非常为零的输入样点个数,确定FIR滤波器的乘法器的个数和加法器的个数;再向FIR滤波器中输入输入样点时,获取抽头系数以及从输入窗中获取值非常为零的输入样点,再将获取的抽头系数和值非常为零的输入样点输入到FIR滤波器的乘法器中;其中,输入窗的窗长为FIR滤波器的抽头数目,如此,最多落在输入窗中的值非常为零的输入样点的个数小于FIR滤波器的抽头数目,使得FIR滤波器包括的乘法器的个数小于FIR滤波器的抽头数目,加法器的个数小于FIR滤波器的抽头数目减1,如此,减少了FIR滤波器的面积,降低FIR滤波器的功耗和成本。
实施例4
如图9所示,本发明实施例提供了一种优化FIR滤波器的方法,包括:
判断模块401,用于判断出样点序列中的值非常为零的样点段和值常为零的样点段的排列规律周期性地变化以及任意值非常为零的样点段包括的输入样点的个数小于FIR滤波器的抽头数目;
确定模块402,用于根据落在输入窗中的值非常为零的输入样点个数,确定该FIR滤波器的乘法器个数和加法器个数,其中,该输入窗的窗长为该FIR滤波器的抽头数目;
第一创建模块403,用于将不同变化周期中的位置相同的输入样点的编号映射成同一个新编号,根据一个变化周期中的输入样点的时域表达式和输入样点的值,建立新编号与抽头系数的对应关系;
其中,确定模块402具体包括:
输入单元,用于将样点序列中的输入样点依次输入到该输入窗中,且统计每次落在该输入窗中的值非常为零的输入样点个数;其中,该输入窗的窗长为该FIR滤波器的抽头数目;
确定单元,用于从统计的个数中选择值最大的个数,确定该FIR滤波器包括值最大的个数数量的乘法器和值最大的个数数量减一的加法器;
其中,第一创建模块403具体包括:
映射单元,用于将不同变化周期中的位置相同的输入样点的编号映射成同一个新编号;
展开单元,用于根据该FIR滤波器的时域表达式,对该输入样点进行展开得到该输入样点的时域表达式;
消除单元,用于在该输入样点的时域表达式中,消除时域表达式中的包括值常为零的输入样点的数据项;
替换单元,用于在消除后的时域表达式中,将表达式中的输出样点的编号替换为该输入样点的新编号;
创建单元,用于根据替换后的时域表达式,建立新编号与所述抽头系数的对应关系;
进一步地,该装置还包括:
第二创建模块,用于创建该输入窗并将该输入窗的窗长设置为该FIR滤波器的抽头数目;
进一步地,该装置还包括:
输入模块,用于将该样点序列中的输入样点依次输入到该输入窗中,根据当前输入到该输入框中的输入样点获取抽头系数;获取落在该输入窗中值非常为零的输入样点;将获取的值非常为零的输入样点和获取的抽头系数输入到该FIR滤波器的乘法器中;
其中,输入模块,具体用于将该样点序列中的输入样点依次输入到该输入窗中,根据当前输入到该输入窗中的输入样点,映射出对应的新编号,根据映射的新编号从新编号与抽头系数的对应关系中,查找对应的抽头系数;获取落在该输入窗中值非常为零的输入样点;将值非常为零的输入样点和抽头系数输入到该FIR波波器的乘法器中。
在本发明实施例中,根据最多落在输入窗中的值非常为零的输入样点个数,确定FIR滤波器的乘法器的个数和加法器的个数;再向FIR滤波器中输入输入样点时,获取抽头系数以及从输入窗中获取值非常为零的输入样点,再将获取的抽头系数和值非常为零的输入样点输入到FIR滤波器的乘法器中;其中,输入窗的窗长为FIR滤波器的抽头数目,如此,最多落在输入窗中的值非常为零的输入样点的个数小于FIR滤波器的抽头数目,使得FIR滤波器包括的乘法器的个数小于FIR滤波器的抽头数目,加法器的个数小于FIR滤波器的抽头数目减1,如此,减少了FIR滤波器的面积,降低功耗和成本。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种优化FIR滤波器的方法,其特征在于,所述方法包括: 
当判断出样点序列中的值非常为零的样点段和值常为零的样点段的排列规律周期性地变化以及任意值非常为零的样点段包括的输入样点的个数小于FIR滤波器的抽头数目时,根据落在输入窗中的值非常为零的输入样点个数,确定所述FIR滤波器的乘法器个数和加法器个数,所述输入窗的窗长为所述FIR滤波器的抽头数目; 
将不同变化周期中的位置相同的输入样点的编号映射成同一个新编号,根据一个变化周期中的输入样点的时域表达式和输入样点的值,建立所述新编号与抽头系数的对应关系; 
其中,根据落在输入窗中的值非常为零的输入样点个数,确定所述FIR滤波器的乘法器个数和加法器个数,具体包括: 
将所述样点序列中的输入样点依次输入到所述输入窗中,且统计每次落在所述输入窗中的值非常为零的输入样点个数; 
从所述统计的个数中选择值最大的个数,确定所述FIR滤波器包括所述值最大的个数数量的乘法器和所述值最大的个数数量减一的加法器; 
其中,根据一个变化周期中的输入样点的时域表达式和输入样点的值,建立所述新编号与抽头系数的对应关系,具体包括: 
根据所述FIR滤波器的时域表达式,对所述输入样点进行展开得到所述输入样点的时域表达式; 
在所述输入样点的时域表达式中,消除所述时域表达式中的包括值常为零的输入样点的数据项; 
在所述消除后的时域表达式中,将表达式中的输出样点的编号替换为所述输入样点的新编号; 
根据所述替换后的时域表达式,建立所述新编号与所述抽头系数的对应关系。 
2.如权利要求1所述的方法,其特征在于,所述根据落在所述输入窗中的值非常为零的输入样点个数,确定所述FIR滤波器的乘法器个数和加法器个数 之前,还包括: 
创建所述输入窗。 
3.如权利要求1所述的方法,其特征在于,所述根据一个变化周期中的输入样点的时域表达式和输入样点的值,建立所述新编号与抽头系数的对应关系之后,还包括: 
将所述样点序列中的输入样点依次输入到所述输入窗中,根据当前输入到所述输入框中的输入样点获取抽头系数;获取落在所述输入窗中值非常为零的输入样点;将所述值非常为零的输入样点和所述抽头系数输入到所述FIR滤波器的乘法器中。 
4.如权利要求3所述的方法,其特征在于,所述根据当前输入到所述输入框中的输入样点获取抽头系数,包括: 
根据当前输入到所述输入窗中的输入样点,映射出对应的新编号,根据所述新编号从所述新编号与抽头系数的对应关系中,查找对应的抽头系数。 
5.一种优化FIR滤波器的装置,其特征在于,所述装置包括: 
判断模块,用于判断出样点序列中的值非常为零的样点段和值常为零的样点段的排列规律周期性地变化以及任意值非常为零的样点段包括的输入样点的个数小于FIR滤波器的抽头数目; 
确定模块,用于根据落在输入窗中的值非常为零的输入样点个数,确定所述FIR滤波器的乘法器个数和加法器个数,所述输入窗的窗长为所述FIR滤波器的抽头数目; 
第一创建模块,用于将不同变化周期中的位置相同的输入样点的编号映射成同一个新编号,根据一个变化周期中的输入样点的时域表达式和输入样点的值,建立所述新编号与抽头系数的对应关系; 
其中,所述确定模块包括: 
输入单元,用于将所述样点序列中的输入样点依次输入到所述输入窗中,且统计每次落在所述输入窗中的值非常为零的输入样点个数;所述输入窗的窗长为所述FIR滤波器的抽头数目; 
确定单元,用于从所述统计的个数中选择值最大的个数,确定所述FIR滤波器包括所述值最大的个数数量的乘法器和所述值最大的个数数量减一的加法器; 
其中,所述第一创建模块包括: 
映射单元,用于将不同变化周期中的位置相同的输入样点的编号映射成同一个新编号; 
展开单元,用于根据所述FIR滤波器的时域表达式,对所述输入样点进行展开得到所述输入样点的时域表达式; 
消除单元,用于在所述输入样点的时域表达式中,消除所述时域表达式中的包括值常为零的输入样点的数据项; 
替换单元,用于在所述消除后的时域表达式中,将表达式中的输出样点的编号替换为所述输入样点的新编号; 
创建单元,用于根据所述替换后的时域表达式,建立所述新编号与所述抽头系数的对应关系。 
6.如权利要求5所述的装置,其特征在于,所述装置还包括: 
第二创建模块,用于创建所述输入窗。 
7.如权利要求5所述的装置,其特征在于,所述装置还包括: 
输入模块,用于将所述样点序列中的输入样点依次输入到所述输入窗中,根据当前输入到所述输入框中的输入样点获取抽头系数;获取落在所述输入窗中值非常为零的输入样点;将所述值非常为零的输入样点和所述抽头系数输入到所述FIR滤波器的乘法器中。 
8.如权利要求7所述的装置,其特征在于, 
所述输入模块,具体用于将所述样点序列中的输入样点依次输入到所述输入窗中,根据当前输入到所述输入窗中的输入样点,映射出对应的新编号,根据所述新编号从所述新编号与抽头系数的对应关系中,查找对应的抽头系数;获取落在所述输入窗中值非常为零的输入样点;将所述值非常为零的输入样点和所述抽头系数输入到所述FIR滤波器的乘法器中。 
CN 201010187433 2010-05-28 2010-05-28 一种优化fir滤波器的方法及装置 Active CN101834582B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010187433 CN101834582B (zh) 2010-05-28 2010-05-28 一种优化fir滤波器的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010187433 CN101834582B (zh) 2010-05-28 2010-05-28 一种优化fir滤波器的方法及装置

Publications (2)

Publication Number Publication Date
CN101834582A CN101834582A (zh) 2010-09-15
CN101834582B true CN101834582B (zh) 2013-09-11

Family

ID=42718539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010187433 Active CN101834582B (zh) 2010-05-28 2010-05-28 一种优化fir滤波器的方法及装置

Country Status (1)

Country Link
CN (1) CN101834582B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986564B (zh) * 2010-11-17 2013-10-16 北京理工大学 基于Backlash算子和神经网络的自适应滤波器
CN102811035B (zh) * 2011-05-30 2016-06-29 中兴通讯股份有限公司 有限冲击响应数字滤波器及其实现方法
CN106505973B (zh) * 2016-09-19 2019-04-19 华为技术有限公司 一种n抽头的fir滤波器
CN110247642B (zh) * 2019-06-13 2023-07-11 江苏卓胜微电子股份有限公司 一种fir滤波方法及滤波器
CN110705037B (zh) * 2019-09-10 2021-03-23 深圳市南方硅谷半导体有限公司 优化fir滤波器的方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1238095A (zh) * 1996-11-19 1999-12-08 汤姆森多媒体公司 自适应稀疏均衡器滤波器
CN1578138A (zh) * 2003-06-28 2005-02-09 卓联半导体股份有限公司 降低复杂度的自适应滤波器
CN1622592A (zh) * 2003-11-24 2005-06-01 三星电子株式会社 用于转换视频信号的分辨率的方法及其装置
US7656945B1 (en) * 2005-10-04 2010-02-02 Pmc-Sierra, Inc. Stabilized digital timing recovery using low-complexity equalizer

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2241853A (en) * 1990-03-08 1991-09-11 British Aerospace Digital signal processing apparatus comprising architectures for digital multiplexing and demultiplexing.
JP4243473B2 (ja) * 2002-11-13 2009-03-25 日本電気株式会社 Firディジタルフィルタ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1238095A (zh) * 1996-11-19 1999-12-08 汤姆森多媒体公司 自适应稀疏均衡器滤波器
CN1578138A (zh) * 2003-06-28 2005-02-09 卓联半导体股份有限公司 降低复杂度的自适应滤波器
CN1622592A (zh) * 2003-11-24 2005-06-01 三星电子株式会社 用于转换视频信号的分辨率的方法及其装置
US7656945B1 (en) * 2005-10-04 2010-02-02 Pmc-Sierra, Inc. Stabilized digital timing recovery using low-complexity equalizer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2004-165945A 2004.06.10

Also Published As

Publication number Publication date
CN101834582A (zh) 2010-09-15

Similar Documents

Publication Publication Date Title
CN101834582B (zh) 一种优化fir滤波器的方法及装置
Mardia et al. On multimodality of the likelihood in the spatial linear model
CN110765709B (zh) 一种基于fpga的基2-2快速傅里叶变换硬件设计方法
CN101510203B (zh) 基于拆分机制并行处理实现大数据量高性能处理的方法
CN102707931A (zh) 一种基于并行数据通道的数字信号处理器
CN102301325A (zh) 具有预加法器级的数字信号处理块
CN1866738B (zh) 一种通用可编程数字滤波器及其控制方法
CN101425794B (zh) 固定系数数字滤波器
CN104778159A (zh) 一种基于词权重进行分词的方法和装置
CN104391674B (zh) 基于fpga的采样值线性插值运算器及运算方法
CN113556101A (zh) Iir滤波器及其数据处理方法
Kehtarnavaz et al. FPGA implementation made easy for applied digital signal processing courses
Cappello et al. A note on'free accumulation'in VLSI filter architectures
CN104679721A (zh) 一种fft处理器的运算方法
CN201156248Y (zh) 一种计算多数据排序序号的硬件结构
CN104731551B (zh) 基于fpga进行除法操作的方法及装置
CN107786476B (zh) 一种滤波器、时域均衡器以及接收机
CN101833540B (zh) 信号处理方法和装置
CN101840322B (zh) 滤波器运算单元复用的方法和滤波器的运算系统
CN109635929B (zh) 基于fpga的卷积实现方法及卷积器
CN100536331C (zh) 一种半并行滤波器及其实现方法
CN102811036A (zh) 数字滤波方法和装置
Bhalke et al. FPGA implementation of efficient FIR Filter with quantized fixedpoint coefficients
Nguyen et al. An FPGA-based implementation of a pipelined FFT processor for high-speed signal processing applications
CN103378821B (zh) 滤波器系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210425

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Device Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right