数字信号处理MATLAB实验报告 2

更新时间:2024-04-06 15:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实 验 报 告

课程名称: 数字信号处理实验 专业班级: 姓 名: 学 号:

实验名称 数字信号处理 实验地点 实验成绩 一、实验目的及任务 ? 学会运用MATLAB求解离散时间系统的零状态响应; ? 学会运用MATLAB求解离散时间系统的单位取样响应; ? 学会运用MATLAB求解离散时间系统的卷积和。 实验时间 二、实验内容与步骤 3.2.1 离散时间系统的响应 离散时间LTI系统可用线性常系数差分方程来描述,即 ?ay(n?i)??bx(n?j) (3-1) iji?0j?0NM其中,ai(i?0,1,?,N)和bj(j?0,1,?,M)为实常数。 MATLAB中函数filter可对式(13-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。函数filter的语句格式为 y=filter(b,a,x) 其中,x为输入的离散序列;y为输出的离散序列;y的长度与x的长度一样;b与a分别为差分方程右端与左端的系数向量。 3.2.2 离散时间系统的单位取样响应 系统的单位取样响应定义为系统在?(n)激励下系统的零状态响应,用h(n)表示。MATLAB求解单位取样响应可利用函数filter,并将激励设为前面所定义的impDT函数。 MATLAB另一种求单位取样响应的方法是利用控制系统工具箱提供的函数impz来实现。impz函数的常用语句格式为 impz(b,a,N) 其中,参数N通常为正整数,代表计算单位取样响应的样值个数。 3.2.3 离散时间信号的卷积和运算 由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。离散时间信号的卷积定义为 y(n)?x(n)*h(n)?m????x(m)h(n?m) (3-2) ?可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。 MATLAB求离散时间信号卷积和的命令为conv,其语句格式为 y=conv(x,h) 其中,x与h表示离散时间信号值的向量;y为卷积结果。用MATLAB进行卷积和运算时,无法实现无限的累加,只能计算时限信号的卷积。 对于给定函数的卷积和,我们应计算卷积结果的起始点及其长度。两个时限序列的卷积和长度一般等于两个序列长度的和减1。 上机练习: 1. 试用MATLAB命令求解以下离散时间系统的单位取样响应。 (1)3y(n)?4y(n?1)?y(n?2)?x(n)?x(n?1) 程序代码: a=[3 4 1]; b=[1 1]; n=0:35; x=impDT(n); h=filter(b,a,x); stem(n,h,'fill'),grid on xlabel('n'),title('单位取样响应h(n)MATLAB仿真') (2)5y(n)?6y(n?1)?10y(n?2)?x(n) 2程序代码: a=[5/2 6 10]; b=[1]; n=0:30; x=impDT(n); h=filter(b,a,x); stem(n,h,'fill'),grid on xlabel('n'),title('单位取样响应h(n)MATLAB仿真') 2. 已知某系统的单位取样响应为h?n??()?u?n??u?n?10??,试用MATLAB求当激励n78信号为x(n)?u(n)?u(n?5)时,系统的零状态响应。 程序代码: nx=-1:8; nh=-2:15; x=uDT(nx)-uDT(nx-5); h=0.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'),grid on xlabel('n'),title('x(n)') axis([-4 16 0 3]) subplot(312) stem(nh,h','fill'),grid on xlabel('n'),title('h(n)') axis([-4 16 0 3]) subplot(313) stem(ny,y,'fill'),grid on xlabel('n'),title('y(n)=x(n)*h(n)') axis([-4 16 0 5]) 实验心得:

本文来源:https://www.bwwdw.com/article/8cbr.html

Top