MATLAB离散时间系统的时域分析Word下载.docx
《MATLAB离散时间系统的时域分析Word下载.docx》由会员分享,可在线阅读,更多相关《MATLAB离散时间系统的时域分析Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
系统的因果性即系统的可实现性。
如果系统时刻的输出取决于时刻及时刻以前的输入,而和时刻以后的输入无关,则该系统是可实现的,是因果系统。
系统具有因果性的充分必要条件为
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);
Signal#2'
subplot(2,2,3);
plot(n,x);
InputSignal'
subplot(2,2,4);
plot(n,y);
OnputSignal'
axis;
输入10;
运行结果如图
线性与非线性离散时间系统的仿真
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)
Timeindexn'
subplot(2,1,2)
plot(n,y)
Outputsignal'
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);
OutputDuetoWeightedInput:
a\cdotx_{1}[n]+b\cdotx_{2}[n]'
subplot(3,1,2)
stem(n,yt);
WeightedOutput:
subplot(3,1,3)
stem(n,d);
DifferenceSignal'
时变与时不变系统的仿真
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];
yd=filter(num,den,xd,ic);
d=y-yd(1+D:
41+D);
subplot(3,1,1);
Outputy[n]'
subplot(3,1,2);
stem(n,yd(1:
41));
title(['
OutputduetodelayedInputx[n,num2str(D),]'
]);
subplot(3,1,3);
timeindexn'
线性时不变系统仿真
x=[1zeros(1,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;
Am'
Ouput'
stem(n,y2);
Cas'
Time'
Difference'
冲激响应的计算
程序
b=[2.2403,2.4908,2.2403];
a=[1,-0.4,0.75];
N=32;
N-1;
hn=impz(b,a,n);
stem(n,hn);
axis([0,N,-1.1*min(n),1.1*max(hn)]);
在实际应用中高阶因果线性时不变系统可以用低阶因果线性时不变系统级联得到,这可简化系统的设计与实现。
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;
stem(n2,hn2,'
-'
),title('
级联后的响应¦
n'
h2(n)'
%theoriginalserials
B3=[1,1.6,2.28,1.325,0.68];
A3=[0.06,-0.19,0.27,-0.26,0.12];
hn=filter(B3,A3,xn);
length(hn)-1;
stem(n,hn,'
.'
),title('
原始序列响应'
h(n)'
线性时不变系统的稳定性
若一个线性时不变系统的冲激响应是绝对可和,则此系统就是BIBO的稳定系统。
系统函数:
H(z)=z/(z-0.9)
b=[1,-0.9];
a=[1];
hn=filter(b,a,xn);
stem(n,hn),xlabel('
),ylabel('
系统函数H(z)=z/(z-0.9)的冲激响应'
sum=0;
fori=0:
length(xn)-1
sum=sum+abs(hn(i+1));
end
sum%可以发现最终的sum是1.9,只要点数足够多就能证明稳定性
zplane(b,a);
系统函数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];
299;
xn=cos((20*pi*n)/256)+cos((200*pi*n)/256);
n1=0:
length(hn1)-1;
stem(n1,hn1);
h1(n)'
系统1冲激响应'
hn2=filter(B2,A2,xn);
n2=0:
stem(n2,hn2)
系统2冲激响应'
五、实验扩展与思考
1.线性与非线性系统在信号输入/输出上有何不同?
时变与时不变系统又有何不同呢?
2.冲激响应的计算实验中,就此系统计算它的阶跃响应,并与冲激响应比较,理解他们之间的关系。
3.系统级联实验中,四阶线性时不变系统若改用并联实现,又该如何进行?
4.滤波概念实验中,两个系统的输出有何不同,为什么?
若改用最低频率为0、最高频率为0.5,长度为301的扫频正弦序列,则结果又将如何?