TD convolution versus FD multiplication

3 visualizzazioni (ultimi 30 giorni)
mzm
mzm il 14 Mag 2021
Commentato: Matt J il 17 Mag 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?

Risposte (1)

Matt J
Matt J il 15 Mag 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 Commenti
mzm
mzm il 17 Mag 2021
How to choose the zero padding size? I mean how many zeros should I add?
Matt J
Matt J il 17 Mag 2021
it should be length(x)+length(y)-1

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by