Plot a Signal Function

I am trying to plot a signal in Matlab for
-1.5dt1.5:
x(t) = sin(pi*t)rect(t)
where rect(t) is the rect function.
and I am trying to obtain and plot the magnitude of 𝑋(𝑓) the Fourier transform of 𝑥(𝑡) of that.

2 Comments

dt can be negative? Your difference between time steps can be negative?? (You have a bit of a meaning question about what exactly should happen for the case where dt = 0, where all times are exactly the same.)

Sign in to comment.

 Accepted Answer

Sina
Sina on 7 Nov 2022

0 votes

clear all
close all
clc
fs= 600; %This Sampling Frequency
dt = 0.001;
T = -1.5:dt:1.5;
fs=1/dt;
f=(-1/2:1/length(T):1/2-1/(length(T)*2))*fs;
y=sin(pi*T).*rectangularPulse(T);
yf = fftshift(fft(y));
z=abs(yf);
plot(f, z);
title("Plot for the Signal");
xlabel("Frequency")
ylabel("X(f):the Fourier transform of 𝑥(𝑡)")

1 Comment

Note that rectangularPulse requires the Symbolic Toolbox

Sign in to comment.

More Answers (0)

Asked:

on 7 Nov 2022

Commented:

on 7 Nov 2022

Community Treasure Hunt

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

Start Hunting!