How do I add zero padding to this convolution?

조회 수: 26 (최근 30일)
Brianna Miranda
Brianna Miranda 2021년 10월 17일
댓글: Matt J 2021년 10월 18일
% My question is how do I add zero padding to this plot? I'm trying to show the effects of circular convolution with and without zero padding.
% This part is taking fourier transform of two different functions
a = 0.5;
n = [0,1,2,3,4,5,6,7];
x1 = a.^n;
x2 = [1,1,1,1,1,1,0,0];
X1 = fft(x1,16);
X2 = fft(x2,16);
% Here is the convolution of them. Need to add zero padding for this
% convolution plot
X1X2 = X1.*X2;
x1x2_conv = ifft(X1X2);

채택된 답변

Matt J
Matt J 2021년 10월 18일
편집: Matt J 2021년 10월 18일
Not sure what the question is, but you can easily compare your result to direct convolution to see if it's correct.
x1x2_conv = ifft(X1X2)
x1x2_conv = 1×16
1.0000 1.5000 1.7500 1.8750 1.9375 1.9688 0.9844 0.4922 0.2422 0.1172 0.0547 0.0234 0.0078 0 -0.0000 -0.0000
conv(x1,x2)
ans = 1×15
1.0000 1.5000 1.7500 1.8750 1.9375 1.9688 0.9844 0.4922 0.2422 0.1172 0.0547 0.0234 0.0078 0 0
  댓글 수: 2
Brianna Miranda
Brianna Miranda 2021년 10월 18일
My question is how do I add zero padding to this plot. I'm trying to show the effects of circular convolution with and without zero padding. This code shows the effect without zero padding but I'm not sure how to add in zero padding.
Matt J
Matt J 2021년 10월 18일
You have applied zero padding. To omit zero padding,
X1 = fft(x1);
X2 = fft(x2);

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by