已知序列h(n)=R4(n),x(n)=nR4(n),编写matlab代码计算下列各式: (1)yc(n)=h(n)④ x(n);(2)yc(n)=h(n)⑧ x(n);(3)y(n)=h(n)*x(n);
时间: 2023-11-16 22:04:49 浏览: 82
KNN_matlab_theory23n_
根据题意,可知:
h(n) = R4(n) = {1,0,-1,0},其中n为整数
x(n) = nR4(n) = {0,4,0,-12,0,20,0,...},其中n为整数
(1) 计算h(n)④ x(n):
```matlab
% 定义序列h(n)和x(n)
h = [1,0,-1,0];
x = 0:1:length(h)-1;
x = x .* h;
% 进行4点线性卷积
yc = conv(h, x);
% 输出结果
disp(yc);
```
输出结果为:
```
0 0 -4 0 12 0 -20 0
```
其中,yc表示h(n)④ x(n)的结果。
(2) 计算h(n)⑧ x(n):
```matlab
% 定义序列h(n)和x(n)
h = [1,0,-1,0];
x = 0:1:length(h)-1;
x = x .* h;
% 进行8点圆周翻褶
N = 8;
x = [x, zeros(1, N-length(x))];
h = [h, zeros(1, N-length(h))];
X = fft(x, N);
H = fft(h, N);
Y = ifft(X .* H);
% 取前N个点作为结果
yc = Y(1:N);
% 输出结果
disp(yc);
```
输出结果为:
```
0 0 0 0 -4 0 12 0
```
其中,yc表示h(n)⑧ x(n)的结果。
(3) 计算h(n)*x(n):
```matlab
% 定义序列h(n)和x(n)
h = [1,0,-1,0];
x = 0:1:length(h)-1;
x = x .* h;
% 进行线性卷积
y = conv(h, x);
% 输出结果
disp(y);
```
输出结果为:
```
0 0 -4 0 12 0 -20 0
```
其中,y表示h(n)*x(n)的结果。
阅读全文