实验四 离散时间信号与系统分析Word文档下载推荐.docx
《实验四 离散时间信号与系统分析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验四 离散时间信号与系统分析Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
x(k)={1,2,3,4,5;
k=-1,0,1,2,3},y(k)={1,1,1;
k=-1,0,1},计算x(k)*y(k),并画出卷积结果。
解:
利用conv()函数进行离散信号的卷积,注意卷积信号的k值范围
k_x=-1:
3;
x=[1,2,3,4,5];
k_y=-1:
1;
y=[1,1,1];
z=conv(x,y);
k_z=k_x
(1)+k_y
(1):
k_x(end)+k_y(end);
stem(k_z,z);
(二)离散信号的逆z变换
离散序列的z变换通常是z的有理函数,可表示为有理分式的形式,因此可以现将X(z)展开成一些简单而常用的部分分式之和,然后分别求出各部分分式的逆变换,把各逆变换相加即可得到X(z)的逆变换x(n)。
设离散信号的z变换式如下,
在Matlab中进行部分分式展开的函数为residuez(),其调用形式如下:
[r,p,k]=residuez(num,den)
其中num=[b0,b1,…,bm]表示X(z)有理分式的分子多项式为
;
den=[a0,a1,…,am]表示X(z)有理分式的分母多项式为
,注意分子分母多项式均为按z-1的降幂排列的多项式,缺项应补零。
p为X(z)的极点向量,而r为对应极点部分分式的系数向量,k为常数项和z=0极点的系数向量。
若X(z)为互异的极点,则相应参数的关系如下:
若X(z)中含有重极点,设s阶重极点为p(j),则对应的p(j)=p(j+1)=…=p(j+s-1),相应的部分分式为:
例:
已知系统函数为
,求部分分式展开式
num=[18];
den=[183-4-1];
[r,p,k]=residuez(num,den)
运行结果如下:
r=0.36000.24000.4000
p=0.5000-0.3333-0.3333
k=[]
因此F(z)的部分分式展开式为:
因此
(三)、离散时间系统的时域分析
1、离散时间系统任意激励下的零状态响应
大量的LTI离散时间系统都可用如下线性常系数差分方程描述
其中f[k],y[k]分别表示系统的输入和输出,n是差分方程的阶数。
已知差分方程的n个初始状态和输入f[k],就可以通过编程由下式迭代计算出系统的输出。
在零初始状态时,MATLAB信号处理工具箱提供了一个filter函数,计算由差分方程描述的系统的响应。
其调用方式为
y=filter(b,a,f)
式中b=(b0,b1,b2,…,bM),a=(a0,a1,a2,…,aN)分别是差分方程左、右端的系数系数向量。
注意输出序列的长度和输入序列的长度。
受噪声干扰的信号为
,其中
是原始信号。
d[k]是噪声。
已知M点滑动平均(movingaverage)系统的输入输出关系为
系统的输入信号f[k]含有有用信号s[k]和噪声信号d[k]。
噪声信号d[k]可以用rand函数产生,将其叠加在有用信号s[k],即得到受噪声干扰的输入信号f[k]。
下面的程序实现了对信号f[k]去噪,取M=5。
%program3_3SignalSmoothingbyMovingAverageFilter
R=51;
%信号的长度
%d为[-0.5,0.5]均匀分布的随机噪声
d=rand(1,R)-0.5;
k=0:
R-1;
s=2*k.*(0.9.^k);
f=s+d;
figure;
%绘制离散信号包络线
plot(k,d,'
x-'
k,s,'
*-'
k,f,'
o-'
);
xlabel('
Timeindexk'
legend('
d[k]'
'
s[k]'
f[k]'
M=5;
b=ones(M,1)/M;
a=1;
y=filter(b,a,f);
plot(k,s,'
k,f,'
o-.'
k,y,'
)
'
y[k]'
2、离散时间系统单位脉冲响应和单位阶跃响应
在MATLAB中,求解离散时间系统单位脉冲响应,可应用信号处理工具箱提供的函数impz,其调用形式为
h=impz(b,a,k)
求解离散时间系统单位阶跃响应的函数为stepz(),其调用形式与impz()类似。
用impz函数求离散时间系统
的单位脉冲响应h[k],并与理论值
比较。
%program3_4Impulseresponseofdiscretesystem
k=0:
10;
a=[132];
b=1;
h=impz(b,a,k);
subplot(2,1,1)
stem(k,h)
title(‘单位脉冲响应的近似值’)
hk=-(-1).^k+2(-2).^k’
subplot(2,1,2)
stem(k,hk)
title(‘单位脉冲响应的理论值’)
(四)离散系统的频域分析
1、离散系统零极点分析
用MATLAB分析系统函数H(z)的零极点与系统特性的关系
如果系统函数H(z)的有理多项式表示形式为
那么系统函数的零点和极点可以通过MATLAB函数roots得到,也可以借助函数tf2zp()或tf2zpk()得到,其调用形式为
[z,p,k]=tf2zp(num,den)或tf2zpk(num,den)
其中tf2zp()用于计算z的有理分式表示的系统函数的零极点,而tf2zp()则用于计算z-1的有理分式表示的系统函数的零极点。
若要获得系统函数H(z)的零极点分布图,可以直接应用zplane函数,其调用形式为
zplane(num,den)
num=[0,1,2,1];
den=[1,-0.5,-0.005,0.3];
2、离散系统的频响特性分析
所谓离散系统频率特性,也称为频率响应特性,简称频率响应(Frequencyresponse),是指系统在正弦序列激励下的稳态响应随频率变化的情况,包括响应的幅度随频率的变化情况和响应的相位随频率的变化情况两个方面。
Matlab中用系统函数分子和分母多项式系数行向量来表示系统。
相应的频率特性函数为:
[h,w]=freqz(num,den):
num,den分别为离散时间系统的系统函数H(z)的分子分母z-1多项式的系数向量(Coefficientsvector),返回的频率响应在各频率点的样点值(复数)存放在h中,系统默认的频率样点数目为200点;
若离散系统函数H(z)为
,分别绘制系统的零极点图和频率响应。
将H(z)表示为z-1的幂级数形式
,相应的Matlab程序如下:
num=[1];
den=[1-0.5];
zplane(num,den);
freqz(num,den);
可得相应的零极点图和频率响应曲线
四、实验内容
1、已知x(n)=an[u(n)-u(20)],h(n)=u(n)-u(n-20),其中a=0.5,
1)计算x(n)*h(n)的数学表达式
2)利用Matlab中conv()函数计算并绘制x(n)*h(n)的图形,与解析式的相比较。
2、应用部分分式法求下列X(z)的逆变换x(n)
1)
,
2)
3)
3、已知M点滑动平均(movingaverage)系统的输入输出关系为
绘制M分别为1、5、15、20时,系统的单位样值响应、正弦响应曲线、零极点图和频率响应曲线,并分析M对系统单位样值响应、正弦响应曲线、零极点图和频率响应曲线的影响。
参考程序
150;
f=sin(k/10);
M=5;
num=ones(1,M)/M;
impz(num,1,20)
y=filter(num,1,f);
figure
plot(k,f,'
k,y,'
正弦激励信号'
正弦响应信号'
xlim([100,150])
zplane(num,1)
freqz(num,1)
4、已知离散系统差分方程表示式为
1)求出系统函数和单位样值响应,并绘制单位样值响应;
2)求出系统激励为x(n)=u(n)-u(n-3)时的系统零状态响应,并绘制其图形
3)求出系统的零极点,并绘制系统的零极点分布图
4)绘制系统的频率响应曲线