发明内容
本发明的目的在于提供一种回声抵消器的测试方法,该方法能够比较全面有效地对回声抵消器代码的效果进行测试,且不通过构造实际的测试环境即可对回声抵消效果进行测试,从而为分析、定位解决回声问题提供依据。
本发明提出的一种回声抵消器的测试方法,包括以下步骤:
第一步:将实际情况下产生的或根据各种测试用例规则定制的信号进行采集;
第二步:按照各测试阶段假设的各种回声信道对这些信号进行处理,使之成为相应的回声信号;
第三步:将原来的信号以及相应的回声信号作为远端与近端信号输入回声抵消器;
第四步:捕捉相应的输出信号以及回声抵消滤波器的系数;
第五步:将输出信号以及滤波器系数恢复成曲线;
第六步:将第五步得到的曲线同原远端信号输入曲线及按测试要求模拟的回声信道系数曲线相比较,判别回声抵消器在实际情况下或各种测试用例规则情况下回声抵消功能及性能实现的正确性与否。
所述第一步骤使用了声音数据的采集方式,声音数据的采集用于定制各种实际的测试用例,并转换为相应的数据格式作为所述第三步骤回声抵消器的近端或远端输入。
所述第二步骤根据假设的不同回声信道对采集来的数据进行处理使之成为符合一定定制要求的回声信号的方法,即根据回声信道的延时数将采集来的数据进行相应的延时。
所述第三步骤是将延时后的回声信号及原来的信号(远端信号)输入回声抵消器,通过软件模拟仿真并调用回声抵消代码,取得测试数据。
所述第四步骤是由模拟仿真软件平台自动将测试结果存入相应的文件中;
所述第五步骤将模拟仿真软件平台取得的测试数据或定制采集来的数据与滤波器系数复原成相应的曲线形式以便于比较判别。
采用本发明的技术方案,可以对回声抵消器代码进行六个方面的测试,即回声抵消代码的正确实现性测试、功能完善性测试、回声抵消的效率测试、回声抵消代码在边界点处的工作情况测试、回声抵消代码的健壮性测试、回声抵消代码综合性测试。
本发明不用借助构建实际的测试环境而是通过全面模拟仿真的方法来测试回声抵消器代码的正确性,测试完全摆脱了实际环境的限制,且大大提高了开发效率;其次能够不购买昂贵的硬件仿真设备,只需进行计算机仿真测试,节省成本,且简单易行;再次,对回声抵消代码能够有步骤、分阶段的进行测试,使得该测试不仅仅给出一个行与不行的结论,而是全面提供一个各方面的测试方法与依据,便于分析与解决问题。而且本发明不仅适用于长途话网,还适用于无线系统。
附图说明
下面通过附图并结合具体的实施例对本发明进行详细的描述。
图1是回声抵消器的原理框图;
图2a是回声抵消自适应滤波器系数更新过程的流程图;
图2b是本发明回声抵消器测试方法的主程序流程图;
图2c是对输入信号进行延时定制回声的流程图;
图3a是远端输入正弦信号、近端输入为0(也无回波信号)的回声抵消滤波器的系数曲线图(迭代4000点);
图3b是图3a情况下,该回声抵消滤波器的输出信号曲线图(迭代4000点);
图3c是远端信号为0、近端输入正弦信号的回声抵消滤波器的系数曲线图(迭代4000点);
图3d是图3c情况下,该回声抵消滤波器的输出信号曲线图(迭代4000点);
图3e是远端近端分别输入正弦信号,该回声抵消滤波器的系数曲线图(迭代4000点);
图3f是图3e情况下,该回声抵消滤波器的输出信号曲线图(迭代4000点);
图3g是远端输入正弦信号、近端输入其回声信号的回声抵消滤波器系数曲线图(迭代4000点);
图3h是图3g情况下,该回声抵消滤波器的输出信号曲线图(迭代4000点);
图4a是远端输入一个语音信号、近端输入其回声信号的回声抵消滤波器的输出信号曲线图(迭代8000点);
图4b是远端输入为0、近端输入一语音信号的回声抵消滤波器的输出信号曲线图(迭代8000点);
图4c是远端输入一语音信号、近端输入其两重回声信号的回声抵消滤波器的系数曲线图(迭代8000点);
图4d是图4c情况下,该回声抵消滤波器的输出信号曲线图(迭代8000点);
图5a是远端输入一语音信号、近端输入其回声信号的回声抵消滤波器迭代1000点时的滤波器系数曲线图;
图5b是远端输入一语音信号、近端输入其回声信号的回声抵消滤波器迭代3000点时的滤波器系数曲线图;
图5c是远端输入一语音信号、近端输入其回声信号的回声抵消滤波器迭代5000点时的滤波器系数曲线图;
图5d是远端输入一语音信号、近端输入其回声信号的回声抵消滤波器迭代8000点时的滤波器系数曲线图;
图6a是近端输入为0、远端输入语音,且无回声的回声抵消滤波器的系数曲线图(迭代2000点);
图6b是图6a情况下,该回声抵消滤波器的输出信号曲线图(迭代2000点);
图6c是远端输入语音、近端输入延时为0的回声抵消滤波器的系数曲线图(迭代8000点);
图6d是图6c情况下,该回声抵消滤波器的输出信号曲线图(迭代8000点);
图6e是远端输入语音、近端输入延时数刚等于该回声抵消器抵消能力的回声信号的回声抵消滤波器的系数曲线图(迭代20000点);
图6f图6e情况下,该回声抵消滤波器的输出信号曲线图(迭代20000点);
图7a是远端输入一受直流干扰的语音信号、近端输入为0的该回声抵消滤波器系数曲线图(迭代8000点);
图7b是图7a情况下,该回声抵消滤波器的输出信号曲线图(迭代8000点);
图7c是远端输入一语音信号、近端输入其延时数远大于该回声抵消器回声抵消能力的回声信号的回声抵消滤波器的系数曲线图(迭代8000点);
图7d是图7c情况下,该回声抵消滤波器的输出信号曲线图(迭代8000点);
图7e是远端输入一语音信号、近端输入其延时数远大于该回声抵消器回声抵消能力的回声信号的回声抵消滤波器的系数曲线图(迭代40000点);
图7f是图7e情况下,该回声抵消滤波器的输出信号曲线图(迭代40000点);
图8a是综合测试时,远端与近端信号组合输入的情况图;
图8b是远端与近端信号以图8a情况输入时,该回声抵消滤波器的系数曲线图(迭代30000点);
图8c是远端与近端信号以图8a情况输入时,该回声抵消滤波器的系数曲线图(迭代40000点);
图8d是远端与近端信号以图8a情况输入时,该回声抵消滤波器的系数曲线图(迭代60000点)。
具体实施方式
为了充分理解本发明的测试方法,首先来分析回声抵消器的工作原理及方式。如图1为回声抵消器采用的基本原理,远端语音x(n),近端语音v(n),将x(n)反射离开混合电路的信号模仿为x(n)通过一未知回波信道,产生回波信号y(n),此回波信号与近端语音信号相加形成r(n)。自适应滤波器的输入为x(n),输出为回波复制信号
用回波残余信号
去调节滤波器的系数,使回波复制信号
跟踪回波信号y(n),以此抵消回波信号。本发明所进行测试的对象——回声抵消器,也是基本采用该原理实现的。其滤波器系数的更新遵循以下原则:
其中:w(n)为滤波器的系数;
x(n)为参考信号输入矢量,即远端语音;
e(n)为回波残余信号;
μ为步长;
是N个最新取样的平方和计算的能量估计值;
回声抵消器在实现回声抵消时,主要工作是使回声抵消滤波器的系数w(n)趋近于实际的回声信道系数(系数的趋近按一定的算法实现,其主要考虑因素是滤波器的输出信号同实际的回声信号的差值),从而使得远端语音通过回声抵消自适应滤波器输出的信号与实际产生的回声信号相抵消。
回声抵消自适应滤波器系数的更新过程为:首先判断远端有无语音,如果远端无语音则不进行回声抵消滤波器的系数更新,如果远端有语音再判断近端有无语音,若近端也无语音则进行回声抵消滤波器的系数更新,若近端有语音则不进行回声抵消滤波器的系数更新。图2a即是自适应滤波器系数更新过程的流程图。步骤201,当远端有声音信号时,在DSP数字芯片(现有通信网多采用DSP数字芯片制成回声抵消器)中断调用回声抵消代码;步骤203,从近端、远端、回声信号各端口的变量地址读入输入数据;并在步骤205判断是否已经又重新输入了128个样点(该回声抵消器为每隔128个样点抵消回声);若输入样点尚不足128个,则转到步骤211,继续输入样点且样点计数器加一;若输入样点已经满128个,则步骤207计算回声抵消滤波器的输出并进行回声抵消;且步骤209将样点计数器清零;步骤213,再判断远端有信号时,近端是否无信号;如果近端无信号则进入步骤215,按一定的算法更新回声抵消自适应滤波器的系数;如果近端有信号则不更新系数,步骤217更新各端口的变量地址以便下一次调用时读入新的数据,步骤219中断返回。
根据上述回声抵消器的实例,本发明回声抵消器测试方法的主要流程如图2b所示。首先步骤301进行一些有关参数的初始化工作,接着步骤303设置本次测试时需要运算的样点数;步骤305从内存的相应端口读入远端信号数据,即根据不同的测试目的采集定制的信号;同理,步骤307再读入近端及回声信号,同样为根据不同测试目的定制或采集的信号,且回声信号是远端信号经一定的延时处理产生的;步骤309调用回声抵消器代码进行回声抵消测试;步骤311从相应的内存端口读出输出数据,即回声抵消器输出信号以及回声抵消滤波器的系数;步骤313判断原先设置的运算点数是否已经满了,如果满了则中止程序的运行并返回,否则返回步骤305继续读入远端近端及回声信号,进行回声抵消;最后得出的回声抵消滤波器系数及其输出信号经恢复成曲线形式后同预期结果比较。此外,由于实际的回声抵消DSP汇编程序是由中断触发执行的,因此可以根据这点,在该测试流程中,修改模块的输入/输出接口,使原来对端口的读取,改为对内存的读取。在本测试主流程中,均使用DSP的模拟仿真软件平台SIMULATE从特定端口以文件形式读入定制的远端数据或者近端数据(含根据假设回声信道定制的回声数据),并在特定的端口捕捉回声抵消自适应滤波器的系数(实例中为128阶)以及回声抵消器的输出信号数据(以文件的形式存人)。
使用DSP的模拟仿真软件平台SIMULATE进行模拟仿真测试时,输入定制数据,调用测试对象(回声抵消器代码),输出回声抵消器输出信号以及相应的其自适应滤波器的系数,对于测试结果的判断则通过将输入、输出信号以及自适应滤波器系数等数据转化为图形形式进行判断。本实例中采用MATLAB软件进行转化、显示。
其中,本测试实例中作为测试对象的回声抵消自适应滤波器系数是128阶的,因此其最多只能完成对16ms回声(实际情况下,约为2000多公里产生的回声)的抵消,且由于实际的回声信道是缓慢变化的,所以在本测试实例中,除非对于输入回声信号有特定要求外,一般构制的回声信道为64阶(实际情况下,约为1000多公里产生的回声)
至于回声信号的定制则是将采集到的输入信号即远端信号(已经转化为数据格式)根据假设的回声信道的延时毫秒数进行相应的延时后得到的。对输入信号进行延时定制回声的主流程如图2c所示。首先步骤401读入近端信号,其次步骤403读入远端信号,并在步骤405判别远端信号是否存在,如果存在的话则步骤407根据要求的回声信道延迟数对远端信号进行相应的延时从而产生回声信号,否则不处理,最后步骤409将产生的回声信号同近端信号相加构成回声抵消器的一个输入信号。因此流程图2c实际上是用来根据各个测试目中要求的回声信道的延时数,对远端信号进行延时处理以便产生回声信号(并同近端信号相加构成一个输入信号)的过程,其产生的数据最终用于测试主流程图2b中的步骤307。
采用以上技术方案,可以针对不同的测试目的具体对回声抵消器代码段进行测试,本实施例例举以下六个目的的测试,相当于六个测试阶段,每一阶段的测试目的和具体测试方法详述如下:
一、测试回声抵消代码的正确实现性
回声抵消代码正确与否的测试,即将非实际的信号作为远端信号输入,并构造相应的回声信号,经测试主程序通过DSP的模拟仿真软件平台SIMULATE调用回声抵消代码,捕捉输出信号及回声抵消滤波器的系数,再将这些信号恢复成曲线进行比较判别或同定制的模拟回声信道进行比较,以判别该回声抵消代码是否正确实现了预期设计的回声抵消算法。
回声抵消器代码应独立于其输入信号。若输入特殊信号时,该代码仍旧能够正常运行,则说明其对于回声抵消算法的映射是正确的。
本发明主要通过正弦信号经过采样和PCM编码后作为输入的方法来测试该回声抵消代码是否运行正确。此外,根据本实例的回声抵消器的工作方式:有远端信号才有回声,无回声信道时,回声抵消器不工作,在构造测试用例时是按照无回声信道以及远端信号引起回声信号两方面设计的。具体工作按如下表1进行:
表1
步骤 |
预期结果 |
实验结果 |
1.产生两个不同频率的正弦信号,进行13BitPCM编码。 |
无 |
无 |
2.模拟一个64阶的回声信道。(回声信道延时为8ms) |
无 |
无 |
3.将一个正弦信号作为远端输入,近端输入为0。(远端存在,近端无,无回声) |
滤波器的系数为0,输出信号为0。 |
如图3a、图3b |
4.远端输入为0,近端输入一个正弦信号。(远端无,近端存在,无回声) |
滤波器的系数为0,输出信号为近端信号。 |
如图3c、图3d |
5.两个正弦信号分别作为近端、远端输入。(远端、近端都存在,无回声) |
滤波器的系数为0,输出信号为近端信号。 |
如图3e、图3f |
6.将一个正弦信号作为远端输入,近端输入模拟的回声信号。(远端存在,近端无,有回声) |
滤波器的系数为模拟的回声信道,输出信号逐渐接近于0。 | 如图3g、图3h |
按照表1所列的具体步骤和数据,本测试阶段的结果如下:
当远端存在、近端无、且无回声情况下,滤波器的系数为0(如图3a所示),输出信号为0(如图3b所示)。
当远端无、近端存在、无回声情况下,滤波器系数为0(如图3c所示),输出信号为近端信号(如图3d所示)。
当远端、近端都存在,无回声情况下,滤波器系数为0(如图3e所示),输出信号为近端信号(如图3f所示)。
当远端、回声信号存在,本例滤波器系数未收敛到模拟回声信道系数上(如图3g所示),输出信号未抵消至0(如图3h所示)。
本测试阶段输出的实际结果与预期结果不同,则说明作为测试对象的回声抵消代码在算法实现上没有完全映射,需要做修改。
二、测试回声抵消器的基本功能
回声抵消器的功能测试,即将一语音信号进行采集,并将其处理成一定的回声信号(根据测试要求模拟的回声信道的不同而不同,并可以包括多重回声),再将该语音信号及回声信号作为回声抵消器的远端与近端输入,根据实际可能产生的各种情况以不同的组合方式,经测试主程序通过模拟仿真软件平台SIMULATE模拟调用回声抵消代码,捕捉输出信号以及回声抵消滤波器的系数,将这些信号恢复成曲线同近端输入信号或模拟回声信道比较,判别该回声抵消器是否能够达到预先设计的功能要求。
远端信号与近端信号是没有相关性的,而远端信号与其回声信号是相关的,根据这种关系,可以构造各种实际测试用例。
为测试回声抵消器功能实现的完善性,本发明主要在模拟仿真的情况下通过覆盖所有可能出现的输入情况(并考虑二次回声存在的情况),观察输出情况。
当测试一次回声情况时,具体工作按如下表2进行:
表2
步骤 |
预期结果 |
实验结果 |
1.模拟一个64阶的回声信道。 |
无 |
无 |
2.一个语音信号作为远端输入,近端输入其回声信号。 |
输出信号为0。 |
如图4a |
3.远端输入为0,近端输入一个语音信号。 |
输出信号为近端信号。 |
如图4b |
4.远端和近端同时输入语音信号。(含回声) |
输出信号为近端信号。 |
图略 |
按照表2所列的具体步骤和数据,本测试阶段的结果如下:
当输入远端及回声信号时,输出信号逐渐趋近于0,如图4a所示,其中信号1代表回声信号,信号2表示输出信号。
当远端信号为0,只输入近端信号时,本例输出信号近似于近端信号,为预期结果,如图4b所示,其中信号3表示近端输入的语音信号,信号2表示输出信号,可以看出两个信号近似相等。
当远端近端都输入信号时,输出信号为近端信号(图略)。
根据前一阶段的测试结果,本实例为经修改后的回声抵消器代码。本测试阶段输出的实际结果与预期结果相同,则说明该回声抵消器代码能够抵消64阶回声信道产生的一次回声及该回声抵消器的工作方式符合预期设计。
当测试两次回声时,具体工作按如下表3进行:
表3
步骤 |
预期结果 |
实验结果 |
1.模拟两个阶数分别16和64的回声信道。 |
无 |
无 |
2.一个语音信号作为输入,近端输入回声信号。 |
输出信号为0。 |
如图4c、图4d |
3.远端输入为0,近端输入一个语音信号。 |
输出信号为近端信号。 |
图略 |
4.远端和近端同时输入语音信号。(含回声) |
输出信号为近端信号。 |
图略 |
按照表3所列的具体步骤和数据,本测试阶段的结果如下:
当输入远端及回声信号时,滤波器系数曲线收敛到模拟回声信道上(如图4c所示);输出信号趋近于0,如图4d所示,其中信号1表示回声信号,信号2表示输出信号,可以看出,信号2是趋近0的。
当远端输入为0,近端输入一语音信号,输出信号为近端信号(图略)。
当远端、近端及回声信号同时输入,输出信号近似于近端信号(图略)。
以上结果均达到预期结果。
由于本测试阶段输出的实际结果与预期结果相同,则说明该回声抵消器代码能够抵消64及16阶阶回声信道产生的两次回声,该回声抵消器的工作方式符合预期设计。
三、测试抵消回声的效率
回声抵消器的效率测试,即将一语音信号采集,并处理成一定的回声信号,再将这些信号作为远端输入与近端输入,通过模拟仿真软件平台SIMULATE模拟调用回声抵消代码,在不同的迭代次数时,捕捉相应的回声抵消自适应滤波器的系数,得出一组迭代次数与回波抑制效果(也即自适应滤波器系数收敛到模拟回声信道上)的相关联的数据,从而定性判别该回声抵消器的性能效率。
正常情况下,作为测试对象的回声抵消自适应滤波器在经过5000~6000点的迭代之后,滤波器的输出应能抵消经回声信道产生的回声。为测试回声抵消器的效率,构造一个64阶的回声信道,并只加入远端语音信号,经过1000、3000、5000、8000(次数的选取没有特定要求)次运行后,分别输出滤波器的系数。观测经过多少次迭代后,滤波器的系数收敛到模拟回声信道,考虑到本测试是一个效率方面的评价,因此在本测试中主要进行定性的评判。具体工作按如下表4进行:
表4
步骤 |
预期效果 |
实验结果 |
1.模拟一个64阶的回声信道。 |
无。 |
无 |
2.一个语音信号作为远端输入,近端输入回声信号。 | 无。 | 无 |
3.设置迭代次数为1000点。 |
记录滤波器的系数。 |
如图5a |
4.设置迭代次数为3000点。 |
记录滤波器的系数。 |
如图5b |
5.设置迭代次数为5000点。 |
记录滤波器的系数。 |
如图5c |
6.设置迭代次数为8000点。 |
记录滤波器的系数。 |
如图5d |
按照表4所列的具体步骤和数据,本测试阶段的结果如下:
当迭代次数分别为1000、3000、5000及8000点时,滤波器系数曲线收敛情况分别如图5a、5b、5c、5d所示。根据这些曲线收敛情况的好转与迭代次数的关系,可以看出,当滤波器在迭代8000次后(用时1S)比较趋近于模拟信道的系数曲线。
从以上测试结果看,说明该回声抵消器的运行效率尚可。
四、测试回声抵消器代码在边界情况下的处理能力
回声抵消器代码在边界点处工作情况(考虑一人和多人讲话的情况)的测试,即将一语音信号进行采集,并将其处理成没有回声、回声延时为0以及回声延时达到该回声抵消器的临界状态的信号分别作为该回声抵消器的远端与近端输入,通过模拟仿真软件平台SIMULATE模拟调用回声抵消代码,并捕捉相应的输出信号以及回声抵消滤波器的系数,并恢复成相应的曲线,从而判断该回声抵消器在这些边界点上的工作状态的正确性。
由于滤波器的系数为128阶,即最多可抵消16毫秒的延时,所以,该回声抵消器的边界点为0~16ms。具体工作按如下表5进行:
表5
步骤 |
预期结果 |
实验结果 |
1.一个语音信号作为远端输入,近端输入为0。(回声不存在情况) |
滤波器系数为0,输出信号为0。 |
如图6a、图6b |
2.模拟一个延时0毫秒的回声信道 |
无。 |
无 |
3.一个语音信号作为远端输入,近端输入为0,回声延时为0ms。 |
滤波器系数为模拟回声信道,输出信号为0。 |
如图6c、图6d |
4.模拟一个延时16毫秒的回声信道 |
无。 |
无 |
5.一个语音信号作为远端输入,近端输入为0,回声延时为16ms |
滤波器系数为较近似于模拟回声信道,输出信号为应趋近于0。 | 如图6e、图6f |
按照表5所列的具体步骤和数据,本测试阶段的结果如下:
当回声不存在时,滤波器系数为0(如图6a所示),输出信号为0(如图6b所示)。
当回声为0秒延时时,滤波器近似收敛到模拟回声信道上(如图6c所示),输出信号有明显畸变(如图6d所示)。
当回声信号为16ms延时时,滤波器不能收敛(如图6e所示),输出信号不为0(如图6f所示)。
第二、第三种现象均未达到预期要求。
本测试阶段第二第三种现象未达到预期要求,说明作为测试对象的回声抵消代码在两个边界点上(0阶与128阶)的程序处理有问题。
五、测试回声抵消代码的健壮性
回声抵消器的健壮性测试项目主要分成两种情况,第一种情况即采集一些干扰信号,如噪声、直流信号、啸叫,将其处理成一定的回声信号,再将这些信号分别作为远端与近端输入回声抵消器,通过模拟仿真软件平台SIMULATE调用回声抵消代码,捕捉相应的输出信号以及滤波器系数,将这些信号恢复成曲线,以判断该回声抵消器在干扰情况下的工作状态。第二种情况则是将一语音信号处理成远超过该回声抵消器设计能力的回波信号,分别作为远端与近端语音输入回声抵消器,通过模拟仿真软件平台SIMULATE调用回声抵消代码,捕捉相应的输出信号以及滤波器系数,将其恢复成曲线,定性判断该回声抵消器在远超过其设计能力时的表现是否能够忍受。
上述两种情况具体如:输入语音受到噪声、啸叫声或直流干扰时以及回声延时超过16ms时。具体工作按如下表6进行:
表6
步骤 |
预期结果 |
实验结果 |
1.模拟一个延时8毫秒的回声信道。(64阶) |
无。 |
无 |
2.一个受直流信号干扰的语音信号作为远端输入,近端输入为0。 |
滤波器系数为模拟回声信道,输出信号为0。 |
如图7a、图7b |
3.模拟一个延时32毫秒的回声信道 |
无。 |
无 |
4.一个语音信号作为远端输入,近端输入为回声信号。 |
该滤波器应无法抵消该种回声,但不应严重影响该滤波器的工作性能。 |
如图7c、图7d、图7e、图7f |
按照表6所列的具体步骤和数据,本测试阶段的结果如下:
当输入受直流干扰的语音信号时,滤波器系数不能收敛(如图7a所示),输出信号不等于0,如图7b所示,其中信号1为回声信号,信号3为输入信号,信号2为输出信号,输出信号2有明显畸变现象,该现象不同于预期结果。
当输入32ms延时的回声信号时,滤波器无法收敛,且输出信号有明显畸变现象,1秒回声与5秒回声采样分别如图7c、7d、7e、7f所示,其中信号1为回声信号,信号3为输入信号,信号2为输出信号,可以看出在四个图中输出信号2均有明显畸变现象。
本测试阶段输出的实际结果与预期结果不同,则说明该回声抵消器代码的健壮性能力有问题。
六、综合测试
此测试阶段是对回声抵消器进行综合性测试,即采集近端与远端语音信号,并将远端语音处理成一定的回声信号,对近端与远端信号进行一定的组合(根据该组合也决定了回声信号的组合),分别作为该回波抵消器的近端与远端输入,通过模拟仿真软件平台SIMULATE调用回声抵消代码,捕捉相应的回声滤波器系数以及输出信号,并恢复成曲线,判断该曲线是否符合预期的情况。
当四种不同输入情况连续交替存在时,判断回声抵消器代码具体工作按如下表7进行:
表7
步骤 |
预期结果 |
实验结果 |
1.模拟一个延时8毫秒的回声信道 |
无 |
无 |
2.远端和近端输入的存在情况如图8a所示。 |
滤波器系数的收敛情况如图8a所示。 |
如图8b、图8c、图8d |
按照表6所列的具体步骤和数据,本测试阶段的结果如下:
当远端与近端采用图8a方式所示时,滤波器系数的收敛情况随着测试的点数的不同而不同,图8b、8c、8d分别表示迭代30000点、40000点、60000点后滤波器的系数,可以发现在迭代次数增加的情况下,系数反而不收敛,这不同于预期结果。
本测试阶段输出的实际结果与预期结果不同,则说明该回声抵消器代码的控制部分有问题。
以上是对基于DSP数字芯片实现的回声抵消器代码进行的测试,由于该种测试是处于研发阶段的测试,因此,其中每个测试阶段中的测试目的会有所不同。但每个阶段中所运用的测试方法完全是按照本发明实现的。对于在每个测试阶段中,在使用本发明所描述的测试方法后,对未达到预期结果的测试对象的修改以及再次测试验证,此处就不再赘述。
此外,应该可以理解,上面关于典型实例的讨论的一些参数或数据可以在本发明揭示的范围内修改。例如,按本发明用模拟仿真软件平台SIMULATE进行模拟仿真测试的迭代点数可以根据测试的要求(如时间)进行修改,同样也可以根据假设的回声信道的不同,改变所定制回波数据的延时数,当然也可以定制不同的声音信号。至于DSP的模拟仿真软件平台SIMULATE可以根据DSP芯片厂商提供的不同而不同。
另外,即使不采用DSP数字芯片作为回声抵消器的硬件平台,只要采用的该芯片有相应的软件仿真平台也完全可以按以上发明进行;如果回声抵消代码不基于特定芯片,则可以按本发明提供的方法直接在计算机上进行软件仿真进行测试即可。
上面对较佳实例的描述使本技术领域中的普通技术人员(尤其对于测试人员)能够使用本发明。对这实例作种种修改对该技术领域内的技术人员是显而易见的,这里所确定的总原理可用于其他实例而不需创造性才能。因此,本发明不打算限定于这里所示的具体实例,而是要赋予同这里所揭示的原理和新颖特征相一致的最大范围。