ECU报警音验证方法及系统与流程

文档序号:21398841发布日期:2020-07-07 14:31阅读:753来源:国知局
ECU报警音验证方法及系统与流程

本申请涉及汽车电子技术领域,尤其涉及一种ecu报警音验证方法及系统。



背景技术:

车机仪表等车载ecu报警音一般为蜂鸣音,报警音的音量响度(振幅)通过人耳听力很难判断准确,有些报警音设计为在一个周期内响度渐变,这个响度渐变的验证只能借助工具才能精确测量。车机仪表等车载ecu报警音种类繁多,触发场景很多,人工测试验证工作量比较大。

现有一些音频比较的类似方案,是将音频的频谱按照时域分析生成图片,借助图片相识度比较算法来做比较,但在音频响度整体变化的情况下(比如车机音量调低,会导致音频整体响度降低),会导致整体频谱图上移/下移,从而导致验证结果失败。



技术实现要素:

有鉴于此,本申请提供一种ecu报警音验证方法及系统,能够精确验证ecu报警音与样本报警音的区别。

为解决上述技术问题,本申请采用以下技术方案:

第一方面,本申请提供一种ecu报警音验证方法,方法包括:录制样本ecu报警音的样本音频数据;通过音频采集仪器采集实时ecu报警音的待测音频数据;根据声道数和量化单位,将两组样本音频数据和待测音频数据分别转换成可计算的样本音频数组和待测音频数组;基于皮尔逊相关系数计算样本音频数组和待测音频数组的相识度,以判断待测音频数据的准确性。本申请通过将音频数据转换为可计算的数组,再利用皮尔逊相关系数算法进行样本音频数据和待测音频数据的相识度比较,可以有效的提高测试的准确性,提高测试效率。

作为本申请的第一方面的一个实施例,对样本音频数据和待测音频的二进制数据进行时域频谱分析,以得到可计算的样本音频数组和待测音频数组。

作为本申请的第一方面的一个实施例,录取样本ecu报警音的一个周期的有效原始二进制音频数据,并以.wav文件格式保存在pc端。通过一个周期的取值可以提高测试的精准性。

作为本申请的第一方面的一个实施例,通过音频采集仪器采集实时ecu报警音的待测音频数据,音频采集仪器为octa-capture,octa-capture的input输入端接ecu仪表功放,音频采集仪器octa-capture的usb音频接口与接pc端声卡驱动连接,以采集实时的用于采集ecu报警音的待测音频数据并存储在pc端。该方法可以精确的验证ecu报警音的响度变化。

作为本申请的第一方面的一个实施例,待测音频数据和样本音频数据保存在pc端,便于两组数据的比较。

作为本申请的第一方面的一个实施例,待测音频数据和样本音频数据在pc端以.wav文件格式存储,该文件格式可以确保音频数据的无损耗存储,音频质量较高。

作为本申请的第一方面的一个实施例,待测音频数据与样本音频数据的周期数相同,且两者至少具有一个完整的周期数据周期大于一个ecu报警音周期。通过至少一个完整的周期数据可以提高验证的精准性。

第二方面,本申请实施例提供了一种ecu报警音验证装置系统,包括车机端、音频采集仪器和pc端,

音频采集仪器录制车机端的ecu报警音的样本音频数据;

音频采集仪器采集实时ecu报警音的待测音频数据;

pc端将样本音频数据和待测音频数据分别转换成可计算的样本音频数组和待测音频数组;

pc端基于皮尔逊相关系数计算样本音频数组和待测音频数组的相识度,以判断待测音频数据的准确性。

本申请通过将音频数据转换为可计算的数组,再利用皮尔逊相关系数算法进行样本音频数据和待测音频数据的相识度比较,可以有效的提高测试的准确性,提高测试效率。

作为本申请第二方面的一个实施例,pc端对样本音频数据和待测音频的二进制数据进行时域频谱分析,以得到可计算的样本音频数组和待测音频数组。

