matlab离散时间系统的时域分析.docx
- 文档编号:5683050
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:16
- 大小:314.48KB
matlab离散时间系统的时域分析.docx
《matlab离散时间系统的时域分析.docx》由会员分享,可在线阅读,更多相关《matlab离散时间系统的时域分析.docx(16页珍藏版)》请在冰豆网上搜索。
matlab离散时间系统的时域分析
xxxxxx大学实验报告
实验课程数字信号处理
姓名xxxx学号xxxxxxxxxxxxx专业及班级xxxxxxxxx
实验地点实验组号实验日期xxxxxxxxx
实验项目离散时间系统的时域分析
实验目的1.在时域中仿真离散时间系统,进而理解离散时间系统对输入信号或延迟信号进行简单运算处理,生成具有所需特性的输出信号的方法。
2.仿真并理解线性与非线性、时变与时不变等离散时间系统。
3.掌握线性时不变系统的冲激响应的计算,并用计算机仿真实现。
4.仿真并理解线性时不变系统的级联、验证线性时不变系统的稳定特性
实验原理,实验步骤,实验仪器设备(名称,型号,功能,量程,在本次试验中的用途)
二、实验设备
计算机,MATLAB语言环境。
三、实验基础理论
1.系统的线性性质
线性性质表现为系统满足线性叠加原理:
若某一输入是由N个信号的加权和组成的,则输出就是系统对这N个信号中每一个的响应的相应加权和组成的。
设
和
分别作为系统的输入序列,其输出分别用
和
表示,即
若满足
则该系统服从线性叠加原理,或者称该系统为线性系统。
2.系统的时不变特性
若系统的变换关系不随时间变化而变化,或者说系统的输出随输入的移位而相应移位但形状不变,则称该系统为时不变系统(或称为移不变系统)。
对时不变系统,若
则
3.系统的因果性
系统的因果性即系统的可实现性。
如果系统时刻的输出取决于时刻及时刻以前的输入,而和时刻以后的输入无关,则该系统是可实现的,是因果系统。
系统具有因果性的充分必要条件为
4.系统的稳定性
稳定系统是指有界输入产生有界输出(BIBO)的系统。
如果对于输入序列,存在一个不变的正有限值,对于所有值满足
则称该输入序列是有界的。
稳定性要求对于每个有界输入存在一个不变的正有限值,对于所有值,输出序列满足
系统稳定的充分必要条件是系统的单位取样响应绝对可和,用公式表示为
5.系统的冲激响应
设系统输入
,系统输出
的初始状态为零,这时系统输出用
表示,即
则称
为系统的单位脉冲响应。
对于任意输入信号
,系统输出为
利用系统满足叠加原理得
利用系统时不变性质得到
上式的运算关系称为卷积运算。
6.卷积的性质
1)交换律
2)结合律
=
3)分配律
四、实验内容与步骤
1.离散时间系统的仿真
1)M点因果滑动平滑系统的仿真,时域表达为
通过上述时域平滑系统可实现由若干个正弦信号之和所组成的信号中滤出高频分量。
据此,可以理解M点因果滑动平滑系统。
2)线性与非线性离散时间系统的仿真。
简单的非线性系统实例:
简单的线性系统实例:
3)时变与时不变系统的仿真。
时不变系统实例:
时变系统实例:
仿真并比较这两个系统。
2.线性时不变系统仿真
1)冲激响应的计算
用MATLAB语言编程实现线性时不变系统的冲激响应计算。
线性时不变系统实例:
2)在实际应用中高阶因果线性时不变系统可以用低阶因果线性时不变系统级联得到,这可简化系统的设计与实现。
例如,对于四阶线性时不变系统
可以用二个二阶系统级联实现。
第一级
第二级
用MATLAB语言编程验证系统的级联。
3.线性时不变系统的稳定性
若一个线性时不变系统的冲激响应是绝对可和,则此系统就是BIBO的稳定系统。
由此,无限冲激响应线性时不变系统稳定的必要条件是,随着输入序列点的增加,冲激响应衰减到零。
用MATLAB语言编程计算一个IIR线性时不变系统冲激响应的绝对值的和,验证稳定特性。
4.滤波概念实验
通过具体的时间系统理解信号滤波概念。
如:
系统1
系统2
对于输入信号
实现各系统的滤波输出结果。
M点因果滑动平滑系统的仿真:
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;
clf;
subplot(2,2,1);
plot(n,s1);
axis([0,100,-2,2]);
xlabel('Timeindexin');
ylabel('Amplitude');title('Signal#1');
subplot(2,2,2);
plot(n,s2);
axis([0,100,-2,2]);
xlabel('Timeindexin');ylabel('Amplitude');
title('Signal#2');
subplot(2,2,3);
plot(n,x);
axis([0,100,-2,2]);
xlabel('Timeindexin');ylabel('Amplitude');
title('InputSignal');
subplot(2,2,4);
plot(n,y);
axis([0,100,-2,2]);
xlabel('Timeindexin');ylabel('Amplitude');
title('OnputSignal');
axis;
输入10;运行结果如图
线性与非线性离散时间系统的仿真
clf;
n=0:
200;
x=cos(2*pi*0.05*n);
x1=[x00];
x2=[0x0];
x3=[00x];
y=x2.*x2-x1.*x3;
y=y(2:
202);
subplot(2,1,1)
plot(n,x)
xlabel('Timeindexn');ylabel('Amplitude');
title('InputSignal');
subplot(2,1,2)
plot(n,y)
xlabel('Timeindexn');ylabel('Amplitude');
title('Outputsignal');
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.24032.49082.2403];
den=[1-0.40.75];
ic=[00];
y1=filter(num,den,x1,ic);
y2=filter(num,den,x2,ic);
y=filter(num,den,x,ic);
clf;
n=0:
200;
x=cos(2*pi*0.05*n);
x1=[x00];
x2=[0x0];
x3=[00x];
y=x2.*x2-x1.*x3;
y=y(2:
202);
subplot(2,1,1)
plot(n,x)
xlabel('Timeindexn');ylabel('Amplitude');
title('InputSignal');
subplot(2,1,2)
plot(n,y)
xlabel('Timeindexn');ylabel('Amplitude');
title('Outputsignal');
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.24032.49082.2403];
den=[1-0.40.75];
ic=[00];
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('Amplitude');
title('OutputDuetoWeightedInput:
a\cdotx_{1}[n]+b\cdotx_{2}[n]');
subplot(3,1,2)
stem(n,yt);
ylabel('Amplitude');
title('WeightedOutput:
a\cdotx_{1}[n]+b\cdotx_{2}[n]');
subplot(3,1,3)
stem(n,d);
xlabel('Timeindexn');ylabel('Amplitude');
title('DifferenceSignal');
时变与时不变系统的仿真
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.24032.49082.2403];
den=[1-0.40.75];
ic=[00];
y=filter(num,den,x,ic);
yd=filter(num,den,xd,ic);
d=y-yd(1+D:
41+D);
subplot(3,1,1);
stem(n,y);
title('Outputy[n]');
subplot(3,1,2);
stem(n,yd(1:
41));
title(['OutputduetodelayedInputx[n,num2str(D),]']);
subplot(3,1,3);
stem(n,d);
xlabel('timeindexn');ylabel('Amplitude');
title('DifferenceSignal');
线性时不变系统仿真
clf;
x=[1zeros(1,40)];
n=0:
40;
den=[11.62.281.3250.68];
num=[0.06-0.190.27-0.260.12];
y=filter(num,den,x);
num1=[0.3-0.20.4];den1=[10.90.8];
num2=[0.2-0.50.3];den2=[10.70.85];
y1=filter(num1,den1,x);
y2=filter(num2,den2,y1);
d=y-y2;
subplot(3,1,1);
stem(n,y);
ylabel('Am');
title('Ouput');
subplot(3,1,2);
stem(n,y2);
title('Cas');
subplot(3,1,3);
stem(n,d);
xlabel('Time');
title('Difference');
冲激响应的计算
用MATLAB语言编程实现线性时不变系统的冲激响应计算。
线性时不变系统实例:
程序
b=[2.2403,2.4908,2.2403];
a=[1,-0.4,0.75];
N=32;
n=0:
N-1;
hn=impz(b,a,n);
stem(n,hn);
axis([0,N,-1.1*min(n),1.1*max(hn)]);
XX文库-让每个人平等地提升自我
在实际应用中高阶因果线性时不变系统可以用低阶因果线性时不变系统级联得到,这可简化系统的设计与实现。
例如,对于四阶线性时不变系统
可以用二个二阶系统级联实现。
第一级
第二级
用MATLAB语言编程验证系统的级联。
B1=[1,0.9,0.8];A1=[0.2,-0.2,0.4];
xn=[1,zeros(1,30)];
hn1=filter(B1,A1,xn);
B2=[1,0.7,0.85];A2=[0.2,-0.5,0.3];
hn2=filter(B2,A2,hn1);n2=0:
length(hn2)-1;
subplot(2,1,1)
stem(n2,hn2,'-'),title('级联后的响应¦')
xlabel('n');ylabel('h2(n)')
%theoriginalserials
B3=[1,1.6,2.28,1.325,0.68];A3=[0.06,-0.19,0.27,-0.26,0.12];
xn=[1,zeros(1,30)];
hn=filter(B3,A3,xn);
n=0:
length(hn)-1;
subplot(2,1,2)
stem(n,hn,'.'),title('原始序列响应')
xlabel('n');ylabel('h(n)')
线性时不变系统的稳定性
若一个线性时不变系统的冲激响应是绝对可和,则此系统就是BIBO的稳定系统。
由此,无限冲激响应线性时不变系统稳定的必要条件是,随着输入序列点的增加,冲激响应衰减到零。
用MATLAB语言编程计算一个IIR线性时不变系统冲激响应的绝对值的和,验证稳定特性。
系统函数:
H(z)=z/(z-0.9)
b=[1,-0.9];a=[1];
xn=[1,zeros(1,30)];
hn=filter(b,a,xn);
n=0:
length(hn)-1;
subplot(2,1,1)
stem(n,hn),xlabel('n'),ylabel('h(n)'),title('系统函数H(z)=z/(z-0.9)的冲激响应')
sum=0;
fori=0:
length(xn)-1
sum=sum+abs(hn(i+1));
end
sum%可以发现最终的sum是1.9,只要点数足够多就能证明稳定性
subplot(2,1,2)
zplane(b,a);
title('系统函数H(z)=z/(z-0.9)的零极点分布图')
绘制零极点图也可看出系统是稳定的
sum=
1.9000
滤波概念实验
通过具体的时间系统理解信号滤波概念。
如:
系统1
系统2
对于输入信号
实现各系统的滤波输出结果。
程序:
B1=[1];A1=[0.5,0.27,0.77];
B2=[1,-.53,0.46];A2=[0.45,0.5,0.45];
n=0:
299;
xn=cos((20*pi*n)/256)+cos((200*pi*n)/256);
hn1=filter(B1,A1,xn);
n1=0:
length(hn1)-1;
subplot(2,1,1)
stem(n1,hn1);
xlabel('n'),ylabel('h1(n)'),title('系统1冲激响应')
hn2=filter(B2,A2,xn);
n2=0:
length(hn2)-1;
subplot(2,1,2)
stem(n2,hn2)
xlabel('n'),ylabel('h2(n)'),title('系统2冲激响应')
五、实验扩展与思考
1.线性与非线性系统在信号输入/输出上有何不同?
时变与时不变系统又有何不同呢?
2.冲激响应的计算实验中,就此系统计算它的阶跃响应,并与冲激响应比较,理解他们之间的关系。
3.系统级联实验中,四阶线性时不变系统若改用并联实现,又该如何进行?
4.滤波概念实验中,两个系统的输出有何不同,为什么?
若改用最低频率为0、最高频率为0.5,长度为301的扫频正弦序列,则结果又将如何?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 离散 时间 系统 时域 分析