当前位置:文档之家› Matlab的连续信号生成及时频域分析

Matlab的连续信号生成及时频域分析

Matlab的连续信号生成及时频域分析
Matlab的连续信号生成及时频域分析

基于Matlab 的连续信号生成及时频域分析

一、实验目的

1、通过实验使学生掌握matlab 表示信号的方法;

2、通过实验掌握基于matlab 的连续时间信号与系统的时频域分析方法。 二、实验要求

1、通过这次实验,学生应能掌握matlab 软件信号表示与系统分析的常用方法。

2、通过实验,学生应能够对连续信号与系统的时频域分析方法有更全面的认识。 三、实验所需环境

1、pc 机;

2、Matlab5.3以上版本软件。 四、实验内容

周期连续信号

1) 正弦信号:产生一个幅度为2,频率为4Hz,相位为π/6的正弦信号

t=0:0.0001:1;

y=2*sin(8*pi*t+pi/6); plot(t,y); xlabel('t'); ylabel('y(t)')

title('?y?òD?o?:y=2sin(8|Dt+|D/6)'

);

2) 周期方波:产生一个幅度为1,基频为3Hz ,占空比为20%的周期方波。

t=0:0.0001:2.5; y=square(6*pi*t,20); plot(t,y);

axis([0,2.5,-1.5,1.5]);

xlabel('t'); ylabel('y(t)') title('·?2¨D?o?');

t

y (t )

正弦信号:y=2sin(8πt+π/6)

t

y (t )

方波信号

3) 阶跃信号;

t=-2:0.0001:6;

y=[zeros(1,20000),ones(1,60001)]; plot(t,x);

axis([-2,6,0,1.5]); xlabel('t'); ylabel('y(t)') title('?×??D?o?');

4) 指数信号:产生一个时间常数为1的指数信号;

t=0:0.0001:50; x=1*exp(-0.1*t); plot(t,x);

axis([0,50,0,1.5]); xlabel('t'); ylabel('x(t)') title('?×??D?o?');

5) 矩形脉冲信号:产生高度为1、宽度为1、关于t=0对称的矩形脉冲信号;产生高度为1、宽度为w 、关于t=0对称的矩形脉冲信号;产生高度为1、宽度为3、延时为2s的矩形脉冲信号。

t=-2:0.01:6;

plot(t,rectpuls(t,1)); axis([-2,6,0,1.5]); xlabel('t'); ylabel('x(t)') title('??D???3?1');

t

y (t )

阶跃信号

t

x (t )

矩形脉冲1

51015202530354045

50

t x (t)

指数信号

t=-2:0.01:6;

plot(t,rectpuls(t,3)); axis([-2,6,0,1.5]); xlabel('t'); ylabel('x(t)')

title('??D???3?2');

t=-2:0.01:6;

plot(t,rectpuls(t-2,3)); axis([-2,6,0,1.5]); xlabel('t'); ylabel('x(t)')

title('??D???3?3');

2、信号的基本运算

1) 信号的尺度变换、翻转、时移(平移)

已知三角波f(t),用MATLAB 画信号f(t)、f(2t)和f(2-2t) 波形,三角波波形自定。

t=-3:0.001:3; ft=tripuls(t,3,1); subplot(3,1,1) plot(t,ft) title('?-èy??2¨') ft1=tripuls(2*t,3,1); subplot(3,1,2) plot(t,ft1)

title('èy??2¨£of(2t)') ft2=tripuls((2-2*t),3,1); subplot(3,1,3); plot(t,ft2);

title('èy??2¨£of(2-2t)');

t

x (t )

矩形脉冲2

t

x (t )

矩形脉冲

3

原三角

三角波:

f(2t)

三角波:f(2-2t)

t

f (t )

2) 信号的相加与相乘

相加用算术运算符“+”实现,相乘用数组运算符“.*”实现。

已知信号x(t)=exp(-0.4*t),y(t)=2cos(2pi*t),画出信号x(t)+y(t)、x(t)*y(t)\波形。

t=0:0.001:8; x=exp(-0.4*t); y=2*cos(2*pi*t); ft1=x+y; subplot(2,1,1); plot(t,ft1); title('x(t)+y(t)'); ft2=x.*y; subplot(2,1,2); plot(t,ft2); title('x(t)*y(t)');

1) 离散序列的差分与求和、连续信号的微分与积分

已知三角波f(t),画出其微分与积分的波形,三角波波形自定。

t0=-3;t1=3;dt=0.01; t=t0:dt:t1;

f1=tripuls(t,3,0.5); max_f=max(f1); min_f=min(f1); df=diff(f1)/dt; max_df=max(df); min_df=min(df);

f=inline('tripuls(t,3,0.5)'); for x=1:length(t)

intf(x)=quad(f,-3,t(x)); end

max_if=max(intf); min_if=min(intf);

subplot(3,1,1),plot(t,f1,'linewidth',2); grid;

line([t0 t1],[0 0]);

ylabel('f(t)','rotation',0); axis([t0,t1,min_f-0.2,max_f+0.2]);

subplot(3,1,2),plot(t(1:length(t)-1),df,'linewidth',2); grid;

line([t0 t1],[0 0]);

ylabel('df(t)/dt','rotation',0); axis([t0,t1,min_df-0.2,max_df+0.2]);

x(t)+y(t)

x(t)*y(t)

f(t)

df(t)/dt

∫f(t)dt t

subplot(3,1,3),

plot(t,intf,'linewidth',2);

grid;

line([t0 t1],[0 0]);

ylabel('?òf(t)dt','rotation',0);

axis([t0,t1,min_if-0.2,max_if+0.2])

xlabel('t');

3、连续时间系统分析

1) 连续时间系统零状态响应的求解方法

求系统y”(t)+2y’(t)+100y(t)=10f(t)的零状态响应,已知f(t)=(sin2t) u(t)。

ts=0;

te=5;

dt=0.01;

t=ts:dt:te;

sys=tf([1],[1 2 100]);

f=10*sin(2*pi*t);

y=lsim(sys,f,t);

plot(t,y);

xlabel('t');

ylabel('y(t)');

title('á?D?ê±???μí3á?×′ì??ìó|');

2) 连续时间系统冲激响应和阶跃响应的求解方法

求系统y”(t)+2y’(t)+100y(t)=10f(t)的零状态响应,已知f(t)为单位冲激信号。ts=0;

te=5;

dt=0.01;

t=ts:dt:te;

sys=tf([1],[1 2 100]);

f=10*sin(2*pi*t);

y=impulse(sys,t);

plot(t,y);

xlabel('t');

title('y”(t)+2y’(t)+100y(t)=10f(t)的零状态响应');

t

y”(t)+2y’(t)+100y(t)=10f(t)的零状态响应

t

y

(

t

)

y”(t)+2y’(t)+100y(t)=10f(t)的零状态响应

相关主题
文本预览
相关文档 最新文档