Solving a convolution equation problem
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jamal Choudhry
le 22 Juil 2020
Modifié(e) : Raunak Gupta
le 12 Août 2020
Hello,
I am trying to a solve a convolution problem of the type conv(a,b) = conv(x,c) where a,b,c has size N. I am trying to find the vector/matrix x that satisfies the given equation. I know that the linear convolution can be calculated by the convolution theorem conv(a,b) = ifft(fft(a_padded).*fft(b_padded)) = c1 where a_padded and b_padded are zero padded vectors of atleast size 2N-1. I have tried this: x_padded = ifft(fft(c1)./fft(c_padded)) but the problem i have is that i dont know exactly how to retain the vector x from x_padded so that conv(a,b) = conv(x,c). Any suggestions?
Thanks
0 commentaires
Réponse acceptée
Raunak Gupta
le 12 Août 2020
Modifié(e) : Raunak Gupta
le 12 Août 2020
Hi Jamal,
You can use conv and deconv for solving this equation. You will be getting N length vector only as an output. Below code might be of use. This will be only valid if conv(a,b) = conv(x,c) has a valid solution x. otherwise there will be some remainder instead of ~.
% Let a,b,c be N length vector
[x,~] = deconv(conv(a,b),c);
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Mathematics and Optimization dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!