一种电动汽车的车内主动发声方法及系统与流程

文档序号:24181203发布日期:2021-03-09 12:02阅读:218来源:国知局
一种电动汽车的车内主动发声方法及系统与流程

1.本发明属于电动汽车的主动发声领域,涉及一种电动汽车的车内主动发声方法及系统。


背景技术:

2.汽车作为人们生活中的必备交通工具,汽车内的声场环境愈来愈受重视。行业内,随着排放标准的日趋严格,无论是超跑还是普通家用轿车,其发动机排量都在逐步减少,甚至纯电动汽车可能在未来的几十年中完全取代内燃机,同时随着被动隔音技术和主动降噪控制技术的发展,车内声音将愈加安静,但同时也有越来越多的车主希望车内仍能持有象征着活力、低沉有力的内燃机声音,保持驾驶乐趣。


技术实现要素:

3.本发明的目的是提供一种电动汽车的车内主动发声方法及系统,其能够模拟传统内燃机车型的车内声场环境,具有较好的驾驶乐趣。
4.为达到上述目的,本发明采用的技术方案为:
5.一种电动汽车的车内主动发声方法,包括如下步骤:
6.s1、获取一段音源的多个频率点处的1,2,

,r次谐波的幅值和相位,并存储为频率幅值相位参数表;
7.s2、根据所述电动汽车的车身参数转化相应的基频频率f;
8.s3、在所述频率幅值相位参数表中查找所述基频频率f的位置;
9.s4、根据所述基频频率f的位置,插值获取基频频率点处所有阶次谐波的幅度和相位;
10.s5、根据所述基频频率f、各阶次谐波的幅度和相位合成车内主动发声信号;
11.其中,所述步骤s1具体包括:
12.s11、获取一段发动机纯加速或纯减速的声音作为音源,将所述音源转换为频谱图;
13.s12、获取所述频谱图中的一帧数据的候选频率点集合及相对应的频谱幅度;
14.s13、依据获取的上一帧数据的候选频率点,挑选下一帧数据的候选频率点集合及相对应的频谱幅度;
15.重复步骤s13,直至获取所有帧的候选频率点集合及相对应的频谱幅度;
16.s14、分别将所有帧的频率点按照对应同一个j值、不同i值分别连成线,将得到的线分别和对应的频谱幅度值相乘,挑选相乘结果最大的那条线作为基频线,其中j为某一个频率点在其所属的候选频率点集合中的下标,i为帧数;
17.s15、在所述频谱图中,根据所述基频线,分别获取其1,2,

,r次谐波的幅值和相位。
18.优选地,所述步骤s12进一步包括:
19.s12-1、截取第一帧数据x(n),其中n为离散时间下标,满足n=0,

,l
1-1,l1为第一帧数据的预设长度;
20.s12-2、按照式(1)求截取数据的自相关函数r(m),其中m为自相关域中的下标,
[0021][0022]
从r(m)中在指定预设搜索区间内挑选最大的n个峰值对应的下标,其中n为预设的候选频率点数目,根据自相关域中的峰值对应的下标换算出相应的频率点,并通过离散傅里叶变换计算这些候选频率点的频谱幅度;
[0023]
s12-3、按照式(2)求截取数据的shc函数,
[0024][0025]
其中f为频率,x(f)为x(n)离散傅里叶变换,r=1,

,h,h为预设谐波总个数,f'=-l
f
,

,l
f
,l
f
为预设频率范围;从shc(f)中在指定预设搜索区间内挑选最大的n个峰值对应的频率,通过离散傅里叶变换获取这些候选频率点对应的频谱幅度;
[0026]
s12-4、将第一帧数据x(n)缩短一半,在此基础上,分别根据步骤s12-2和s12-3获取相应的候选频率点以及对应的频谱幅度;
[0027]
s12-5、将步骤s12-2至步骤s12-4获取的候选频率点进行合并,如果两个候选频率点之比小于预设值δ,则进行合并,新候选频率点为两频率点的平均值,频谱幅度为两频率点对应幅度的最大值;将合并完以后的候选频率点,按对应频谱幅度值从大到小进行排序,如果合并后的候选频率点个数大于2n,则去除对应频谱幅度值最小的候选频率点,直至合并后的候选频率点个数等于2n,同时为每一个频率点都配备一个计数器,初始值为预设值整数c
max

