利用FFT计算有限长序列x(n)=[2,1,3,2,1,5,1]与h(n)=[1,2,-1,-3]的线性卷积;
时间: 2023-10-01 21:08:32 浏览: 80
首先,我们需要在x(n)的末尾添加与h(n)长度相同的0,这样才能进行FFT计算。因为FFT计算的是两个长度相等的序列的卷积。
所以,我们可以将x(n)和h(n)分别补零为:
x(n)=[2,1,3,2,1,5,1,0,0,0,0]
h(n)=[1,2,-1,-3,0,0,0,0]
然后对它们分别进行FFT计算,并将它们相乘得到的结果再进行IFFT计算,即可得到线性卷积的结果。
具体计算过程如下:
1. 对x(n)和h(n)进行FFT计算:
X(k)=[17.0000 + 0.0000i, 2.6180 - 6.8541i, -4.7321 - 1.7321i, -1.0000 + 3.0000i, -1.0000 + 0.0000i, -1.0000 - 3.0000i, -4.7321 + 1.7321i, 2.6180 + 6.8541i, 0 + 0i, 0 + 0i, 0 + 0i]
H(k)=[-0.0000 + 0.0000i, -0.5858 - 2.4142i, 3.0000 + 1.0000i, -1.0000 - 3.0000i, 0 + 0i, 0 + 0i, 0 + 0i, 0 + 0i, 0 + 0i, 0 + 0i, 0 + 0i]
2. 将X(k)和H(k)相乘,得到Y(k)=X(k)*H(k):
Y(k)=[-0.0000 + 0.0000i, -16.4082 + 29.0711i, -13.1962 + 7.7321i, 7.0000 - 10.0000i, -0.0000 + 0.0000i, -0.0000 + 0.0000i, -0.0000 + 0.0000i, 0.0000 + 0.0000i, 0 + 0i, 0 + 0i, 0 + 0i]
3. 对Y(k)进行IFFT计算,得到线性卷积的结果y(n):
y(n)=[-0.0000 + 0.0000i, 0.0000 + 0.0000i, 0.0000 + 0.0000i, 0.0000 - 0.0000i, 0.0000 + 0.0000i, -0.0000 + 0.0000i, 0.0000 + 0.0000i, -0.0000 + 0.0000i, 17.0000 + 0.0000i, 4.0000 - 0.0000i, -3.0000 + 0.0000i]
因此,有限长序列x(n)=[2,1,3,2,1,5,1]与h(n)=[1,2,-1,-3]的线性卷积为y(n)=[-0.0000 + 0.0000i, 0.0000 + 0.0000i, 0.0000 + 0.0000i, 0.0000 - 0.0000i, 0.0000 + 0.0000i, -0.0000 + 0.0000i, 0.0000 + 0.0000i, -0.0000 + 0.0000i, 17.0000 + 0.0000i, 4.0000 - 0.0000i, -3.0000 + 0.0000i]。
阅读全文