信号与系统实验 (1)

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

《信号与系统》实验

2011.9

实验一、信号基本运算的MATLAB实现

一、实验目的

学习如何利用Matlab实现信号的基本运算,掌握信号的基本运算的原理,加深对书本知识的理解。

二、实验内容

1. 信号的尺度变换、翻转、平移运算

信号的尺度变换、翻转、平移运算,实际上是函数自变量的运算。尺度变换中只要自变量乘以一个常数,可用算术符号“ ”来表示。在信号翻转中自变量乘以一个负号,可以在MA TLAB中直接写出,也可用函数fliplr(f)函数实现。在信号时移中函数自变量加减一个常数,在MA TLAB中用算术运算符“+”或“-”来实现。

例2.1对一三角波f(t),画出f(2t)和

f(-2t+1)的波形。

解:程序如下

t=-3:0.01:3;

ft1=tripuls(t,4,0.5);

subplot(2,2,1)

plot(t,ft1);

title('f(t)')

ft2=tripuls(2*t,4,0.5);

subplot(2,2,2)

plot(t,ft2)

title('f(2t)')

ft3=tripuls((-2*t+1),4,0.5);

subplot(2,2,3)

plot(t,ft3)

如右图所示。

1.信号的导数和积分:

diff函数用来求f(x)对于x的导数,格式:y=diff(f(x)) /h,h

为步长。

quad函数用来求连续信号的定积分,格式:

q = quad(fun,a,b)。

例2.2:对例2.1的三角波进行微分运算和从[-3,3]的定

积分运算。

function yt=f2(t)

yt=tripuls(t,4,0.5);

t=-3:0.1:3;

ft2=diff(f2(t))/0.1;

subplot(2,2,1)

plot(t(1:length(t)-1),ft2)

title('导数')

t=-3:0.1:3;

for x=1:length(t)

y2(x)=quad('f2',-3,t(x)); end

subplot(2,2,2) plot(t,y2)

t=-5:0.1:5; x=[-1,-1,1,2]; y=[0,1,1,0]; subplot(2,2,1); plot(t,0,x,y); axis([-3 3 0 1.5]); axis equal ; title('f(t)'); subplot(2,2,2); x1=0.5*x; plot(t,0,x1,y); axis([-2 2 0 1.5]); axis equal ; title('f(0.5t)'); subplot(2,2,3); x2=-2*x+1; plot(t,0,x2,y); axis([-5 5 0 1.5]); axis equal ; title('f(1-2t)');

2. 离散序列的差分与求和

差分用diff 函数实现,调用格式为: y=diff(f)

求和用sum 函数实现,调用格式为:y=sum(f(k1:k2)) 把k1和k2之间的所有样本f[k]加起来。

练习:

1、 (1)编写如图Exercise1.1所示波形的MA TLAB 函数。

(2) 试画出f(t),f(0.5t),f(1-2t)的波形。

2、画出如图exercise1.2所示序列f[2k]、f[-k]和f[k+2],f[k-2]的波形。并求f[k]的和。

Exercise 1.1

f[k] k

实验二、信号与系统时域分析的MATLAB 实现

一、实验目的

掌握利用Matlab 求解LTI 系统的冲激响应、阶跃响应和零状态响应,理解卷积概念。

二、实验内容

1、 卷积运算的MA TLAB 实现:

(1) 计算连续信号卷积用MATLAB 中的函数

conv ,可编写连续时间信号卷积通用函数sconv ,

function [f,n]=sconv(f1,f2,n1,n2,p) f=conv(f1,f2);f=f*p; n3=n1(1)+n2(1);

L=length(n1)+length(n2)-1; n=n3:p:(n3+(L-1)*p); 例2.1 )()()(21t f t f t f *=

在MA TLAB 编写: p=0.01;

n1=-1:p:1;f1=ones(1,length(n1)); n2=0:p:1;f2=2*n2;

[f,n]=sconv(f1,f2,n1,n2,p);

subplot(3,1,1),plot(n1,f1), axis([-1.5,1.5,0,2]),grid on subplot(3,1,2),plot(n2,f2), axis([-0.1,1.2,0,3]),grid on subplot(3,1,3),plot(n,f),axis([-1.5,5,0,2]),grid on 运算结果如图例2.1所示。

(2) 计算离散信号卷积用MA TLAB 中的函数conv ,其调用格式为:

),(b a conv c =

式中,a 、b 为待卷积两序列的向量表示。向量c 的长度为a 、b 长度之和减1。

例2.2 已知序列{

}{}3,2,1,0;1,1,1,1][,3,2,1,0;4,3,2,1][====k k y k k x ,计算][][k y k x *。 解:MATLAB 的程序为:

x=[1,2,3,4];y=[1,1,1,1]; z=conv(x,y) N=length(z); stem(0:N-1,z)

运行结果:如图例2.2

例2.1 连续时间信号卷积运算

相关文档
最新文档