一种拥有自由随机结构的无乘法IIR数字滤波器的设计方法与流程

文档序号:15566577发布日期:2018-09-29 03:28阅读:192来源:国知局

本发明涉及数字滤波器设计的技术领域,尤其涉及一种拥有自由随机结构的无乘法iir数字滤波器的设计方法。



背景技术:

近年来,随着信息科学技术的发展,数字滤波器在电子信息领域扮演着越来越重要的角色。数字滤波器因其高精度、易于集成、性能稳定,被广泛应用于图形处理、电子通信、航空、军事、生物医疗等各个领域。由于数字滤波器强大的数字信号处理能力,它在信息传输领域发挥着无可替代的作用。

数字滤波器由基本的逻辑元器件(乘法器、加法器、延时器)组成,可以对信号的频率成分进行选择,传输所需的频段信号,过滤干扰噪声。但由于数字滤波器含有乘法器,硬件构成复杂,实现困难,同时乘法器的运算特性也限制了数字滤波器的运算速度。为了保证数字滤波器能够在复杂的工作环境里对信号进行实时高速处理,无乘法数字滤波器设计成为了解决问题的关键。现有的无乘法数字滤波器设计是基于已知的经典数字滤波器结构,然后对数字滤波器中的乘法器系数量化为二次幂的和或差,这种方法设计的无乘法数字滤波器结构固定,不能满足滤波器的结构要求,而且设计的无乘法数字滤波器性能并不理想。已经被授权的无乘法器的数字滤波的发明(申请号为cn99809386.6)是基于硬件电路进行fir滤波设计,通过比特组块硬件电路实现无乘法器的数字滤波,这种方案存在电路硬件实现复杂、精度不高等缺陷。



技术实现要素:

针对现有无乘法数字滤波的电路硬件实现复杂、精度不高,不能满足滤波器的结构要求的技术问题,本发明提出一种拥有自由随机结构的无乘法iir数字滤波器的设计方法,得到了性能理想、结构稳定、信号处理速度快、拥有自由随机结构的无乘法iir数字滤波器,通过可编程的数字芯片能够实现各种滤波功能,可广泛应用于各种信号通信领域。

为了达到上述目的,本发明的技术方案是这样实现的:一种拥有自由随机结构的无乘法iir数字滤波器的设计方法,其步骤如下:

步骤一:生成无乘法数字滤波器结构:设计包含有延时器、移位器和加法器的子系统;初始化只有输入端和输出端的数字滤波器系统,将初始的数字滤波器系统输入端设置为第一个活动点,将子系统视作基本单元,根据生成指令,将子系统依次添加到数字滤波器系统中,直至到输出端为止,形成一个完整的无乘法数字滤波器结构;

步骤二:优化无乘法数字滤波器:采用二进制编码方式对生成指令按序连接形成的指令序列进行编码,计算无乘法数字滤波器的适应度,利用演化算法对指令序列进行优化,通过优化的指令序列生成性能更好的无乘法数字滤波器;

步骤三:将优化后的无乘法数字滤波器的结构、幅频响应、相频响应和适应度变化的数据以文件的形式保存下来,然后利用matlab软件对以上这些数据文件进行仿真,验证其性能。

所述演化算法采用sps-de算法、遗传算法ga、粒子群算法pso、差分进化算法de、模拟退化算法sa或蚁群算法aco的智能演化算法。

所述子系统为二阶子系统,二阶子系统包括2个延时器、4个移位器和3个加法器,二阶子系统的输入信号与加法器ii相连接,加法器ii的输出端分别与延时器i和移位器c相连接,延时器i分别与移位器a、延时器ii和移位器d相连接,延时器ii与移位器b相连接,移位器a的输出端和移位器b的输出端与加法器i相连接,加法器i的输出端与加法器ii相连接,移位器c和移位器d的输出端均与加法器iii相连接,加法器iii的输出信号为二阶子系统的输出信号。

所述生成指令包含了子系统的连接方式、子系统中移位器的参数、子系统的输入端子和输出端子的编号,生成指令包括四种指令连接类型,每种连接类型控制着一种子系统的连接方式,依照不同的连接类型,子系统的输入端和输出端被分别连接到相应的节点编号。

