实验一 基本信号在MATLAB中的表示和运算
信号与信号实验

信号与信号实验MATLAB 部分实验一:基本信号在MATLAB 中的表示和运算 一、 实验目的;1、学会用MATLAB 表示常用连续信号的方法;2、学会用MATLAB 进行信号基本运算的方法;3、学会用MATLAB 实现连续时间信号的卷积的方法。
二、 实验内容:1、绘出下列信号的时域波形(1)f(t)=(2-e-2t)u(t) (2)f(t)=cos(πt)[u(t)-u(t-1)] (3)f(t)=u(-3t+2) (4)f(t)= -(1/2)tu(t+2) 解:t1=0:0.01:5; y1=(2-exp(-2*t1)).*(t1>0); subplot(221);plot(t1,y1);grid; title('f(t)=(2-e-2t)u(t)'); t2=0:0.01:5; y2=cos(pi*t2).*((t2>0)-(t2>1)); subplot(222);plot(t2,y2);grid; title('f(t)=cos(πt)[u(t)-u(t-1)]'); t3=-2:0.01:5; y3=(-3*t3+2>0); subplot(223);plot(t3,y3);grid; title('f(t)=u(-3t+2)'); t4=-3:0.01:5; y4=(-1/2)*t4.*(t4>-2); subplot(224);plot(t4,y4);grid; title('f(t)=-(1/2)tu(t+2)');00.511.52f(t)=(2-e-2t)u(t)图 1-1f(t)=cos(πt)[u(t)-u(t-1)]图1-200.51f(t)=u(-3t+2)图1-3f(t)=-(1/2)tu(t+2)图 1-42、用MATLAB 绘出下列信号的卷积积分f1(t)*f2(t)的时域波形(1) f1(t)=tu(t), f2(t)=u(t) (2) f1(t)=u(t)-u(t-4), f2(t)=sin(πt)u(t) (3) f1(t)= e-2t u(t), f2(t)= e-t u(t) (4) f1(t)= e-t u(t), f2(t)=u(t) 解:(1)fs=1000; t=-1:1/fs:4; x1=stepfun(t,0); x2=x1.*t; y=conv(x1,x2)/fs; n=length(y1); tt=(0:n-1)/fs-2; subplot(311),plot(t,x1),grid; title('f1(t)=tu(t)'); subplot(312),plot(t,x2),grid; title(' f2(t)=u(t)'); subplot(313),plot(tt,y),grid on; title('f1(t) * f2(t)');(2)fs=1000; t=-1:1/fs:4; x1=(t>0)-(t>4); x2=sin(pi*t).*(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-2; subplot(311);plot(t,x1);grid; title('f1(t)=u(t)-u(t-4))'); subplot(312);plot(t,x2);grid; title('f2(t)=sin(πt)u(t)'); subplot(313);plot(tt,x);grid; title('f1(t) * f2');(3)t=0:1/fs:4; x1=exp(-2*t).*(t>0); x2=exp(-t).*(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-0; subplot(311);plot(t,x1);grid; title('f1(t)= e-2t u(t)'); subplot(312);plot(t,x2);grid; title('f2(t)= e-t u(t)'); subplot(313);plot(tt,x);grid; title('f1(t) * f2(t)');(4)t=0:1/fs:2; x1=exp(-2*t).*(t>0); x2=(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-0; subplot(311);plot(t,x1);grid; title(' f1(t)= e-t u(t))'); subplot(312);plot(t,x2);grid; title('f2(t)=u(t)'); subplot(313);plot(tt,x);grid; title('f1(t)*f2(t)');0.51 1.52 2.53 3.540.51 1.52 2.53 3.5412345678-1 -0.5 00.51 1.52 2.53 3.54? 2-1 -1 -0.5 00.51 1.52 2.53 3.54? 2-2 -2-112 3 4 5678? 2-3实验二:连续时间LTI 系统的时域分析一、实验目的:学会用MATLAB 求解连续系统的零状态响应、冲击响应和阶跃响应。
实验- 基本信号在 MATLAB中的表示和运算

实验一基本信号在 MATLAB中的表示和运算一、[实验目的]1.学会常用连续信号的MATLAB表示方法;2.学会用MATLAB进行信号的基本运算,为信号分析和滤波器设计奠定基础;3. 通过信号的求导,观察信号在跳变点处的导数;4. 通过卷积积分运算,观察两个时限信号的卷积积分结果所具有的特点;5. 掌握信号相关与卷积的关系;6. 通过实验熟悉自相关和互相关性质在周期信号识别、延迟信号检测等场合中的应用。
三、[实验内容]1.验证实验原理中所述的有关程序;2.绘出下列信号的时域波形及其导数波形(注意在绘制导数波形图时,为便于观察结果,可调整坐标轴,如t=-3:h:4;并合理利用坐标轴调整函数axis)3.绘制如图所示信号及其积分波形。
4. 求如图所示函数f1(t)和f2(t )的卷积积分,并给出卷积结果的图形。
5. 编写信号相关的函数%Rxy为相关估计,消除步长的影响%tao为相关估计Rxy的序号向量%x为参加相关的信号,xt为信号 x的序号向量%y为需反转的信号,yt为 y的序号向量%dt为xt 或yt的步长(xt,yt的步长要一致)%信号反转可利用:ytf=fliplr(-yt);yf=fliplr(y);6.已知两信号x=rectpuls(t-0.5,1); y=rectpuls(t+0.5,1) ;调用自编函数[Rxy,tao]=my_xcorr(x,xt,y,yt,dt)计算 x 与 y 的时延差,即Rxy 取得最大值的时刻。
7. 已知频率为10Hz的余弦信号,分别求:(1)不带噪声的余弦信号的自相关;(2)分别求带有白噪声干扰的频率为 10Hz 的余弦信号和白噪声信号的自相关函数并进行比较,得出相应的结论。
主要信号如下:N=1000;Fs=500; %数据长度和采样频率n=0:N-1; t=n/Fs; %时间序列x=cos(2*pi*10*t); %频率为10Hz的余弦信号xz=cos(2*pi*10*t)+0.6*randn(1,length(t)); %带有白噪声干扰的频率为10Hz 的余弦信号noise_sig=randn(1,length(x)); %产生一与 x长度一致的随y=cos(2*pi*20*t); %频率为20Hz的余弦信号xy=x+y; 频率为10Hz, 20Hz的余弦信号的叠加信号…..调用 MATLAB 提供的函数[Rxx,tao]=xcorr(x,Lags,'unbiased')完成三个自相关运算。
实验一 基本信号在MATLAB中的表示和运算

实验一 基本信号在MATLAB 中的表示和运算一、实验目的1. 学会用MA TLAB 表示常用连续信号的方法;2. 学会用MA TLAB 进行信号基本运算的方法;二、实验原理1. 连续信号的MATLAB 表示MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。
表示连续时间信号有两种方法,一是数值法,二是符号法。
数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB 的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。
例1-1指数信号 指数信号在MATLAB 中用exp 函数表示。
如atAe 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 函数表示。
实验一 Matlab中信号的描述与运算

f1 ( ) f 2 (t )d
由此可得到两个与卷积相关的重要结论,即是: f(t)=f(t)*δ(t),即连续信号可分解为一系列幅度由 f(t)决定的冲激信号 δ(t) 及其平移信号之和; 若线性时不变连续系统的单位冲激响应为 h(t),则当输入信号为 e(t)时, 其零状态响应为 y(t)=r(t)*h(t)。 可见,连续信号卷积的计算对我们进行连续信号与系统的分析具有重要的意义。 利用 MATLAB 实现连续时间卷积的函数 conv_cs,该程序在计算出卷积积 分的数值近似。以下是 Matlab 中函数的说明: [f_conv, t_conv] = conv_cs(f1, t1, f2, t2, dt) % 本函数为计算连续信号的卷积而编写 % 输出参数 % f_conv: 函数 f1(t)和 f2(t)的卷积函数值向量 % t_conv: 与 f_conv 对应的时间向量 % 输入参数 % f1:函数 f1(t)的函数值向量 % t1:与 f1 对应的时间向量 % f2:函数 f1(t)的函数值向量 % t2:与 f2 对应的时间向量 % dt:标量时,表示卷积函数 f_conv 的时间向量 t_conv 间隔 % 向量时,表示卷积函数 f_conv 的时间向量 t_conv 向量 四、实验内容:
实验一 Matlab 中信号的描述与运算
一、实验目的: 1. 熟悉 MATLAB 软件的使用,并学会信号的多种表示形式和信号的可视 化; 2. 熟悉 MATLAB 中信号的基本运算和卷积运算。 二、实验时数: 2 学时 三、实验相关知识: (一)信号的描述 信号按照自变量的取值是否连续可分为连续时间信号和离散时间信 号。对一维时间信号进行时域分析,首先需要将信号随时间变化的规律用 二维曲线表示出来。对于简单信号可以通过手工绘制其波形,但对于复杂 的信号,手工绘制信号波形显得十分困难,且难以绘制精确的曲线。 1、连续时间信号的描述 在 MATLAB 中通常用三种方法来产生并表示连续时间信号,即 采用符号运算工具箱来描述信号; 采用向量表示法来描述信号; 采用 Simulink 工具来描述并产生信号。 1) 采用 MATLAB 软件符号运算工具箱来描述信号 方法一:符号函数图形计算器 在 MATLAB 环境下输入指令 funtool,则会产生三个视窗。即
基本信号在MATLAB中的表示和运算实验一

实验一:基本信号在MATLAB 中的表示和运算学院:机电与信息工程学院班级:电气10-4班学号:1010420427 姓名:徐焕超一、实验目的:1. 学会用MATLAB 表示常用连续信号的方法;2. 学会用MATLAB 进行信号基本运算的方法。
二、实验原理:1. 连续信号的MATLAB 表示MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。
表示连续时间信号有两种方法,一是数值法,二是符号法。
数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MA TLAB 的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。
2. 信号基本运算的MATLAB 实现信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法和符号法。
三、实验内容:1.验证实验原理中程序例1-1 指数信号,绘出波形如图1-1示:图1-1 图1-2例1-2 正弦信号,绘出波形如图1-2示:图1-3 图1-4例1-3 抽样信号,绘出波形如图1-3示:例1-4 三角信号,绘出波形如图1-4示:例1-5 虚指数信号,绘出波形如图1-5示:图1-5 图1-6例1-6 复指数信号,绘出波形如图1-6示:例1-7 矩形脉冲信号,绘出波形如图1-7示:例1-8 单位阶跃信号,绘出波形如图1-8示:图1-7 图1-8例1-9 正弦信号符号算法,绘出波形如图1-9示:例1-10 单位阶跃信号,绘出波形如图1-10示:图1-9 图1-10例1-11 以f(t)为三角信号为例,求f(2t) , f(2-2t),波形如图1-11所示:例1-12 已知f1(t)=sinwt , f2(t)=sin8wt , w=2pi , 求f1(t)+f2(t)和f1(t)f2(t) 的波形图图1-11 图1-12 例 1-13 求一阶导数的例题,结果如下示:dy1 =2*a*x*cos(a*x^2)dy2 =sin(x) + log(x)*sin(x) + x*cos(x)*log(x)例1-14 求积分的例题,结果如下:iy3 =x^(3/2)/3 - (a*x^3)/3 + x^6/6iy4 =exp(1)/2 - 12.画出信号波形(1)f(t)=(2-exp(-2t))*u(t)(2)f(t)=(1+cos(pi*t))[u(t)-u(t-2)]程序代码如下:t=-1:0.01:5;f1=(t>=0);f2=2-exp(-2*t);f3=(t-2>=0);f4=1+cos(pi*t);subplot(211)plot(t,f1,':',t,-f1,':',t,f1.*f2)grid on,title('f(t)=(2-exp(-2t))*u(t)');subplot(212)plot(t,f1,':',t,-f1,':',t,f4.*(f1-f3))grid on,title('f(t)=(1+cos(pi*t))[u(t)-u(t-2)]');信号波形如下示:3.求f(2t)、f(2-t)波形。
实验一信号的MATLAB表示及信号的运算

实验⼀信号的MATLAB表⽰及信号的运算信号的MATLAB表⽰及信号的运算⼀、实验⽬的1.掌握的MATLAB使⽤;2.掌握MATLAB⽣成信号的波形;3.掌握MATLAB分析常⽤连续信号;4.掌握信号的运算的MATLAB实现。
⼆、实验⼯具1.台式电脑⼀台;2.MATLAB7.1软件环境;三、实验内容编写程序实现下列常⽤函数,并显⽰波形。
1.正弦函数f(t)=Ksin(wt+a);2.矩形脉冲函数 f(t)=u(t)-u(t-t0);3.抽样函数sa(t)=sint/t;4.单边指数函数f(t)=Ke-t;5.已知信号f1(t)=u(t+2)-u(t-2), f2(t)=cos(2pt),⽤MATLAB绘制f1t)+f2(t)和f1(t)*f2(t)的波形。
四、实验要求预习信号的时域运算和时域变换(相加、相乘、移位、反折、尺度变化、例项)相关知识。
五、实验原理在某⼀时间区间内,除若⼲个不连续的点外,如果任意时刻都可以给出确定的函数值,则称信号为连续时间信号,简称为连续信号。
MATLAB提供了⼤量⽣成基本信号的函数,所以可利⽤连续信号在等时间间隔点的取值来近似表⽰连续信号,这些离散的数值能被MATLAB处理,并显⽰出来。
六、实验步骤1.打开MATLAB7.1软件,并在⽼师的指导和带领下逐步熟悉此软件;2.编写正弦函数程序:clear all;t=-8:.01:8;k=2;w=1;a=pi/4;f=k*sin(w*t+a);plot(t,f);grid;xlabel('t');ylabel('f(t)');axis([-8 8 -3 3]);3.编写矩形脉冲信号函数程序:clear all;t=-4:0.001:4;T=1;f1=rectpuls(t,4*T);f2=cos(2*pi*t);plot(t,f2+f1);axis([-4 4 -1.5 2.5]);grid on;figureplot(t,f2.*f1);axis([-4 4 -1.5 1.5]);grid on;4.编写抽样函数信号程序:clear all;t=-9:0.1:9;%f=sinc(t);f=sin(t)./t;plot(t,f);grid;xlabel('t');ylabel('Sa(t)');axis([-9 9 -0.4 1.3]) 5.编写单边指数信号程序:clear all;t=0:0.001:10;k=0.5;a=4;f=k*exp(-a*t);plot(t,f);grid;xlabel('t');ylabel('f(t)');6.编写f1t)+f2(t)信号程序7.编写f1t)*f2(t)信号程序七、实验结果⼋、实验结论在对MATLAB7.1软件进⾏了初步的认识和了解后,根据⽼师上课所说的⼀些⽅法和要求,我写出了本实验所要求的⼏个程序,并正确的显⽰出了波形,本实验基本取得成功。
实验一 常用信号的Matlab表示及运算
表1.1是常用序列的数学描述和Matlab表示, 包括:单位采样信号 、单位阶跃信号 、实指数信 号 、复指数信号 、正(余)弦信号 。 MATLAB提供了许多工具箱函数来产生信号, 其中大部分函数都需要一个时间向量t作为参数。 下面列举几种常用的函数:
sin()函数、sawtooth()函数、squar e()函数、sinc()函数等。
Hale Waihona Puke 例:离散信号x(n)={x(-2) x(-1) x(0) x(1) x(2)}; 定义时间轴向量n: n=[-2 -1 0 1 2]; 然后定义采样点向量x: x=[1 2 3 5 7]; 键入命令stem(n,x), axis([-3 2 0 8]) 则信号x(n)的图形,见书上图1.1。
这里 stem( )是matlab的绘图命令,用它可以表示离 散时间信号的图形。n表示横坐标的值,x表示纵坐标x (n)的值。 如果要画出连续时间信号的波形需要用plot( )命令。 axis( )是定义横、纵坐标长度命令。
四. 实验报告要求
1.简述实验原理及目的。
2.给出完成实验内容所需的源程序。 3.按实验内容和步骤附上实验过程中的信 号波形图.
附:常用操作命令
1.clear,clear all,close all 2.exit (quit) 3.% 4.n1:m:n2 5.窗口命令,打开,新建,复制等 等 6.xlabel( ),ylabel( ) 7.新建一个m主程序文件,下次可以调用。 8.Help 9.zeros( ) 10.ones( )
实验一 常用信号的Matlab 表示及运算
一. 实验目的
掌握Matlab中表示信号的方法。 掌握Matlab中信号运算的实现方 法。 掌握在Matlab中画信号波形的方 法。
实验一 常用基本信号的MATLAB表示和运算
一.实验目的1.学会用MATLAB 表示常用连续信号的方法;2.学会用MATLAB 进行信号基本运算的方法; 二.实验原理与步骤 原理:1.信号的MATLAB 表示 (1)向量表示法对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。
向量f 为连续信号f(t)在向量t 所定义的时间点上的样值。
例如:对于连续信号sin()()()t f t Sa t t==,同时用绘图命令plot()函数绘制其波形。
其程序如下: t2=-10:0.1:10; %定义时间t 的取值范围:-10~10,取样间隔为0.1,%则t2是一个维数为201的行向量 f2=sin(t2)./t2; %定义信号表达式,求出对应采样点上的样值 %同时生成与向量t2维数相同的行向量f2 figure(2); %打开图形窗口2Plot(t2,f2); %以t2为横坐标,f2为纵坐标绘制f2的波形 运行结果如下:(2)符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函数来绘出信号的波形。
例如:对于连续信号sin()()()t f t Sa t t==,我们也可以用符号表达式来表示它,同时用ezplot()命令绘出其波形。
其MATLAB 程序如下: Syms t; %符号变量说明f=sin (t )/t; %定义函数表达式ezplot (f,[-10,10]); %绘制波形,并且设置坐标轴显示范围 运行结果如下:(3)常见信号的MATLAB 表示 单位阶跃信号:方法一:调用Heaviside(t)函数首先定义函数Heaviside(t)的m函数文件,该文件名应与函数名同名即Heaviside.m。
%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为yfunction y=Heaviside(t)y=(t>0);%定义函数体,即函数所执行指令%此处定义t>0时y=1,t<=0时y=0,注意与实际的阶跃信号定义的区别。
matlab实验1信号的基本运算学
实验1信号的基本运算一、实验目的1、熟悉Matlab 的应用开发环境及Matlab 的基础知识。
2、了解Matlab 基本功能并实现简单的功能,掌握信号的基本运算。
二、基本要求:1、熟悉Matlab 的应用开发环境及Matlab 的基础知识。
( Matlab 基本知识。
见信号与系统基础,华中科技大学出版社,金波等)附录。
2、了解Matlab 基本功能并实现简单的功能,掌握信号的基本运算。
3、学生分组人数:1人/组。
实验内容1.了解Matlab 的应用开发环境。
2.矩阵和数组的运算:矩阵的创建、矩阵的运算、数组的运算。
3.多项式操作:求根乘法、加法、除法、导数。
4. 程序控制语句:For 循环语句、While 循环语句。
实验要求1、讲所列目的,完成预习报告。
2、根据实验内容及试验基本要求完成实验。
3、根据实验写出实验报告。
报告要求介绍Matlab 的应用开发环境,实验内容中2、3、4所要求的内容的程序。
写明试验原理,内容、步骤,及试验结果(包括图形)。
******************************************************************************a) 创建矩阵1、⎥⎦⎤⎢⎣⎡=654321x 2、创建矩阵y ,y 的第一行元素从1到6,间隔为1;第二行元素从12到1,间隔为2。
3、从1到9等取间隔的6个点构成矩阵z 。
4、从100到103按对数取等间隔的5个点构成矩阵g 。
5、用内部函数生成特殊矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=40000300002000011x 6、生成零矩阵⎥⎦⎤⎢⎣⎡=000000002x7、生成单位矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=1000100013x 8、生成全1矩阵⎥⎦⎤⎢⎣⎡=11111111114x 二、矩阵的运算与数组的运算已知⎥⎦⎤⎢⎣⎡=4321A ,⎥⎦⎤⎢⎣⎡=5432B , 求C=A*B ,D=A.*B ,E=A./B ,F=A.\B ,G=A\B ,H=A/B ,I=A^2,J=A.^2三、多项式操作求多项式11625012234+++-x x x x 的根r ,再由r 得该多项式。
MATLAB实现信号的描述及运算
2. 数字信号的描述及运算
2.1 离散周期信号的描述 1)正弦序列
n 6
例:利用MATLAB绘制正弦序列
x ( n ) sin(
)
的波形图
n=0:39; x=sin(pi/6*n); stem(n,x, 'fill'); title('正弦序列') ylabel('x(n)'); xlabel('n')
练习题
1、产生幅度为4,数字角频率为pi/3,相位为0,基 本周期为6的正弦序列。 2、产生一个幅度为2,数字角频率为pi/3,占空比 duty=30%的离散周期方波。
n1=-3:3;f10=[3,-2,5,1,-1,2,-3]; n2=-1:4;f20=[9,-2,0,-2,-4,8]; n=-3:4; f1=[f10 zeros(1,8-length(n1))]; f2=[zeros(1,8-length(n2)),f20]; y=f1+f2; subplot(3,1,1);stem(n,f1); subplot(3,1,2);stem(n,f2); subplot(3,1,3);stem(n,y);
3)信号的时移、反褶、尺度变换
例:已知信号波形如图,利用MATLAB命令绘制以下函数波形图。 1)f(t-2) 2) f(3t) 3) f(-t) 4) f(-3t-2)
首先创建函数ft function f=ft(t) f=uN(t+2)-uN(t)+(-t+1).*(uN(t)-uN(t-1));
2. 数字信号的描述及运算
2.1 离散周期信号的描述 1)正弦序列
产生幅度为A,一定 数字角频率,相位的 正弦序列
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 基本信号在MATLAB 中的表示和运算一、实验目的1. 学会用MA TLAB 表示常用连续信号的方法;2. 学会用MA TLAB 进行信号基本运算的方法;二、实验原理1. 连续信号的MATLAB 表示MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。
表示连续时间信号有两种方法,一是数值法,二是符号法。
数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB 的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。
例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, y2y1=sin(a*x^2); %符号函数y1y2=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. 验证实验原理中程序2. 画出信号波形(1))()2()(2t e t f t ε--= (2))]2()()[cos 1()(--+=t t t t f εεπ3.信号)]2()()[cos 1()(--+=t t t t f εεπ,求)2(t f 、)2(t f -波形四、实验要求1. 在MATLAB 中输入程序,验证实验结果,并将实验结果存入指定存储区域。
2. 对于程序设计实验,要求通过对验证性实验的练习,自行编制完整的实验程序,实现对信号的模拟,并得出实验结果。
3. 在实验报告中写出完整的自编程序,并给出实验结果。
五、思考题1. 冲击信号与阶跃信号各有什么特点?2. 如何利用基本信号表示方波、三角波等信号?。