实验一:连续信号和离散信号的表示与卷积
一.实验目的
1.学习MATLAB软件产生信号和实现信号的可视化
2.学习和掌握连续和离散信号的时域表示方法
3.学习和掌握连续信号和离散信号卷积方法
二.实验原理
1.信号的表示方法
常用信号:
连续函数,
离散信号
奇异信号:
连续函数:冲激函数,阶跃函数,斜坡函数
离散信号:冲激函数,阶跃函数,斜坡函数
2.卷积
        连续函数的卷积:
        离散函数的卷积:
三.实验内容
1.熟悉matlab工作环境
(1)运行,进入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)在matlab软件中,程序分为脚本和函数文件,两者的差别在于函数文件有形参和返回的结果,而脚本文件中的变量全部返回到工作空间。
在m文件编辑器下键入程序代码,保存程序文件(命名规则同C语言)。如果所定义的是函数文件,则要求函数名为M文件名。
例如指数函数定义格式  [t,y]=exp1_exp(t1,t2,dt,A,a)
(5)程序运行需要给定义的函数参数赋值。切换到命令窗口下运行
指数函数文件调用方式:[t,y]=exp1_exp(-10,10,0.1,3,-1,1)
2 连续和离散信号的时域表示方法
(1)单边指数信号
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==1
    t=0:dt:t2;%单边指数函数时间范围
else
    t=t1:dt:t2;%双边指数函数时间范围
end
y=A*exp(a*t);%指数函数
plot(t,y)%画图
grid on
xlabel('t')%X轴坐标
ylabel('y(t)')%Y轴坐标
if options==1
  title(' 单边指数信号')%标题
else
  title(' 指数信号')%标题
end
实验要求:1)在同一张图上画出a>0,a=0,a<0时指数函数波形,如图3所示
c语言round函数怎么使用
图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列的数据矩阵,矩阵元素为1
t=[tt1 tt2];
y=[y1 y2];
plot(t,y)
axis
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为阶跃跳变点
% 函数调用格式:[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,角频率为2的正弦信号,其中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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。