所述生成指令的四种指令连接类型分别为:连接新的活动点t1,连接先前的节点t2、连接系统的输入端t3,连接系统的输出端t4;连接新的活动点t1指令表示新添加的子系统的输入端被连接到当前的活动点,其输出端被连接到新产生的活动点上;连接新的活动点t1指令执行完成后,活动点改变,新产生的节点变为活动点,活动点编号为当前的活动点编号加1,当前的活动点变为普通节点;连接先前的节点t2指令表示新添加的子系统输入端被连接到先前的节点、输出端被连接到当前的活动点;连接系统的输入端t3指令表示新添加的子系统的输入端被连接到系统的输入端、输出端被连接到当前的活动点;连接系统的输出端t4指令表示新添加的子系统输入端被连接到当前的活动点、输出端被连接到系统的输出端。

在完整的无乘法数字滤波器结构生成后,对无乘法数字滤波器的结构进行检查,无乘法数字滤波器的结构中某个节点如果有多个输入和一个输出,这个节点使用加法器进行替换。

所述生成指令由指令类型t、子系统的输入端编号i、子系统的输出端编号o和子系统的参数p四部分构成;指令类型t包含四种指令连接类型;依据指令连接类型,子系统的输入端编号i和o的编号值被确定,子系统的输入端和输出端被连接到相应编号的节点;子系统的参数p代表了子系统中移位器的参数值。

所述无乘法数字滤波器的适应度为设计数字滤波器的幅频响应和目标数字滤波器的幅频响应在采样点上的均方差:

其中,f表示适应度函数,x表示采样点的个数,h(i)表示实际设计的无乘法数字滤波器的幅频响应在第i个采样点上的函数值,t(i)表示设定目标的无乘法数字滤波器的幅频响应在第i个采样点上的函数值;其中,无乘法数字滤波器的幅频响应利用传递函数表示,传递函数通过梅逊公式得到:

其中,h(s)表示传递函数,pk代表的是第k条前向通路的增益,△k表示第k条前向通路的余因子式,△表示的是信号流图特征式。

所述演化算法采用sps-de算法实现,sps-de算法为在改进型的de算法中加入父代成功个体选择机制,当种群停滞被检测到时,选择成功的父代个体对种群中停滞的个体进行替换,具体实现方法为:采用单点交叉,在两个不同个体的相同编号节点间进行交叉,实现两个无乘法滤波器之间的结构互换;完成交叉后,对种群进行选择,其中较好的个体进入下一代继续进行优化;种群每一次迭代完成后会检测种群是否停滞,通过计算第g代种群中近来连续未成功进化个体的数目对停滞程度进行评估,公式如下:

其中,q(g)和q(g+1)分别表示第g代和第g+1代种群中近来连续未成功进化个体的数目,xj(g)表示第g代第j个个体,f(xj(g))表示个体xj(g)的适应度,uj(g)表示对个体xj(g)进行交叉后生成的试验向量,f(uj(g))表示试验向量uj(g)的适应度;

如果第g+1代种群中近来连续未成功进化个体的数目q(g+1)超过了一个不可接受的停滞容忍度q,此时种群被定义为停滞;种群停滞时,从储存成功父代个体的库里选择成功的个体对停滞的个体进行替换,成功父代个体p(g)的来源被表示如下:

其中,pg代表第g代种群,a代表近来连续成功升级个体的库。

所述sps-de算法优化无乘法数字滤波器结构的步骤如下:

s1:随机生成m个指令序列,每个指令序列代表了一个无乘法数字滤波器的结构,指令序列被二进制编码作目标向量;

s2:计算目标向量的适应度,判断是否满足达到设计要求或达到迭代次数的条件;如果满足,则输出最佳结果,否则,执行s3;

s3:对种群实行变异生成变异向量;

s4:对变异后的种群执行交叉操作生成试验向量;

s5:从目标向量和试验向量中选择出最佳的个体进入下一代;

s6:判断种群进化是否出现停滞并且启动父代成功个体选择机制,然后返回步骤s2。

