I want to make a convolution for two functions
4 ビュー (過去 30 日間)
古いコメントを表示
Just convolution, Fourier transform for y\(t)
0 件のコメント
回答 (1 件)
Rahul
2023 年 6 月 5 日
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)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!