数字信号处理 第三版 西安电子科技大学出版 第一章 课后题 编程题 14 15 16 17 18

版权声明:本文为博主原创文章,转载标注出处。联系微信btc20002000 https://blog.csdn.net/qq_36666115/article/details/88358537

作者: 散哥 【TJUT】 通信工程
转载需要授权的哦!

十4题

xn=[1 1 1 1 1 1 1 1 1 1 1 2 1 1 0.5 1 1 1 1.5 1 1 1 1 1 1 1 1 1 1 1 1];
hn=[0.2 0.2 0.2 0.2 0.2];

yn=conv(xn,hn);

十5题

% y(n)+0.5y(n-1) = x(n)+2x(n-2)
ys=0;                % 初始状态y(-1)=0
xn=[1,2,3,4,2,1];
B=[1,0,2];A=[1,0.5];        % 差分方程系数
xi=filtic(B,A,ys);   % 由初始条件 计算 等效初始条件 xi
yn=filter(B,A,xn,xi);% 解 差分方程 

n=0:length(yn)-1;
subplot(3,2,1);
stem(n,yn,'.');
title('(a)');
xlabel('n');
ylabel('y(n)');

% 保存结果
saveas(gcf,'1-15 结果.jpg')

在这里插入图片描述

十6题

% y(n)-0.6y(n-1)+0.08y(n-2) = x(n)
ys=0;                % 初始状态y(-1)=0
A=[1,-0.6,0.08];B=1;        % 差分方程系数
xi=filtic(B,A,ys);   % 由初始条件 计算 等效初始条件 xi

% 单位脉冲响应
xn1=[1,zeros(1,10)];
yn1=filter(B,A,xn1,xi);% 解 差分方程 

% 单位阶跃响应
xn2=ones(1,11);
yn2=filter(B,A,xn2,xi);% 解 差分方程 

% 绘制结果图
n=0:length(yn1)-1;
subplot(1,2,1);
stem(n,yn1,'.');
title('单位脉冲响应');
xlabel('n');
ylabel('y(n)');

n=0:length(yn2)-1;
subplot(1,2,2);
stem(n,yn2,'.');
title('单位阶跃反应');
xlabel('n');
ylabel('y(n)');

% 保存图片
saveas(gcf,'1-16-1 结果.jpg')

在这里插入图片描述

% y(n)-0.7y(n-1)+0.1y(n-2) = 2x(n)-x(n-2)
ys=0;                % 初始状态y(-1)=0
A=[1,-0.7,0.1];B=[2,0,-1];        % 差分方程系数
xi=filtic(B,A,ys);   % 由初始条件 计算 等效初始条件 xi

% 单位脉冲响应
xn1=[1,zeros(1,10)];
yn1=filter(B,A,xn1,xi);% 解 差分方程 

% 单位阶跃响应
xn2=ones(1,11);
yn2=filter(B,A,xn2,xi);% 解 差分方程 

% 绘制结果图
n=0:length(yn1)-1;
subplot(1,2,1);
stem(n,yn1,'.');
title('单位脉冲响应');
xlabel('n');
ylabel('y(n)');

n=0:length(yn2)-1;
subplot(1,2,2);
stem(n,yn2,'.');
title('单位阶跃反应');
xlabel('n');
ylabel('y(n)');

% 保存图片
saveas(gcf,'1-16-2 结果.jpg')

在这里插入图片描述

十7题

% y(n)-0.8y(n-1)+0.64y(n-2) = 0.866x(n)
ys=0;                % 初始状态y(-1)=0
A=[1,-0.8,0.64];B=0.866;        % 差分方程系数
xi=filtic(B,A,ys);   % 由初始条件 计算 等效初始条件 xi

% 单位脉冲响应 0<= n <=49
xn1=[1,zeros(1,49)];
yn1=filter(B,A,xn1,xi);% 解 差分方程 

% 单位阶跃响应 0<= n <=100
xn2=ones(1,101);
yn2=filter(B,A,xn2,xi);% 解 差分方程 

% 绘制结果图
n1=0:length(yn1)-1;
subplot(1,2,1);
stem(n1,yn1,'.');
title('单位脉冲响应');
xlabel('n');
ylabel('y(n)');

n2=0:length(yn2)-1;
subplot(1,2,2);
stem(n2,yn2,'.');
title('单位阶跃反应');
xlabel('n');
ylabel('y(n)');

% 保存图片
saveas(gcf,'1-17 结果.jpg')

在这里插入图片描述

十8题

% ( h1 * h2 + h3 ) * h4
% 书中应该有错误:T3的箭头方向问题
ys=0;                % 初始状态y(-1)=0

h1=[1,1/2,1/4,1/8,1/16,1/32,zeros(1,94)];
h2=[ones(1,6),zeros(1,94)];

% 求解 h3 y(n)=1/4x(n)+1/2x(n-1)+1/4x(n-2)
A3=1;B3=[1/4,1/2,1/4];        % 差分方程系数
xn3=[1,zeros(1,99)];
xi3=filtic(B3,A3,ys);   % 由初始条件 计算 等效初始条件 xi
h3=filter(B3,A3,xn3,xi3);% 解 差分方程 


% 求解 h4 y(n)-0.9y(n-1)+0.81y(n-2)=u(n)+u(n-1)
A4=[1,0.5];B4=[1,0,2];        % 差分方程系数
xn4=[1,zeros(1,99)];
xi4=filtic(B4,A4,ys);   % 由初始条件 计算 等效初始条件 xi
h4=filter(B4,A4,xn4,xi4);% 解 差分方程

% h(n)
h12=conv(h1,h2);
h3=[h3,zeros(1,length(h12)-length(h3))];
h123=h12+h3;
hn=conv(h123,h4);

% 绘图
n=0:99;
subplot(3,2,1);
stem(n,h1,'.');
title('T1 : h1');
xlabel('n');
ylabel('h1(n)');

subplot(3,2,2);
stem(n,h2,'.');
title('T2 : h2');
xlabel('n');
ylabel('h2(n)');

subplot(3,2,3);
nn3=0:length(h3)-1;
stem(nn3,h3,'.');
title('T3 : h3');
xlabel('n');
ylabel('h3(n)');

subplot(3,2,4);
nn4=0:length(h4)-1;
stem(nn4,h4,'.');
title('T4 : h4');
xlabel('n');
ylabel('h4(n)');

subplot(3,2,[5,6]);
nn=0:length(hn)-1;
stem(nn,hn,'.');
title('T : h');
xlabel('n');
ylabel('h(n)');

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_36666115/article/details/88358537