作为本申请第二方面的一个实施例,通过音频采集仪器采集实时ecu报警音的待测音频数据,音频采集仪器的输入端接ecu仪表功放,音频采集仪器的usb音频接口与pc端声卡驱动连接,以采集实时的ecu报警音的待测音频数据。该方法可以精确的验证ecu报警音的响度变化。

作为本申请第二方面的一个实施例,待测音频数据和样本音频数据保存在pc端,便于两组数据的比较。

作为本申请第二方面的一个实施例,待测音频数据和样本音频数据以.wav文件格式存储,该文件格式可以确保音频数据的无损耗存储,音频质量较高。

作为本申请第二方面的一个实施例,待测音频数据与样本音频数据的周期数相同,且两者至少具有一个完整的周期数据,通过至少一个完整的周期数据可以提高验证的精准性。

本申请的上述技术方案至少具有如下有益效果之一:

根据本申请实施例的ecu报警音验证方法及系统,能够通过将ecu报警音转换为可计算的数组数据,运行皮尔逊相识系数算法比较数组数据,得到ecu报警音的是否准确的验证结果,有效避免ecu报警音响度整体变化的情况下造成音频数据曲线整体偏移导致误判的情况。

附图说明

图1为本申请实施例的ecu报警音验证的场景图;

图2为本申请实施例的ecu报警音验证方法的流程图;

图3为本申请实施例的ecu报警音验证系统图。

具体实施方式

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

根据本申请的一些实施例,公开了一种ecu报警音验证的场景图。图1是根据本申请一个实施例的ecu报警音从车机端传到pc端的场景图。如图1所示,该场景中包括车机端101、音频采集仪器102以及pc端103,ecu音频数据从车机端101输出经过音频采集仪器102输入到pc端103,在通过ecu报警音验证系统进行ecu报警音验证之前,先进行ecu报警音验证环境准备。

ecu报警音验证环境准备是指将车机端101的仪表功放连接音频采集仪器102的输入端,音频采集仪器102的输出端与pc端103声卡驱动连接,其中,音频采集仪器102通过usb音频接口与pc端103声卡驱动连接,本申请的音频采集仪器102可以选择octa-capture音频采集仪器,octa-capture拥有10进10出音频io通道。用于采集音频输入,能达到更高的音频标准。这样,可以高质量的将车机端101的ecu报警音通过音频采集仪器102octa-capture输出到pc端103声卡驱动。

准备好验证环境,接下来可以通过ecu报警音验证系统进行ecu报警音验证,例如验证车机端101的仪表应用左/右转向灯的报警音,ecu报警音验证系统首先开启pc端声卡音频数据录制,并立即发送左右转向灯控制信号给车机端101,控制车机端的仪表应用打左/右转向灯,车机端仪表应用发出左/右转向灯的报警音,车机端101的左/右转向灯的报警音经过音频采集仪器102传输到pc端103,pc端声卡按照预定的时间采集一段实时的车机端101的左/右转向灯的报警音,pc端声卡采集报警音完成后,将已采集到的车机端左/右转向灯的报警音以二进制数据的.wav文件格式存储在pc端103,下一步系统对pc端音频的二进制数据进行时域频谱分析,得到可计算的ecu报警音待测音频数组,进一步地通过设定参数过滤出一个完整周期的待测音频的有效数组。

同时,ecu报警音验证系统将提前录制好一个周期的标准左/右转向灯报警音的有效原始二进制音频数据保存为.wav文件格式存储在pc端,通过时域频谱分析得到可计算标准左/右转向灯报警音的样本音频数组,进一步地通过设定参数过滤出一个完整周期样本音频的有效数组,用来作为左/右转向灯报警音验证过程中的期望结果。

