专利类型 | 发明公开 | 法律事件 | 公开; 实质审查; |
专利有效性 | 实质审查 | 当前状态 | 实质审查 |
申请号 | CN202410331157.6 | 申请日 | 2024-03-21 |
公开(公告)号 | CN118250624A | 公开(公告)日 | 2024-06-25 |
申请人 | 上海艾为电子技术股份有限公司; | 申请人类型 | 企业 |
发明人 | 司天明; | 第一发明人 | 司天明 |
权利人 | 上海艾为电子技术股份有限公司 | 权利人类型 | 企业 |
当前权利人 | 上海艾为电子技术股份有限公司 | 当前权利人类型 | 企业 |
省份 | 当前专利权人所在省份:上海市 | 城市 | 当前专利权人所在城市:上海市闵行区 |
具体地址 | 当前专利权人所在详细地址:上海市闵行区秀文路908弄2号1201室 | 邮编 | 当前专利权人邮编:201199 |
主IPC国际分类 | H04R29/00 | 所有IPC国际分类 | H04R29/00 |
专利引用数量 | 0 | 专利被引用数量 | 0 |
专利权利要求数量 | 16 | 专利文献类型 | A |
专利代理机构 | 上海华诚知识产权代理有限公司 | 专利代理人 | 李梅; |
摘要 | 本 申请 涉及扬声器检测领域,公开了一种发声体参数检测方法、装置、 电子 设备及存储介质。本申请的发声体参数检测方法包括:获取检测 信号 ,确定预设计算窗口内的各检测信号均包括目标信号,基于预设计算窗口内的各检测信号确定发声体的参数。本方案通过在 输入信号 中加入 导频信号 ,根据在预设计算窗口内的均含有导频成分的检测信号来计算扬声器 电阻 的,其可避免在计算扬声器电阻过程中,因导频信号中断而造成的计算误差,进一步提高了扬声器电阻检测的精准性。 | ||
权利要求 | 1.一种发声体参数检测方法,其特征在于,包括: |
||
说明书全文 | 一种发声体参数检测方法、装置、电子设备及存储介质技术领域[0001] 本申请涉及扬声器检测技术领域,特别涉及一种发声体参数检测方法、装置、电子设备及存储介质。 背景技术[0002] 随着电子设备的快速发展,小型扬声器在智能手机、物联网终端等便携式电子设备中得到了广泛的应用。精准控制扬声器温度有助于提高设备上小型扬声器的使用体验,同时能够延长扬声器的使用寿命,提高产品的竞争力。 [0003] 目前,扬声器温度获取一般是先通过计算获得扬声器的音圈电阻,再根据温度系数换算利用音圈电阻得到扬声器温度。因此,精准控制扬声器温度的前提是获得精确的扬声器音圈电阻。然而由于实际应用中,扬声器播放信号是随机的,使得采集到的用于计算电阻的反馈信号也不是平稳连续的,这导致电阻计算会随反馈信号的不连续产生较大波动,进而导致获取的电阻误差较大,非常不利于扬声器温度的精准控制。发明内容 [0005] 第一方面,本申请实施例提供了一种发声体参数检测方法,包括: [0007] 确定预设计算窗口内的各检测信号均包括目标信号,其中,目标信号由施加于发声体的输入信号中的导频信号生成; [0008] 基于预设计算窗口内的各检测信号确定发声体的参数。 [0009] 该方法可用于电子设备(例如,智能电话、平板电脑、膝上型计算机、音乐播放器、耳机等等)中的音频处理芯片上。音频处理芯片包括输入模块、输出模块、模拟‑数字转换器(analog‑to‑digital converter,ADC)模块和数字信号处理(digital signal processing,DSP)模块。其中,输入模块用于接收原始的输入信号(具体的,该原始输入信号可为数字信号),输出模块用于将由输入信号转换成的输出信号(具体的,该输出信号可以为模拟信号)输出至发声体,ADC模块用于采集发声体两端的检测信号,DSP模块用于接收ADC模块采集的检测信号,并对检测信号进行处理分析以确定发声体参数。 [0010] 相比于根据输入信号的反馈信号直接计算扬声器电阻,本方案通过在输入信号中加入导频信号,以利用输入信号的反馈信号(即检测信号)中的导频成分计算发声体参数(下述以扬声器电阻为例),可避免因输入信号不稳定而造成的扬声器电阻检测波动的问题。并且不同于直接根据扬声器两端的检测信号计算扬声器电阻,本方案是根据在预设计算窗口内的均含有导频成分的检测信号来计算扬声器电阻的,其可避免在计算扬声器电阻过程中,因导频信号中断(即计算扬声器电阻的检测信号中不包含导频信号的信息)而造成的计算误差,进一步提高了扬声器电阻检测的精准性。 [0011] 在上述第一方面的一种可能的实现中,各输入信号对应设置有标识参数,其中,对于包含导频信号的输入信号,其标识参数为第一标识。 [0012] 输入信号可以是数字信号。在输入信号施加于发声体之前,可为各帧输入信号设置相应的标识参数,具体的,若输入信号中包含导频信号,则该帧输入信号的标识参数为第一标识,若输入信号不包含导频信号,则该帧输入信号的标识参数为第二标识。具体的,第一标识与第二标识不同(例如第一标识和第二标识可以用不同的数值表示),以便于区分输入信号中是否包含导频信号,提高识别效率。 [0013] 进一步的,为了便于机器算法识别,第一标识和第二标识可分别用数字1和数字0表示,即,若输入信号中包含导频信号,则该帧输入信号的标识参数为1,若输入信号不包含导频信号,则该帧输入信号的标识参数为0。 [0014] 在上述第一方面的一种可能的实现中,确定预设计算窗口内的各检测信号均包括目标信号,包括: [0015] 针对预设计算窗口内的各检测信号,确定其对应的标识参数; [0016] 根据检测信号的标识参数为第一标识,确定检测信号包括目标信号。 [0017] 在上述第一方面的一种可能的实现中,各输入信号对应设置标识参数的步骤,包括: [0018] 获取设定值; [0019] 针对各输入信号,获取输入信号的特征值; [0020] 根据特征值大于设定值,确定输入信号的标识参数为第一标识,并向特征值对应的输入信号中添加导频信号。 [0021] 如果在输入信号较小时,添加导频信号会使发声体产生杂音,不利于听感,因而为了避免杂音的产生,本申请在输入信号较大时才会添加导频信号到输入信号中。例如,可根据原始输入信号的大小(即特征值)设置标识参数(即Flag),当原始输入信号的Flag为1时,生成导频信号添加在原始的输入信号中,以使原始输入信号新增导频频率成分,便于后续可以通过快速傅里叶变换(fast fourier transform,FFT)提取该频率成分的电压电流求得发声体参数。而当原始输入信号的Flag为0时,不生成导频信号,保持原始输入信号成分不变。 [0022] 在上述第一方面的一种可能的实现中,获取输入信号的特征值,包括: [0023] 基于峰值检测方法获取输入信号的峰值作为其特征值。 [0024] 即,采取Peak峰值检测方式,首先对一段输入信号取绝对值,然后判断其中的最大值作为该段信号的特征值。通过判断该特征值与设定值的大小,若特征值大于设定值,则Flag为1,否则Flag为0。 [0025] 在上述第一方面的一种可能的实现中,预设计算窗口包括至少预设数量个采样点,根据预设数量个采样点的检测信号可进行一次傅里叶变换。 [0026] 具体的,预设计算窗口的采样点是指DSP进行FFT时采样的数据点,该预设计算窗口内的采样点的数据包含在ADC模块采集的检测信号数据内,其可以为ADC模块采样点的降采样,即预设计算窗口内各采样点的采集频率可以与用于采集检测信号的ADC模块的采样频率相同,也可以低于ADC模块的采样频率。例如,ADC模块的采样频率为64KHz,而对应于计算窗口内的采样点的采样频率可以为32KHz,即DSP模块对于ADC模块采集的检测信号间隔取样作为计算FFT的数据。 [0027] 进一步的,预设计算窗口所包括的至少预设数量个采样点是连续的。 [0028] 在上述第一方面的一种可能的实现中,预设数量为1024。 [0029] 预设计算窗口包括一次完整的FFT至少所需要的数据量,一次FFT至少需要1024个采样数据,因此,预设计算窗口至少包括1024个采样点。进一步的,为保证在导频频率下FFT计算的准确性,导频信号的频率F与预设计算窗口内的各采样点的总数量N的乘积可等于检测信号的采样频率fs的整数倍,即m*fs=N*F,其中,m为正整数。 [0030] 在上述第一方面的一种可能的实现中, [0031] 检测信号包括同步获取的电压信号和电流信号: [0032] 确定预设计算窗口内的各检测信号均包括目标信号;基于预设计算窗口内的各检测信号确定发声体的参数,包括: [0033] 确定预设计算窗口内的各电压信号均包括目标电压信号; [0034] 确定预设计算窗口内的各电流信号均包括目标电流信号; [0035] 基于预设计算窗口内的各电压信号和各电流信号确定发声体的参数。 [0036] 在上述第一方面的一种可能的实现中,基于电压信号和电流信号确定发声体的参数,包括: [0037] 针对各电压信号,进行导频信号的频率下的傅里叶计算,获得电压目标值; [0038] 针对各电流信号,进行导频信号的频率下的傅里叶计算,获得电流目标值; [0039] 根据电压目标值和电流目标值的比值,确定发声体的参数。 [0040] ADC模块可同步采集发声体两端的电压信号和电流信号,电压目标值和电流目标值可分别基于ADC采集的电压信号和电流信号进行FFT获得(具体的,一个完整的FFT计算至少需要迭代1024个采样点)。然而由于导频信号仅在较大的输入信号中添加,因此,整体输入信号中的导频信号是断续的,也就使得ADC采集的电压信号和电流信号中的导频成分也是断续的,即并不是采集的所有电压信号和电流信号中均含有导频成分,如果利用不含有导频成分的检测信号直接计算FFT会对电阻计算造成一定误差。 [0041] 针对上述,本申请在具体计算时,在1024个采样点中,每采集一个采样点,先判断该采样点的检测信号中包不包含导频成分(即目标信号),如包含导频成分,则进行FFT相应阶的计算,如果不包含导频成分,则舍弃前面FFT各阶的结果,直到检测信号中包含导频成分时,重新开始一段新的FFT计算。 [0042] 当输入信号设置有Flag时,检测信号中包不包含导频成分可基于检测信号的Flag是否为1进行判断。即,在计算FFT过程中,将Flag作为一个计算参考标志,如果Flag为1则基于该采样点的数据进行FFT计算,如果其中一个采样点的数据的Flag为0,则将之前获得的FFT结果变为0(即舍弃前面的结果),直到检测信号的Flag变为1时,重新开始一段新的FFT计算。 [0043] 在上述第一方面的一种可能的实现中,确定预设计算窗口内的各检测信号均包括目标信号;基于预设计算窗口内的各检测信号确定发声体的参数,包括: [0044] 每获取一检测信号,确定检测信号包括目标信号,并基于检测信号确定第一物理量,第一物理量为傅里叶变换中的一个阶项; [0045] 基于第一物理量对目标值进行更新; [0046] 在目标值连续更新设定次数后,基于目标值确定发声体的参数。 [0047] 在上述第一方面的一种可能的实现中,发声体检测方法还包括: [0048] 针对获取的检测信号,确定检测信号不包括目标信号,将目标值设为0,且将目标值的更新次数清零。 [0049] 在上述第一方面的一种可能的实现中,发声体的参数包括发声体音圈的电阻值。 [0050] 在上述第一方面的一种可能的实现中,导频信号的频率低于发声体所对应的低频截止频率。 [0051] 具体的,可以通过将在某个导频频率F处的导频信号添加到输入信号路径在初始化时或周期性地(即以规则的或不规则的时间间隔间歇地或在需要时)或持续地测量发声体参数。该导频信号的频率可以在声学低频截止频率以下,使得此导频信号可以提供对发声体参数的适当测量,而不产生任何大量的听得见的影响,以避免因人耳察觉到导频信号而影响听感。 [0052] 第二方面,本申请实施里提供了一种发声体参数检测装置,包括: [0053] 获取模块,用于获取检测信号; [0054] 信号确定模块,用于确定预设计算窗口内的各检测信号均包括目标信号; [0055] 参数确定模块,用于基于预设计算窗口内的各检测信号确定发声体的参数。 [0056] 该发声体参数检测装置可为音频处理芯片,其可用于电子设备(例如,智能电话、平板电脑、膝上型计算机、音乐播放器、耳机等等)上,检测电子设备中的发声体(例如扬声器)的参数(例如音圈的电阻值)。该音频处理芯片可包括输入模块、输出模块、ADC模块(即获取模块)和DSP模块(相当于上述信号确定模块和参数确定模块)。其中,输入模块用于接收原始的输入信号(具体的,该原始输入信号可为数字信号),输出模块用于将由输入信号转换成的输出信号(具体的,该输出信号可以为模拟信号)输出至发声体,ADC模块用于采集发声体两端的检测信号,DSP模块用于接收ADC模块采集的检测信号,并对检测信号进行处理分析以确定发声体参数。 [0057] 相比于根据输入信号的反馈信号直接计算扬声器电阻,本方案通过在输入信号中加入导频信号,以利用输入信号的反馈信号(即检测信号)中的导频成分计算发声体参数(以扬声器电阻为例),可避免因输入信号不稳定而造成的扬声器电阻检测波动的问题。并且不同于直接根据扬声器两端的检测信号计算扬声器电阻,本方案是根据在预设计算窗口内的均含有导频成分的检测信号来计算扬声器电阻的,其可避免在计算扬声器电阻过程中,因导频信号中断(即计算扬声器电阻的检测信号中不包含导频信号的信息)而造成的计算误差,进一步提高了扬声器电阻检测的精准性。 [0058] 在上述第二方面的一种可能的实现中,在上述装置中,各输入信号对应设置有标识参数,其中,对于包含导频信号的输入信号,其标识参数为第一标识。 [0059] 输入信号可以是数字信号。在输出模块将信号施加于发声体之前,可为各帧输入信号设置相应的标识参数,具体的,若输入信号中包含导频信号,则该帧输入信号的标识参数为第一标识,若输入信号不包含导频信号,则该帧输入信号的标识参数为第二标识。具体的,第一标识与第二标识不同(例如第一标识和第二标识可以用不同的数值表示),以便于区分输入信号中是否包含导频信号,提高识别效率。 [0060] 进一步的,为了便于机器算法识别,第一标识和第二标识可分别用数字1和数字0表示,即,若输入信号中包含导频信号,则该帧输入信号的标识参数为1,若输入信号不包含导频信号,则该帧输入信号的标识参数为0。 [0061] 在上述第二方面的一种可能的实现中,在上述装置中,确定预设计算窗口内的各检测信号均包括目标信号,包括: [0062] 针对预设计算窗口内的各检测信号,确定其对应的标识参数; [0063] 根据检测信号的标识参数为第一标识,确定检测信号包括目标信号。 [0064] 在上述第二方面的一种可能的实现中,在上述装置中,各输入信号对应设置标识参数的步骤,包括: [0065] 获取设定值; [0066] 针对各输入信号,获取输入信号的特征值; [0067] 根据特征值大于设定值,确定输入信号的标识参数为第一标识,并向特征值对应的输入信号中添加导频信号。 [0068] 如果在输入信号较小时,添加导频信号会使发声体产生杂音,不利于听感,因而为了避免杂音的产生,本申请在输入信号较大时才会添加导频信号到输入信号中。例如,可根据原始输入信号的大小(即特征值)设置标识参数(即Flag),当原始输入信号的Flag为1时,生成导频信号添加在原始的输入信号中,以使原始输入信号新增导频频率成分,便于后续可以通过FFT(Fast Fourier Transform,快速傅里叶变换)提取该频率成分的电压电流求得发声体参数。而当原始输入信号的Flag为0时,不生成导频信号,保持原始输入信号成分不变。 [0069] 在上述第二方面的一种可能的实现中,在上述装置中,获取输入信号的特征值,包括: [0070] 基于峰值检测方法获取输入信号的峰值作为其特征值。 [0071] 即,采取Peak峰值检测方式,首先对一段输入信号取绝对值,然后判断其中的最大值作为该段信号的特征值。通过判断该特征值与设定值的大小,若特征值大于设定值,则Flag为1,否则Flag为0。 [0072] 在上述第二方面的一种可能的实现中,预设计算窗口包括至少1024个采样点。 [0073] 具体的,FFT至少需要1024个采样数据,因此,预设计算窗口至少包括1024个采样点。进一步的,为保证在导频频率下FFT计算的准确性,导频信号的频率F与预设计算窗口内的各采样点的总数量N的乘积可等于检测信号的采样频率fs的整数倍,即m*fs=N*F,其中,m为正整数。 [0074] 在上述第二方面的一种可能的实现中,检测信号包括电压信号和电流信号;获取模块用于同步获取各电压信号和各电流信号;信号确定模块用于确定预设计算窗口内的各电压信号均包括目标电压信号,以及,确定预设计算窗口内的各电流信号均包括目标电流信号;参数确定模块用于基于预设计算窗口内的电压信号和电流信号确定发声体的参数。 [0075] 在上述第二方面的一种可能的实现中,基于电压信号和电流信号确定发声体的参数,包括: [0076] 针对各电压信号,进行导频信号的频率下的傅里叶计算,获得电压目标值; [0077] 针对各电流信号,进行导频信号的频率下的傅里叶计算,获得电流目标值; [0078] 根据电压目标值和电流目标值的比值,确定发声体的参数。 [0079] ADC模块可同步采集发声体两端的电压信号和电流信号,电压目标值和电流目标值可分别基于ADC采集的电压信号和电流信号进行FFT获得(具体的,一个完整的FFT计算至少需要迭代1024个采样点)。然而由于导频信号仅在较大的输入信号中添加,因此,整体输入信号中的导频信号是断续的,也就使得ADC采集的电压信号和电流信号中的导频成分也是断续的,即并不是采集的所有电压信号和电流信号中均含有导频成分,如果利用不含有导频成分的检测信号直接计算FFT会对电阻计算造成一定误差。 [0080] 针对上述,本申请在具体计算时,在1024个采样点中,ADC每采集一个采样点,DSP模块先判断ADC采集的该采样点的检测信号中包不包含导频成分(即目标信号),如包含导频成分,则进行FFT相应阶的计算,如果不包含导频成分,则舍弃前面FFT各阶的结果,直到检测信号中包含导频成分时,重新开始一段新的FFT计算。 [0081] 当输入信号设置有Flag时,检测信号中包不包含导频成分可基于检测信号的Flag是否为1进行判断。即,在计算FFT过程中,将Flag作为一个计算参考标志,如果Flag为1则基于该采样点的数据进行FFT计算,如果其中一个采样点的数据的Flag为0,则将之前获得的FFT结果变为0(即舍弃前面的结果),直到检测信号的Flag变为1时,重新开始一段新的FFT计算 [0082] 在上述第二方面的一种可能的实现中,确定预设计算窗口内的各检测信号均包括目标信号;基于预设计算窗口内的各检测信号确定发声体的参数,包括: [0083] 每获取一检测信号,确定检测信号包括目标信号,并基于检测信号确定第一物理量,第一物理量为傅里叶变换中的一个阶项; [0084] 基于第一物理量对目标值进行更新; [0085] 在目标值连续更新设定次数后,基于目标值确定发声体的参数。 [0086] 在上述第二方面的一种可能的实现中,信号确定模块还用于针对获取的检测信号,确定检测信号不包括目标信号;参数确定模块还用于当检测信号不包括目标信号时,将目标值设为0,且将目标值的更新次数清零。 [0087] 在上述第二方面的一种可能的实现中,发声体的参数包括发声体音圈的电阻值。 [0088] 在上述第二方面的一种可能的实现中,导频信号的频率低于发声体所对应的低频截止频率。 [0089] 具体的,可以通过将在某个导频频率F处的导频信号添加到输入信号路径在初始化时或周期性地(即以规则的或不规则的时间间隔间歇地或在需要时)或持续地测量发声体参数。该导频信号的频率可以在声学低频截止频率以下,使得此导频信号可以提供对发声体参数的适当测量,而不产生任何大量的听得见的影响,以避免因人耳察觉到导频信号而影响听感。 [0090] 第三方面,本申请实施里提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;以及,处理器,当处理器执行存储器中的指令时,可使得电子设备执行上述第一方面任一种可能的实现中的方法。 [0092] 图1根据本申请的一些实施例,示出了音频处理芯片的结构示意图; [0093] 图2根据本申请的一些实施例,示出了发声体参数检测方法的流程示意图一; [0094] 图3根据本申请的一些实施例,示出了发声体参数检测方法的流程示意图二; [0095] 图4根据本申请的一些实施例,示出了发声体参数检测装置的结构示意图; [0096] 图5根据本申请的一些实施例,示出了电子设备的结构示意图; [0097] 图6根据本申请的一些实施例,示出了片上系统(system on chip,SoC)的结构示意图。 具体实施方式[0098] 下面结合具体实施例和附图对本申请做进一步说明。可以理解的是,本公开的说明性实施例包括但不限于发声体参数检测方法、装置、电子设备及存储介质。此处描述的具体实施例仅仅是为了解释本申请,而非对本申请的限定。此外,为了便于描述,附图中仅示出了与本申请相关的部分而非全部的结构或过程。 [0099] 以下由特定的具体实施例说明本申请的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本申请的其他优点及功效。虽然本申请的描述将结合较佳实施例一起介绍,但这并不代表此申请的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本申请的权利要求而有可能延伸出的其它选择或改造。为了提供对本申请的深度了解,以下描述中将包含许多具体的细节。本申请也可以不使用这些细节实施。此外,为了避免混乱或模糊本申请的重点,有些具体细节将在描述中被省略。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。 [0100] 扬声器俗称喇叭,是一种常用的电声换能器件,其作为声音播放媒介,在音响、电视机、收音机、放音机、复读机、智能手机、平板电脑等电子产品中得到了广泛的应用。扬声器主要由纸盆、磁铁(外磁铁或内磁铁)、铁芯、线圈、支架、防尘罩等构成,当处于磁场中的音圈(线圈)有音频电流通过时,就会产生随音频电流变化的磁场,这一磁场和永久磁铁的磁场发生相互作用,使音圈沿着轴向振动,进而带动纸盆使周围大面积的空气发生相应的振动,从而将机械能转换为声能,发出悦耳的声音。 [0101] 以手机作为本申请实施方式的一个应用场景。手机上设置有扬声器和音频处理芯片,具体的,音频处理芯片设置于手机内部,可集成于手机的主板上。如图1所示,音频处理芯片包括输入模块121、放大器模块122、输出模块123,其中,输入模块121用于接收输入信号VIN,通常该输入信号VIN可以是数字音频信号;输出模块用于输出音频信号VOUT,通常输出音频信号VOUT是模拟音频信号。放大器模块122位于输入模块121和输出模块122之间的信号路径中,用于放大它接收的信号。该放大器模块122包括至少一个放大器级,且取决于放大器的类型,通常可以包括一个模拟‑数字转换器(digital‑to‑analog converter,DAC),以在放大之前将接收的数字信号转换成模拟信号。在图1中,输出音频信号VOUT是用来驱动负载200的输出信号,负载200在使用时被电连接到输出模块123。负载200可以是主机设备(例如包括音频处理芯片的设备,例如手机、平板等等)上的扬声器,也可以是连接到主机设备的其他负载(例如头戴式耳机)的扬声器。在图1所示的使用场景中,负载200是手机上的扬声器。 [0102] 继续参考图1,音频处理芯片还包括ADC模块124和DSP模块125,ADC模块124用于采集扬声器音圈电阻两端的电压数据和电流数据,DSP模块125用于对ADC模块124采集到的电压数据和电流数据继续处理分析,以计算出音圈电阻的阻抗,进而手机主板可以根据该阻抗判断扬声器的温度,以对扬声器电阻温度进行实时的监测和反馈。 [0103] 如背景技术中所说,因扬声器播放的音乐、语音等音频信号是随机的,因此输入信号不稳定,不能直接基于该单纯的输入信号计算扬声器电阻。为解决该问题,本申请的一实施例提供了一种扬声器音圈电阻的计算方法,包括:在扬声器的输入信号中加入固定频率的且不易被人耳察觉的导频信号,且为了避免加入的导频信号产生杂音,一般在输入信号较大时加入导频信号,而在输入信号较小时,不添加导频信号。后续再通过ADC模块121采样得到扬声器输出端的电压/电流反馈信号,然后通过DSP模块122对ADC模块121采集到的电压/电流反馈信号进行FFT得到导频频率下的IV数据(例如电流数据和电压数据),并通过计算导频频率下的电压数据和电流数据的比值得到扬声器音圈的电阻值。 [0104] 其中,FFT计算公式为: [0105] [0106] 根据欧拉公式,式(1)等价于 [0107] [0109] 其中,x(n)表示采样点序列,是时域的采样点;N表示采样点序列的样点总数。 [0110] X(k)表示第k个FFT的输出,如X(0),X(1),X(2)等,它所代表的频点为f=k*fs/N,fs代表采样点的采样频率。例如,X(0)代表的频点为f=0*fs/N=0,即零频分量。X(1)代表的频点为f=1*fs/N=fs/N。 [0111] k点FFT的模值除以k/2就是对应该频率下的信号的幅度。且要精确到某一一频率,例如mHz,则需要采样长度为1/m秒的信号,并做FFT。即在利用上述公式计算导频频率下的电压值和电流值时,首先需要根据导频信号的频率设定采样点(例如采样数量),而后对ADC采集到的设定采样数量的电压数据和电流数据进行FFT,以得到导频频率下的电压值和电流值,并根据导频频率的电压值和电流值计算出音圈电阻。 [0112] 以导频信号频率F为46.875Hz,采样频率fs为48KHz为例,根据k点频率f=k*fs/N,可得,采样点数量N的计算公式为: [0113] N=k*fs/f (3) [0114] 则对于导频信号的频率F,其对应的采样点数量N可设置为 [0115] N=k*48000/46.875=1024k [0116] 其中,k为正整数。 [0117] 即,设定区间内的采样点的数量为1024、2048、3072等数,可获得在导频频率46.875Hz下的FFT值。 [0118] 然而上述方法得到的音圈电阻的阻值仍会随输入信号产生波动,因为上述方法中的导频信号是在输入信号幅值较大时才会加入到信号中的,而输入信号幅值较小时,没有导频信号。所以当FFT区间包含信号从大到小或者从小到大的变化时,该段时间内的导频信号随输入信号幅度变化而间断,使得导频信号在该段区间不连续,进而导致DSP模块通过反馈回路计算得到的电阻有较大的误差。 [0119] 基于此,为了消除电阻计算波动,本申请的另一实施例提供了一种发声体参数检测方法,其仅在完整导频信号区间计算FFT,避免了计算过程中因导频信号断开而带来的误差,提高了扬声器音圈电阻计算的准确性,从而为更为精准的扬声器音圈温度保护机制提供了便利。 [0120] 根据本申请的实施例的发声体参数检测方法包括,获取由施加于发声体的输入信号生成的检测信号,确定预设计算窗口内的各检测信号均包括由施加于发声体的输入信号中的导频信号所生成的目标信号,基于预设计算窗口内的各检测信号确定发声体的参数。 [0121] 该发声体参数检测方法可应用于电子设备中的发声体参数检测装置(例如音频处理芯片)。电子设备可以为智能电话、平板电脑、膝上型计算机、音乐播放器、耳机等等。该发声体参数检测方法仅在完整导频信号区间计算FFT,避免了计算过程中因导频信号断开而带来的误差,进而能够精准检测扬声器音圈电阻,为后续实现扬声器音圈温度精准保护机制提供了便利。 [0122] 在本申请的一些实施例中,各输入信号对应设置有标识参数,其中,对于包含导频信号的输入信号,其标识参数为第一标识。 [0123] 在本申请的一些实施例中,确定预设计算窗口内的各检测信号均包括目标信号,包括: [0124] 针对预设计算窗口内的各检测信号,确定其对应的标识参数; [0125] 根据检测信号的标识参数为第一标识,确定检测信号包括目标信号。 [0126] 需要注意的是,FFT至少需要1024个采样数据,因此,预设计算窗口至少包括1024个采样点。且为保证在导频频率下FFT计算的准确性,导频信号的频率F与预设计算窗口内的各采样点的总数量N的乘积还等于检测信号的采样频率fs的整数倍,例如,当采样频率为48KHz,导频信号的频率为46.875Hz时,预设计算窗口内的采样点数量可以为1024、2048、 3072等等。 [0127] 下面将结合附图对本申请的该实施例作进一步地详细描述。在本申请中,发声体可以为扬声器、受话器等发声设备,其参数可以包括音圈电阻、力因数、劲度系数等参数。下面为了描述方便,以发声体为扬声器,发声体参数为扬声器音圈电阻为例,阐述本申请的技术方案。 [0128] 参考图2,在本申请的一个实施例中,发声体参数检测方法包括: [0129] 步骤S101:针对各输入信号,设置标识参数。 [0130] 输入信号可以是数字信号。在本步骤S101中,可采取Peak峰值检测方式,对一段输入信号取绝对值,判断其中的最大值作为该段信号的特征值,而后通过判断该特征值与设置的设定值的大小,决定是否生成导频信号添加至输入信号中,并为输入信号设置相应的标识参数(下述用Flag代称)。具体的,当输入信号的特征值大于或等于设定值时,生成导频信号添加至原始的输入信号中,并将该输入信号的Flag设为第一标识,而当输入信号的特征值小于设定值时,不生成导频信号添加至原始输入信号中,且将该输入信号的Flag设为第二标识。 [0131] 即,在输入信号施加于发声体之前,可为各帧数字形式的输入信号设置相应的Flag。在一些可能的实现方式中,可将包含导频信号的输入信号的Flag设置为第一标识,将不包含导频信号的输入信号的Flag设置为第二标识,第一标识与第二标识不同(例如第一标识和第二标识可以用不同的数值表示),以便于区分输入信号中是否包含导频信号,提高识别效率。 [0132] 进一步的,为了便于机器算法识别输入信号的Flag,第一标识和第二标识可分别用数字1和数字0表示,若输入信号中包含导频信号,则该帧输入信号的Flag为1,若输入信号不包含导频信号,则该帧输入信号的Flag为0。在本申请的其它一些实施例中,也可以将Flag设置为其他的数字或其他类型,只要能够根据参数区分出输入信号中包不包括导频信号即可。 [0133] 步骤S102:获取检测信号,其中,检测信号由施加于发声体的输入信号生成,至少部分输入信号中包含导频信号。 [0134] 由于输入信号为数字信号形式,无法直接输出到扬声器以使扬声器发声,因而,在步骤S101为输入信号设置Flag后,还需对输入信号进行数模转换,使数字信号转换为模拟信号后再输出至扬声器。 [0135] 模拟信号形式的输入信号施加到扬声器后,扬声器音圈电阻两端会产生电压和相应的电流,可利用ADC模块采集同步采集扬声器音圈电阻上的数字电压信号以及数字电流信号作为两组检测信号,由于输入信号对应有Flag,因而由输入信号生成的数字电压信号和数字电流信号中也具有相同的Flag。例如,某帧输入信后的Flag为1,那么该输入信号转换为模拟信号输出至扬声器上后,由ADC采集到的该输入信号生成的数字电压信号和数字电流信号的Flag也为1。 [0136] 步骤S103:确定预设计算窗口内的各检测信号均包括目标信号,基于预设计算窗口内的各检测信号确定发声体的参数;其中,目标信号由施加于发声体的输入信号中的导频信号生成。 [0137] 如上文中提到的,为了提高电阻计算的准确性,仅对包含有导频成分的数字电压信号和数字电流信号进行FFT计算。 [0138] 以预设计算窗口可包括1024个连续的采样点为例,上述可理解为,当ADC模块在1024个连续采样点采集的数字电压信号和数字电流信号均包括目标信号(即导频信号成分)时,则可将获取的1024个数字电压信号的数据代入上述式(2)进行FFT计算,然后得到相应的电压目标值,以及,将获取的1024个数字电流信号的数据代入上述式(2),获得相应的电流目标值,最后根据电压目标值和电流目标值的比值确定扬声器的音圈电阻的阻值。而当ADC模块在1024个连续采样点采集的数字电压信号和数字电流信号中至少有一个信号不包括目标信号(例如导频信号成分)时,则不再继续进行FFT。 [0139] 进一步的,FFT计算在机器中可通过迭代算法进行。 [0140] 所谓迭代,即是首先将电压FFT输出值的初始值以及电流FFT输出值的初始值设置为0,每基于FFT规则对数字电压信号(或数字电流信号)计算一次FFT的阶项后,则在电压FFT输出值(电流FFT输出值)的基础上增加计算的FFT阶项,以对电压FFT输出值(电流FFT输出值)进行更新。 [0141] 当利用音频处理芯片执行该方法时,ADC模块每获取一数字电压信号和数字电流信号后,都会将这两个信号实时传输至DSP模块,DSP模块对接收到的当前帧数字电压信号和当前帧数字电流信号进行分析,判断其Flag是否为1,如果其Flag为1,那么DSP会分别根据当前帧数字电压信号和当前帧数字电流信号计算其对应的FFT阶项,然后在电压FFT输出值(电流FFT输出值)的基础上累加计算得到的该FFT阶项。而如果DSP模块判断当前帧数字电压信号和当前帧数字电流信号Flag为0,则放弃之前的FFT结果,即将电压FFT输出值(电流FFT输出值)设置为0。直到数字电压信号和数字电流信号的Flag变为1时,重新开始一段新的FFT计算。 [0142] 本申请通过为输入信号设置标识参数,根据标识参数判断由输入信号生成的检测信号中是否包含导频成分,以便于在完整导频信号区间进行FFT计算,避免因为检测信号选择不当造成的电阻计算抖动误差,从而改善扬声器的温升保护机制,延长扬声器使用寿命。 [0143] 参考附图3,为本申请一实施例的发声体参数检测方法的一具体流程示意图。 [0144] 如图3所示,利在本实施例中的方法中,首先执行步骤S301,对数字形式的输入信号设置Flag,Flag设置的具体过程为:基于峰值检测方法,获取输入信号的峰值作为输入信号的特征值,如果输入信号的特征值大于或等于设定值,则生成导频信号加入到当前的输入信号中,并且将该输入信号的Flag设置为1,如果输入信号的特征值小于设定值,则不生成导频信号,并且将当前的输入信号的Flag设置为0。 [0145] 而后将数字形式的输入信号转换为模拟信号后输出至扬声器上。具体的,当输入信号输出至扬声器时,扬声器的音圈电阻上会产生电压和电流,由于输出至扬声器上的输入信号中包含有Flag的信息,因而在输入信号施加到扬声器电阻上时,由该输入信号生成的电压信号和电流信号中也含有与生成其的输入信号相同的Flag。 [0146] 然后基于步骤S302和S303,采用ADC将扬声器电阻两端的模拟电压信号和模拟电流信号转换为数字形式实时传递至DSP,而后DSP通过ADC传的当前的电压数字信号和当前电流数字信号的Flag是否为1,来判断它们中是否包含有导频信号的信息(即步骤S304)。若DSP识别到该电压信号和电流信号的Flag为1,则执行步骤S305和S306:计算该检测信号对应的第一物理量(即该检测信号对应的FFT阶项),在原目标值的基础上增加第一物理量作为新的目标值,若DSP识别到该电压信号和电流信号的Flag为0,则执行步骤S307:将目标值清零,重新进行FFT的计算。如此循环,直至DSP判断为FFT完成,则基于FFT计算获得的目标值计算音圈的电阻值(即步骤S308和S309)。 [0147] 具体的,目标值的初始值和更新次数的初始值均可以是0,当ADC将初次采样的电压数字信号和电流数字信号传递给DSP后,DSP判断当前ADC采集的电压数字信号和电流数字信号的Flag是否为1,若是1,则计算该次信号对应的FFT项:x(0),然后在原目标值的基础上增加将该值x(0),作为第一次更新后的目标值(即目标值变为x(0)),并将更新次数m累加一,由于更新次数m没有达到预设次数M(例如1024),因此DSP继续对ADC第二次采样的电压数字信号和电流数字信号的Flag进行识别,当该次数据的Flag也为1,则计算该次信号对应的FFT项x(1)exp(‑2jΠ/N),然后在第一次获得的目标值的基础上增加将该值x(1)exp(‑2jΠ/N),作为第二次更新后的目标值,此时,更新后的目标值变为x(0)+x(1)exp(‑2jΠ/N),……如此循环进行,直至进行了预设次数的累加,即可认为电压数据和电流数据分别完成了一次完整的FFT变换,根据各电压数据得到的目标值可得到导频信号对应的电压目标值,根据各电流数据得到的目标值可得到导频信号对应的电流目标值,然后计算导频信号对应的电压目标值和电流目标值的比值作为音圈电阻的阻值。 [0148] 需要注意的是,上述过程中的预设次数的累加是连续预设次数的累加,且在上述预设次数内的各电压数据和各电流数据的Flag均为1,以预设次数为1024为例,上述过程对应的是ADC连续1024次采集的电压数据和电流数据的Flag均为1,如果在上述过程中,其中一次的电压或电流数据的Flag是0,那么将目标值清零,重新进行FFT。 [0149] 例如FFT需要1024阶(即预设次数为1024),如果其1至499次,ADC采集的数据的Flag均为1,而其中的第500次的ADC采集的数据的Flag为0,那么在继续了499次目标值的累加后,在第500次时,由于Flag为0,此时DSP会将之前累加更新的目标值和更新次数均变为0,而后重新开始FFT。即对于下一次ADC采集的数据,如果其Flag为1,那么就将该数据作为新的FFT的开端,重新开始的FFT的第一项计算数据,其对应的FFT项为x(0),然后在原目标值(其数值为0)的基础上增加将该值,作为第一次更新后的目标值,并将更新次数m累加一变为m=1;后续如上进行。 [0150] 如图4所示,本申请的一些实施例还公开了一种发声体参数检测装置,包括: [0151] 获取模块201,用于获取检测信号; [0152] 信号确定模块202,用于确定预设计算窗口内的各检测信号均包括目标信号; [0153] 参数确定模块203,用于基于预设计算窗口内的各检测信号确定发声体的参数。 [0154] 关于发声体参数检测装置的具体限定可以参见上文中对于发声体参数检测方法的限定,在此不再赘述。上述发声体参数检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的运算模组中,也可以以软件形式存储于计算机设备中的存储器中,以便于计算机设备的运算模组调用执行以上各个模块对应的操作。 [0155] 现在参考图5,所示为根据本申请的一个实施例的电子设备400的框图。电子设备400可以包括耦合到控制器中枢403的一个或多个处理器401。对于至少一个实施例,控制器中枢403经由诸如前端总线(front side bus,FSB)之类的多分支总线、诸如快速通道连(quick‑path interconnect,QPI)之类的点对点接口、或者类似的连接406与处理器401进行通信。处理器401执行控制一般类型的数据处理操作的指令。在一实施例中,控制器中枢 403包括,但不局限于,图形存储器控制器中枢(graphics&memory controller hub,GMCH)(未示出)和输入/输出中枢(input output hub,IOH)(其可以在分开的芯片上)(未示出),其中GMCH包括存储器和图形控制器并与IOH耦合。 [0156] 电子设备400还可包括耦合到控制器中枢403的协处理器402和存储器404。或者,存储器和GMCH中的一个或两者可以被集成在处理器内(如本申请中所描述的),存储器404和协处理器402直接耦合到处理器401以及控制器中枢403,控制器中枢403与IOH处于单个芯片中。 [0157] 存储器404可以例如是动态随机存取存储器(dynamic random access memory,DRAM)、相变存储器(phase change memory,PCM)或这两者的组合。存储器404中可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。计算机可读存储介质中存储有指令,具体而言,存储有该指令的暂时和永久副本。该指令可以包括:由处理器中的至少一个执行时导致电子设备400实施如图2、图3所示方法的指令。当指令在计算机上运行时,使得计算机执行上述实施例公开的方法。 [0158] 在一个实施例中,协处理器402是专用处理器,诸如例如高吞吐量集成众核(many integrated core,MIC)处理器、网络或通信处理器、压缩引擎、图形处理器、图形处理单元上的通用计算(general‑purpose computing on graphics processing units,GPGPU)、或嵌入式处理器等等。协处理器402的任选性质用虚线表示在图5中。 [0159] 在一个实施例中,电子设备400可以进一步包括网络接口(network interface controller,NIC)406。网络接口406可以包括收发器,用于为电子设备400提供无线电接口,进而与任何其他合适的设备(如前端模块,天线等)进行通信。在各种实施例中,网络接口406可以与电子设备400的其他组件集成。网络接口406可以实现上述实施例中的通信单元的功能。 [0160] 电子设备400可以进一步包括输入/输出(input/output,I/O)设备405。I/O405可以包括:用户界面,该设计使得用户能够与电子设备400进行交互;外围组件接口的设计使得外围组件也能够与电子设备400交互;和/或传感器设计用于确定与电子设备400相关的环境条件和/或位置信息。 [0161] 值得注意的是,图5仅是示例性的。即虽然图5中示出了电子设备400包括处理器401、控制器中枢403、存储器404等多个器件,但是,在实际的应用中,使用本申请各方法的设备,可以仅包括电子设备400各器件中的一部分器件,例如,可以仅包含处理器401和网络接口406。图5中可选器件的性质用虚线示出。 [0162] 进而参考图6,所示为根据本申请的一实施例的片上系统(system on chip,SoC)500的框图。在图6中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图6中,SoC500包括:互连单元550,其被耦合至处理器510;系统代理单元580;总线控制器单元590;集成存储器控制器单元540;一组或一个或多个协处理器520,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(static random access memory,SRAM)单元530;直接存储器存取(direct memory access,DMA)单元560。在一个实施例中,协处理器520包括专用处理器,诸如例如网络或通信处理器、压缩引擎、图形处理单元上的通用计算(general‑purpose computing on graphics processing units,GPGPU)、高吞吐量MIC处理器、或嵌入式处理器等。 [0163] 静态随机存取存储器(SRAM)单元530可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。计算机可读存储介质中存储有指令,具体而言,存储有该指令的暂时和永久副本。该指令可以包括:由处理器中的至少一个执行时导致SoC实施如图2、图3所示方法的指令。当指令在计算机上运行时,使得计算机执行上述实施例中公开的方法。 [0164] 本申请的各方法实施方式均可以以软件、磁件、固件等方式实现。 [0165] 可将程序代码应用于输入指令,以执行本文描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(digital signal processor,DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。 [0166] 程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本文中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。 [0167] 至少一个实施例的一个或多个方面可以由存储在计算机可读存储介质上的表示性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本文的技术的逻辑。被称为“知识产权(intellectual property,IP)核”的这些表示可以被存储在有形的计算机可读存储介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。 [0168] 在一些情况下,指令转换器可用来将指令从源指令集转换至目标指令集。例如,指令转换器可以变换(例如使用静态二进制变换、包括动态编译的动态二进制变换)、变形、仿真或以其它方式将指令转换成将由核来处理的一个或多个其它指令。指令转换器可以用软件、硬件、固件、或其组合实现。指令转换器可以在处理器上、在处理器外、或者部分在处理器上且部分在处理器外。 [0169] 在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。 [0170] 需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。 [0171] 需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。 [0172] 虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。 |