Matlab Code for Convolution is this right?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
2 replies · 25K views
user101
Messages
205
Reaction score
0

Homework Statement



A DT system has the unit response h[n] = (0.2(1.3)^n)u[n]. You then input x[n] = sin(n*pi/2)u[n]. Find the convolution.

Homework Equations



None.

The Attempt at a Solution



>> n = 0:30;
>> h = 0.2*(1.3).^n;
>> x = sin(n*pi/2);
>> s = conv(h,x);

I left out u[n] because we know that u[n] = 1 whenever n >= 0 and 0 when n < 0. So, if I am correct, it is just multiplying the input by 1, if n >=0.

This should be right, just wanted to verify.
 
Last edited:
Physics news on Phys.org
Looks good to me. Just remember that the far end of the convolution sum will not be valid because you are truncating it at 30. What the algorthm does is insert zeros at the front and back of the signals. This is all right on the low end because the signals are zero anyway below zero, but it will cause invalid results at the high end. This can be fixed by simply making the signals longer than you need.
 
oh it didnt specify how far n should go, so i made it randoml from 0 to 30.