How do I add zero padding to this convolution?

10 vues (au cours des 30 derniers jours)
Brianna Miranda
Brianna Miranda le 17 Oct 2021
Commenté : Matt J le 18 Oct 2021
% 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);

Réponse acceptée

Matt J
Matt J le 18 Oct 2021
Modifié(e) : Matt J le 18 Oct 2021
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 commentaires
Brianna Miranda
Brianna Miranda le 18 Oct 2021
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 le 18 Oct 2021
You have applied zero padding. To omit zero padding,
X1 = fft(x1);
X2 = fft(x2);

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Contour Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by