数字信号处理实验2

  • 格式:doc
  • 大小:231.44 KB
  • 文档页数:6

广东海洋大学学生实验报告书
实验名称 实验二 离散时间信号和离散时间系统 课程名称 数字信号处理 课程号
学院(系) 信息学院 专业 软件工程 班级 应用1123
学生姓名 钟炜堂 学号 201211701131 实验地点 科技楼04017 日期 2015.10.22

一、 实验目的:
1.掌握计算线性时不变系统的冲激响应的方法。
2.理解时域采样的概念及方法。
3.掌握离散时间信号的z变换和z逆变换分析
4.了解离散时间傅里叶变换(DTFT)

二、实验原理:
(一)信号采样
采样就是利用周期性抽样脉冲序列pT(t),从连续信号xa(t)中抽取一系列的离散值,得到抽样信号(或
称抽样数据信号)即离散时间信号。
(二)线性时不变离散时间系统
线性系统:满足线性叠加原理的系统。若y1(n)和y2(n)分别是输入序列x1(n)和x2(n)的响应,则输
入x(n)=ax1(n)+bx2(n)的输出响应为y(n)=ay1(n)+by2(n)。
时不变系统:即系统参数不随时间变化的系统,亦即系统对于输入信号的响应与信号加于系统的时间
无关。即满足 :若y(n)是x(n)的响应,则y(n-m)是输入x(n-m)的响应,其中m是任意整数。

数字滤波器对单位样本序列n的响应称为冲激响应,用h(n)表示。线性时不变离散系统对输入信

