用于依佛雷姆-玛拉赫滤波器的精确分段多项式近似的制作方法

文档序号:2822065阅读:417来源:国知局
专利名称:用于依佛雷姆-玛拉赫滤波器的精确分段多项式近似的制作方法
技术领域
本发明的实施方案涉及语音增强领域;尤其是用于依佛雷姆-玛拉赫(Ephraim-Malah)滤波器的精确逐段多项式近似。
背景技术
增强由不相关的附加噪音导致衰减的语音问题最近受到了很多关注。这是由于一个成功的语音增强系统可以有许多潜在的应用,同时还因为现有技术能够实现这种复杂的算法。
已经有报道说由依佛雷姆和玛拉赫提出的噪声抑制规则可以获得有效的噪声降低,这导致了依佛雷姆-玛拉赫滤波器权重公式。在一种方法中,原始的依佛雷姆-玛拉赫滤波器权重公式采用浮点实现方式加以实现。尽管这样的实现提供了足够的数据精度,但它在性能方面缺乏效率。在另一种方法中,已经采用传统的曲线拟合方法用定点实现方式实现了依佛雷姆-玛拉赫滤波器权重公式,例如带有泰勒公式的多项式近似。尽管这种实现在性能上提供了效率,但这种实现却缺乏数据精度。


