How do I calculate the impulse response?
    20 views (last 30 days)
  
       Show older comments
    
    dhanshri kulkarni
 on 26 Feb 2015
  
    
    
    
    
    Answered: Altanshagai
 on 10 Mar 2023
            How do I write the code in order to get the impluse response for the following equation:
y[n]=x[n]+x[n-1]+x[n-2]
0 Comments
Accepted Answer
  michael scheinfeild
      
 on 26 Feb 2015
        f=100;% frequanecy
fs=1000;
n=[1:1000]*f/fs;
u=ones(n,1)
x(n)=2*cos(0.5*pi*n).u(n);
% ~ (check indexes im not sure ..)
y(n)=x(n(3:1000))+x(n(2:999))+x((1:998))
1 Comment
  Jens Kristian Poulsen
 on 2 Mar 2021
				
      Edited: Jens Kristian Poulsen
 on 2 Mar 2021
  
			There are errors in the solution shown by Michael Scheinfeild, e.g. last line and it doesn't calculate the impulse response.
The solution by John D'Errico is okay (albeit a bit short)
The problem by itself is so simple you don't really need Matlab ([1 1 1] is the impulse response).
More Answers (3)
  John D'Errico
      
      
 on 26 Feb 2015
        Use filter, or conv. WTP?
Compute the vector x, then get y from x.
y = conv(x,[1 1 1]);
and if x was [0 0 1 0 0], then what would y be from the above call to conv?
0 Comments
  MathWorks Support Team
    
 on 22 May 2019
        To compute a 3 tap FIR filter impulse response, use “fft” with the corresponding coefficients. In this case,
>> fft([1 1 1])
Depending on the frequency resolution that you need, you will also have to specify the length of the transformation.
0 Comments
See Also
Categories
				Find more on Filter Analysis in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




