Convolução de múltiplos sinais 1D em uma matriz 2D com múltiplos núcleos 1D em uma matriz 2D

Eu tenho um definido aleatoriamenteH matriz de tamanho600 x 10. Cada elemento nesta matrizH pode ser representado comoH(k,t). Eu obtive um espectrograma de falaS qual é600 x 597. Eu o obtive usando os recursos do Mel, por isso deve ser40 x 611 mas então usei um conceito de empilhamento de quadros no qual empilhei 15 quadros juntos. Por isso me deu(40x15) x (611-15+1) qual é600 x 597.

Agora eu quero obter uma matriz de saídaY que é dado pela equação baseada na convoluçãoY(k,t) = ∑ H(k,τ)S(k,t-τ). A soma vai deτ=0 paraτ=Lh-1. Lh neste caso seria 597.

Não sei como obterY. Além disso, minha dúvida é a indexação em ambosH eS ao calcular a convolução. Especificamente paraY(1,1), temos:

Y(1,1) = H(1,0)S(1,1) + H(1,1)S(1,0) + H(1,2)S(1,-1) + H(1,3)S(1,-2) + ...

Agora, não existem índices negativos no MATLAB - por exemplo,S(1,-1) S(1,-2) e assim por diante. Então, que tipo de convolução devo usar para obterY? Eu tentei usarconv2 oufftfilt mas acho que isso não vai me darY PorqueY também deve ser do tamanho deS.

questionAnswers(1)

yourAnswerToTheQuestion