TD convolution versus FD multiplication

4 views (last 30 days)
mzm
mzm on 14 May 2021
Commented: Matt J on 17 May 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?

Answers (1)

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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!