Деконволюция звука с использованием 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

Другие вопросы по тегам