CN105429610A - 一种基于spt系数的fir滤波器优化方法 - Google Patents

一种基于spt系数的fir滤波器优化方法 Download PDF

Info

Publication number
CN105429610A
CN105429610A CN201510742451.7A CN201510742451A CN105429610A CN 105429610 A CN105429610 A CN 105429610A CN 201510742451 A CN201510742451 A CN 201510742451A CN 105429610 A CN105429610 A CN 105429610A
Authority
CN
China
Prior art keywords
spt
omega
filter
coefficient
item
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.)
Granted
Application number
CN201510742451.7A
Other languages
English (en)
Other versions
CN105429610B (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.)
Changzhou Campus of Hohai University
Original Assignee
Changzhou Campus of Hohai University
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 Changzhou Campus of Hohai University filed Critical Changzhou Campus of Hohai University
Priority to CN201510742451.7A priority Critical patent/CN105429610B/zh
Publication of CN105429610A publication Critical patent/CN105429610A/zh
Application granted granted Critical
Publication of CN105429610B publication Critical patent/CN105429610B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于SPT系数的FIR滤波器优化方法,(1)首先得到具有无限字长的FIR滤波器系数向量,对无限字长滤波器系数向量中的元素按照绝对值从大到小进行排序;(2)设定滤波器系数增益取值空间,对无限字长滤波器系数向量进行截断处理,截断步骤在每次循环中同时分配多个SPT项,从而大幅度提高了分配效率;(3)选出使得所需SPT项最少的情况下所对应的滤波器系数增益;(4)利用贪婪算法进行优化,在截断步骤基础上进一步改进滤波器的性能,降低Minimax误差,从而充分利用SPT项提升滤波器设计性能。本发明能够取得良好的滤波器性能及较高的计算效率。

Description