号x(n)的响应y(n)可用h(n)来表示:kknxkhny)()()(。
(三)z变换和逆z变换

序列nx的z变换定义为:


n
n
znxzX


其中,z是复变量。相应地,单边z变换定义为:



0n
n
znxzX


MATLAB提供了计算离散时间信号单边z变换的函数ztrans和z反变换函数iztrans: Z=ztrans(x),

x=iztrans(z)。上式中的x和Z分别为时域表达式和z域表达式的符号表示,可通过sym函数来定义。

如果信号的z域表示式)(zX是有理函数,进行z反变换的另一个方法是对)(zX进行部分分式展开,
然后求各简单分式的z反变换。设)(zX的有理分式表示为

GDOU-B-11-112
)()(1)(221122110zA
zB
zazazazbzbzbbzXnnmm







(4-3)
MATLAB信号处理工具箱提供了一个对)(zX进行部分分式展开的函数residuez,其语句格式为
[R,P,K]=residuez(B,A)
其中,B,A分别表示X(z)的分子与分母多项式的系数向量;R为部分分式的系数向量;P为极点向量;
K为多项式的系数。若X(z)为有理真分式,则K为零。
离散时间傅里叶变换(DTFT)
1.序列x[n]的离散
时间傅里叶变换定义为:


n
njj
enxeX][)(

)(jeX
是变量的连续函数。

)(jeX
并可写为实部和虚部相加的形式:)()()(jimjrejejXeXeX

)(jeX
也可以表示为:)(|)(|)(jjjeeXeX。其中,)}(arg{)(jeX。|)(|jeX称为幅

度函数,)(称为相位函数,又分别称为幅度谱和相位谱,都是的实函数。
2.)(jeX的离散时间傅里叶逆变换为:

deeXnxnjj)(21][
3.由于)(jeX是连续函数,而在MATLAB中数据只能以向量的形式存在,所以)(jeX只能在一个给
定L个离散频率点的离散频率集合中计算,需要尽可能大地选取L的值以表示连续函数)(jeX

三、实验内容
(一)线性时不变系统的冲激响应的计算
设系统为y(n)-0.5y(n-1)+0.75y(n-2)=2.5x(n)+2.5x(n-1)+2x(n-2),计算上述系统的冲激响应。
参考程序如下:
N=40;
num=[2.5 2.5 2];
den=[1 -0.5 0.75];
y=impz(num,den,N);
%画出冲激响应
stem(y);
xlabel('时间序号n'); ylabel('振幅');
title('冲激响应'); grid;
(二)时域采样
对连续正弦时间信号x(t)=cos(2πft)进行采样,其中f=13。
t=0:0.0005:1;
f=13;
xa=cos(2*pi*f*t);
subplot(2,1,1)
plot(t,xa);grid
xlabel('时间,msec'); ylabel('振幅');
title('连续时间信号');
axis([0 1 -1.2 1.2])
subplot(2,1,2);
T=0.1;
n=0:T:1;
xs=cos(2*pi*f*n);
k=0:length(n)-1;
stem(k,xs);grid
xlabel('时间序号n'); ylabel('振幅');
title('离散时间信号');
axis([0 length(n)-1 -1.2 1.2])
(三)z变换和z反变换

1.用ztrans函数求函数)()cos()(nunanxn的z变换。
MATLAB参考程序如下:
x=sym('a^n*cos(pi*n)');
Z1=ztrans(x);
Z=simplify(Z1);

2.用iztrans函数求函数32)2)(1()12112()(zzzzzzX的z反变换。
MATLAB参考程序如下:
Z=sym('z*(2*z^2-11*z+12)/(z-1)/(z-2)^3');
x=iztrans(Z);
simplify(x)

3.用MATLAB命令对函数321431818)(zzzzX进行部分分式展开,并求出其z反变换。
MATLAB参考程序如下:
B=[18];
A=[18,3,-4,-1];
[R,P,K]=residuez(B,A)
(四)序列的离散时间傅里叶变换(DTFT)
求序列x(n)=(-0.8)n,1010n的离散时间傅里叶变换,并画出它的实部、虚部、幅度和相位。
n=-10:10;
x=(-0.8).^n;
k=-200:200;
w=(pi/100)*k;
X=x*(exp(-j*pi/100)).^(n'*k);
subplot(4,1,1)
plot(w/pi, real(X)); grid;
title('X(e^{j\omega})实部')
xlabel('\omega/\pi');
ylabel('振幅');
subplot(4,1,2)
plot(w/pi, imag(X));grid
title('X(e^{j\omega})虚部')
xlabel('\omega/\pi');
ylabel('振幅');
subplot(4,1,3)
plot(w/pi, abs(X));grid
title('X(e^{j\omega})幅度谱')
xlabel('\omega/\pi');
ylabel('振幅');
subplot(4,1,4)
plot(w/pi, angle(X));grid
title('相位谱arg[X(e^{j\omega})]')
xlabel('\omega/\pi');
ylabel('以弧度为单位的相位');

四、实验分析
1.观察实验结果,分析系统的线性、时不变性,求出系统的冲激响应。

图1
通过传输函数确定离散时间系统的特性。根据传输函数得出了离散时间系统的冲激响应。
应用到的函数是impz。通过完成实验建立了对离散时间系统的冲激响应的理解。冲激响应不
能直观的得出离散时间系统的特性,相比而言,频率响应更能表现离散时间系统的特性。
对正弦信号进行采样。

图2
求出程序(三)中的(三)z变换和z反变换表达式。

图3
观察程序(四)离散时间信号的傅里叶变换的结果并分析。
x(n) 做DTFT(离散时间信号的傅里叶变换)得X(ejω),它是连续周期的。对X(ejω)
采样,造成x(n)周期沿拓。即DFS变换对:X1(k)→x1(n)。X1(k)是X(ejω)采样后的序列,
也是周期的。x1(n)是x(n)周期延拓后的序列。

五、实验总结
经过这次实验我初步掌握计算线性时不变系统的冲激响应的方法。理解时域采样的概念
及方法。掌握离散时间信号的z变换和z逆变换分析。了解离散时间傅里叶变换(DTFT)。

成绩 指导教师 日期