运用MATLAB进行连续时间信号卷积运算

实验项目名称:运用MATLAB 进行连续时间信号卷积运算

( 所属课程:信号与系统 )

院 系: 专业班级: 姓 名:

学 号:

实验日期: 实验地点:

合 作 者:

指导老师:

本实验项目成绩: 教师签字: 日期:

一:实验目的

1,掌握连续时间信号的基本运算的实现方法。

2,熟悉连续LTI 系统在典型激励信号下的响应及其特征。 3、掌握连续LTI 系统单位冲激响应的求解方法。 4、重点掌握用卷积法计算连续时间系统的零状态响应。 5、熟悉MATLAB 相关函数的调用格式及作用。 6、会用MATLAB 对系统进行时域分析。 二、实验原理

1、信号的运算包括:信号的基本运算,包括加、减、乘、除等;信号的时域变换,包括信号的平移、翻转、尺度变换等;两个信号的卷积运算等。 2、连续时间线性时不变系统(LTI )可以用如下的线性常系数差分方程来描述:

a n r (n ) (t ) +a n -1r (n -1) (t ) ++a 1r '(t ) +a 0r (t ) =b m e (m ) (t ) +b n -1e (m -1) (t ) +

(n -1)

+b 1e '(t ) +b 0e (t ) (0-) 。

中,n ≥m ,系统的初始条件为r (0-) ,r '(0-) ,r ''(0-) ,…r

系统的响应一般包括两个部分,即由当前输入所产生的响应(零状态响应)和由历史输入(初始状态)所产生的响应(零输入响应)。对于低阶系统,一般可以通过解析的方法得到响应。但对于高阶系统,手工计算就比较困难,这时MATLAB 强大的计算功能就能比较容易地确定系统的各种响应,如冲激响应、阶跃响应、零输入响应、零状态响应、全响应等。

1)直接求解法

在MATLAB 中,要求以系数相量的形式输入系统的微分方程。因此,在使用前必须对系统的微分方程进行变换,得到其传递函数。其分别用相量a 和b 表示分母多项式和分子多项式的系数(按照s 的降幂排列)。涉及到的MATLAB 函数有:impulse(冲激响应) 、step (阶跃响应)、roots (零输入响应)、lism (零状态响应)等。

2)卷积计算法

根据系统的单位冲激响应,利用卷积计算的方法,也可以计算任何输入状态下系统的零状态响应。设一个线性零状态系统,已知系统的单位冲激响应为h (t ) ,当系统的激励信号为e (t ) 时,系统的零状态响应为:

r zs (t ) =⎰-∞e (τ) h (t -τ) d τ=⎰-∞h (τ) e (t -τ) d τ

也可以简单记为r zs (t ) =e (t ) *h (t )

+∞+∞

由于计算机采用的是数值计算,因此系统的零状态响应也可用离散序列卷积和来近似为

r zs (k ) =∑e (n ) *h (k -n ) T =e (k ) *h (k )

n =-∞

和h (t ) 进行采样所得到的离散序列。

三 实验内容与方法

式中r zs (k ) 、e (k ) 、h (k ) 分别对应以T 为时间间隔对连续时间信号r zs (t ) 、e (t )

1,设计一个程序,选择一个信号f (t ) ,完成信号f (t ) 到f (2t +2) 的转化。 syms t;

f=sym('sin(t)/t'); f1=subs(f,t,t+2); f2=subs(f1,t,2*t);

subplot(2,2,1);ezplot(f,[-8,8]);grid on; subplot(2,2,2);ezplot(f1,[-8,8]);grid on; subplot(2,2,3);ezplot(f2,[-8,8]);grid on;

sin(t)/t

sin(t+2)/(t+2)

1

1

0.5

0.5

-5

05-5

0t

t

sin(2 t+2)/(2 t+2)

0.80.6

0.40.20-0.2

-5

05

t

