时域信号的MATLAB仿真系统设计
学生姓名 学 号 所在学院 专业名称 班 级 指导教师 成 绩
x x 通信工程学院 通信工程 2012级广播电视班
x
四川师范大学成都学院 二○一四年十二月
四川师范大学成都学院课程设计报告
课程设计任务书
学生姓名 学生专业 指导教师 x 通信工程广播电视方向 x 学生学号 学生班级 职 称 x 广播电视班 讲师 发题日期 2014年 10 月 30日 设计题目 完成日期 2014 年 12月 1 日 时域信号的MATLAB仿真系统设计 设计目的: 1.熟悉MATLAB软件平台 2.掌握MATLAB编程方法、常用语句和可视化绘图技术 3.熟悉和掌握常用的用于信号和系统时域仿真分析的MATLAB函数 具体任务及要求: 对MATLAB进行研究,了解MATLAB软件在信号处理中常用的几种功能。对于连续系统,了解信号描述及运算,连续时域系统分析和连续时域系统的仿真。对于离散系统,了解线性离散时间信号的基本运算,线性离散时域系统的响应,单位取样响应以及线性离散时间信号的卷积和运算。 课程设计进度安排: 序号 1 2 3 4 内容安排 收集资料,确定课题的实施方案 软件设计 整理资料,编写程序报告 完成定稿,打印报告 时间 2014.11.1之前 2014.11.1-2014.12.1 2014.12,1-2014.12.20 2014.12.15之前 课程设计参考文献: [1] 管致中、夏恭恪、孟桥:信号与线性系统,高等教育出版社,2004.8,P63-P81 [2] 郑君里、应启衍、杨为理:信号与系统,高等教育出版社,2000.4,P93-P99 [3] 丁玉美、高西全:数字信号处理,西安电子科技大学出版社,2001.8,P45-P66 [4] 程佩青:数字信号处理教程,清华大学出版社,2007.6,P92-P113 [5] 王沐然:MATLAB与科学计算,电子工业出版社,2003.7,P281-P316 指导教 师签字 院长审核签字
I
四川师范大学成都学院课程设计报告
时域信号的MATLAB仿真系统设计
内容摘要:信号与系统是通信和电子信息类专业的核心基础课,其中的概念和
分析方法广泛应用于通信、自动控制、信号与信息处理、电路域系统等领域。MATLAB是Matrix LABoratoy的缩写,它是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。MATLAB是美国Math Works公司开发的大型工程计算软件,其顶尖的数值计算功能、强大的图像可视化功能、简洁易学的编程语言、可交互式的集成环境,深受工程技术人员欢迎。由于其内部包含规模极大、覆盖面极广的工具箱,因此应用范围十分广泛。利用其强大的信号处理工具箱可以生成信号,而且还可计算系统的响应,并可完成对连续时间系统的时域、频域及复频域的分析和仿真。MATLAB可应用于连续系统中零输入状态响应的数值求解和符号求解,冲击响应和阶跃响应,以及卷积积分的求解和仿真。可运用于离散系统的时域分析和响应、单位取样响应 、卷积运算、信号抽样的运算和仿真。
关键词:时域信号 MATLAB 仿真
II
四川师范大学成都学院课程设计报告
The time domain signal of MATLAB simulation system
design
Abstract:Signal and system is the core of the basic course of
communication and electronic information specialty ,domain concept and the analysis method widely used Tongxin , automatic control ,signal and information processing ,the circuit domain system etc. .MATLAB is the abbreviation of Matrix LABoratoy , which is a matrix based interactive programming language ,specifically to the needs for scientific and engineering calculation and drawing . MATLAB is a large project development American calculation software Math of Works company , the leading function of numerical calculation , powerful image visualization function , simple and easy to learn programming language , interactive integration environment , by the engineering and technical personnel welcome .Due to its internal contains scale great , wide coverage of the toolbox , therefore the application range is very extensive. Can generate a signal using its powerful signal processing toolbox , but also can response calculation system , and can complete the analysis and Simulation of time domain , frequency domain and complex frequency domain for continuous time systems. Numerical and symbolic solution of MATLAB can be applied to continuous system zero input response , impulse response and step response , and the convolution integral solution and simulation. Can be used in the time domain analysis of discrete systems and response , unit sampling response , convolution computation and Simulation of signal sampling.
Keywords:The time domain signal MATLAB Simulation
III
四川师范大学成都学院课程设计报告
目 录
前言................................................................ 1 1 MATLAB简介 ...................................................... 2
1.1 MATLAB的特点和优势......................................... 4 1.2 MATLAB在信号处理上的应用................................... 4 2 信号分析......................................................... 5
2.1 信号的描述及运算 ........................................... 5
2.1.1 信号的时移、反褶和尺度变换............................ 5 2.1.2 积分运算.............................................. 7 2.2 信号时域分析 ............................................... 8
2.2.1 冲激响应和阶跃响应.................................... 8 2.2.2 零状态响应、零输入响应和完全响应...................... 9
3 时域信号分析及MATLAB仿真....................................... 11
3.1 连续线性系统的时域分析及仿真 .............................. 11 3.2 离散线性系统的时域分析及仿真 .............................. 15
3.2.1 线性离散时间信号的基本运算........................... 15 3.2.2 零状态响应........................................... 15 3.2.3 单位取样响应......................................... 17 3.2.4 信号抽样............................................. 18 3.2.5 离散系统仿真......................................... 20
4 结束语.......................................................... 22 参考文献........................................................... 24
IV
四川师范大学成都学院课程设计报告
时域信号的MATLAB仿真系统设计
前言
信号与系统课程是一门实用性较强、涉及面较广的专业基础课,是通信、电子信息类专业本科生的必修课程。也是许多通信、电子信息类专业硕士研究生入学必考课程,其中的概念和分析方法广泛应用于通信、自动控制、信号与信息处理、电路域系统等领域。该课程是将学生从电路分析的知识领域引入信号处理与传输领域的关键性课程。对后续专业课起着承上启下的作用。
在信号与系统中,时域分析法是系统三大分析法之一,在系统分析中具有重要意义。这不仅是因为时域分析简单直观,概念容易理解,而且,还有一些非线性系统在限定范围与指定条件下,遵从线性特性的规律,另一方面,线性系统时域分析方法已经形成了完整的严密的体系,日趋完善和成熟。时域分析法直接分析时间变量的函数,研究系统的时间响应特性。这种方法的优点是概念清楚。对于输入、输出描述的数学模型,可以利用经典法解常系数线性方程或差分方程;对于状态变量描述的数学模型,则需解矩形方程,在线性系统时域分析方法中,卷积方法最受重视,它的优点表现在许多方面。
课题主要应用MATLAB的数值运算和图形功能对线性时域系统进行分析,并利用其仿真功能对线性时域系统进行分析。
MATLAB前身为美国New Mexico大学计算机主任Cleve Moler博士利用业余时间为方便同学使用EISPACK和LINPACK库程序编写得FORTRAN接口程序,并且使用MATrix和LABoratory两个单词的前三个字母组成的名字MATLAB。 初期的MATLAB商业版本由Steve Bangert主持开发编译解释程序,Steve Kleiman完成图形功能的设计,John Little和Cleve Moler主持开发了各类数学分析的子模块;随后经过几年的快速发展,MATLAB由mathworks公司在1993年突出了MATLAB的4.0版本; 1995年推出了MATLAB 4.2c(for Win3.x)版本; 1995年推出了MATLAB 5.0版本; 2000年10月推出了MATLAB 6.0版本;随后推出了MATLAB 6.1、MATLAB 6.5、MATLAB 7.0、matlab7.1和MATLAB R2006a版本。其功能越来越强大,应用领域也越来越广,成为当今应用比较广泛的工具软件之一。
MATLAB自产生之日起就具有方便的数据可视化功能以将向量和矩阵用图形表现出来并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视
1
四川师范大学成都学院课程设计报告
化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求应用广泛的模块集合工具箱。MATLAB把工具箱延伸到了科学研究和工程应用的诸多领域诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等都在工具箱Toolbox家族中有了自己的一席之地。MATLAB是一个高级的矩阵阵列语言。它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序M文件后再一起运行语法特征。其与C++语言极为相似而且更加简单更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
当前,科技飞速发展,新技术不断涌现,例如超宽带通信、人工神经网络信号处理、盲信号处理以及量子计算机与量子通信等,都可能成为今后实用的技术,相关的知识将成为“信号与系统”课程中新的知识点,并可能对整个课程体系产生重大的影响。在今后必须重视跟踪新技术发展趋势。
1 MATLAB简介
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是矩阵实验室Matrix Laboratory的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C、FORTRAN等语言完相同的事情简
2
四川师范大学成都学院课程设计报告
捷得多。并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C、FORTRAN、C++ 、JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。历经升级,到2001年已经有了6.0版。现在MATLAB 6.1、6.5、7.0、7.X都已相继面世。早期的MATLAB在DOS环境下运行,1990年推出了Windows版本。1993年Mathworks公司又推出了MATLAB的微机版本,充分支持在Microsoft Windows界面下的编程。随着版本的升级,内容不断扩充,它的功能越来越强大。特别是在系统仿真和实时运行等方面有很多新进展,更扩大了它的应用前景,是各种科学计算软件中使用频率最高的软件。 MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算、可视化建模仿真、文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包、信号处理工具包、通信工具包等都属于此类。
1993年出现SIMULINK,这是基于框图的仿真平台。SIMULINK挂接在MATLAB环境上,以MATLAB的强大计算功能为基础,以直观的模块框图进行仿真和计算。SIMULINK提供了各种仿真工具,尤其是它不断扩展的、内容丰富的模块库,为系统的仿真提供了极大便利。在SIMULINK平台上,拖拉和连接典型模块就可以绘制仿真对象的模型框图,并对模型进行仿真。在SIMULINK平台上,仿真模型的可读性很强,这就避免了在MATLAB窗口使用MATLAB命令和函数仿真时需要熟悉记忆大量M函数的麻烦。对广大工程技术人员来说,这无疑是最好的福音。现在的MATLAB都同时捆绑了SIMULINK的版本也在不断升级。从1993年的MATLAB4.0/SIMULINK1.0版到2001年的MATLAB6.1/SIMULINK4.1版, 2002年即推出了MATLAB6.5/SIMULINK5.0版。MATLAB已经不再是单纯的“矩阵实验室”了,它已经成为一个高级计算和仿真平台。
3
四川师范大学成都学院课程设计报告
1.1 MATLAB的特点和优势 特点:
▲此高级语言可用于技术计算
▲此开发环境可对代码、文件和数据进行管理
▲交互式工具可以按迭代的方式探查、设计及求解问题
▲数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值
积分
▲二维和三维图形函数可用于可视化数据 ▲各种工具可用于构建自定义的图形用户界面
▲各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C++、
Fortran、Java、COM 以及 Microsoft Excel)集成 优势:
●友好的工作平台和编程环境 ●简单易用的程序语言
●强大的科学计算机数据处理能力 ●出色的图形处理功能 ●应用广泛的模块集合工具箱 ●实用的程序接口和发布平台 ●应用软件开发(包括用户界面)
1.2 MATLAB在信号处理上的应用
MATLAB是一个包含大量计算算法的集合。拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩、特征向量、快速傅里叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅里叶变换和数据的统计分析、工程中的优化问题、复数的各种运算、三角函数和其他初等数学运算、多维数组操作及其建模动态仿真。正是因
4
四川师范大学成都学院课程设计报告
为MATLAB拥有如此强大的科学计算机数据处理的功能,其在信号处理上就更能体现优势。
2 信号分析
2.1 信号的描述及运算
2.1.1 信号的时移、反褶和尺度变换
信号的时移、反褶和尺度变换是针对自变量而言的,其数学表达式与波形变化之间存在一定的变化规律。
信号ft的时移就是将信号数学表达式中的自变量t用tt0替换,其中t0为正实数。因此,波形的时移变换是将原来的ft波形在时间轴上向左或向右移动。
已知信号ft的波形如下图所示,试用MATLAB命令画出ft2、f3t、
ft、f3t2的波形图。
2-1ft波形图
其实现的MATLAB源代码如下: clear all; t=2:0.01:4; ftl=functl(t-2);
subplot(2,2,1);piot(t,ftl); xlabel(’ (a) f(t-2) ’); grid on;
axis([-2 4 -0.5 2]);
5
四川师范大学成都学院课程设计报告
ft2=functl(3*t);
subplot(2,2,2);plot(t,ft2); xlabel(’ (b) f(3t) ’); grid on;
axis([-2 4 -0.5 2]); ft3=functl(-t);
subplot(2,2,3);plot(t,ft3); xlabel(’ (c) f(-t) ’); grid on;
axis([-2 4 -0.5 2]); ft4=functl(-3*(t+2/3)); subplot(2,2,4);plot(t,ft4); xlabel(’(d) f(-3t-2) ’); grid on;
axis([-2 4 -0.5 2]);
图2-2 f(t-2)、f(3t)、f(-t)、f(-3t-2)的波形图
6
四川师范大学成都学院课程设计报告
2.1.2 积分运算
用MATLAB命令求函数:y1sin(x),y2sinxlnx关于x的一阶导数。其实现的MATLAB源代码如下: clear all; syms a x y1 y2 y1=sin(a*x^2); y2=x*sin*log(x); dy1=2*a*x*cos(a*x^2)
dy2=sin(x)+log(x)*sin(x)+x*cos(x)log(x)_
2.1.3 信号的相加与相乘运算
信号的相加与相乘是指在同一时刻信号取值的相加与相乘。因此,MATLAB对于时间信号的相加与相乘都是是基于向量的点运算。
已知f1(t)sint,f2(t)sin8t,试用MATLAB命令绘出f1(t)f2(t)和
f1(t)f2(t)的波形图,其中f1Hz。 2其实现的MAYLAB程序代码如下: clear all; f=1;
t=0:0.01:3/f; f1=sin(2*pi*f*t); f2=sin(2*pi*8*f*t); subplot(2,1,1);
plot(t,f1+1,’:’,t,f1-1,’:’,t,f1+f2); grid on;
xlabel(’(a)f1(t)+f2(t) ’); subplot(2,1,2);
plot(t,f1, ’ :’,t,-f1, ’ :’,t,f1.*f2); grid on;
xlabel(’(b)f1(t)+f2(t) ’);
7
四川师范大学成都学院课程设计报告
图2-3 f1(t)f2(t)和f1(t)f2(t)的波形图
2.2 信号时域分析
2.2.1 冲激响应和阶跃响应
在连续线性时域系统中,冲激响应和阶跃响应是系统特性的描述,对它们的分析是线性系统中极为重要的问题。输入为单位冲激响应函数(t)所引起的零状态响应称为单位冲激响应,简称为冲激响应,用h(t)表示;输入为单位阶跃函数u(t)所引起的零状态响应称为单位阶跃响应,简称为阶跃响应,用g(t)表示。
在MATLAB中,对于连续时域系统的冲激响应和阶跃响应的数值解,可分别利用控制系统工具提供的函数impulse和step来求解。其调用格式如下:
y=impulse(sys,t) y=step(sys,t)
其中,t表示计算系统响应的时间抽样点向量,sys表示线性时域系统模型。
已知一连续时域系统的微分方程如下:
y,,(t)2y,(t)32y(t)f(t)16f(t) (2-1)
8
四川师范大学成都学院课程设计报告
下面用MATLAB命令绘出0t4范围内系统的冲激响应h(t)和阶跃响应g(t)。其实现的MATLAB代码如下: clear all; t=0:0.001:4;
sys=tf([1,16],[1,2,32]); h=impulse(sys,t); g=step(sys,t);
subplot(2,1,1);plot(t,h); grid on;
xlabel(’时间/s’);ylabel(’h(t)’); title(’冲激响应’); subplot(2,1,2);plot(t,g); grid on;
xlabel(’时间/s’);ylabel(’h(t)’); title(’阶跃响应’); 其仿真波形如图:
图2-4 冲激响应h(t)和阶跃响应g(t)
2.2.2 零状态响应、零输入响应和完全响应
前面已述及线性连续系统可用常系数微分方程来描述。该系统的完全响应由零输入响应和零状态响应两部分组成。MATLAB符号工具箱提供了dsolve函数,
9
四川师范大学成都学院课程设计报告
可实现常系数微分方程的符号求解,其调用格式如下:
Dsolve(‘eq1’, ‘eq2’,……,‘cond1’, ‘cond2’,……,‘v’) 其中,参数eq1、eq2、……表示各微分方程,它与MATLAB符号表达式的输入基本相同,微分或导数的输入是用D1y、D2y、D3y、……表示y的一阶导数y,、二阶导数y..、三阶导数y,,,、……;参数cond1、cond2、……表示各初始条件或起始条件;参数v表示自变量,默认为变量t。可利用dsole函数来求解系统微分方程的零输入响应和零状态响应,进而求解完全响应。
下面用MATLAB命令求解微分方程y,,(t)3y,(t)2y(t)x,(t)3x(t),当输入x(t)e3tu(t),起始条件为y(0_)=1、y,(0_)2时,系统的零输入响应,零状态响应及完全响应。求得零输入响应和零状态响应后,完全响应则为两者之和。其实现的MATLAB程序代码如下: clear all;
eq=’D2y+3*Dy+2*y=0’; cond=’y(0)=1,Dy(0)=2’; yzi=dsolve(eq,cond); yzi=simplify(yzi)
yzi=-3*exp(-2*t)+4*exp(-t) eq1=’Dy+3*Dy+2*y=Dx+3*x’; eq2=’x=exp(-3*t)*Heaviside(t)’; cond=’y(-0.001)=0,Dy(-0.001)=0’; yzs=dsolve(eq1,eq2,cond); yzs=simplify(yzs.y)
yzs=1/4*exp(-1/2*t)*Heaviside(t) yt=simplify(yzi+yzs)
yt=-3*exp(-2*t)+4*exp(-t)+1/4*exp(-1/2*t)*Heaviside(t) subplot(3,1,1);ezplot(yzi,[0,8]); grid on;
title(‘零输入响应’);
10
四川师范大学成都学院课程设计报告
subplot(3,1,2);ezplot(yzs,[0,8]); grid on;
title(‘零状态响应’);
subplot(3,1,3);ezplot(yt,[0,8]); grid on;
title(‘完全响应’); 其波形如图所示:
图2-5 零输入响应,零状态响应及完全响应
3 时域信号分析及MATLAB仿真
3.1 连续线性系统的时域分析及仿真 (1)已知连续系统的系统函数H(S)S2,绘制系统函数的零极点2S2S5分布图和计算系统函数的零极点位置和冲激响应时域波形。 MATLAB实现程序如下: %xh06
%观察和分析系统零极点对系统时域特性的影响
%绘制系统函数的零极点分布图和计算系统函数的零极点位置
11
四川师范大学成都学院课程设计报告
b=[1 2]; a=[1 2 5]; H=tf(b,a); [p,z]=pzmap(H) subplot(2111); pzmap(H); subplot(212); impulse(b,a); %xh07
%绘制系统(a)的幅频响应曲线
z=[0]; %定义系统(a)零点行向量 p=[-50 -100];
f1=0; %定义幅频响应曲线频率范围 f2=80;
k=0.1; %定义频率采样间隔 subplot(221)
pz_plxy(f1,f2,f3,k,p,z); %绘制系统幅频响应曲线 %绘制系统(b)的幅频响应曲线
Z=[i*150 –i*150]; %定义系统(b)零点行向量 P=[-100+i*100 -100-i*100];
f1=0; %定义幅频响应曲线频率范围 f2=80;
k=0.1; %定义频率采样间隔 subplot(222)
pz_plxy(f1,f2,k,p,z); %绘制系统幅频响应曲线 %绘制系统(c)的幅频响应曲线
z=[20+i*40 20-i*40]; %定义系统(c)零点行向量 p=[-20+i*40 -20-i*40];
f1=0; %定义幅频响应曲线频率范围
12
四川师范大学成都学院课程设计报告
f2=80;
k=0.1 %定义频率采样间隔 subplot(223)
pz_plxy(f1,f2,k,p,z); %绘制系统幅频响应曲线 %绘制系统(d)的幅频响应曲线
z=[]; %定义系统(d)零点行向量 p=[-100]; f1=0; f2=80;
k=0.1; %定义频率采样间隔 subplot(224)
pz_plxy(f1,f2,k,p,z); %绘制系统幅频响应曲线 仿真结果: p=
-1.0000+2.0000i -1.0000-2.0000i z=-2
图3-1 零极点图
13
四川师范大学成都学院课程设计报告
图3-2 四系统幅频特性曲线
d2y(t)dy(t)dx(t)125y(t)(2)连续时间LTI系统,其微分方程,若
dtdtdt2f(t)5sin(3t),绘制系统的幅度响应特性、相位响应特性曲线图,利用系统仿
真绘制稳定响应波形图。
%应用freqs函数求频率响应并作图 b=[1,0]; a=[1,1,25]; w=0:0.1:2*pi; H=freqs(b,a,w); HM=abs(H) HP=angle(H) subplot(211); plot(w/pi,HW);
xlabel(‘\\omega 单位:pi’); title(‘幅度特性‘); axis([0 2 -0.1 1.1]); subplot(212);
plot(w/pi,HP*180/pi); title(’相位特性’);
14
四川师范大学成都学院课程设计报告
axis([0 2 -100 200]); %End
最后的仿真框图为:
图3-3 系统仿真框图
图3-4 系统输入输出波形
3.2 离散线性系统的时域分析及仿真 3.2.1 线性离散时间信号的基本运算
对离散时间序列实行基本运算可得到新的序列,这些基本运算主要包括加、减、乘、除、移位和反折等。两个序列的加减乘除是对应离散样点值的加减乘除,因此,可通过MATLAB点乘和点除、序列移位和反折来实现,与连续时间信号处理方法基本一样。
3.2.2 零状态响应
离散线性时域系统可用下式表示,即
15
四川师范大学成都学院课程设计报告
aj0nnjan1 (2-2) y(kj)bmif(ki) ,
i0mMATLAB中的函数filter可对上式差分方程在指定时间范围内的输入序列所产生的响应进行求解。函数filter的调用格式如下:
yfilter(b,a,x) (2-3)
其中x为输入的离散序列;y为输出的离散序列;y的长度和x的长度一样;b和a分别为差分方程右端与左端的系数向量。
一离散线性时域系统的差分方程如下:
3y(n)4y(n1)2y(n2)x(n)2x(n1) (2-4)
1下面用MATLAB命令绘出当激励信号为x(n)u(n)时,该系统的零状态响应。
2其实现的MATLAB程序代码如下: clear all; a=[3 -4 2]; b=[1 2]; n=0:30; x=(1/2).^n; y=filter(b,a,x); stem(n,y,’fill’); grid on; xlabel(’n’);
title(’系统零状态响应y(n)’); 其仿真波形如下图:
16
n
四川师范大学成都学院课程设计报告
图3-5 零状态响应
3.2.3 单位取样响应
系统的单位取样响应定义为系统在(t)激励下系统的零状态响应,用h(n)表示。MATLAB求解单位取样响应可利用函数filter,另一种求单位取样响应的方法是利用控制系统工具提供的函数impz来实现。有一离散线性系统的差分方程如下:
3y(n)4y(n1)2y(n2)x(n)2x(n1) (2-5)
下面利用MATLAB的impz函数绘出该系统的单位取样响应。其实现的程序代码如下: clear all; a=[3 -4 2]; b=[1 2]; n=0:30; impz(b,a,30); grid on;
title(’系统单位取样响应h(n)’); 其仿真波形如下图:
17
四川师范大学成都学院课程设计报告
图3-6 单位取样响应
3.2.4 信号抽样
信号抽样是连续时间信号分析向离散时间信号分析、连续信号处理向数字信号处理的第一步广泛应用于实际的各类系统中。信号抽样也称为取样或采样,就是利用抽样脉冲序列p(t)从连续信号f(t)中抽取一系列的离散样值,通过抽样过程得到的离散样值信号称为抽样信号,用fs(t)表示。从数学上讲,抽样过程就是抽样脉冲p(t)和原连续信号f(t)相乘的过程,即:
fs(t)f(t)p(t) (2-6)
因此,可以用傅里叶变换的频域卷积性质来求抽样信号fs(t)的频谱。信号在时域被抽样后,它的频谱是原连续信号的频谱以抽样和角频率为间隔周期的延拓,即信号在时域抽样或离散化,相当于频域周期化。升余弦脉冲信号为
f(t)F2t1cos (0t) (2-7) 下面用MATLAB编程实现该信号经冲激脉冲抽样后得到的抽样信号fs(t)及其频谱。参数,E1,则f(t)MATLAB程序代码如下:
18
1(1cost)。当采样间隔Ts1时,其实现的2
四川师范大学成都学院课程设计报告
clear all; ts=1; dt=0.1; t1=-4:dt:4;
ft=((1+cos(t1))/2).*(uCT(t1+pi)-uCT(t1-pi)); subplot(2,2,1);plot(t1,ft); grid on;
axis([-4 4 -0.1 1.1]); xlabel(’Time(sec)’); ylabel(’f(t)’);
title(’升余弦脉冲信号’); N=500; k=-N:1:N; W=pi*k/(N*dt);
Fw=dt*ft*exp(-j*t1’*W); subplot(2,2,2);plot(W,abs(Fw)); grid on;
axis([-10 10 -0.2 1.1*pi]); title(’升余弦脉冲信号的频谱’); t2=-4:Ts:4;
fst=((1+cos(t2))/2).*(uCT(t2+pi)-uCT(t2-pi)); subplot(2,2,3);plot(t1,ft,’:’); hold on; stem(t2,fst); grid on;
axis([-4 4 -0.1 1.1]); xlabel(’Time(sec)’); ylabel(’fs(t)’); title(’抽样后的信号’);
19
四川师范大学成都学院课程设计报告
hold off;
Fsw=Ts*fst*exp(-j*t2’*W); subplot(2,2,4);plot(W,abs(Fsw)); grid on;
axis([-10 10 -0.2 1.1*pi]); title(’抽样信号的频谱’); 其波形如下图:
图3-7 信号抽样波形图
3.2.5 离散系统仿真 (1)
已知某滤波器的差分方程:
y(n)x(n)1.4x(n1)0.3x(n2)0.3y(n1)0.2y(n2),用直接型结构实
现该滤波器,求冲激响应。
20
四川师范大学成都学院课程设计报告
图3-8 离散系统的仿真图
MATLAB程序如下: n=0:20;
subplot(212);stem(n,yout2,’.’);grid on; %直接型冲激响应
图3-9 冲激响应波形图
(2)系统由差分方程描述
y(n)0.9y(n1)y(n2)0.5x(n)x(n1) (2-8)
分别用filter函数和impz函数绘出其单位冲激响应h(n)的线图。 MATLAB程序如下: clear all;close all;clc;
21
四川师范大学成都学院课程设计报告
b=[1 -0.6];a=[1 -1 0.9];
n1=0:89;x=[1 zeros(1,89)];h1=filter(b,a,x);[h,n]=impz(b,a,90); subplot(2,1,1),stem(n1,h1,’.’);xlabel(’n’);ylabel(’h(n)’);grid; title(’impz函数求出的单位冲激响应’);axis([-5 95 -1.2 1.2]); set(gcf,’color’,’w’);
图3-10 filter函数和impz函数冲激响应图
4 结束语
对时域信号的MATLAB仿真系统设计,这篇论文做了以下工作:阐述了课题研究的背景,并对MATLAB进行了研究,对MATLAB软件在信号处理中常用的几种功能做了简单介绍。对于连续系统,简要介绍了信号描述及运算,连续时域系统分析和连续时域系统的仿真。对于离散系统,介绍了线性离散时间信号的基本运算,线性离散时域系统的响应,单位取样响应以及线性离散时间信号的卷积和运算。由于现代计算机技术的发展,数字信号处理越来越占有重要地位,所以在有限的篇幅内,简要介绍了信号的抽样,它是链接模拟信号处理和数字信号处理的桥梁。以上这些都探讨了其在MATLAB环境下的实现,例举了不少实际系统。在论文完成过程中,在图书馆查阅了很多资料,并且在网上搜集了很多资料,最终完成了这篇论文。这篇论文有很多不足的地方,首先,论述不够充分;再次,论
22
四川师范大学成都学院课程设计报告
文的格式也有许多错误的地方。经过老师的点评,对论文的结构和格式做了修改,更好的论述了本文的题目,增加了一些内容,充实了文本。在写论文的过程中使我认识到对待知识要认真,做论文一定要有充足的时间查找资料,对于一些自己不是很懂的知识要去验证,这样才能得到提高。
23
四川师范大学成都学院课程设计报告
参考文献
[1]管致中、夏恭恪、孟桥:信号与线性系统,高等教育出版社,2004.8,P63-P81 [2]郑君里、应启衍、杨为理:信号与系统,高等教育出版社,2000.4,P93-P99 [3]丁玉美、高西全:数字信号处理,西安电子科技大学出版社,2001.8,P45-P66 [4]程佩青:数字信号处理教程,清华大学出版社,2007.6,P92-P113 [5]王沐然:MATLAB与科学计算,电子工业出版社,2003.7,P281-P316 [6]刘保柱、苏彦华、张宏林:MATLAB7.0入门到精通,人民邮电出版社,2010.5,P267-P288
[7]张玉华、马旭波:MATLAB在信号分析与处理中的应用,山西大学工程学院,2008.1,P3-P4
24
四川师范大学成都学院课程设计报告
成绩评定表
学生姓名 学生专业 指导教师 设计题目 评 语 等级 评定成绩 分数 x 通信工程广播电视方向 x 学生学号 学生班级 职 称 x 广播电视班 讲师 时域信号的MATLAB仿真系统设计
25
四川师范大学成都学院课程设计报告
1
因篇幅问题不能全部显示,请点此查看更多更全内容