一种基于SPT系数的FIR滤波器优化方法
技术领域
本发明涉及一种FIR滤波器优化方法,具体涉及一种基于SPT系数的FIR滤波器优化方法。
背景技术
有限冲激响应(FiniteImpulseResponse,FIR)滤波器是广泛运用于通信与信号处理的滤波器之一,它具有很多优点。
首先FIR滤波器具有固有的稳定性,与无限冲激响应(InfiniteImpulseResponse,IIR)滤波器相比,其极点均位于Z平面原点;其次可方便的利用对称结构,设计者容易获得具有精确线性相位特性的滤波器,避免信号发生相位失真;以及其结构相对简单,便于实现。
传统的FIR滤波器设计基于无限字长这一基本假设。此时,许多的FIR滤波器设计可以表述为凸优化问题,利用较为成熟的凸优化算法,从而获得设计问题的全局最优解。基于集成电路技术,数字FIR滤波器的系数可采用SPT形式构成,但是设计问题也发生了本质的变化,变成了离散空间中的组合优化问题。然而,在离散空间中寻找最优解是极度耗时的,因此必须要在优化质量与优化效率上达到折中。通常使用增益q来优化滤波器性能,这样处理既不影响SPT分配,又能保证滤波器系数的动态范围在设定的动态范围内,尽可能的减少所需要的SPT项的数量以达到减小滤波器实现成本的目的。然而传统方法由于每次只寻找一个分配位置进行SPT项的分配,因此传统算法SPT项计算效率不高。
发明内容
针对现有技术存在的不足,本发明目的是提供一种基于SPT系数的FIR滤波器优化方法,在给定系数表示中SPT项总数的情况下,在保证精确的前提下,将每个SPT项快速且合理地分配给滤波器系数,能够取得良好的滤波器性能及较高的计算效率。
为了实现上述目的,本发明是通过如下的技术方案来实现:
本发明的一种基于SPT系数的FIR滤波器优化方法,其包括以下步骤:
(1)首先得到具有无限字长的FIR滤波器系数向量g,对g中的元素按照绝对值从大到小的顺序进行排序,得到排好序的向量h;
(2)对向量h进行截断处理得到截断后的滤波器系数向量h',设定滤波器系数增益q取值空间□={q1,q2,q3...qP},对于计算增益后的滤波器系数向量e=qh;截断步骤在每次循环中同时分配多个SPT项;
截断后的滤波器系数向量h'可表示为:
h'=Cs,C∈C(M)(1)
其中,C为N×2K矩阵,其元素为0或1,N为滤波器阶数,K为除去符号位的字长,s=[-2-1-2-2...-2-K2-12-2...2-K]T,M为给定SPT总数;
(3)选出使得所需SPT项最少的情况下所对应的滤波器系数增益q0以及
选择标准为:
ρ(Cqs)表示成本函数,即所需要的SPT项总数;
(4)利用贪婪算法对进行优化,通过试探性的对中其中的一项进行取反,判断此时最大误差是否得到改进,从而决定是否对这一项进行调整,逐项遍历中的所有可调项;
优化模型为:
m a x | | s T C h T v ( ω ) | - q 0 H d ( ω ) | = m i n [ m a x ω ∈ Ω I | | s T C q 0 T v ( ω ) | - q 0 H d ( ω ) | ] - - - ( 3 )
其中,v(ω)=[1e-jωe-j2ω...e-jNω],N为滤波器阶数,Hd(ω)代表滤波器的理想幅度响应,Ch经过贪婪算法优化最终得到,ΩI表示所研究的频率段。
上述步骤(1)通过Remezexchange算法得到具有无限字长的FIR滤波器系数向量g。
步骤(1)中,对g中的元素按照绝对值从大到小的顺序进行排序时,保存排序前与排序后滤波器系数的对应性,方便后续步骤中进行相应的SPT分配。
步骤(2)中,对向量h进行截断处理的方法如下,p用来指定滤波器系数增益空间□={q1,q2,q3...qP}中的q值,m用来表示所用的SPT项数量,k用来指定2的幂,集合□1与□2用来存储待分配SPT项的系数的序号,向量e中任一元素可用e(i)表示,i∈{1,2,...},集合□1与□2中的元素可分别用j1、j2来指定;
步骤2-1:初始化p=0;
步骤2-2:p=p+1,计算e=qph,初始化m=0,k=0以及矩阵C=[0]N×2K
步骤2-3:k=k+1,计算n只是一个中间变量,用来表示从k+1到K的取值,并初始化
步骤2-4:对于
(4)如果e(i)>2-k或|2-k-e(i)|≤|sum-e(i)|,□1=□1∪{i};
(5)如果e(i)<-2-k或|-2-k-e(i)|≤|-sum-e(i)|,□2=□2∪{i};
步骤2-5:
(6)如果M-m≥|□1|+|□2|,对于C(j1,k+K)=1,e(j1)=e(j1)-2-k
对于C(j2,k)=1,e(j2)=e(j2)+2-k,m=m+|□1|+□2|;
(7)如果M-m<|□1|+|□2|,对e中元素按照绝对值大小排序得e',在e'中从前到后选出M-m个系数,分配SPT项,若此时p<P,转到步骤2-2,否则终止算法;
步骤2-6:如果k<K,转至步骤2-3;
步骤2-7:如果p<P,转至步骤2-2;否则,终止算法。
步骤(4)中,基于C的对称性,只考虑中可调部分,记为A,表示前A行,式(3)可转换为以下求解步骤:
步骤4-1:计算幅度响应以及最大幅度响应误差 Δ M = m a x ω ∈ Ω I | H ( ω ) - q 0 H d ( ω ) | 及其对应的频率点ωM
步骤4-2:初始化k=0,r=1,k表示取矩阵C的特定列,r表示取矩阵C的特定行;
步骤4-3:k=k+1,若k=2K+1,则令k=1,r=r+1;首先对取反,并根据对称性修改m;
步骤4-4:计算此时的幅度响应误差和对应的频率点如果
且m≤M,则 Δ M = Δ ~ M , ω M = ω ~ M ; 否则,复原
步骤4-5:如果k=2K且r=A,终止算法;否则,转到步骤4-3。
本发明的有益效果如下:
本发明将具有SPT系数的滤波器SPT项计算效率与设计误差进行联合考虑,滤波器系数截断步骤大幅度提高了SPT项分配的效率,在每次循环中并不只分配一个SPT项,而是寻找多个位置,同时分配多个SPT项;而贪婪算法步骤降低设计误差,在截断步骤基础上进一步改进滤波器的性能,降低Minimax误差,从而充分利用SPT项提升滤波器设计性能,因此本发明能达到较高的计算效率与良好的FIR滤波器设计效果。
附图说明
图1为本发明的工作流程图;
图2为本发明应用示例1中的线性相位低通滤波器幅度响应;
图3为本发明应用示例2中的线性相位高通滤波器幅度响应。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
一、模型建立
N阶FIR系统的传递函数由下式给出:
H ( z ) = Σ n = 0 N h n z - n - - - ( 1 )
其中,为FIR滤波器的冲激响应,即FIR滤波器系数。如果待设计FIR滤波器具有线性相位,那么其幅度响应可由下式计算所得
其中{νn(ω)}n表示三角函数,例如设计Ⅰ型线性相位FIR滤波器时,{νn(ω)}n为:
v n ( ω ) = 2 c o s ( N 2 - n ) ω , n = 0 , 1 = , ... , N 2 - 1 1 n = N 2 - - - ( 3 )
待设计滤波器需要满足以下约束条件:
其中δ为给定的误差门限,Hd(ω)代表滤波器的理想幅度响应。假设C(M)表示N×2K矩阵集合,其元素为0或1,K为不包括符号位的字长,且设为1的比特位总数应不超过M,若s=[-2-1-2-2...-2-K2-12-2...2-K]T,则FIR滤波器系数可表示为:h'=Cs,C∈C(M)。可以看到,FIR滤波器系数可由2的整数次幂之和计算所得,非常便于硬件实现。在给定字长情况下,SPT项分配的问题就成为了关于矩阵C的优化问题。设g为利用传统设计算法所获得的具有无限字长的最优滤波器系数向量,q为滤波器增益系数,q的取值空间为□。对于□中每个q,截断过程得到的Cq应与g具有最短的切比雪夫距离,即满足以下条件:
||Cqs-qg||=min||Cs-qg||,C∈C(M)(5)
其中||.||表示向量的无穷范数。然后,在预先设定的q的取值空间内,寻找最优的q0∈□,使其满足:
ρ(CqS)表示成本函数,即所需要的SPT项总数。截断过程得到的是我们应该运用贪婪算法来进一步处理的目标,通过调节来降低Minimax误差,因此,经最小化最大误差方法优化后得到的Ch应满足以下条件:
m a x | | s T C h T v ( ω ) | - q 0 H d ( ω ) | = m i n [ m a x ω ∈ Ω I | | s T C q 0 H v ( ω ) | - q 0 H d ( ω ) | ] - - - ( 7 )
其中v(ω)=[1e-jωe-j2ω...e-jNω],N为滤波器阶数,Hd(ω)代表滤波器的理想幅度响应,Ch由Cq0经过优化最终得到,ΩI表示我们感兴趣的频率段。
二、问题求解
首先得到具有无限字长的FIR滤波器系数向量g,对g中元素按照绝对值从大到小排序,得到排好序的向量h。
对无限字长滤波器系数向量g按照绝对值从大到小排序得到h时,保存排序前与排序后滤波器系数的对应性,方便后续步骤中进行相应的SPT分配。
为了提高截断步骤的效率,截断步骤在每次循环中并不只分配一个SPT项,而是寻找多个位置,同时分配多个SPT项,从而大幅度提高了分配效率。在对h进行截断处理时,分为以下步骤。
步骤2-1:初始化p=0。
步骤2-2:p=p+1,计算e=qph,初始化m=0,k=0以及矩阵C=[0]N×2K
步骤2-3:k=k+1,计算并初始化
步骤2-4:对于
(8)如果e(i)>2-k或|2-k-e(i)|≤|sum-e(i)|,□1=□1∪{i};
(9)如果e(i)<-2-k或|-2-k-e(i)|≤|-sum-e(i)|,□2=□2∪{i}。
步骤2-5:
(10)如果M-m≥|□1|+|□2|,对于C(j1,k+K)=1,e(j1)=e(j1)-2-k
对于C(j2,k)=1,e(j2)=e(j2)+2-k,m=m+|□1|+|□2|。
(11)如果M-m<|□1|+|□2|,对e中元素按照绝对值大小排序得e',在e'中从前到后选出M-m个系数,分配SPT项,若此时p<P,转到步骤2-2,否则终止算法。
步骤2-6:如果k<K,转至步骤2-3。
步骤2-7:如果p<P,转至步骤2-2;否则,终止算法。
依据式(12)选出使得所需SPT项最少的情况下所对应的增益q0以及
为了对设计模型式(13)进行方便求解,将其转换为以下求解方式:
利用贪婪算法对进行优化,在截断步骤基础上进一步改进滤波器的性能,降低Minimax误差,从而充分利用SPT项提升滤波器设计性能。可通过试探性的对中某一项进行取反(从0变为1或从1变为0)判断此时最大误差是否得到改进来决定是否对这一项进行调整,逐项遍历中的所有可调项。其可按以下步骤进行:
步骤4-1:计算幅度响应以及最大幅度响应误差
Δ M = m a x ω ∈ Ω I | H ( ω ) - q 0 H d ( ω ) | 及其对应的频率点ωM
步骤4-2:初始化k=0,r=1。
步骤4-3:k=k+1。若k=2K+1,则令k=1,r=r+1。首先对取反,并根据对称性修改m。
步骤4-4:计算此时的幅度响应误差和对应的频率点如果
且m≤M,则 Δ M = Δ ~ M , ω M = ω ~ M ; 否则,复原
步骤4-5:如果k=2K且r=A,终止算法;否则,转到步骤4-3。
三、设计示例
设计方法的可行性可用以下两个示例进行验证。所有设计均采用归一化频率,即二分之一采样频率对应于ω=π。
示例1:示例1为一线性相位低通滤波器设计,表1为示例1所用的各项参数,图2所示为线性相位低通滤波器的幅度响应,可以看到,在滤波器阶数较高情况下,该方法仍能取得良好的滤波器性能及较高的计算效率。
表1
表2
示例2:示例2为一线性相位高通滤波器设计,表2为示例2所用的各项参数,图3所示为线性相位高通滤波器的幅度响应,可以看到,在滤波器阶数较高情况下,该方法仍能取得良好的滤波器性能及较高的计算效率。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (5)

