测量音频系统的脉冲响应

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

  • 音频I / O硬件

  • 房间和大厅

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

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

此示例要求你的机器有能力的全双工模式和适当的音频驱动器的音频设备。要了解更多关于如何应用记录和播放音频数据,请参见audioPlayerRecorder

描述红外测量技术

的正弦扫频测量技术使用指数时间增长的频率扫描,作为输出信号。输出信号被记录和去卷积用于恢复从所述正弦扫频音调脉冲响应。有关更多细节,请参见[1]。

最大 - 长度 - 序列(MLS)技术是基于声学空间由周期性伪随机信号的激励。脉冲响应是通过所测量的输出和测试音(MLS序列)之间的循环互相关获得的。有关更多细节,请参见[2]。

在这个例子中,您使用MLS测量技术。

获得房间的脉冲响应

1.要打开app,在MATLAB®命令提示符下,输入:

impulseResponseMeasurer

2.使用应用程序的默认设置并点击捕获。确保设备名称和频道号匹配您的系统配置。

3.一旦你捕获脉冲响应,请点击出口按钮并选择为了工作区

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

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

1.要创建一个对象audiopluginexample.FastConvolver,在MATLAB®命令提示下,输入:

fastConvolver = audiopluginexample.FastConvolver
fastConvolver = audiopluginexample.FastConvolver与属性:冲激响应:[1x227497双] PartitionSize:1024

2.设置脉冲响应特性将采集的脉冲响应的测量。一旦它被保存到快速卷积您可以清除您的工作空间的脉冲响应。

加载measuredImpulseResponseirEstimate = measuredImpulseResponse.ImpulseResponse.Amplitude(:,1);fastConvolver.ImpulseResponse = irEstimate;

3.打开音频测试平台,并注明您快速卷积对象

audioTestBench(fastConvolver)

4.默认情况下,音频测试台上从音频文件读取和写入到您的音频设备。请点击听你获得的脉冲响应卷积的音频文件。

提示和技巧

上的激励水平滑块impulseResponseMeasurer将增益应用于输出测试音调。通常建议使用更高的输出电平来最大化信噪比(SNR)。然而,如果输出电平太高,可能会发生不希望发生的失真。

导出至filter visualizer (FVTool)通过出口按钮查看其他有用的图,如相位响应、组延迟等。

参考文献

[1]里纳,安吉洛。“进步中的正弦扫频脉冲响应的测量。”在介绍音频工程协会第122号公约2007年,奥地利维也纳。

[2]盖伊-巴特,斯坦,让雅克Embrechts,和Dominique Archambeau。“不同的脉冲响应测量技术的比较”。杂志音频工程协会的。卷。50,第4期,第249-262。

[3] Armelloni,恩里科,基督教Giottoli,和安吉洛法里纳。“实时实现分区卷积在DSP板。”信号处理中的应用,以音频和声学,2003 IEEE研讨会。, 71 - 74页。IEEE 2003。