脉冲响应(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.将脉冲响应属性设置为获得的脉冲响应测量值。一旦将工作空间保存到快速卷积,您就可以清除它的脉冲响应。
负载measuredImpulseResponseirEstimate = measuredImpulseResponse.ImpulseResponse.Amplitude (: 1);fastConvolver。ImpulseResponse = irEstimate;
3.打开音频测试工作台并指定您的快速卷积对象。
audioTestBench (fastConvolver)
4.默认情况下,音频测试台上从音频文件读取并写入音频设备。点击运行
听一个音频文件与你获得的冲动反应。
上的激励电平滑块impulseResponseMeasurer
对输出测试音应用增益。通常建议较高的输出电平,以最大化信噪比(SNR)。然而,如果输出电平太高,可能会发生不希望的失真。
导出到过滤可视化工具(FVTool)通过出口
按钮来查看其他有用的图,如相位响应,组延迟等。
[1]淀粉,安吉洛。"正弦扫描脉冲响应测量技术的进步"提出了在音响工程学会第122届会议,奥地利维也纳,2007年。
Guy-Bart Stan Jean-Jacques Embrechts和Dominique Archambeau不同脉冲响应测量技术的比较音频工程学会学报.第50卷第4期249-262页。
Armelloni, Enrico, Christian giotto, and Angelo Farina。在DSP板上实现实时分割卷积。信号处理在音频和声学中的应用,2003年IEEE研讨会。, 71 - 74页。IEEE 2003。