Processing math: 100%

Thursday, July 31, 2014

The order of linear system

Consider a system yn+2=ayn+1+byn It is not surprising there for that the system has state representation y0y1
You see how every next value of y is computed by summing two previous states. This means that we do not need to store all previous values to compute the next. Two is sufficient. Therefore, we can allocate two numeric registers for two state variables ababababababababyn+-3yn+-2yn+-1yn+0yn+1yn+2yn+3yn+4ba1yn+1yn+0yn+2yn+1 That is, we initialize registers with a0 and a1. At every clock we update the values. Instead of writing result of newvalue(a0,a1) into a2, we store it into second register. Value a1 is shifted into the first register, overwriting a0 there. We can do this since we do not need a0 anymore (neither for computing a3, nor a4 and so on), and must do it since a1 is needed for computing a3. Effectively, register values (an,an+1) are updated with (an+1,an+2) at every clock cycle. The order of the system is the number of variables/registers that we need. It is also known as space complexity. Since transition function is linear, it may be represented in matrix form [yn+2yn+1]=[ab10][yn+1yn] Space complexity is reduced from n to two. At every clock cycle, newly computed value is written into the most significant register. The less significant registers take their values from the more significant ones (we slide the window: head is computed, tail is discarded). In this example we have only two state registers. They are initialized with initial values, y0 and y1 and we say that "the system has order 2."

No comments: