数字信号处理实验14.docx
- 文档编号:18079425
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:27
- 大小:573.69KB
数字信号处理实验14.docx
《数字信号处理实验14.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验14.docx(27页珍藏版)》请在冰豆网上搜索。
数字信号处理实验14
《数字信号处理》实验报告
学院:
___________________
专业:
__________________
班级:
___________________
学号:
___________________
姓名:
___________________
湖南工业大学理学院
2014年12月7日
实验一离散时间信号的表示及运算
1.1实验目的
●学会运用MATLAB表示的常用离散时间信号;
●学会运用MATLAB实现离散时间信号的基本运算。
1.2实验原理及实例分析
1.2.1离散时间信号在MATLAB中的表示
离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。
离散序列通常用
来表示,自变量必须是整数。
离散时间信号的波形绘制在MATLAB中一般用stem函数。
stem函数的基本用法和plot函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。
如果要实心,需使用参数“fill”、“filled”,或者参数“.”。
由于MATLAB中矩阵元素的个数有限,所以MATLAB只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。
类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。
例1.单位取样序列
单位取样序列
,也称为单位冲激序列,定义为
要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n=0处是取确定的值1。
在MATLAB中,冲激序列可以通过编写以下的impDT.m文件来实现,即
functiony=impDT(n)
y=(n==0);%当参数为0时冲激为1,否则为0
调用该函数时n必须为整数或整数向量。
【实例2-1】利用MATLAB的impDT函数绘出单位冲激序列的波形图。
解:
MATLAB源程序为
>>n=-3:
3;
>>x=impDT(n);
>>stem(n,x,'fill'),xlabel('n'),gridon
>>>>axis([-33-0.11.1])
title('单位阶跃序列')
其波形如下图
1.2.2离散时间信号的基本运算
对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位、反折等。
两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MATLAB的点乘和点除、序列移位和反折来实现,与连续时间信号处理方法基本一样。
例2用MATLAB命令画出下列离散时间信号的波形图。
(1)
;
(2)
解:
设
,
,MATLAB源程序为
>>a=0.8;N=8;n=-12:
12;
>>x=a.^n.*(uDT(n)-uDT(n-N));
>>n1=n;n2=n1-3;
>>subplot(121)
>>stem(n1,x,'fill'),gridon
>>title('x1(n)'),axis([-151501])
>>subplot(122)
>>stem(n2,x,'fill'),gridon
>>title('x2(n)'),axis([-151501]
其波形如下图
1.3编程练习
1.试用MATLAB命令分别绘出下列各序列的波形图。
(1)
(2)
(3)
(4)
(5)
(6)
解:
附:
n=0:
10;
a1=1/2;a2=-1/2;a3=2;a4=-2;a5=2;a6=1/2;
x1=a1.^n;x2=a2.^n;x3=a3.^n;x4=a4.^n;
x5=a5.^(n-1).*uDT(n-1);x6=a6.^(n-1);
subplot(231)
stem(n,x1,'fill'),gridon
xlabel('n'),title('x(n)=1/2^{n}')
subplot(232)
stem(n,x2,'fill'),gridon
xlabel('n'),title('x(n)=(-1/2)^{n}')
subplot(233)
stem(n,x3,'fill'),gridon
xlabel('n'),title('x(n)=2^{n}')
subplot(234)
stem(n,x4,'fill'),gridon
xlabel('n'),title('x(n)=(-2)^{n}')
subplot(235)
stem(n,x5,'fill'),gridon
xlabel('n'),title('x(n)=2^{n-1}*u(n-1)')
subplot(236)
stem(n,x6,'fill'),gridon
xlabel('n'),title('x(n)=(1/2)^{n-1}')
2.试用MATLAB分别绘出下列各序列的波形图。
(1)
(2)
(3)
(4)
解:
附:
n=0:
25;n1=0:
39;
x1=sin(pi/5*n);x2=cos(pi/10*n1-pi/5);
x3=(5/6).^n.*sin(pi/5*n);x4=(3/2).^n.*sin(pi/5*n);
subplot(221)
stem(n,x1,'fill'),xlabel('n'),gridon
title('正弦序列')
axis([0,25,-1.5,1.5]);
subplot(222)
stem(n1,x2,'fill'),,xlabel('n'),gridon
title('正弦序列')
axis([0,40,-1.5,1.5]);
subplot(223)
stem(n,x3,'fill'),xlabel('n'),gridon
title('正弦序列')
axis([0,25,-1.5,1.5]);
subplot(224)
stem(n,x4,'fill'),,xlabel('n'),gridon
title('正弦序列')
axis([0,25,-5000,12000]);
实验二:
离散时间LTI系统的时域分析
2.1实验目的
●学会运用MATLAB求解离散时间系统的零状态响应;
●学会运用MATLAB求解离散时间系统的单位取样响应;
●学会运用MATLAB求解离散时间系统的卷积和。
2.2实验原理及实例分析
2.2.1离散时间系统的响应
离散时间LTI系统可用线性常系数差分方程来描述,即
(2-1)
其中,
(
,1,…,N)和
(
,1,…,M)为实常数。
MATLAB中函数filter可对式(13-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。
函数filter的语句格式为
y=filter(b,a,x)
其中,x为输入的离散序列;y为输出的离散序列;y的长度与x的长度一样;b与a分别为差分方程右端与左端的系数向量。
【实例2-1】已知某LTI系统的差分方程为
试用MATLAB命令绘出当激励信号为
时,该系统的零状态响应。
解:
MATLAB源程序为
>>a=[3-42];
>>b=[12];
>>n=0:
30;
>>x=(1/2).^n;
>>y=filter(b,a,x);
>>stem(n,y,'fill'),gridon
>>xlabel('n'),title('系统响应y(n)')
程序运行结果如图2-1所示。
2.2.2离散时间系统的单位取样响应
系统的单位取样响应定义为系统在
激励下系统的零状态响应,用
表示。
MATLAB求解单位取样响应可利用函数filter,并将激励设为前面所定义的impDT函数。
例如,求解实例2-1中系统的单位取样响应时,MATLAB源程序为(程序运行结果如图2-2所示。
)
>>a=[3-42];
>>b=[12];
>>n=0:
30;
>>x=impDT(n);
>>h=filter(b,a,x);
>>stem(n,h,'fill'),gridon
>>xlabel('n'),title('系统单位取样响应h(n)')
2.3编程练习
1.试用MATLAB命令求解以下离散时间系统的单位取样响应。
(1)
(2)
解:
附:
a1=[341];a2=[5/2610];
b1=[11];b2=1;
n=0:
20;
subplot(211)
impz(b1,a1,n),gridon
title('系统
(1)单位取样响应h(n)')
subplot(212)
impz(b2,a2,n),gridon
title('系统
(2)单位取样响应h(n)')
2.已知某系统的单位取样响应为
,试用MATLAB求当激励信号为
时,系统的零状态响应。
解:
附:
nx=-1:
6;nh=-2:
12;
x=uDT(nx)-uDT(nx-5);
h=(7/8).^nh.*(uDT(nh)-uDT(nh-10));
y=conv(x,h);
ny1=nx
(1)+nh
(1);
ny=ny1+(0:
(length(nx)+length(nh)-2));
subplot(311)
stem(nx,x,'fill'),gridon
xlabel('n'),title('x(n)')
axis([-41603])
subplot(312)
stem(nh,h','fill'),gridon
xlabel('n'),title('h(n)')
axis([-41603])
subplot(313)
stem(ny,y,'fill'),gridon
xlabel('n'),title('y(n)=x(n)*h(n)')
axis([-41605]
实验三z变换及离散时间LTI系统的z域分析
3.1实验目的
●学会运用MATLAB求离散时间信号的z变换和z反变换;
●学会运用MATLAB分析离散时间系统的系统函数的零极点;
●学会运用MATLAB分析系统函数的零极点分布与其时域特性的关系;
●学会运用MATLAB进行离散时间系统的频率特性分析。
3.2实验原理及实例分析
3.2.1z正反变换
序列
的z变换定义为
其中,符号
表示取z变换,z是复变量。
相应地,单边z变换定义为
MATLAB符号数学工具箱提供了计算离散时间信号单边z变换的函数ztrans和z反变换函数iztrans,其语句格式分别为
Z=ztrans(x)
x=iztrans(z)
上式中的x和Z分别为时域表达式和z域表达式的符号表示,可通过sym函数来定义。
实例1:
试用ztrans函数求下列函数的z变换。
(1)
;
解:
(1)z变换MATLAB源程序为
>>x=sym('a^n*cos(pi*n)');
>>Z=ztrans(x);
>>simplify(Z)
ans=
z/(z+a)
实例2:
试用iztrans函数求
的z反变换。
解:
(1)z反变换MATLAB源程序为
>>Z=sym('(8*z-19)/(z^2-5*z+6)');
>>x=iztrans(Z);
>>simplify(x)
ans=
-19/6*charfcn[0](n)+5*3^(n-1)+3*2^(n-1)
其中,charfcn[0](n)是
函数在MATLAB符号工具箱中的表示,反变换后的函数形式为
3.2.2系统函数的零极点分析
离散时间系统的系统函数定义为系统零状态响应的z变换与激励的z变换之比,即
如果系统函数
的有理函数表示式为
那么,在MATLAB中系统函数的零极点就可通过函数roots得到,也可借助函数tf2zp得到,tf2zp的语句格式为
[Z,P,K]=tf2zp(B,A)
其中,B与A分别表示
的分子与分母多项式的系数向量。
它的作用是将
的有理分式表示式转换为零极点增益形式,即
实例3:
已知一离散因果LTI系统的系统函数为
,试用MATLAB命令求该系统的零极点。
解:
用tf2zp函数求系统的零极点,MATLAB源程序为
>>B=[1,0.32];
>>A=[1,1,0.16];
>>[R,P,K]=tf2zp(B,A)
R=
-0.3200
P=
-0.8000
-0.2000
K=
1
因此,零点为
,极点为
与
。
3.3编程练习
1.利用MATLAB的residuez函数,求
的部分分式展开和。
解:
部分分式展开和为
附:
B=[325644162];
A=[-12,18,-15,3,3];
[R,P,K]=residuez(B,A)
R=
3.0702+2.3398i
3.0702-2.3398i
-9.4914+0.0000i
0.0177+0.0000i
P=
0.5000+0.8660i
0.5000-0.8660i
0.8090+0.0000i
-0.3090+0.0000i
K=
0.6667
2.试用MATLAB画出下列因果系统的系统函数零极点分布图,并判断系统的稳定性。
(1)
解:
由下图可看出有一个极点不在单位元内,所以该系统不是稳定系统;
附:
B=[2,-1.6,-0.9];
A=[1,-2.5,1.96,-0.48];
zplane(B,A),gridon
legend('零点','极点')
title('零极点分布图')
(2)
解:
由下图可看出极点全在单位元内,所以该系统是稳定系统;
附:
B=[1,-1];
A=[1,-0.9,-0.65,0.873];
zplane(B,A),gridon
legend('零点','极点')
title('零极点分布图')
3.试用MATLAB绘制系统
的频率响应
解:
结果如下图:
附:
b=[1];
a=[1-3/41/8];
[H,w]=freqz(b,a,400,'whole');
Hm=abs(H);
Hp=angle(H);
subplot(211)
plot(w,Hm),gridon
xlabel('\omega(rad/s)'),ylabel('Magnitude')
title('离散系统幅频特性曲线')
subplot(212)
plot(w,Hp),gridon
xlabel('\omega(rad/s)'),ylabel('Phase')
title('离散系统相频特性曲线')
实验四离散傅立叶变换及其快速算法
4.1试验目的
●理解信号变换的基本概念
●理解离散傅立叶变换的基本概念
●掌握快速傅立叶变换的应用方法
4.2信号变换概述
信号是数字信号处理领域中最基本、最重要的概念。
而数字信号变换技术,又是对信号进行处理操作的最基本的有效途径之一。
因此,数字信号变换技术,便成为数字信号处理领域中专业人员所必须要张我的一项最基本的技能。
简单地说,数字信号变换技术就是为了处理操作上的方便和可能,通过数学变换,将一个域内的信号变换映射倒另一个域内的信号的方法。
常用的数字信号变换主要有:
傅立叶变换、离散余弦变换(DCT)、Z变换、Chirpz变换、Hilbert变换等。
这些变换,都有着各自的理论和其应用背景。
4.3离散傅立叶变换
傅立叶变换是信号分析和处理的重要工具。
有限长序列作为离散信号的一种,在数字信号处理种占有着极其重要的位置。
下面,就对离散傅立叶变换及其MATLAB函数应用,结合实际工程实例做说明。
1、非周期连续时间信号的傅立叶变换
非周期连续时间信号
的傅立叶变换
可以表示为
=
逆变换为
在这里,
是模拟角频率。
可以看到,时域的连续函数造成频域的非周期谱,时域的非周期性造成频域的连续谱。
结论:
非周期连续时间函数对应于一非周期连续频域变换函数。
2、非周期离散时间信号
的傅立叶变换
可以表示为
逆变换为
在这里,
是数字频率,它和模拟角频率的关系为
。
可以看到,时域的取样对应于频域的周期延拓,而时域函数的非周期性造成频域的离散谱。
结论:
非周期离散时间函数对应于一周期连续频域变换函数。
4.4离散傅立叶变换
离散傅立叶级数变换是周期序列,仍不便于计算机计算。
但离散傅立叶级数虽是周期序列,却只有
个独立的数值,所以它的许多特性可以通过有限长序列延拓来得到。
有限长序列
的离散傅立叶变换(DFT)为
逆变换为
实例:
如果
是一个N=16的有限序列,用MATLAB求其DFT的结果,并画出其结果图,如图所示。
程序
N=16;n=0:
1:
N-1;xn=sin(n*pi/8)+sin(n*pi/4);
k=0:
1:
N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;
Xk=xn*WNnk;subplot(2,1,1)stem(n,xn);
subplot(2,1,2)stem(k,abs(Xk));
4.5函数应用
MATLAB为计算数据的离散快速傅立叶变换,提供了一系列丰富的数学函数,主要有Fft、Ifft、Fft2、Ifft2,Fftn、ifftn和Fftshift、Ifftshift等。
当所处理的数据的长度为2的幂次时,采用基-2算法进行计算,计算速度会显著增加。
所以,要尽可能使所要处理的数据长度为2的幂次或者用添零的方式来添补数据使之成为2的幂次。
1.Fft和Ifft函数
调用方式
(1)Y=fft(X)
参数说明
·如果X是向量,则采用傅立叶变换来求解X的离散傅立叶变换;
·如果X是矩阵,则计算该矩阵每一列的离散傅立叶变换;
·如果X是(N
维数组,则是对第一个非单元素的维进行离散傅立叶变换;
(2)Y=fft(X,N)
参数说明
N是进行离散傅立叶变换的X的数据长度,可以通过对X进行补零或截取来实现。
(3)(3)Y=fft(X,[],dim)或Y=fft(X,N,dim)
数说明
·在参数dim指定的维上进行离散傅立叶变换;
·当X为矩阵时,dim用来指定变换的实施方向:
dim=1,表明变换按列进行;dim=2表明变换按行进行。
函数Ifft的参数应用与函数Fft完全相同。
4.6编程练习
1.试用Mablab求其有限长序列
与
的圆周卷积,(N=20),并画出其结果图。
解:
附:
n1=0:
1:
10;
x=(0.8).^n1;
n2=0:
1:
16
h=(0.6).^n2;
N=20;
x1=[xzeros(1,N-length(x))];
h1=[hzeros(1,N-length(h))];
y1=conv(x1,h1);
z1=[zeros(1,N)y1(1:
(N-1))];
z2=[y1((N+1):
(2*N-1))zeros(1,N)];
z=z1(1:
(2*N-1))+z2(1:
(2*N-1))+y1(1:
(2*N-1));
y2=z(1:
N)
stem((0:
N-1),y2,'.');axis([02002]);title('20点圆周卷积');
2.复指数信号的离散傅里叶变换。
其中
,n=[0,10]
用Matlab求这一有限时宽的序列的傅里叶变换。
解:
附:
N=11;
n=0:
1:
N-1;%时域采样
xn=(0.9*exp(j*pi/3)).^n;
k=0:
1:
N-1;%频域采样
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^nk;
Xk=xn*WNnk;
subplot(2,1,1)
stem(n,xn);title('x=(0.9*exp(j*pi/3))^n')
subplot(2,1,2)
stem(k,abs(Xk));title('傅立叶变换后的图像')
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验 14