当前位置:文档之家› 信号与系统-连续信号和离散信号的表示与卷积实验报告

信号与系统-连续信号和离散信号的表示与卷积实验报告

实验一:连续信号和离散信号的表示与卷积一.实验目的1. 学习MATLAB 软件产生信号和实现信号的可视化2. 学习和掌握连续和离散信号的时域表示方法3. 学习和掌握连续信号和离散信号卷积方法二.实验原理1. 信号的表示方法● 常用信号:➢ 连续函数()θω+=t t f sin )(, atAe t f =)(,ttt Sa sin )(=➢ 离散信号()n n f 0sin ][ω=,njw e n f 0][=,][][n u a n f n=● 奇异信号:➢ 连续函数:冲激函数)(t δ,阶跃函数)(t u ,斜坡函数)(t R ➢ 离散信号:冲激函数][n δ,阶跃函数][n u ,斜坡函数][n R2.卷积连续函数的卷积:⎰∞∞--=τττd t f f t g )()()(21离散函数的卷积:∑∞-∞=-=m m n f m f n g ][][][21三.实验内容1. 熟悉matlab 工作环境(1) 运行matlab.exe ,进入matlab 工作环境,如图(1)所示。

图1 matlab工作环境(2)matlab工作环境由Command Window(命令窗口)、Current Direcroty(当前目录)、workspace (工作空间)、command History(历史命令)和Editor(文件编辑器)5部分组成。

其中所有文件的编辑和调试、运行在Editor编辑窗口下进行。

程序的运行也可以在命令窗口进行。

程序调试的信息显示在命令窗口。

(3)程序文件的产生:点击菜单file下的New下的M_files,进入编辑器界面,如图2。

图2 M 文件编辑器(4) 在m 文件编辑器下键入程序代码,保存程序文件(文件命名规则同C 语言)。

如果所定义的是函数文件,则要求函数名为M 文件名。

(5) 程序运行需要给定义的函数参数赋值。

切换到命令窗口下运行例如指数函数定义格式 [t,y]=exp1_exp(t1,t2,dt,A,a)指数函数文件调用方式:[t,y]=exp1_exp(-10,10,0.1,3,-1,1)2 连续和离散信号的时域表示方法(1)单边指数信号 )()(t u Ae t y tα=;function y=exp1_exp(t1,t2,dt,A,a,options)%指数函数,其中t1,t2,dt 分别为起始时间、终止时间和时间间隔 %A,a 为常数 y(t)=Aexp(a*t)%options 参数等于1时为单边指数函数,其他时为双边指数函数 %函数调用的格式 y=exp1_exp(-10,10,0.1,3,-1,1) if options==1t=0:dt:t2;%单边指数函数时间范围 elset=t1:dt:t2;%双边指数函数时间范围endy=A*exp(a*t);%指数函数plot(t,y)%画图grid onxlabel('t')%X轴坐标ylabel('y(t)')%Y轴坐标if options==1title(' 单边指数信号')%标题elsetitle(' 双边指数信号')%标题end实验要求:1)在同一张图上画出a>0,a=0,a<0时指数函数波形,如图3所示. 注意:a的取值范围要适中,不要导致纵坐标相差太大。

