实验二离散时间信号的时域分析(3)

2019-08-30 21:33

clf; n=0:40; a=2;b=-3;

x1=cos(2*pi*0.1*n); x2=cos(2*pi*0.4*n);

x=a*x1+b*x2;即三个输入序列;

num=[2.2403 2.4908 2.2403];即对filter函数计算系统输出的num赋值; den=[1 -0.4 0.75];即对filter函数计算系统输出的den赋值; ic=[0 0];即设置零初始条件

y1=filter(num,den,x1,ic);即计算输出y1[n]; y2=filter(num,den,x2,ic);即计算输出y2[n]; y=filter(num,den,x,ic);即计算输出y3[n]; yt=a*y1+b*y2;

d=y-yt;即计算差值输出d[n]; subplot(3,1,1) stem(n,y);

ylabel('振幅');

title('加权输入:a\\cdot x_{1}[n]+b\\cdot x_{2}[n]的输出'); subplot(3,1,2) stem(n,y);

ylabel('振幅');

title('加权输出t:a\\cdot y_{1}[n]+b\\cdot y_{2}[n]'); subplot(3,1,3) stem(n,d);

xlabel('时间序号n');ylabel('振幅'); title('差信号');

此程序是在因果系统的线性特性的基础上,输入三个不同的输入序列,计算相应的输出响应。

针对实验4产生线性时不变系统; clf;

n=0:40;D=10;a=3.0;b=-2;

x=a*cos(2*pi*0.1*n)+b*cos(2*pi*0.4*n); xd=[zeros(1,D) x];

num=[2.2403 2.4908 2.2403]; den=[1 -0.4 0.75];

ic=[0,0];即设置初始条件;

y=filter(num,den,x,ic);计算输出y[n]; yd=filter(num,den,xd,ic);计算输出yd[n]; d=y-yd(1+D:41+D);计算差值输出d[n]; subplot(3,1,1) stem(n,y);

ylabel('振幅');

title('输出y[n]');grid;

subplot(3,1,2) stem(n,yd(1:41)); ylabel('振幅');

title(['由于延时输入x[n',num2str(D),']的输出']);grid; subplot(3,1,3) stem(n,d);

xlabel('时间序号n');ylabel('振幅'); title('差值信号');grid;

此程序通过描述因果系统的线性特征,输入两个不同的输入序列,计算并画出相应的输出序列。

针对实验5产生线性时不变系统的冲激响应 clf; N=40;

num=[2.2403 2.4908 2.2403]; den=[1 -0.4 0.75]; y=impz(num,den,N); stem(y);

xlabel('时间序号n');ylabel('振幅'); title('冲激响应');grid;

此程序用命令impz计算因果线性时不变离散时间系统的冲激相应的前N个样本。

针对实验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);即级联第一级的输出y1[n]; y2=filter(num2,den2,y1);即级联第二级的输出y2[n]; d=y-y2;即y1[n]和y2[n]之间的差; 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; 此程序在实际应用中,由于高阶因果线性时不变离散时间系统可以用低阶因果线性时不变离散时间系统级联得到。四阶离散时间系统可用二阶离散时间系统的级联实现。先产生了序列x[n],把它作为四阶系统的输入,生成输出y[n];然后用同样的输入x[n]应用到第一级得到输出序列y1[n]。接下来,用y1[n]作为第二级的输入得到他的输出y2[n]。最后求出y[n]和y2[n]之间的差,并画出所有的输出信号和差值信号。

针对实验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; 在此程序中假设待卷积的两个序列都为有限长序列,通过卷积运算符可得到有限冲激响应系统的输出序列。

针对实验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)));

由于一个线性时不变系统的冲激响应是绝对可和的,则该程序就是BIBO稳定的。此程序就是计算因果iir线性是不变系统的冲激响应的绝对值之和。 针对实验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);即系统#1的输出; den2=[1 -0.53 0.46]; num2=[0.45 0.5 0.45];

y2=filter(num2,den2,x);即系统#2的输出; 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;

此程序用差分方程描述了两个离散时间系统。

五、实验总结

在此次实验中,我学会了用MATLAB程序绘制图形,并且掌握了线性离散时间系统和线性时不变系统,离散时不变系统,有界输入有界输出系统,单位阶跃响应,卷积,级联,因果系统有了详细深入的认识。 习题求解:

Q2.4修改程序P2.1,用一个长度为101、最低频率为0、最高频率为0.5的扫描正弦信号作为输入信号,计算其输出信号。程序如下,结果如图10所示: clf;

n=0:100;

s1=cos(2*pi*0.0*n); s2=cos(2*pi*0.5*n); x=s1+s2;

M=input('滤波器所需的长度='); num=ones(1,M); y=filter(num,1,x)/M; subplot(2,2,1); plot(n,s1);

axis([0,100,-2,2]);

xlabel('时间序号n');ylabel('振幅'); title('信号#1'); subplot(2,2,2); plot(n,s2);

axis([0,100,-2,2]);

xlabel('时间序号n');ylabel('振幅');

title('信号#2'); subplot(2,2,3); plot(n,x);

axis([0,100,-2,2]);

xlabel('时间序号n');ylabel('振幅'); title('输入信号'); subplot(2,2,4); plot(n,y);

axis([0,100,-2,2]);

xlabel('时间序号n');ylabel('振幅'); title('输出信号'); Axis;

输入滤波器所需的长度=2 得到结果: ans =

0 100 -2 2

信号#12121信号#2振幅0-1-2振幅050时间序号n输入信号1000-1-2050时间序号n输出信号1002121振幅0-1-2050时间序号n100振幅0-1-2050时间序号n100

图10

Q2.6用形如x[n]=sin(w0n)+K的正弦信号作为输入信号,求出系统的输出信号。程序如下,结果如图11所示: clf;

n=0:200;


实验二离散时间信号的时域分析(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:班主任工作漫谈

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: