Difference Equation
来源:互联网 发布:淘宝店智能版怎么装修 编辑:程序博客网 时间:2024/06/09 22:26
M-order homogenous difference equation:
sigma(m = 0 : M - 1, a[m] * x[n+m]) = 0 (... 1.1)
can be represented by
sigma(m = 0 : M - 2, a(1)[m] * x(1)[n+m]) = 0 (... 1.2),
where x(1)[k] = a"[1]*x[k+1] + a[0]*x[k]
a(1)[k] = a"[k+1]/a"[1], k = 0 : M-1; a(1)[M-2] = a[M-1]/a'[1]
a'[k], k = 1 : M-2, satisfy
a[M-1]/a'[M-2] = a"[1] / a[0] = a"[k+1]/a'[k], k = 1 : M-3
We suppose the solution for equation 1.2 is
x(1)[n] = sigma(m = 0 : M - 2, bmcmn)
say, a"[1]*x[n+1] + a[0]*x[n] = sigma(m = 0 : M - 2, bmcmn)
and cm is the solution set for characteristic equation: sigma(m = 0 : M - 2, a(1)[m]*tm) = 0 (... 1.3)
Let p = -a[0]/a"[1], we have x[n+1] = p * x[n] + sigma(m = 1 : M - 2, bmcmn) (... 1.4).
The solution for the 2-order difference equation is:
x[n] = pn * x[0] + sigma(m = 1 : M-2, bm*sigma(k = 0 : n-1, cmkpnn-1-k)) (... 1.5)
After calculating the geometric series with ratio cm/p, we can see the formula 1.5 is in the form
x[n] = sigma(m = 1 : M-2, b'm*cmn)+b'M-1*pn
The characteristic equation for 1.1 is
sigma(m = 0 : M - 1, a[m] * tm) = 0,
It can be rewritten as
sigma(m = 0 : M - 2, a(1)[m] * tm*(a"[1]*t+a[0])) = 0 (... 1.6)
So, cm, m = 1 : M-2, plus p = -a[0]/a"[1] is the solution set for 1.6.
By this induction, the theorem that states the form of the solution for a homogenous difference equation is the weighted sum of the powers with degree equal to the index of the term, of the roots for the corresponding characteristic equation.
Another proof of this is in signal processing style:
First, we have to restrict the signal to be rational in this proof, say:
sigma(m=0:M-1, a[m]*x[n+m]) = 0, n>=0, and x[n] = 0, n < 0.
So, there exists sigma(n=0:M-1, a[m]*zm*sigma(n=0:Inf, x[n+m]*z-(n+m))) = 0.
sigma(n=0:Inf, x[n+m]*z-(n+m)) = X(z) - sigma(n=0:m-1, x[n]*z-n), where X(z) is the z-transform of sequence x.
From this we have X(z) = x[0] + Y(z) / sigma(m=0:M-1, a[m]*zm) = x0 + K(z)
The signal K(z) has poles: zm, which are the roots of sigma(m=0:M-1, a[m]*zm) = 0. Assured by the definition of the difference equation, it has no pole at origin, and by the fact that the order Y(z) is less than M-1,
we have K(z) in the form of partial fraction: K(z) = sigma(m=1:M-1, Am / (z - zm)).
1/(z-zk) can be expanded as Laurent series around origin, within ROC zm < |z| < Inf, which represents the rational part: X(z) = x[0] + sigma(n=1:Inf, sigma(m=1:M-1, Amzmn-1)z-n)
So the sequence is derived as: x[n] = sigma(m=1:M-1, Amzmn-1), n>0. Proof done.
However, unfortunately, the theorem above is not friendly to computer algorithm design, bringing no benefit to fast and stable implementation, as far as I can see.
To calculate any specifiic stage of output of a linear system, another method on the basis of matrix is more feasible:
For any M-order equation discussed above, it can be rewritten as:
x[n+m] = sigma(k = 0 : M-2, a[k] * x[n+k]), the matrix representative of which is:
[O, Eye(M-2) ;
a[0 : M-2] ]
e.g., for the extended Fibonacci sequence x[n+3] = x[n]+x[n+1]+x[n+2] (x[0]=x[1]=1,x[2]=2), the matrix is:
A = [ 0 1 0
0 0 1
1 1 1]
Any output with index greater than 2 is in the third row of
a = A^(n-2) * T, where T = [1,1,2]'
The temporal complexity of the algorithm is determined by that of the power of matrix, which is O(log(n)).
The algorithm outperforms the simple iterative ones only when n is large enough so that the overall advantage in complexity compensates the disadvantage in individual matrix multiplication.
- Difference Equation
- Solution of difference equation with Matlab
- Equation
- Equation
- Batman Equation
- Heat equation
- plane equation
- Create equation
- Plane Equation
- Solve equation
- Plane Equation
- Stiff equation
- Solve equation
- Solve equation
- hdu5185 Equation
- Turing equation
- Turing equation
- FZU2102Solve equation
- VMware 下无法换镜象的问题解决
- ASP.NET 仿MSN Messenger Alert的弹出窗口控件
- 使用日期
- 手机可以煮鸡蛋
- 怎样正确地向他人道歉
- Difference Equation
- 第一次在这里写博客,开门大吉!
- Mobile Client Software Factory – July 2006
- Visual C#2005 文件IO 第一章第一节
- Java开发者如何测试Flex
- [学习笔记]java SE 学习Vector的一些知识
- 谈谈C语言结构的对齐
- redhat 9中默认的vsftpd服务器配置小心得
- Java I/O (一)文件类 java.io.File