图3 指数函数2)提示:在命令窗口设置hold on命令,可以在同一张图上画出多条曲线(2)单位冲激信号function [t,y]=exp1_impulse(t1,t2,dt,t0)%单位冲激信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔%t0为冲激点% 函数调用格式:[t,y]=exp1_impulse(-10,10,0.1,0);t=t1:dt:t2;n=length(t);y=zeros(1,n);y(1,(t0-t1)/dt+1)=1/dt;stairs(t,y);xlabel('t')ylabel('y(t)')title('单位冲激信号')实验要求:1)要求产生冲激点在X处的单位冲激函数,其中X为自己的学号中最后两位;(2)要求画出图形(3)单位阶跃信号function [t,y]=exp1_step(t1,t2,dt,t0)%单位阶跃信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔%t0为阶跃跳变点% 函数调用格式:[t,y]=exp1_step(-10,10,0.1,3);tt1=t1:dt:t0;tt2=t0:dt:t2;nn1=length(tt1);%length函数测量变量tt1长度nn2=length(tt2);y1=zeros(1,nn1);%产生1行,nn1列的零数据矩阵y2=ones(1,nn2);;%产生1行,nn2列的数据矩阵,矩阵元素为1t=[tt1 tt2];y=[y1 y2];plot(t,y)xlabel('t')ylabel('y(t)')title('单位阶跃信号y(t)')xy_axis=axis;axis([xy_axis(1:2) 1.5*xy_axis(3:4)-0.1])实验要求:1)要求产生阶跃跳变点在X处的单位阶跃函数,其中X为自己的学号中最后两位;(2)要求画出图形(4)矩形脉冲信号function [t,y]=exp1_rectimpulse(E,width,T1,T2,dt,T0)%矩形脉冲信号,其中T1,T2,dt分别为起始时间、终止时间和时间间隔%T0为阶跃跳变点%E为矩形脉冲幅值%width为矩形脉冲宽度% 函数调用格式:[t,y]=exp1_rectimpulse(10,1,-10,10,0.1,2);t=T1:dt:T2;y=E*rectpuls(t-T0,width);plot(t,y);xlabel('t')ylabel('y(t)')title('矩形脉冲信号')xy_axis=axis;axis([xy_axis(1:2) 1.5*xy_axis(3:4)-0.1])实验要求:1)要求产生矩形脉冲幅值为X,脉宽为2,脉冲中心点为X的矩形脉冲信号,其中X为自己的学号中最后两位;(2)要求画出图形(5)正弦信号function [t,y]=exp1_sin(t1,t2,dt,A,w)%正弦信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔%A,W为幅度和角频率参数% 函数调用格式:[t,y]=exp1_sin(-10,10,0.1,10,1);t=t1:dt:t2;y=A*sin(w*t);plot(t,y)title('正弦信号')xlabel('t')ylabel('y(t)')实验要求:1)要求产生幅值为X,角频率为3.14的正弦信号,其中X为自己的学号中最后两位;(2)要求画出图形(6)单位序列function [n,y]=exp1_dimpluse(k1,k2,dt,k0)%离散单位冲激信号,其中k1,k2,dt分别为起始时间、终止时间和时间间隔,dt要求为整数%k0为冲激点% 函数调用格式:[n,y]=exp1_dimpluse(-10,10,1,0);n=k1:dt:k2;nl=length(n);y=zeros(1,nl);y(1,round((k0-k1)/dt)+1)=1;stem(n,y,'filled')title('单位冲激序列')实验要求:1)要求产生冲激点在X处的单位冲激函数,其中X为自己的学号中最后两位;2)要求画出图形(7)单位阶跃序列function [n,y]=exp1_dstep(k1,k2,k0)%离散单位阶跃信号,其中k1,k2分别为起始时间、终止时间,默认时间间隔为1 %k0为阶跃跳变点% 函数调用格式:[n,y]=exp1_dstep(-10,10,3);k=k1:k0-1;kk=k0:k2;n=length(k);nn=length(kk);u=zeros(1,n);uu=ones(1,nn);n=[k kk];y=[u uu];stem(n,y,'filled')title('单位阶跃序列')实验要求:1)要求产生阶跃跳变点在X处的单位阶跃函数,其中X为自己的学号中最后两位;(2)要求画出图形(8)单位矩形序列function [n,y]=exp1_drectimpulse(k1,k2,k0,width,E)%离散矩形脉冲信号,其中k1,k2分别为起始时间、终止时间,默认时间间隔为1%k0为阶跃跳变点%E高度,width脉宽% 函数调用格式:[n,y]=exp1_drectimpulse(-10,10,0,1,3);k=k1:k0-1;kk=k0:width+k0;kkk=width+k0+1:k2n=length(k);nn=length(kk);nnn=length(kkk);u=zeros(1,n);uu=E*ones(1,nn);uuu=zeros(1,nnn);n=[kk k kkk];y=[uu u uuu];stem(n,y,'filled')title('单位矩形序列')实验要求:1)要求产生矩形脉冲幅值为X,脉宽为2,脉冲中心点为X的矩形脉冲信号,其中X为自己的学号中最后两位;(2)要求画出图形(9)指数序列Function x=exp1_dexp(c,a,k1,k2)%c: 指数序列的幅度%a: 指数序列的底数%k1: 绘制序列的起始序号%k2: 绘制序列的终止序号%例如c=1;a=2;k1=-2;k2=10;k=k1:k2;x=c*(a.^k);stem(k,x,'filled')title('指数序列')xlabel('n')ylabel('f(n)')实验要求:1)请大家自己写一下函数调用格式,并在分别用红(r)、黑(k)、蓝(b)、绿(g)四种颜色在图上画出a<-1, -1<a<0, 0<a<1, a>1时指数函数波形。

黄色看不清楚故改为黑色。

