信号与系统——MATLAB基本实验
信号与系统实验指导书信号与系统matlab实验
![信号与系统实验指导书信号与系统matlab实验](https://img.taocdn.com/s3/m/c49b3a2a770bf78a64295495.png)
信号与系统实验指导书信号与系统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实验报告](https://img.taocdn.com/s3/m/d52e167542323968011ca300a6c30c225801f04c.png)
信号与系统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信号与系统实验报告
![matlab信号与系统实验报告](https://img.taocdn.com/s3/m/e4a9a9bbf111f18583d05a98.png)
实验一 基本信号的产生与运算一、 实验目的学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。
二、 实验原理MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。
这些信号是信号处理的基础。
1、 利用MATLAB 产生下列连续信号并作图。
(1)51),1(2)(<<---=t t u t x (2)300),32sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、>> t=-1:0.02:5; >> x=(t>1);>> plot(t,-2*x);>> axis([-1,5,-3,1]);>> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');(2)、>> t=0:0.02:30;>> x=exp(-0.3*t).*sin(2/3*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰axis([0,15,-0.2,0.6]);(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x);>> title('杨婕婕朱艺星');>>xlabel('x=cos(100*t)+cos(3000*t)');因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t);plot(t,x);title('杨婕婕')>> t=-0.1:0.0001:0.1;x=cos(100*t)+cos(3000*t);>> plot(t,x);title('杨婕婕朱艺星');>> xlabel('x=cos(100*t)+cos(3000*t)');(4)、t=0:0.01:200;>> x=cos(0.1*pi*t).*cos(0.8*pi*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x=cos(0.1*pi*t).*cos(0.8*pi*t)');因为为周期函数,可以将横坐标t间隔扩大以便于观察图像>> axis([0,30,-1,1]);2、利用MATLAB 产生下列离散序列并作图。
信号与系统matlab实验及答案
![信号与系统matlab实验及答案](https://img.taocdn.com/s3/m/1273676010a6f524cdbf8514.png)
产生离散衰减正弦序列()π0.8sin 4n x n n ⎛⎫= ⎪⎝⎭, 010n ≤≤,并画出其波形图。
n=0:10;x=sin(pi/4*n).*0.8.^n;stem(n,x);xlabel( 'n' );ylabel( 'x(n)' );用MATLAB 生成信号()0sinc at t -, a 和0t 都是实数,410t -<<,画波形图。
观察并分析a 和0t 的变化对波形的影响。
t=linspace(-4,7); a=1;t0=2;y=sinc(a*t-t0); plot(t,y);t=linspace(-4,7); a=2;t0=2;y=sinc(a*t-t0); plot(t,y);t=linspace(-4,7); a=1;t0=2;y=sinc(a*t-t0); plot(t,y);三组对比可得a 越大最大值越小,t0越大图像对称轴越往右移某频率为f 的正弦波可表示为()()cos 2πa x t ft =,对其进行等间隔抽样,得到的离散样值序列可表示为()()a t nT x n x t ==,其中T 称为抽样间隔,代表相邻样值间的时间间隔,1s f T=表示抽样频率,即单位时间内抽取样值的个数。
抽样频率取40 Hz s f =,信号频率f 分别取5Hz, 10Hz, 20Hz 和30Hz 。
请在同一张图中同时画出连续信号()a x t t 和序列()x n nT 的波形图,并观察和对比分析样值序列的变化。
可能用到的函数为plot, stem, hold on 。
fs = 40;t = 0 : 1/fs : 1 ;% ƵÂÊ·Ö±ðΪ5Hz,10Hz,20Hz,30Hz f1=5;xa = cos(2*pi*f1*t) ; subplot(1, 2, 1) ;plot(t, xa) ;axis([0, max(t), min(xa), max(xa)]) ;xlabel('t(s)') ;ylabel('Xa(t)') ;line([0, max(t)],[0,0]) ; subplot(1, 2, 2) ;stem(t, xa, '.') ;line([0, max(t)], [0, 0]) ;axis([0, max(t), min(xa), max(xa)]) ;xlabel('n') ;ylabel('X(n)') ;频率越高,图像更加密集。
matlab信号与系统实验报告
![matlab信号与系统实验报告](https://img.taocdn.com/s3/m/a320549bac51f01dc281e53a580216fc700a53d9.png)
matlab信号与系统实验报告Matlab信号与系统实验报告引言:信号与系统是电子工程、通信工程等领域中的重要基础课程,对于理解和应用各种信号处理技术具有重要意义。
本实验报告旨在通过使用Matlab软件,对信号与系统的基本概念和实验进行探讨和分析。
实验一:信号的基本特性分析在信号与系统的研究中,我们首先需要了解信号的基本特性。
通过Matlab软件,我们可以方便地对不同类型的信号进行分析和处理。
在本实验中,我们选择了常见的正弦信号和方波信号进行分析。
首先,我们生成了一个频率为1kHz,幅度为2V的正弦信号,并绘制了其时域波形图和频谱图。
通过观察时域波形图,我们可以看到正弦信号具有周期性和连续性的特点。
而通过频谱图,我们可以看到正弦信号在频域上只有一个峰值,说明其是单频信号。
接下来,我们生成了一个频率为1kHz,幅度为2V,占空比为50%的方波信号,并绘制了其时域波形图和频谱图。
与正弦信号不同,方波信号具有分段常值的特点。
通过频谱图,我们可以看到方波信号在频域上存在多个谐波分量,说明其是由多个频率的正弦信号叠加而成。
实验二:系统的时域响应分析在信号与系统中,系统的时域响应是描述系统对输入信号进行处理的重要指标。
通过Matlab软件,我们可以方便地分析和绘制系统的时域响应。
在本实验中,我们选择了一个一阶低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。
通过绘制输入信号和输出信号的时域波形图,我们可以观察到系统对输入信号进行了滤波处理,输出信号的幅度和相位发生了变化。
此外,我们还可以通过改变系统的参数,如截止频率和阶数,来观察系统的时域响应的变化。
通过对比不同参数下的输出信号波形图,我们可以得出不同参数对系统响应的影响。
实验三:系统的频域响应分析除了时域响应,频域响应也是描述系统特性的重要指标。
通过Matlab软件,我们可以方便地进行系统的频域响应分析。
在本实验中,我们选择了一个二阶巴特沃斯低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。
信号与系统MATLAB实验-实验二 Matlab中信号的运算
![信号与系统MATLAB实验-实验二 Matlab中信号的运算](https://img.taocdn.com/s3/m/86eca841a300a6c30c229fe7.png)
1、运用funtool对f(x)=sin(x)/x分别进行信号的尺度变换f(2x)、f(0.5x)和信号的移位运算f(x+1)、f(x-1)操作以及f(0.5x+1),分别记录相应波形。
f(x)=sin(x)/x f(x+1)f(2x) f(x-1)f(0.5x) f(0.5x+1)2、已知两连续时间信号如下图所示,1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式; 2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。
(设定取样时间间隔为dt )【实验思考】:通过不断改变dt 的取值并对比所得到的实验效果,观察当取样时间dt 为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果?3、已知两连续时间信号如下图所示,1)写出信号的函数表达式,并计算f(t)=f1(t)* f2(t)的解析表达式;2)用MATLAB 求f(t)=f1(t)* f2(t),并绘出f(t)的时域波形图。
(设定取样时间间隔为dt)【实验思考】:不断改变dt的取值并对比实验效果,当取样时间dt为多大时,函数conv_cs()的计算结果就是连续时间卷积f(t)=f1(t)* f2(t)的较好近似结果?clear alldt = 0.01;t1 = -3:dt:3;f1 = 2*(u(t1+1) - u(t1-1));figure;stairs(t1,f1);hold allgrid ont2 = -3:dt:3;f2 = u(t2+2)-u(t2-2);stairs(t2,f2)[fn, tn] = conv_cs(f1, t1, f2, t2, dt);plot(tn, fn)grid onlegend('f1', 'f2', 'f1*f2')。
信号与系统-MATLAB综合实验课程设计
![信号与系统-MATLAB综合实验课程设计](https://img.taocdn.com/s3/m/b2eb3c13cdbff121dd36a32d7375a417866fc1d4.png)
信号与系统-MATLAB综合实验课程设计一、课程设计的目的和意义在信号与系统学习中,MATLAB是非常重要的工具。
本课程设计主要目的是让学生通过实验,掌握使用MATLAB进行信号与系统分析和处理的方法和技巧。
同时,课程设计还能够加深学生对信号与系统理论知识的理解和掌握,提高其综合运用能力。
二、课程设计的内容和要求1. 实验一:信号的生成和绘制本实验主要包括以下内容:•生成几种基本信号(如正弦信号、方波信号、三角波信号等)。
•通过MATLAB绘制生成的信号,并加上合适的标注。
要求学生能够掌握信号的生成方法和MATLAB的绘图函数的使用。
2. 实验二:信号的运算与变换本实验主要包括以下内容:•对已有信号进行运算(如加、减、乘、除等)。
•对信号进行卷积、相关等线性变换操作。
•对信号进行傅里叶变换,并绘制幅度谱、相位谱等图形。
要求学生能够掌握信号的运算、变换方法和MATLAB的相应函数的使用。
3. 实验三:系统的分析和建立本实验主要包括以下内容:•对系统进行零极点分析,并绘制零极点图。
•对已有系统进行时域和频域分析(如阶跃响应、冲击响应、幅频响应等)。
要求学生能够掌握系统的分析方法和MATLAB的相应函数的使用。
4. 实验四:信号的滤波和降噪本实验主要包括以下内容:•对信号进行数字滤波(如低通滤波、高通滤波、带通滤波、带阻滤波等)。
•对信号进行去噪处理(如中值滤波、小波变换去噪等)。
要求学生能够掌握信号滤波、降噪方法和MATLAB的相应函数的使用。
三、课程设计的实施流程1.分组。
依据班级人数以及教学设备的数量,安排学生分为若干个小组,每个小组3-4人。
2.模拟分配实验。
询问小组成员们的意见,模拟分配每个小组所要完成的课程设计任务。
3.实验操作。
每个小组根据分配到的实验课程设计,使用MATLAB进行模拟操作。
4.结果展示。
每个小组进行结果展示,介绍自己的设计思路,并展示实验结果。
其他小组成员以及教师进行现场互相交流和讨论。
信号与系统实验__matlab
![信号与系统实验__matlab](https://img.taocdn.com/s3/m/ffa7180c03d8ce2f00662339.png)
信号与系统部分01.分别用MATLAB 表示并绘出下列连续时间信号的波形:2()(2)()t f t e u t -=-02.分别用MATLAB 表示并绘出下列连续时间信号的波形:[]()cos()()(4)2tf t u t u t π=--03.分别用MATLAB 表示并绘出下列离散时间信号的波形:()12()()kf k u k =-04.分别用MATLAB 表示并绘出下列离散时间信号的波形:[]()()(8)f t k u k u k =--05.已知信号f (t)的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。
()f t -06.已知信号f (t)的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。
()f ata =0.507.已知信号f (t)的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。
()f at ,a =208.已知信号f (t)的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。
(0.51)f t +09.已知两信号1()(1)()f t u t u t =+-,2()()(1)f t u t u t =--,求卷积积分12()()()g t f t f t =*。
10.已知两信号1()()f t tu t =,20()()0t tt te u t f t t e-≥⎧=⎨<⎩,求卷积积分12()()()g t f t f t =*。
11.已知{}{}12()1,1,1,2,()1,2,3,4,5f k f k ==,求两序列的卷积和。
12.已知描述系统的微分方程如下,试用理论分析并计算系统的单位冲激响应h(t),并用MATLAB 绘出系统单位冲激响应的波形,验证结果是否相同。
''()4'()4()'()3()y t y t y t f t f t ++=+13.已知描述系统的微分方程如下,试用解析方法求系统的单位冲激响应h(t),并用MATLAB 绘出系统单位冲激响应的波形,验证结果是否相同。
信号与系统 MATLAB实验报告(可打印修改)
![信号与系统 MATLAB实验报告(可打印修改)](https://img.taocdn.com/s3/m/7a03ad82ad02de80d5d8401e.png)
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-20
-15
-10
-5
0
5
10
15
20
对比可知此法做出的图像更加清晰美观。 (2)MATLAB 可以自动地根据曲线数据的范围选择合适的坐标系,从而使得 曲线尽可能清晰地显示出来,一般情况下不必选择坐标系。但是,如果对 MATLAB 自动产生的坐标轴不满意,可以利用 axis 命令对坐标轴进行调整。
title('f=R(t)')
axis([-5 5 -0.5 1.5])
(5) f (t) Sa(t)
ω=1 时:
t=-20:0.01:20 f=sin(t)./t 实现抽样函数
%调用正弦函数sin(),并用sin(t)./t
plot(t,f)
title('f(t)=Sa(t)')
axis([-20,-20,-0.5,1.1])
改进想法:
本题中函数的表示方法都不只一种。如阶跃函数可以借助符号函数来实现
可视化。其程序和结果如下:
t=-5:0.05:5 f=sign(t)
%调用符号函数 sign()
axis([-5,5,-1.1,1.1])
ff=1/2+1/2*f
%运用阶跃函数与符号函数的关系,表示出阶跃函数
ff
plot(t,ff)
实验程序:
(1)
n=-10:20
%设置变量范围,默认步长为1
f=heaviside(n)
x=heaviside(n)-heaviside(n-10) %阶跃函数直接相减
的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。 在 MATLAB 中 t = t1: p: t2 的命令定义时间范围向量,t1 为信号起始时间,t2 为终止时间,p 为时间间隔。
信号与系统 matlab实验报告
![信号与系统 matlab实验报告](https://img.taocdn.com/s3/m/f1b91ba59a89680203d8ce2f0066f5335a816733.png)
信号与系统 matlab实验报告信号与系统 Matlab 实验报告引言:信号与系统是电子信息类专业中的一门重要课程,它研究了信号的产生、传输和处理过程,以及系统对信号的响应和影响。
通过实验,我们可以更直观地理解信号与系统的基本概念和原理,并掌握使用 Matlab 进行信号与系统分析和处理的方法。
实验一:信号的产生与显示在信号与系统课程中,我们首先需要了解不同类型的信号,以及如何产生和显示这些信号。
在 Matlab 中,我们可以使用一些函数来生成常见的信号波形,如正弦波、方波、三角波等。
通过编写简单的 Matlab 程序,我们可以实现信号的产生和显示。
实验二:信号的采样与重构在实际应用中,信号通常以连续时间的形式存在,但在数字系统中需要将其转换为离散时间的信号进行处理。
这就需要进行信号的采样和重构。
在 Matlab 中,我们可以使用采样函数和重构函数来模拟这一过程,并观察采样率对信号重构质量的影响。
实验三:信号的滤波与频谱分析信号滤波是信号处理中的重要环节,它可以去除信号中的噪声和干扰,提高信号质量。
在 Matlab 中,我们可以使用滤波函数来实现不同类型的滤波器,并观察滤波对信号频谱的影响。
此外,我们还可以使用频谱分析函数来研究信号的频谱特性,如频谱密度、功率谱等。
实验四:系统的时域与频域分析系统是信号处理中的重要概念,它描述了信号在系统中的传输和变换过程。
在Matlab 中,我们可以使用系统函数来模拟不同类型的系统,并观察系统对信号的时域和频域响应。
通过实验,我们可以深入理解系统的时域特性和频域特性,如冲击响应、频率响应等。
实验五:信号的调制与解调信号调制是将信息信号转换为调制信号的过程,而解调则是将调制信号恢复为原始信号的过程。
在 Matlab 中,我们可以使用调制函数和解调函数来模拟不同类型的调制和解调方式,如调幅、调频、调相等。
通过实验,我们可以了解不同调制方式的原理和特点,并观察调制和解调对信号的影响。
信号与系统信号基本运算的MATLAB实现实验报告
![信号与系统信号基本运算的MATLAB实现实验报告](https://img.taocdn.com/s3/m/0dfbcd96cc22bcd126ff0c2f.png)
信号与系统实验报告实验一、信号基本运算的MATLAB 实现一、实验目的学习如何利用Matlab 实现信号的基本运算,掌握信号的基本运算的原理,加深对书本知识的理解。
二、实验材料PC 机一台三、实验内容1、(1)编写如图Exercise1.1所示波形的MATLAB 函数。
(2)试画出f(t),f(0.5t),f(1-2t)的波形。
解:程序如下: 实验结果: function yt = f2(t)yt=tripuls(t,4,0.5); t=-3:0.01:5; subplot(311) plot(t,tx(t)) title('f£¨t£©') subplot(312) plot(t,tx(0.5*t)) title('f(0.5t)') subplot(313) plot(t,tx(-2*t)) title('f(-2t)') 2、画出如图exercise1.2所示序列f[2k]、f[-k]和f[k+2],f[k-2]的波形。
并求f[k]的和。
解:程序如下:function f=ls(k)f=3.*(k==-2)+1.*(k==-1)+(-2).*(k==0)+(-1).*(k==1)+2.*(k==2)+(-3).*(k==3);Exercise 1.1-3f[k] kExercise1.2k=-5:0.01:10;subplot(321)stem(k,ls(k)) 实验结果:title('f[k]')subplot(322)stem(k,ls(2*k))title('f[2k]')subplot(323)stem(k,ls(-1*k))title('f[-k]')subplot(324)stem(k,ls(k+2))title('f[k+2]')subplot(325)stem(k,ls(k-2))title('f[k-2]')subplot(326)plot(k,sum(ls(-2:3)))title('Sum f[k]')3、解:程序如下:function y=tx(t)y=0.*(t>=2|t<-1)+(2-t).*(t>=1&t<2)+1.*(t>=-1&t<1); t=-5:0.01:5; 实验结果:ft1=tripuls(t-3,2,0.5);subplot(311)plot(t,ft1)title('f(t)')ft1=tripuls(-t-3,2,0.5);subplot(312)plot(t,ft1)title('f(-t)')ft1=tripuls(-2*t-2,2,0.5);subplot(313)plot(t,ft1)title('f(1-2t)')。
基于MATLAB的信号与系统实验教程
![基于MATLAB的信号与系统实验教程](https://img.taocdn.com/s3/m/99e152644a35eefdc8d376eeaeaad1f346931123.png)
基于MATLAB的信号与系统实验教程MATLAB是一种功能强大的数学软件,广泛应用于信号与系统领域的实验教学中。
本文将介绍一些基于MATLAB的信号与系统实验教程。
一、实验1:MATLAB入门本实验旨在帮助学生快速熟悉MATLAB的基本操作和函数。
学生将学习如何在MATLAB中创建信号、绘制信号波形,并学会使用基本的MATLAB函数和命令对信号进行处理和分析。
二、实验2:连续时间信号的时域分析本实验旨在介绍连续时间信号的时域分析方法,包括信号的平均功率、能量、自相关函数和互相关函数等。
学生将使用MATLAB对具体信号进行时域分析,并观察结果。
三、实验3:离散时间信号的时域分析本实验旨在介绍离散时间信号的时域分析方法,包括离散时间信号的能量、平均功率、自相关函数和互相关函数等。
学生将使用MATLAB对具体信号进行时域分析,并观察结果。
四、实验4:连续时间信号的频域分析本实验旨在介绍连续时间信号的频域分析方法,包括信号的频谱分析、频谱密度估计和滤波器设计等。
学生将使用MATLAB对具体信号进行频域分析,并观察结果。
五、实验5:离散时间信号的频域分析本实验旨在介绍离散时间信号的频域分析方法,包括离散时间信号的频谱分析、频谱密度估计和滤波器设计等。
学生将使用MATLAB对具体信号进行频域分析,并观察结果。
六、实验6:系统的时域分析本实验旨在介绍连续时间系统和离散时间系统的时域分析方法,包括冲击响应、步响应和频率响应等。
学生将使用MATLAB对具体系统进行时域分析,并观察结果。
七、实验7:系统的频域分析本实验旨在介绍连续时间系统和离散时间系统的频域分析方法,包括系统的幅频特性、相频特性和群延迟等。
学生将使用MATLAB对具体系统进行频域分析,并观察结果。
八、实验8:信号滤波器设计本实验旨在介绍连续时间信号滤波器和离散时间信号滤波器的设计方法,包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器等。
学生将使用MATLAB对具体信号进行滤波器设计,并观察结果。
《信号与系统》MATLAB仿真实验讲义
![《信号与系统》MATLAB仿真实验讲义](https://img.taocdn.com/s3/m/f79a1158804d2b160b4ec0bf.png)
《信号与系统》MATLAB仿真实验讲义(第二版)肖尚辉编写宜宾学院电信系电子信息教研室《信号与系统》课程2004年3月 宜宾使用对象:电子专业02级3/4班(本科)实验一 产生信号波形的仿真实验一、实验目的:熟悉MATLAB软件的使用,并学会信号的表示和以及用MATLAB来产生信号并实现信号的可视化。
二、实验时数:3学时+3学时(即两次实验内容)三、实验内容:信号按照自变量的取值是否连续可分为连续时间信号和离散时间信号。
对信号进行时域分析,首先需要将信号随时间变化的规律用二维曲线表示出来。
对于简单信号可以通过手工绘制其波形,但对于复杂的信号,手工绘制信号波形显得十分困难,且难以绘制精确的曲线。
在MATLAB中通常用三种方法来产生并表示信号,即(1)用MATLAB软件的funtool符合计算方法(图示化函数计算器)来产生并表示信号;(2)用MATLAB软件的信号处理工具箱(Signal Processing Toolbox)来产生并表示信号;(3)用MATLAB软件的仿真工具箱Simulink中的信号源模块。
(一) 用MATLAB软件的funtool符合计算方法(图示化函数计算器)来产生并表示信号在MATLAB环境下输入指令funtool,则回产生三个视窗。
即figure No.1:可轮流激活,显示figure No.3的计算结果。
figure No.2:可轮流激活,显示figure No.3的计算结果。
figure No.3:函数运算器,其功能有:f,g可输入函数表达式;x是自变量,在缺省时在[-2pi,2pi]的范围内;自由参数是a;在分别输入完毕后,按下面四排的任一运算操作键,则可在figure No.1或figure No.2产生相应的波形。
学生实验内容:产生以下信号波形3sin(x)、5exp(-x)、sin(x)/x、1-2abs(x)/a、sqrt(a*x)(二) 用MATLAB软件的信号处理工具箱(Signal Processing Toolbox)来产生并表示信号一种是用向量来表示信号,另一种则是用符合运算的方法来表示信号。
信号与系统Matlab实验作业
![信号与系统Matlab实验作业](https://img.taocdn.com/s3/m/fe709b53ba1aa8114531d900.png)
实验一典型连续时间信号和离散时间信号一、实验目的掌握利用Matlab画图函数和符号函数显示典型连续时间信号波形、典型时间离散信号、连续时间信号在时域中的自变量变换。
二、实验内容1、典型连续信号的波形表示(单边指数信号、复指数信号、抽样信号、单位阶跃信号、单位冲击信号)1)画出教材P28习题1-1(3) ()[(63)(63)]t=----的波形图。
f t e u t u t2)画出复指数信号()()j t f t e σω+=当0.4, 8σω==(0<t<10)时的实部和虚部的波形图。
t=0:0.01:10;f1='exp(0.4*t)*cos(8*t)';f2='exp(0.4*t)*sin(8*t)';figure(1)ezplot(f1,t);grid on;figure(2)ezplot(f2,t);grid on;3)画出教材P16图1-18,即抽样信号Sa(t)的波形(-20<t<20)。
t=-10:0.01:10;f='sin(t)/t';ezplot(f,t);grid on;4)用符号函数sign画出单位阶跃信号u(t-3)的波形(0<t<10)。
t=0:0.01:10;f='(sign(t-3)+1)/2';ezplot(f,t);grid on;5)单位冲击信号可看作是宽度为∆,幅度为1/∆的矩形脉冲,即t=t 1处的冲击信号为11111 ()()0 t t t x t t t otherδ∆⎧<<+∆⎪=-=∆⎨⎪⎩画出0.2∆=, t 1=1的单位冲击信号。
t=0:0.01:2;f='5*(u(t-1)-u(t-1.2))';ezplot(f,t);grid on;axis([0 2 -1 6]);2、典型离散信号的表示(单位样值序列、单位阶跃序列、实指数序列、正弦序列、复指数序列)编写函数产生下列序列:1)单位脉冲序列,起点n0,终点n f,在n s处有一单位脉冲。
信号与系统matlab实验报告
![信号与系统matlab实验报告](https://img.taocdn.com/s3/m/ad1dbbc782d049649b6648d7c1c708a1284a0a1f.png)
信号与系统matlab实验报告信号与系统MATLAB实验报告引言信号与系统是电子工程、通信工程和控制工程等领域中的重要基础课程。
通过实验,我们可以更好地理解信号与系统的概念和基本原理,并掌握使用MATLAB进行信号与系统分析的方法。
本报告将介绍我们在信号与系统实验中的实验过程、结果和分析。
实验一:连续时间信号的采样与重构在这个实验中,我们研究了连续时间信号的采样与重构。
首先,我们通过MATLAB生成了一个连续时间信号,并使用采样定理确定了采样频率。
然后,我们对连续时间信号进行采样,并通过重构方法将采样信号还原为连续时间信号。
最后,我们通过观察重构信号与原始信号的相似性来评估重构的效果。
实验二:线性时不变系统的频率响应在这个实验中,我们研究了线性时不变系统的频率响应。
首先,我们通过MATLAB生成了一个输入信号,并设计了一个线性时不变系统。
然后,我们通过将输入信号输入到系统中,并记录输出信号的幅度和相位,从而得到系统的频率响应。
最后,我们绘制了系统的幅频特性和相频特性曲线,并对其进行了分析和讨论。
实验三:离散时间信号的采样与重构在这个实验中,我们研究了离散时间信号的采样与重构。
首先,我们通过MATLAB生成了一个离散时间信号,并使用采样定理确定了采样周期。
然后,我们对离散时间信号进行采样,并通过重构方法将采样信号还原为离散时间信号。
最后,我们通过观察重构信号与原始信号的相似性来评估重构的效果,并讨论了离散时间信号的采样与重构的特点。
实验四:离散时间系统的差分方程在这个实验中,我们研究了离散时间系统的差分方程。
首先,我们通过MATLAB生成了一个输入信号,并设计了一个离散时间系统。
然后,我们通过将输入信号输入到系统中,并根据系统的差分方程计算输出信号。
最后,我们对输入信号和输出信号进行了分析和比较,并讨论了离散时间系统的差分方程的特点和应用。
实验五:连续时间信号的傅里叶变换在这个实验中,我们研究了连续时间信号的傅里叶变换。
信号与系统MATLAB实验
![信号与系统MATLAB实验](https://img.taocdn.com/s3/m/aaf986a3b8d528ea81c758f5f61fb7360b4c2b88.png)
2016-2017学年第一学期信号与系统实验报告班级:姓名:学号:成绩:指导教师:实验一 常见信号的MATLAB 表示及运算一.实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法二.实验原理信号一般是随时间而变化的某些物理量;按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示;若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确;MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具;根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法;在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了;下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法;1.连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应;从严格意义上讲,MATLAB 并不能处理连续信号;在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号;在MATLAB 中连续信号可用向量或符号运算功能来表示;⑴ 向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t 的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔;向量f 为连续信号()f t 在向量t 所定义的时间点上的样值; 说明: plot 是常用的绘制连续信号波形的函数;严格说来,MATLAB 不能表示连续信号,所以,在用plot 命令绘制波形时,要对自变量t 进行取值,MATLAB 会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线;因此,绘制的只是近似波形,而且,其精度取决于t 的取样间隔;t 的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑;例如:图1-1是在取样间隔为p=时绘制的波形,而图1-2是在取样间隔p=时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多;在上面的f=sint . /t 语句中,必须用点除符号,以表示是两个函数对应点上的值相除;⑵ 符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot 等函数来绘出信号的波形; ⑶ 常见信号的MATLAB 表示对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号t 、符号函数sgnt 等,在MATLAB 中这些信号都有专门的表示方法; 单位阶跃信号单位阶跃信号的定义为:10()0t t t ε>⎧=⎨<⎩,单位阶跃信号是信号分析的基本信号之一,在信号与系统分析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式;例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即:2()(1)(1)G t t t εε=+--在MATLAB 中,可通过多种方法得到单位阶跃信号,下面分别介绍; 方法一: 调用Heavisidet 函数在MATLAB 的Symbolic Math Toolbox 中,有专门用于表示单位阶跃信号的函数,即Heavisidet 函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程;首先定义函数Heavisidet 的m 函数文件,该文件名应与函数名同名即;%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为y function y= Heavisidety=t>0; %定义函数体,即函数所执行指令%此处定义t>0时y=1,t<=0时y=0,注意与实际阶跃信号定义的区别; 方法二:数值计算法在MATLAB 中,有一个专门用于表示单位阶跃信号的函数,即stepfun 函数,它是用数值计算法表示的单位阶跃函数()t ε;其调用格式为: stepfunt,t0其中,t 是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零;有趣的是它同时还可以表示单位阶跃序列()k ε,这只要将自变量以及取样间隔设定为整数即可;有关单位阶跃序列()k ε的表示方法,我们后面有专门论述,下面通过一个例子来说明如何调用stepfun 函数来表示单位阶跃函数; 符号函数符号函数的定义为:10sgn()1t t t >⎧=⎨-<⎩在MATLAB 中有专门用于表示符号函数的函数sign ,由于单位阶跃信号 t和符号函数两者之间存在以下关系:1122()sgn()t t ε=+,因此,利用这个函数就可以很容易地生成单位阶跃信号;下面举个例子来说明如何利用sign 函数生成单位阶跃信号,并同时绘制其波形; 2.离散时间信号离散时间信号又叫离散时间序列,一般用()f k 表示,其中变量k 为整数,代表离散的采样时间点采样次数;三.实验内容1.分别用MATLAB 的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形:2[]()cos()()(4)2tf t t t πεε=--syms t;f=sym'costpit/2heavisidet-heavisidet-4'; ezplotf,-2,8; 423()(2)f t t t ε=+syms t;f=sym'2/3theavisidet+2'; ezplotf,-4,8;2.分别用MATLAB 表示并绘出下列离散时间信号的波形: 2[]()()(8)f t k k k εε=-- t=0:8; t1=-10:15;f=zeros1,10,t,zeros1,7; stemt1,faxis-10,15,0,10 4 ()(2)f k k ε=-+t=-20:10;f=ones1,23,zeros1,8; stemt,f stemt,f3.已知信号f t 的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形; 2(2)f t -t=-1::4; t0=0; t1=1; t2=2;ut=2stepfunt,t0-2stepfunt,t1+stepfunt,t1-stepfunt,t2;plott-2,ut axis-3,2,0,3 4(0.51)f t +t=-1::4;t0=0;t1=1; t2=2;ut=2stepfunt,t0-2stepfunt,t1+stepfunt,t1-stepfunt,t2; plott+1,ut axis-1,2,0,44.已知两信号1()(1)()f t t t εε=+-,2()()(1)f t t t εε=--,求卷积积分12()()()g t f t f t =*,并与例题比较;程序清单:t1=-1::0; t2=0::1; t3=3::5;f1=onessizet1; f2=onessizet2; g=convf1,f2; plott3,g 信号波形:5.已知两信号1()()f t t t ε=,20()()0t tt te t f t t eε-≥⎧=⎨<⎩,求卷积积分12()()()g t f t f t =*;程序代码:t1=0::5;t2=-5::5; t3=-5::10; f1=t1;f2=expt2.t2<0+t2.exp-t2.t2>=0; g=convf1,f2; plott3,g;运行结果截图:6.已知{}{}12()1,1,1,2,()1,2,3,4,5f k f k ==,求两序列的卷积和 ; 程序清单:f1=1,1,1,2,0; f2=1,2,3,4,5; f=convf1,f2; x=0:8;stemx,f,'filled' 信号波形:实验二 LTI 系统的响应一、实验目的1.熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2.熟悉连续离散时间系统在任意信号激励下响应的求解方法3.熟悉应用MATLAB 实现求解系统响应的方法二、实验原理1.连续时间系统对于连续的LTI 系统,当系统输入为ft ,输出为yt ,则输入与输出之间满足如下的线性常系数微分方程:()()0()()nmi j i j i j a y t b f t ===∑∑,当系统输入为单位冲激信号δt 时产生的零状态响应称为系统的单位冲激响应,用ht 表示;若输入为单位阶跃信号εt 时,系统产生的零状态响应则称为系统的单位阶跃响应,记为gt ,如下图所示;系统的单位冲激响应ht 包含了系统的固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关;我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生的响应;因此,求解系统的冲激响应ht 对我们进行连续系统的分析具有非常重要的意义;在MATLAB 中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse 和step ;如果系统输入为ft ,冲激响应为ht ,系统的零状态响应为yt ,则有:()()()y t h t f t =*;若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应;但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐;在MATLAB 中,应用lsim 函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应;lsim 函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图;2.离散时间系统LTI 离散系统中,其输入和输出的关系由差分方程描述:00()()n mi ji j a y k i bf k j ==+=+∑∑前向差分方程()()nmi ji j a y k i bf k n j ==-=-+∑∑ 后向差分方程当系统的输入为单位序列δk 时产生的零状态响应称为系统的单位函数响应,用hk 表示;当输入为 εk 时产生的零状态响应称为系统的单位阶跃应,记为:gk ,如下图所示;如果系统输入为ek ,冲激响应为hk ,系统的零状态响应为y k ,则有:()()()y k h k f k =*;与连续系统的单位冲激响应ht 相类似,离散系统的单位函数响应hk 也包含了系统的固有特性,与输入序列无关;我们只要知道了系统的单位函数响应,即可求得系统在不同激励信号作用下产生的响应;因此,求解系统的单位函数响应hk 对我们进行离散系统的分析也同样具有非常重要的意义;MATLAB 中为用户提供了专门用于求解离散系统单位函数响应, 并绘制其时域波形的函数impz ;同样也提供了求离散系统响应的专用函数filter ,该函数能求出由差分方程所描述的离散系统在指定时间范围内的输入序列作用时,产生的响应序列的数值解;当系统初值不为零时,可以使用dlsim 函数求出离散系统的全响应,其调用方法与前面连续系统的lsim 函数相似;另外,求解离散系统阶跃响应可以通过如下两种方法实现:一种是直接调用专用函数dstep ,其调用方法与求解连续系统阶跃响应的专用函数step 的调用方法相似;另一种方法是利用求解离散系统零状态响应的专用函数filter ,只要将其中的激励信号看成是单位阶跃信号εk 即可;三、实验内容1. 已知描述系统的微分方程和激励信号et 分别如下,试用解析方法求系统的单位冲激响应ht 和零状态响应rt ,并用MATLAB 绘出系统单位冲激响应和系统零状态响应的波形,验证结果是否相同;①''()4'()4()'()3()y t y t y t f t f t ++=+;()()t f t e t ε-=程序清单:a=1 4 4;b=1 3; impulseb,a,10 p=;t=0:p:10; x=exp-1t;y=filterb,a,xsubplot2,1,1,impulseb,a,10 subplot2,1,2,lsimb,a,x,t②''()2'()26()'()y t y t y t f t ++=;()()f t t ε= 单位冲激响应程序代码: a=1 2 26;b=1;subplot2,1,1, impulseb,a,4 subplot2,1,2, stepb,a,4 运行结果截图:零状态响应程序代码: a=1 2 26;b=1; p1=;t1=0:p1:10; x1=t1;lsimb,a,x1,t1 运行结果截图:③''()4'()3()()y t y t y t f t ++=;2()()t f t e t ε-=a=1 4 3;b=1; p=;t=0:p:10; x=exp-2ty=filterb,a,xsubplot2,1,1,impulseb,a,10 subplot2,1,2,lsimb,a,x,t④如下图所示的电路中,已知1234()R R R ===Ω,121()L L H ==,且两电感上初始电流分别为12(0)2(),(0)0()i A i A ==,如果以电阻3R 上电压()y t 作为系统输出,请求出系统在激励()12()f t t ε=v 作用下的全响应;程序清单:A=-8 4;4 -8;B=1;0;C=-4 4;D=0; x0=2;0; t=0::10;E=12.onessizet;r,x=lsimA,B,C,D,E,t,x0; plott,r信号波形:阶跃响应程序代码: a=1,-5/6,1/6;b=1,0,-1; k=0:20;x=heavisidek; y=filterb,a,xsubplot2,1,1,stemk,x title'输入序列'subplot2,1,2,stemk,y title'输出序列' 运行结果截图:④一带通滤波器可由下列差分方程描述:()0.81(2)()(2)y k y k f k f k +-=--,其中()f k 为系统输入, ()y k 为系统输出;请求出当激励[]()1010cos(/2)10cos()()f k kn kn k ε=++选取适当的n 值时滤波器的稳态输出;a=1,0,81/100; b=1,0,-1; k=0:20;x=10+10.cos1/2.k+10.cosk; y=filterb,a,xsubplot3,1,1,impzb,a,0:20, subplot3,1,2,dstepb,a,0:20, subplot3,1,3,stemk,y实验三连续时间信号的频域分析一、实验目的1.熟悉傅里叶变换的性质 2.熟悉常见信号的傅里叶变换3.了解傅里叶变换的MATLAB 实现方法二、实验原理傅里叶变换是信号分析 的最重要的内容之一;从已知信号()f t 求出相应的频谱函数()F j ω的数学表示为:()F j ω()j t f t e dt ω∞--∞=⎰()f t 的傅里叶变换存在的充分条件是()f t 在无限区间内绝对可积,即()f t 满足下式: ()f t dt ∞-∞<∞⎰但上式并非傅里叶变换存在的必要条件;在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换;傅里叶反变换的定义为:1()()2j tf t F j e d ωωωπ∞-∞=⎰; 在这一部分的学习中,大家都体会到了这种数学运算的麻烦;在MATLAB 语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB 中实现;在MATLAB 中实现傅里叶变换的方法有两种,一种是利用MATLAB 中的Symbolic Math Toolbox 提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法;1.直接调用专用函数法①在MATLAB 中实现傅里叶变换的函数为: F=fourier f对ft 进行傅里叶变换,其结果为FwF =fourierf,v对ft 进行傅里叶变换,其结果为FvF=fourier f,u,v对fu 进行傅里叶变换,其结果为Fv②傅里叶反变换f=ifourier F 对Fw 进行傅里叶反变换,其结果为fx f=ifourierF,U对Fw 进行傅里叶反变换,其结果为fu f=ifourier F,v,u 对Fv 进行傅里叶反变换,其结果为fu由于MATLAB 中函数类型非常丰富,要想了解函数的意义和用法,可以用mhelp 命令;如在命令窗口键入:mhelp fourier 回车,则会得到fourier 的意义和用法; 注意:1在调用函数fourier 及ifourier 之前,要用syms 命令对所有需要用到的变量如t,u,v,w 等进行说明,即要将这些变量说明成符号变量;对fourier 中的f 及ifourier 中的F 也要用符号定义符sym 将其说明为符号表达式;2采用fourier 及fourier 得到的返回函数,仍然为符号表达式;在对其作图时要用ezplot 函数,而不能用plot 函数;3fourier 及fourier 函数的应用有很多局限性,如果在返回函数中含有δω等函数,则ezplot 函数也无法作出图来;另外,在用fourier 函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达的式子,则此时当然也就无法作图了;这是fourier 函数的一个局限;另一个局限是在很多场合,尽管原时间信号ft 是连续的,但却不能表示成符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求的频谱函数只是一种近似值;三、 实验内容1.编程实现求下列信号的幅度频谱1求出1()(21)(21)f t t t εε=+--的频谱函数F1jω,请将它与上面门宽为2的门函数()(1)(1)f t t t εε=+--的频谱进行比较,观察两者的特点,说明两者的关系;f1t 函数程序代码: syms t w;Gt=sym'Heaviside2t+1-Heaviside2t-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; FFP=absFFw;ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0 ; f1t 函数图像: 门函数程序代码: syms t w;Gt=sym'Heavisidet+1-Heavisidet-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise'; FFP=absFFw;ezplotFFP,-10pi 10pi;grid; axis-10pi 10pi 0 ; 门函数图像:2 三角脉冲21||||1()0||1t t f t t -≤⎧=⎨>⎩程序清单:f2t 函数程序代码:syms t wGt=sym'1+tHeavisidet+1-Heavisidet+1-tHeavisidet-Heavisidet-1'; Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise';FFP=absFFw;ezplotFFP,-10pi 10pi;grid;axis-10pi 10pi 0 ;f2t 函数图像:3 单边指数信号 3()()t f t e t ε-=程序清单:syms t wGt=sym'exp-1theavisidet';Fw=fourierGt,t,w;FFw=maple'convert',Fw,'piecewise';FFP=absFFw; ezplotFFP,-7pi 7pi;grid;axis-7pi 7pi 0信号波形:4 高斯信号23()t f t e -=程序清单:syms t w;Gt=exp-t.^2;Fw=fourierGt,t,wFFP=absFwezplotFw,-30 30;grid;axis-30 30 0 2信号波形:2.利用ifourier 函数求下列频谱函数的傅氏反变换 122()16F j j ωωω=-+ 程序清单:syms t wFw=sym '-j2w/16+w^2';ft=ifourier Fwft=ifourierFw,w,t;运行结果:ft=-jexp-4absxsignx1i222()58()()65j jF jj jωωωωω+-=++syms t wFw=sym'jw^2+5jw-8/jw^2+6jw+5';ft=ifourierFwft=ifourierFw,w,t;运行结果:ft =2pidiracx + piexp-x1i/jsignimag1/j3i/j -piexp-x5i/jsignimag1/j2i/j - piexp-x1i/jsignx3i/j +piexp-x5i/jsignx2i/j/2pi实验四离散信号与系统的时域分析一、实验目的1.学会用MATLAB表示常用离散信号的方法;2.学会用MATLAB实现离散信号卷积的方法;3.学会用MATLAB求解离散系统的单位响应;4.学会用MATLAB求解离散系统的零状态响应;二、实验原理1.离散信号的MATLAB表示表示离散时间信号fk需要两个行向量,一个是表示序号k= ,一个是表示相应函数值f= ,画图命令是stem;2.离散信号的卷积和两个有限长序列f1,f2卷积可调用MATLAB函数conv,调用格式是f=convf1,f2, f是卷积结果,但不显示时间序号,可自编一个函数dconv给出f 和k,并画图;3.离散系统的单位响应MATLAB提供画系统单位响应函数impz,调用格式是impzb,a 式中b和a是表示离散系统的行向量;impzb,a,n 式中b和a是表示离散系统的行向量,时间范围是0~n;impzb,a,n1,n2 时间范围是n1~n2 ;y=impzb,a,n1,n2 由y给出数值序列;4.离散系统的零状态响应MATLAB提供求离散系统零状态响应数值解函数filter,调用格式为filterb,a,x,式中b和a是表示离散系统的向量,x是输入序列非零样值点行向量,输出向量序号同x一样;三、上机实验内容1.验证实验原理中程序离散信号的MATLAB表示例2-1正弦序列信号 正弦序列信号可直接调用MATLAB 函数cos,例)cos(ϕω+k ,当ωπ/2是整数或分数时,才是周期信号;画)8/cos(ϕπ+k ,)2cos(k 波形程序是:k=0:40;subplot2,1,1stemk,coskpi/8,'filled'title'coskpi/8'subplot2,1,2stemk,cos2k,'filled'title'cos2k'2.已知)2(2)1(3)()2()1(2)(2-+-+=-+--k f k f k f k y k y k y ,画单位响应波形;a=2,-2,1;b=1,3,2;impzb,aimpzb,a,60impzb,a,-10:403.已知)()2(25.0)1()(k f k y k y k y =-+-+,输入)()(k t f ε=,画输出波形,范围0~15;a=1 1 ;b=1 ;t=0:15;x=t;y=filterb,a,xsubplot2,1,1stemt,xtitle'输入序列'subplot2,1,2stemt,ytitle'响应序列'实验五 连续信号与系统的S 域分析一、实验目的1. 熟悉拉普拉斯变换的原理及性质2. 熟悉常见信号的拉氏变换3. 了解正/反拉氏变换的MATLAB 实现方法和利用MATLAB 绘制三维曲面图的方法4. 了解信号的零极点分布对信号拉氏变换曲面图的影响及续信号的拉氏变换与傅氏变换的关系二、实验原理拉普拉斯变换是分析连续时间信号的重要手段;对于当t ∞时信号的幅值不衰减的时间信号,即在ft 不满足绝对可积的条件时,其傅里叶变换可能不存在,但此时可以用拉氏变换法来分析它们;连续时间信号ft 的单边拉普拉斯变换Fs 的定义为: 拉氏反变换的定义为:1()()2j st j f t F s e ds j σωσωπ+-=⎰显然,上式中Fs 是复变量s 的复变函数,为了便于理解和分析Fs 随s 的变化规律,我们将Fs 写成模及相位的形式:()()()j s F s F s e ϕ=;其中,|Fs|为复信号Fs 的模,而()s ϕ为Fs 的相位;由于复变量s=σ+jω,如果以σ为横坐标实轴,jω为纵坐标虚轴,这样,复变量s 就成为一个复平面,我们称之为s 平面;从三维几何空间的角度来看,|()|F s 和()s ϕ分别对应着复平面上的两个曲面,如果绘出它们的三维曲面图,就可以直观地分析连续信号的拉氏变换Fs 随复变量s 的变化情况,在MATLAB 语言中有专门对信号进行正反拉氏变换的函数,并且利用 MATLAB 的三维绘图功能很容易画出漂亮的三维曲面图;①在MATLAB 中实现拉氏变换的函数为:F=laplace f 对ft 进行拉氏变换,其结果为FsF=laplace f,v对ft 进行拉氏变换,其结果为FvF=laplace f,u,v对fu 进行拉氏变换,其结果为Fv②拉氏反变换f=ilaplace F对Fs 进行拉氏反变换,其结果为ftf=ilaplaceF,u 对Fw 进行拉氏反变换,其结果为fuf=ilaplaceF,v,u 对Fv 进行拉氏反变换,其结果为fu注意: 在调用函数laplace 及ilaplace 之前,要用syms 命令对所有需要用到的变量如t,u,v,w 等进行说明,即要将这些变量说明成符号变量;对laplace 中的f 及ilaplace 中的F 也要用符号定义符sym 将其说明为符号表达式;三、实验内容1.求出下列函数的拉氏变换式,并用MATLAB 绘制拉氏变换在s 平面的三维曲面图① 3()2()5()t t f t e t e t εε--=+函数程序代码:syms t sft=sym'2exp-tHeavisidet+5exp-3tHeavisidet';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=2/s+1+5/s+3;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:② ()()(2)f t t t εε=--函数程序代码:syms t sft=sym'Heavisidet-Heavisidet-2';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=1/s-exp-2s/s;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:③ 3()sin()()t f t e t t ε-=函数程序代码:syms t sft=sym'exp-3tsintHeavisidet';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs=1/s+3^2+1;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:④ []()sin()()(2)f t t t t πεε=--函数程序代码:syms t sft=sym'sinpitHeavisidet-Heavisidet-2';Fs=laplaceft运算结果:绘制三维曲面图的程序代码:syms x y ss=x+iy;FFs= pi/s^2+pi^21/s-exp-2s/s;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运算结果截图:2. 已知信号的拉氏变换如下,请用MATLAB 画出其三维曲面图,观察其图形特点,说出函数零极点位置与其对应曲面图的关系,并且求出它们所对应的原时间函数f t ①22(3)(3)()(5)(16)s s F s s s -+=-+ 函数程序代码:syms x y ss=x+iy;FFs=2s-3s+3/s-5s^2+16;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运行结果截图:求原函数的程序代码:syms t sFs =sym'2s-3s+3/s-5s^2+16'ft=ilaplaceFs原函数:ft = 50cos4t/41 + 32exp5t/41 + 125sin4t/82 ②(1)(3)()(2)(5)s s F s s s s ++=++ 函数程序代码:syms x y ss=x+iy;FFs=s+1s+3/ss+2s+5;FFss=absFFs;ezmeshFFss;ezsurfFFss;colormaphsv;运行结果截图:求原函数的程序代码:syms t sFs =sym's+1s+3/ss+2s+5'ft=ilaplaceFs原函数:ft = exp-2t/6 + 8exp-5t/15 + 3/103. 已知连续时间信号[]()s(2)()(4)f t co t t t πεε=--,请分别求出该信号的拉氏变换()F s 及其傅里叶变换()F j ω,并用MATLAB 绘出()F s 的曲面图及振幅频谱()F j ω的波形,观察()F s 的曲面图在虚轴上的剖面图,并将它与信号的振幅频谱曲线进行比较,分析两者的对应关系;1拉氏变换:程序代码:syms t sft=sym'cos2pitHeavisidet-Heavisidet-4';Fs=laplaceft运算结果:Fs=laplaceHeavisidet, t, s-pi2i/2 + laplaceHeavisidet, t, s+pi2i/2 - laplaceHeavisidet - 4, t, s - pi2i/2 - laplaceHeavisidet - 4, t, s + pi2i/22傅里叶变换:程序代码:syms t wGt=sym'cos2pitHeavisidet-Heavisidet-4';Fw=fourierGt运算结果:Fw = fouriercos2pitHeavisidet, t, w - fourierHeavisidet - 4cos2pit, t, w四、总结报告由于平时都是在上课过程中学习理论知识,而这次实验是在理论知识的基础上来进行实验操作,但并是不全是上课时学习的理论知识,也存在许多的新知识;所以对于这次把上课时的理论知识并结合新知识一起应用于实践操作来说是有点困难的; 信号与系统的实验不同于大物实验,一开始说可以多人合作完成的实验,到最后是一个人单独完成;在为数不多的四次实验中,我深深感受到了团队合作在实验中的重要性;在自己对自己写出的代码,运行出现错误的时候,两个人或者多个人对实验的共同理解是实验高效、误差小完成的基础;参考文献:MATLAB应用大全MATLAB无师自通。
信号与系统 matlab实验报告
![信号与系统 matlab实验报告](https://img.taocdn.com/s3/m/9db7ebfb1b37f111f18583d049649b6649d7094f.png)
信号与系统 matlab实验报告《信号与系统 Matlab实验报告》摘要:本实验报告通过使用 Matlab 软件进行信号与系统实验,探讨了信号与系统在数字领域的应用。
实验结果表明,Matlab 软件具有强大的信号处理和系统分析功能,能够有效地进行信号与系统的模拟和分析。
引言:信号与系统是电子工程领域中的重要基础课程,它研究了信号的产生、传输和处理,以及系统对信号的响应和影响。
在数字领域,信号与系统的理论和方法也得到了广泛的应用。
Matlab 软件作为一种强大的数学计算工具,为信号与系统的模拟和分析提供了便利和高效的途径。
实验一:信号的生成与显示在本实验中,我们首先使用 Matlab 软件生成了几种常见的信号,包括正弦信号、方波信号和三角波信号。
通过调整信号的频率、幅度和相位等参数,我们观察了信号的变化,并利用 Matlab 的绘图功能将信号图形显示出来。
实验结果表明,Matlab 软件能够方便地生成各种类型的信号,并能够直观地显示信号的波形和特性。
实验二:信号的采样与重构在本实验中,我们使用 Matlab 软件对信号进行了采样和重构。
我们首先对一个连续信号进行了离散采样,然后利用 Matlab 的插值函数对采样信号进行了重构。
实验结果表明,采样和重构过程中存在信号失真和频率混叠等问题,但通过适当的采样和重构方法,我们能够有效地还原原始信号。
实验三:系统的响应与分析在本实验中,我们使用 Matlab 软件对系统的响应进行了分析。
我们构建了几种常见的系统模型,包括线性时不变系统和滤波器系统,然后利用 Matlab 的系统分析工具对系统的频率响应、相位响应和单位脉冲响应等进行了分析。
实验结果表明,Matlab 软件能够有效地进行系统的模拟和分析,为系统设计和优化提供了有力的支持。
结论:通过本实验,我们深入了解了信号与系统在数字领域的应用,并掌握了使用 Matlab 软件进行信号与系统模拟和分析的方法。
信号与系统MATLAB实验全
![信号与系统MATLAB实验全](https://img.taocdn.com/s3/m/c99766840029bd64783e2c6e.png)
实验篇 信号与系统实验指导实验一、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 函数的功能和使用方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信号与系统MATLAB实践》第一次上机作业实验一、熟悉MATLAB基本操作三、基本序列运算1.数组的加减乘除和乘方运算A=[1 2 3];B=[4 5 6];C=A+B;D=A-B;E=A.*B;F=A./B;G=A.^B;subplot(2,4,1);stem(A)subplot(2,4,2);stem(B)subplot(2,4,3);stem(C)subplot(2,4,4);stem(D)subplot(2,4,5);stem(E)subplot(2,4,6);stem(F)subplot(2,4,7);stem(G)2.绘制函数波形(1)t=0:0.001:10x=3-exp(-t);plot(t,x)ylabel('f(t)');xlabel('t');title('(1)');(2)t=0:0.001:10x=5*exp(-t)+3*exp(-2*t);plot(t,x)ylabel('f(t)');xlabel('t');title('(2)');(3)t=0:0.001:3x=exp(-t).*sin(2*pi*t); plot(t,x)ylabel('f(t)');xlabel('t');title('(3)');(4)t=0:0.001:3x=sin(3*t)./(3*t);plot(t,x) ylabel('f(t)'); xlabel('t'); title('(4)');(5)k=1:1:6 x=(-2).^(-k); stem(k) xlabel('k'); ylabel('f(k)'); title('(5)');(6)k=0:1:4 x=exp(k); stem(k) xlabel('k'); ylabel('f(k)'); title('(6)');(7)k=1:1:99 x=k;stem(k)ylabel('f(k)');title('(7)');四、利用MATLAB求解线性方程组。
1. a=[2 3 1;1 1 1;3 -1 -1];b=[11 6 -2]';x=inv(a)*bx =1.00002.00003.00002. a=[1 1 1;1 -2 1;1 2 3];b=[2 -1 -1]';x=inv(a)*bx =3.00001.0000-2.00003. a=[1 1 0;0 1 1;1 0 1];b=[27 33 30]';x=inv(a)*bx =1518实验二、信号的运算二、编写实现下列离散信号运算函数的程序,并画出波形。
1. k=0:100x=sin(k);stem(x)xlabel('k');ylabel('f(k)');title('2');2. k=0:100x=sin(k)+sin(pi*k);stem(x)xlabel('k');ylabel('f(k)');title('2');3. k=3:103 x=k.*sin(k); stem(x) xlabel('k'); ylabel('f(k)'); title('3');4. function f=fun(k)for i=1:100k(i)=i-50;if k(i)<0f(i)=(-1).^k(i);else f(i)=(-1).^k(i)+0.5.^k(i);endendstem(k,f)xlabel('k');ylabel('f(k)');title('4');七、编写一个计算两个离散序列的卷积和的程序,并用其计算下列卷积的和。
1. f1=[1 1 1 1];f2=[1 0.5 0.25 0.125 0.0625];conv(f1,f2)ans =1.0000 1.5000 1.7500 1.8750 0.9375 0.4375 0.1875 0.06252. f1=[1 1 1 1];f2=[3 2 1];conv(f1,f2)ans =3 5 6 6 3 1实验三、信号的谱分析二、1. clc; clear all;x=[1,2,3,4,5,6,6,5,4,3,2,1]; dtft=zeros(70); for i=1:70w(i)=(i-35)/10; for k=1:12dtft(i)=dtft(i)+x(k)*exp(-j*(k-1)*w(i)); end endsubplot(1,2,1);plot(w,abs(dtft));xlabel('w');ylabel('DTFT');title('幅频特性'); subplot(1,2,2);plot(w,angle(dtft));xlabel('w');ylabel('DTFT');title('相频特性');-4-2024051015202530354045wD T F T幅频特性-4-2024-4-3-2-101234wD T F T相频特性2. clc; clear all; for i=1:120 if i==10 x(i)=1; elseif i==20x(i)=2;elseif i==30x(i)=3;elseif i==40x(i)=4;elseif i==50x(i)=5;elseif i==60x(i)=6;elseif i==70x(i)=6;elseif i==80x(i)=5;elseif i==90x(i)=4;elseif i==100x(i)=3;elseif i==110x(i)=2;elseif i==120x(i)=1;else x(i)=0;endend% x=[1,2,3,4,5,6,6,5,4,3,2,1];%dtft=zeros(150);for i=1:120w(i)=(i-40)/10;endG=fft(x);subplot(1,2,1);plot(w(1:80),abs(G(1:80)));xlabel('w');ylabel('DFT');title('幅频特性'); subplot(1,2,2);plot(w(1:80),angle(G(1:80)));xlabel('w');ylabel('DFT');title('相频特性');-4-20240510********354045wD F T幅频特性-4-2024-4-3-2-101234wD F T相频特性3. %DTFTclc;clear all;x=[1,2,3,4,5,6,6,5,4,3,2,1]; dtft=zeros(70); for i=1:70w(i)=(i-35)/10; for k=1:12dtft(i)=dtft(i)+x(k)*exp(-j*(k-1)*w(i)); end endfigure;plot(w,abs(dtft),'b');xlabel('w');ylabel('DTFT or DFT');title('幅频特性'); hold on%DFT clc;clear all; for i=1:120 if i==10 x(i)=1; elseif i==20 x(i)=2; elseif i==30x(i)=3;elseif i==40x(i)=4;elseif i==50x(i)=5;elseif i==60x(i)=6;elseif i==70x(i)=6;elseif i==80x(i)=5;elseif i==90x(i)=4;elseif i==100x(i)=3;elseif i==110x(i)=2;elseif i==120x(i)=1;else x(i)=0;endendfor i=1:120w(i)=(i-40)/10;endG=fft(x);hold on;plot(w(1:80),abs(G(1:80)),'r');xlabel('w');ylabel('DTFT or DFT');title('幅频特性');-4-3-2-101234051015202530354045wD T F T o r D F T幅频特性三、分别用数值计算法和DFT 法,计算下列信号的频谱,并画出其幅度频谱和相位频谱。
1.数值计算 %fun111.mfunction y=fun111(t) [M,N]=size(t); for i=1:Nif((t(i)>-pi)&&(t(i)<0)) y(i)=pi+t(i);elseif ((t(i)>0)&&(t(i)<pi)) y(i)=pi-t(i); elsey(i)=0 end end%new111.m clear all clcfor i=1:1000w(i)=(i-1)/25;F= @(t) fun111(t).*exp(-j*w(i).*t);G(i)=quad(F,0,1); endsubplot(1,2,1);plot(w,abs(G));xlabel('w');ylabel('G');title('数值计算幅度频谱'); subplot(1,2,2);plot(w,angle(G));xlabel('w');ylabel('Fi');title('数值计算相位频谱');0102030400.511.522.53wG数值计算幅度频谱010203040-2.5-2-1.5-1-0.5wF i数值计算相位频谱DFT 法 %fun1.mfunction y=fun1(x) if((-pi<x) && (x<0)) y=pi+x;elseif ((0<x) && (x<pi)) y=pi-x; elsey=0 end%new.m clear all clcfor i=1:1000g(i)=fun1(2/1000*i-1); w(i)=(i-1)*0.2*pi;for i=1001:10000 g(i)=0;w(i)=(i-1)*0.2*pi; endG=fft(g)/1000; subplot(1,2,1);plot(w(1:50),abs(G(1:50)));xlabel('w');ylabel('G');title('DFT 幅度频谱'); subplot(1,2,2);plot(w(1:50),angle(G(1:50)))xlabel('w');ylabel('Fi');title('DFT 相位频谱');0102030400.511.522.53wGDFT 幅度频谱010203040-3.5-3-2.5-2-1.5-1-0.5wF iDFT 相位频谱2.数值计算 %fun222.mfunction y=fun222(t) [M,N]=size(t); for i=1:Nif (t(i)<1) && (t(i)>-1) y(i)=cos(pi*(t(i))/2); elsey(i)=0; end%new222.m clear all clcfor i=1:1000w(i)=(i-1)/25;F= @(t) fun222(t).*exp(-j*w(i).*t); G(i)=quad(F,0,1); endsubplot(1,2,1);plot(w,abs(G));xlabel('w');ylabel('G');title('数值计算幅度频谱'); subplot(1,2,2);plot(w,angle(G));xlabel('w');ylabel('Fi');title('数值计算相位频谱');1020304000.10.20.30.40.50.60.7wG数值计算幅度频谱10203040-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.20wF i数值计算相位频谱DFT 法 %fun2.mfunction y=fun2(x) if x<1 && x>-1 y=cos(pi*x/2); elsey=0; end%new2.m for i=1:1000g(i)=fun2(2/1000*i-1); w(i)=(i-1)*0.2*pi; endfor i=1001:10000 g(i)=0;w(i)=(i-1)*0.2*pi; endG=fft(g)/1000; subplot(1,2,1);plot(w(1:50),abs(G(1:50)));xlabel('w');ylabel('G');title('幅度频谱'); subplot(1,2,2);plot(w(1:50),angle(G(1:50)))xlabel('w');ylabel('Fi');title('相位频谱');0102030400.10.20.30.40.50.60.7wGDFT 幅度频谱010203040-4-3-2-1123wF iDFT 相位频谱3.数值计算 %fun333.mfunction y=fun333(t) [M,N]=size(t); for i=1:Nif (t(i)<0) && (t(i)>-1) y(i)=1;elseif t(i)>0 && t(i)<1 y(i)=-1; elsey(i)=0; end end end%new333.m clear all clcfor i=1:1000w(i)=(i-1)/25;F= @(t) fun333(t).*exp(-j*w(i).*t); G(i)=quad(F,0,5); endsubplot(1,2,1);plot(w,abs(G));xlabel('w');ylabel('G');title('数值计算幅度频谱'); subplot(1,2,2);plot(w,angle(G));xlabel('w');ylabel('Fi');title('数值计算相位频谱');1020304000.10.20.30.40.50.60.70.80.91wG数值计算幅度频谱1020304000.511.522.533.5wF i数值计算相位频谱DFT法%fun3.mfunction y=fun3(x)if x<0 && x>-1y=1;elseif x>0 && x<1y=-1;elsey=0end%new.mfor i=1:1000g(i)=fun3(2/1000*i-1);w(i)=(i-1)*0.2*pi;endfor i=1001:10000g(i)=0;w(i)=(i-1)*0.2*pi;endG=fft(g)/1000;subplot(1,2,1);plot(w(1:50),abs(G(1:50)));xlabel('w');ylabel('G');title('DFT幅度频谱'); subplot(1,2,2);plot(w(1:50),angle(G(1:50)))xlabel('w');ylabel('Fi');title('DFT相位频谱');01020304000.10.20.30.40.50.60.70.8w G DFT 幅度频谱010203040-4-3-2-10123w F i DFT 相位频谱。