1.一种基于SPT系数的FIR滤波器优化方法,其特征在于,其包括以下步骤:
(1)首先得到具有无限字长的FIR滤波器系数向量g,对g中的元素按照绝对值从大到小的顺序进行排序,得到排好序的向量h;
(2)对向量h进行截断处理得到截断后的滤波器系数向量h',设定滤波器系数增益q取值空间对于计算增益后的滤波器系数向量e=qh;截断步骤在每次循环中同时分配多个SPT项;
截断后的滤波器系数向量h'可表示为:
h'=Cs,C∈C(M)(1)
其中,C为N×2K矩阵,其元素为0或1,N为滤波器阶数,K为除去符号位的字长,s=[-2-1-2-2...-2-K2-12-2...2-K]T,M为给定SPT总数;
(3)选出使得所需SPT项最少的情况下所对应的滤波器系数增益q0以及选择标准为:
ρ(Cqs)表示成本函数,即所需要的SPT项总数;
(4)利用贪婪算法对进行优化,通过试探性的对中其中的一项进行取反,判断此时最大误差是否得到改进,从而决定是否对这一项进行调整,逐项遍历中的所有可调项;
优化模型为:
m a x | | s T C h T v ( ω ) | - q 0 H d ( ω ) | = m i n [ m a x ω ∈ Ω I | | s T C q 0 T v ( ω ) | - q 0 H d ( ω ) | ] - - - ( 3 )
其中,v(ω)=[1e-jωe-j2ω...e-jNω],N为滤波器阶数,Hd(ω)代表滤波器的理想幅度响应,Ch经过贪婪算法优化最终得到,ΩI表示所研究的频率段。
2.根据权利要求1所述的基于SPT系数的FIR滤波器优化方法,其特征在于,步骤(1)中,通过Remezexchange算法得到具有无限字长的FIR滤波器系数向量g。
3.根据权利要求1所述的基于SPT系数的FIR滤波器优化方法,其特征在于,
步骤(1)中,对g中的元素按照绝对值从大到小的顺序进行排序时,保存排序前与排序后滤波器系数的对应性,方便后续步骤中进行相应的SPT分配。
4.根据权利要求1所述的基于SPT系数的FIR滤波器优化方法,其特征在于,
步骤(2)中,对向量h进行截断处理的方法如下,p用来指定滤波器系数增益空间中的q值,m用来表示所用的SPT项数量,k用来指定2的幂,集合用来存储待分配SPT项的系数的序号,向量e中任一元素可用e(i)表示,i∈{1,2,...},集合中的元素可分别用j1、j2来指定;
步骤2-1:初始化p=0;
步骤2-2:p=p+1,计算e=qph,初始化m=0,k=0以及矩阵C=[0]N×2K
步骤2-3:k=k+1,计算n只是一个中间变量,用来表示从k+1到K的取值,并初始化
步骤2-4:对于
(4)如果e(i)>2-k或|2-k-e(i)|≤|sum-e(i)|,
(5)如果e(i)<-2-k或|-2-k-e(i)|≤|-sum-e(i)|,
步骤2-5:
(6)如果对于C(j1,k+K)=1,e(j1)=e(j1)-2-k
对于C(j2,k)=1,e(j2)=e(j2)+2-k
(7)如果对e中元素按照绝对值大小排序得e',在e'中从前到后选出M-m个系数,分配SPT项,若此时p<P,转到步骤2-2,否则终止算法;
步骤2-6:如果k<K,转至步骤2-3;
步骤2-7:如果p<P,转至步骤2-2;否则,终止算法。
5.根据权利要求3所述的基于SPT系数的FIR滤波器优化方法,其特征在于,
步骤(4)中,基于C的对称性,只考虑中可调部分,记为A,表示前A行,式(3)可转换为以下求解步骤:
步骤4-1:计算幅度响应以及最大幅度响应误差 Δ M = m a x ω ∈ Ω I | H ( ω ) - q 0 H d ( ω ) | 及其对应的频率点ωM
步骤4-2:初始化k=0,r=1,k表示取矩阵C的特定列,r表示取矩阵C的特定行;
步骤4-3:k=k+1,若k=2K+1,则令k=1,r=r+1;首先对取反,并根据对称性修改m;
步骤4-4:计算此时的幅度响应误差和对应的频率点如果且m≤M,则 Δ M = Δ ~ M , ω M = ω ~ M ; 否则,复原
步骤4-5:如果k=2K且r=A,终止算法;否则,转到步骤4-3。
CN201510742451.7A 2015-11-04 2015-11-04 一种基于spt系数的fir滤波器优化方法 Expired - Fee Related CN105429610B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510742451.7A CN105429610B (zh) 2015-11-04 2015-11-04 一种基于spt系数的fir滤波器优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510742451.7A CN105429610B (zh) 2015-11-04 2015-11-04 一种基于spt系数的fir滤波器优化方法

