TD convolution versus FD multiplication

3 ビュー (過去 30 日間)
mzm
mzm 2021 年 5 月 14 日
コメント済み: Matt J 2021 年 5 月 17 日
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?

回答 (1 件)

Matt J
Matt J 2021 年 5 月 15 日
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 件のコメント
mzm
mzm 2021 年 5 月 17 日
How to choose the zero padding size? I mean how many zeros should I add?
Matt J
Matt J 2021 年 5 月 17 日
it should be length(x)+length(y)-1

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMultirate Signal Processing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by