下一步,ecu报警音验证系统在pc端通过基于皮尔逊相关系数计算样本音频数组和待测音频数组的相识度,其中,皮尔逊相关系统算法是一个开源算法,可以使用python语言实现,该相关系数是判断两组数据与某一直线拟合程度的一种度量,如果两组数组形成的曲线同一x位置对应的y值相差较大,但两组数组相差的曲线整体曲线变化保持同一走势,最终的计算结果仍然是拟合的,也就是可以判断两组数组的是相识的。因此,基于皮尔逊相识系数算法比较上面得到的待测音频的有效数组和样本音频的有效数组,得到比较结果,可有效避免车机端ecu报警音响度整体变化的情况下造成音频数据曲线整体偏移导致误判的情况,同时,使用ecu报警音验证方法及系统进行ecu报警音验证可以节约人力,且验证结果准确度高。下面结合附图对本申请的ecu报警音验证方法进行描述,图2示出了ecu报警音验证方法的流程图,如图2所示,方法包括:

步骤s110,录制ecu报警音的样本音频数据。

具体地,ecu报警音可以是仪表左右转向灯报警音、提醒系安全带报警音、超速提示报警音和防撞提示报警音等等,在pc端录制标准报警音的样本,将报警音的样本的有效原始二进制音频数据保存为.wav文件格式存储在pc端,作为样本音频数据,用来与待测音频数据作比较。

步骤s120,通过音频采集仪器采集实时ecu报警音的待测音频数据。

其中,先准备验证环境,车机端的仪表功放连接音频采集仪器的输入端,音频采集仪器的输出端,也就是usb音频接口连接pc端声卡驱动,音频采集仪器可以选择octa-capture音频采集仪器,octa-capture拥有10进10出音频io通道。用于采集音频输入,能达到更高的音频标准,结合了优秀的组件,包括声音引擎、独有的放大器和串联技术,达到了完美纯净的音色品质输出。这样,就可以将车机端的ecu报警音通过octa-capture音频采集仪器输出到pc端声卡驱动。如图2所示,准备好验证环境,首先开启pc端声卡音频数据录制,并立即发送左右转向灯can信号给车机端,控制车机端的仪表应用打左/右转向灯,车机端仪表应用发出左/右转向灯的报警音,车机端的左/右转向灯的报警音经过音频采集仪器传输到pc端,pc端声卡按照预定的时间采集一段实时的车机端左/右转向灯的报警音,pc端声卡采集报警音完成后,将已采集到的车机端左/右转向灯的报警音以二进制数据的.wav文件格式存储在pc端。

步骤s130,pc端可以将样本音频数据和待测音频数据分别转换成可计算的样本音频数组和待测音频数组。

其中,在步骤s110和步骤s120中分别得到以.wav文件格式存储在pc端的样本音频数据和待测音频数据,接下来对样本音频数据和待测音频的二进制数据进行时域频谱分析,以得到可计算的样本音频数组和待测音频数组。

在本申请的一些实施例中,可以使用python语言的numpy开源库实现对pc端音频的二进制数据进行时域频谱分析。

其中,部分技术实现细节如下,例如pc端读取声卡驱动里的原始二进制数据:

可以使用python语言的pyaudio开源库实现,该lib提供如下接口:

get_device_count:获取驱动设备,

get_device_info_by_index:获取指定设备的信息,

open:打开驱动设备,并读取原始二进制音频数据。

例如,使用python语言的numpy开源库实现对原始二进制数据进行时域频谱分析,得到可计算的ecu报警音可计算的样本音频数组和待测音频数组:

相关代码如下:

将波形数据转换为数组(stream_signals为原始二进制数据)

wave_data=numpy.fromstring(stream_signals,dtype=numpy.short)

#将数组转置

wave_data=wave_data.t

#将数组转换为int64位,得到可以计算的数据

wave_data=wave_data.astype("int64")

通过设定参数找到一个有效周期的数据,测试前会配置每一个告警音,一个周期内,周期开始阶段的门限值和周期结束阶段的门限值,并配置每一种告警音的录制时间(一般为2倍周期时间)。

其中,获取一个有效周期的数据具体步骤如下:

步骤1,确认录制时间(recordtime),单位秒,

步骤2,确认录制的周期开始门限值(validsignalstartthreshold),数据的值大于门限值认为是有效周期的开始。