2,计算下述系统在冲激、阶跃、斜变和正弦激励下的零状态响应。

r (4)(t ) +0.6363r (3)(t ) +0.9396r ''(t ) +0.5123r '(t ) +0.0037r (t ) =-0.475e (3)(t ) -0.248e ''(t ) -0.1189e '(t ) -0.0564e (t )

1>斜变激励下的零状态响应

b=[-0.475,-0.248,-0.1189,-0.0564];a=[1,0.6363,0.9396,0.5123,0.0037]; sys=tf(b,a); t=0:0.001:10; x=t;

y=lsim(sys,x,t); plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('零状态响应');

5

-1

-2

-3

y (t )

-4-5-6-70

1234

5时间(t)

678910

2>正弦激励下的零状态响应

b=[-0.475,-0.248,-0.1189,-0.0564];a=[1,0.6363,0.9396,0.5123,0.0037]; sys=tf(b,a); t=0:0.001:10; x=cos(t); y=lsim(sys,x,t); plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('零状态响应');

1.5

1

0.5

y (t )

-0.5

-1

-1.5

01234

5时间(t)

678910

3>冲激响应

b=[-0.475,-0.248,-0.1189,-0.0564];a=[1,0.6363,0.9396,0.5123,0.0037]; sys=tf(b,a); t=0:0.001:10; y=impulse(sys,t); plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('零状态响应')

0.2

0.1

-0.1

y (t )

-0.2-0.3-0.4-0.5

1234

5时间(t)

678910

4>阶跃响应

b=[-0.475,-0.248,-0.1189,-0.0564];a=[1,0.6363,0.9396,0.5123,0.0037]; sys=tf(b,a); t=0:0.001:10; y=step(sys,t); plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('零状态响应');

-0.2

-0.4

-0.6

y (t )

-0.8-1-1.2-1.4

1234

5时间(t)

678910

3,求两个方波信号的卷积

y1=[ones(1,20),zeros(1,20)]; y2=[ones(1,10),zeros(1,20)]; y=conv(y1,y2); n1=1:length(y1); n2=1:length(y2); L=length(y);

subplot(3,1,1);plot(n1,y1);axis([1,L,0,2]); subplot(3,1,2);plot(n2,y2);axis([1,L,0,2]); n=1:L;

subplot(3,1,3);plot(n,y);axis([1,L,0,2]);

21

021

021

[1**********]0

[1**********]0

[1**********]0

实验项目名称:运用MATLAB 进行连续时间信号卷积运算

( 所属课程:信号与系统 )

院 系: 专业班级: 姓 名:

学 号:

实验日期: 实验地点:

合 作 者:

指导老师:

本实验项目成绩: 教师签字: 日期:

一:实验目的

1,掌握连续时间信号的基本运算的实现方法。

2,熟悉连续LTI 系统在典型激励信号下的响应及其特征。 3、掌握连续LTI 系统单位冲激响应的求解方法。 4、重点掌握用卷积法计算连续时间系统的零状态响应。 5、熟悉MATLAB 相关函数的调用格式及作用。 6、会用MATLAB 对系统进行时域分析。 二、实验原理

1、信号的运算包括:信号的基本运算,包括加、减、乘、除等;信号的时域变换,包括信号的平移、翻转、尺度变换等;两个信号的卷积运算等。 2、连续时间线性时不变系统(LTI )可以用如下的线性常系数差分方程来描述:

a n r (n ) (t ) +a n -1r (n -1) (t ) ++a 1r '(t ) +a 0r (t ) =b m e (m ) (t ) +b n -1e (m -1) (t ) +

(n -1)

+b 1e '(t ) +b 0e (t ) (0-) 。

中,n ≥m ,系统的初始条件为r (0-) ,r '(0-) ,r ''(0-) ,…r

