信号与系统的时频域特性分析matlab实验
- 格式:doc
- 大小:222.50 KB
- 文档页数:8
实验一 基本信号的产生与运算一、 实验目的学习使用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 产生下列离散序列并作图。
实验1 利用matlab进行系统的时域分析一.实验目的:1.了解离散时间序列卷积与的matlab实现;2.利用卷积与求解系统的零状态响应;二.实验原理:1.连续时间系统零状态响应的求解连续时间LTI系统以常系数微分方程描述,系统的零状态响应可通过求解初始状态为零的微分方程得到。
在MATLAB中,控制系统工具箱提供了一个用于求解零初始状态微分方程数值解的函数lsim。
其调用方式为y= lsim( sys,x,t)式中t表示计算系统响应的抽样点向量,x就是系统输入信号向量,sys就是连续时间LTI系统模型,用来表示微分方程、差分方程、状态方程。
在求解微分方程时,微分方程的连续时间LTI系统模型sys要借助tf函数获得,其调用方式为sys= tf(b,a)式中b与a分别为微分方程右端与左端各项的系数向量。
例如对3阶微分方程+++=+++可用a=[ a3, a2, a1, a0];b=[b3 ,b2, b1,b0]; sys=tf( b,a)获得连续时间LTI模型。
注意微分方程中为零的系数一定要写入向量a与b中。
【例2-1】描述某力学系统中物体位移y(t)与外力f(t)的关系为++y(t)=x(t)物体质量m=l kg,弹簧的弹性系数ks= 100 N/m,物体与地面的摩擦系数fd=2 N·s/m,系统的初始储能为零,若外力x(t)就是振幅为10、周期为1的正弦信号,求物体的位移y(t)。
解:由已知条件,系统的输入信号为x(t)=10sin(2πt),系统的微分方程为++100y(t)=x(t)计算物体位移y(t)的MATLAB程序如下:%program2_1微分方程求解ts=0;te=5;dt=0、01;sys=tf([1],[1 2 100]);t=ts:dt:te;x=10*sin(2*pi*t);y=lsim(sys,x,t);plot(t,y);xlabel('Time(sec)')ylabel('y(t)')-0.25-0.2-0.15-0.1-0.0500.050.10.150.2Time(sec)y (t )图2-1系统的零状态响应2、连续时间系统冲激响应与阶跃响应的求解在MATLAB 中,求解系统冲激响应可应用控制系统工具箱提供的函数impulse,求解阶跃响应可利用函数step 。
实验2利用MATLAB分析信号频谱及系统的频率特性引言:在信号处理和通信领域中,频谱分析是一项非常重要的技术。
频谱分析可以帮助我们了解信号的频率特性,包括频率成分和幅度。
MATLAB是一款功能强大的数学软件,提供了多种工具和函数用于信号处理和频谱分析。
本实验旨在通过MATLAB分析信号频谱及系统的频率特性,深入理解信号处理和频域分析的原理和应用。
实验步骤:1.生成一个信号并绘制其时域波形。
首先,我们可以使用MATLAB提供的函数生成一个信号。
例如,我们可以生成一个用正弦函数表示的周期信号。
```matlabt=0:0.001:1;%时间范围为0到1秒,采样率为1000Hzf=10;%信号频率为10Hzx = sin(2*pi*f*t); % 生成正弦信号plot(t,x) % 绘制信号的时域波形图title('Time domain waveform') % 添加标题```2.计算信号的频谱并绘制频谱图。
使用MATLAB中的FFT函数可以计算信号的频谱。
FFT函数将信号从时域转换为频域。
```matlabFs=1000;%采样率为1000HzL = length(x); % 信号长度NFFT = 2^nextpow2(L); % FFT长度X = fft(x,NFFT)/L; % 计算X(k)f = Fs/2*linspace(0,1,NFFT/2+1); % 计算频率轴plot(f,2*abs(X(1:NFFT/2+1))) % 绘制频谱图title('Frequency spectrum') % 添加标题```3.使用MATLAB分析系统的频率特性。
MATLAB提供了Signal Processing Toolbox,其中包含了分析系统频率特性的函数和工具。
```matlabHd = designfilt('lowpassfir', 'FilterOrder', 6,'CutoffFrequency', 0.3, 'SampleRate', Fs); % 设计一个低通滤波器fvtool(Hd) % 显示滤波器的频率响应``````matlab[W,F] = freqz(Hd); % 计算滤波器的频率响应plot(F,abs(W)) % 绘制滤波器的振幅响应title('Frequency response of lowpass filter') % 添加标题```实验结果:运行上述代码后,我们可以得到如下结果:1.时域波形图2.频谱图3.滤波器频率响应讨论与结论:本实验通过MATLAB分析信号频谱及系统的频率特性,深入理解了信号处理和频域分析的原理和应用。
MATLAB与信号实验——连续LTI系统的时域分析连续LTI系统的时域分析是信号与系统学中的重要课题。
MATLAB作为一种强大的科学计算软件,提供了丰富的工具和函数来进行信号与系统的分析。
下面将介绍MATLAB在连续LTI系统时域分析中的应用。
首先,我们需要了解连续LTI系统的基本概念。
一个连续域线性时不变系统(LTI系统)可以由它的冲激响应完全描述。
冲激响应是系统对单位冲激信号的响应。
在MATLAB中,可以使用impulse函数来生成单位冲激信号。
假设我们有一个连续LTI系统的冲激响应h(t),我们可以使用conv 函数来计算系统对任意输入信号x(t)的响应y(t)。
conv函数实现了卷积运算,可以将输入信号与冲激响应进行卷积运算得到输出信号。
例如,我们假设一个连续LTI系统的冲激响应为h(t) = exp(-t)u(t),其中u(t)是单位阶跃函数。
我们可以使用以下代码生成输入信号x(t)和计算输出信号y(t):```matlabt=-10:0.1:10;%时间范围x = sin(t); % 输入信号h = exp(-t).*heaviside(t); % 冲激响应y = conv(x, h, 'same'); % 计算输出信号```这段代码首先定义了时间范围t,然后定义了输入信号x(t)和冲激响应h(t)。
接下来,使用conv函数计算输入信号和冲激响应的卷积,设置参数’same’表示输出信号与输入信号长度相同。
最后,得到了输出信号y(t)。
在得到输出信号后,我们可以使用MATLAB的绘图功能来可视化结果。
例如,使用以下代码可以绘制输入信号和输出信号的图像:```matlabfigure;plot(t, x, 'b', 'LineWidth', 2); % 绘制输入信号hold on;plot(t, y, 'r', 'LineWidth', 2); % 绘制输出信号xlabel('时间');ylabel('幅度');legend('输入信号', '输出信号');```除了卷积运算外,MATLAB还提供了许多其他函数来进行连续LTI系统的时域分析。
实验一、MATLAB编程基础及典型实例一、实验目的(1)熟悉MATLAB软件平台的使用;(2)熟悉MATLAB编程方法及常用语句;(3)掌握MATLAB的可视化绘图技术;(4)结合《信号与系统》的特点,编程实现常用信号及其运算。
示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。
编制一个函数型m文件,实现这个功能。
function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2)a=min(min(n1),min(n2));b=max(max(n1),max(n2));n=a:b;f1_new=zeros(1,length(n));f2_new=zeros(1,length(n));tem1=find((n>=min(n1))&(n<=max(n1))==1);f1_new(tem1)=f1;tem2=find((n>=min(n2))&(n<=max(n2))==1);f2_new(tem2)=f2;四、实验内容与步骤− 2 t (2)绘制信号x(t)= esin( t=0:0.1:30; 23t ) 的曲线,t的范围在0~30s,取样时间间隔为0.1s。
y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);(3)在n=[-10:10]范围产生离散序列:x( n)=⎧2 n ,− 3⎨≤ n ≤ 3,并绘图。
⎩0, Othern=-10:1:10;z1=((n+3)>=0);z2=((n-3)>=0);x=2*n.*(z1-z2);stem(n,x);(4)编程实现如下图所示的波形。
t=-2:0.001:3;f1=((t>=-1)&(t<=1));f2=((t>=-1)&(t<=2));f=f1+f2;plot(t,f);axis([-2,3,0,3]);(5)设序列f1(k)={ 0 , 1 , 2 , 3 , 4 , 5 },f2(k)={ 6 , 5 , 4 , 3 , 2 , 1 , 0 }。
信号与系统MATLAB综合实验一、实验目的:1、学习MATLAB语言的编程方法及熟悉MATLAB指令。
2、掌握连续时间信号的卷积运算方式,分析建立信号波形间的联系。
3、通过使用MATLAB函数研究线性时不变离散时间系统的时域特性,以加深对线性时不变离散时间系统的时不变性的理解。
二、实验仪器1、计算机2、MATLAB 软件三、实验原理一个离散时间系统是将输入序列变换成输出序列的一种运算。
若以T[•]表示这种运算,则一个离散时间系统可由图1-1来表示,即→∙→(1-1)x n T y n()[]()图1-1 离散时间系统离散时间系统中最重要的、最常用的是“线性时不变系统”。
时不变系统系统的运算关系T[•]在整个运算过程中不随时间(也不随序列的先后)而变化,这种系统称为时不变系统(或称移不变系统)。
这个性质可用以下关系表示:若输入)(ny,则将输入序列移动任意位后,其输出序列除了跟着x的输出为)(n移位外,数值应保持不变,即若)ynm[mT--(m为任意整数)=(xn(()]()][nT=,则)yxn满足以上关系的系统就称为时不变系统。
四、实验内容及结论1、连续时间系统的时域分析已知微分方程: )(2)(3)(2)(3)(t f t f t y t y t y +'=+'+'',1)0(-='-y , 2)0(=-y 若激励信号为)()(t u t f =,利用阶跃响应函数step(sys,t) 求解画波形;利用零状态响应函数lsim 求解画波形;利用卷积函数求解画波形;比较结果。
程序如下:dt=0.001;t1=0:dt:10;f1=-1*exp(-t1)+4*exp(-2*t1);t2=t1;f2=u(t2);f=conv(f1,f2);f=f*dt;t3=0:dt:20;subplot(311)plot(t3,f);xlabel('时间(t)');ylabel('y(t)');title('零状态响应(卷积法)');b=[3 2];a=[1 3 2];sys=tf(b,a);t=0:0.01:10;x=stepfun(t,0);y=lsim(sys,x,t);subplot(312)plot(t,y);xlabel('时间(t)');ylabel('y(t)');title('零状态响应(阶跃函数求法)');sys=tf(b,a);t=0:0.1:10;y=step(sys,t);subplot(313)plot(t,y);xlabel('时间t)');ylabel('y(t)');title('阶跃响应');结论:上述三种方法求得的都是输入为阶跃函数时候的零状态响应,也为阶跃响应,通过图形我们可以看出,利用卷积法求出的零状态和另外两种方法求出的零状态响应图形有一点差别,三者在0到10区间上响应都一致,而利用卷积法求的响应却在下面的区间内发生了变化,我试图修改程序,无论怎么改,发现只要调用了卷积函数,求得的图形就像上述的卷积法求的图形一样,不得解。
MATLAB与信号实验-——-连续LTI系统的时域分析在信号处理中,MATLAB是一个强大的工具,它提供了许多功能,使我们能够模拟和分析各种信号系统。
对于连续LTI系统,时域分析是一个重要的方法,它允许我们直接观察系统的输入和输出信号之间的关系。
下面是一个关于连续LTI系统的时域分析的实验。
一、实验目的本实验的目的是验证连续LTI系统的时域响应,通过使用MATLAB模拟系统,我们可以观察到不同的输入信号产生的输出信号,从而了解系统的特性。
二、实验步骤1.定义系统:首先,我们需要定义我们的连续LTI系统。
这可以通过使用MATLAB中的lti函数来完成。
我们需要提供系统的传递函数,它描述了系统的输入和输出之间的关系。
2.设置输入信号:为了观察系统的行为,我们需要设置一个合适的输入信号。
在MATLAB中,我们可以使用square函数来生成一个方波信号,该信号具有固定的频率和幅度。
3.模拟系统:使用MATLAB的lsim函数,我们可以模拟我们的连续LTI系统。
这个函数将输入信号和系统的传递函数作为参数,然后计算出系统的输出信号。
4.分析结果:我们可以使用MATLAB的图形功能来观察输入和输出信号。
这可以帮助我们理解系统的行为,并验证我们的模型是否正确。
三、实验结果与分析在实验中,我们使用了不同的输入信号(如方波、正弦波等)来测试我们的连续LTI系统。
对于每种输入信号,我们都观察了系统的输出信号,并记录了结果。
通过对比不同的输入和输出信号,我们可以得出以下结论:1.对于方波输入,系统的输出信号是带有延迟的方波,这表明系统对突变信号的响应是瞬时的。
2.对于正弦波输入,系统的输出信号是与输入信号同频同相位的正弦波,这表明系统对正弦波的响应是具有稳定性的。
这些结果验证了连续LTI系统的基本特性:即对于单位阶跃函数(突变信号)的输入,系统的响应是瞬时的;而对于周期性输入(如正弦波),系统的响应具有稳定性。
这些结果与我们在理论上学到的知识相符,从而验证了我们的模型是正确的。
《MATLAB 》连续时间信号的频域分析和连续时间系统的时域分析实验报告1、编写程序Q3_1,绘制下面的信号的波形图:其中,ω0 = 0.5π,要求将一个图形窗口分割成四个子图,分别绘制cos(ω0t)、cos(3ω0t)、cos(5ω0t) 和x(t) 的波形图,给图形加title ,网格线和x 坐标标签,并且程序能够接受从键盘输入式中的项数n。
2、给程序例3_1增加适当的语句,并以Q3_2存盘,使之能够计算例题3-1中的周期方波信号的傅里叶级数的系数,并绘制出信号的幅度谱和相位谱的谱线图。
-+-=)5cos(51)3cos(31)cos()(000t t t t x ωωω∑∞==10)cos()2sin(1n t n n nωπ3.3反复执行程序例3_2,每次执行该程序时,输入不同的N值,并观察所合成的周期方波信号。
通过观察,你了解的吉布斯现象的特点是什么?3.4分别手工计算x1(t) 和x2(t) 的傅里叶级数的系数。
1.利用MATLAB 求齐次微分方程,,起始条件为,,时系统的零输入响应、零状态响应和全响应。
2. 已知某LTI 系统的方程为:其中,。
利用MATLAB 绘出范围内系统零状态响应的波形图。
3.已知系统的微分方程如下,利用MATLAB 求系统冲激响应和阶跃响应的数值解,并绘出其时域波形图。
(1)'''()2''()'()'()y t y t y t x t ++=()()t x t e u t -=(0)1y -='(0)1y -=''(0)2y -=''()5'()6()6()y t y t y t x t ++=()10sin(2)()x t t u t π=05t ≤≤''()3'()2()()y t y t y t x t ++=(2)''()2'()2()'()y t y t y t x t ++=。
一、实验目的1. 理解频域分析在信号与系统分析中的重要性。
2. 掌握使用MATLAB进行频域分析的基本方法。
3. 通过实验,分析典型信号和系统的频域特性。
4. 熟悉并运用傅里叶变换、拉普拉斯变换等频域分析方法。
二、实验原理频域分析是信号与系统分析的重要方法之一,它将时域信号转换到频域进行分析,从而揭示信号的频率组成和系统对信号的频率响应特性。
主要分析方法包括傅里叶变换、拉普拉斯变换等。
三、实验步骤1. 实验一:傅里叶变换(1)选择一个典型信号,如正弦波、方波等。
(2)使用MATLAB的傅里叶变换函数进行变换。
(3)观察并分析信号的频谱图,包括频率、幅度等特性。
2. 实验二:拉普拉斯变换(1)选择一个典型信号,如指数函数、指数衰减函数等。
(2)使用MATLAB的拉普拉斯变换函数进行变换。
(3)观察并分析信号的复频域特性,包括极点、零点等。
3. 实验三:系统频率响应分析(1)设计一个典型系统,如滤波器、控制器等。
(2)使用MATLAB的系统函数和频率响应函数进行频率响应分析。
(3)观察并分析系统的幅频响应、相频响应等特性。
四、实验结果与分析1. 实验一:傅里叶变换以正弦波为例,进行傅里叶变换实验。
- 正弦波时域波形如图1所示。
- 正弦波的频谱图如图2所示。
图1:正弦波时域波形图2:正弦波频谱图从图2可以看出,正弦波的频谱只有一个频率成分,即正弦波本身的频率。
2. 实验二:拉普拉斯变换以指数函数为例,进行拉普拉斯变换实验。
- 指数函数时域波形如图3所示。
- 指数函数的复频域特性如图4所示。
图3:指数函数时域波形图4:指数函数复频域特性从图4可以看出,指数函数的拉普拉斯变换具有一个极点,表示信号在复频域中的位置。
3. 实验三:系统频率响应分析以一阶低通滤波器为例,进行频率响应分析实验。
- 滤波器的传递函数为:H(s) = 1 / (1 + s)- 使用MATLAB的系统函数和频率响应函数进行频率响应分析。