主要内容

测量音频系统的脉冲响应

脉冲响应(IR)是表征线性时不变系统的重要工具。的脉冲响应测量器使您能够测量和捕获音频系统的脉冲响应,包括:

  • 音频I/O硬件

  • 房间和大厅

  • 封闭的空间,如车内或录音棚

在本例中,使用脉冲响应测量器测量你房间的脉冲响应。然后用获得的脉冲响应audiopluginexample。FastConvolver在音频信号中加入混响。

本示例要求您的计算机具有能够实现全双工模式的音频设备和适当的音频驱动程序。要了解更多关于应用程序如何记录和播放音频数据,请参见audioPlayerRecorder

红外测量技术描述

扫描正弦测量技术使用指数时间增长的频率扫描作为输出信号。记录输出信号,用反褶积法从扫过的正弦音中恢复脉冲响应。有关详细信息,请参见[1]。

最大长度序列(MLS)技术是基于一个周期伪随机信号对声空间的激励。脉冲响应是通过测量输出和测试音调(MLS序列)之间的循环互相关得到的。有关详细信息,请参见[2]。

在本例中,您将使用MLS测量技术。

获得房间的脉冲响应

1.要打开应用程序,在MATLAB®命令提示符下,输入:

impulseResponseMeasurer

2.使用app的默认设置,单击捕获.请确保设备名称和通道号与系统的配置相匹配。

3.捕捉到脉冲响应后,单击出口按钮并选择到工作空间

使用脉冲响应添加混响到音频信号

具有长脉冲响应的输入帧的时域卷积增加的延迟等于脉冲响应的长度。所使用的算法audiopluginexample。FastConvolver插件使用频域分区卷积将延迟降低到分区大小[3]的两倍。audiopluginexample。FastConvolver是否很适合获得脉冲响应使用impulseResponseMeasurer

1.创建一个audiopluginexample。FastConvolverobject, at the MATLAB® command prompt, enter:

fastConvolver = audiopluginexample。FastConvolver
fastConvolver = audiopluginexample。FastConvolverwith properties: ImpulseResponse: [0 0 -3.0518e-05 3.0518e-05 0 0 0 3.0518e-05 0 0 0 3.0518e-05 0 0 0 0 0 0 0 0 0 0 0 0 3.0518e-05 0 0 0 -3.0518e-05 -3.0518e-05 0 0 -3.0518e-05 0 0 3.0518e-05 0 -3.0518e-05 0 0 0 3.0518e-05 0 0 0 -3.0518e-05 0 0 0 0 3.0518e-05 0 0 … ] PartitionSize: 1024

2.将脉冲响应属性设置为获取的脉冲响应测量值。一旦将工作空间的脉冲响应保存到快速卷积器中,就可以清除它。

负载measuredImpulseResponseiestimate = measuredimpulseresponse . impulse esponse. amplitude (:,1);fastConvolver。脉冲响应= iestimate;

3.打开音频测试台并指定快速卷积对象。

audioTestBench (fastConvolver)

4.默认情况下,音频测试台从音频文件读取并写入您的音频设备。点击运行听一个与你获得的脉冲反应有关的音频文件。

提示和技巧

激励水平滑块上的impulseResponseMeasurer将增益应用到输出测试音。一般建议较高的输出电平以使信噪比(SNR)最大化。然而,如果输出电平过高,可能会发生不必要的失真。

导出到过滤器可视化工具(FVTool)透过出口按钮查看其他有用的图,如相位响应,群延迟等。

参考文献

法里娜,安吉洛。“正弦扫描脉冲响应测量的进展。”发表于音频工程学会第122届大会,奥地利维也纳,2007年。

Guy-Bart, Stan, Jean-Jacques Embrechts和Dominique Archambeau。“不同脉冲响应测量技术的比较。”音频工程学会杂志.第50卷第4期第249-262页。

[3]阿梅洛尼,恩里科,克里斯蒂安·乔托利和安吉洛·法里纳。在DSP板上实现实时分割卷积。信号处理在音频和声学中的应用,2003年IEEE研讨会。,第71-74页。IEEE 2003。