脉冲响应是描述或表示线性定常系统的重要工具。的脉冲响应测量器使您能够测量和捕捉音频系统的脉冲响应,包括:
音频硬件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.FastConvolverwith properties: ImpulseResponse: [1x227497 double] PartitionSize: 1024
2.将脉冲响应属性设置为您获得的脉冲响应测量值。您可以清除工作空间的脉冲响应,一旦它被保存到快速卷积。
负载measuredImpulseResponseirEstimate = measuredImpulseResponse.ImpulseResponse.Amplitude (: 1);fastConvolver。ImpulseResponse = irEstimate;
3.打开音频测试工作台并指定您的快速卷积对象
audioTestBench (fastConvolver)
4.默认情况下,音频测试台上从音频文件读取并写入音频设备。点击运行
听一个音频文件与您获得的脉冲响应卷积。
上的激励水平滑块impulseResponseMeasurer
将增益应用于输出测试音调。通常建议使用更高的输出电平来最大化信噪比(SNR)。然而,如果输出电平太高,可能会发生不希望发生的失真。
导出至filter visualizer (FVTool)通过出口
按钮查看其他有用的图,如相位响应、组延迟等。
[1]淀粉,安吉洛。用正弦扫描测量脉冲响应的进展提出了在音频工程学会第122届会议2007年,奥地利维也纳。
Guy-Bart, Stan, Jean-Jacques Embrechts和Dominique Archambeau。不同脉冲响应测量技术的比较。音频工程学会杂志。第50卷第4期第249-262页
艾梅罗尼,恩里科,克里斯蒂安·吉奥托里和安吉洛·法里纳。在DSP板上实现实时分区卷积。信号处理在音频与声学中的应用,2003年IEEE研讨会。, 71 - 74页。IEEE 2003。