步骤3,确认录制的周期结束门限值(validsignalendthreshold:),数组的值小于门限值认为是有效周期的结束;

步骤4,比较每次音频数据的采样点数(validsignalsamplenum),以防止音频数据周期内会有某一时间段响度变化为最低而当作无效数据处理的情况,优选地,可以求取音频数据的多个有效信号采样数的平均值。

经过上述操作过滤出一个完整周期的有效数组。

步骤s140,基于皮尔逊相关系数计算两个样本音频数组和待测音频数组的相识度,以判断待测音频数据的准确性。

其中,皮尔逊相关系数算法是一个开源算法,可以使用python实现,该相关系数是判断两组数据与某一直线拟合程度的一种度量,如果两组数组形成的曲线同一x位置对应的y值相差较大,但两组数组相差的曲线整体曲线变化保持同一走势,最终的计算结果仍然是拟合的,也就是可以判断两组数组的是相识的。

具体皮尔逊相关系数算法的计算公式如下所示,

为了取得有效的数据,两个变量的方差需满足都不为零,此时,相关系数的取值范围为[-1,1],

当相关系数为1时,成为完全正相关;当相关系数为-1时,成为完全负相关;相关系数的绝对值越大,相关性越强;相关系数越接近于0,相关度越弱。

由此,本申请实施例的ecu报警音验证方法,能够通过将ecu报警音转换为可计算的数组数据,运行皮尔逊相识系数算法比较数组数据,得到ecu报警音的是否准确的验证结果,有效避免ecu报警音响度整体变化的情况下造成音频数据曲线整体偏移导致误判的情况。

下面以自动化验证仪表左右转向灯声音为例,说明本测试方案的执行步骤:

a.环境准备:

车机端仪表功放接入octa-capture的input端,octa-capture的usb音频接口接入到pc端的声卡驱动。这样pc端声卡驱动可以直接采集车机端仪表功放的音频数据。

在pc端提前录制好左/右转向灯声音的一个周期内的有效原始二进制音频数据,并保存为.wav格式,作为报警音验证过程中的期望比对数据。

b.自动化测试开始:

步骤1.利用脚本开启pc端声卡音频数据录制,并立即控制仪表应用打左/右转向灯(发送左右转向灯can信号)。

步骤2.采集定义的录制时间。

步骤3.停止采集,并将采集的二进制原始音频数据做时域频谱分析,得到可计算的数组,并通过设定参数进一步过滤出一个完整周期的有效数组。

步骤4.读取提前录制好的保存转向灯二进制数据的.wav文件,并做步骤3同样的处理。

步骤5.两组数据做皮尔逊相关系数比较,获取相识度,计算误差是否在期望误差范围内。

根据本申请的一个实施例,待测音频数据与样本音频数据的周期数相同,且两者至少具有一个完整的周期数据,以提高监测是准确性。

基于上面的描述,下面结合具体实施例对本申请ecu报警音验证系统进行说明,如图3所示,本申请实施例的ecu报警音验证系统,包括车机端1000、音频采集仪器2000和pc端3000。

音频采集仪器2000录制车机端的ecu报警音的样本音频数据,

音频采集仪器2000采集实时ecu报警音的待测音频数据,

pc端3000将样本音频数据和待测音频数据分别转换成可计算的样本音频数组和待测音频数组,

pc端3000基于皮尔逊相关系数计算样本音频数组和待测音频数组的相识度,以判断待测音频数据的准确性。

需要说明的是,本申请实施例提供的ecu报警音验证系统的各模块的具体工作过程在上述实施例的ecu报警音验证方法中已经详细的说明,具体可参见上述实施例的方法,对此不在重复赘述。

由此,本申请实施例的ecu报警音验证方法及系统,能够通过将ecu报警音转换为可计算的数组数据,运行皮尔逊相识系数算法比较数组数据,得到ecu报警音的是否准确的验证结果,有效避免ecu报警音响度整体变化的情况下造成音频数据曲线整体偏移导致误判的情况。

需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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