我有一个一阶差分方程:y[n] = z0 * [n-1] + x[n] (2-3)
。通常我们会做的是应用 z 变换,然后使用“过滤器”功能。但我的老师想以不同的方式做到这一点:
在一阶差分方程 (2-3) 中,让 yR[n] 和 yI[n] 表示 y[n] 的实部和虚部。写出一对实值差分方程,用 yR[n-1]、yI[n-1]、x[n] 和 r、cos m 和 sin m 表示 yR[n] 和 yI[n]
(我忘了提到,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 程序来实现这对实数方程,并使用该程序生成方程 (2-3) 的脉冲响应,其中 r=1/2 和 m=0,并且 m=pi/4。对于这两种情况,绘制获得的脉冲响应的实部。与复数递归输出的实部进行比较 (2-3)
我不明白的是,除了应用 z 变换然后使用“过滤器”功能之外,我还能如何做到这一点。我在网上查了一下,有关于状态空间形式的东西,但我不知道它是否相关。另外,我不希望将解决方案放在银盘上交给我,我只想知道如何解决。非常感谢!