本发明的有益效果:提出了一种稳定的二阶子系统,并设计了生成指令;然后根据生成指令,将子系统视作基本单元依次按序连接形成一个完整的无乘法数字滤波器结构;最后,通过演化算法对无乘法数字滤波器的结构进行优化,并得到了性能理想的拥有自由随机结构的无乘法iir数字滤波器。本发明通过设计的生成指令可以设计出结构自由随机的iir无乘法数字滤波器,通过演化算法对无乘法数字滤波器的结构进行优化使无乘法滤波器的性能得到提升;设计的无乘法iir数字滤波器结构稳定,性能良好,信号处理速度快,通过可编程的数字芯片能够实现各种滤波功能,可广泛应用于各种信号通信领域,为无乘法iir数字滤波器的设计开辟了新的思路。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明二阶子系统的结构图。

图2为无乘法数字滤波器的初始系统。

图3为指令连接类型的执行示意图。

图4为生成指令的二进制编码结构。

图5为表2中指令序列对应的无乘法数字滤波器的结构。

图6为无乘法数字滤波器的适应度的计算流程。

图7为通过本发明设计的低通无乘法iir数字滤波器的幅频响应。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种拥有自由随机结构的无乘法iir数字滤波器的设计方法,设计拥有稳定的随机结构且性能优良的无乘法iir数字滤波器,其步骤如下:

步骤一:生成无乘法数字滤波器结构:设计包含有延时器、移位器和加法器的子系统;初始化只有输入端和输出端的数字滤波器系统,将将初始的数字滤波器系统输入端设置为第一个活动点,将子系统视作基本单元,根据生成指令,将子系统依次添加到数字滤波器系统中,直至到输出端为止,形成一个完整的无乘法数字滤波器结构。

所述子系统为二阶子系统,如图1所示为本发明提出的二阶子系统。二阶子系统包括2个延时器、4个移位器和3个加法器,图1中a、b、c和d表示子系统中的四个移位器,z-1代表延时器,3个黑点表示加法器,箭头代表信号流的方向。二阶子系统的输入信号与加法器ii相连接,加法器ii的输出端分别与延时器i和移位器c相连接,延时器i分别与移位器a、延时器ii和移位器d相连接,延时器ii与移位器b相连接,移位器a的输出端和移位器b的输出端与加法器i相连接,加法器i的输出端与加法器ii相连接,移位器c和移位器d的输出端均与加法器iii相连接,加法器iii的输出信号为二阶子系统的输出信号。

在本发明中,因子系统含有移位器,在构成无乘法数字滤波器时可以直接产生具有二次幂特性的系数,无需对系数进行量化,并且可以通过对a、b、c和d四个移位器的参数范围进行控制,使设计的无乘法数字滤波器结构稳定。

首先,生成无乘法数字滤波器的结构,在无乘法数字滤波器生成过程中,最开始的数字滤波器系统仅有输入端和输出端,初始的无乘法数字滤波器系统如图2所示。本发明将二阶子系统视作基本单元,从滤波器系统的输入端开始,依照生成指令将子系统依次添加到数字滤波器系统中,直至到输出端为止,子系统的个数可以自由设置。其中生成指令控制着子系统如何被添加到数字滤波器系统中,它包含了子系统的连接方式、子系统中移位器的参数、子系统的输入端子和输出端子的编号这些重要信息。无乘法数字滤波器的结构生成指令有四种连接类型:连接新的活动点t1、连接先前的节点t2、连接系统的输入端t3和连接系统的输出端t4,这四种连接类型如表1所示。

表1生成指令的连接类型

