最近,我们在 COMSOL 博客中讨论了如何使用有限元-射线混合方法建立室内声学模型。本篇博客,我们将使用 COMSOL Multiphysics® 软件中内置的有限元-射线耦合功能,对放置在一个小房间桌子上的小型智能扬声器的响应进行建模。除了使用此功能外,我们还将通过手动耦合来更详细的描述近场源。这个方法结合了详细的换能器有限元模型、全频率范围辐射特性、低频全波有限元模型和高频射线声学模型。此外,我们还模拟了随角度和频率变化的房间吊顶的吸收特性。
如果您想了解关于使用有限元-射线混合方法的博客,请点击查看:“使用混合方法建立室内声学模型”。请注意,这篇博客描述了将脉冲响应的高频和低频部分串联起来的操作,但本文并未明确讨论串联问题。
提出问题
我们以求解放置在一个小房间里的桌子上的小型智能扬声器的声学响应为例。房间的吊顶(也就是“天花板”)由一个背面为空腔的多孔材料构成。墙壁、沙发和地板也具有吸声特性。本模型只选择了一个接收器(传声器)位置,设置如下图所示。
图1.问题的设置。
在当前的设置中,我们采用将压力声学与机电元件的集总表示(Thiele-Small 参数)相结合的方法来模拟小型智能扬声器。使用集总扬声器边界 功能将压力声学、频域接口 与集总电路 模型耦合。有关这种建模方法的详细信息,请参阅教程模型:扬声器驱动器集总模型。
小型智能扬声器的示意图如图 2 所示。该模型包括:
- 前腔和背腔
- 扬声器振膜与集总元件模型耦合
- 穿孔的网格
- 从后部通向外部的通风口
- 狭窄区域和小型波导中的热黏性边界层损耗
该模型的几何结构还包括三个使用 RCL 模型模拟的麦克风,但此教程并未明确使用这些麦克风。请注意,这只是一个简化的几何体,当然也可以扩展为包含更详细的几何体和物理场的完整的多物理场模型。
图2.小型智能扬声器
图3. 1kHz 时扬声器表面声压实部。
方法组合
这里我们展示的是将最适合全波仿真的结果与高效率求解几何声学的射线追踪相结合的模型设置。在此,我们介绍了计算低频和高频所需解的必要设置。高频和低频响应的串联并不是在此模型中完成的,而是根据之前博客中介绍的模型进行的。
低频问题
对于低频系统,直接使用压力声学、频域接口 和电路接口 来解决房间和换能器的声学问题,可以通过在模型的组件 2 中设置,并在研究 2 中求解。后者用于模拟换能器机电部分。使用多孔介质声学 功能模拟吊顶。使用狭窄区域声学 功能计算扬声器内部波导结构的热黏性损耗。对于音圈和磁铁系统周围的一些损耗也很重要的区域,则使用热黏性边界层阻抗 功能求解。
在本例中,低频系统的求解频率最高可达到 1200Hz。求解的最高频率可能还会进一步提高。为了有效求解高频率,我们改用了基于移位拉普拉斯方法的迭代求解器建议。该模型可求解约 3.8e6 个自由度 (DOF),需要约 22GB 内存。模型的求解频率从 50Hz 到 1200Hz,步长设置为 10Hz,大约需要 4 小时(具体取决于硬件配置)。需要注意的是,迭代求解器的相对容差需要设置为 1e-6,以确保有限元模型和集总参数模型的收敛性。
图4. COMSOL Multiphysics 的用户界面,其中的多孔介质声学功能用于对吊顶进行明确建模。
有关使用迭代求解器的另一个例子,请参阅汽车车厢声学-频域分析教程模型。
高频问题:两种方法
在高频范围内,使用的是射线声学接口,并与全波模拟结果相结合,用于表示扬声器的声源以及与角度和频率相关的吊顶表面阻抗。我们使用了两种声源表示方法,并进行了比较。
第一种辐射源表示法将被称为“点源释放”,从某种意义上说,它是一种经典的射线追踪辐射源。智能扬声器放置在一个立在桌子上的无限隔音板上时的辐射特性在组件 1 中建模。这个例子很好地示范了在 COMSOL Multiphysics® 中轻松设置子模型的方法。通过根据外场释放 功能,可以直接将这些结果用于定义射线声学模拟中的点声源表示,该功能在组件3 中设置和使用,并在研究3 中求解。就电声参数和物理模型而言,智能扬声器的设置对于声源子模型和完整(低频)室内声学模型是相同的。
图6. COMSOL Multiphysics® 用户界面显示了 根据外场释放功能,该功能可以自动将全波有限元模型的辐射模式与射线追踪模型结合起来。
在第二种高频射线追踪方法中,源的特征不是用它的远场辐射特征(作为点源),而是用近场特征表征的,包括最靠近卓面边缘的散射细节。这将被称为 “根据外场计算释放”。在这个示例中,使用压力声学,频域接口 建立的全波有限元模型将在声源周围的球体中求解(在组件 4 中设置,在研究 4 中求解声源)。其原理是,射线从球体表面沿声学强度(“声学坡印廷矢量”)方向释放,大小为局部强度。这种设置是通过射线声学中的从边界释放功能实现的(在组件 4 中设置,在研究 5 中求解声源问题)。设置见下图 7。请注意,释放方向是归一化强度矢量 \mathbf{I}/|\mathbf{I}|,源总功率(取决于空间)是 A (\mathbf{I}\cdot\mathbf{n}),其中 A 是总释放面积, \mathbf{n} 是表面法线。在这两种情况下,表达式都包含在 bndenv()
算子中,从而确保有限元求解可以映射到射线上。
图7. 从边界释放功能的 COMSOL Multiphysics 用户界面设置。
压力场释放设置结合了全波方法(近场)和射线追踪的相关假设,这也为使用这种方法设置声源设置了一些限制。例如
- 当使用从边界释放射线时,射线是同时释放的。因此,应该假定从声源发出的声音会同时到达和离开释放边界的每一部分。然而,要做到这一点,就不能随意设置释放边界。
- 由于上一点提到的限制,源域中的内部反射就很难考虑在内。根据反射路径的不同,声音确实可以传播不同的距离,这将导致在释放边界和脉冲响应中出现不同的时间事件。
- 最后,在射线追踪中计算的脉冲响应不包括时间延迟(从源到释放边界的飞行时间)。COMSOL® 软件假定释放边界处的释放时间为 0。
在这个模型中,近场球半径设置为 0.3 米。选择这个尺寸是为了防止局部全波问题太大而无法求解,同时还能显示最近的桌面边缘的影响。
请注意,这两个射线跟踪模型都包括了吊顶吸收的角度和频率相关性。这些特性是在一个单独的模型中计算得出的,如下图所示。
吊顶的特性
通过对多孔层(使用压力声学,频域接口 中的多孔声学 功能)和空腔进行建模,将吊顶的特性直接纳入模型的低频分析部分。在(高频)射线追踪模拟中,吊顶的吸收特性被包含在与频率和入射角有关的吸收系数 \alpha(f,\theta) 中。吸收数据是从吊顶的子模型中提取的。该模型也可在此处下载。该模型采用了与多孔吸声体教程模型类似的方法。一般来说,使用子模型是为射线跟踪模拟获取更详细的边界(和源)条件的一个好方法。
下图显示了模型中吊顶的吸收面。该吊顶由 1cm 的多孔材料制成,流动电阻为 20,000 [Pa-s/m2],后面是 2cm 的空腔。在射线追踪模型中,通过调用一个带有频率参数和入射角变量 rac2.wall5.thetai
(标记为射线声学模型 2 和壁条件 5)的插值函数,包括了角度和频率相关性。
图9.吊顶的吸收系数面。
为简单起见,目前的模型只包括天花板的详细吸收数据。模型完全可以扩展到包括所有边界的角度和频率吸收数据。详细的散射数据也可以通过全波模型计算得出,如施罗德扩散器二维模型教程模型所示。
边界条件考虑
本文讨论的模型有多种用途,可以在边界条件做出各种假设。这些假设取决于重点是压力声学仿真还是射线声学仿真。让我们来详细了解一下建模注意事项和假设是如何根据仿真类型发生变化的。
首先,让我们来看看压力声学仿真的一些注意事项:
- 这里会模拟相位信息,因此一般最好使用与频率相关的阻抗条件。
- 在低频情况下,仅使用吸收系数通常并不准确。
- 表面的法向阻抗取决于入射角。那么,应该使用什么值呢?对于没有明确入射角的室内声学应用,使用有效入射角通常是一个不错的选择。例如,根据阻抗 条件中多孔层 选项的定义,在自动 设置下以 50° 入射角进行计算法向阻抗。
- 如有可能避免上述假设,最好像本模型中的吊顶一样,对实际吸收表面进行建模。
在射线声学仿真中,考虑使用
- 正态与随机入射吸收系数
- 随角度变化的吸收系数
- 散射系数
正常(和随机)入射的吸收系数、角度相关吸收系数和散射系数可以是常数,也可以是频率相关系数,但模拟选项也取决于可用的数据。
此外,对于射线声学仿真,如果壁的吸声在一个倍频程内变化很大,可考虑使用更窄的频带表示,如 1/3 倍频程或甚至 1/6 倍频程频带。
结果
图 10—13 展示了从示例模型中选取的一些结果。图 10 显示了 1000Hz 的压力分布,可以清楚地看到解的波形。在图 11 中,描绘了 1000Hz 频段的射线在同一时刻的位置(对两种方法的不同释放时间进行了修正),比较了点源和压力场描述的释放。从图像中可以清楚地看到,这两种方法给出了不同的空间分辨率(射线密度),因为点源只向上半部空间释放射线,而压力场释放射线也会向下释放射线(由于桌面边缘的衍射)。要对这两种方法进行更正式的比较,应考虑到这一事实。
图10. 1000Hz 下的压力分布。
图11. 点声源(左)和压力场释放(右)的射线图。两幅图都显示了在 6ms 时计算的 1k Hz 频带(根据 0 时刻的不同定义进行了近似校正)。请注意色条上不同的射线功率刻度。右图还绘制了声源区域近场的声压。
图 12 和图 13 对这两种方法进行了比较。图 12 描述了声源和接收器之间的传递函数。它绘制了两种射线追踪方法和全波有限元模型的脉冲响应(IR)的快速傅立叶变换(FFT)。这里没有对有限元模型结果进行平滑处理,但对射线追踪结果应用了 1/3 倍频程运行平均滤波器处理。该图显示了相同的整体行为,还显示了即使在预期的施罗德频率(垂直线)之上,房间内也有很强的模态行为。两条射线声学结果(蓝色和红色曲线)之间似乎存在更大的水平差异。这可能是因为两种声源描述的能量传播方式不同。最后,图 13 比较了两种射线追踪结果的一些时间特征。我们对早期衰减时间(EDT)和 T20 混响时间进行了比较,从下图中可以看出,两者之间存在显著差异,这表明两种模型到达接收器的能量的时间分布是不同的。
图13. 早期衰减时间和 T20 混响时间的室内声学客观指标比较。
这里讨论的一些结论可以加以完善,用于扩展模型中进行的分析。例如,您可以选择使用更多的射线,比较多个接收器位置,在有限元模型中使用更精细的频率分辨率,或在射线跟踪模型中使用 1/6 倍频程波段。这些不同的选项都可以使用当前模型完成。例如,通过改变参数 Nrays
来改变射线数量,或通过改变参数 xr
、yr
和 zr
来改变接收器的位置。
下一步
点击下面的按钮,进入 COMSOL 案例库,进一步探索本博客中讨论的模型。
其他资源
- 在 COMSOL 博客上了解有关室内声学建模的更多信息:
- 查看相关教程模型:
评论 (11)
Ke Wu
2023-10-23我看了comsol很多的声学案例,声源都是特定的频率段。 那能不能以一首歌作为声源呢?
hao huang
2023-10-24 COMSOL 员工您好,声学问题的分析,更多的关注频率响应问题,所以使用频域或某个频率的正弦信号进行激励。使用真实的任意声源,其中包含全可听声频段的声信息分量,需要将空间网格尺寸设置为最大频率对应波长的 1/6,时间步设置到最大频率对应周期的 1/60 才能够准确解析。从而导致计算量极大,基本很难实现。
Ke Wu
2023-11-01我非常感谢您的回复 。我还想请教一下 。 我想做的仿真是在一个空间中,在指定位置有一个频响信号作为输入,然后观察其他位置的频响曲线。
那频响曲线(频率声压级曲线)可以作为声源吗?
hao huang
2023-11-03 COMSOL 员工频响曲线可作为插值函数设置,再通过解析函数调用并转换为声压值,之后通过声学接口的压力边界条件调用解析函数。但使用这种方式设置声源可能无法得到合理的结果,因为此时仅包含声压幅值信息,不包含真实声源所处的环境及声强方向等,且压力边界条件对声源点有约束作用。
Yuxin Xu
2024-06-03您好, 如果我想在时域种使用特定的脉冲信号(包含某通带的信息)或单频CW脉冲作为源是否可以呢?
Ke Wu
2023-12-13在不改变模型的情况下,能不能调整集总扬声器的辐射方向,比如和扬声器轴线有个30度的夹角
Yuqing Ge
2023-12-14 COMSOL 员工您好,这个模型的射线是“基于压力场释放”,其结果直接来自“压力声学,频域”的解,因此,不改变模型的情况下,不能改变扬声器的主轴方向;如果使用“基于外场计算释放”等方式,是可以改变方向的,可参考:汽车车厢声学 – 频域分析https://cn.comsol.com/model/car-cabin-acoustics-8212-frequency-domain-analysis-15013
Xiaoming Cai
2024-09-04COMSOL的工程师,你好
请问 在压力声学,频域,边界选择“法向加速度”时,如何定义加速度的幅值和相位?
例如:怎样要实现两个声源面具有一定相位差?
Yuqing Ge
2024-09-05 COMSOL 员工频域求解中可以用复数来表征幅值和相位,比如您要设置一个0.1m/s^2加速度有60度的相位差,可以写为0.1*exp(i*60[deg])。
史 航
2024-12-02您好,我想用压力声学实现两个或多个不同频率的声源所引导出的多频压力场,软件可以实现吗
Yuqing Ge
2024-12-06 COMSOL 员工可以的,如果您做频域分析,只需要单独计算两个频率即可,总声场是两个频率声场的线性叠加;如果做瞬态分析,则声源直接指定为两个频率的总和,比如:Asin(f1*t)+Bsin(f2*t+theta)