[0028]
优选地,所述步骤s13进一步包括:
[0029]
s13-1、在上一帧的基础上,移动frame_len点作为当前帧的开始位置,其中frame_len为预设参数值,并根据上一帧的候选频率点确定当前帧的长度l
i
=α*t
max
,其中i为当前帧下标,t
max
为上一帧候选频率点最小频率点对应的周期长度,α为预设倍数;
[0030]
s13-2、获取当前帧的频率点集合f
c
以及相对应的频谱幅度。
[0031]
s13-3、依次根据上一帧的候选频率点集合f
i-1
中的频率,在f
c
中挑选最接近的点,满足频率点之比小于预设值δ,作为当前帧候选频率点集合f
i

[0032]
s13-4、如果在f
c
中不存在与f
i-1
中某个频率点f
i-1,j
对应的频率点,其中j为在集合中的下标;则在f
i-1,j
的预设附近区间内对shc值进行搜索,挑选shc最大值对应的频率点作为新的频率点f
i,j
,并记录相对应的频谱幅度,同时将其对应的计数器值减1;
[0033]
s13-5、检查各个候选频率对应的计数器,如有计数器对应的值为0,则替换此频率,替换完频率以后,将对应的计数器值重置为预设初始值c
max

[0034]
s13-6、获取当前帧的候选频率点集合f
i
、对应的频谱幅度以及对应的计数器值。
[0035]
更优选地,所述步骤s13-5中,替换规则为:如果f
c
中频谱幅度最大的频率点没在步骤s13-3和步骤s13-4中选中,则挑选此频率点;如果上述条件不满足,则在f
c
中选择与当前频率最接近的频率点。
[0036]
优选地,所述步骤s11中,通过短时傅里叶变换将所述音源转换为频谱图。
[0037]
优选地,所述步骤s2中,将电动汽车的车身参数输入预先训练好的gru-rnn模型中,预测出转数和声压级,通过转速获得相应的基频频率f。
[0038]
优选地,所述步骤s5中,还根据步骤s2获得的声压级调整各阶次谐波的权重系数。
[0039]
本发明还采用如下技术方案:
[0040]
一种电动汽车的车内主动发声系统,包括:
[0041]
车身参数获取模块,其用于获取电动汽车的车身参数;
[0042]
信号处理芯片,其用于执行如上所述的车内主动发声方法;
[0043]
扬声器,其用于根据所述主动发声音源合成模块生成的主动发声信号播放声音。
[0044]
优选地,所述信号处理芯片包括主动发声音源合成模块,所述主动发声音源合成模块包括:
[0045]
频率相位参数模块,其用于接收一段纯加速或纯减速的音源,并分析得到多个频率点处的1,2,

