基本信号在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中信号的描述与运算
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,则会产生三个视窗。即
实验一信号的表示与信号的运算 2
实验一:信号的表示与信号的运算实验学时:2实验类型:综合实验要求:任选一、实验目的学习使用MATLAB产生基本信号、绘制信号波形、实现信号的基本运算,为信号分析和系统分析奠定基础。
二、相关知识点1.连续信号的产生2.离散信号的产生及基本运算三、实验原理、方法和手段MATLAB提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期矩形波信号等。
这些基本信号是信号处理的基础。
1.连续信号的产生(1)阶跃信号产生阶跃信号的MATLAB程序如下:t= -2: 0.02: 6;x=(t>=0);plot(t,x);axis([-2,6,0,1.2]);(2)指数信号产生随时间衰减的指数信号的MATLAB程序如下:t = 0: 0.001: 5;x = 2*exp(-1*t);plot(t,x);(3)正弦信号利用MATLAB提供的函数cos和sin可产生正弦和余弦信号。
产生一个幅度为2, 频率为4Hz, 相位为π/6的正弦信号的MATLAB 程序如下:f0=4;w0=2*pi*f0;t = 0: 0.001: 1;x = 2*sin(w0*t+ pi/6);plot(t,x);(4)矩形脉冲信号函数rectpulse(t,w)可产生高度为1、宽度为w 、关于t=0对称的矩形脉冲信号。
产生高度为1、宽度为4、延时2秒的矩形脉冲信号的MATLAB 程序如下:t=-2: 0.02: 6;x=rectpuls(t-2,4);plot(t,x);(5)抽样信号可使用函数sinc(x)计算抽样信号 ,函数sinc(x)的定义为 ,产生的MATLAB 程序如下: t= -10:1/500:10;x=sinc(t/pi);plot(t,x);2.离散信号的产生(1)单位脉冲序列和单位阶跃序列函数zeros(1,n) 可以生成单位脉冲序列,产生1行n 列的由0组成的矩阵。
产生单位脉冲序列的MATLAB 程序如下:k= -4: 20;x=[zeros(1,7),1,zeros(1,17)];stem(k,x)函数ones(1,n) 可以生成单位阶跃序列,产生1行n 列的由1组成的矩阵。
实验一 MATLAB基本操作及运算(含实验报告)
实验一 MATLAB基本操作及运算(含实验报告)实验一matlab基本操作及运算(含实验报告)实验一matlab基本操作及运算一、实验目的1、理解matlab数据对象的特点;2、掌握基本matlab运算规则;3、掌握matlab帮助的使用方法;二、实验的设备及条件计算机一台(带有matlab7.0以上的软件环境)。
三、实验内容要求建立一个名为experiment01.m的,把与实验内容1-7相关的实验命令都放入该文件中,题与题之间用相应注释分割。
注意对实验中出现的相关函数或变量,请使用help 或doc查询相关帮助文档,学习函数的用法。
1、创建以下标量:1)a=102)b=2.5×10233)c=2+3i,(i为虚数单位)4)d=ej2?/3,(j为虚数单位,这里要用到exp,pi)2、建立以下向量:1)avec=[3.1415926]2.7182)bvec=??28182??3)cvec=[54.8…-4.8-5](向量中的数值从5到-5,步长为-0.2)4)dvec=[100100.01…100.99101](产生1至10之间的等对数间隔向量,参照logspace,特别注意向量的长度)3、建立以下矩阵:221)amat2?2??amat一个9×9的矩阵,其元素全系列为2;(参照ones或zeros)10??10??0?02)bmat050??0?0?01??0?bmat是一个9×9的矩阵,除主对角上的元素为[123454321]外,其余元素均为0。
(参考diag)。
111?129192?2?3)cmat?1020?100cmat为一个10×10的矩阵,可有1:100的向量来产生(参考reshape)nan4)dmatnan??nannannannannannannannan?nan??nan??dmat为3×4的nan矩阵,(参照nan)13155)emat2210?87?6)产生一个5×3随机整数矩阵fmat,其值的范围在-3到3之间。
实验一 基本信号
实验一 基本信号一.实验原理1.基本信号的产生:离散信号在时域均可用序列来表示,图形则给人形象直观的印象,因此本实验利用MA TLAB 产生基本信号,绘制信号波形。
其中包括:延迟单位脉冲序列,延迟单位阶跃序列,矩形序列,实指数序列,正弦序列,副指数序列。
2.信号的基本运算:从数学角度来讲,系统可以看成是通过一组运算把一个离散信号(输入)转化成另一个信号(输出)的算法,本实验的另一目的是实现信号的基本运算。
二.实验要求熟悉MATLAB 环境,产生和绘出各种基本信号。
由于MA TLAB 的唯一数值数据类型是M ×N 为矩阵,信号必须表示为向量:列向量用M ×1维矩阵,行向量用1×N 维矩阵。
在MATLAB 中所有信号必须是有限长度。
这与通常习题的解析解形式显著不同。
MA TLAB 预先设置向量标号为1到N,N 为向量长度。
阈值相对应,信号向量通常是在谋取间对信号抽样的结果,其标号为0到N-1。
或者,抽样可能开始于任意负数,例如-N 。
三.实验内容1. 冲击信号产生并绘出下面的序列。
在每种情况下,水平n 轴应该只在指定的区间上展开并应该相应标注。
使用stem 指令使每个序列显示成离散时间信号。
x[n]=0.9δ[n-5] 1<=n<=20x[n]=0.8δ[n] -15<=n<=15x[n]=1.5δ[n-333] 300<=n<=350x[n]=4.5δ[n+7] -10<=n<=0程序:(1)L=20;nn=1:L;x1=zeros(L,1);x1(5)=0.9;stem(nn,x1)0246810121416182000.10.20.30.40.50.60.70.80.9(2)L=31;nn=-15:15;y=zeros(L,1);y(16)=0.8;stem(nn,y) -15-10-505101500.10.20.30.40.50.60.70.8(3) L=51;nn=300:350;z=zeros(L,1);z(34)=1.5;stem(nn,z) 30030531031532032533033534034535000.511.5(4)L=11;nn=-10:0;m=zeros(L,1);m(4)=4.5;stem(nn,m)-10-9-8-7-6-5-4-3-2-1000.511.522.533.544.53指数信号a.研究下面的MA TLAB 好书,看它如何产生离散时间指数信号。
实验一常见信号的MATLAB表示及运算
实验一 常见信号的MATLAB 表示及运算一、实验目的1.熟悉常见信号的意义、特性及波形2.学会使用MATLAB 表示信号的方法并绘制信号波形3. 掌握使用MATLAB 进行信号基本运算的指令二、实验原理信号一般是随时间而变化的某些物理量。
按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。
若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。
MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。
根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。
在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。
下面只介绍连续时间信号的MATLAB 表示及其波形绘制方法。
连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。
从严格意义上讲,MATLAB 并不能处理连续信号。
在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。
在MATLAB 中连续信号可用向量或符号运算功能来表示。
⑴ 向量表示法对于连续时间信号()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()函数绘制其波形。
实验一 常用信号的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,注意与实际的阶跃信号定义的区别。
实验1 基本信号在MATLAB中的表示和运算
实验一 基本信号在MATLAB 中的表示和运算一、实验目的1. 学会用MA TLAB 表示常用信号的方法;2. 学会用MA TLAB 进行信号基本运算的方法。
二、实验原理1. 连续信号的MATLAB 表示MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。
表示连续时间信号有两种方法,一是数值法,二是符号法。
数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MA TLAB 的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。
例1-1实指数信号 指数信号在MA TLAB 中用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 函数表示。
调用格式为 ft=tripuls(t,width,skew),产生幅度为1,宽度为width ,且以0为中心左右各展开width/2大小,斜度为skew 的三角波。
信号在MATLAB中的表示
实验一信号在MATLAB 中的表示一、实验目的1、掌握运用MATLAB 表示常用连续和离散时间信号的方法。
2、观察并熟悉这些信号的波形和特性。
二、实验设备计算机、MATLAB 软件三、实验内容1、连续时间信号的MATLAB 表示自变量在整个区间内都有定义的信号,成为连续时间信号,简称连续信号。
从严格意义上讲,MATLAB 数值计算的方法并不能处理连续信号。
可利用连续信号在等时间间隔点的取样值来表示近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB 处理,并且能较好的近似表示连续信号。
①指数信号指数信号的基本形式为atAe t f =)(。
在MATLAB 中可以用exp 函数来表示,其语句格式为)*exp(*t a A ft =。
练习1:用MATLAB 命令产生指数信号t e t f 5367)(=,并绘制出-3<t<3的波形。
解:MATLAB 源程序为>>t=-3:0.01:3;>>A=7/6;>>a=3/5;>>ft=A*exp(a*t);>>plot(t,ft)>>grid on;运行结果如下②正弦信号正弦信号的基本形式为)cos()(ϕω+=t A t f 或)sin()(ϕω+=t A t f ,分别用MATLAB 内部函数cos 和sin 表示,其语句格式为:)*cos(*phi t A ft +=ω)*sin(*phi t A ft +=ω练习2:用MATLAB 产生信号)62sin(2)13cos(10)(ππππ++-=t t t f ,并绘制0<t<3的波形解:MATLAB 源程序为>A1=pi/10;>>A2=2;>>w1=pi/3;>>w2=2*pi;>>phi1=1;>>phi2=pi/6;>>t=0:0.01:3;>>ft=A1*cos(w1*t+phi1)+A2*sin(w2*t+phi2);>>plot(t,ft),grid on;>>axis([03-33]);运行结果如下③抽样函数抽样信号的基本形式为tt t Sa )sin()(=,在MATLAB 中国可以用sinc(t)函数表示,其定义为t t t c ππ)sin()(sin =,其调用形式为)(sin t c ft =.练习3:用MATLAB 产生信号)2(3t Sa ft π=,并绘制时间为ππ66-<<t 的波形图解:MATLAB 源程序为>>t=-6*pi:pi/100:6*pi;>>A=3;>>ft=A*sinc(2*t);>>plot(t,ft),grid on;>>axis([-2020-14]);运行结果如下:④矩形脉冲信号矩形脉冲信号在MATLAB中用rectpuls函数表示,其调用形式为rectpulstft=,(width)用以产生一个幅值为1,宽度为width且相对于t=0点左右对称的矩形波信号。
实验- 基本信号在 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.掌握用Matlab软件产生基本信号(连续/离散的正弦、方波、锯齿波、Sinc 函数)的方法2.应用Matlab软件实现信号的加、减、乘、除运算3.应用Matlab软件实现信号的时移、反折、尺度变换二、实训仪器与设备电脑、MATLAB软件三、实训内容1.产生连续信号波形的方法(1)利用 Matlab 软件的 funtool 符号计算方式——图式化函数计算器在 Matlab 环境下输入指令 funtool,产生三个视窗:figure No.1:可轮流激活,显示 figure No.3 的计算结果figure No.2:可轮流激活,显示 figure No.3 的计算结果figure No.3:函数运算器。
其中 figure No.3 函数运算器的功能:f,g可输入函数表达式。
x是自变量,在缺省时是在[-2pi,2pi]范围。
自由参数是 a。
分别输入完毕,按下面四排的任一运算操作键,则可在 figure No.1或 figure No.2 中看到产生的波形。
figure No.3 函数运算器可实现的数学运算:Df 求 f(x)对于 x 的导数 If 求 f(x)对于 x 的积分Simp 使 f(x)的表达式尽可能简化 Num 取 f(x)的分子表达式Den 取 f(x)的分母表达式 1/f 求 f(x)的倒数finv 求 f(x)的反函数函数 f(x)和自由参数 a 的运算:f+a,f-a,f*a,f/a,f^a, x+a , x*a 函数 f(x)和 g(x)函数间的运算:f+g,f-g,f*g,f/g,f=g,g=f(2)利用 Matlab 软件的信号处理工具箱(Signal Processing Toolbox)中的函数产生常见信号的函数如表 2.1-1 所示。
表 2.1-1a、产生正弦波例如:t=(0:0.001:50);y=sin(2*pi*50*t);plot(t(1:50),y(1:50))b、产生叠加随机噪声的正弦波例如:t=(0:0.001:50);y=sin(2*pi*50*t);s=y+randn(size(t));plot(t(1:50),s(1:50))2.连续信号的运算(1)相加连续信号的相加,是指两信号的对应时刻值相加,即f(t)= f1(t)+f2(t)。
信号处理实验一 用matlab描述基本信号
哈尔滨工程大学实验报告实验名称:用matlab描述基本信号班级:电子信息工程4班学号:姓名:实验时间: 2016年10月10日成绩:________________________________指导教师:栾晓明实验室名称:数字信号处理实验室哈尔滨工程大学实验室与资产管理处制实验一 用matlab 描述基本信号一、 冲激信号1、 原理:最简单的信号是(移位的)单位冲激信号:δ[n -n 0] = ⎩⎨⎧≠=00 1n n n n()在MATLAB 中产生冲激信号,必须先确定所关注信号部分的长度。
如果准备用冲激信号δ[n ]来激励因果LTI 系统,可能需要观察从n = 0到n = L -1总共L 个点。
若选择L = 31,下面的MATLAB 代码将产生一个“冲激信号”。
1. L = 31;2. nn = 0 : (L-1);3. imp = zeros(L, 1);4.imp(1) = 1;注意,根据MATLAB编址约定,n=0标号必须对应imp(1)。
例:产生移位冲激信号程序(函数文件)function [x,n] = impseq(n0,n1,n2)% 产生 x(n) = delta(n-n0); n1 <=n0 <= n2% ----------------------------------------------% [x,n] = impseq(n0,n1,n2)%if ((n0 < n1) | (n0 > n2) | (n1 > n2))error('参数必须满足 n1 <= n0 <= n2') endn = [n1:n2];%x = [zeros(1,(n0-n1)), 1, zeros(1,(n2-n0))];x = [(n-n0) == 0];以上函数文件可以产生指定区间内的冲激移位脉冲。
例1—1:调用这个函数文件生成并绘制: x(n) = 2δ[n+2]-δ[n -4] -5≤ n ≤ 5程序% x(n) = 2*delta(n+2) - delta(n-4), -5<=n<=5 n = [-5:5];x = 2*impseq(-2,-5,5)-impseq(4,-5,5); stem(n,x); title('例 的序列图')ylabel('x(n)'); axis([-5,5,-2,3]);text,-2,'n')-5-4-3-2-112345例 1-1 的序列图x (n )n2、实验内容(1)函数x1[n]=δ[n-5]n = [1:20];%区间1到20的点x = *impseq(5,1,20);%调用impseq函数stem(n,x);%绘图title('x1序列图')ylabel('x(n)')xlabel('n')x(n)n(2)函数x2[n]=δ[n]n = [-15:15];x = *impseq(0,-15,15);stem(n,x);title('x2序列图')ylabel('x(n)')xlabel('n')(3)函数x3[n]=δ[n-333]n = [330:350];x = *impseq(333,330,350);x(n)nx(n)nstem(n,x);title('x3序列图') ylabel('x(n)') xlabel('n')(4)函数x4[n]=δ[n+7] n = [-10:0];x = *impseq(-7,-10,0); stem(n,x);title('x4序列图') ylabel('x(n)')xlabel('n')x(n)n3、结果及分析由实验代码及绘制出图形可以看出,产生移位冲激信号的函数功能正常,可以按要求产生移位冲激信号二、正弦信号1、原理:另一个非常基本的信号是正弦信号。
常用基本信号的MATLAB表示和运算
《信号与系统》课程实验报告1.实验原理一、信号的MATLAB表示(1)连续信号的MATLAB表示MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。
表示连续时间信号有两种方法,一是数值法,二是符号法。
数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。
指数信号正弦信号抽样信号三角信号虚指数信号复指数信号矩形脉冲信号单位阶跃信号正弦信号符号算法单位阶跃信号(2)离散信号的MATLAB表示单位脉冲序列单位阶跃序列复指数序列二、信号基本运算的MATLAB实现信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法和符号法.以f(t)为三角信号为例,求f(2t) , f(2-2t)三、离散序列的差分与求和 2.程序的设计与实现 (1))()2()(2t u e t f t --=程序清单如下: A=-1; a=-2;t=0:0.01:5; %定义时间点ft=(2+A*exp(a*t)).*(t>=0); %计算这些点的函数值plot(t,ft); %画图命令,用直线段连接函数值表示曲线 grid on; %在图上画方格 axis([-1,5,-0.5,5]); 信号波形如下所示:(2) 程序清单如下: t=-5:0.01:8;ut=(t>=0)-(t>=2); ft=1+cos(pi*t); f=ft.*ut;)]2()()[cos 1()(--+=t u t u t t f πplot(t,f); grid on;axis([-5,8,-0.5,2.5]); 信号波形如下所示:3.程序的设计与实现信号)()2()(2t u e t f t--=,画出)2(t f 、)2(t f -波形。
实验一信号基本运算的MATLAB实现
闽江学院电子系实验报告学生姓名:3142731班级:学号:课程:《信号与系统》实验一、(填实验几,例:试验一):实验一二、实验地点:实验楼A210实验目的:1.学习如何利用Matlab实现信号的基本运算;2.掌握信号的基本运算的原理,加深对书本知识的理解;三、实验内容:1.信号的尺度变换、翻转、平移运算信号的尺度变换、翻转、平移运算,实际上是函数自变量的运算。
尺度变换中只要自变量乘以一个常数,可用算术符号“ ”来表示。
在信号翻转中自变量乘以一个负号,可以在MATLAB中直接写出,也可用函数fliplr(f)函数实现。
在信号平移中函数自变量加减一个常数,在MATLAB中用算术运算符“+”或“-”来实现。
例:对一三角波f(t),画出f(2t)和f(-2t+1)的波形。
波形图如下:2.信号的导数和积分diff函数用来求f(x)对于x的导数,格式:y=diff(f(x)) /h,h为步长,quad函数用来求连续信号的定积分,格式:q = quad(fun,a,b)。
例:对上题的三角波进行微分运算和从[-3,3]的定积分运算。
3.离散序列的差分与求和差分用diff函数实现,调用格式为:y=diff(f),求和用sum函数实现,调用格式为:y=sum(f(k1:k2)),把k1和k2之间的所有样本f[k]加起来。
四、实验环境(使用的软硬件):MATLAB 7.0六、思考练习:1.(1)编写如图Exercise1.1所示波形的MATLAB函数。
(2)试画出f(t),f(0.5t),f(1-2t)的波形。
2、画出如图exercise1.2所示序列f[2k]、f[-k]和f[k+2],f[k-2]的波形。
并求f[k]的和报告评分:0 1 2-11f(t)tExercise 1.1231-2-1-30 1 2 3-1-2f[k]kExercise1.2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:基本信号在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/6
iy4 =
exp(1)/2 - 1
2.画出信号波形
(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)波形。
程序代码如下:
%用subs函数来替换
syms t;
n=-1:0.01:5;
f=(2-exp(-2*t)).*heaviside(t); f1=subs(f,'t',n);
subplot(3,1,1);
plot(n,f1); grid on;
title ('f(t)');
f2=subs(f,'t',2*n);
subplot(3,1,2);
plot(n,f2);grid on;
title('f(2t)')
f3=subs(f,'t',2-n);
subplot(3,1,3);
plot(n,f3);grid on;
title('f(2-t)');
%直接替换
t=-1:0.01:5;
f1=(2-exp(-2*t)).*heaviside(t); subplot(3,1,1);
plot(t,f1); grid on;
title ('f(t)');
subplot(3,1,2);
plot(t/2,f1);grid on; title('f(2t)')
subplot(3,1,3);
plot(2-t,f1);grid on; title('f(2-t)');
波形如下示:。