每种连接类型控制着一种子系统的连接方式,依照不同的连接类型,子系统的输入端和输出端被分别连接到相应的节点编号。初始的数字滤波器系统只有输入端和输出端,并分别编号为1和0。将初始的数字滤波器系统输入端设置为第一个活动点,活动点是无乘法数字滤波器生成系统中唯一的结构增长点,也就是说即将添加的子系统的输入端和输出端其中一个端口必须要连接到当前的活动点上。每一种连接类型产生的概率可以进行自由设置,根据连接类型,子系统被依次连接构建出一个完整的无乘法数字滤波器结构。t1指令表示新添加的子系统的输入端被连接到当前的活动点,其输出端被连接到新产生的活动点上。指令执行完成后,活动点改变,新产生的节点变为活动点,其编号为当前的活动点编号加1,当前的活动点变为普通节点。t2指令表示新添加的子系统输入端被连接到先前的节点,而输出端被连接到当前的活动点。t3指令表示新添加的子系统的输入端和输出端被分别连接到系统的输入端和当前的活动点。t4指令表示新添加的子系统输入端和输出端被分别连接到当前的活动点和系统的输出端。在这四种连接类型中,只有执行完t1指令后活动点发生改变,t2指令、t3指令和t4指令执行完成后活动点不发生改变。t1指令和t2指令的执行过程分别如图3中的(a)和(b)所示,t1指令的执行中二阶子系统连接在正在生成滤波器的结构后方,当前活动点变成普通活动点,二阶子系统的输出端变为当前活动点;t2指令的执行中二阶子系统的输入端和输出端分别与正在生成滤波器结构的输出端、当前活动点相连接。在完整的无乘法数字滤波器结构生成后,对无乘法数字滤波器的结构进行检查,结构中某个节点如果有多个输入和一个输出,这个节点使用加法器进行替换。

步骤二:优化无乘法数字滤波器:采用二进制编码方式对生成指令按序连接形成的指令序列进行编码,计算无乘法数字滤波器的适应度,利用演化算法对指令序列进行优化,通过优化的指令序列生成性能更好的无乘法数字滤波器。

优化无乘法数字滤波器需要对对无乘法数字滤波器结构进行编码,为了使设计的无乘法数字滤波器能够运用演化算法进行结构优化,本发明采用二进制编码方式对生成指令进行编码。生成指令由4部分构成:指令类型t、子系统的输入端编号i、子系统的输出端编号o和子系统的参数p,这4部分值可以根据设计需求自由设定,其结构如图4所示,t、i、o和p依次排列成一个向量。其中,t包含了t1指令、t2指令、t3指令和t4指令这四种指令连接类型,依据指令连接类型,i和o的编号值被确定,子系统的输入端和输出端被连接到相应编号的节点,p代表了子系统中四个移位器a、b、c和d的参数值,如图1所示。其中,在执行t2指令时,子系统的输入端编号i为1到当前的活动点编号之间的一个随机数。每一个生成指令依照其产生的先后顺序顺次连接就构成了一个指令序列,每一个指令序列表示一个无乘法数字滤波器的结构。表2给出了一个指令序列的示例。

表2指令序列示例

表2中的指令序列由5个生成指令组成,表格的第1列表示生成指令的生成序号;表格的第5列代表子系统的参数值,其中字母与数字的组合表示移位器,l和r分别代表左和右,数字代表移位器的位数,+和-代表数值的正和负,例如+r3表示一个正数向右移3位,-l2表示一个负数向左移动2位;表格的第6列代表子系统的编号,例如对应第一条生成指令的子系统编号为s1。表2中的指令序列对应的无乘法数字滤波器结构如图5中。图5中的无乘法数字滤波器结构由5个子系统s1、s2、s3、s4和s5构成,箭头的方向代表信号的流向;无乘法数字滤波器系统的输入和输出分别用x(n)和y(n)表示,并编号为1和0;主干路上的黑点表示普通的节点,下方的数字表示其编号,包括编号2和编号3。由图5和表2可以看出,编号1和2之间设有子系统s1,编号2和3之间设有并联的子系统s2和子系统s3,编号1和4之间设有并联的子系统s4,编号3和0之间设有子系统s5。其中编号为3的节点有3个输入和1个输出,用加法器替换。图5中的无乘法数字滤波器结构一共包含了10个延时器,20个移位器和16个加法器。

最后,利用演化算法对无乘法数字滤波器的指令序列进行优化。演化算法采用sps-de算法、遗传算法ga、粒子群算法pso、差分进化算法de、模拟退化算法sa或蚁群算法aco等智能演化算法,且不限于这几种算法。无乘法数字滤波器的系统传递函数可以通过梅逊公式得到,公式如下:

公式(1)中,h(s)表示传递函数,pk代表的是第k条前向通路的增益,△k表示第k条前向通路的余因子式,△表示的是信号流图特征式。无乘法数字滤波器的幅频响应可以利用传递函数表示,通过计算设计的数字滤波器的幅频响应和目标数字滤波器的幅频响应在采样点上的均方差对无乘法数字滤波器的适应度进行表示:

公式(2)中,f表示适应度函数,x表示采样点的个数,h表示实际设计的无乘法数字滤波器的幅频响应,t表示设定目标的无乘法数字滤波器的幅频响应,h(i)和t(i)分别表示其在第i个采样点上的函数值。无乘法数字滤波器的适应度计算流程如图6所示,计算生成的数字滤波器的幅频响应,然后在幅频响应上进行采样,最后计算适应度。

在利用演化算法优化无乘法数字滤波器的过程中,本发明选用sps-de算法作为示例进行描述,sps-de算法是一种改进型的de算法,加入了父代成功个体选择机制sps,当种群停滞被检测到时,选择成功的父代个体对种群中停滞的个体进行替换。具体实现方法为:首先,对种群进行初始化,每一个个体对应一个指令序列;然后利用适应度函数对个体进行评估,如果满足目标条件则输出最佳个体;否则,执行下一步对种群进行变异操作。

sps-de算法采用差分策略从种群中随机选出3个不同的个体进行变异操作;然后接着对变异后的种群进行交叉操作。本发明采用单点交叉,也就是在两个不同个体的相同编号节点间进行交叉,实现两个滤波器之间的结构互换。完成交叉后,对种群进行选择,其中较好的个体进入下一代继续进行优化。由于sps-de加入了sps机制。所以种群每一次迭代完成后,就会检测种群是否停滞。通过计算第g代种群中近来连续未成功进化个体的数目对停滞程度进行评估。公式如下:

其中q(g)、q(g+1)分别表示第g代和第g+1代种群中近来连续未成功进化个体的数目,xj(g)表示第g代第j个个体,f(xj(g))表示个体xj(g)的适应度,uj(g)表示对个体xj(g)进行交叉后生成的试验向量,f(uj(g))表示试验向量uj(g)的适应度。如果q(g+1)的值超过了一个不可接受的停滞容忍度q,此时种群被定义为停滞。种群停滞时,sps机制会从储存成功父代个体的库里选择成功的个体对停滞的个体进行替换。成功父代个体p(g)的来源被表示如下:

其中,pg代表第g代种群,a代表近来连续成功升级个体的库。

sps-de优化无乘法数字滤波器结构的总体流程如下:

s1随机生成m个指令序列,每个指令序列代表了一个无乘法数字滤波器的结构,这些指令序列被编码作目标向量。

s2计算目标向量的适应度,判断是否满足条件(达到设计要求或达到迭代次数)。如果满足,则输出最佳结果,否则,执行s3。

s3对种群实行变异生成变异向量。

s4对变异后的种群执行交叉操作生成试验向量。

s5从目标向量和试验向量中选择出最佳的个体进入下一代。

s6判断种群进化是否出现停滞并且启动sps机制,然后返回步骤s2。

步骤三:将优化后的无乘法数字滤波器的结构、幅频响应、相频响应和适应度变化的数据以文件的形式保存下来,然后利用matlab软件对以上这些数据文件进行仿真,验证其性能。

本发明算法实现使用的是visualstudio2015软件开发工具,运行环境为windows。仿真软件为matlab2014,运行环境为windows。演化算法对无乘法数字滤波器结构优化完成后,无乘法数字滤波器的幅频响应数据、相频数据、适应度变化、结构数据都会被进行保存;然后基于这些数据通过matlab进行仿真实现。图7为本发明设计的通带截止频率0.7π,阻带截止频率0.9π的低通无乘法数字滤波器的幅频响应。由图7可知,本发明设计的低通无乘法数字滤波器通带波纹平稳,阻带衰减达到了-65db以下,滤波器性能达到了设计要求。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1