,r次谐波的幅值和相位,存储为频率幅值相位参数表;
[0046]
插值模块,其用于根据所述车身参数对应基频频率f查找其在频率幅值相位参数表中的位置,通过插值算法获得基频频率点处所有阶次谐波的幅度和相位;及
[0047]
合成模块,其根据所述基频频率f、各阶次谐波的幅度和相位合成车内主动发声信号。
[0048]
优选地,所述信号处理芯片还包括用于根据所述车身参数预测出转数和声压级的预测模型,所述插值模块用于根据所述转数对应的所述基频频率f查找其在频率幅值相位参数表中的位置,所述合成模块还用于根据所述声压级调整各阶次谐波的权重系数。
[0049]
本发明采用以上方案,相比现有技术具有如下优点:
[0050]
本发明的电动汽车的车内主动发声方法及系统中,可以保持传统内燃机汽车品牌声音dna的传承。尽管主动发声音源可以完全重新设计,但因为主观性和个化性较强,要想获得用户认可较难。而现有部分传承较久的车型的内燃机声音已获大众认可,而使用本发明的方法和系统可以保持原始声音特色,车内仍能持有象征着活力、低沉有力的内燃机声音,保持驾驶乐趣。只需要一段连续加速和连续减速作为分析音源,因为连续加速或减速的音源里包含了所有的转速信息,可以避免录制花费大量的时间和人力。网上存在很多不同车型的加速或减速音源,本发明的方法和系统中,不需要通过获取转数信号,也可以较好的估计出相应的基频,进一步可以获取相应音源参数,从而避免了重新录制音源,节省了大量的时间和人力。
附图说明
[0051]
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0052]
图1为根据本发明的一种实施例采用的gru-rnn模型的示意图;
[0053]
图2为图1所示gru-rnn模型的gru结构的示意图;
[0054]
图3为短时傅里叶变换频谱图;
[0055]
图4为追踪到的多线频率;
[0056]
图5为根据本发明的一种实施例的电动汽车主动发声系统的框图。
[0057]
其中:
[0058]
1、车身参数获取模块;2、预测模型;3、主动发声音源合成模块;31、频率相位参数模块;32、插值模块;33、合成模块;4、声场控制模块;5、驱动功放;6、扬声器。
具体实施方式
[0059]
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域的技术人员理解。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以互相结合。
[0060]
训练gru-rnn模型
[0061]
1.选定对标传统内燃机车型。
[0062]
2.通过can总线采集在各种工况下的车身数据:车速、油门、扭矩、档位和转数,以及通过声学测量设备记录对应的车内驾驶员耳朵处的声压级。
[0063]
3.将车速数据依据车辆设计的最大车速数进行归一化,油门数据按照最大油门数进行归一化、扭矩数据按照最大扭矩数据进行归一化,档位数据只记录p档、n档、r档和d档(d档若再细分,统一按d档处理),并赋于p档为0,n档为1,r档为2,d档为3,转数数据按照最大转数数据时行归一化,声压级数据(单位为db)按照最大声压级进行归一化。
[0064]
4.将车速、油门、扭矩、档位作为输入信号,外加一个模式作为输入信号,模式信号的意义在于,如果存在多种对标车型,可以共用一套参数,因此模式编码代表不同的车型,用非负整数来代表不同的车型,如果只有一个对标车型,则模式输入值恒为0。将转数和声压级作为输出信号。将采集的数据送入预测模型通过bp算法进行训练,直至收敛。模式是用于区分模拟不同的车型换档策略或者同一辆车不同风格的换档策略,在电动车主动发声系统中,是用户需要设定的参数。
[0065]
具体而言,预测模型为基于gru结构的rnn模型(gru-rnn模型)。在实际上观察发现,换档策略不仅当前输入参数有关系,也同时跟上一时间状态有关系,因此采用该gru-rnn模型匹配这一非线性过程。
[0066]
如图1所示,rnn输入层单元个数为5,分别和车速、油门、扭矩、档位以及模式对应。隐藏层为三层,每层单元个数为n,n为预设值,隐藏层的激活函数为relu函数。输出层单元个数为2,对应转数和声压级,输出层激活函数为sigmoid。上述激活函数relu和sigmoid的数学表达式分别为:y=max(0,x)、y=1/(1+e-x
)。
[0067]
gru结构如图2所示。其中:
[0068]
z
t
=sigmoid(w
z
·
[h
t-1
,x
t
])
[0069]
rt=sigmoid(w
r
·
[h
t-1
,x
t
])
[0070][0071][0072]
式中,w
z
和w
r
是相应的权重函数,x
t
是隐藏层输入,h
t
是隐藏层输出,h
t-1
是上一个时间的隐藏层输出。
[0073]
通过gru-rnn模型预测
[0074]
在新能源电动汽车上,通过can采集车速、油门、扭矩、档位等车身参数,并将其归一化,并将归一化的数据送入上述训练完的预测模型(即gru-rnn模型),通过网络模型预测相应的归一化转数和声压级,根据归一化转数,获合成相应的主动发声音源(比如正弦波合成或者波形拼接等方法),根据声压级调整合成音源幅度,通过车内扬声器播放。
[0075]
电动汽车主动发声方法
[0076]
本实施例还提供一种具体的电动汽车主动发声方法,包括如下步骤:
[0077]
s1、通过下述的多尺度多线基频分析算法预先获取一段音源的多个频率点处的1,2,

,r次谐波的幅值和相位,并存储为频率幅值相位参数表;
[0078]
s2、获取电动汽车的车身参数并根据车身参数转化相应的基频频率f;
[0079]
s3、在所述频率幅值相位参数表中查找所述基频频率f的位置(例如f
n
<f<f
n+1
);
[0080]
s4、根据所述基频频率f的位置,插值获取基频频率点处所有阶次谐波的幅度a
k
和相位φ
k

[0081]
s5、合成相应的发动机信号
[0082]
上式中,k为有效谐波阶次,k=1

k,t为时间。
[0083]
步骤s1具体如下:
[0084]
s11、获取一段纯加速或纯减速的音源,音源可以通过网上下载或者重新录制获取,图3示出了本实施例中选用的音源的短时傅里叶变换频谱图。
[0085]
s12、初始化阶段(第一帧):
[0086]
s12.0、截取第一帧数据x(n),其中n为离散时间下标,满足n=0,