Publications (2)

Publication Number Publication Date
CN105429610A true CN105429610A (zh) 2016-03-23
CN105429610B CN105429610B (zh) 2018-02-02

Family

ID=55507584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510742451.7A Expired - Fee Related CN105429610B (zh) 2015-11-04 2015-11-04 一种基于spt系数的fir滤波器优化方法

Country Status (1)

Country Link
CN (1) CN105429610B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106374879A (zh) * 2016-11-21 2017-02-01 河海大学常州校区 一种基于cse有效的fir滤波器优化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152012A (zh) * 2013-03-04 2013-06-12 河海大学常州校区 一种降低通带群延迟误差的fir滤波器设计方法
CN103746672A (zh) * 2013-12-20 2014-04-23 河海大学常州校区 离散系数fir滤波器优化设计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152012A (zh) * 2013-03-04 2013-06-12 河海大学常州校区 一种降低通带群延迟误差的fir滤波器设计方法
CN103746672A (zh) * 2013-12-20 2014-04-23 河海大学常州校区 离散系数fir滤波器优化设计方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHIA-YU YAO: "《The 2001 IEEE International Symposium on Circuits and Systems》", 9 September 2001 *
OSCAR GUSTAFSSON: "《First International Symposium on Control, Communications and Signal Processing, 2004》", 24 March 2004 *
施铃泉等: "基于稀疏表示的离散系数FIR滤波器设计", 《科学技术与工程》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106374879A (zh) * 2016-11-21 2017-02-01 河海大学常州校区 一种基于cse有效的fir滤波器优化方法