通过参考下列描述和附图可以最好地理解本发明,附图用于图示本发明的实施方案。在附图中图1是基于依佛雷姆-玛拉赫滤波器的语音增强系统的示例性实施方案的框图。
图2是曲线分析的示例性实施方案的曲线图。
图3是带有区间映射的曲线分析的示例性实施方案的曲线图。
图4是描述多项式近似过程的误差结果的示例性实施方案的曲线图。
图5A是描述依佛雷姆-玛拉赫滤波器权重公式的精确分段多项式近似的示例性实施方案的框图。
图5B是描述数据格式的示例性实施方案的框图。
图6是描述用于执行增强的依佛雷姆-玛拉赫滤波器权重操作的过程逻辑的框图。
图7是描述增强的依佛雷姆-玛拉赫滤波器权重操作过程的示例性实施方案的流程图。
图8是描述可以用于执行增强的依佛雷姆-玛拉赫滤波器权重操作的示例性计算机系统的框图。
具体实施例方式
这里描述用于依佛雷姆-玛拉赫滤波器的精确分段多项式近似。在下面的描述中,会陈述大量的特定细节。但是,应该理解没有这些特定细节也可以实现本发明的实施方案。在其它实例中,并未详细列出那些众所周知的电路、设备和技术,以免模糊对本发明的理解。
下面对详细描述的一些部分会根据对计算机存储器中的数据位的操作的算法和符号表示来给出。数据处理领域的技术人员使用这些算法的描述和表示来最有效地把它们的工作的实质传达给本领域的其它技术人员。算法在这里通常被设想为一个可以产生预期结果的前后一致的操作序列。这些操作是指那些需要对物理量进行物理操作的操作。通常,尽管并非必须,这些量采用能够被进行存储、传送、组合、比较以及其它方式操作的电或磁信号的形式。已经证明,有时,主要是出于通用的原因,把这些信号称作位、数值、元素、符号、字符、项、数字等等是非常方便的。
但是,应该时刻记住,所有这些以及类似的术语都将与适当的物理量相关联,并且仅仅是用于这些量的方便的标记。附非特殊声明,否则就和从下面的论述中所看到的一样明显,即在整个描述中,采用诸如“处理”、“计算”、“计算出”、“确定”或“显示”等术语的论述都指的是计算机系统或类似的数据处理设备的动作和过程,它们操纵在计算机系统的寄存器和存储器中表示为物理(例如,电子)量的数据并把它们转换为同样表示成计算机系统存储器或寄存器或其它信息存储、传送或显示设备中的物理量的其它数据。
本发明的实施方案还涉及用于执行这里所描述的操作的设备。一个设备可以是为了所要求的目的而专门构造的,也可以包括由计算机中所存储的计算机程序有选择地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,例如(但并不局限于)包括软盘、光盘、CD-ROM和磁-光盘在内的任意类型的盘片、只读存储器(ROM)、像动态RAM(DRAM)、EPROM、EEPROM这样的随机存取存储器(RAM)、磁卡或光卡,或者适合存储电子指令的任意类型的介质,并且上述每种存储部件都和计算机系统总线相耦合。
这里所提出的算法和展示并非固定地与任意特定的计算机或其它设备相关。各种通用系统可以和符合这里的教义的程序一起使用,构造更专用的设备来执行这些方法或许会更方便一些。从下面的描述可以看出用于多种这样的系统的结构。另外,对本发明的实施方案的描述并不参考任何特定的编程语言。应该理解多种编程语言都可以用来实现这里所描述的本发明的实施方案的教义。
一种机器可读介质包括用于以机器(例如,计算机)可读的形式存储或传输信息的任意机制。例如,机器可读介质包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电子、光学、声学或其它形式的可传播信号(例如,载波、红外信号、数字信号等);等等。
图1是描述依佛雷姆-玛拉赫噪音抑制器的示例性实施方案的框图,在该抑制器中可以使用精确分段多项式近似。在一种实施方案中,示例性噪音抑制器100包括语音数据源101、时域到频域(T/F)变换模块102、噪音功率谱估算模块103、语音功率谱估算模块104、滤波器系数计算模块105、实施滤波模块106、频域到时域(F/T)变换模块107以及语音数据接收器108。
参考图1,根据本发明的一种实施方案,从数据源101接收到的语音数据可能包括一个具有最新获得的N/2输入样本ζn以及前一个N/2输入样本ζn-1的输入块,它们构成了一个新的输入块zn,例如zn=ξn-1ξn]]>当T/F变换模块102从数据源101接收到语音数据时,输入块被乘以一个窗口函数的平方根。窗口函数可以被构造为当它的前一半被加到后一半时,所有的值都加1。在一种实施方案中,窗口函数是一个三角窗口,可以定义为如下
可以按照如下公式计算输入的离散傅立叶变换Zn=F(Zn·w)]]>其中·表示点乘, 表示一个包含w的项的平方根的向量。F是傅立叶变换矩阵,它的项如下f(m,n)=e-j2ππmn/N]]>其中N是变换的大小。离散傅立叶变换可以用FFT(快速傅立叶变换)、DCT(离散余弦变换)或DWT(离散小波变换)来代替。
频域中的数据随后被传递到噪音功率谱估算模块103和语音功率谱估算模块104。在噪音功率谱估算模块103中,噪声语音振幅平方谱分量被平均以便提供对噪声语音功率谱(例如,功率谱密度或PSD)的估算。在一种实施方案中,估算按照如下给出Pnz(k)=βn·|Zn(k)|2+(1-βn)·Pn-1z(k)]]>其中自适应步长βn定义如下βn=βmin+ρn-1y(βmax-βmin)]]>此处βmin=0.9,βmax=1.0,并且ρn-1y是语音以频率库(frequency bin)k存在的可能性。频率库k是向量Zn中系数的指数。
对纯语音功率谱分量的估算是通过语音功率谱估算模块104执行谱相减和平均而得到的。估算可通过如下来获得Pny(k)=αn·|Y^n-1(k)|2+(1-αn)·ψ0(Pnz(k)-Pn-1y(k))]]>
此处阈操作符ψ定义如下 其中自适应步长αn定义为αn=αmin+(1-ρn-1y)(αmax-αmin)]]>此处αmin=0.91,αmax=0.95,并且ρm-1y是语音以频率库k存在的可能性。注意前一帧的噪音功率谱分量用在了这个计算中。如果噪音底阶估算器独立于该算法的其它部分,或许它可以用当前帧的噪音估算来代替。
用于计算依佛雷姆一玛拉赫抑制规则的参数之一是维纳滤波器(一种不同的噪音抑制规则),它可由滤波系数模块105来执行。维纳滤波器权重可定义如下Wny(k)=ψWmin(Pny(k)Pny(k)+Pn-1v(k))]]>此处Wmin可以是和O.Cappe所定义的阈值相类似的阈值,参见“Elimination of the Musical Noise Phenomenon with Ephraim andMalah Noise Suppressor(用依佛雷姆和玛拉赫噪音抑制器消除音乐噪音现象)”,IEEE Trans.Speech and Audio Processing,1994年四月第2卷第2号,345-349页。在Cappe中,为先验SNR推荐了一个下限,定义如下 此处可以用 来避免音乐噪音。作为结果,它可以被变换成
注意如果维纳滤波器是根据先验SNR来写的,则根据一种实施方案维纳滤波器计算可以用表查找来代替,下面将进一步详细地描述表查找。这种方法对于那些除法运算较昂贵的处理器来说尤其有用。
对每个频率库的后信噪比(SNR)可以定义如下 依佛雷姆-玛拉赫滤波器权重由下式给出 其中M(·)是由下式定义的函数M(θ)=12·πθ·e-θ2[(1+θ)·I0(θ2)+θ·I1(θ2)]]]>通常,噪音功率谱估算器可以用来计算Pnv(k)。这种估算器可以用与R.Martin所定义的相类似的方法来构造,参见“Noise PowerSpectral Density Estimation Based on Optimal Smoothing andMinimum Statistics(基于最优平滑和最小统计的噪音功率谱密度估算)”,IEEE Trans Speech and Audio,2001年七月第9卷第5号,504-512页。
通常,并不直接计算语音存在的概率,而是由整个语音能级的MMSE(最小均方误差)(维纳)估算器大致估计,定义如下ρny=Σk=0N/2Pny(k)Σk=0N/2Pny(k)+Σk=0N/2Pnv(k)]]>
可以修改滤波器系数Hny(k)以提高可感知的语音质量或者减少可感知的乐音。例如,为了有效地处理喧闹的、低通噪音,例如在汽车环境中所遇到的那些噪音,低频滤波器系数(例如,低于60HZ)可以设为0。然后,可以通过施加滤波器模块106来计算滤波器输出。滤波器输出定义如下Y^n(k)=Hny(k)·Zn(k)]]>最后,可以通过反向FFT、反向DFT或反向DWT获得时域滤波器输出以在语音数据接收器108上产生最后的输出。时域滤波器输出由F/T变换模块107根据与如下公式类似的一个公式来实现y^n-1=[ON2×N2IN2×N2]·w·F-1Y^n-1+[IN2×N2ON2×N2]·w·F-1Y^n]]>如上所述,原始的依佛雷姆-玛拉赫滤波器权重公式包括若干处理器都可能无法提供的复杂计算。原始的依佛雷姆-玛拉赫滤波器权重公式定义如下 ......(等式1)其中M(·)是如下定义的函数M(θ)=12·πθ·e-θ2[(1+θ)·I0(θ2)+θ·I1(θ2)]]]>......(等式2)其中I0(·)和I1(·)是改进的第一种贝塞尔函数的阶0和阶1,这在本领域中是众所周知的。与改进的第一种贝塞尔函数有关的更详细的信息可以在下面的Web站点找到
http//mathworld.wolfram.com/ModifiedBesselFunctionoftheFirstKind.htmlWny(k)是由如下公式定义的维纳滤波器Wny(k)=Wmin(Pny(k)Pny(k)+Pn-1v(k))]]>......(等式3)其中Wmin是和O.Cappe所定义的相类似的阈值,参见“Eliminationof the Musical Noise Phenomenon with Ephraim and Malah NoiseSuppressor(用依佛雷姆和玛拉赫抑制器消除音乐噪音现象)”,IEEE Trans Speech And Audio Processing,1994年四月第2卷第2号345-349页。Pny(k)是由语音功率谱估算模块104提供的纯语音PSD(功率谱密度)估计值。Pnv(k)是由噪音功率谱估算模块103提供的噪音PSD估计值。
等式(1)中的除法运算是软件和硬件实现的性能瓶颈。既然 新的依佛雷姆-玛拉赫滤波器权重可以变换为 其中M′(·)是如下定义的函数M′(θ)=12·πθ·e-θ2[(1+θ)·I0(θ2)+θ·I1(θ2)]]]>......(等式4)其中I0(·)和I1(·)分别是改进的第一种贝塞尔函数的阶0和阶1。采用新的依佛雷姆-玛拉赫滤波器权重公式可以消除等式1中引入的除法运算。
图2是M′(·)函数的示例曲线。参考图2,当输入值趋近于0时,曲线的动态范围很大。在输入值为0的那一点上,曲线趋近于∞。因而,如果M′(·)是通过通用的分段多项式近似来实现的,则大的动态范围也会使误差非常大,并且在输入值趋近于0时,它会趋近于∝。通常,通用分段多项式近似针对分段多项式近似使用平均长度区间。
为了解决这个问题,根据一种实施方案,引入了一种用于指数增加的分段多项式近似技术。对定点实现,M′(·)的输入值是用Q22格式表示的。Q格式是用来用定点数值表示浮点数值。定点数中的二进制小数点的位置决定了如何解释该数的缩放。在硬件执行像加或减这样的基本算术运算时,硬件使用相同的逻辑电路而不考虑比例因子的值。该逻辑电路对二进制小数点一无所知。它们执行带符号或无符号整数算术时就好象二进制小数点在b0的右边。b0是最低有效(即最低)位的位置。例如,根据一种实施方案,32位的数据可以被定义为图5B中所示的数据格式530,此处MSB是最高有效(即最高)位,LSB是最低有效(即最低)位。
在DSP(数据信号处理)行业中,带符号的和定点数据类型中的二进制小数点的位置被以Q格式符号表示并由其标明。这个定点符号采用了Qm.n的形式,其中·Q表明数是采用Q格式符号的(例如,对有符号定点数的表示)·m表明用来指定一个数字的2的补码整数部分的位的个数·n表明用来指定一个数字的2的补码的小数部分的位的个数,或二进制小数点右面的位的个数。
在Q格式中,最高有效位被指定为符号位。在Q格式中表示一个带符号的定点数据类型需要m+n+1位以便将该符号考虑进去。例如,Q15是在二进制小数点右边有n=15位的带符号的32位数,表示为Q16.15。这个符号表示中,这个数据类型共有(1个符号位)+(m=16个整数位)+(n=15个小数位)=32位。在Q格式符号表示中,当Q16.15被指示固定为32位的数据类型时,常常隐含着m=32-n-1。因此,Q15就可以用来表示Q16.15。
根据一种实施方案,从θ=27到231,该范围被分成24个区间,每个区间定义为[2i,2i+1),i=7..30。每个区间被映射到等长的单元以分析该曲线,如图3所示。如图3所示,指数增加的分段逼近限制了动态范围并为定点实现提供了很高的精度。在第i个区间[2i,2i+1)中,可以用二次多项式近似来计算输出结果。在一种实施方案中,该二次多项式近似定义如下
f(x)=P0+P1*x+P2*x2......(等式5)通常,固定的Q数值,例如,Q31、Q15,是针对定点实现而使用的。为了实现高精度的输出,设计了参数的动态Q数值。参考等式5,因为P1和P2在不同区间变化很大,可以为参数P1和P2设计动态Q数值以维持高精度。在一种实施方案中,P1的Q数值是(i+5),P2的Q数值是(i-4),此处i是对应区间的指数(i从0到23)。P0的表示对于所有部分都被定义为Q22格式。
在一种实施方案中,P0可以按如下定义P0[24]={669498645,473414302,334764744,236728959,167413213,118408092,83768274, 59291231, 42007360, 29819668, 21249233, 15255427,11108711, 8299601, 6470760, 5361107, 4756698, 4463049,4325745, 4259445, 4226742, 4210491, 4202389, 4198345};在一种实施方案中,P1可以按如下定义P1[24]={72453962,51231813,36225125, 25613282,18108852,12801395,9047010, 6390220, 4508716, 3174276, 2225121, 1546422,1056723, 698929, 435261, 245271, 121987, 56781,27183, 13368, 6635, 3306,1650,824};一种实施方案中,P2可以按如下定义P2[24]={1576642499,557423223,197075987, 69674844, 24632335,8707825,3077959, 1087711, 384201, 135577, 47749, 16748,5823, 1986, 648,193,49, 11,2, 0,0, 0, 0, 0};
根据一种实施方案,图4是指数增加的分段二次多项式近似的误差结果。参考图4,图形402表示区间的最大绝对误差,图形401以百分数表示误差。如图4所示,最大误差百分数小于1%。当输入趋近于0时,传统曲线拟合方法的误差几乎会达到50%。
根据一种实施方案,当M′(·)的输入值(Q22格式)在(27,231)范围内时,M′(·)由具有24个区间的指数增加的分段二次多项式近似确定,如上所述。当M′(·)的输入值(Q22格式)很小时,例如在
={2147483647,1815,1283,1048,907,812,741,686,642,605,574,547,524,503,485,469,454,440,428,416,406,396,387,378,370,363,356,349,343,337,331,326,321,316,311,307,303,298,294,291,287,283,280,277,274,271,268,265,262,259,257,254,252,249,247,245,243,240,238,236,234,232,231,229,227,225,223,222,220,219,217,215,214,212,211,210,208,207,206,204,203,202,200,199,198,197,196,195,193,192,191,190,189,188,187,186,185,184,183,182,182,181,180,179,178,177,176,175,175,174,173,172,172,171,170,169,169,168,167,166,166,165,164,164,163,162,162,16l,160}图5A是一个框图,描述了用于依佛雷姆-玛拉赫滤波器权重公式的高精度实现算法的操作的示例性实施方案。这些操作可由硬件(例如,电路、专用逻辑等)、软件(诸如运行在通用计算机或专用机上的程序)或它们的组合来执行。参考图5A,在处理模块501中,函数Ephraim_Malah()的输入参数夕,它是维纳滤波器Wny(k)和后 的乘积,由过程逻辑接收,此处k表示频率点的指数。
对定点实现来说,根据一种实施方案,Wny(k)是用Q31格式实现的, 是用Q15格式实现的。在处理块502,根据一种实施方案,既然θ是以Q22格式实现的,因此可以由过程逻辑通过下列变换来获得θ ......(等式6)此处>>表示移位操作。在一种实施方案中,θ是适用于32位处理器的32位值。应该理解θ也可以为其它类型的处理器,例如64位处理器等采用其它形式加以实现。
如果在处理模块504,θ大于预定的阈值,例如27,则从θ中提取出一个Index(指数)值和一个Mantissal(尾数),θ如根据一种实施方案的图5B中的32位数550所示。参考图5A和5B,在处理决504,Evaluate(θ)提取出指数=24-n551,尾数552。n是32位数550的前导位0的个数。例如,如图5B所示,指数=24-6=18,尾数552=1110000001111100110用二进制表示,它的十进制表示为459750。在一种实施方案中,n551和尾数552可以通过处理器的指令来提取,例如可从Intel公司购买到的带有CLZ指令的Xscale微处理器。
在处理块505,因为X是一个尾数,诸如尾数552,所以采用Q22格式加以实现。P0[i]采用Q22格式加以实现。P1[i]采用动态Q值加以实现,诸如(5+i)。P2[i]采用动态Q值(i-4)加以实现。结果M′(θ)采用Q22格式加以实现。在一种实施方案中,处理块505可以由过程逻辑用一种或多种主要操作加以实现。
图6是描述定点实现中的操作的示例性实施方案的框图。参考图6,示例性操作600包括第一操作601和第二操作602。操作601和602可以由硬件(例如,电路、专用逻辑等)、软件(例如运行在通用计算机或专用机上的程序)或它们的组合来执行。例如,块601和602可以代表具有像乘法器、移位器和加法器等单个部件的两个电路。另外可选地,单元601和602可以嵌入在像微处理器这样的处理器中。此外,块601和602中涉及的操作也可以作为可由处理器识别并执行的指令加以实现,例如Intel Xscale微处理器中的CLZ指令。也可以包括本领域的技术人员所熟知的其它部件。
根据一种实施方案,第一操作601中所涉及的过程可以定义如下TEMP=((P2[i]×X)>>(22-((i+5)-(i-4))))-P1[i]=((P2[i]×X)>>13)-P1[i]在一个特定的实施方案中,第一操作601包括乘法器603、移位器604和加法器605。乘法器603把P2和X(尾数)相乘并在乘法器603的输出产生第一个中间值。移位器604从乘法器603的输出接收第一个中间值,并把该中间值移位数值22,产生第二个中间值。加法器605把第二个中间值和P1相加,并产生第一操作601的输出Temp,如上所述。
根据一种实施方案,第二操作602中涉及的过程可以定义如下M′(θ)=((X×TEMP)>>(i+5))+P0[i]在第二操作602期间,乘法器606把来自第一操作601的输出Temp和尾数X相乘并产生第三个中间值。移位器607接收第三个中间值,并把它移位(i+5)并产生第四中间值,此处i是指数。加法器608把第四个中间值和P0相加,并产生代表如上所述的M′(θ)的最终输出。上述所有过程都不会调用任何算术除法运算。
图7是描述用于生成依佛雷姆一玛拉赫滤波器系数的过程的示例性实施方案的流程图。该过程可以由硬件(例如,电路、专用逻辑等)、软件(例如运行在通用计算机或专用机上的程序)或它们的组合来加以实现。在一种实施方案中,示例过程700包括通过多项式近似机制且不采用算术除法运算并根据维纳滤波器权重和后信噪比(SNR)计算第一个参数,并根据该第一个参数产生依佛雷姆一玛拉赫滤波器系数。
参考图7,在701单元,接收维纳滤波器权重(例如,Wny(k))和后SNR(例如, 维纳滤波器权重和后SNR可以根据语音和噪音功率谱估算来获得,而语音和噪音功率谱估算则分别由图1中的语音和噪音功率谱估算模块104和103来执行。在块702,第一个参数(例如θ)是根据维纳滤波器权重和后SNR而计算的。在一种实施方案中,第一个参数是32位的值。在块703,如果第一个参数等于或小于阈值,则在块707根据第一个参数从数据库中检索第二个参数(例如,M′(θ))。在一种实施方案中,该阈值被定义为27。根据一种实施方案,该数据库包括一个或多个数据表,该数据表存储与第一个参数对应的第二个参数。然后,在块706,根据第二个参数计算依佛雷姆-玛拉赫滤波器系数。
在块704,如果第一个参数大于该阈值,就根据第一个参数确定指数和尾数。在一种实施方案中,指数是根据第一个参数的前导0的个数来确定的,而尾数是部分根据第一个参数的其余部分来确定的,例如图5B中所示的参数550。在块705,用多项式近似机制在不调用算术除法运算的情况下根据指数和尾数计算第二个参数(例如,M′(θ))。在一种实施方案中,多项式近似机制包括二次多项式近似操作,该操作定义如下f(x)=P0+P1*x+P2*x2在一种实施方案中,P0采用Q22格式。P1根据动态Q值(5+i)加以确定,此处i是指数值。P2根据动态Q值(i-4)加以确定,此处i是指数值。在块706,根据第二个参数计算依佛雷姆-玛拉赫滤波器系数。
图8显示了可以和本发明的实施方案一起使用的示例性计算机的框图。例如,图8中所示的系统800可以包括硬件、软件或者它们二者,以执行图5A、6和7中所示的上述过程。注意,虽然图8描述计算机系统的各种部件,但是并不意味着代表互连各部件的任何特定的体系结构或者方式,因为这些细节和本发明并没有什么密切的关系。还应该理解网络计算机、手持式计算机、蜂窝电话以及具有较多或较少部件的其它数据处理系统也可以和本发明一起使用。
如图8所示,计算机系统800是数据处理系统的形式,计算机系统800包括总线802,总线802与微处理器803和ROM807、易失性RAM805和非易失性存储器806相耦合。微处理器803与高速缓存器804(如图8中的实例所示)相耦合,微处理器803可以是Intel公司的Pentium处理器。总线802把这些各种各样的部件互连在一起并且还把803、807、805和806这些部件互连到显示控制器和显示设备808以及输入/输出(I/O)设备810,输入输出设备810可以是鼠标、键盘、调制解调器、网络接口、打印机以及本领域中众所周知的其它设备。通常,输入/输出设备810通过输入/输出控制器809与该系统相耦合。易失性RAM 805通常被实现为动态RAM(DRAM),它持续不断地需要电源来刷新或维持存储器中的数据。非易失性存储器806通常是磁性硬盘驱动器,磁光驱、光驱或DVD RAM或者是在系统断电后仍然能够维持数据的其它类型的存储器系统。通常非易失性存储器也可以是随机存取存储器,不过这并不是必须的。虽然图8显示的非易性存储器是一个直接耦合到数据处理系统的其余部件的本地设备,但应该理解,本发明也可以采用远离系统的非易失性存储器,例如通过像调制解调器或以太网接口之类的网络接口与该数据处理系统相耦合的网络存储设备。总线802可以包括通过各种桥、控制器和/或适配器相互连接起来的一条或多条总线,这在本领域中是众所周知的。在一种实施方案中,I/O控制器809包括用于控制USB外设的USB(通用串行总线)适配器。
在此已经描述了用于依佛雷姆-玛拉赫滤波器的精确分段多项式近似。在前述说明中,已经参考本发明特定的示例实施方案描述了本发明。显而易见的是,在不背离在所附权利要求中提出的本发明的较广的精神和范围的前提下可以对本发明进行多种修改。因此,说明书和附图应该被看作是说明性的而不是限制性的。
权利要求
1.一种方法,包括在不使用算术除法运算的情况下,通过多项式近似机制,根据维纳滤波器权重和后信噪比(SNR)计算第一个参数;以及根据第一个参数产生依佛雷姆-玛拉赫滤波器系数。
2.权利要求1的方法,还包括根据维纳滤波器权重和后信噪比(SNR)计算第二个参数;确定第二个参数是否小于阈值;以及如果第二个参数小于阈值,则通过数据库检索第一个参数。
3.权利要求2的方法,其中,该阈值是27。
4.权利要求2的方法,其中如果第一个参数不小于阈值,则该方法还包括根据第二个参数确定指数值和尾数值;以及通过多项式近似机制,根据该指数和尾数值计算第一个参数。
5.权利要求4的方法,其中第一个参数还被根据第三个参数并结合指数和尾数值加以确定,并且第三个参数被部分地根据该指数值动态地加以选择。
6.权利要求4的方法,其中根据该指数和尾数值计算的第一个参数包括部分地根据该指数值动态地确定的第一个系数、第二个系数,该方法还包括对第一个系数和尾数值执行乘法操作,产生第一个中间值;对第一个中间值按照预先确定的数值进行移位操作,产生第二个中间值;并且对第二个中间值和第二个系数执行加法操作,产生第三个中间值。
7.权利要求6的方法,其中根据该指数和尾数值计算的第一个参数包括第三个系数,该方法还包括对第三个中间值和尾数执行乘法操作,产生第四个中间值;对第四个中间值按照部分根据指数值而确定的数值进行移位操作,产生第五个中间值;并且对第五个中间值和第三个系数执行加法操作以产生第一个参数。
8.权利要求4的方法,其中该指数值根据第二个参数的前导0的个数加以确定。
9.权利要求8的方法,其中该尾数值部分地根据第二个参数的余项而加以确定。
10.权利要求1的方法,其中该多项式近似机制包括一个二次多项式近似操作。
11.一种具有使机器执行如下方法的可执行代码的机器可读介质,该方法包括在不使用算术除法运算的情况下,通过多项式近似机制,根据维纳滤波器权重和后信噪比(SNR)计算第一个参数;并且根据第一个参数产生依佛雷姆-玛拉赫滤波器系数。
12.权利要求11的机器可读介质,其中该方法还包括根据维纳滤波器权重和后信噪比(SNR)计算第二个参数;确定第二个参数是否小于阈值;并且如果第二个参数小于阈值,则通过数据库检索第一个参数。
13.权利要求12的机器可读介质,其中该阈值是27。
14.权利要求12的机器可读介质,其中如果第一个参数不小于阈值,该方法还包括根据第二个参数确定指数值和尾数值;并且通过该多项式近似机制根据该指数和尾数值计算第一个参数。
15.权利要求14的机器可读介质,其中第一个参数还被根据第三个参数并结合该指数和尾数值加以确定,并且第三个参数被部分地根据该指数值动态地加以选择。
16.权利要求14的机器可读介质,其中根据该指数和尾数值计算的第一个参数包括部分地根据该指数值动态地加以确定的第一个系数、第二个系数,该方法还包括对第一个系数和尾数值执行乘法操作,产生第一个中间值;对第一个中间值按照预先确定的数值进行移位操作,产生第二个中间值;并且对第二个中间值和第二个系数执行加法操作,产生第三个中间值。
17.权利要求16的机器可读介质,其中根据该指数和尾数值计算的第一个参数包括第三个系数,该方法还包括对第三个中间值和尾数值执行乘法操作,产生第四个中间值;对第四个中间值按照部分地根据该指数值加以确定的数值进行移位操作,产生第五个中间值;并且对第五个中间值和第三个系数执行加法操作以产生第一个参数。
18.权利要求11的机器可读介质,其中该多项式近似机制包括一个二次多项式近似操作。
19.权利要求14的机器可读介质,其中该指数值根据第二个参数的前导0的个数加以确定。
20.权利要求19的机器可读介质,其中该尾数值被部分地根据第二个参数的余项加以确定。
21.一种设备,包括第一单元,用于在不使用算术除法运算的情况下,通过多项式近似机制,根据维纳滤波器权重和后信噪比(SNR)计算参数;和第二单元,用于根据该参数产生依佛雷姆-玛拉赫滤波器系数。
22.权利要求21的设备,还包括一个数据库,该数据库被耦合以便在表示维纳滤波器权重和后SNR的值小于阈值的情况下,提供该参数。
23.权利要求21的设备,其中第一单元包括第一个乘法器,用于对第一个系数和从维纳滤波器权重和后SNR导出的尾数值执行乘法,产生第一个中间值;第一个移位器,用于对第一个中间值按照预先确定的数值进行移位操作,产生第二个中间值;以及第一个加法器,用于对第二个中间值和第二个系数执行加法,产生第三个中间值。
24.权利要求23的设备,其中第一单元还包括第二个乘法器,用于对第三个中间值和尾数执行乘法,产生第四个中间值;第二个移位器,用于对第四个中间值按照部分地根据该指数值加以确定的数值进行移位操作,产生第五个中间值;以及第二个加法器,用于对第五个中间值和第三个系数执行加法,以产生参数。
25.权利要求21的设备,其中该多项式近似机制包括一个二次多项式近似操作。
26.一种系统,包括一个处理器;和与该处理器相耦合的存储器,用于存储指令,当这些指令被该处理器执行时,使该处理器执行下列操作在不使用算术除法运算的情况下,通过多项式近似机制,根据维纳滤波器权重和后信噪比(SNR)计算第一个参数;和根据第一个参数产生依佛雷姆-玛拉赫滤波器系数。
27.权利要求26的设备,还包括存储在存储器中的数据库,用于在表示维纳滤波器权重和后SNR小于阈值时,提供该参数。
28.权利要求26的设备,还包括与该处理器和存储器相耦合的第一操作模块,第一操作模块包括第一个乘法器,用于对第一个系数和从维纳滤波器权重和后SNR导出的尾数值执行乘法,产生第一个中间值;第一个移位器,用于对第一个中间值按照预先确定的数值进行移位操作,产生第二个中间值;以及第一个加法器,用于对第二个中间值和第二个系数执行加法,产生第三个中间值。
29.权利要求28的设备,还包括与该处理器和存储器相耦合的第二操作模决,第二操作模块包括第二个乘法器,用于第三个中间值和尾数值执行乘法,产生第四个中间值;第二个移位器,用于对第四个中间值按照部分地根据该指数值加以确定的数值进行移位操作,产生第五个中间值;并且第二个加法器,用于对第五个中间值和第三个系数执行加法以产生该参数。
30.权利要求26的设备,其中该多项式近似机制包括一个二次多项式近似操作。
全文摘要
本文描述了用于依佛雷姆-玛拉赫滤波器的精确分段多项式近似。在一种实施方案中,示例性过程包括在不使用算术除法运算的情况下,通过多项式近似机制,根据维纳滤波器权重和后信噪比(SNR)计算第一个参数,并根据第一个参数产生依佛雷姆-玛拉赫滤波器系数。还描述了其它方法和设备。
文档编号G10L21/02GK1532811SQ0313273
公开日2004年9月29日 申请日期2003年9月30日 优先权日2003年3月21日
发明者R·杨, R 杨 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1