,l
1-1,l1第一帧数据的预设长度;
[0087]
s12.1、求截取数据的自相关函数r(m),其中m为自相关域中的下标
[0088][0089]
从r(m)中在指定预设搜索区间内挑选最大的n个峰值对应的下标(如不存在n个峰值,则挑选实际峰值对应的下标,如一个峰值都不存在,则挑选最大值对应的下标),其中n为预设的候选频率点数目,根据自相关域中的峰值对应的下标换算出相应的频率点,并通过离散傅里叶变换计算这些候选频率点的频谱幅度。
[0090]
s12.2、求截取数据的shc(spectral harmonics correlation)函数
[0091][0092]
其中f为频率,x(f)为x(n)离散傅里叶变换,r=1,

,h是谐波个数下标,h为预设谐波总个数,f'=-l
f
,

,l
f
为频率范围下标,l
f
为预设频率范围。从shc(f)中在指定预设搜索区间内挑选最大的n个峰值对应的频率(如不存在n个峰值,则挑选实际峰值对应的频率,如一个峰值都不存在,则挑选最大值对应的频率),同时通过离散傅里叶变换获取这些候选频率点对应的频谱幅度。
[0093]
s12.3、将第一帧数据x(n)缩短一半,在此基础上,分别根据步骤s12.1和s12.2获
取相应的候选频率点以及对应的频谱幅度。在转数变化较快区间,由于长度过长,可能会导致某些基频频率点被淹没,通过缩短长度,在不同时间尺度上,可以获取这些基频频率点。
[0094]
s12.4、将步骤s12.1-12.3获取的候选频率点进行合并,如果两个候选频率点之比小于预设值δ,则进行合并,新候选频率点为两频率点的平均值,频谱幅度为两频率点对应幅度的最大值。将合并完以后的候选频率点,按对应频谱幅度值从大到小进行排序,如果合并后的候选频率点个数大于2n,则去除对应频谱幅度值最小的候选频率点,直至合并后的候选频率点个数等于2n,同时为每一个频率点都配备一个计数器,初始值为预设值整数c
max
[0095]
s13、追踪阶段:
[0096]
s13.1、在上一帧的基础上,移动frame_len点作为当前帧的开始位置,其中frame_len为预设参数值,并根据上一帧的候选频率点确定当前帧的长度l
i
=α*t
max
,其中i为当前帧下标,t
max
为上一帧候选频率点最小频率点对应的周期长度,α为预设倍数。
[0097]
s13.2、按照步骤s12.1-12.4获取频率点集合f
c
以及相对应的频谱幅度。
[0098]
s13.3.依次根据上一帧的候选频率点集合f
i-1
中的频率,在f
c
中挑选最接近的点,满足频率点之比小于预设值δ,作为当前帧候选频率点集合f
i

[0099]
s13.4.按照s13.3操作,如果在f
c
中不存在与f
i-1
中某个频率点f
i-1,j
对应的频率点,其中j为在集合中的下标。则在f
i-1,j
的预设附近区间内对shc值进行搜索,挑选shc最大值对应的频率点作为新的频率点f
i,j
,并记录相对应的频谱幅度,同时将其对应的计数器值减1。
[0100]
有时候在某此转数下,基频值不一定突出或消失,因此不能立刻判断为此基频值消失。
[0101]
s13.5、在s13.4的基础上,检查各个候选频率对应的计数器,如有计数器对应的值为0,则替换此频率,替换规则为:a、如果f
c
中频谱幅度最大的频率点没在步骤s13.3-13.4中选中,则挑选此频率点;b、如果a条件不满足,则在f
c
中选择与当前频率最接近的频率点。替换完频率以后,将对应的计数器值重置为预设初始值c
max

[0102]
s13.6、根据上述步骤获取当前帧的候选频率点集合f
i
、对应的频谱幅度以及对应的计数器值。
[0103]
s14、计算完所有帧的候选频率点以后,将f
i,j
对应同一个j值、不同i值连成一条线,将这条线对应频谱幅度值进行相乘,挑选相乘结果最大的那条线作为最终获取的基频线,如图4所示。
[0104]
因为可能会搜索到多条连续的线,基频线可能在某些局部区域不占优势,但在整体区域会点优势,因此通过全局的方式去挑选结果会更可靠。
[0105]
s15、在短时傅里叶变换谱中,根据候选频率点线,分别获取其1,2,

