如何将离散滤波器应用于信号

信息处理 离散信号 过滤
2022-02-14 08:35:59

假设我有一个像 x[k] = [-20 -50 -30 50 30 -60 60 -60 60 10 5 10 5 5] 这样的信号,我想对该信号应用低通和高通滤波器(分别)。例如滤波器的脉冲响应如下:

低通:h[k] = [-1 2 6 2 -1], k = -1,0,...,3

高通:g[k] = [-1 2 -1];k = -1, 0, 1

应用这些过滤器后如何计算前四个信号值?

2个回答

另一种简单地获得此类问题(其中非常短)的结果的方法是使用以下方法:h[n]

让离散卷积和的输出为y[n]

y[n]=x[n]h[n]

然后通过将扩展为脉冲,卷积将分布在加法上(使用高通滤波器 {-1,2,-1}; k = -1,0,1; 来演示):h[n]

y[n]=x[n]{δ[n+1]+2δ[n]δ[n1]}

y[n]=x[n+1]+2x[n]x[n1]

通过卷积非零范围的简单论证,可以看出从索引开始,因此输出的第一个样本是:y[n]n=1

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

请注意,对于 0 ;的第二个样本将是,即:x[n]=0n<0y[n]y[0]

y[0]=x[1]+2x[0]x[1]=50+40=10

等等...您可以将该程序应用于您的其他过滤器和其他输出样本

信号与脉冲响应离散卷积,其中是离散时间索引,计算为x[k]h[k]k

y[k]=x[k]h[k]=n=x[n]h[kn].

对于给定的样本索引,例如,您可以将练习的第一个样本计算为k0k0=0

yhp[k0]=n=11x[n]g[k0n]=x[1]g[1]+x[0]g[0]+x[1]g[1],
这将导致

yhp[n0]=01+202+501=10.

对于剩下的问题,您可以通过这种方式手动计算其余部分。例如,这些幻灯片中记录了另一种快速方法,此视频中显示了图形方法可以在此处找到还具有连续信号的教程。