系统的响应一般包括两个部分,即由当前输入所产生的响应(零状态响应)和由历史输入(初始状态)所产生的响应(零输入响应)。对于低阶系统,一般可以通过解析的方法得到响应。但对于高阶系统,手工计算就比较困难,这时MATLAB 强大的计算功能就能比较容易地确定系统的各种响应,如冲激响应、阶跃响应、零输入响应、零状态响应、全响应等。

1)直接求解法

在MATLAB 中,要求以系数相量的形式输入系统的微分方程。因此,在使用前必须对系统的微分方程进行变换,得到其传递函数。其分别用相量a 和b 表示分母多项式和分子多项式的系数(按照s 的降幂排列)。涉及到的MATLAB 函数有:impulse(冲激响应) 、step (阶跃响应)、roots (零输入响应)、lism (零状态响应)等。

2)卷积计算法

根据系统的单位冲激响应,利用卷积计算的方法,也可以计算任何输入状态下系统的零状态响应。设一个线性零状态系统,已知系统的单位冲激响应为h (t ) ,当系统的激励信号为e (t ) 时,系统的零状态响应为:

r zs (t ) =⎰-∞e (τ) h (t -τ) d τ=⎰-∞h (τ) e (t -τ) d τ

也可以简单记为r zs (t ) =e (t ) *h (t )

+∞+∞

由于计算机采用的是数值计算,因此系统的零状态响应也可用离散序列卷积和来近似为

r zs (k ) =∑e (n ) *h (k -n ) T =e (k ) *h (k )

n =-∞

和h (t ) 进行采样所得到的离散序列。

三 实验内容与方法

式中r zs (k ) 、e (k ) 、h (k ) 分别对应以T 为时间间隔对连续时间信号r zs (t ) 、e (t )

1,设计一个程序,选择一个信号f (t ) ,完成信号f (t ) 到f (2t +2) 的转化。 syms t;

f=sym('sin(t)/t'); f1=subs(f,t,t+2); f2=subs(f1,t,2*t);

subplot(2,2,1);ezplot(f,[-8,8]);grid on; subplot(2,2,2);ezplot(f1,[-8,8]);grid on; subplot(2,2,3);ezplot(f2,[-8,8]);grid on;

sin(t)/t

sin(t+2)/(t+2)

1

1

0.5

0.5

-5

05-5

0t

t

sin(2 t+2)/(2 t+2)

0.80.6

0.40.20-0.2

-5

05

t

2,计算下述系统在冲激、阶跃、斜变和正弦激励下的零状态响应。

r (4)(t ) +0.6363r (3)(t ) +0.9396r ''(t ) +0.5123r '(t ) +0.0037r (t ) =-0.475e (3)(t ) -0.248e ''(t ) -0.1189e '(t ) -0.0564e (t )

1>斜变激励下的零状态响应

b=[-0.475,-0.248,-0.1189,-0.0564];a=[1,0.6363,0.9396,0.5123,0.0037]; sys=tf(b,a); t=0:0.001:10; x=t;

y=lsim(sys,x,t); plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('零状态响应');

5

-1

-2

-3

y (t )

-4-5-6-70

1234

5时间(t)

678910

2>正弦激励下的零状态响应

b=[-0.475,-0.248,-0.1189,-0.0564];a=[1,0.6363,0.9396,0.5123,0.0037]; sys=tf(b,a); t=0:0.001:10; x=cos(t); y=lsim(sys,x,t); plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('零状态响应');

1.5

1

0.5

y (t )

-0.5

-1

-1.5

01234

5时间(t)

678910

3>冲激响应

b=[-0.475,-0.248,-0.1189,-0.0564];a=[1,0.6363,0.9396,0.5123,0.0037]; sys=tf(b,a); t=0:0.001:10; y=impulse(sys,t); plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('零状态响应')

0.2

0.1

-0.1

y (t )

-0.2-0.3-0.4-0.5

1234

5时间(t)

678910

4>阶跃响应