>> k=-5:0.1:5;x=1*((-2).^k);plot(k,x,'-r')Warning: Imaginary parts of complex X and/or Y arguments ignored.>> hold on>> k=-5:0.1:5;x=1*((-0.5).^k);plot(k,x,'-k')Warning: Imaginary parts of complex X and/or Y arguments ignored.>> k=-5:0.1:5;x=1*((0.5).^k);plot(k,x,'-b')>> k=-5:0.1:5;x=1*((2).^k);plot(k,x,'-g')(10)正弦序列function exp1_dsin(A,w,k1,k2)%离散正弦信号,其中k1,k2分别为起始时间、终止时间,默认时间间隔为1%A,W为幅度和角频率参数% 函数调用格式:exp1_dsin(5,0.25,-30,30);k=k1:k2;stem(k,A*sin(k*w),'filled')title('离散时间正弦序列f(n)=Asin(wn)')xlabel('n')ylabel('f(n)')实验要求:1)要求产生幅值为X,角频率为0.25的正弦序列,其中X为自己的学号中最后两位;(2)要求画出图形3 连续和离散信号的卷积表示方法(1)连续时间信号卷积function [f,k]=exp1_sconv(f1,f2,k1,k2,p)%计算连续信号卷积积分f(t)=f1(t)*f2(t)%f:卷积积分f(t)对应的非零样值向量%k: f(t)的对应时间向量%f1: f1(t)的非零样值向量%f2: f2(t)的非零样值向量%K1: 序列f1(t)的对应时间向量%K2: 序列f2(t)的对应时间向量%p: 取样时间间隔%调用格式:% f1=0.5*(0:0.01:2);f2=0.5*(0:0.01:2);k1=0:0.01:2;k2=0:0.01:2;p=0.01;% [f,k]=exp1_sconv(f1,f2,k1,k2,p)f=conv(f1,f2); %计算序列1与序列2的卷积和k0=k1(1)+k2(1); %计算序列f 非零样值的起点位置 k3=length(f1)+length(f2)-2; %计算卷积和f 非零样值得宽度 k=k0:p:(k0+k3*p); %确定卷积和f 非零样值的时间向量 subplot(3,1,1)plot(k1,f1) %在子图1绘制f1(t)时域波形图; xlabel('t');ylabel('f1(t)');title('f1(t)') subplot(3,1,2)plot(k2,f2); %在子图2绘制f2(t)时域波形图 xlabel('t');ylabel('f2(t)');title('f2(t)') subplot(3,1,3)plot(k,f); %画卷积f(t)的时域波形 xlabel('t');ylabel('f(t)');title(' f(t)=f1(t)*f2(t)')要求: 已知)()()(),(2)(21t u t u t f t u e t f t-==-,求)(*)()(21t f t f t g =,并画图(2)离散时间信号卷积function [f,k]=exp1_dconv(f1,f2,k1,k2) %The function of compute f=f1*f2%f: 卷积和序列f(k)对应的非零样值向量 %k: 序列f(k)的对应序号向量 %f1: 序列f1(k)非零样值向量 %f2: 序列f2(k)非零样值向量 %k1: 序列f1(k)的对应序号向量 %k2: 序列f2(k)的对应序号向量%调用例子:%f1=[1,2,1];f2=ones(1,5);k1=[-1 0 1];k2=-2:2;[f,k]=exp1_dconv(f1,f2,k1,k2) f=conv(f1,f2) %计算序列f1与f2的卷积和fk0=k1(1)+k2(1); %计算序列f 非零样值的起点位置 k3=length(f1)+length(f2)-2; %计算卷积和f 的非零样值的宽度 k=k0:k0+k3 %确定卷积和f 非零样值得序号向量 subplot(3,1,1)stem(k1,f1) %在子图1绘制序列f1(k)时域波形图 xlabel('n');ylabel('f1(n)') title('f1(n)') subplot(3,1,2)stem(k2,f2) %在子图2绘制序列f2(k)时域波形图 xlabel('n');ylabel('f2(n)') title('f2(n)') subplot(3,1,3)stem(k,f) %在子图3绘制序列f(k)时域波形图 xlabel('n');ylabel('f(n)')title('f1(n)与f2(n)的卷积和f(n)')要求:已知][3][],[2][21n u n f n u n f nn==,求][*][][21n f n f n g =,并画图四 实验要求:1.熟悉MATLAB 软件使用环境、启动及退出等;熟悉MATLAB 软件的常用命令的使用; 2.按照要求实现实验内容;3.规范化地书写实验报告(包括四部分:实验目的、实验原理、实验内容、实验结果及分析)。

相关主题