1 min read

Sampling of a Sinusoidal Signal and finding the DTFT

The question was :

Write a MATLAB function, x = SinSamples(A, w, θ, d, ws), that generates a discrete-time sinusoidal signal x[n] obtained by sampling x(t), (Assume that x(t) is a sinusoidal segment with amplitude A, frequency ω, phase θ and duration ), with sampling frequency ω_s.

function SinSamples(A,w,teta,d,w_s)

clc;
fprintf(' This program will read and sample a sin signal.n The parameters are amplitude A , frequency w , phase "teta" and d for duration. n This program was written for the Ele 409 DSP Lab course. n By = John Roach nn');

pause(2);

f = w/(2*pi);
T = 1/f;
tmin = 0;
dt = T/100;
dt1 = 1/(w_s/(2*pi));
t = tmin:dt:d;
t1 = tmin:dt1:d;
x = A*sin(w*t+teta);
x1 = A*sin(w*t1+teta);
subplot(2,1,1);
plot(t,x,'r');
hold on
stem(t1,x1);
title('The sampled and original signal');
xlabel('frequency'), ylabel('amplitude');
grid on;
hold on

subplot(2,1,2)

N=(fs/2)*linspace(-1,1,length(x1));
stem(N,fftshift(abs(fft(x1))));
title('Sampled signal at frequency-domain');
xlabel('frequency'), ylabel('amplitude');
grid on;

For sample code ;

SinSamples(1,2*pi*1000,pi/6,0.002,2*pi*16000)

The output is;

This program will read sample a sin signal. The parameters are amplitude A , frequency w , phase "teta" and d for duration.  This program was written for the Ele 409 DSP Lab course.

and

Sampling of a Sinusoidal Signal