Also Published As

Publication number Publication date
CN105429610B (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
CN108390393B (zh) 配电网多目标无功优化方法及终端设备
CN104408179A (zh) 数据表中数据处理方法和装置
CN104392001B (zh) 数据库查询方法和装置
CN109165006B (zh) Softmax函数的设计优化及硬件实现方法及系统
CN107479856A (zh) 反正切函数数据结构及建立方法、函数值获取方法和装置
CN105429610A (zh) 一种基于spt系数的fir滤波器优化方法
Fukada Optimum filters of even orders with monotonic response
Hassani et al. A flexible method of LUT indexing in digital predistortion linearization of RF power amplifiers
CN109034384A (zh) 一种数据处理方法和装置
Hansen Transformations useful in certain antenna calculations
US8380773B2 (en) System and method for adaptive nonlinear filtering
CN107862381A (zh) 一种适用于多种卷积模式的fir滤波器实现
Sidi Numerical quadrature and nonlinear sequence transformations; unified rules for efficient computation of integrals with algebraic and logarithmic endpoint singularities
CN108429546A (zh) 一种混合型fir滤波器设计方法
CN114462714A (zh) 信息确定方法、装置及电子设备
CN110659286B (zh) 基于弱平衡空间树动态空间索引方法及其存储介质、装置
CN106208083A (zh) 一种获得统一潮流控制器配置的方法及装置
CN106505973A (zh) 一种n抽头的fir滤波器
CN105320656A (zh) 一种基于密度的文章聚合算法
CN101178611A (zh) 对数计算的实现方法及装置
CN105335784B (zh) 一种基于遗传算法的选择最优dsp系统软防护的方法
CN111384971A (zh) 有限域中的数据处理方法、装置和解码器
Bennett A new filter synthesis technique-the hourglass
Frisch A stability criterion for tunnel diodes
CN112491392B (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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180202

Termination date: 20211104

CF01 Termination of patent right due to non-payment of annual fee