b=[-0.475,-0.248,-0.1189,-0.0564];a=[1,0.6363,0.9396,0.5123,0.0037]; sys=tf(b,a); t=0:0.001:10; y=step(sys,t); plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('零状态响应');

-0.2

-0.4

-0.6

y (t )

-0.8-1-1.2-1.4

1234

5时间(t)

678910

3,求两个方波信号的卷积

y1=[ones(1,20),zeros(1,20)]; y2=[ones(1,10),zeros(1,20)]; y=conv(y1,y2); n1=1:length(y1); n2=1:length(y2); L=length(y);

subplot(3,1,1);plot(n1,y1);axis([1,L,0,2]); subplot(3,1,2);plot(n2,y2);axis([1,L,0,2]); n=1:L;

subplot(3,1,3);plot(n,y);axis([1,L,0,2]);

21

021

021

[1**********]0

[1**********]0

[1**********]0


相关文章

  • 信号与系统实验报告2连续时间信号在MATLAB中的运算
  • 信息工程学院实验报告 课程名称: 实验项目名称:连续时间信号在MATLAB 中的表示 实验时间: 班级:通信141 姓名:林志斌 学号: 一.实 验 目 的: 1.学会运用进行连续信号的时移.反折和尺度变换:学会运用 MATLAB 进行连续 ...查看


  • 方波和方波信号的卷积及卷积过程演示
  • 课程设计任务书 目 录 1 引 言 ...................................................................................................... ...查看


  • 巴特沃斯低通滤波器的实现方法研究
  • 第15卷第1期2013年1月 大连民族学院学报JournalofDalianNationalitiesUniversity Vol.15,No.1January2013 文章编号:1009-315X(2013)01-0072-04 巴特沃斯 ...查看


  • matlab实现线性卷积和循环卷积
  • 编号: 数字信号处理 实训 (论文) 说明书 题 目: 用matlab 实现两信号的卷积 院 (系): 应用科技学院 专 业: 电子信息工程 学生姓名: 蒋耀华 学 号: 0801130215 指导教师: 严素清 童有为 纪元法 2011 ...查看


  • 实验一连续信号的表示
  • 实验1 时域连续信号的表示及运算 一. 实验目的 1.掌握常用时域连续信号的MA TLAB 表示方法. 2.掌握连续信号的基本运算,包括信号相加与相乘.微分与积分.平移.反转.尺度变换.奇偶分解.卷积积分等. 二. 实验原理及方法 MATL ...查看


  • 序列的matlab实现样本
  • 实验十一 离散信号时域分析的MATLAB 实现 一.实验目的 1. 熟悉MATLAB 编程方法.常用语句和可视化绘图技术: 2. 掌握序列时域运算的MATLAB 编程方法. 二.实验原理 在用MATLAB 表示离散信号并将其可视化时,由于矩 ...查看


  • 连续信号卷积
  • 实验二 连续信号卷积 一. 实验目的 卷积积分可理解为某线性时不变系统在给定激励下的零状态响应.理解和掌握卷积运算对于线性系统分析来说至为关键.本实验的主要目的就是学习在MATLAB 环境中如何计算和分析连续时间信号的卷积 二. 实验内容 ...查看


  • 实验一 连续时间信号的卷积
  • 实验一 连续时间信号的卷积 一.实验目的 掌握连续时间信号的卷积方法和MA TLAB 计算方法. 二.实验仪器设备 PC 机 MATLAB软件 三.实验原理 连续时间信号f 1(t ) 和f 2(t ) 的卷积运算可用信号的分段求和来实现, ...查看


  • 信号与系统 实验报告2
  • 信号与系统实验报告 实验二 连续时间 LTI 系统的时域分析 一.实验目的 1.学会用MATLAB 求解连续系统的零状态响应: 2. 学会用 MATLAB 求解冲激响应及阶跃响应: 3.学会用MATLAB 实现连续信号卷积的方法: 二.实验 ...查看


热门内容