法律状态公告日
法律状态信息
法律状态
2020-05-19
授权
授权
2018-06-22
实质审查的生效 IPC(主分类):H04R3/00 申请日:20161122
实质审查的生效
2018-05-29
公开
公开
技术领域
本发明涉及一种微声阵列扬声器实现数字声音重构的方法。
背景技术
目前市场上的扬声器通常是通过音频信号驱动,这种音频信号其实是一种连续变化的模拟信号,而且信号微弱,模拟信号在传输中,由于噪声的干扰和能量的损失会发生一些畸变和衰减,所以扬声器在驱动中需要通过功放来驱动,放大的同时,噪音产生的信号失真也越大,而微声阵列扬声器就没有这种问题,但是微声阵列扬声器因为单体体积小,固有频率高无法正常发出人耳能听到的声音。
发明内容
本发明的目的是提供一种能够有效扩大声压、减少扬声器噪声干扰与能量损失、失真小、音质好的微声阵列扬声器实现数字声音重构的方法。
实现本发明目的的技术方案如下:
微声阵列扬声器实现数字声音重构的方法,包括以下步骤,
步骤一,在Comsol中设置点声源个数及阵列方式,输入点声源的单极幅值,研究瞬态状况下所有点声源均有发声时的声压分布及其最大值,确定所求结果中的正弦或余弦表达式;
步骤二,根据采样定理,从输入信号的方波频率及所需转换的正弦或余弦频率中判断得出采样个数,确定采样一次所经历的时间;
步骤三,在Matlab中搭建与Comsol的数据交换接口以实现两者之间的信息交互,输入上述正弦或余弦表达式,并确定点声源在研究过程中的开关顺序,设置采样周期;
步骤四,计算在一个采样周期内多少个点声源打开时所求得的最大声压更接近于此最大声压所发生时间下正弦或余弦表达式的值,从而确定在此采样周期内的点声源打开或关闭个数,记录下此时所求得的声压曲线;
步骤五,将上次采样周期结束的时间及结果作为下次采样周期的初始时间及初始场,循环步骤四及步骤五,直至表达式的一个周期结束;
步骤六,确定此时点声源全开时的声压最大值与步骤一的最大值进行对比,观察两者的差值,若大于一定误差,则更新表达式中的最大值,且返回至步骤二重新计算,直至误差小于规定误差;
采用上述步骤后,微声阵列扬声器通过Matlab和Comsol联合实现了数字声音转化为模拟声音,可实现微声阵列扬声器通过数字信号控制驱动微声阵列单元振幅和数量来达到所需声压的目的,实现声音的重构,有效扩大了声压,降低了噪声以及失真,提高了音质效果。
优选的,为了方便控制点声源的打开,步骤一中点声源开与关的顺序,是先从最内方形左下角点声源开始,顺时针打开,当运行完一个方形后,从下个方形的左下角点声源开始,直至所有点声源打开;关闭的顺序正好相反。
优选的,为了求得深渊的单极幅值,步骤一在Comsol中设置点声源的单极幅值时,首先设置点声源从源流出的体积流率QS,而后根据公式
优选的,为了求得最大声压,步骤三中在Comsol中计算点声源全打开时z方向上距中心点0.001m处所得出的最大声压ymax,进一步得出余弦表达式
优选的,为了得到声源打开时的最大声压,步骤四中,在表达式的前半个周期比较时,需要计算i个点声源打开时最大声压w2与i-1个点声源打开时的最大声压w1,以及计算在最大声压的时刻余弦表达式的值y1。若此时w1>y1>w2,则继续判断w2与w1的值哪个与y1更接近;若此时w2,w1>y1,则选择i-1个点声源打开;若w2,w1<y1,则计算i+1个点声源打开时最大声压与i个点声源打开时最大声压进行比较。
优选的,为了得到表达式后半个周期的最大声压,步骤四中,在表达式的后半个周期比较时,若此时w2>y1>w1,则继续判断w2与w1的值哪个与y1更接近;若此时w2,w1<y1,则选择i-1个点声源打开;若w2,w1>y1,则计算i+1个点声源打开时最大声压与i个点声源打开时最大声压进行比较。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明的流程示意图。
图2为本发明的实施例中点声源排布和开关顺序示意图。
图3为本发明的实施例中点声源中设置的从源流出的体积流率图。
图4为本发明的实施例中点声源中设置的单极振幅图。
图5为本发明的实施例中所近似的余弦表达式图。
图6为本发明的实施例中结果声压图。
具体实施方式
微声阵列扬声器实现数字声音重构的方法,包括以下步骤,
步骤一,在Comsol中设置点声源个数及阵列方式,输入点声源的单极幅值,研究瞬态状况下所有点声源均有发声时的声压分布及其最大值,确定所求结果中的正弦或余弦表达式;
步骤二,根据采样定理,从输入信号的方波频率及所需转换的正弦或余弦频率中判断得出采样个数,确定采样一次所经历的时间;
步骤三,在Matlab中搭建与Comsol的数据交换接口以实现两者之间的信息交互,输入上述正弦或余弦表达式,并确定点声源在研究过程中的开关顺序,设置采样周期;
步骤四,计算在一个采样周期内多少个点声源打开时所求得的最大声压更接近于此最大声压所发生时间下正弦或余弦表达式的值,从而确定在此采样周期内的点声源打开或关闭个数,记录下此时所求得的声压曲线;
步骤五,将上次采样周期结束的时间及结果作为下次采样周期的初始时间及初始场,循环步骤四及步骤五,直至表达式的一个周期结束;
步骤六,确定此时点声源全开时的声压最大值与步骤一的最大值进行对比,观察两者的差值,若大于一定误差,则更新表达式中的最大值,且返回至步骤二重新计算,直至误差小于规定误差;
采用上述步骤后,微声阵列扬声器通过Matlab和Comsol联合实现了数字声音转化为模拟声音,可实现微声阵列扬声器通过数字信号控制驱动微声阵列单元振幅和数量来达到所需声压的目的,实现声音的重构,有效扩大了声压,降低了噪声以及失真,提高了音质效果。
以下为本发明的一个实施例:
微声阵列扬声器实现数字声音重构的方法,包括以下步骤,
步骤一,在Comsol中设置点声源个数及阵列方式,比如点声源的个数为256,采用16×16的排布方式,输入点声源的单极幅值,研究瞬态状况下所有点声源均有发声时的声压分布及其最大值,确定所求结果中的正弦或余弦表达式,点声源开与关的顺序是先从最内方形左下角点声源开始,顺时针打开,当运行完一个方形后,从下个方形的左下角点声源开始,直至所有点声源打开;关闭的顺序正好相反,在Comsol中设置点声源的单极幅值时,首先设置点声源从源流出的体积流率QS,而后根据公式
步骤二,根据采样定理,从输入信号的方波频率及所需转换的正弦或余弦频率中判断得出采样个数,确定采样一次所经历的时间,本实施例将f=44000Hz信号转换为f0=800Hz信号,根据采样定理确定采样个数,采样个数选择55个;
步骤三,在Matlab中搭建与Comsol的数据交换接口以实现两者之间的信息交互,在Comsol中计算点声源全打开时z方向上距中心点0.001m处所得出的最大声压ymax,得到余弦表达式设置采样周期为1/44000s;
步骤四,计算在一个采样周期内多少个点声源打开时所求得的最大声压更接近于此最大声压所发生时间下余弦表达式的值,从而确定在此采样周期内的点声源打开或关闭个数,记录下此时所求得的声压曲线,
在对比的过程中,在表达式的前半个周期比较时,需要计算i个点声源打开时最大声压w2与i-1个点声源打开时的最大声压w1,以及计算在最大声压的时刻余弦表达式的值y1,若此时w1>y1>w2,则继续判断w2与w1的值哪个与y1更接近;若此时w2,w1>y1,则选择i-1个点声源打开;若w2,w1<y1,则计算i+1个点声源打开时最大声压与i个点声源打开时最大声压进行比较,
在表达式的后半个周期比较时,若此时w2>y1>w1,则继续判断w2与w1的值哪个与y1更接近;若此时w2,w1<y1,则选择i-1个点声源打开;若w2,w1>y1,则计算i+1个点声源打开时最大声压与i个点声源打开时最大声压进行比较;
步骤五,将上次采样周期结束的时间及结果作为下次采样周期的初始时间及初始场,循环步骤四及步骤五,直至表达式的一个周期结束,即时间为1/800s时结束;
步骤六,确定此时点声源全开时的声压最大值与步骤一的最大值进行对比,即声压曲线的最大值ymax1与ymax进行对比,观察两者的差值,若大于一定误差σ,则更新表达式中的最大值,且返回至步骤二重新计算,直至误差小于规定误差,
计算一个周期后,确定此时声压曲线的最大值ymax1与ymax进行对比,观察两者的差值,若大于一定误差σ,则更新表达式中的最大值,且返回至步骤四重新计算,直至误差小于规定误差。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
机译: 使用相对声音图像局部化传递函数方法实现虚拟环绕声和空间声音,该方法实现了较大的甜点区和低计算能力,而无需考虑繁殖部位的阵列和发酵剂的运动
机译: 产生第一声音和第二声音的方法,系统,配置为存储程序代码的非瞬态计算机可读介质以及用于消除与第一扬声器和第二扬声器输出的音频信号的串扰的方法。扬声器
机译: 扬声器阵列可实现高质量的声音再现-电动扬声器的数量分布在挡板表面