信号与系统实验(MATLAB)

连续函数的时域表示方法

指数信号

  1. 编写指数信号函数。
  2. 在同一张图上画出a>0,a=0,a<0时指数信号波形。

image.png
编写指数函数信号

function y=exp1_exp(t1,t2,dt,A,a,options)
%指数函数,其中t1,t2,dt分别为起始时间、终止时间和时间间隔
%A,a为常数
%options参数等于1时为单边指数函数(t>=0),其他时为双边指数函数
 t=t1:dt:t2;
if options==1
    y=A*exp(a*t);
else
    y=A*exp(a*abs(t));
end
title('指数信号');
xlabel('t');
ylabel('y(t)');
plot(t,y);

调用函数

y1=exp1_exp(-2,2,0.1,3,1,1);
hold on;
y2=exp1_exp(-2,2,0.1,3,0,1);
hold on;
y3=exp1_exp(-2,2,0.1,3,-1,1);

image.png

单位冲激信号

  1. 要求产生冲激点在X处的单位冲激函数。
  2. 要求画出该单位冲击信号图形。

image.png
编写冲激函数信号

function [t,y]=exp_impulse(t1,t2,dt,t0)
%单位冲激信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔
%t0为冲激点
t=t1:dt:t2;
y=dirac(t-t0);
y=1*sign(y);%改变幅度
plot(t,y);
axis([-40 40 0 2]);
title('冲激函数');

调用函数

[t,y]=exp_impulse(-40,40,0.1,015);

image.png

单位跃阶函数信号

  1. 要求产生阶跃跳变点在X处的单位阶跃函数。
  2. 要求画出该单位阶跃信号图形。

image.png
编写单位函数信号

function [t,y]=exp_step(t1,t2,dt,t0)
%单位跃阶信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔
t=t1:dt:t2;
y=stepfun(t,t0);%内置函数产生单位跃阶信号
plot(t,y);
title('单位跃阶信号');
axis([-30,30,-0.5,2]);

调用函数信号

[t,y]=exp_step(-30,30,0.1,15);

image.png

矩形脉冲信号

  1. 要求产生矩形脉冲幅值为X,脉宽为2,脉冲中心点为X的矩形脉冲信号。
  2. 要求画出该矩形脉冲信号图形。

image.png
编写矩形脉冲信号函数

function [t,y]=exp1_rectimpulse(E,width,T1,T2,dt,T0)
%矩形脉冲信号,其中T1,T2,dt分别为起始时间、终止时间和时间间隔
%T0为阶跃变点,E为脉冲幅值,with为脉宽
t=T1:dt:T2;
y=E*(stepfun(t,T0-(width/2))-stepfun(t,T0+(width/2)));
plot(t,y);
axis([-40 40 -1 18]);%调整坐标范围
title('矩形脉冲');

调用函数

[x,y]=exp1_rectimpulse(15,2,-40,40,0.1,15);

image.png

正弦信号

  1. 要求产生矩形脉冲幅值为X,角频率为2的正弦信号。
  2. 要求画出该正弦信号图形。

image.png
编写函数

function [t,y]=exp1_sin(t1,t2,dt,A,w)
%%正弦信号,其中t1,t2,dt分别为起始时间、终止时间和时间间隔
%A,w为幅度和角频率参数
t=t1:dt:t2;
y=A*sin(w*t);
plot(t,y);
axis([-20 20 -16 16]);%调整坐标范围
title('正弦信号');

调用函数

[t,y]=exp1_sin(-20,20,0.01,15,2)

image.png


离散信号的时域表示方法

单位冲击序列

  1. 要求产生冲激点在X处的单位冲激序列。
  2. 要求画出该单位冲击序列图形。

image.png
编写函数

function [n,y]=exp1_dimpluse(k1,k2,dt,k0)
%k1,k2分别为起始时间、终止时间和时间间隔,,dt要求为整数
%k0为冲激点
n=k1:dt:k2;
y=dirac(n-k0);
y=1*sign(y);%改变幅度
stem(n,y);
axis([-10 10 -0.5 2]);

调用函数

[n,y]=exp1_dimpluse(-10,10,1,2);

image.png

单位跃阶序列

  1. 要求产生阶跃跳变点在X处的单位阶跃序列。
  2. 要求画出该单位阶跃序列图形

编写函数

function [n,y]=exp1_dstep(k1,k2,k0)
%其中t1,t2,dt分别为起始时间、终止时间,默认时间间隔为1
%k0为跃阶跳变点
n=k1:1:k2;
y=stepfun(n,k0);%内置函数产生单位跃阶信号
stem(n,y);
axis([-30,30,-0.5,2]);

调用函数

[n,y]=exp1_dstep(-30,30,4);

image.png

矩形序列

  1. 要求产生矩形脉冲幅值为X,脉宽为2,脉冲中心点为X的矩形脉冲信号。
  2. 要求画出该矩形序列图形。

编写函数

function [n,y]=exp1_drectimpulse(k1,k2,k0,width,E)
%离散矩形脉冲信号,其中k1,k2,dt分别为起始时间、终止时间,默认时间间隔为1
%k0为阶跃变点,E为脉冲幅值,with为脉宽
n=k1:1:k2;
y=E*(stepfun(n,k0-(width/2))-stepfun(n,k0+(width/2)));
stem(n,y);
axis([-20 20 -1 18]);%调整区域坐标范围
title('矩形序列');

调用函数

[n,y]=exp1_drectimpulse(-20,20,15,2,15);

image.png

指数序列

  1. 编写指数序列函数,并利用此函数产生底数为X的指数序列波形。
  2. 要求画出该指数序列波形。

编写函数

function exp1_dexp(c,a,k1,k2)
%c指数序列的幅度
%a指数序列的底数
%k1,k2指数序列的起始序号,终止序号
k=k1:1:k2;
y=c*(a.^k);
stem(k,y);

调用函数

y=exp1_dexp(1/2,2,-10,10);

image.png

正弦序列

1)编写正弦序列函数,并利用此函数产生产生幅值为X,角频率为2的正弦序列。
2)要求画出该正弦序列波形。
编写函数

function exp1_dsin(A,w,k1,k2)
%k1,k2分别为起始时间、终止时间,默认时间间隔为1
%A,w为幅度和角频率参数
k=k1:1:k2;
y=A*sin(w*k);
stem(k,y);
axis([-20 20 -16 16]);

调用函数

exp1_dsin(15,0.2,-20,20);

image.png

posted @ 2021-03-23 19:18  、晚风、  阅读(607)  评论(0)    收藏  举报