,r次谐波的幅值和相位。
[0106]
步骤s2中,具体将采集到的电动汽车的油门、车速、踏板等车身参数进行归一化后,输入上述预先训练好的gru-rnn模型中,预测出转数和声压级,通过转速获得相应的基频频率f。
[0107]
步骤s5中,还根据步骤s2获得的声压级调整各阶次谐波的权重系数,以获得预期的总谐波的幅值和相位。
[0108]
电动汽车主动发声系统
[0109]
本实施例还提供一种具体的电动汽车主动发声系统。如图5所示,该电动汽车的主动发声系统包括:车身参数获取模块1、预测模型2、主动发声音源合成模块3、声场控制模块4、驱动功放5及车内扬声器6。其中,预测模型2、主动发声音源合成模块3和声场控制模块4均设置于一信号处理芯片上。
[0110]
车身参数获取模块1用于获取电动汽车的车身参数。本实施例中具体采用与电动汽车通信的can总线。车身参数具体为车速、油门、扭矩、和档位。
[0111]
预测模型2用于根据车身参数预测出转数和声压级。本实施例中具体采用上文述及的训练方法预先训练好的gru-rnn模型,将归一化处理后的车速、油门、扭矩、和档位输入训练好的gru-rnn模型中,预测并输出转数和声压级。
[0112]
主动发声音源合成模块3用于根据转数合成相应的主动发声音源,根据声压级调整主动发声音源的幅度。具体而言,主动发声音源合成模块3包括频率相位参数模块31、插值模块32和合成模块33。频率相位参数模块31接收一段纯加速或纯减速的音源,并根据上文述及的多尺度多线基频分析算法分析得到多个频率点处的1,2,

,r次谐波的幅值和相位,并存储为频率幅值相位参数表。插值模块32的一个输入端和频率相位参数模块31的输出端电性连接以获取频率幅值相位参数表,插值模块32的另一个输入端和预测模型2的输出端电性连接以获取预测出的转数和声压级,并根据转速对应的基频频率查找其在频率幅值相位参数表中的位置,通过插值算法获得基频频率点处所有阶次谐波的幅度和相位。合成模块33的输入端和插值模块32的输出端电性连接,用于获取基频频率点处所有阶次谐波的幅度和相位,根据公式合成相应的发动机信号,并根据声压级调整各阶次谐波的权重系数,以获得预期的总谐波的幅值和相位,输出主动发声音源信号。
[0113]
声场控制模块4的输入端和合成模块33的输出端电性连接,用于通过声场控制调试技术调试车内声场。
[0114]
驱动功放5的输入端和声场控制模块4的输出端电性连接,以将合成的主动发声音源信号转换为模拟信号,馈给车内的扬声器6进行播放。当车内的扬声器6为数字扬声器6时,则扬声器6的输入端直接和合成模块电性连接,而不需要驱动功放5。
[0115]
本实施例的电动汽车主动发声方法及系统可以保持传统内燃机汽车品牌声音dna的传承。尽管主动发声音源可以完全重新设计,但因为主观性和个化性较强,要想获得用户认可较难。而现有部分传承较久的车型的内燃机声音已获大众认可,而使用本方法可以保持原始声音特色,更易打入市场。只需要一段连续加速和连续减速的音源,因为连续加速或减速的音源里包含了所有的转速信息,可以避免录制花费大量的时间和人力。网上存在很多不同内燃机车型的加速或减速音源,通过我们的高精度分析算法,不需要通过can获取转数信号,也可以较好地估计出相应的基频,进一步可以获取相应音源参数,从而避免了重新录制音源,节省了大量的时间和人力。
[0116]
此外,采用基于gru结构的rnn深度学习网络,根据车身参数可以更好的模拟出当前转数,因为深度学习网络有高度非线性,可以直接从数据中学出相应的换档策略,不需要人为去建立近似模型,降低了工作难度。且将换档策略与声音风格解耦合,分别独立设计,分工明确,这样可以在同一辆电动汽车上可以同时拥有传统内燃机车型a的声音风格和传
统内燃机车型b的换档策略
[0117]
上述实施例只为说明本发明的技术构思及特点,是一种优选的实施例,其目的在于熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限定本发明的保护范围。凡根据本发明的精神实质所作的等效变换或修饰,都应涵盖在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1