MATLAB Project 1

1. In this problem, you will use MATLAB to generate and plot the discrete-time signal δ[n] and unit step function u[n]. MATLAB provides two built-in functions that will be useful. The call zeros(m,n) returns an array of zeros with m rows and n columns. Similarly, ones(m,n) returns an m × narray of ones.

Our first problem is that MATLAB array indexing starts at one, but for plotting δ[n] and u[n] we will want to have the time variable n start at some negative integer. So we will have to use one array (call it n) to hold the values of n and another array to hold the values of the signal.

Consider the following MATLAB code which generates the signal δ[n] and plots it:

% generate the signal delta[n] and plot it

%

n = -10:10; % values of the time variable

delta_n = [zeros(1,10) 1 zeros(1,10)];

stem(n,delta_n);

ylim([0,1.5]);

title(‘Unit Impulse Function’);

xlabel(‘Time index n’);

ylabel(‘delta[n]’);

a) Run the sample code and submit the figure.b) Modify the code and plot δ[n-2] for n from -10 to 10.c) Use zeros and ones in MATLAB to graph u[n] for n from -10 to 10.d) Graph u[-n-3] for n from -10 to 10.

2. Consider the following MATLAB code, which generates a discrete-time cosine signal x[n] and plots it:

%generate and plot a discrete-time cosine signal

n = 0:40; %values of the time variable

w = 0.1*2*pi; %frequency of the sinusoid.

phi = 0; %phase

A = 1.5; %amplitude

xn = A * cos(w*n – phi);

stem(n,xn);

axis([0 40 -2 2]);

grid;

title(‘Discrete Time Sinusoid’);

xlabel(‘Time index n’);

ylabel(‘x[n]’);

a) Run the sample code and submit the figure.b) What is the length of the signal x[n]? c) What is the fundamental period of x[n]? d) What is the purpose of the grid?e) Modify the code so that it generates a sinusoid with length 50, frequency 0.4 × 2π radians per sample, amplitude 2.5, and a phase offset of π/2 radians. Run the modified code to generate and plot another discrete-time sinusoid.

3. Sample MATLAB code for two subplots as follows:

n=0:63;

w=[-29 -3];

for ii=1:2

y=sin(n*w(ii)*pi/8);

subplot(2,1,ii);

stem(n,y);

title([num2str(w(ii)) ‘pi/8’]);

end

a) Generate subplot for x[n] = sin(wt) with different w:

for n from 0 to 63.

b) Label each graph with the frequency.c) Use the subplot function to plot four graphs per figure. d) Are some subplots identical to others? Or find out the relationship.

4. Use MATLAB

(a) generate and plot the discrete-time signal x[n] = cos(0.09n) for 0 ≤ n ≤ 120. For your plot, turn the grid on and scale the axes using the MATLAB statements

axis([0 120 -1.0 1.0]);

grid;

(b) Is this signal periodic? Explain.