基于Matlab的信号与系统实验指导
- 格式:doc
- 大小:2.51 MB
- 文档页数:52
信号与系统实验指导书信号与系统matlab实验信号与系统实验指导书一、实验目的1、掌握用Matlab绘制波形图的方法,学会常见波形图的绘制。
2、掌握用Matlab编写函数的方法3、通过对周期信号和非周期信号的观察,加深对周期信号的理解。
二、实验内容1、实验原理与计算实例1.1 绘制波图的基本函数 Matlab是一种基于矩阵和数组的编程语言,它将所有的变量都看成矩阵。
它不仅有强大的计算功能,还有各种各样的画图功能。
这里主要介绍信号与系统分析中常见的几个Matlab函数,包括Matlab提供的内部函数和自定义函数。
我们可以在命令窗口中每次执行一条Matlab语句;或者生成一个程序,存为M文,供以后执行;或是生成一个函数,在命令窗口中执行。
下面介绍几个基本函数。
(1)单位阶跃函数 M文名:u.m%单位阶跃函数(连续或离散)%调用格式 y=u(t)产生单位阶跃函数 function y=u(t) y=(t>=0)(2)门函数 M文名:rectplus.m,是Matlab的内部函数。
调用格式 y=rectplus(t)产生高度为1,宽度为1的门函数调用格式y=rectplus(t,W) 产生高度为1,宽度为W的门函数(3)三角脉冲函数 M文名:tripuls.m,是Matlab的内部函数。
调用格式 y=tripuls(t) 产生高度为1,宽度为1的三角脉冲函数调用格式 y=tripuls(t,w) 产生高度为1,宽度为w的三角脉冲函数调用格式 y=tripuls(t,w,s)产生高度为1,宽度为w的三角脉冲函数,-1<s<1。
当s=0时,为对称三角形;当S=-1时,为三角形顶点左边。
(4)抽样函数 M文名:Sa.m %抽样函数(连续或者离散)% 高度为1 % 调用格式 y=Sa(t),产生高度为1,第一个过零点为π function f=Sa(t)f=sinc(t./pi) %sinc(t)=sin(πt)/(πt)是MATLAB函数(5)符号函数 M文名:sign.m是Matlab的内部函数。
信号与系统MATLAB实验报告实验目的本实验旨在通过MATLAB软件进行信号与系统的相关实验,探究信号与系统的特性与应用。
实验步骤1. 准备工作在正式进行实验之前,我们需要做一些准备工作。
首先,确保已经安装好MATLAB软件,并且熟悉基本的操作方法。
其次,准备好实验所需的信号与系统数据,可以是已知的标准信号,也可以是自己采集的实际信号。
2. 信号的生成与显示使用MATLAB编写代码,生成不同类型的信号。
例如,可以生成正弦信号、方波信号、三角波信号等。
通过绘制信号波形图,观察不同信号的特点和变化。
t = 0:0.1:10; % 时间范围f = 1; % 信号频率s = sin(2*pi*f*t); % 正弦信号plot(t, s); % 绘制信号波形图3. 系统的建模与分析根据实验需求,建立相应的系统模型。
可以是线性时不变系统,也可以是非线性时变系统。
通过MATLAB进行模型的建立和分析,包括系统的时域特性、频域特性、稳定性等。
sys = tf([1, 2], [1, 3, 2]); % 系统传递函数模型step(sys); % 绘制系统的阶跃响应图4. 信号与系统的运算对于给定的信号和系统,进行信号与系统的运算。
例如,进行信号的卷积运算、系统的响应计算等。
通过MATLAB实现运算,并分析结果的意义与应用。
x = [1, 2, 3]; % 输入信号h = [4, 5, 6]; % 系统响应y = conv(x, h); % 信号的卷积运算plot(y); % 绘制卷积结果的波形图5. 实验结果分析根据实验数据和分析结果,对实验进行结果总结与分析。
可以从信号的特性、系统的特性、运算结果等方面进行综合性的讨论和分析。
实验总结通过本次实验,我们学习了如何在MATLAB中进行信号与系统的实验。
通过生成信号、建立系统模型、进行运算分析等步骤,我们深入理解了信号与系统的基本原理和应用方法。
通过实验数据和结果分析,我们对信号与系统有了更深刻的认识,并掌握了MATLAB在信号与系统实验中的应用技巧。
实验篇 信号与系统实验指导实验一、MATLAB 编程基础及典型实例一、实验目的(1) 熟悉MATLAB 软件平台的使用; (2) 熟悉MATLAB 编程方法及常用语句; (3) 掌握MATLAB 的可视化绘图技术;(4) 结合《信号与系统》的特点,编程实现常用信号及其运算。
二、实验原理连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点以外,信号都有确定的值与之对应。
严格来说,MATLAB 并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。
当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。
矩阵是MATLAB 进行数据处理的基本单元,矩阵运算是MATLAB 最重要的运算。
通常意义上的数量(也称为标量)在MATLAB 系统中是作为1×1的矩阵来处理的,而向量实际上是仅有一行或者一列的矩阵。
通常用向量表示信号的时间取值范围,如n = -5:5,但信号x(n)、向量n 本身的下标都是从1开始的,因此必须用一个与向量x 等长的定位时间变量n ,以及向量x ,才能完整地表示序列x(n)。
这一点详情可参考预备篇示例7的程序说明。
三、实验内容与步骤(1) 新建一个文件夹,以自己的汉语名字命名,以后就用该文件夹专门存放自己所编制的M 文件和产生的图形;将该文件夹设置成当前工作目录。
(2) 绘制信号t)32sin(e x(t)t 2-=的曲线,t 的范围在0 ~ 30s ,取样时间间隔为0.1s.(3) 在n = [-10:10] 范围产生离散序列:⎩⎨⎧≤≤-=其余n0,3n 32n,x(n) ,并绘图。
四、实验报告要求整理并给出“实验内容与步骤”(2)、(3)的程序代码与产生的图形;并回答下面的问题。
(1) 在调用某一函数文件时,该文件中除了输入、输出变量外的其它变量在调用函数结束后是否还存在?这些变量是全局还是局部变量?(2) 设n = -10:0.2:20,你可以通过哪些方法查看向量n 的维数?经过关系运算y = (n >= 3)以后,y 的维数是多少?y 又等于什么?(3) 通过MATLAB 的帮助系统,学习fliplr 函数的功能和使用方法。
信号与系统实验报告(5)MATLAB 综合实验项目二 连续系统的频域分析目的:周期信号输入连续系统的响应可用傅里叶级数分析。
由于计算过程烦琐,最适合用MATLAB 计算。
通过编程实现对输入信号、输出信号的频谱和时域响应的计算,认识计算机在系统分析中的作用。
任务:线性连续系统的系统函数为11)(+=ωωj j H ,输入信号为周期矩形波如图1所示,用MATLAB 分析系统的输入频谱、输出频谱以及系统的时域响应。
图1方法:1、确定周期信号f(t)的频谱nF 。
基波频率Ω。
2、确定系统函数)(Ωjn H 。
3、计算输出信号的频谱nn F jn H Y )(Ω= 4、系统的时域响应∑∞-∞=Ω=n tjn neY t y )(MATLAB 计算为y=Y_n*exp(j*w0*n'*t);要求(画出3幅图):1、在一幅图中画输入信号f(t)和输入信号幅度频谱|F(jω)|。
用两个子图画出。
2、画出系统函数的幅度频谱|H(jω)|。
3、在一幅图中画输出信号y(t)和输出信号幅度频谱|Y(jω)|。
用两个子图画出。
解:(1)分析计算:输入信号的频谱为(n)输入信号最小周期为=2,脉冲宽度,基波频率Ω=2π/=π,所以(n)系统函数为因此输出信号的频谱为系统响应为(2)程序:t=linspace(-3,3,300);tau_T=1/4; %n0=-20;n1=20;n=n0:n1; %计算谐波次数20F_n=tau_T*Sa(tau_T*pi*n);f=2*(rectpuls(t+1.75,0.5)+rectpuls(t-0.25,0.5)+rectpuls(t-2.25,0.5));figure(1),subplot(2,1,1),line(t,f,'linewidth',2); %输入信号的波形axis([-3,3,-0.1,2.1]);grid onxlabel('Time(sec)','fontsize',8),title('输入信号','fontweight','bold') %设定字体大小,文本字符的粗细text(-0.4,0.8,'f(t)')subplot(2,1,2),stem(n,abs(F_n),'.'); %输入信号的幅度频谱xlabel('n','fontsize',8),title('输入信号的幅度频谱','fontweight','bold')text(-4.0,0.2,'|Fn|')H_n=1./(i*n*pi+1);figure(2),stem(n,abs(H_n),'.'); %系统函数的幅度频谱xlabel('n','fontsize',8),title('系统函数的幅度频谱','fontweight','bold')text(-2.5,0.5,'|Hn|')Y_n=H_n.*F_n;y=Y_n*exp(i*pi*n'*t);figure(3),subplot(2,1,1),line(t,y,'linewidth',2); %输出信号的波形axis([-3,3,0,0.5]);grid onxlabel('Time(sec)','fontsize',8),title('输出信号','fontweight','bold')text(-0.4,0.3,'y(t)')subplot(2,1,2),stem(n,abs(Y_n),'.'); %输出信号的幅度频谱xlabel('n','fontsize',8),title('输出信号的幅度频谱','fontweight','bold')text(-4.0,0.2,'|Yn|')(3)波形:-3-2-1012300.511.52Time(sec)输入信号n输入信号的幅度频谱-20-15-10-55101520n系统函数的幅度频谱-3-2-112300.10.20.30.4Time(sec)输出信号n输出信号的幅度频谱项目三 连续系统的复频域分析目的:周期信号输入连续系统的响应也可用拉氏变换分析。
matlab信号与系统实验报告Matlab信号与系统实验报告引言:信号与系统是电子工程、通信工程等领域中的重要基础课程,对于理解和应用各种信号处理技术具有重要意义。
本实验报告旨在通过使用Matlab软件,对信号与系统的基本概念和实验进行探讨和分析。
实验一:信号的基本特性分析在信号与系统的研究中,我们首先需要了解信号的基本特性。
通过Matlab软件,我们可以方便地对不同类型的信号进行分析和处理。
在本实验中,我们选择了常见的正弦信号和方波信号进行分析。
首先,我们生成了一个频率为1kHz,幅度为2V的正弦信号,并绘制了其时域波形图和频谱图。
通过观察时域波形图,我们可以看到正弦信号具有周期性和连续性的特点。
而通过频谱图,我们可以看到正弦信号在频域上只有一个峰值,说明其是单频信号。
接下来,我们生成了一个频率为1kHz,幅度为2V,占空比为50%的方波信号,并绘制了其时域波形图和频谱图。
与正弦信号不同,方波信号具有分段常值的特点。
通过频谱图,我们可以看到方波信号在频域上存在多个谐波分量,说明其是由多个频率的正弦信号叠加而成。
实验二:系统的时域响应分析在信号与系统中,系统的时域响应是描述系统对输入信号进行处理的重要指标。
通过Matlab软件,我们可以方便地分析和绘制系统的时域响应。
在本实验中,我们选择了一个一阶低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。
通过绘制输入信号和输出信号的时域波形图,我们可以观察到系统对输入信号进行了滤波处理,输出信号的幅度和相位发生了变化。
此外,我们还可以通过改变系统的参数,如截止频率和阶数,来观察系统的时域响应的变化。
通过对比不同参数下的输出信号波形图,我们可以得出不同参数对系统响应的影响。
实验三:系统的频域响应分析除了时域响应,频域响应也是描述系统特性的重要指标。
通过Matlab软件,我们可以方便地进行系统的频域响应分析。
在本实验中,我们选择了一个二阶巴特沃斯低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。
基于MATLAB的信号与系统仿真实验毕业设计信号与系统是电子信息类专业的一门重要课程,它是其他课程的基础和前提。
为了更好地理解信号与系统的理论知识,掌握信号的分析和处理方法,实验仿真是非常重要的手段之一、MATLAB作为一款强大的数学软件,被广泛应用于信号与系统的实验仿真中。
本文将基于MATLAB,介绍一个基于信号与系统的仿真实验的毕业设计。
该设计主要包括以下几个方面的内容:实验目的、实验原理、实验步骤和实验结果及分析。
实验目的:本次实验的主要目的是通过MATLAB软件,实现信号与系统的仿真分析,掌握信号与系统的基本概念和分析方法,培养学生对信号与系统的实际应用能力。
实验原理:本实验主要涉及信号的生成与采样、信号的查表和存储、信号的线性时不变系统等方面的内容。
通过对不同种类的信号进行分析,可以更好地理解信号的特性,并通过系统的分析,了解线性时不变系统对信号的作用及特性。
实验步骤:1.信号的生成与采样:在MATLAB中,通过给定信号的频率、振幅及采样率等参数,利用正弦函数或方波函数生成模拟信号,并对信号进行采样。
2.信号的查表和存储:将生成的信号通过查表和存储的方式保存为数据文件,并通过MATLAB读取这些数据文件,进行后续的处理和分析。
3.信号的线性时不变系统:通过设计不同的线性时不变系统,如低通滤波器或高通滤波器等,对信号进行滤波处理。
可以分析系统的频率响应、幅频响应等参数,并观察滤波后信号的变化。
实验结果及分析:通过对生成的信号进行采样、查表和存储,并对信号进行线性时不变系统的处理,在MATLAB中可以得到相应的结果。
根据实验结果,可以对信号的特性进行分析,比较不同信号和系统对信号的影响,进一步了解信号与系统的相关知识。
综上所述,本次基于MATLAB的信号与系统仿真实验毕业设计主要是通过对信号的生成、采样、查表和存储以及对信号进行线性时不变系统的处理,来掌握信号与系统的分析方法和应用能力。
通过实验结果的分析,可以进一步理解信号与系统的概念和特性,提高对信号与系统的理解和应用能力。
信号与系统-MATLAB综合实验课程设计一、课程设计的目的和意义在信号与系统学习中,MATLAB是非常重要的工具。
本课程设计主要目的是让学生通过实验,掌握使用MATLAB进行信号与系统分析和处理的方法和技巧。
同时,课程设计还能够加深学生对信号与系统理论知识的理解和掌握,提高其综合运用能力。
二、课程设计的内容和要求1. 实验一:信号的生成和绘制本实验主要包括以下内容:•生成几种基本信号(如正弦信号、方波信号、三角波信号等)。
•通过MATLAB绘制生成的信号,并加上合适的标注。
要求学生能够掌握信号的生成方法和MATLAB的绘图函数的使用。
2. 实验二:信号的运算与变换本实验主要包括以下内容:•对已有信号进行运算(如加、减、乘、除等)。
•对信号进行卷积、相关等线性变换操作。
•对信号进行傅里叶变换,并绘制幅度谱、相位谱等图形。
要求学生能够掌握信号的运算、变换方法和MATLAB的相应函数的使用。
3. 实验三:系统的分析和建立本实验主要包括以下内容:•对系统进行零极点分析,并绘制零极点图。
•对已有系统进行时域和频域分析(如阶跃响应、冲击响应、幅频响应等)。
要求学生能够掌握系统的分析方法和MATLAB的相应函数的使用。
4. 实验四:信号的滤波和降噪本实验主要包括以下内容:•对信号进行数字滤波(如低通滤波、高通滤波、带通滤波、带阻滤波等)。
•对信号进行去噪处理(如中值滤波、小波变换去噪等)。
要求学生能够掌握信号滤波、降噪方法和MATLAB的相应函数的使用。
三、课程设计的实施流程1.分组。
依据班级人数以及教学设备的数量,安排学生分为若干个小组,每个小组3-4人。
2.模拟分配实验。
询问小组成员们的意见,模拟分配每个小组所要完成的课程设计任务。
3.实验操作。
每个小组根据分配到的实验课程设计,使用MATLAB进行模拟操作。
4.结果展示。
每个小组进行结果展示,介绍自己的设计思路,并展示实验结果。
其他小组成员以及教师进行现场互相交流和讨论。
基于MATLAB的信号与系统实验指导编程练习2连续时间信号在M A T L A B中的表⽰2-1.利⽤MATLAB命令画出下列连续信号的波形图(1)>> t=0:0.01:3;>> ft=2*cos(3*t+pi/4);>> plot(t,ft),grid on;>> axis([0 3 -2.2 2.2]);>> title('2cos(3t+pi/4)')(2)>> t=0:0.01:3;>> ft=2-exp(-t);>> plot(t,ft),grid on;>> title('(2-exp(-t))u(t)')(3)>> t=-1:0.01:1;>> ft=t.*(uCT(t)-uCT(t-1));>> plot(t,ft),grid on>> axis([-1 1 -0.2 1.2]);>> title('t[u(t)-u(t-1)]')(4)>> t=-1:0.01:3;>> ft=(1+cos(pi*t)).*(uCT(t)-uCT(t-2)); >> plot(t,ft),grid on>> axis([-1 3 -0.2 2.2]);>> title('[1+cos(pi*t)][u(t)-u(t-2)]')2-2.利⽤MATLAB命令画出下列复信号的实部、虚部、模和辐⾓(1)>> t=0:0.01:3;>> ft=2+exp(i*(pi/4)*t)+exp(i*(pi/2)*t);>> subplot(2,2,1);plot(t,real(ft));title('实部');axis([0 3 0 4]);grid on; >> subplot(2,2,2);plot(t,imag(ft));title('虚部');axis([0 3 0 2]);grid on; >> subplot(2,2,3);plot(t,abs(ft));title('模');axis([0 3 0 4]);grid on;>> subplot(2,2,4);plot(t,angle(ft));title('相⾓');axis([0 3 0 2]);grid on;(2)t=0:0.01:3;>> ft=2*exp(i*(t+pi/4));>> subplot(2,2,1);plot(t,real(ft));title('实部');axis([0 3 0 2]);grid on;>> subplot(2,2,2);plot(t,imag(ft));title('虚部');axis([0 3 0 2]);grid on;>> subplot(2,2,3);plot(t,abs(ft));title('模');axis([0 3 0 4]);grid on;>> subplot(2,2,4);plot(t,angle(ft));title('相⾓');axis([0 3 0 4]);grid on;2-3.利⽤MATLAB命令产⽣幅度为1、周期为1、占空⽐为0.5的⼀个周期矩形脉冲信号>> t=-0.5:0.01:3;>> ft=square(2*pi*t,50);>> plot(t,ft);grid on;axis([-0.5 3 -1.2 1.2]);>> title('幅度为1、周期为1、占空⽐0.5的周期举⾏脉冲信号')3连续时间信号在MATLAB中的运算3-1.试⽤MATLAB命令绘出以下信号的波形图(1)>> syms x t;>> t=-1:0.01:1;>> x=exp(-t).*sin(10*pi*t)+exp(-0.5*t).*sin(9*pi*t);>> plot(t,x)(2)>> syms x t;>> t=-1:0.01:1;>> x=sinc(t).*cos(10*pi*t);>> plot(t,x)3-2.已知连续时间信号f(t)的波形如图3-6所⽰,试⽤MATLAB 命令画出下列信号的波形图先画出图3-6:>> t=-2:0.01:2;>>f=(-t-1).*(-uCT(t+2)+uCT(t+1))+uCT(t+1)+uCT(t)-uCT(t-1)-(t-1).*(uCT(t-1)-uCT(t-2))-uC T(t-2); >> plot(t,f)>> axis([-4 4 -1 2])>> title('图3-6')>> t=-2:0.01:2;>> f1=funct2(t-1);>> f2=funct2(2-t);>> f3=funct2(2*t+1);>> f4=funct2(4-t/2);>> f5=(funct2(t)+funct2(-t)).*uCT(t);>> subplot(231);plot(t,f1);grid on;title('f(t-1)');axis([-3 3 -1 2]);>> subplot(232);plot(t,f2);grid on;title('f(2-t)');axis([-3 3 -1 2]);>> subplot(233);plot(t,f3);grid on;title('f(2t-1)');axis([-3 3 -1 2]);>> subplot(234);plot(t,f4);grid on;title('f(4-t/2)');axis([-3 3 -1 2]); >> subplot(235);plot(t,f5);grid on;title('(f(t)+f(-t))u(t)');axis([-3 3 -1 2]);3-3.试⽤MATLAB命令绘出如图3-7所⽰信号的偶分量和奇分量>> t=0:0.01:2;>> f=(uCT(t)-uCT(t-2)).*(-t+1);>> plot(t,f);title('图3-7')>> f1=fliplr(f);>> fe=(f+f1)/2;fo=(f-f1)/2;>> subplot(211),plot(t,fe);grid on>> title('fe')>> subplot(212),plot(t,fo);grid on;title('fo')4连续时间信号的卷积计算4-1⽤MATLAB命令绘出下列信号的卷积积分的时域波形图>> dt=0.001;t1=-0.5:dt:3.5;>> f1=uCT(t1)-uCT(t1-2);>> t2=t1;>> f2=uCT(t2)+uCT(t2-1)-uCT(t2-2)-uCT(t2-3);>> [t,f]=ctsconv(f1,f2,t1,t2,dt);6周期信号的傅⾥叶级数及频谱分析6-1已知周期三⾓信号如图6-5所⽰,试求出该信号的傅⾥叶级数,利⽤MATLAB编程实现其各次谐波的叠加,并验证其收敛性。
实验一MATLAB 程序入门和基础应用一、实验名称MATLAB 程序入门和基础应用二、实验目的1.学习Matlab软件的基本使用方法;2.了解Matlab的数值计算,符号运算,可视化功能;3. Matlab程序设计入门四、实验设备计算机MATLAB软件六、实验内容及具体步骤1、打开MATLAB的系统界面,对其功能做一个大致了解;2、学习变量的描述方法,掌握几个固定变量:I,j,pi,inf的使用。
注意,变量描述以字母开头,可以由字母、数字和下划线混合组成,区分字母大,小写字符长度不超过31个。
3、学习数值,矩阵,运算符,向量的矩阵运算,数组运算的描述方法。
(1)用一个简单命令求解线性系统3x1+ x2 - x3 =3.6x1+2x2+4x3 = 2.1-x1+4x2+5x3 = -1.4A=[3 1 -1;1 2 4;-1 4 5];b=[3.6;2.1;-1.4];x=A\b结果:x = 1.4818 -0.4606 0.3848(2)用简短命令计算并绘制在0≤x≤6范围内的sin(2x)、sinx2、sin2x。
x=linspace(0,6)y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;plot(x,y1,x, y2,x, y3)4、Matlab符号运算功能(1)符号运算的过程在符号运算的整个过程中,所有的运算均是以符号进行的,即使以数字形式出现的量也是字符量。
做一个对sin(x/2)求导的过程。
在命令窗口中输入如下符号表达式按回车:f='sin(x/2)';dfdx=diff(f)显示结果如下:dfdx = 1/2*cos(1/2*x)整个求导的过程都是由符号变量和符号表达式完成,没有涉及到具体的数值运算,其中1/2也被当作是字符量。
注意:符号变量前先要进行定义,定义语句是:sym 或syms 变量名列表。
前者定义一个单一的符号变量,后者可以一次定义多个符号变量。
信号与系统 matlab实验报告信号与系统 Matlab 实验报告引言:信号与系统是电子信息类专业中的一门重要课程,它研究了信号的产生、传输和处理过程,以及系统对信号的响应和影响。
通过实验,我们可以更直观地理解信号与系统的基本概念和原理,并掌握使用 Matlab 进行信号与系统分析和处理的方法。
实验一:信号的产生与显示在信号与系统课程中,我们首先需要了解不同类型的信号,以及如何产生和显示这些信号。
在 Matlab 中,我们可以使用一些函数来生成常见的信号波形,如正弦波、方波、三角波等。
通过编写简单的 Matlab 程序,我们可以实现信号的产生和显示。
实验二:信号的采样与重构在实际应用中,信号通常以连续时间的形式存在,但在数字系统中需要将其转换为离散时间的信号进行处理。
这就需要进行信号的采样和重构。
在 Matlab 中,我们可以使用采样函数和重构函数来模拟这一过程,并观察采样率对信号重构质量的影响。
实验三:信号的滤波与频谱分析信号滤波是信号处理中的重要环节,它可以去除信号中的噪声和干扰,提高信号质量。
在 Matlab 中,我们可以使用滤波函数来实现不同类型的滤波器,并观察滤波对信号频谱的影响。
此外,我们还可以使用频谱分析函数来研究信号的频谱特性,如频谱密度、功率谱等。
实验四:系统的时域与频域分析系统是信号处理中的重要概念,它描述了信号在系统中的传输和变换过程。
在Matlab 中,我们可以使用系统函数来模拟不同类型的系统,并观察系统对信号的时域和频域响应。
通过实验,我们可以深入理解系统的时域特性和频域特性,如冲击响应、频率响应等。
实验五:信号的调制与解调信号调制是将信息信号转换为调制信号的过程,而解调则是将调制信号恢复为原始信号的过程。
在 Matlab 中,我们可以使用调制函数和解调函数来模拟不同类型的调制和解调方式,如调幅、调频、调相等。
通过实验,我们可以了解不同调制方式的原理和特点,并观察调制和解调对信号的影响。
基于Matlab 的信号与系统实验指导实验一 连续时间信号在Matlab 中的表示一、实验目的1、学会运用Matlab 表示常用连续时间信号的方法2、观察并熟悉这些信号的波形和特性二、实验原理及实例分析1、信号的定义与分类2、如何表示连续信号?连续信号的表示方法有两种;符号推理法和数值法。
从严格意义上讲,Matlab 数值计算的方法不能处理连续时间信号。
然而,可利用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能被Matlab 处理,并且能较好地近似表示连续信号。
3、Matlab 提供了大量生成基本信号的函数。
如:(1)指数信号:K*exp(a*t)(2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi)(3)复指数信号:K*exp((a+i*b)*t)(4)抽样信号:sin(t*pi)注意:在Matlab 中用与Sa(t)类似的sinc(t)函数表示,定义为:)t /()t (sin )t (sinc ππ=(5)矩形脉冲信号:rectpuls(t,width)(6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表示信号的占空比DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。
占空比默认为0.5。
(7)三角波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。
(8)周期三角波信号:sawtooth(t, width)(9)单位阶跃信号:y=(t>=0)三、实验内容1、验证实验内容直流及上述9个信号2、程序设计实验内容(1)利用Matlab 命令画出下列连续信号的波形图。
(a ))4/3t (2cos π+(b ))t (u )e 2(t -- (c ))]2()(u )][t (cos 1[--+t u t π(2)利用Matlab 命令画出复信号)4/t (j 2e )t (f π+=的实部、虚部、模和辐角。
四、实验报告要求1、格式:实验名称、实验目的、实验原理、实验环境、实验内容、实验思考等2、实验内容:程序设计实验部分源代码及运行结果图示。
实验二连续时间信号在Matlab中的运算一、实验目的1、学会运用Matlab进行连续时间信号的时移、反褶和尺度变换;2、学会运用Matlab进行连续时间信号微分、积分运算;3、学会运用Matlab进行连续时间信号相加、相乘运算;4、学会运用Matlab进行连续时间信号卷积运算。
二、实验原理及实例分析1、信号的时移、反褶和尺度变换信号的平移、反转和尺度变换是针对自变量时间而言的,其数学表达式和波形变换中存在着一定的变化规律。
从数学表达式上来看,信号的上述所有计算都是自变量的替换过程。
所以在使用Matlab进行连续时间信号的运算时,只需要进行相应的变量代换即可完成相关工作。
2、连续时间信号的微分和积分符号运算工具箱有强大的积分运算和求导功能。
连续时间信号的微分运算,可使用diff命令函数来完成,其语句格式为:diff(function, ‘variable’,n)其中,function表示需要进行求导运算的函数,或者被赋值的符号表达式;variable 为求导运算的独立变量;n为求导阶数,默认值为一阶导数。
连续时间信号积分运算可以使用int命令函数来完成,其语句格式为:int(function, ‘variable’, a, b)其中,function表示被积函数,或者被赋值的符号表达式;variable为积分变量;a 为积分下限,b为积分上限,a和b默认时则求不定积分。
3、信号的相加和相乘运算信号的相加和相乘是信号在同一时刻取值的相加和相乘。
因此Matlab对于时间信号的相加和相乘都是基于向量的点运算。
4、连续信号的卷积运算卷积积分是信号与系统时域分析的重要方法之一。
定义为:⎰+∞∞-=*=-2121d )t (f )(f )t (f )t (f )t (f τττMatlab 进行卷积计算可通过符号运算方法和数值计算方法实现。
(1)Matlab 符号运算法求连续信号卷积从卷积定义出发,可以利用Matlab 符号运算法求卷积积分,但要注意积分变量和积分限的选取。
例:试用Matlab 符号运算法求卷积y(t)=[u(t)-u(t-1)]*[u(t)-u(t-1)]。
(2)Matlab 数值计算法求连续信号的卷积例:试用Matlab 数值计算法求信号)2t (u )t (u )t (f 1--=和)t (u e )t (f 3t 2-=的卷积。
三、实验内容1、已知信号的波形(课本P11例题),画出()()()()2332----t f t f t f t f ,,,的波形图。
2、使用微分命令求xsinxlnx y =关于变量x 的一阶导数;使用积分命令计算不定积分 dxx ax x ⎰⎪⎪⎭⎫ ⎝⎛+-225,定积分()dx x xe x ⎰+1021。
3、已知()()()ttfttfΩ=Ω=8sin,sin21,使用命令画出两信号和及两信号乘积的波形图。
其中,Hz f12=Ω=π4、四、实验报告要求1、格式:实验名称、实验目的、实验原理、实验环境、实验内容(上述4部分代码及结果图形)、实验思考等。
实验三 连续时间LTI 系统的时域分析一、实验目的1、学会使用符号法求解连续系统的零输入响应和零状态响应2、学会使用数值法求解连续系统的零状态响应3、学会求解连续系统的冲激响应和阶跃响应二、实验原理及实例分析1、连续时间系统零输入响应和零状态响应的符号求解连续时间系统可以使用常系数微分方程来描述,其完全响应由零输入响应和零状态响应组成。
MATLAB 符号工具箱提供了dsolve 函数,可以实现对常系数微分方程的符号求解,其调用格式为:dsolve(‘eq1,eq2…’,’cond1,cond2,…’,’v’)其中参数eq 表示各个微分方程,它与MATLAB 符号表达式的输入基本相同,微分和导数的输入是使用Dy ,D2y ,D3y 来表示y 的一价导数,二阶导数,三阶导数;参数cond 表示初始条件或者起始条件;参数v 表示自变量,默认是变量t 。
通过使用dsolve 函数可以求出系统微分方程的零输入响应和零状态响应,进而求出完全响应。
[实例1]试用Matlab 命令求齐次微分方程0)()(2)(='+''+'''t y t y t y 的零输入响应,已知起始条件为2)0(,1)0(,1)0(=''='=---y y y 。
注意,程序中绘图的时间区间一定要t>0,本程序中取[0, 8],程序运行后结果如下。
2、连续时间系统零状态响应的数值求解在实际工程中使用较多的是数值求解微分方程。
对于零输入响应来说,其数值解可以通过函数initial来实现,而该函数中的参量必须是状态变量所描述的系统模型,由于现在还没有学习状态变量相关内容,所以此处不做说明。
对于零状态响应,MATLAB控制系统工具箱提供了对LTI系统的零状态响应进行数值仿真的函数lsim,利用该函数可以求解零初始条件下的微分方程的数值解。
其调用格式为:y=lsim(sys,f,t),其中t表示系统响应的时间抽样点向量,f是系统的输入向量;sys表示LTI系统模型,用来表示微分方程、差分方程或状态方程。
在求解微分方程时,sys是有tf函数根据微分方程系数生成的系统函数对象,其语句格式为:sys=tf(a,b)。
其中,a和b分别为微分方程右端和左端的系数向量。
例如,对于微分方程)()()()()()()()(0'1''2'''30'1''2'''3t f b t f b t f b f f b t y a t y a t y a t y a +++=+++ 可以使用),(];,,,[];,,,[01230123a b tf sys b b b b b a a a a a ===获得其LTI 模型。
注意,如果微分方程的左端或者右端表达式有缺项,则其向量a 或者b 中对应元素应该为零,不能省略不写。
3、连续时间系统冲激响应和阶跃响应的求解在连续时间LTI系统中,冲激响应和阶跃响应是系统特性的描述。
在MATLAB中,对于冲激响应和阶跃响应的数值求解,可以使用控制工具箱中提供的函数impulse和step来求解。
), () ,(tsysstepy tsysimpulsey==其中t表示系统响应的时间抽样点向量,sys表示LTI系统模型。
三、实验内容1、已知系统的微分方程和激励信号,使用MATLAB命令画出系统的零状态响应和零输入响应(零状态响应分别使用符号法和数值法求解,零输入响应只使用符号法求解)。
要求题目2必做,题目1选做。
2、已知系统的微分方程,使用MATLAB命令画出系统的冲激响应和阶跃响应(数值法)。
要求题目2必做,题目1选做。
四、实验报告要求1、格式:实验名称、实验目的、实验原理、实验环境、实验内容(上述几部分代码及结果图形)、实验思考等。
实验四傅里叶变换(FT)及其性质一、实验目的1、学会运用Matlab求连续时间信号的傅里叶2、学会运用Matlab求连续时间信号的频谱图3、学会运用Matlab分析连续时间信号的傅里叶变换的性质二、实验原理及实例分析(一)傅里叶变换的实现例1:用Matlab 符号运算求解法求单边指数信号)()(2t u e t f t-=的FT 。
例2:用Matlab 符号运算求解法求211)(ωω+=j F 的IFT 。
例3:用Matlab 命令绘出例1中单边指数数信号的频谱图。
例4:用Matlab命令求图示三角脉冲的FT,并画出其幅度谱。
例5:用Matlab数值计算法求例3的三角脉冲幅度频谱图。
(二)FT 的性质1、尺度变换例6:设矩形信号)5.0()5.0()(--+=t u t u t f ,利用Matlab 命令绘出该信号及其频谱图。
同时绘出)2()2/(t f t f 和的频谱图,并加以比较。
下面利用Matlab将常规矩形脉冲信号的频谱和其调制信号(课本例3-4信号)频谱进行比较。
Matlab源程序如下:傅里叶变换的其它性质可用类似的方法验证,希望大家课下练习。
三、实验内容[注意:(1)写代码时j i]3、分别利用Matlab符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图。
4、已知门函数自身卷积为三角波信号,试用Matlab命令验证FT的时域卷积定理。
四、实验报告要求实验名称、实验目的、实验原理、实验环境、实验内容(上述几部分代码及结果图形)、实验思考等。