求解一对真实(和交织)方程

时间:2015-12-07 17:33:24

标签: matlab difference-equations

我有一阶差分方程:y[n] = z0 * [n-1] + x[n] (2-3)。通常我们要做的是应用z变换,然后使用“过滤”功能。但是我的老师希望以不同的方式做到这一点:

  

在一阶差分方程(2-3)中,设yR [n]和yI [n]   表示y [n]的实部和虚部。写一对   表示yR [n]和yI [n]的实值差分方程   yR [n-1],yI [n-1],x [n]和r,cos m和sin m

(我忘了提及,x [n] = G * dirac [n]其中G是复数常数,其中r,cos m和sin m来自)。

这是我的结果(这是我能想到的最好的结果):

yR[n]=r(yR[n-1]cosm - yI[n-1]sinm) + xR[n]
yI[n]=r(yI[n-1]cosm + yR[n-1]sinm) + xI[n]

接下来的问题是:

  

编写一个MATLAB程序来实现这对实数方程式   用这个prorgam产生方程(2-3)的脉冲响应   对于r = 1/2且m = 0,并且m = pi / 4。对于这两种情况,绘制实际部分   获得的脉冲响应比较真实的部分   复数递归的输出(2-3)

我不明白的是除了应用z变换然后使用“过滤”功能之外我该如何做到这一点。我在网上查了一下,有一些关于状态空间的表格,但我不知道它是否相关。此外,我不打算在银盘上将解决方案交给我,我只是想知道如何解决这个问题。非常感谢你!

1 个答案:

答案 0 :(得分:0)

你走在正确的轨道上。对于像您这样的数字系统,只需设置初始输入,然后运行程序即可。没有必要做任何花哨的事情,你非常想过这个问题。换句话说,对于一个简单的函数,你可以这样做:

f(0)=1;
f(n)=a*f(n-1);

基本上为此你会循环一些范围(可能是20分),其中f(n)查看前一个函数。

对于您的功能,我怀疑您只需将实部(yR[0])设置为1,yI[0]=0,然后运行一段时间。

我知道Matlab是基于1的,所以你可能想要将第一个值实际设置为1,但同样的原则适用。