xlabel('时间序号n');ylabel('振幅'); title('冲激响应');grid; 实验结果如图5所示:
冲激响应4321振幅0-1-2-30510152025时间序号n303540
图5
6、编写程序得到线性时不变系统的级联: 运行程序: clf;
x=[1 zeros(1,40)]; n=0:40;
den=[1 1.6 2.28 1.325 0.68];
num=[0.06 -0.19 0.27 -0.26 0.12]; y=filter(num,den,x);
num1=[0.3 -0.2 0.4];den1=[1 0.9 0.8]; num2=[0.2 -0.5 0.3];den2=[1 0.7 0.85]; y1=filter(num1,den1,x); y2=filter(num2,den2,y1); d=y-y2;
subplot(3,1,1); stem(n,y);
ylabel('振幅');
title('四阶实现的输出');grid subplot(3,1,2); stem(n,y2);
ylabel('振幅');
title('级联实现的输出');grid subplot(3,1,3); stem(n,d);
xlabel('时间序号n');ylabel('振幅'); title('差值信号');grid; 实验结果如图6所示:
四阶实现的输出1振幅0-110510152025303540级联实现的输出振幅0-10x 10-145101520差值信号253035400.5振幅0-0.50510152025时间序号n303540
图6
7、产生一个振幅调制信号: 运行程序: clf;
h=[3 2 1 -2 1 0 -4 0 3]; x=[1 -2 3 -4 3 2 1]; y=conv(h,x); n=0:14;
subplot(2,1,1); stem(n,y);
xlabel('时间序号n');ylabel('振幅'); title('用卷积得到的输出');grid; x1=[x zeros(1,8)]; y1=filter(h,1,x1); subplot(2,1,2); stem(n,y1);
xlabel('时间序号n');ylabel('振幅');title('由滤波生成的输出');grid;
实验结果如图7所示:
用卷积得到的输出2010振幅0-10-2002468时间序号n由滤波生成的输出1012142010振幅0-10-2002468时间序号n101214
图7
8、产生线性时不变系统的冲击响应的绝对值之和:
运行程序: clf;
num=[1 -0.8];den=[1 1.5 0.9]; N=200;
h=impz(num,den,N+1); parsum=0; for k=1:N+1;
parsum=parsum+abs(h(k));
if abs(h(k))<10^(-6),break,end end n=0:N; stem(n,h)
xlabel('时间序号n');ylabel('振幅'); disp('值=');disp(abs(h(k))); 结果得 值=
1.6761e-005
实验结果如图8所示:
321振幅0-1-2-3020406080100120时间序号n140160180200图8
9、产生两个离散时间系统:
运行程序: clf;
n=0:299;
x1=cos(2*pi*10*n/256); x2=cos(2*pi*100*n/256); x=x1+x2;
num1=[0.5 0.27 0.77]; y1=filter(num1,1,x); den2=[1 -0.53 0.46]; num2=[0.45 0.5 0.45]; y2=filter(num2,den2,x); subplot(2,1,1);
plot(n,y1);axis([0 300 -2 2]); ylabel('振幅');
title('系统#1的输出'); grid;
subplot(2,1,2);
plot(n,y2);axis([0 300 -2 2]);
xlabel('时间序号n');ylabel('振幅'); title('系统#2的输出'); grid;
实验结果如图9所示:
系统#1的输出21振幅0-1-205010015020025030021振幅0-1-2050100150时间序号n200250300
图9
四、实验分析:
针对实验1 产生滑动平均滤波器;
s1=cos(2*pi*0.05*n);即产生一个低频正弦信号; s2=cos(2*pi*0.47*n);即产生一个高频正弦信号; x=s1+s2;即滑动平均滤波器的实现;
M=input('滤波器所需的长度=');即定义输入; num=ones(1,M);
y=filter(num,1,x)/M;即定义滑动平均滤波器;
此程序是通过从若干个正弦信号之和所组成的信号中滤出高频分量,来实现滑动平均滤波器。
针对实验2 产生一个简单的非线性离散时间系统; x=sin(2*pi*0.05*n)+1;即产生一个正弦输入信号; x1=[x 0 0];即x1[n]=x[n+1]; x2=[0 x 0];即x2[n]=x[n]; x3=[0 0 x];即x3[n]=x[n-1];
y=x2.*x2-x1.*x3;即对输出信号的计算
此程序中输入信号是由两个正弦序列的和组成的,通过三点平滑滤波器的因果表达式得出线性时不变系统,产生输出信号。
针对实验3产生线性与非线性系统;