Thursday 11 October 2012

Impulse Response: Is it just response to impulse

Hey All

After a long delay finally a post!! Today we will see why Impulse response is so important while rare cases are those where we will actually feed the impulse as input. We will take discreet LTI systems here for the understanding. While most of the things are true for continuous LTI systems too. There are some prerequisite for better understanding which I hope you all already know about. Here are they:
1. Discreet Time Fourier Transform \(X(e^{j\omega})\)
2. LTI - Linear Time Invariant Systems

Impulse Inputs and System's Response to it
Impulse are something which are just for a moment. Like You get hit by a ball while watching cricket in the stadium. Or the sudden breaks on the car. Fig 1 describes an impulse.  So Impulse is a signal which is one at a single time and zero everywhere else. We denote an Impulse by \(\delta[n]\) . It means that it is one only when \(n=0\). Similarily \(\delta[n-2]\) represent an impulse which is one only at \(n=2\).

Fig 1 Impulse Input

Although its response may not be impulse. You can feel the pain for a long time. or the car slows down, wiggles for a few seconds and then maintains its speed again. This Fig 2 shows a typical response. Let us call it  \(h[n]\).

Fig 2 Impulse Response: system's response to impulse
 Response (Output) of a system when an Impulse inputs is applied. Similarly a response to a step input is known as step response. Since system is LTI, it does not matter when or how you apply the impulse input. If it is given an impulse, it will always respond the same. and that is called impulse response which is a property of a system. But So is the step response. So why impulse response is treated in such an important fashion.

Response to a two rank input
Let us take an example with a response which is not impulse but looks like something shown in figure 3.

Fig 3 rank 2 input x[n]

$$x[0]=1$$ $$x[1]=0.4$$
What is the response to this input? Well we know the system is linear , so why not break the input to linear combinations of some input (basis inputs if you call) for which we know the input. If you think, you will find out impulse are such a choice which are simpler to find. ( Think in terms of finding the coefficients of a point in n dimensional in standard basis).
Fig 4 shows such a break up. Easy.

Fig 4 Breaking up the input into impulses
 So we can say $$x[n]=1\delta[n]+0.4\delta[n-1]$$
We can also write this as $$x[n]=x[0]\delta[n]+x[1]\delta[n-1]$$
Now use the linearity property.

\(\delta[n]\) results in \(h[n]\).
\(\delta[n-1]\) results in \(h[n-1]\).
So \(1\delta[n]+0.4\delta[n-1]\) results in \(1.h[n]+0.4h[n-1]\).
Fig 5 describes it.
Fig 5 Response to Each Impulse Add to Final Response
Woah!! So we can use impulse response even if the input is not impulse? Yes, the output is always an linear combination of impulse response.
Let us write the result in more generalized way
if \(x[n]\) is \(x[0]\delta[n]+x[1]\delta[n-1]\)
     Output (Response) is \(y[n]=x[0]h[n]+x[1]h[n-1]\)

Generalized Case:
What if the input have k+1 nonzero values at n=0,1,...,k. You can again write $$x[n]= x[0]\delta[n]+x[1]\delta[n-1]+...+x[k]\delta[n-k]$$
So the response is
$$y[n]=x[0]h[n]+x[1]h[n-1]+...+x[k]h[n-k]=\sum_{i=0}^{k}x[i]h[n-i]$$

So any response is a linear combination of shifted impulse responses with coefficients equal to signal values. That is why impulse response are so important and treated as basic property of a LTI system. If we know impulse response, we know  the response to any input.

Step Response
Let us try our findings on step input. For a step signal x[n] is always one for \(x\ge 0\). So response (or step response because it is response to step input) is $$y[n]=\sum_{i=0}^{\infty}h[n-i]$$. Sum (or integration) of h[n].

How to get back the impulse response if we know the response for an arbitrary input
Now this is little tricky. If you observe the equation $$y[n]=\sum_{i=0}^{k}x[i]h[n-i]$$ closely, you will know it is the convolution of x[n] and h[n].$$y[n]=x[n]*h[n]$$.

 So What do you do when you see convolution? Yes go to the fourier Domain. Let us denote DTFT of x[n],h[n] and y[n] as \(X(e^{j\omega}),H(e^{j\omega}) \) and \(Y(e^{j\omega})\). Here again \(X(e^{j\omega})\) is a system property because it is fixed and is known as Frequency response. So the earlier expression becomes $$Y(e^{j\omega})=X(e^{j\omega})H(e^{j\omega})$$ $$H(e^{j\omega})=\frac{Y(e^{j\omega})}{X(e^{j\omega})}$$. Remember that this function is constant regardless of what x[n] or y[n] you take if the system is LTI.


