FIR滤波器冲击激励h(n)={1,2,3,0,0,0}分别利用DFT和IDFT计算x(n)={1,2,2,1,0,0}的输出
时间: 2023-10-01 07:07:43 浏览: 64
FIR滤波器系数计算C代码
首先,我们可以将FIR滤波器冲激响应h(n)和输入信号x(n)都看做是长度为6的序列,因为它们都只在前6个采样点有值。因此,我们可以使用6点DFT和IDFT来计算它们之间的卷积。
具体步骤如下:
1. 对输入信号x(n)和冲击响应h(n)进行零填充,使它们的长度变为8,这是2的整数次幂,方便进行FFT计算。因此,x(n)变为{1,2,2,1,0,0,0,0},h(n)变为{1,2,3,0,0,0,0,0}。
2. 对x(n)和h(n)分别进行6点DFT,得到它们的频域表示X(k)和H(k)。
3. 将X(k)和H(k)相乘,得到Y(k) = X(k) * H(k)。
4. 对Y(k)进行6点IDFT,得到滤波器的输出序列y(n)。
具体计算过程如下:
1. 对x(n)和h(n)进行零填充,得到:
x(n) = {1,2,2,1,0,0,0,0}
h(n) = {1,2,3,0,0,0,0,0}
2. 对x(n)和h(n)分别进行6点DFT,得到:
X(k) = {6, 0+2j, -2, 0-2j, -2, 0+2j}
H(k) = {6, 3+2j, 0, 3-2j, 0, 0}
3. 将X(k)和H(k)相乘,得到:
Y(k) = X(k) * H(k) = {36, 6+12j, 0, -6-12j, 0, 0}
4. 对Y(k)进行6点IDFT,得到:
y(n) = {1, 8, 18, 18, -6, -12, 0, 0}
因此,滤波器的输出序列为y(n) = {1, 8, 18, 18, -6, -12}。
阅读全文