测量音频系统的脉冲响应
脉冲响应(IR)是表征线性时不变系统的重要工具。的脉冲响应测量器使您能够测量和捕捉音频系统的脉冲响应,包括:
音频I/O硬件
房间和大厅
封闭的空间,比如车里或录音棚里
在本例中,使用脉冲响应测量器来测量你房间的脉冲响应。然后使用获得脉冲响应audiopluginexample。FastConvolver
混响在音频信号中增加混响
这个例子要求你的机器有一个全双工模式的音频设备和一个合适的音频驱动程序。要了解有关应用程序如何记录和播放音频数据的更多信息,请参见audioPlayerRecorder
.
红外测量技术描述
扫描正弦测量技术使用一个指数时间增长的频率扫描作为输出信号。输出信号被记录下来,反褶积用于从扫过的正弦音中恢复脉冲响应。详情请参见[1]。
最大长度序列(MLS)技术是基于周期伪随机信号对声空间的激励。脉冲响应是通过测量输出和测试音调(MLS序列)之间的循环互相关得到的。详情请参见[2]。
在本例中,您将使用MLS测量技术。
获取房间的脉冲响应
1.要打开应用程序,在MATLAB®命令提示符下,输入:
impulseResponseMeasurer
2.保持应用程序默认设置,单击捕获
.确保设备名称和通道号与系统配置匹配。
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 = measuremimpulseresponse . impulse seresponse . 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页。
Armelloni, Enrico, Christian Giottoli和Angelo Farina。在DSP板上实现实时分区卷积。信号处理在音频和声学中的应用,2003年IEEE研讨会。,第71-74页。IEEE 2003。