21 comments:

  1. Great post! Indeed, the impulse response can characterize an LTI system completely. Also, intuitively, the impulse response is important because an impulse is theoretically the "worst" input a system can encounter. Knowing how the system responds to such an input tells a lot about the system...:)

    ReplyDelete
    Replies
    1. Important thing is to note that it doesnt tell a lot about system, it does tell every thing about the system :)

      Delete
    2. i agree with you Kumar, what surprised me is that does not include much information and clarification about the application or implementation of the system in the reality. Does it make sense???

      Delete
  2. Thanks for sharing .. full of information and help to understand impulse response
    read also about for loop in matlab

    ReplyDelete

  3. Greetings. I know this is somewhat off-topic, but I was wondering if you knew where I could get a captcha plugin for my comment form? I’m using the same blog platform like yours, and I’m having difficulty finding one? Thanks a lot.

    AWS Training in Bangalore | Amazon Web Services Training in Bangalore

    Amazon Web Services Training in Pune | Best AWS Training in Pune

    AWS Online Training | Online AWS Certification Course - Gangboard

    ReplyDelete
  4. Superb. I really enjoyed very much with this article here. Really it is an amazing article I had ever read. I hope it will help a lot for all. Thank you so much for this amazing posts and please keep update like this excellent article. thank you for sharing such a great blog with us.
    online Python certification course | python training in OMR | Python training course in Chennai

    ReplyDelete
  5. Well researched article and I appreciate this. The blog is subscribed and will see new topics soon.

    Java training in Annanagar | Java training in Chennai

    Java training in Chennai | Java training in Electronic city

    ReplyDelete
  6. You’ve written a really great article here. Your writing style makes this material easy to understand.. I agree with some of the many points you have made. Thank you for this is real thought-provoking content
    Data Science course in Indira nagar
    Data Science course in marathahalli
    Data Science Interview questions and answers




    ReplyDelete
  7. We Provides Quickbooks Support Phone Number dial +1-800-901-6679 if you get instant solution for MAC. Our Quickbooks Mac technical support agents always provides you the suitable help.

    ReplyDelete
  8. QuickBooks Support +1-877-651-8034 is accounting software which is fully responsible to handle banking transactions. If you are one of those who are driving their own business then you can choose this accounting and finance management tool in the matter of managing your business finance. Suppose, you are dealing with some issues while using then you can dial Quickbooks Support Number QuickBooks Enterprise Support Phone NumberIf you are a customer then you can be thinking about the quality of QuickBooks Support Services before contacting any type of technical help, it is always recommended that you should dialQuickbooks Payroll Support Number QuickBooks Customer Support Phone Number to talk to our team of experts. If you are one of those who are worried the quality of QuickBooks Desktop Support channel and hesitating to dial our QuickBooks Desktop Support Phone Number, Quickbooks Pro Support Number or you are worried about to take the availability of our technicians, you just need to focus on us. This is because we have an option of mailing and messaging which areto discuss your queries with our team of technicians who have immense knowledge in this stream. When you will dial QuickBooks Enterprise Phone Number to talk to our experts then you will definitely get quick and reliable solutions to your problems. They have great knowledge in this stream so, you can You can easily obtain 24*7 QuickBooks Payroll Support by calling at QuickBooks Support +1-877-651-8034

    ReplyDelete
  9. Well informative and knowledgeable blog click here for QuickBooks Enterprise Support Phone Number 844-908-0801 to get 24*7 QuickBooks Support

    ReplyDelete
  10. Application performance management tools

    Simply put, application performance management is the art of managing the performance, availability, and user experience of software applications. ... Load testing, synthetic monitoring and real-user monitoring, and root-cause analysis are a few of the primary tools to be found in a well-rounded approach to APM.

    ReplyDelete
  11. Service Professional And Agents Software

    The business of building Service Professional And Agents Software solutions is booming, and business experts can access just about any solution they need to overcome. There are Service Professional And Agents Software software companies that can be utilized to reduce burnout in the organization. Compare the top Service Professional And Agents Software system features with 100% authentic reviews from verified software users. Also, get insights and tips on how to choose your ideal Service Professional And Agents Software tools for your business.

    ReplyDelete
  12. HR Management Software
    It is a software application designed for streamlining the Human Capital Management process in one database. It is also called as Human Resource Information System (HRIS) or Human Resource Management System (HRMS). The target is to improve the range of HR management systems. It can take care of a lot of tasks under a single time frame. For instance, it can handle employee management and training at one end while taking care of administration tasks at the other end.

    ReplyDelete
  13. Mobile App Development Companies

    Appnovation designs, develops and delivers mobile apps across all the major platforms, including iOS (iPhone & iPad), Android, BlackBerry and Windows Mobile. Our mobile app development services include: Business, needs and requirements analysis. User Experience (UX) testing.


    Mobile app development is the act or process by which mobile App is developed for mobile devices, These applications can be pre-installed on phones during manufacturing platforms, or delivered as web applications using server-side or client-side processing (e.g., JavaScript) to provide an "application-like" experience within a web browser.

    ReplyDelete