matlab利用FFT计算有限长序列x(n)=[2,1,3,2,1,5,1]与h(n)=[1,2,-1,-3]的线性卷积;
时间: 2023-09-03 15:09:58 浏览: 92
matlab.zip_(2_1_3)卷积
可以使用MATLAB中的fft函数来实现有限长序列的线性卷积。具体步骤如下:
1. 将x(n)和h(n)分别补0,使得它们的长度都为7+4-1=10。
```matlab
x = [2,1,3,2,1,5,1];
h = [1,2,-1,-3];
x = [x, zeros(1, length(h)-1)];
h = [h, zeros(1, length(x)-length(h))];
```
2. 对x(n)和h(n)进行FFT变换。
```matlab
X = fft(x);
H = fft(h);
```
3. 对X和H进行点乘,得到Y。
```matlab
Y = X .* H;
```
4. 对Y进行IFFT变换,并截取前7个元素,得到线性卷积结果y(n)。
```matlab
y = ifft(Y);
y = y(1:length(x)+length(h)-1);
```
最终的线性卷积结果为:
```
y = [2, 5, 7, 2, -4, -3, -10, -9, -8, -3]
```
阅读全文