实验一基本信号产生及信号的基本运算及MATLAB程序
- 格式:doc
- 大小:57.50 KB
- 文档页数:3
信号与信号实验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 中的表示和运算学院:机电与信息工程学院班级:电气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 基本操作及简单信号处理1 实验目的● 学会运用MATLAB 表示的常用离散时间信号; ● 学会运用MATLAB 实现离散时间信号的基本运算。
2 实验原理及实例分析2.1 离散时间信号在MATLAB 中的表示离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。
离散序列通常用)(n x 来表示,自变量必须是整数。
离散时间信号的波形绘制在MATLAB 中一般用stem 函数。
stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。
如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。
由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。
类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。
1. 单位阶跃序列单位阶跃序列)(n u 定义为)0()0(01)(<≥⎩⎨⎧=n n n u (1-1)在MA TLAB 中,冲激序列可以通过编写uDT .m 文件来实现,即function y=uDT(n)y=n>=0; %当参数为非负时输出1调用该函数时n 也同样必须为整数或整数向量。
【实例1-1】 利用MATLAB 的uDT 函数绘出单位阶跃序列的波形图。
解:MATLAB 源程序为>>n=-3:5; >>x=uDT(n);>>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位阶跃序列') >>axis([-3 5 -0.1 1.1])程序运行结果如图1-1所示。
2. 矩形序列矩形序列)(n R N 定义为),0()10(01)(N n n N n n R N ≥<-≤≤⎩⎨⎧= (1-2)矩形序列有一个重要的参数,就是序列宽度N 。
一.实验目的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. 学会用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 的三角波。
上机1 基本信号产生及运算一、上机目的1、利用MATLAB产生基本信号、绘制信号波形;2、实现信号的基本运算,重点掌握卷积和运算。
二、上机内容1、MATLAB的基本应用方法命令窗口(Command window)的使用:输入各类变量或函数名称,按回车即得到当前变量或函数值;输入各类命令,按回车即得到该命令执行结果;若需要输入多行命令或程序,各行间用“;”间隔;M文件的编制与调试执行一行中“%”以后内容为注释部分,不影响程序执行;程序编制完毕后,如果出现错误,可在命令窗口看到错误类型及位置,根据错误检测信息对程序进行调试;MATLAB命令及函数信号的表达方式及作图在MA TLAB中,任何变量或函数均表现为向量,任何向量的元素编号均从1开始;序列(向量)表达方式设定坐标向量n和信号向量x;x和n为长度相同的向量,向量的编号从1开始;n=[-2 :0.1:2] 坐标向量可以直接逐点写出:n=[2 3 4 5 6 7];也可以采用起点,终点和步长的形式写出:n=[-2 :0.1:2] ;信号向量可以直接逐点写出:x=[1 2 3 4 3 2];也可以采用与n有关的函数运算形式写出:例如:x=3*n x=exp(j*(pi/8)*n)作图:采用stem(n,x)作出离散图形DT信号采用plot(n,x)作出连续图形(折线连接)CT信号作图时主要通过合理设置n的范围及步长来保证变量坐标的正确性;可以利用title,axis等函数为图形设置说明和坐标范围;特别注意:作图时必须保证坐标向量与信号向量长度完全一致;0101:离散序列的作图直接表现离散序列n=[2 3 4 5 6 7];x=[1 2 3 4 3 2];stem(n,x);0102:将图形表现为连续曲线n=[2 3 4 5 6 7];x=[1 2 3 4 3 2];plot(n,x);0203:信号表现为坐标向量的函数n=[2 3 4 5 6 7];x=exp(j*(pi/8)*n);plot(n,x);0204:图形说明和坐标范围的设置n=[-20:0.5:20]; x=exp(j*(pi/8)*n);plot(n,x),title('n=[-20:0.5:20];x=exp(j*(pi/8)*n);plot(n,x)'); axis([-20,20,-2,2]);2、基本信号的产生 (1)单位抽样序列:δ(n)=⎩⎨⎧≠0n 00n 1,=,={}...00100...,,,,,,可以通过以下来实现: x=zeros(1,N); x(1)=1;例1: 产生32点单位抽样序列 clear all N=32; x=zeros(1,N); x(1)=1; xn=0:N-1; stem(xn,x); axis([-1 33 0 1.1])δ(n)=⎩⎨⎧≠kkn 0n 1,=,={}...00100...,,,,,,例2: 产生32点,并右移20的单位抽样序列 clear all N=32;K=20; x=zeros(1,N); x(K)=1; xn=0:N-1; stem(xn,x); axis([-1 33 0 1.1])(2)单位阶跃序列:u(n)= ⎩⎨⎧<≥0n 00n 1,,={}...11100...,,,,,,MATLAB 实现 x=ones(1,N);例3: 产生32点的单位阶跃序列 clear all N=32; x=ones(1,N); x(1)=1; xn=0:N-1; stem(xn,x); axis([-1 32 0 1.1])51015202530(3)实值指数序列:x(n)=a n, a R例4:n=[0:10],x(n)=(0.9)nn=[0:10];x=(0.9).^n;stem(n,x)012345678910 (4)复值指数序列:x(n)=e (σ+jw0)nn=[0:10];x=exp((2+3j)*n)(5)正弦序列:x(n)=cos(w0n+θ)n=[0:10];x=3*cos(0.1*pi*n+pi/3)+2*sin(0.5*pi*n);(6)随机序列rand(1,N); % 产生[0,1]上均匀分布的随机序列,N为序列长度。
实验一基本信号在 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的信号表示与运算一、实训目的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)。
《信号与系统》课程实验报告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表示及信号运算一.实验目的1、掌握 MATLAB 的使用;2、掌握 MATLAB 生成信号波形;3、掌握 MATLAB 分析常用连续信号;4、掌握信号运算的 MATLAB 实现。
二.实验内容及结果(一)信号的MATLAB表示1.用MATLAB实现函数)f=,并绘制)(tf的波形。
t()(tSa2.用MATLAB绘制正弦函数)tf+=的波形。
Ksin()(awt3.用MATLAB绘制单边指数函数at=)(的图形。
f-tKe4.用MATLAB绘制单位冲击信号的波形。
5.用MATLAB绘制单位阶跃信号的波形。
6.用MATLAB绘制周期方波信号的波形。
7.用MATLAB绘制矩形脉冲信号的波形。
8.用MATLAB绘制三角波脉冲信号的波形。
9.用MATLAB 实现函数)32sin()(1.0t e t x t -=,并绘制波形。
(二)信号运算的MATLAB 实现10.对1-8所示的三角波,利用MATLAB 画出)2(t f 和)22(t f -的波形。
三.实验中的主要结论MATLAB 可以方便的生成信号波形,分析常用连续信号,完成信号的运算。
用户可以自己编写程序实现所需函数,显示出波形,并且实现连续信号的基本运算。
.思考题1.讨论)(0t t f +与)(0t t f +-平移的方向是否相同?为什么?2.将信号)(t f 变成)42(+-t f 共有多少种方法,请列举出来。
(1).平移方向不同,因为平移都是相对于t 的,)(0t t f +应该向左移,而))((0t t f --向右移。
(2).两种方法。
1.f(t)->f(t+4)->f(-2t+4).2.f(t)->f(-2t)->f(-2(t-4))=f(-2t+4).。
实验一 基本信号的产生与运算一、 实验目的学习使用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是一种用于数值计算和数据可视化的高级编程语言和环境。
它提供了丰富的函数和工具箱来处理信号。
在MATLAB中,我们可以进行一系列信号的基本运算,包括信号的加法、乘法、平移、取反等。
下面将介绍几种常见的信号基本运算的MATLAB实现方法。
1.信号的加法:信号的加法可以使用MATLAB的"+"操作符来实现。
例如,我们有两个信号x1和x2,它们的采样点分别存储在向量x1和x2中,我们可以使用以下代码将它们相加,并将结果存储在向量y中:```matlabx1=[1,2,3];x2=[4,5,6];y=x1+x2;disp(y); % 输出结果:5 7 9```2.信号的乘法:信号的乘法可以使用MATLAB的"\*"操作符来实现。
与信号的加法类似,我们可以将要相乘的信号存储在向量中,并使用"\*"操作符进行乘法运算。
例如,两个信号x1和x2的乘积可以用以下代码实现:```matlabx1=[1,2,3];x2=[4,5,6];y=x1.*x2;disp(y); % 输出结果:4 10 18```3.信号的平移:信号的平移是将信号在时间上移动一定的步长。
在MATLAB中,我们可以使用向量索引来实现信号的平移。
例如,我们有一个信号x,要将其向右平移3个单位,可以使用以下代码实现:```matlabx=[1,2,3,4,5];shift = 3;y = [zeros(1, shift), x];disp(y); % 输出结果:0 0 0 1 2 3 4 5```在上述代码中,我们使用了`zeros`函数生成了一个长度为平移步长的零向量,并将其与信号x进行拼接。
4.信号的取反:信号的取反是将信号的每个采样点的值取相反数。
在MATLAB中,我们可以使用"-"操作符来实现信号的取反。
例如,我们有一个信号x,要将其取反,可以使用以下代码实现:```matlabx=[1,-2,3,-4,5];y=-x;disp(y); % 输出结果:-1 2 -3 4 -5```在上述代码中,我们使用了"-"操作符来实现信号的取反。
实验一基本信号在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 表示及运算一、实验目的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()函数绘制其波形。
实验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 得该多项式。
实验一 基本信号产生及信号的基本运算
一、实验目的
1.熟悉Matlab 的使用
2.掌握信号处理中基本信号的产生
3.掌握信号处理中信号的基本运算
二、实验内容
1.编程产生以下常用信号并画出波形(n 为信号波形显示区间)
(1) )(0n n +δ 0n =-5;0;5 1010≤≤-n
(2) )(0n n u + 0n =-5;0;5 3010≤≤-n
(3)cos()()8
n u n π
300≤≤n (4)1()()4
n u n 020n ≤≤ 2.编程实现以下基本运算并画出波形
(1)1()()(10)f n u n u n =-- 2020n -≤≤
(2)21()(2)f n f n =-
(3)31()()f n f n =-
(4)已知(){11021}x n =-,,,,, 求10()2R h n =(n),求系统的零状态响应。
三、思考题
1.MATLAB 中几种方式可以计算系统的零状态响应?
四、实验报告要求
1.简述实验目的
2.按实验内容要求编写实验程序,并附上实验结果
3.回答思考题
4.总结实验中的问题
1:
n1=-10:10;
x1=[(n1-0)==-5];x2=[(n1-0)==0];x3=[(n1-5)==5]; subplot(231)
stem(n1,x1,'fill'),grid on
xlabel('T1'),title('x(n)=Delta(n-5)')
subplot(232)
stem(n1,x2,'fill'),grid on
xlabel('T2'),title('x(n)=Delta(n+0)')
subplot(233)
stem(n1,x3,'fill'),grid on
xlabel('T3'),title('x(n)=Delta(n+5)')
n2=-10:30;
u1=[(n2-5)>=0];u2=[(n2-0)>=0];u3=[(n2+5)>=0]; subplot(234)
stem(n2,u1,'fill'),grid on
xlabel('T1'),title('x(n)=u(n-5)')
subplot(235)
stem(n2,u2,'fill'),grid on
xlabel('T2'),title('x(n)=u(n+0)')
subplot(236)
stem(n2,u3,'fill'),grid on
xlabel('T3'),title('x(n)=u(n+5)')
2:
n1=0:30;
x1=cos(pi/8*n1);
subplot(211);
stem(n1,x1,'fill');grid on;
title('x(n)=cos(pi/8*n)u(n)');
n2=0:20;
x2=(1/4).^n2;
subplot(212);
stem(n2,x2,'fill');grid on;
title('x(n)=(0.25^n)u(n)');
3:
n=-20:20;
x1=[(n-0)>=0&(n-10)<=0];
%x1=[(n-0)>=0];x2=[(n-10)>=0];x3=x1-x2;
subplot(311);
stem(n,x1);
title('f1(n)=u(n)-u(n-10)');
subplot(312);
stem(n+2,x1)
title('f2(n)=f1(n-2)');
subplot(313);
stem(-n,x1);
title('f3(n)=f1(-n)');
4:
nx=0:4;
x=[1,-1,0,2,1];
h=2*ones(1,10);
nh=0:9;
nys=nx(1)+nh(1);nyf=nx(end)+nh(end); ny=nys:nyf;
y=conv(h,x);
stem(ny,y,'fill');
title('零状态响应');
5:。