TD convolution versus FD multiplication

3 visualizaciones (últimos 30 días)
mzm
mzm el 14 de Mayo de 2021
Comentada: Matt J el 17 de Mayo de 2021
Hi all.
I am trying to convolute two time doamin signals. singal 1 is imported to matalb as a FD signal while i am creating signal2 in matlab so i do create it in TD.
I tried:
(1) convert signal1 to TD and perform direct convolution with signal2
(2)Keep signal1 in FD ,convert signal 2 to FD, and perform multipication. then convert the results back to TD
I need the final results to be in TD.
However, Both reaults dont agree. Can someone Please help me to figure out the reason?

Respuestas (1)

Matt J
Matt J el 15 de Mayo de 2021
Remember, linear convolution is not the same as cyclic convolution. Make sure you do appropriate zero padding, e.g.,
x=rand(1,5);
y=rand(1,5);
conv(x,y)
ans = 1×9
0.2999 1.0313 1.7011 2.3099 2.6181 2.2161 1.5177 0.9398 0.2859
ifft( fft(x,9).*fft(y,9) ,'symmetric')
ans = 1×9
0.2999 1.0313 1.7011 2.3099 2.6181 2.2161 1.5177 0.9398 0.2859
  4 comentarios
mzm
mzm el 17 de Mayo de 2021
How to choose the zero padding size? I mean how many zeros should I add?
Matt J
Matt J el 17 de Mayo de 2021
it should be length(x)+length(y)-1

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by