📄 df.m
字号:
y=[3,2,1,0,0,0,0,0];
ryy=[0,0,0,0];
for j=0:3
for i=1:4
ryy(j+1)=ryy(j+1)+y(i)*y(i+j);
end
end
ryy=[ryy(1) ryy(2) ryy(3) ryy(4)
ryy(2) ryy(1) ryy(2) ryy(3)
ryy(3) ryy(2) ryy(1) ryy(2)
ryy(4) ryy(3) ryy(2) ryy(1)];
d=[2,0.2,0.05,0,0,0,0,0];
rdy=[0,0,0,0];
for j=0:3
for i=1:4
rdy(j+1)=rdy(j+1)+y(i)*d(i+j);
end
end
rdy=[rdy(1);rdy(2);rdy(3);rdy(4)]; %计算得到 rdy
h=ryy\rdy; %计算得到 h(n)
h2=[h(2) h(1)
h(3) h(2)];
h3=[-h(3);-h(4)];
a1=h2\h3;
a=[1,a1(1),a1(2)]; %计算得到 a
b0=h(1);
b1=h(2)+a1(1)*h(1);
b=[b0,b1]; %计算得到 b
[h1,t]=impz(b,a);
c=conv(y,h1);
for mm=1:8
cc(mm)=c(mm);
end %计算得到 h1 和 c
nn=0:7;
figure(1);
subplot(2,1,1);
stem(nn,d,'.');
grid on;
title('v(n)的前8个样值与d(n)的对比');
xlabel('n');
ylabel('d(n)');
axis([0,7,min(d),max(d)]);
subplot(2,1,2);
stem(nn,cc,'.');
grid on;
xlabel('n');
ylabel('v(n)');
axis([0,7,min(cc),max(cc)]);
%end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -