信号与系统实验 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 连续时间信号卷积运算