信号与系统实验(MATLAB版) (1)
信号与系统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 函数的功能和使用方法。
信号与系统matlab实验及答案
产生离散衰减正弦序列()π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报告
大连理工大学本科实验报告课程名称:信号与系统实验学院(系):电信学部专业:电子班级:学号:姓名:实验一信号的频谱图一、实验目的1. 掌握周期信号的傅里叶级数展开2. 掌握周期信号的有限项傅里叶级数逼近3. 掌握周期信号的频谱分析4. 掌握连续非周期信号的傅立叶变换5. 掌握傅立叶变换的性质二、习题:t=-3:0.01:3;n0=-3;n1=-1;t0=2;for i=0:2t1=n0:0.01:n0+t0/2;x1=t1-n0;t2=n1-t0/2:0.01:n1;x2=-t2+n1;plot(t1,x1,'r',t2,x2,'r');hold on;n0=n0+t0;n1=n1+t0;endn_max=[1 3 7 15 31];N=length(n_max);for k=1:Nn=1; sum=0;while (n<(n_max(k)+1))b=4./pi/pi/n/n;y=b*cos(n*pi*t);sum=sum+y;n=n+2;endfigure;n0=-3;n1=-1;t0=2;for i=0:2t1=n0:0.01:n0+t0/2;x1=t1-n0;t2=n1-t0/2:0.01:n1;x2=-t2+n1;plot(t1,x1,'r',t2,x2,'r');hold on; n0=n0+t0; n1=n1+t0; endy=sum+0.5; plot(t,y,'b');xlabel('t'),ylabel('wove'); hold off;axis([-3.01 3.01 -0.01 1.01]); grid on;title(['the max=',num2str(n_max(k))]) Endtw o v ethe max=1tw o v ethe max=7for k=1:3;n=-30:30;tao=k;T=2*k; w=2*pi/T; x=n*tao*0.5fn1=sinc(x/pi); fn=tao*fn1.*fn1; subplot(3,1,k),stem(n*w,fn);grid ontitle(['T=',num2str(2*k)]); axis([-30 30 0 k]); endtw o v ethe max=3ft=sym('sin(2*pi*(t-1))/(pi*(t-1))');Fw=fourier(ft); subplot(2,1,1); ezplot(abs(Fw)); grid on ;title('fudupu');phase=atan(imag(Fw)/real(Fw));subplot(2,1,2); ezplot(phase); grid on ;title('xiangweipu');ft=sym('(sin(pi*t)/(pi*t))^2'); Fw=fourier(ft); subplot(2,1,1); ezplot(abs(Fw)); grid on ; title('fudupu');phase=atan(imag(Fw)/real(Fw));subplot(2,1,2); ezplot(phase); grid on ; title('xiangweipu');-6-4-20246wfudupu-6-4-20246wxiangweipuwfudupu-6-4-20246wxiangweipu(1)syms tFw=sym('10/(3+i*w)-4/(5+i*w)')ft=ifourier(Fw,t)ezplot(ft);grid on2 heaviside(t) (-2 exp(-5 t)+5 exp(-3 t))t(2)syms tFw=sym('exp(-4*w^2)')ft=ifourier(Fw,t)ezplot(ft);grid on1/4/ 1/2 exp(-1/16 t2)tdt = 0.01; t = -0.5:dt:0.5;ft = uCT(t+0.5)-uCT(t-0.5); N = 2000; k = -N:N;W = 2*pi*k/((2*N+1)*dt); F = dt * ft*exp(-j*t'*W); plot(W,F), grid on三、 实验体会:这是第一次信号上机实验,在这次实验中第一次接触到了matlab 这个强大的工程软件,同时学会了对绘制时信号的时域波形和对信号进行频域分析。
matlab软件仿真实验(信号与系统)(1)
matlab软件仿真实验(信号与系统)(1)《信号与系统实验报告》学院:信息科学与⼯程学院专业:物联⽹⼯程姓名:学号:⽬录实验⼀、MATLAB 基本应⽤实验⼆信号的时域表⽰实验三、连续信号卷积实验四、典型周期信号的频谱表⽰实验五、傅⽴叶变换性质研究实验六、抽样定理与信号恢复实验⼀MATLAB 基本应⽤⼀、实验⽬的:学习MATLAB的基本⽤法,了解 MATLAB 的⽬录结构和基本功能以及MATLAB在信号与系统中的应⽤。
⼆、实验内容:例⼀已知x的取值范围,画出y=sin(x)的图型。
x=0:0.05:4*pi;y=sin(x);plot(y)例⼆计算y=sin(π/5)+4cos(π/4)例三已知z 取值范围,x=sin(z);y=cos(z);画三维图形。
z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)xlabel('x')ylabel('y')zlabel('z')例四已知x的取值范围,⽤subplot函数绘图。
参考程序:x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(2,2,1),plot(x,y1),title('sin(x)')subplot(2,2,2),plot(x,y2),title('1.5*cos(x)')subplot(2,2,3),plot(x,y3),title('sin(2*x)')subplot(2,2,4),plot(x,y4),title('5*cos(2*x)')连续信号的MATLAB表⽰1、指数信号:指数信号Ae at在MATLAB中可⽤exp函数表⽰,其调⽤形式为:y=A*exp(a*t) (例取 A=1,a=-0.4)参考程序:A=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);grid on;2、正弦信号:正弦信号Acos(w0t+?)和Asin(w0t+?)分别由函数cos和sin表⽰,其调⽤形式为:A*cos(w0t+phi) ;A*sin(w0t+phi) (例取A=1,w0=2π,?=π/6) 参考程序:A=1;w0=2*pi; phi=pi/6; t=0:0.001:8;ft=A*sin(w0*t+phi);plot(t,ft);grid on ;3、抽样函数:抽样函数Sa(t)在MATLAB中⽤sinc函数表⽰,其定义为:sinc(t)=sin(πt)/( πt)其调⽤形式为:y=sinc(t)参考程序:t=-3*pi:pi/100:3*pi;ft=sinc(t/pi);plot(t,ft);grid on;4、矩形脉冲信号:在MATLAB中⽤rectpuls函数来表⽰,其调⽤形式为:y=rectpuls(t,width),⽤以产⽣⼀个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中⼼向左右各展开width/2的范围,width的默认值为1。
信号与系统实验报告
一:实验名称用MATLAB进行信号的时,频域分析二:实验任务用MATLAB编程计算信号的卷积,分析信号的频域特性三:实验设备计算机,MATLAB软件四:实验内容实验一:已知两个信号x1(t)=ε(t-1)-ε(t-2)和x2=ε(t)-ε(t-1),试画出卷积y(t)=x1(t)*x2(t)的波形。
MATLAB程序如下:T=0.01;t1=1;t2=2;t3=0;t4=1;t=0:T:t2+t4;x1=ones(size(t)).*((t>t1)-(t>t2));x2=ones(size(t)).*((t>t3)-(t>t4));y=conv(x1,x2)*T;subplot (3,1,1),plot(t,x1);ylabel('x1(t)');subplot (3,1,2),plot(t,x2);ylabel('x2(t)');subplot (3,1,3),plot(t,y(1:(t2+t4)/T+1));ylabel('y(t)=x1*x2');xlabel('t/s');波形图如下:实验二:已知x(t)=e-tε(t),h(t)=te(-t/2)ε(t),试计算y(t)=x(t)*h(t)。
MATLAB程序如下:t2=3;t4=11;T=0.01;t=0:T:t2+t4;x=exp(-t).*((t>0)-(t>t2));h=t.*exp(-t/2).*((t>0)-(t>t4));y=conv(x,h)*T;yt=4*exp(-t)+2*t.*exp(-1/2*t)-4*exp(-1/2*t);subplot (3,1,1),plot(t,x);ylabel('x(t)');subplot (3,1,2),plot(t,h);ylabel('h(t)');subplot (3,1,3),plot(t,y(1:(t2+t4)/T+1),t,yt,'--r');legend('by numerical','Theoretical');ylabel('y=x*h');xlabel('t/s');波形如下:实验三:(一)幅度为A,宽度为τ。
信号与系统MATLAB实验报告
实验报告实验课程:信号与系统—Matlab综合实验学生姓名:学号:专业班级:2012年5月20日基本编程与simulink仿真实验1—1编写函数(function)∑=m n k n 1并调用地址求和∑∑∑===++10011-8015012n n n n n n 。
实验程序:Function sum=qiuhe(m,k)Sum=0For i=1:m Sum=sum+i^k End实验结果;qiuhe(50,2)+qiuhe(80,1)+qiuhe(100,-1)ans=4.6170e+004。
1-2试利用两种方式求解微分方程响应(1)用simulink对下列微分方程进行系统仿真并得到输出波形。
(2)编程求解(转移函数tf)利用plot函数画图,比较simulink图和plot图。
)()(4)(6)(5)(d 22t e t e d d t r t r d d t r d tt t +=++在e(t)分别取u(t)、S(t)和sin(20пt)时的情况!试验过程(1)(2)a=[1,5,6]; b=[4,1]; sys=tf(b,a); t=[0:0.1:10]; step(sys)连续时间系统的时域分析3-1、已知某系统的微分方程:)()()()()(d 2t e t e d t r t r d t r tt t +=++分别用两种方法计算其冲激响应和阶跃响应,对比理论结果进行验证。
实验程序:a=[1,1,1];b=[1,1];sys=tf(b,a);t=[0:0.01:10];figure;subplot(2,2,1);step(sys);subplot(2,2,2);x_step=zeros(size(t));x_step(t>0)=1;x_step(t==0)=1/2;lsim(sys,x_step,t);subplot(2,2,3);impulse(sys,t);title('Impulse Response');xlabel('Time(sec)');ylabel('Amplitude');subplot(2,2,4);x_delta=zeros(size(t));x_delta(t==0)=100;[y1,t]=lsim(sys,x_delta,t);y2=y1;plot(t,y2);title('Impulse Response');xlabel('Time(sec)');ylabel('Amplitude');运行结果如下:3-2;请编写一个自定义函数[F,tF}=intl(f,tf,a)实现数值积分,其中f和tf分别用列矢量表示待积函数的抽样值和抽样时间,a表示积分的起始时间,F和tF分别表示积分结果的抽样值和抽样时间。
信号与系统实验(MATLAB版) (1)
《信号与系统MATLAB实现》实验指导书电气信息工程学院2014年2月长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MA TLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。
MATLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MATLAB 再多了解一些。
MATLAB究竟有那些特点呢?1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来;2.完备的图形处理功能,实现计算结果和编程的可视化;3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握;4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具;MATLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。
正是基于这些背景,我们编写了这本《信号与系统及MATLAB实现》指导书,内容包括信号的MA TLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。
通过这些练习,同学们在学习《信号与系统》的同时,掌握MATLAB的基本应用,学会应用MATLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MATLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。
另外同学们在进行实验时,最好事先预习一些MATLAB的有关知识,以便更好地完成实验,同时实验中也可利用MATLAB的help命令了解具体语句以及指令的使用方法。
信号与系统 MATLAB实验报告(可打印修改)
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实验作业实验一典型连续时间信号和离散时间信号一、实验目的掌握利用Matlab 画图函数和符号函数显示典型连续时间信号波形、典型时间离散信号、连续时间信号在时域中的自变量变换。
二、实验内容1、典型连续信号的波形表示(单边指数信号、复指数信号、抽样信号、单位阶跃信号、单位冲击信号)1)画出教材P28习题1-1(3) ()[(63)(63)]t f t e u t u t =----的波形图。
function y=u(t) y=t>=0; t=-3:0.01:3;f='exp(t)*(u(6-3*t)-u(-6-3*t))'; ezplot(f,t); grid on;2)画出复指数信号()()j t f t e σω+=当0.4, 8σω==(0<t<10)时的实部和虚部的< p="">波形图。
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;t=-10:0.01:10; f='sin(t)/t'; ezplot(f,t); grid on;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实验
实验1 信号的时域描述与运算一、实验目的1. 掌握信号的MATLAB 表示及其可视化方法。
2. 掌握信号基本时域运算的MATLAB 实现方法。
3. 利用MATLAB 分析常用信号,加深对信号时域特性的理解。
二、实验原理与方法1. 连续时间信号的MATLAB 表示连续时间信号指的是在连续时间范围内有定义的信号,即除了若干个不连续点外,在任何时刻信号都有定义。
在MATLAB 中连续时间信号可以用两种方法来表示,即向量表示法和符号对象表示法。
从严格意义上来说,MATLAB 并不能处理连续时间信号,在MATLAB 中连续时间信号是用等时间间隔采样后的采样值来近似表示的,当采样间隔足够小时,这些采样值就可以很好地近似表示出连续时间信号,这种表示方法称为向量表示法。
表示一个连续时间信号需要使用两个向量,其中一个向量用于表示信号的时间范围,另一个向量表示连续时间信号在该时间范围内的采样值。
例如一个正弦信号可以表示如下:>> t=0:0.01:10; >> x=sin(t);利用plot(t,x)命令可以绘制上述信号的时域波形,如图1所示。
如果连续时间信号可以用表达式来描述,则还可以采用符号表达式來表示信号。
例如对于上述正弦信号,可以用符号对象表示如下:>> x=sin(t); >> ezplot(X);利用ezplot(x)命令可以绘制上述信号的时域波形012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81Time(seconds)图1 利用向量表示连续时间信号-6-4-20246-1-0.50.51t图 2 利用符号对象表示连续时间信号sin(t)常用的信号产生函数 函数名 功能 函数名 功能 heaviside 单位阶跃函数 rectpuls 门函数sin 正弦函数 tripuls 三角脉冲函数 cos 余弦函数 square 周期方波sinc sinc 函数 sawtooth周期锯齿波或三角波 exp 指数函数2.连续时间信号的时域运算对连续时间信号的运算包括两信号相加、相乘、微分、积分,以及位移、反转、尺度变换(尺度伸缩)等。
信号与系统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 变量名列表。
前者定义一个单一的符号变量,后者可以一次定义多个符号变量。
信号与系统实验1
信号与系统实验一7.1(7.2)、利用MATLAB的向量表示法和符号运算功能表示下列连续信号的时域波形。
1、f(t)=4sin(2πt-π/4)向量法:t=-2*pi:pi/50:2*pi;y=4*sin(2*pi*t-pi/4);plot(t,y)符号法:syms tf=sym('4*sin(2*pi*t-pi/4)')ezplot(f,[-pi,pi])(2)f(t)=(1-e-2t)u(t)向量法:t=-1:0.01:1;f=(1-exp(-2*t)).*Heaviside(t);plot(t,f)set(gcf,'color','w')title('exp(-2t)')xlabel('t')符号法:syms t;f=('(1-exp(-2*t)).*Heaviside(t)')ezplot(f,[-2,2])7.3 利用matlab绘出下列离散序列的离散波形。
(3)x(n)=n[u(n)-u(n-5)]n=-3:8;x=n.*(jyxl(n)-jyxl(n-5));stem(n,x,'filled')title('x(n)=n[u(n)-u(n-5)]')xlabel('n')7.4、用MATLAB编程绘制出下列连续时间信号的时域波形,观察信号是否为周期信号?若是周期信号,周期是多少?若不是周期信号,请说明原因。
(1)f(t)=sin(t)+2sin(πt)syms tf=sym('sin(t)+2*sin(pi*t)') ezplot(f,[-5*pi,5*pi])答:此信号不是周期信号,因为T1=2π,T2=2,周期之比为无理数,所以不是周期信号。
7.5 用MATLAB编程绘制出下列复信号的实部、虚部模、辐角随时间变化的曲线,观察分析复信号的时域特征。
信号与系统matlab实验1
实验一 典型连续时间信号描述及运算二、典型连续信号波形的绘制 2、典型连续时间信号波形绘制 2)正弦信号 )0.2s i n ()(θ+⋅⋅⋅=Ttpi E t f 程序如下:t=-250:1:250;f1=150.0*sin(2.0.*t.*pi./100.00); f2=150.0*sin(2.0.*t.*pi./200.00);f3=150.0*sin((2.0.*t.*pi./200.00)+(pi./5.0)); plot(t,f1,'-',t,f2,'--',t,f3,'-.') 图形如下:3)衰减正弦信号 )()e x p ()0.2s i n ()(t u tT t pi E t f ⋅-⋅⋅⋅⋅=τ程序如下:t=0:1:500;f=200.0*sin(2.0.*t.*pi./100.00).*exp(-1.*t./250.0); plot(t,f); 图形如下:4)钟型信号 )e x p ()(22τt E t f -⋅=程序如下:t=-250:1:250;f1=400.0*exp(-1.*t.^2./100.0^2); f2=400.0*exp(-1.*t.^2./150.0^2); f3=400.0*exp(-1.*t.^2./250.0^2); plot(t,f1,'-',t,f2,'--',t,f3,'-.'); 图形如下:3、奇异信号波形绘制 1)符号函数 ⎩⎨⎧<->=011)s g n (t t t 程序如下:t=-5:0.01:5;f=sign(t); plot(t,f); 图形如下:2)阶跃信号 ⎩⎨⎧<>=01)(t t t u 程序如下:t=-5:0.01:5;f=0.5+0.5.*sign(t); plot(t,f); 图形如下:三、连续时间信号的运算已知)]4()()[4()(1--+-=t u t u t t f 及信号)2sin()(2t t f π=,用MATLAB 绘出满足下列要求的信号波形。
matlab与信号系统实验题库(1)
matlab与信号系统实验题库(1)1.设,试⽤MATLAB画出该系统的幅频特性和相频特性。
w=0:0.025:15;b=[1];a=[0.08,0.4,1];H=freqs(b,a,w);subplot(2,1,1);plot(w,abs(H));grid;title('H(jw)的幅频特性');subplot(2,1,2);plot(w,angle (H));grid;title('H(jw)的相频特性');2. 绘制出y(t)=ε(t-1)- ε(t-4)的幅频特性曲线。
syms t wGt=sym('heaviside(t-1)-heaviside(t-4)');Fw=fourier(Gt,t,w);FFw=maple('convert',Fw,'piecewise');FFP=abs(FFw);ezplot(FFP,[-10*pi 10*pi]);grid;axis([-10*pi 10*pi 0 3.5])3.若某连续系统的输⼊为e(t),输出为r(t),系统的微分⽅程为:,y’(0_)=5,y(0_)=0;,求全响应。
a=[1 5 6];b=[0 3 2];%定义a,b[A B C D]=tf2ss(b,a);%定义A,B,C,,D的返回值t=0:0.01:5;%定义时间范围f=exp(-2*t); %定义函数X0=[5,0];%系统状态变量X=[x1,x2,…..xn]'在t=0时刻的初值。
xlabel('t');%定义横标题title('全响应y(t)');%定义总横标题grid on;%⽹格4.求的拉⽒变换式,并⽤MATLAB绘制拉⽒变换在s平⾯的三维曲⾯图。
syms t s %定义符号变量ft=sym('2*exp(-t)*Heaviside(t)+5*exp(-3*t)*Heaviside(t)'); %定义时间函数f(t)的表达式Fs=laplace(ft) %求f(t)的拉⽒变换式F(s)FFss=abs(Fs); %求出F(s)的模ezmesh(FFss); %画出拉⽒变换的⽹格曲⾯图ezsurf(FFss); %画出带阴影效果的三维曲⾯图colormap(hsv); %设置图形中多条曲线的颜⾊顺序5.求的拉⽒变换式,并⽤MATLAB绘制拉⽒变换在s平⾯的三维曲⾯图。
matlab信号与系统实验报告
实验一 基本信号的产生与运算一、 实验目的学习使用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)
4.符号函数
符号函数的定义为: sgn(t )
1 1
t 0 t0
(t)和符号函数两者之间存在以下关
在 MATLAB 中有专门用于表示符号函数的函数 sign() ,由于单位阶跃信号
1 系: (t ) 1 2 2 sgn(t ) ,因此,利用这个函数就可以很容易地生成单位阶跃信号。下面举个例子来说明如何利用 sign()
2.抽样信号:
抽样信号的基本形式为 Sa(t)=sin(t)/t,在 MATLAB 中用与 Sa(t)类似的 sinc(t)函数表示,定义为
sin c(t ) sin(t ) /(t )
可以看出,Sa(t)函数与 sinc(t)函数没有本质区别,只是在时间尺度上不同而已。下面我们就将 Sa(t)和 sinc(t) 的图像进行对比。 源程序: clear all t=-6*pi:pi/100:6*pi; ft1=sinc(t); ft2=sin(t)./t; subplot(2,1,1);plot(t,ft1);title('sinc');axis([-20,20,-0.5,1.2]);grid on;
运行结果:
1
2
四、实验总结与心得
本节课我们学习了一些常见信号的 MATLAB 表示方式,如 Sa 函数、单位阶跃函数和门函数等。还学习了一些 MATLAB 中的基础语法,如符号函数应该用 sym 先进行定义,还有绘图函数 plot 和限定图像的区域的 axis 等。 这是我们第一次接触 MATLAB 这个数学工具,一上来是茫然的,老师和助教一直叮嘱我们先按书上的程序认真的抄 写,再仔细看每个语句搞懂意思,尽管如此我们还是犯了很多错误,如标点错误,大小写不对。从这节课的简单学习 中,我已经感到了 MATLAB 这个工具的强大之处,同时惊叹于其语句的精炼。这节课虽然很简单,但也同样重要,我们 要规范自己的习惯,为后边编写更为复杂的程序打好基础。
信号与系统——MATLAB基本实验
信号与系统——MATLAB基本实验《信号与系统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)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:3 x=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) xlabel('k'); ylabel('f(k)'); title('(7)');四、利用MATLAB求解线性方程组。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信号与系统MATLAB实现》实验指导书电气信息工程学院2014年2月长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MA TLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。
MATLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MATLAB 再多了解一些。
MATLAB究竟有那些特点呢?1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来;2.完备的图形处理功能,实现计算结果和编程的可视化;3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握;4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具;MATLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。
正是基于这些背景,我们编写了这本《信号与系统及MATLAB实现》指导书,内容包括信号的MA TLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。
通过这些练习,同学们在学习《信号与系统》的同时,掌握MATLAB的基本应用,学会应用MATLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MATLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。
另外同学们在进行实验时,最好事先预习一些MATLAB的有关知识,以便更好地完成实验,同时实验中也可利用MATLAB的help命令了解具体语句以及指令的使用方法。
实验一:基本信号在MATLAB中的表示和运算(综合) 实验二:连续时间LTI系统的时域分析(设计)实验三:傅里叶变换、系统的频域分析(设计)实验四:信号抽样与恢复(设计)实验五:信号与系统复频域(S域和Z域)分析(设计)实验一 基本信号在MATLAB 中的表示和运算(综合型) 一、实验目的1. 学会用MA TLAB 表示常用连续信号的方法; 2. 学会用MA TLAB 进行信号基本运算的方法; 二、实验原理1. 连续信号的MATLAB 表示MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。
表示连续时间信号有两种方法,一是数值法,二是符号法。
数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MA TLAB 的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。
例1-1指数信号 指数信号在MATLAB 中用exp 函数表示。
如at Ae t f =)(,调用格式为 ft=A*exp(a*t) 程序是A=1; a=-0.4;t=0:0.01:10; %定义时间点ft=A*exp(a*t); %计算这些点的函数值plot(t,ft); %画图命令,用直线段连接函数值表示曲线 grid on; %在图上画方格例1-2 正弦信号 正弦信号在MATLAB 中用 sin 函数表示。
调用格式为 ft=A*sin(w*t+phi) A=1; w=2*pi; phi=pi/6;t=0:0.01:8; %定义时间点ft=A*sin(w*t+phi); %计算这些点的函数值 plot(t,ft); %画图命令 grid on; %在图上画方格例1-3 抽样信号 抽样信号Sa(t)=sin(t)/t 在MA TLAB 中用 sinc 函数表示。
定义为 )/(sin )(πt c t Sa =t=-3*pi:pi/100:3*pi; ft=sinc(t/pi); plot(t,ft); grid on;axis([-10,10,-0.5,1.2]); %定义画图范围,横轴,纵轴title('抽样信号') %定义图的标题名字例1-4 三角信号三角信号在MATLAB中用tripuls 函数表示。
调用格式为ft=tripuls(t,width,skew),产生幅度为1,宽度为width,且以0为中心左右各展开width/2大小,斜度为skew的三角波。
width的默认值是1,skew的取值范围是-1~+1之间。
一般最大幅度1出现在t=(width/2)*skew的横坐标位置。
t=-3:0.01:3;ft=tripuls(t,4,0.5);plot(t,ft); grid on;axis([-3,3,-0.5,1.5]);例1-5虚指数信号调用格式是f=exp((j*w)*t)t=0:0.01:15;w=pi/4;X=exp(j*w*t);Xr=real(X); %取实部Xi=imag(X); %取虚部Xa=abs(X); %取模Xn=angle(X); %取相位subplot(2,2,1),plot(t,Xr),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),title('实部');subplot(2,2,3),plot(t,Xi),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),title('虚部');subplot(2,2,2), plot(t,Xa),axis([0,15,0,max(Xa)+1]),title('模');subplot(2,2,4),plot(t,Xn),axis([0,15,-(max(Xn)+1),max(Xn)+1]),title('相角');%subplot(m,n,i) 命令是建立m行n列画图窗口,并指定画图位置i例1-6复指数信号调用格式是f=exp((a+j*b)*t)t=0:0.01:3;a=-1;b=10;f=exp((a+j*b)*t);subplot(2,2,1),plot(t,real(f)),title('实部')subplot(2,2,3),plot(t,imag(f)),title('虚部')subplot(2,2,2),plot(t,abs(f)),title('模')subplot(2,2,4),plot(t,angle(f)),title('相角')例1-7 矩形脉冲信号矩形脉冲信号可用rectpuls函数产生,调用格式为y=rectpuls(t,width),幅度是1,宽度是width,以t=0为对称中心。
t=-2:0.01:2;width=1;ft=2*rectpuls(t,width);plot(t,ft)grid on;例1-8 单位阶跃信号单位阶跃信号u(t)用“t>=0”产生,调用格式为ft=(t>=0)t=-1:0.01:5;ft=(t>=0);plot(t,ft); grid on;axis([-1,5,-0.5,1.5]);例1-9 正弦信号符号算法syms t %定义符号变量ty=sin(pi/4*t) %符号函数表达式ezplot(y,[-16,16]) %符号函数画图命令或者f=sym('sin(pi/4*t)') %定义符号函数表达式ezplot(f,[-16,16])例1-10单位阶跃信号MA TTLAB符号数学函数Heaviside表示阶跃信号,但要画图需在工作目录创建Heaviside的M文件function f=Heaviside(t)f=(t>0);保存,文件名是Heaviside ,调用该函数即可画图,例t=-1:0.01:3;f=heaviside(t);plot(t,f)axis([-1,3,-0.2,1.2])或者y=sym('Heaviside(t)');ezplot(y,[-1,5]);grid on2.信号基本运算的MATLAB实现信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法和符号法例1-11 以f(t)为三角信号为例,求f(2t) , f(2-2t)t=-3:0.001:3;ft=tripuls(t,4,0.5);subplot(3,1,1);plot(t,ft); grid on;title ('f(t)');ft1= tripuls(2*t,4,0.5);subplot(3,1,2);plot(t,ft1); grid on;title ('f(2t)');ft2= tripuls(2-2*t,4,0.5);subplot(3,1,3);plot(t,ft2); grid on;title ('f(2-2t)');例1-12 已知f1(t)=sinwt , f2(t)=sin8wt , w=2pi , 求f1(t)+f2(t)和f1(t)f2(t) 的波形图 w=2*pi;t=0:0.01:3; f1=sin(w*t); f2=sin(8*w*t); subplot(211)plot(t,f1+1,':',t,f1-1,':',t,f1+f2) grid on,title('f1(t)+f2(t))') subplot(212)plot(t,f1,':',t,-f1,':',t,f1.*f2) grid on,title('f1(t)*f2(t)')符号算法也可实现上述运算,以信号的微积分运算为例说明符号算法应用 微分的调用格式为 diff(function,’variable’,n) 积分的调用格式为 int(function,’variable’,a,b)式中function 表示要微分或积分的函数,variable 表示运算变量,n 表示求导阶数,默认值是求一阶导数,a 是积分下限,b 是积分上限,a b 默认是求不定积分。
例1-13 求一阶导数的例题,已知)sin(21ax y =,x x x y ln sin 2= clearsyms a x y1 y2 %定义符号变量a , x ,y1, y2 y1=sin(a*x^2); %符号函数y1 y2=x*sin(x)*log(x); %符号函数y2dy1=diff(y1,’x’) %无分号直接显示结果 dy2=diff(y2) %无分号直接显示结果例1-14 求积分的例题,dx x ax x )2(5+-⎰,⎰+102)1(dx x xe xclearsyms a x y3 y4y3=x^5-a*x^2+sqrt(x)/2; y4=(x*exp(x))/(1+x)^2; iy3=int(y3,'x') iy4=int(y4,0,1) 三、上机实验内容1. 调试实验原理中的程序。