使用matlab对声音进行反卷积

时间:2018-06-12 23:14:32

标签: matlab audio convolution deconvolution vimpulse

[y,fs]=wavread('C:\Users\Mohamed\Desktop\sinesweeprec.wav') 
[x,fs]=wavread('C:\Users\Mohamed\Desktop\sinesweep.wav') 
a=fft(x)
b=fft(y) 
h=ifft(b/a)

所以我使用这段代码来获取房间的脉冲响应,但是我得到了这个错误('错误使用/ Matrix尺寸必须同意')

有人可以帮忙,如何解决。

1 个答案:

答案 0 :(得分:1)

您可能希望./为每个元素划分。

h = ifft(b./a)

如果你进行矩阵乘法,请记住在2D中:

3x4 * 4x3 = 3x3矩阵。 3x4 * 3x4是不可能的,但你可以按每像素乘法来3x4 .* 3x4 = 3x4