Effacer les filtres
Effacer les filtres

I want to make a convolution for two functions

11 vues (au cours des 30 derniers jours)
Aya Emam
Aya Emam le 5 Juin 2023
Commenté : Aya Emam le 5 Juin 2023
Just convolution, Fourier transform for y\(t)

Réponses (1)

Rahul
Rahul le 5 Juin 2023
Hi Aya,
We can use a following code snippet, to first perform operations to get m(t) in time-domain and then get y(t) using inverse fourier transform of the multiplication of fourier transforms of m(t) and h(t), since time-domain convolution is equivalent to frequency-domain multiplication.
% Symbols for time t and frequency w and constant A
syms t w A;
% Value of t has to be of form start:timestep:end, if required
% for substitution later
timeStep = 0.01;
% Expression for h(t)
h = heaviside(t) - heaviside(t - 1/A);
% Expressions for x1(t) and x2(t)
x1 = 0.1*A*sin(2*A*pi*t);
x2 = 1;
% Expression for m(t)
m = x1 + x2;
% Expression for Y(w), fourier transform of y(t)
Y = fourier(m) * fourier(h);
% Expression for final output y(t), inverse fourier transform of Y(w)
y = ifourier(Y, w, t)
You can refer to the fourier (Fourier Transform) or ifourier (Inverse Fourier Transform) function documentation for a better understanding of the above code.
  1 commentaire
Aya Emam
Aya Emam le 5 Juin 2023
Hi Rahul
Thanks in advance First if i want to plot y if A=10
second if i want H(w) and X1(w) and X2(w) and Y(w) how to compute it by matlab and draw it and
again again and again thanks in advance

Connectez-vous pour commenter.

Produits


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by