实验二离散时间信号的时域分析讲解
- 格式:doc
- 大小:187.05 KB
- 文档页数:23
实验二离散时间信号的时域分析
陈一凡20112121006
一、实验目的:
学习使用MATLAB命令产生滑动平均滤波器;
学习使用MATLAB命令产生一个简单的非线性离散时间系统;
学习使用MATLAB命令产生线性与非线性系统;
学习使用MATLAB命令产生时不变系统和时变系统;
学习使用MATLAB命令产生线性时不变系统的冲激响应;
学习使用MATLAB命令产生线性时不变系统的级联;
学习使用MATLAB命令产生有限冲击响应系统的输出序列;
学习使用MATLAB命令产生线性时不变系统的冲击响应的绝对值之和;
学习使用MATLAB命令产生两个离散时间系统;
二、实验原理简述:
运用运算符和特殊符号,基本矩阵和矩阵控制,基本函数,数据分析,二维图形,通用图形函数,信号处理工具箱等命令,产生离散时间系统等。
三、实验内容与实验结果
1、产生并绘制一个滑动平均滤波器
运行程序
clf;
n=0:100;
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;
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 实验结果如图1所示 ans =
0 100 -2 2
50
100
-2
-101
2时间序号n 振幅
信号#1
50
100
-2
-101
2时间序号n 振幅
信号#2
50
100
-2-101
2时间序号n
振幅
输入信号
50
100
-2-101
2时间序号n
振幅
输出信号
图1
2、生成一个简单的非线性离散时间系统: 运行程序: clf;
n=0:200;
x=sin(2*pi*0.05*n)+1; x1=[x 0 0]; x2=[0 x 0]; x3=[0 0 x];
y=x2.*x2-x1.*x3; y=y(2:202); subplot(2,1,1) plot(n,x)
xlabel('时间序号n');ylabel('振幅'); title('输入信号') subplot(2,1,2) plot(n,y)
xlabel('时间序号n');ylabel('振幅'); title('输出信号'); 实验结果如图2所示
0204060
80100120140160180200
0.511.5
2时间序号n 振幅
输入信号
0204060
80100120140160180200
-0.5
0.5
1时间序号n
振幅
输出信号
图2
3.生成一个产生线性与非线性系统: 运行程序: 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]; den=[1 -0.4 0.75]; ic=[0 0];
y1=filter(num,den,x1,ic); y2=filter(num,den,x2,ic); y=filter(num,den,x,ic); yt=a*y1+b*y2; d=y-yt;
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('差信号'); 实验结果如图3所示
5
10
15
20
25
30
35
40
-40-20020振幅
加权输入:a ⋅ x 1[n]+b ⋅ x 2[n]的输出
0510152025303540
-50
050
振幅
加权输出t:a ⋅ y 1[n]+b ⋅ y 2[n]
051015
2025303540
-5
05
x 10
-15
时间序号n
振幅
差信号
图3
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);