课程设计 常用连续时间信号的可视化及信号的相加、微积分运算
- 格式:doc
- 大小:329.00 KB
- 文档页数:20
一、实验目的1. 理解连续时间信号的基本概念和特性。
2. 掌握连续时间信号的时域分析方法和基本运算。
3. 学会使用MATLAB软件进行连续时间信号的时域分析和图形绘制。
4. 通过实验加深对连续时间信号理论知识的理解和应用。
二、实验原理连续时间信号是指信号在任意时刻都有确定的取值。
本实验主要涉及以下内容:1. 基本连续时间信号的时域表示,如单位冲激信号、单位阶跃信号、正弦信号等。
2. 连续时间信号的时域运算,如卷积、微分、积分等。
3. 连续时间信号的时域分析方法,如时域波形分析、时域频谱分析等。
三、实验设备1. PC机2. MATLAB软件3. 连续时间信号发生器4. 示波器四、实验内容与步骤1. 基本连续时间信号的时域表示(1)在MATLAB中编写程序,生成单位冲激信号、单位阶跃信号和正弦信号。
(2)绘制这些信号的时域波形图,观察其特性。
2. 连续时间信号的时域运算(1)编写程序,实现两个连续时间信号的卷积运算。
(2)绘制卷积结果的时域波形图,观察其特性。
3. 连续时间信号的时域分析方法(1)编写程序,对连续时间信号进行微分和积分运算。
(2)绘制微分和积分结果的时域波形图,观察其特性。
4. 使用MATLAB进行连续时间信号的时域分析(1)使用MATLAB中的函数进行连续时间信号的时域分析,如fft、ifft、diff、int等。
(2)绘制分析结果的时域波形图和频谱图,观察其特性。
五、实验结果与分析1. 基本连续时间信号的时域表示通过实验,我们成功生成了单位冲激信号、单位阶跃信号和正弦信号,并绘制了它们的时域波形图。
观察波形图,我们可以发现这些信号具有不同的特性,如单位冲激信号具有脉冲性质,单位阶跃信号具有阶跃性质,正弦信号具有周期性质。
2. 连续时间信号的时域运算通过实验,我们成功实现了两个连续时间信号的卷积运算,并绘制了卷积结果的时域波形图。
观察波形图,我们可以发现卷积运算的结果具有以下特性:(1)卷积运算的结果是两个信号的叠加。
实验一连续时间信号的Matlab表示与计算一、实验目的1、初步学习MATLAB语言,熟悉MATLAB软件的基本使用。
2、掌握用MA TLAB描述连续时间信号方法,能够编写MATLAB程序,实现各种信号的时域变换和运算,并且以图形的方式再现各种信号的波形。
二、实验原理连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点之外,信号都有确定的值与之对应。
严格来说,MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。
当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。
在MATLAB可视化绘图中,对于以t为自变量的连续信号,在绘图时统一用plot函数;而对n为自变量的离散序列,在绘图时统一用stem函数。
对于连续时间信号f(t),可用f、t两个行向量来表示。
例:t=-10:1.5:10;f=sin(t)./ t ;可以产生t= -10~10,间隔1.5的序列以及t tf)sin(=的值。
用命令:plot(t,f)可得如下图形,显然显示效果较差,这是因为t的间隔过大,只要改变为:t=-10:0.5:10;可得图1.2。
图1.1 图1.21. 信号的时域表示方法MATLAB提供了大量用以生成基本信号的函数,比如最常用的指数信号、正弦信号等就是MATLAB的内部函数,即不需要安装任何工具箱就可以调用的函数。
1.1单位阶跃信号u(t)function y=heaviside(t) %阶跃信号y = (t>=0); % y = 1 for t > 0, else y = 01.2单位冲激信号δ(t)function chongji(t1,t2,t0) %冲激信号δ(t- t 0),t 1和t 2分为起始时间和终止时间dt=0.01;t=t1:dt:t2;n=length(t);x=zeros(1,n);x(1,(t0-t1)/dt+1)=1/dt;stairs(t,x); %以阶梯方式绘画axis([t1,t2,0,1.1/dt]) 或function y = delta(t)dt = 0.01;y = (u(t)-u(t-dt))/dt;1.3指数信号指数信号atAe 在MATLAB 中可以用exp 函数表示,其调用形式为:y=A*exp(a*t)例如图1-3所示指数衰减信号的MATLAB 源程序如下(取A=1,a=-0.4):%program7_1 Decaying expponential signalA=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);grid on;1.4正弦信号正弦信号)cos(ϕω+t A o 和)sin(ϕω+t A o 分别用MATLAB 的内部函数cos 和sin 表示,其调用形式为:)*cos(*phi t A o +ω)*sin(*phi t A o +ω 例如图1-4所示MATLAB 源程序如下(取A=1,πω20=,6/πϕ=):%program7_2 Sinusoidal signalA=1;w0=2*pi;phi=pi/6;t=0:0.01:8;ft=A*sin(w0*t+phi);plot(t,ft);grid on;图1-3 单边指数衰减信号 图1-4 正弦信号 除了内部函数外,在信号处理工具箱(Signal Processing Toolbox )中还提供了诸如抽样 函数、矩形波、三角波、周期性矩形波和周期性三角波等在信号处理中常用的信号。
实验一 连续时间信号分析一、实验目的(一)掌握使用Matlab 表示连续时间信号1、学会运用Matlab 表示常用连续时间信号的方法2、观察并熟悉常用信号的波形和特性(二)掌握使用Matlab 进行连续时间信号的相关运算1、学会运用Matlab 进行连续时间信号的时移、反褶和尺度变换2、学会运用Matlab 进行连续时间信号微分、积分运算3、学会运用Matlab 进行连续时间信号相加、相乘运算4、学会运用Matlab 进行连续时间信号卷积运算二、实验条件装用Matlab R2015a 的电脑。
三、实验内容1、利用Matlab 命令画出下列连续信号的波形图。
(1))4/3t (2cos π+ 程序:t=-3:0.01:3; ft=2*cos(3*t+pi/4); plot(t,ft)图像:(2))t (u )e 2(t--程序:t=-6:0.01:6; ut=(t>=0);ft=(2-1*exp(-t)).*ut; plot(t,ft)图像:(3))]2()(u )][t (cos 1[--+t u t π 程序:t=-6:0.01:6; ut=(t>=0); ut2=(t>=2);ft=(1+cos(pi*t)).*(ut-ut2); plot(t,ft)图像:2、利用Matlab 命令画出复信号)4/t (j 2e )t (f π+=的实部、虚部、模和辐角。
程序:t=0:0.01:20;ft=2*exp(1j*(t+pi/4));subplot(2,2,1);plot(t,real(ft));title('ʵ²¿');axis([-0.5,20,-2.5,2.5]); subplot(2,2,2);plot(t,imag(ft));title('Ð鲿');axis([-0.5,20,-2.5,2.5]); subplot(2,2,3);plot(t,abs(ft));title('Ä£');axis([-0.5,20,-0.5,2.5]); subplot(2,2,4);plot(t,angle(ft));title('·ø½Ç');axis([-0.5,20,-3.5,3.5]);图像:3、已知信号的波形如下图所示:试用Matlab 命令画出()()()()2332----t f t f t f t f ,,,的波形图。
连续及离散时间信号基本运算的仿真设计设计方案1.引言1.1 概述本篇文章主要讨论连续时间信号和离散时间信号的基本运算,并提出了相应的仿真设计方案。
在现代通信和信号处理领域中,信号的基本运算是非常重要且常见的操作,它们可以用于信号的合并、分解、调制和滤波等处理过程中。
连续时间信号是指在时间上连续变化的信号,其数学表示可以用连续函数描述。
本文将重点讨论连续时间信号的加法运算和乘法运算。
加法运算可以实现信号的叠加,而乘法运算可以实现信号的调制。
通过仿真设计,我们可以直观地观察信号的运算结果,并深入理解运算过程中的原理和特点。
离散时间信号则是在时间上以离散的方式变化的信号,其数学表示可以用序列表示。
本文同样关注离散时间信号的加法运算和乘法运算。
不同于连续时间信号,离散时间信号的运算过程需要考虑采样频率和采样定理等因素。
因此,通过仿真设计,我们可以探索离散时间信号运算的特点和限制,并对其进行更深入的研究和理解。
在本文的后续部分,我们将提出相应的仿真设计方案,通过计算机仿真的方法,将连续时间信号和离散时间信号的基本运算进行模拟,并观察其运算结果和特性。
通过这些仿真实验,我们可以更好地理解信号运算的原理和过程,并在实际应用中灵活运用。
总之,本文着重研究了连续时间信号和离散时间信号的基本运算,并通过仿真设计方案展示了信号运算的过程和特点。
通过深入研究和理解信号运算,我们可以更好地应用于信号处理和通信系统中,提高系统的性能和效果。
文章结构:本篇文章主要分为引言、正文和结论三个部分,在正文中又细分为连续时间信号的基本运算和离散时间信号的基本运算两个小节。
引言部分主要包括以下内容:1.1 概述:对于信号处理和通信领域来说,了解和掌握信号的基本运算是非常重要的。
本文围绕连续时间信号和离散时间信号的基本运算展开,旨在通过仿真设计的方式辅助读者更好地理解和应用基本运算。
1.2 文章结构:本文总共包括引言部分、正文部分和结论部分。
成绩评定表课程设计任务书目录一、引言1二、Matlab入门22.1 Matlab7.0介绍 (2)2.2利用Matlab7.0编程完成习题设计 (3)三、Matlab7.0实现连续时间信号时移、反褶、尺度变换的设计43.1常用连续时间信号的类别及原理43.2编程设计及实现43.3运行结果及其分析6四、结论17五、参考文献 (18)一、引言近年来,计算机多媒体教序手段的运用逐步普及,大量优秀的科学计算和系统仿真软件不断涌现,为我们实现计算机辅助教案和学生上机实验提供了很好的平台。
通过对这些软件的分析和对比,我们选择MATLAB语言作为辅助教案工具,借助MATLAB强大的计算能力和图形表现能力,将《信号与系统》中的概念、方法和相应的结果,以图形的形式直观地展现给我们,大大的方便我们迅速掌握和理解老师上课教的有关信号与系统的知识。
MATLAB是当前最优秀的科学计算软件之一,也是许多科学领域中分析、应用和开发的基本工具。
MATLAB全称是Matrix Laboratory,是由美国Mathworks公司于20世纪80年代推出的数学软件,最初她是一种专门用于矩阵运算的软件,经过多年的发展,MATLAB已经发展成为一种功能全面的软件,几乎可以解决科学计算中的所有问题。
而且MATLAB编写简单、代码效率高等优点使得MATLAB在通信、信号处理、金融计算等领域都已经被广泛应用。
它具有强大的矩阵计算能力和良好的图形可视化功能,为用户提供了非常直观和简洁的程序开发环境,因此被称为第四代计算机语言。
MATLAB 强大的图形处理功能及符号运算功能,为我们实现信号的可视化及系统分析提供了强有力的工具。
MATLAB 强大的工具箱函数可以分析连续信号、连续系统,同样也可以分析离散信号、离散系统,并可以对信号进行各种分析域计算,如相加、相乘、移位、反折、傅里叶变换、拉氏变换、Z 变换等等多种计算。
人们之间的交流是通过消息的传播来实现的,信号则是消息的表现形式,消息是信号的具体内容。
连续时间信号的分析一、实验目的1.学习使用MATLAB 产生基本的连续信号、绘制信号波形。
2.实现信号的基本运算,为信号分析和系统设计奠定基础。
二、实验原理 1、基本信号的产生 时间间隔代替连续信号。
连续指数信号的产生连续矩形脉冲信号(门信号)的产生。
连续周期矩形波信号的产生。
2、信号的基本运算相加、相减、相乘、平移、反折、尺度变换。
三、实验内容1. 用MATLAB 编程产生正弦信号()sin(2),2,5Hz,3f t K ft K f ππθθ=+===,并画图。
代码如下: clc clear f0=5; w0=2*pi*f0; t=0:0.001:1; x=2*sin(w0*t+pi/3); plot(t,x) title('正弦信号')正弦信号2. 用MATLAB 编程产生信号122()0t f t -<<⎧=⎨⎩其它,画出波形。
代码如下:clc clear f0=2;t=0:0.0001:2.5; y=square(w0*t,50); plot(t,y);axis([0 2.5 -1.5 1.5]) title('周期方波');图形如下:单位阶跃信号3. 分别画出2中()f t 移位3个单位的信号(3)f t -、反折后的信号()f t -、尺度变换后的信号(3)f t 。
代码如下:clc cleart=-10:0.001:10; subplot(3,1,1) plot(t,f(t-3)) axis([-7 7 -2 2]) xlabel('t') ylabel('f(t-3)') title('移位') grid on subplot(3,1,2) plot(t,f(-t)) axis([-7 7 -2 2]) xlabel('t') ylabel('f(-t)') title('反折') grid on subplot(3,1,3) plot(t,f(3*t)) axis([-7 7 -2 2]) xlabel('t') ylabel('f(3t)') title('尺度变换') grid on 图形如下:xf (t )xf (t -3)xf (-t )xf (3*t )4. 用MATLAB编程画出下图描述的函数。
实验一连续时间信号在Matlab中的运算一、实验目的1、学会运用Matlab进行连续时间信号的时移、反褶和尺度变换。
2、学会运用Matlab进行连续时间信号相加、相乘、微分、积分和卷积运算。
3、观察并熟悉这些信号的波形和特性。
二、实验原理1、连续时间信号的表示连续信号的表示方法有两种:符号推理法和数值法。
从严格意义上讲,Matlab数值计算的方法不能处理连续时间信号。
然而,可利用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能被Matlab处理,并且能较好地近似表示连续信号。
2、信号的时移、反褶和尺度变换信号的平移、反转和尺度变换是针对自变量时间而言的,其数学表达式和波形变换中存在着一定的变化规律。
从数学表达式上来看,信号的上述所有计算都是自变量的替换过程。
所以在使用Matlab进行连续时间信号的运算时,只需要进行相应的变量代换即可完成相关工作。
3、连续时间信号的微分和积分连续时间信号的微分运算,可使用diff命令函数来完成,其语句格式为:diff(function, ‘variable’,n)。
其中,function表示需要进行求导运算的函数,或者被赋值的符号表达式;variable为求导运算的独立变量;n为求导阶数,默认值为一阶导数。
连续时间信号积分运算可以使用int命令函数来完成,其语句格式为:int(function, ‘variable’, a, b)。
其中,function表示被积函数,或者被赋值的符号表达式;variable为积分变量;a为积分下限,b为积分上限,a和b默认时则求不定积分。
4、信号的相加和相乘运算信号的相加和相乘是信号在同一时刻取值的相加和相乘。
因此Matlab对于时间信号的相加和相乘都是基于向量的点运算。
5、连续信号的卷积运算卷积积分是信号与系统时域分析的重要方法之一。
定义为:Matlab 进行卷积计算可通过符号运算方法和数值计算方法实现。
实验一连续时间信号的时域和频域分析一. 实验目的:1. 熟悉MATLAB 软件平台。
2. 掌握MATLAB 编程方法、常用语句和可视化绘图技术。
3. 编程实现常用信号及其运算MATLAB 实现方法。
4. 编程实现常用信号的频域分析。
二. 实验原理:1、连续时间信号的描述:(1)向量表示法连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点之外,信号都有确定的值与之对应。
严格来说,MATLAB 并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。
当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。
矩阵是MATLAB 进行数据处理的基本单元,矩阵运算是MATLAB 最重要的运算。
通常意义上的数量(也称为标量)在MATLAB 系统中是作为1×1 的矩阵来处理的,而向量实际上是仅有一行或者一列的矩阵。
通常用向量表示信号的时间取值范围,如t = -5:5,但信号x(t)、向量t 本身的下标都是从1 开始的,因此必须用一个与向量x 等长的定位时间变量t,以及向量x,才能完整地表示序列x(t)。
在MATLAB 可视化绘图中,对于以t 为自变量的连续信号,在绘图时统一用plot 函数;而对n 为自变量的离散序列,在绘图时统一用stem 函数。
(2)符号运算表示法符号对象(Symbolic Objects 不同于普通的数值计算)是Matlab 中的一种特殊数据类型,它可以用来表示符号变量、表达式以及矩阵,利用符号对象能够在不考虑符号所对应的具体数值的情况下能够进行代数分析和符号计算(symbolic math operations),例如解代数方程、微分方程、进行矩阵运算等。
符号对象需要通过sym 或syms 函数来指定, 普通的数字转换成符号类型后也可以被作为符号对象来处理.我们可以用一个简单的例子来表明数值计算和符号计算的区别: 2/5+1/3 的结果为0.7333(double 类型数值运算), 而sym(2)/sym(5)+sym(1)/sym(3)的结果为11/15, 且这里11/15 仍然是属于sym 类型, 是符号数。
成绩评定表课程设计任务书摘要MATLAB目前已发展成为由MATLAB语言、MATLAB工作环境、MATLAB图形处理系统、MATLAB数学函数库和MATLAB应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。
本次课程设计则在深入研究连续时间信号傅里叶级数分析理论知识的基础上,利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,通过MATLAB编程进行图形功能仿真,从而实现连续时间周期信号频域分析的仿真波形,包括以下内容:用MATLAB实现常用连续时间信号的时域波形;用MATLAB实现信号的时域运算;用MATLAB实现信号的时域变换;用MATLAB实现信号简单的时域分解;用MATLAB实现连续时间系统的卷积积分的仿真波形;用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形;用MATLAB 实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。
关键词:MATLAB;图形处理;连续时间信号;目录1.MATLAB简介 (1)2.常用连续时间信号的波形 (2)2.1 常用连续时间信号的基本原理 (2)2.2 编程设计及实现 (2)2.3 运行结果及其分析 (5)3.常用连续时间信号的尺度变换 (8)3.1编程设计及实现 (8)3.1.1矩形波—尺度变换 (8)3.1.2三角波—尺度变换 (8)3.2运行结果及其分析 (10)4.常用连续时间信号的奇偶分解 (11)4.1 信号的奇偶分解原理 (11)4.2 编程设计及实现 (12)4.2.1对信号进行奇偶分解 (12)4.2.2将奇偶分量合并为原信号 (12)4.3运行结果及其分析 (13)4.3.1对信号进行奇偶分解 (13)4.3.2将奇偶分量合并为原信号 (14)5.结论 (15)6.参考文献 (16)1、 MATLAB简介1.1 MATLAB语言功能MATLAB是一个高精度的科学计算语言,它将计算、可视化编程结合在一个容易使用的环境中,在这个环境中,用户可以把提出的问题和解决问题的办法用熟悉的数学符号表示出来,它的典型使用包括:(1)数学和计算;(2)运算法则;(3)建模、仿真;(4)数值分析、研究和可视化;(5)科学的工程图形;(6)应用程序开发,包括创建图形用户接口。
姓名: 周强 班级: 电信1004班 学号: 201004135136实验1 时域连续信号的表示及运算一、 实验目的1.掌握常用时域连续信号的MA TLAB 表示方法。
2.掌握连续信号的基本运算,包括信号相加与相乘、微分与积分、平移、反转、尺度变换、奇偶分解、卷积积分等。
二、 实验原理及方法MATLAB 利用连续信号在等时间间隔点的采样值来近似表示连续信号。
三、 实验内容及步骤1. 利用MATLAB 命令画出下列连续信号的波形图。
(1))()2(t u e t--源代码 (1 ) )()2(t u e t -- 图像 t=0:0.001:8;y=(2-exp(-t)).*heaviside(t);plot(t,y);grid onaxis([0 8 1 2])波形图(2))(cos t u源代码:t=0:0.01:2*pi;y=heaviside(cos(t));plot(t,y);grid onaxis([0 2*pi 0 1])波形图(3)产生幅度为1、周期为1、占空比为0.5的周期矩形信号。
源代码t=0:0.01:8; 波形图y=heaviside(sin(2*pi*t));plot(t,y);grid onaxis([0 4 0 1.2]);2. 已知)(t f 的波形如图1-15所示,做出)()(t f t f +、)()(t f t f ⋅、)(t f 的微分、)(t f 的积分、)43(t f -的波形。
)(t f 的图像代码syms t yy=t*(heaviside(t)-heaviside(t-1))+heaviside(t-2)-heaviside(t-1);ezplot(t ,y);grid onaxis([0 4 -1.5 1.5]))(t f 的图像t )(t f 01121-图1-15)()(t f t f +源代码syms t y y1y1=t*(heaviside(t)-heaviside(t-1))+heaviside(t-2)-heaviside(t-1);y=y1+y1; )()(t f t f +波形图ezplot(t,y);grid onaxis([0 4 -2.1 2.1]))()(t f t f ⋅源代码syms t yy=t*(heaviside(t)-heaviside(t-1))+heaviside(t-2)-heaviside(t-1);ezplot(t ,y*y);grid onaxis([0 4 -2.1 2.1])波形图)(t f 的微分syms t y fy=t*(heaviside(t)-heaviside(t-1))+heaviside(t-2)-heaviside(t-1);f=diff(y,'t');t=0:0.01:4; )(tf的微分波形图ezplot(f,t);grid onf的积分)(t源代码syms t y f y1y=t*(heaviside(t)-heaviside(t-1))+heaviside(t-2)-heaviside(t-1);f=int(y,'t');t=0:0.01:4;ezplot(f,t);grid on波形图3(tf4)源代码syms t y1 yy1=t*(heaviside(t)-heaviside(t-1))+heaviside(t-2)-heaviside(t-1);y=subs(y1,t,3-4*t);ezplot(t ,y);grid onaxis([0 1.2 -1.2 1.2])波形图实验心得与小结:(1)学会了单位阶跃函数heaviside()的使用,掌握了用matlab画一些连续信号的波形图(2)掌握了对一些基本的函数求微分,积分,翻转,平移的方法,还有一些符号变量的使用(3)学会了如何利用三角函数的周期性画出周期性的单位阶跃函数体会:在学习的过程中只有不断的尝试,才能从其中学到一些东西,在上机的过程中,我们不能只会画几个图像就以为学会了,从理解到自己能熟练运用还有一段距离,只有不断的从实验中发现错误才能提高自己,才能有收获。
成绩评定表课程设计任务书目录一、引言 (1)二、Matlab入门 (2)2.1Matlab7.0介绍 (2)2.2利用Matlab7.0编程完成习题设计 (3)三、Matlab7.0实现连续时间信号运算的设计 (4)3.1常用连续时间信号的类别及原理 (4)3.2编程设计及实现 (4)3.3运行结果及其分析 (7)四、结论 (16)参考文献 (17)一、引言《信号与系统》课程是一门实用性较强、涉及面较广的专业基础课,该课程是将学生从电路分析的知识领域引入信号处理与传输领域的关键性课程,对后续专业课起着承上启下的作用. 该课的基本方法和理论大量应用于计算机信息处理的各个领域,特别是通信、数字语音处理、数字图像处理、数字信号分析等领域,应用更为广泛。
近年来,计算机多媒体教序手段的运用逐步普及,大量优秀的科学计算和系统仿真软件不断涌现,为我们实现计算机辅助教学和学生上机实验提供了很好的平台。
通过对这些软件的分析和对比,我们选择MATLAB语言作为辅助教学工具,借助MATLAB强大的计算能力和图形表现能力,将《信号与系统》中的概念、方法和相应的结果,以图形的形式直观地展现给我们,大大的方便我们迅速掌握和理解老师上课教的有关信号与系统的知识。
MATLAB是当前最优秀的科学计算软件之一,也是许多科学领域中分析、应用和开发的基本工具。
MATLAB全称是Matrix Laboratory,是由美国Mathworks公司于20世纪80年代推出的数学软件,最初它是一种专门用于矩阵运算的软件,经过多年的发展,MATLAB已经发展成为一种功能全面的软件,几乎可以解决科学计算中的所有问题。
而且MATLAB编写简单、代码效率高等优点使得MATLAB在通信、信号处理、金融计算等领域都已经被广泛应用。
它具有强大的矩阵计算能力和良好的图形可视化功能,为用户提供了非常直观和简洁的程序开发环境,因此被称为第四代计算机语言。
MATLAB强大的图形处理功能及符号运算功能,为我们实现信号的可视化及系统分析提供了强有力的工具。
MATLAB强大的工具箱函数可以分析连续信号、连续系统,同样也可以分析离散信号、离散系统,并可以对信号进行各种分析域计算,如相加、相乘、移位、反折、傅里叶变换、拉氏变换、Z 变换等等多种计算。
作为信号与系统的基本分析软件之一,利用MATLAB进行信号与系统的分析与设计是通信以及信息工程学科的学生所要掌握的必要技能之一。
通过学习并使用MATLAB 语言进行编程实现课题的要求,对学生能力的培养极为重要。
尤其会提高综合运用所学理论知识进行分析问题、解决问题的能力,也便于将理论知识与实践相结合,并得以更好地掌握信号分析与处理的基本方法与实现。
二、Matlab入门2.1 M atlab7.0介绍Matlab7.0比Matlab的老版本提供了更多更强的新功能和更全面、更方便的联机帮助信息。
当然也比以前的版本对于软件、硬件提出了更高的要求。
在国内外Matlab已经经受了多年的考验。
Matlab7.0功能强大,适用范围很广。
其可以用来线性代数里的向量、数组、矩阵运算,复数运算,高次方程求根,插值与数值微商运算,数值积分运算,常微分方程的数值积分运算、数值逼近、最优化方法等,即差不多所有科学研究与工程技术应用需要的各方面的计算,均可用Matlab来解决。
MATLAB7.0提供了丰富的库函数(称为M文件),既有常用的基本库函数,又有种类齐全、功能丰富多样的的专用工具箱Toolbox函数。
函数即是预先编制好的子程序。
在编制程序时,这些库函数都可以被直接调用。
无疑,这会大大提高编程效率。
MATLAB7.0的基本数据编程单元是不需要指定维数的复数矩阵,所以在MATLAB环境下,数组的操作都如数的操作一样简单方便。
而且,MATLAB7.0界面友好,用户使用方便。
首先,MATLAB具有友好的用户界面与易学易用的帮助系统。
用户在命令窗里通过help命令可以查询某个函数的功能及用法,命令的格式极为简单。
其次,MATLAB程序设计语言把编辑、编译、连接、执行、调试等多个步骤融为一体,操作极为简单。
除此之外,MATLAB7.0还具有强大的图形功能,可以用来绘制多姿多彩的图形,直观而形象。
综上,在进行信号的分析与仿真时,MATLAB7.0无疑是一个强大而实用的工具。
尤其对于信号的分析起到了直观而形象的作用,非常适合与相关课题的研究与分析。
2.2利用Matlab7.0编程完成习题设计在熟悉了MATLAB7.0的基本界面之后,可以通过简单的编程与相关函数的调用,实现一些常用时间信号的可视化操作。
例如:编程实现矩形波的仿真。
程序如下,直接在命令窗口键入如下程序:t=-4:0.001:4;T=2;ft=rectpuls(t,T);plot(t,ft)axis([-4,4,-0.5,1.5])仿真图形如下:图1三、Matlab7.0实现连续时间信号运算的设计3.1常用连续时间信号的类别及原理在信号与系统中,常用的连续时间信号有三角波信号、指数信号、正余弦信号、抽样信号、单位阶跃信号、冲击信号等。
这些信号的归类都是按照函数取值的连续性与离散性划分的。
即如果在讨论的的时间间隔内,除若干不连续点之外,对于任意时间值都可以给出确定的函数值,此信号就称为连续信号。
在连续时间信号的时域运算中,微积分运算是一种常见的运算。
其中,函数的微分运算需要使用diff函数,其使用方法如下:(1) diff(S,'v'):对符号对象S 中指定的符号变量v 求其1 阶导数。
(2) diff(S):对符号对象S 中的默认的独立变量求其1 阶导数。
(3) diff(S,n):对符号对象S 中的默认的独立变量求其n 阶导数。
(4) diff(S,'v',n):对符号对象S 中指定的符号变量v 求其n 阶导数。
函数的积分运算使用的函数为int函数,使用方法与diff函数类似,主要实现的是常用时间信号的积分运算。
在编写程序过程中,可以通过冒号运算符产生一个行向量定义自变量的取值范围,通过相关语句定义坐标的纵轴与横轴取值,通过调用plot或者ezplot 函数可以实现相关运算的图形可视化及其仿真。
3.2编程设计及实现1:三角波信号三角波脉冲信号在MATLAB中用tripuls函数来表示,其调用形式为:twidthtripulsy=),,(skew用以产生一个最大幅度为1、宽度为width、斜度为skew的三角波信号。
该函数的很坐标范围由向量t决定,是以t=0为中心向左右各展开width/2的范围。
斜度skew是一个介于-1和1之间的值,它表示最大幅度1出现所对应的横坐标位置,比如0skew表示=一个左右对称的三角波信号,最大幅度1出现在0t处;一般地,最大幅度1出现在=(的横坐标位置,三角波信号的MATLAB源程序如下:=)2/skewt⨯widtht=-3:0.001:3;ft=tripuls(t,4,0.5)plot(t,ft)2:阶跃函数信号syms t yy=heaviside(t);t=-4:0.01:4;ezplot(y,t);grid on 3:指数函数指数信号at Ae 在MATLAB 中可以用exp 函数表示,其调用形式为:y=A*exp(a*t)指数函数信号的MATLAB 源程序如下:t=0:001:10; A=1; a=0.4; ft=A*exp(a*t); plot(t,ft) 4:正弦函数正弦信号)cos(ϕω+t A o 和)sin(ϕω+t A o 分别用MATLAB 的内部函数cos 和sin 表示,其调用形式为:)*cos(*phi t A o +ω )*sin(*phi t A o +ω正弦函数信号的MATLAB 源程序如下: t=0:0.001:2*pi; w0=2;phi=0; ft1=sin(w0*t+phi);plot(t,ft1)5:抽样信号抽样函数Sa (t )在MATLAB 中用sinc 表示,其定义为: )/()sin()(sin t t t c ππ= 其调用形式为:)(sin t c y =抽样函数的MATLAB 源程序如下:syms t y f y=sinc(2*t); t=0:0.01:pi; ezplot(y,t);grid on6:正弦函数的微分运算syms t y fy=sin(2*t);f=diff(y,t);t=0:0.01:pi;ezplot(f,t);grid on7:冲激函数信号x=-10:0.0001:10;y=(x==0);plot(x,y);8:正弦函数的积分运算syms t y fy=sin(2*t);f=int(y,t);t=0:0.01:pi;ezplot(f,t);grid on9:连续时间信号的相加t=0:0.0001:3;x=sin((10*pi)*t)+sin(9*pi*t);plot(t,x)axis([0,3,-2,2]3.3运行结果及其分析对应以上九个相关程序,其可视化及其仿真图如下:1:三角波信号图22:阶跃函数信号图33:指数函数信号图44:正弦函数信号图55:抽样信号图66:正弦函数的微分运算图77:冲激函数信号图88:正弦函数的积分运算图99:连续时间信号的相加图10四、结论在这次信号与系统课程设计中,我首先花了较多的时间查阅资料,进行反复的练习。
由于是第一次做信号与系统的课程设计,对于相关设计过程和分析方法以及MATLAB软件的使用并不大熟练。
但功夫不负有心人,最终还算顺利完成,这对我以后学习相关的课程以及进行更高层次的信号与系统设计都奠定了不错的基础。
在设计过程中,出现了各种各样的问题,有些是单一原因引起的,有的是综合原因引起的,这些都很考验我的毅力与坚持。
但是我掌握了研究这类问题的方法,即问题解决的过程就是要从问题所表现出来的情况出发,通过反复推敲,作出相应判断,逐步找出问题的症结所在,从而一举击破。
对于信号与系统课程设计,尤其在使用MATLAB软件进行相关信号的仿真与分析时,这种分析解决问题的能力就更为重要。
正所谓“纸上得来终觉浅,觉知此事要躬行。
”学习任何知识,仅从理论上去求知,而不去实践、探索是不够的。
通过为期数天的MATLAB课程设计,我对MATLAB这个仿真软件有了更进一步的认识和了解。
在这数天时间里,我通过自己摸索,查阅资料,并且在指导老师的指导下完成了常用连续时间信号的编程与仿真;并最终将课程设计报告总结完毕。
在整个设计过程中我懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。