实验二连续时间信号的卷积

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、计算信号)()(1t u e t f at -=(a =1)和)(sin )(2t tu t f =的卷积f (t ), f 1(t )、f 2(t )的时间范围取为0~10,步长值取为0.1。绘制三个信号的波形。

close all; clear; t=0:0.1:10; a=1; dt=0.1;

t0=t+t;%计算卷积结果的非零样值的 起点位置 u=stepfun(t,0);%阶跃函数 f1=exp(-a*t).*u;%f1(t) f2=sin(t).*u;%f2(t)

f=dt*conv(f1,f2);%f1(t)*f2(t) %计算卷积结果的非零样值的 宽度 k=length(f); %数组维数

%确定卷积结果的非零样值的时间向量 tf=t0:dt:t0+(k-1)*dt; %绘制函数f1图像 subplot(3,1,1); plot(t,f1);

title('f1');%图像标题 xlabel('t');%横坐标标签 ylabel('f1'); %绘制函数f2图像 subplot(3,1,2); plot(t,f2);

title('f2');%图像标题 xlabel('t');%横坐标标签 ylabel('f1');

%绘制函数f1*f2图像 subplot(3,1,3); plot(tf,f);

title('f1*f2');%图像标题 xlabel('t');%横坐标标签 ylabel('f1*f2');

2、已知两连续时间信号如下图所示,设时间变化步长dt 分别取为0.5、0.1、0.01,绘制信号f 1(t )、f 2(t )及卷积结果f (t )的波形;当dt 取多少时,程序的计算结果就是连续时间卷积的较好近似?

close all;%关闭已已打开的窗口 clear;%清除存在内存里的数据 %设置步长值 dt1=0.5; dt2=0.1; dt3=0.01;

%步长值不同的时间向量 t1=-3:dt1:3; t2=-3:dt2:3; t3=-3:dt3:3;

t

1

-1 1 t

f 2(t)

0 2 t

f 1(t)

1

1

2

3

4

56

7

8

9

10

00.51f1

t f 10

1

2

3

4

56

7

8

9

10

-101f2

t f 1

2

4

6

8

101214

16

18

20

-101f1*f2

t

f 1*f 2

%卷积结果的非零样值的起点位置

t01=t1+t1;

t02=t2+t2;

t03=t3+t3;

%dt1=0.5

%阶跃函数

u0=stepfun(t1,0)-stepfun(t1,2);

u1=stepfun(t1,-1)-stepfun(t1,1);

%f1(t) f2(t)

f1=(1/2)*t1.*u0;

f2=(1/2)*(t1+1).*u1;

%卷积

f=dt1*conv(f1,f2);

k1=length(f); %计算卷积结果的非零样值的宽度

tf=t01:dt1:t01+(k1-1)*dt1; %确定卷积结果的非零样值的时间向量

figure;%产生图像窗口

%f1 dt=0.5

subplot(3,1,1);

plot(t1,f1);

title('f1');%图像标题

xlabel('t1');%横坐标标签

ylabel('f1');

axis([min(t1)-0.5,max(t1)+0.5,min(f1)-0.5,max(f1)+0.5]);%利用图像本身的最值确定步长值subplot(3,1,2);

%f2 dt=0.5

plot(t1,f2);

axis([min(t1)-0.5,max(t1)+0.5,min(f1)-0.5,max(f1)+0.5]);

title('f2');%图像标题

xlabel('t1');%横坐标标签

ylabel('f2');

%f=f1*f2 dt=0.5

subplot(3,1,3);

plot(tf,f);

axis([min(tf)-0.5,max(tf)+0.5,min(f)-0.5,max(f)+0.5]);

title('f');%图像标题

xlabel('t1');%横坐标标签

ylabel('f');

%dt2=0.1 %阶跃函数

u0=stepfun(t2,0)-stepfun(t2,2); u1=stepfun(t2,-1)-stepfun(t2,1); f1=(1/2)*t2.*u0; f2=(1/2)*(t2+1).*u1; f=dt2*conv(f1,f2);

k1=length(f); %计算卷积结果的非零样值的宽度

tf=t02:dt2:t02+(k1-1)*dt2; %确定卷积结果的非零样值的时间向量 figure;

subplot(3,1,1); plot(t2,f1);

axis([min(t2)-0.5,max(t2)+0.5,min(f1)-0.5,max(f1)+0.5]); title('f1');%图像标题 xlabel('t2');%横坐标标签 ylabel('f1'); subplot(3,1,2); plot(t2,f2);

axis([min(t2)-0.5,max(t2)+0.5,min(f1)-0.5,max(f1)+0.5]); title('f2');%图像标题 xlabel('t2');%横坐标标签 ylabel('f2'); subplot(3,1,3); plot(tf,f);

-3-2-1

0123

f1

t1f 1

-3-2-1

0123

f2

t1f 2

-6

-4

-2

02

4

6

-0.5

00.5f

t1

f

相关文档
最新文档