Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I\'m not sure if I am doing this correctly. Given that h(n) is asummed to be a c

ID: 3348849 • Letter: I

Question

I'm not sure if I am doing this correctly.

Given that h(n) is asummed to be a causal system inpulse response with  

I am to determine the poles, ROC and state whether the system is stable.

The answer I got was:

The poles are 1/3 and 1/2.

The system is stable because the unit circle falls in the ROC.

Then I am to determine the partial expansion (find A and B) and determine h(n) using the table.

I was able to find that A = 1/15 and B = 1/2.

and using the table I found h(n) to be

Then, I am to compare the result by using Matlab filter function as the below.

b = [1]; a = [6 -1 -1];

[delta,n1] = impseq(0,0,10);

xb1 = filter(b,a,delta);

[u,n2]=stepseq(0,0,10);

xb2= (1/15)*((1/3).^n2).*u + (1/2)*((-1/2).^n2).*u

result:

xb1 =

0.1667 0.0278 0.0324 0.0100 0.0071 0.0029 0.0017 0.0008 0.0004 0.0002 0.0001


xb2 =

0.5667 -0.2278 0.1324 -0.0600 0.0321 -0.0154 0.0079 -0.0039 0.0020 -0.0010 0.0005


xb1 and xb2 should be identical but I am getting two different sets of coefficients. What am I doing wrong?

Explanation / Answer

The inverse partial fractions that you have calculated are a little bit off from the correct values. I have given below the correct partial fraction values.

H(z) = (1/15) / (1+(1/3)z^-1) + (1/10) / (1-(1/2)z^-1)

I have implememented the program as below.

clc;
close all;
clear all;

b = [1];
a = [6 -1 -1];
n = (0:10)';
u = (n==0); % Unit impulse sequence

xb1 = filter(b,a,u)

xb2 = (1/15)*((-1/3).^n) + (1/10)*((1/2).^n)

RESULT:


xb1 =

0.1667
0.0278
0.0324
0.0100
0.0071
0.0029
0.0017
0.0008
0.0004
0.0002
0.0001


xb2 =

0.1667
0.0278
0.0324
0.0100
0.0071
0.0029
0.0017
0.0008
0.0004
0.0002
0.0001