具体实施方式
本发明公开了一种基于等噪声的电平量化方法及其实现装置,该方法包括:
接收输入信号,该输入信号由发送端发出;
获取N的初始值,根据x0和N计算出第1个分层电平x1和第1个量化电平其中,第0个分层电平x0取量化器的输入信号中的最小值,N为一个量化间隔内的量化噪声功率;
基于上述计算结果通过迭代运算计算出第1~L-1个分层电平{x1,x2,…xL-1}和第1~L~1个量化电平其中,L为量化器的目标量化电平数;
根据计算出的xL-1和第L个分层电平xL计算出第L个量化电平和最后一个量化间隔的量化噪声NQL,并将(NQL—N)的绝对值与NΔ进行比较,其中,xL取量化器的输入信号中的最大值;
在NQL—N<—NΔ时,将N下调预设的调整步长后,以及,在NQL—N>NΔ时,将N上调预设的调整步长后,开始新一轮的迭代运算,求出新的一组第1~L个分层电平{x1,x2,…xL}和第1~L个量化电平继续迭代运算;
否则,停止迭代运算,其中,NΔ为算法收敛因子,将当前的一组分层电平{x1,x2,…xL}和量化电平输出至数据压缩设备,对传输数据(即分层电平和量化电平)进行压缩。
本发明实施例通过简化输入信号的量化流程,去除输入信号中的冗余,节省了量化流程的执行时间,从而有效提高了系统的有效性,进一步地,也使得在后续操作中能够更快地实现传输数据的压缩,在保证信号质量的同时,加速系统对输入信号的处理速率,提高系统的性能,从而保证在有限的通信容量下,能够传输更多的信号。
本发明实施例给出的一种基于等噪声的电平量化方法,其核心思想是在给定输入信号概率密度p(x),以及量化电平数L的条件下,求出一组最佳的分层电平{xl}和量化电平使每个量化分层内的量化噪声功率大致相等,即NQ1≈NQ2≈…NQL,其中,
即NQl等于的平方与p(x)的乘积在区间(xl-1,xl)上的积分,
其中,NQl为第l个量化分层内的量化噪声功率;xl-1为第l-1个分层电平,xl为第l个分层电平,x为落入量化间隔(xl-1,xl)的输入信号,为与与量化间隔(xl-1,xl)对应的量化电平,p(x)为x的概率密度。
研究结果表明,采用这种方法设计的量化器能使整个量化噪声功率Nq达到最小,即能达到理论上最优量化器的性能。
下面结合附图和实施例,对本发明设计的基于等噪声的电平量化方法作进一步详细描述,该算法采用迭代法求得{xl}和的数值解。
如图2所示,假设量化电平数为L,则需要求解的分层电平为{xk},k=0,1,…,L,量化电平为k=1,2,…,L,k为需要求解的分层电平和对应的量化电平的序号。
假定输入量化器的变量x的最大值为xmax,最小值为xmin,令x0=xmin,xL=xmax的技术方案如下:
S 1:设置N、NΔ和δ1的初始值。
其中,N为表示量化噪声功率的变量,NΔ为算法收敛因子;δ1为预设的第一次循环中N值的调整步长,根据实际情况采用预先设置的初始值。
δi为第i次循环中N值的调整步长,δi>0表示上调,δi<0表示下调,在每次循环中设置合理的δi,能减少循环次数,较快的得到最优解,δi的确定方案不限定于在图3中本发明实施例提供的具体确定方案。
S2:令NQl=N,根据NQl和上一步骤中计算出的xl-1,由公式(2)和公式(3)计算xl和其中,2<l<L,则可分别求出{x3,x4…xL-1}和
为了避免N值设置过大,减少运行时间,可以在计算下一个分层电平和下一个量化电平之前先做一个判断:
令xl_temp=xL,由公式(2)和公式(3)计算该条件下的量化噪声功率NQ_temp,如果判断出NQ_temp≤N,则说明N值设置过大,将N值下调一个调整步长δi,返回步骤S2开始之前;
否则,直接根据xl-1和NQl,由公式(2)、公式(3)计算xl和然后计算下一个分层电平和下一个量化电平。
步骤S2的具体过程如下:
令NQ1=N,根据x0和NQ1,由公式(2)、公式(3)计算第1个分层电平x1和第1个量化电平 然后计算第2个分层电平和第2个量化电平。
为了避免N值设置过大,减少运行时间,可以在计算第2个分层电平和第2个量化电平之前先做一个判断:令x1_temp=xmax,由公式(2)、公式(3)计算该条件下的量化噪声功率NQ_temp,如果判断出NQ_temp≤N,则说明N值设置过大,将N值下调一个调整步长δi,返回步骤2开始之前;
否则,直接根据x0和NQ1,由公式(2)、公式(3)计算x1和然后计算第2个分层电平和第2个量化电平。
令NQ2=N,根据NQ2和之前计算计算出的x1,由公式(2)、公式(3)计算x2和 然后计算第3个分层电平和第3个量化电平。
同样,为了避免N值设置过大,减少运行算,可以然后计算第3个分层电平和第3个量化电平之前先做一个判断:
令x2_temp=xmax,由公式(2)、公式(3)计算该条件下的量化噪声功率NQ_temp,
如果判断出NQ_temp≤N,则说明N值设置过大,将N值下调一个调整步长δi,返回步骤2开始之前;否则,根据NQ2和步骤而中计算出的x1,由公式(2)、公式(3)计算x2和然后计算第3个分层电平和第3个量化电平之前。
根据上述步骤,可依次分别求出{x3,x4…xL-1}和
S3:根据xL-1和xL,xL=xmax,由公式(2)计算
即
再根据公式(3)计算量化噪声功率NQ_temp,判断NQ_temp与N的差值关系,
如果判断出(NQ_temp-N)<-NΔ,说明N值设置过大,将N值下调一个调整步长δi,返回步骤2开始之前;
如果(NQ_temp-N)>NΔ,说明N值设置过小,将N值上调一个调整步长δi,返回步骤2开始之前;
否则,结束循环,保存上述计算过程中得到的{x1,x2,…xL}和
本次循环得到的{x1,x2,…xL}和是在给定算法收敛因子NΔ下的最佳解,不断减小NΔ,重复上述步骤S1-S3,可得到不同NΔ值下的最佳解,NΔ越小,所得到的解更优,具体NΔ值可以根据仿真或者实际情况确定,这里不做限定。
下面结合附图1说明本发明设计的实施例的一种情况。
步骤101:初始化N、NΔ和δ1的值,并设置此时循环次数i=0,其中,NΔ为算法收敛因子,δ1为预设的第一次循环中N值的调整步长,N为量化噪声功率。
步骤102:通过i=i+1,使得每进行一次循环时将循环次数i加一。
步骤103:令k=0,k为需要求解的分层电平和对应的量化电平的序号。
步骤104:k=k+1。
步骤105:根据xk-1计算此时的量化噪声功率NQ_temp,
其中,xmax为输入量化器的变量x的最大值,即量化器的输入信号的最大值。
步骤106:判断NQ_temp是否小于等于N,若是,则进行步骤114,否则,进行步骤107。
步骤107:根据xk-1和NQk=N,
由 计算xk和
步骤108:判断k是否等于L-1,若是,进行步骤109,否则,返回步骤103。
步骤109:根据xL-1和xL(xL=xmax)由公式计算
步骤110:根据xL-1、xL=xmax和步骤109中计算出的计算量化噪声功率NQ_temp,其中,
步骤112:判断|NQ_temp-N|(即(NQ_temp-N)的绝对值)是否小于等于NΔ:若是,进行步骤116;否则进行步骤113。
步骤113:判断(NQ_temp-N)的值是否大于NΔ:若是,进行步骤115;否则进行步骤114。
步骤114:将N下调一个调整步长,即N=N-|δi|,然后,返回步骤102,其中δi为第i次中的对N的调整步长,其绝对值为|δi|。
步骤115:将N上调一个调整步长,即N=N+|δi|,然后,返回步骤102,其中δi为第i次中的对N的调整步长,其绝对值为|δi|。
步骤116:将上述过程中计算出的x1,x2,…xL保存入集合{x1,x2,…xL},将上述过程中计算出的保存入集合
在每次循环中设置合理的δi,能减少循环次数,较快的得到最优解,本发明不限定上述等噪声量化器采用的确定δi的具体方法,这里只是给出了其中一种δi的确定方法。
本发明实施例设计的一种δi的确定方法,如图3所示,具体包括:
步骤301:设定初始调整步长δ1为stepN_initial,判断此次对量化噪声功率N值的调整是否为首次调整:
步骤302:如果是首次调整,该次循环的调整步长为初始调整步长,即stepN(i)=stepN_initial,为预先设定的初始值,
其中,i为大于1的正整数。
步骤303:如果不是首次调整,设本次调整在第i次循环中,判断本次调整之前所有对N值的调整是否均为上调或者下调:
若之前所有的调整均为上调,并且本次调整也被指示上调,或者,之前所有的调整均为下调,并且本次调整也被指示下调,则本次循环的调整步长与上次调整相同,即:stepN(i)=stepN(i-1),
步骤304:其余情况,本次调整的调整步长为上次的调整步长的一半,即stepN(i)=stepN(i-1)/2。
基于上述基于等噪声的量化算法,本发明实施例设计了一种基于等噪声的最优量化器如图4所示,包括:
获取模块401,获取模块,用于获取输入信号、一个量化间隔内的量化噪声功率N的初始值、量化器的目标量化电平数L和算法收敛因子NΔ,以及将x0的值设置为量化器的输入信号中的最小值,将xL的值设置为量化器的输入信号中的最大值;
运算模块402,用于根据x0和N计算出第1个分层电平x1和第1个量化电平x1,并且基于上述计算结果通过迭代运算计算出第L个量化电平和第L个量化噪声功率NQL,以及将(NQL—N)的绝对值与NΔ进行比较,在|NQL—N|>NΔ时,开始新一轮的迭代运算,在|NQL—N|≤NΔ时,停止迭代运算,将当前的一组分层电平{x1,x2,…xL}和量化电平输出至数据压缩设备,对传输数据(即分层电平和量化电平)进行压缩。
本发明实施例设计的量化器简化了其内部结构以及输入信号的量化流程,这样,该量化器既去除输入信号中的冗余,又节省了量化流程的执行时间,从而有效提高了系统的有效性,进一步地,也使得数据压缩设备在后续操作中能够更快地实现传输数据的压缩,在保证信号质量的同时,加速系统对输入信号的处理速率,提高系统的性能,从而保证在有限的通信容量下,能够传输更多的信号。
并且该获取模块401进一步用于,在|NQL—N|>NΔ时,开始新一轮的迭代运算之前,
若NQL—N<—NΔ,将N下调预设的调整步长,
若在NQL—N>NΔ,将N上调预设的调整步长。
该运算模块402进一步用于,令第l个量化噪声功率NQl=N,根据NQl和第l-1个分层电平xl-1,通过公式(即等于x与p(x)的乘积在区间(xl-1,xl)的积分除以p(x)在区间(xl-1,xl)的积分)和(即NQl等于的平方与p(x)的乘积在区间(xl-1,xl)上的积分)分别计算第l个分层电平xl和第l个量化电平其中,1≤l<L-1,p(x)为输入信号x的概率密度,以及,在l=L时,根据xL以及之前计算出的xL-1通过公式和(即第L个量化电平和x与p(x)的乘积在区间(xL-1,xL)的积分成正比,与p(x)在区间(xL-1,xL)的积分成反比,以及第L个量化电平和x与p(x)的乘积在区间(xL-1,xL)的积分成正比,与p(x)在区间(xL-1,xL)的积分成反比)分别计算和NQL。
在上述所有的公式中xl为第l个分层电平,x为落入量化间隔(xl-1,xl)的输入信号,为与与量化间隔(xl-1,xl)对应的量化电平,p(x)为x的概率密度。
该运算模块402还进一步用于采用预设的调整步长对N进行调整,包括:
若为首次对N进行调整,运算模块402则将预设的调整步长设置为预先设定的初始值;
若为第i次对N进行调整,运算模块402则判断第1至i次调整是否均为上调或均为下调,若是,将预设的调整步长设置为与第i-1次调整相同的值,否则,将预设的调整步长设置为第i-1次的一半,其中i为大于1的正整数。
综上所述,本发明实施例在迭代运算的每轮循环中对量化间隔内的量化噪声功率的值进行校正,求出该量化噪声下的一组分层电平和量化电平,当每个量化间隔对应的量化噪声功率大致相等时,采用这组分层电平和量化电平得到的总量化噪声功率最小,即得到了最佳量化的效果,相比于基于LLOYD-MAX的最优量化器,本发明实施例设计的基于等噪声的最优量化器能简化量化器本身的结构,节约了量化过程的运算时间,并且易于实时实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。