求解给定输入-输出对的脉冲响应 h[n]

信息处理 离散信号 卷积 线性系统 冲动反应
2022-01-29 06:10:33

这是我一直在研究的一个家庭作业问题,我想确认我的一些推理。

的两组输入-输出对,我们知道它们是线性时不变的 (LTI)。给定这两对,求系统的脉冲响应 h[n]:S

x1[n]=[1,0,1]Sy1[n]=[0,1,0,2,0,1]

x2[n]=[0,1,1]Sy2[n]=[0,0,1,1,1,1]

我发现两个输入的线性组合可以产生增量:

δ[n]=x1[n]x2[n1]=[1,0,0]

由于系统是 LTI,因此 delta 的输出为:

y[n]=h[n]=y1[n]y2[n1]=[0,1,0,1,1,0]

由于输入是 3 个样本长而输出是 6 个样本长,所以我的脉冲响应必须是 4 个样本长。所以我丢弃了最后两个以最终产生:h[n]

h[n]=[0,1,0,1]

将输入信号与新发现的进行卷积得到给定的输出信号。然而,我不得不通过删除最后两个样本长度来产生其最终形式,这让我感到不舒服。h[n]h[n]

我是不是哪里出错了?

3个回答

您关于截断是可疑的直觉是正确的。您的解决方案确实是错误的:您很幸运得到了正确的结果。正如@Fat32 所指出的,不是增量脉冲并且比原始序列长。结果是,而不是x1[n]x2[n]=1,0,01h[n]h[n3]h[n]

你实际上只需要一组输入和输出来解决这个问题。给定脉冲响应长度,我们知道

y[n]=k=03h[k]x[nk]

您可以一次对一个元素求和并求解脉冲响应的新系数。让我们使用x1y1

0=y[0]=h[0]x[0]=h[0]1h[0]=0
1=y[1]=h[0]x[1]+h[1]x[0]=0+h[1]1h[1]=1
0=y[2]=h[0]x[2]+h[1]x[1]+h[2]x[0]=0+0+h[2]1h[2]=0

等等。这有点乏味,但会通过一组输入和输出为您提供正确的答案。

请注意,您只需要前四个输出即可计算整个脉冲响应。最后两个输出是“因变量”。如果它们没有正确显示,则意味着您的系统不是 LTI。第二组输入输出是多余的。您可以在任一方法上尝试该方法,并且应该得到相同的结果

从输入和输出的长度,我们得出结论的长度是因此,h4

h0h1h2h300+00h0h1h2h3010201

因此,我们得到了一个包含未知数线性方程组。解决方案是64

(h0,h1,h2,h3)=(0,1,0,1)

无需考虑第二个输入输出对。

没有任何概括,这个特定问题可以用以下方法解决: 让 LTI 系统的因果 FIR 脉冲响应为长度,这可以从第一组推断,因此让脉冲响应为h[n]LL=4

h[n]={a,b,c,d}

那么从第一组可以看出,

y[n]=h[n]+h[n2]={a,b,c+a,d+b,c,d}={0,1,0,2,0,1}

从中您可以推断出这证实了您的结果是正确的。对于更长的脉冲响应,您需要解决一组更复杂的(线性)方程......

a=0 , b=1 , c=0 , d=1