Деконволюция звука с использованием Matlab
[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)
Поэтому я использую этот код для получения импульсного отклика комнаты, но я получаю эту ошибку ("Ошибка при использовании / размеры матрицы должны согласовываться")
Может кто-нибудь, пожалуйста, помогите и как решить.
1 ответ
Вы можете захотеть сделать./ сделать для каждого элемента разделения.
h = ifft(b./a)
Помните в 2D, если вы делаете матричное умножение:
3x4 * 4x3 = 3x3
матрица. И 3x4 * 3x4
не возможно, но вы могли бы на пиксельное умножение, чтобы иметь 3x4 .* 3x4 = 3x4