实验一 - 连续时间信号的Matlab表示

发布时间:2018-07-01 16:57:14   来源:文档文库   
字号:

验一 连续时间信号的Matlab表示

一、实验目的

1、学会运用Matlab表示常用连续时间信号的方法

2、观察并熟悉这些信号的波形和特性.

二、实验原理

连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点之外,信号都有确定的值与之对应。严格来说,MATLAB并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。当取样时间间隔足够小时,这些离散的样值就能较好地近似连续信号。

MATLAB可视化绘图中,对于以t为自变量的连续信号,在绘图时统一用plot函数;而对n为自变量的离散序列,在绘图时统一用stem函数。

对于连续时间信号ft),可用ft两个行向量来表示。

例:t=-101.510

f=sin(t)./ t ;

可以产生t= -10~10,间隔1.5的序列以及的值。

用命令:plot(t,f)可得如下图形,显然显示效果较差,这是因为t的间隔过大,只要改变为:t=-100.510;可得图1.2

1.1 1.2

1. 信号的时域表示方法

MATLAB提供了大量用以生成基本信号的函数,比如最常用的指数信号、正弦信号等就是MATLAB的内部函数,即不需要安装任何工具箱就可以调用的函数。

(1)单位阶跃信号u(t)

function y=heaviside(t) %阶跃信号

y = (t>=0);

(2)单位冲激信号δ(t)

f=dirac(t)

function y = delta(t)

dt = 0.01;

y = (u(t)-u(t-dt))/dt;

(3)指数信号

指数信号MATLAB中可以用exp函数表示,其调用形式为:

y=A*exp(a*t)

指数衰减信号的MATLAB源程序如下(取A=2a=-0.4):

A=1;a=-0.4;

t=0:0.01:10;

ft=A*exp(a*t);

plot(t,ft);grid on;

(4)正弦信号

正弦信号分别用MATLAB的内部函数cossin表示,其调用形式为:

MATLAB源程序如下(取A=1):

A=1;w0=2*pi;phi=pi/6;

t=0:0.01:8;

ft=A*sin(w0*t+phi);

plot(t,ft);grid on;

单边指数衰减信号 正弦信号

除了内部函数外,在信号处理工具箱(Signal Processing Toolbox)中还提供了诸如抽样

函数、矩形波、三角波、周期性矩形波和周期性三角波等在信号处理中常用的信号。

(5).抽样函数

抽样函数Sat)在MATLAB中用sinc表示,其定义为:

其调用形式为:

抽样函数的MATLAB源程序如下:

t=-3*pi:pi/100:3*pi;

ft=sinc(t/pi);

plot(t,ft);grid on;

或者

sym t

Sa=sym(‘sin(t)/t’)

ezplot(Sa,[-10 10])

(6)矩形脉冲信号

矩形脉冲信号在MATLAB中用rectpuls函数来表示,其调用形式为:

用以产生一个幅值为1、宽度为width、相对于t=0点左右对称的矩形波信号。该函数的横坐标范围由向量t决定,是以t=0为中心向左右各展开width/2的范围。width的默认值为1。例如图所示以t=2T(即)为对称中心的矩形脉冲信号的MATLAB 源程序如下(取T=1):

t=0:0.001:4;

T=1;

ft=rectpuls(t-2*T,2*T);

plot(t,ft);grid on;axis([0 4 -0.5 1.5]);

抽样函数 矩形波信号

2.连续信号的相加、相乘、时移、反转和尺度变换等基本运算

1)两个连续信号的相加

MATLAB中要实现两个连续信号f1(t)f2(t)的相加,可用如下语句:

x=symadd(f1,f2) x=f1+f2 % x(t)= f1(t)+f2(t)

2)两个连续信号的相乘

MATLAB中要实现两个连续信号f1(t)f2(t)的相乘,可用如下语句:

x=symmul(f1,f2) x=f1*f2 % x(t)= f1(t) f2(t)

3)连续信号的平移

要实现连续信号f(t)向右平移t0MATLAB语句格式为:

x=subs(f,t,t-t0) % x(t)= f(t-t0)

4)连续信号的反转

对一个信号xt)的反褶运算在数学上表示为:y (t)=x-t

使用MATLAB内部函数fliplr()来实现信号的反褶运算。其用法如下y = fliplr(x):其中x为原信号x(t),而y则为x的时域反褶。而翻转后的信号的坐标则可由-fliplrt)得到。

5)连续信号的尺度变换

要实现连续信号f(t)的尺度变换,MATLAB语句格式为:

x=subs(f,t,a*t) % x(t)= f(at)

要实现连续信号f(t)的平移、尺度变换的综合运算,MATLAB语句格式为:

x=subs(f,t,a*t-b) % x(t)= f(at-b)

1编制一个m文件,绘出f1(t)=e-0.5t[u(t)-(t-2)] f2(t)=sin(5πt)[u(t)-u(t-2)]f1(-2t+1)f1(t) f2(t-1)的波形。

解:实现所要求运算的m文件如下,

syms t

f1=sym('exp(-0.5*t)*(heaviside(t)-heaviside(t-2))');

f2=sym('sin(5*pi*t)*(heaviside(t)-heaviside(t-2))');

subplot(2,2,1),ezplot(f1);title('f1');

subplot(2,2,2), ezplot(f2);title('f2');

f3=subs(f1,t,-2*t+1);

subplot(2,2,3);ezplot(f3);title('f3');

f4=f1*subs(f2,t,t-1);

subplot(2,2,4);ezplot(f4);title('f4');

运算结果如图1-11所示。其中,图1-11(a)(b)(c)(d)分别为f1(t)f2(t) f1(-t+1) f1(t) f2(t-1)的波形。

. 实验内容

1、用MATLAB画出上述(1-6)信号的波形。

2、编制一个m文件,绘出f1(t)f1(-3t+1)的波形。

3 试用Matlab绘制出如下连续时间信号的时域波形,并观察信号是否为周期信号。若是周期信号,周期是多少?

(a)

(b)

. 实验报告要求

1.实验目的。

2实验内容与步骤MATLAB语言编程完成序列的表示及运算,并附上仿真后波形。

3简要回答思考题。

4记录调试运行情况及所遇问题的解决方法。

本文来源:https://www.2haoxitong.net/k/doc/66785309e009581b6ad9eb26.html

《实验一 - 连续时间信号的Matlab表示.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式